本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 FUJITSU SEMICONDUCTOR CONTROLLER MANUAL CM71-10143-5 FR60 32 ビット・マイクロコントローラ MB91313A Series ハードウェアマニュアル FR60 32 ビット・マイクロコントローラ MB91313A Series ハードウェアマニュアル 富士通セミコンダクターのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。 ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。 開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。 「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われる チェック項目をリストにしたものです。 http://edevice.fujitsu.com/micom/jp-support/ 富士通セミコンダクター株式会社 はじめに ■ 本書の目的と対象読者 富士通セミコンダクター製品につきまして , 平素より格別のご愛顧を賜り厚くお礼申 し上げます。 FR ファミリは , 32 ビット高性能 RISC CPU を使用し , 高性能 / 高速な CPU 処理が要求 される組込み制御用に各種 I/O リソースを内蔵したマイクロコントローラです。 通信系マクロを複数チャネル搭載し , TV 制御用などの組込み用途に最適な仕様となっ ています。 本書は , 実際に MB91313A シリーズを使用して製品を開発される技術者を対象に機能 や動作について解説したものです。本書をご一読ください。 FR は , FUJITSU RISC controller の略で , 富士通セミコンダクター株式会社の製品です。 ■ 商標 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商 標です。 ■ 本書の全体構成 本書は , 以下に示す 19 の章および付録から構成されています。 第 1 章 概要 MB91313A シリーズの特長や基本的な仕様について説明します。 第 2 章 CPU および制御部 FR ファミリの CPU コアのアーキテクチャ , 仕様 , 命令などについて説明します。 第 3 章 外部バスインタフェース 外部バスインタフェースの特長 , レジスタ , 動作などについて説明します。 第 4 章 I/O ポート I/O ポートの概要 , レジスタの構成および機能について説明します。 第 5 章 16 ビットリロードタイマ 16 ビットリロードタイマの概要 , レジスタの構成 / 機能および動作について説明し ます。 第 6 章 PPG (Programable Pulse Generator) PPG タイマの概要 , レジスタの構成 / 機能および動作について説明します。 第 7 章 16 ビット・パルス幅カウンタ PWC タイマの概要レジスタの構成 / 機能および動作について説明します。 i 第 8 章 多機能タイマ 多機能タイマの概要 , レジスタの構成 / 機能および動作について説明します。 第 9 章 その他のタイマ メイン発振安定待ちタイマ , インターバルタイマ , 時計タイマについて説明しま す。 第 10 章 割込みコントローラ 割込みコントローラの概要, レジスタの構成/機能および動作について説明します。 第 11 章 外部割込み制御部 外部割込み制御部の概要 , レジスタの構成 / 機能および動作について説明します。 第 12 章 遅延割込みモジュール 遅延割込みモジュールの概要 , レジスタの構成 / 機能および動作について説明しま す。 第 13 章 ビットサーチモジュール ビットサーチモジュールの概要 , レジスタの構成 / 機能および動作について説明し ます。 第 14 章 10 ビット A/D コンバータ 10 ビット A/D コンバータの概要 , レジスタの構成 / 機能および動作について説明 します。 第 15 章 マルチファンクション シリアルインタフェース マルチファンクションシリアルインタフェースの機能と動作について説明しま す。 第 16 章 DMAC (DMA コントローラ ) DMA コントローラ (DMAC) の概要 , レジスタの構成および動作について説明しま す。 第 17 章 リモコン受信 HDMI-CEC 受信・ACK 自動応答 , リモコン受信の機能と動作について説明します。 第 18 章 フラッシュメモリ フラッシュメモリの概要 , レジスタの構成 / 機能および動作について説明します。 第 19 章 MB91313A シリアル書込み接続 MB91313A のシリアル書込み接続について説明します。 付録 I/O マップ , 割込みベクタ , CPU ステートでの端子状態 , リトルエンディアン領域を 利用するときの注意事項および命令一覧について , 本文に記載できなかった細かい ところや , プログラミングするときに参照することがらを記載しています。 ii • • • • • • • 本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ い。 本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので , 実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ ては , 当社はその責任を負いません。 本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的 財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用 について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任 を負いません。 本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用 されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保 されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力 施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生 命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性 が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。 ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ い。 半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 , 火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策 設計 , 誤動作防止設計などの安全設計をお願いします。 本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関 連法規等の規制をご確認の上 , 必要な手続きをおとりください。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。 Copyright ©2007-2010 FUJITSU SEMICONDUCTOR LIMITED All rights reserved. iii iv 目次 第1章 1.1 1.2 1.3 1.4 1.5 1.6 1.7 第2章 概要 ............................................................................................................ 1 特長 ........................................................................................................................................ 2 ブロックダイヤグラム............................................................................................................ 5 端子配列図.............................................................................................................................. 6 パッケージ外形寸法図............................................................................................................ 7 端子機能説明 .......................................................................................................................... 8 入出力回路形式 .................................................................................................................... 16 デバイス取扱い上の注意 ...................................................................................................... 19 CPU および制御部 ................................................................................... 25 2.1 メモリ空間............................................................................................................................ 26 2.2 内部アーキテクチャ ............................................................................................................. 28 2.3 命令 ...................................................................................................................................... 31 2.4 プログラミング・モデル ...................................................................................................... 33 2.4.1 汎用レジスタ .............................................................................................................. 34 2.4.2 専用レジスタ .............................................................................................................. 35 2.5 データ構造............................................................................................................................ 43 2.6 分岐命令 ............................................................................................................................... 45 2.6.1 遅延スロット付き動作 ............................................................................................... 46 2.6.2 遅延スロットなし動作 ............................................................................................... 48 2.7 EIT ( 例外・割込み・トラップ ) ........................................................................................... 49 2.7.1 EIT の割込みレベル.................................................................................................... 50 2.7.2 ICR (Interrupt Control Register).................................................................................. 52 2.7.3 システムスタックポインタ (SSP:System Stack Pointer) .......................................... 53 2.7.4 テーブルベースレジスタ (TBR:Table Base Register)................................................ 54 2.7.5 多重 EIT 処理.............................................................................................................. 58 2.7.6 EIT の動作 .................................................................................................................. 60 2.8 リセット ( デバイスの初期化 ) ............................................................................................. 64 2.8.1 リセットレベル .......................................................................................................... 65 2.8.2 リセット要因 .............................................................................................................. 66 2.8.3 リセットシーケンス ................................................................................................... 68 2.8.4 発振安定待ち時間....................................................................................................... 69 2.8.5 リセット動作モード ................................................................................................... 71 2.9 クロック生成制御 ................................................................................................................. 73 2.9.1 PLL 制御 ..................................................................................................................... 74 2.9.2 発振安定待ち /PLL ロック待ち時間............................................................................ 76 2.9.3 クロック分配 .............................................................................................................. 78 2.9.4 クロック分周 .............................................................................................................. 80 2.9.5 クロック生成制御部のブロックダイヤグラム............................................................ 81 2.9.6 クロック生成制御部のレジスタ ................................................................................. 82 2.9.7 クロック制御部が持つ周辺回路 ............................................................................... 102 2.10 デバイス状態制御 ............................................................................................................... 106 2.10.1 低消費電力モード..................................................................................................... 110 2.11 動作モード.......................................................................................................................... 115 v 第3章 3.1 3.2 3.3 3.4 3.5 3.6 3.7 外部バスインタフェース........................................................................ 117 外部バスインタフェースの概要 ......................................................................................... 118 外部バスインタフェースのレジスタ説明 ........................................................................... 121 チップセレクト領域 ........................................................................................................... 132 アドレス / データマルチプレックスインタフェース.......................................................... 134 DMA アクセス .................................................................................................................... 138 レジスタの設定手順 ........................................................................................................... 141 外部バスインタフェース使用上の注意............................................................................... 142 第4章 4.1 4.2 4.3 4.4 4.5 4.6 4.7 I/O ポート............................................................................................... 143 I/O ポートの概要 ................................................................................................................ 144 ポートデータレジスタの設定 ............................................................................................. 146 データ方向レジスタの設定................................................................................................. 147 拡張ポート制御レジスタの設定 ......................................................................................... 148 プルアップ制御レジスタ .................................................................................................... 167 外バス , I2C ブリッジ , ADER 制御レジスタ ...................................................................... 168 I2C 用ノイズフィルタ制御レジスタ ................................................................................... 169 第5章 16 ビットリロードタイマ ...................................................................... 171 5.1 16 ビットリロードタイマの概要 ........................................................................................ 172 5.2 16 ビットリロードタイマのレジスタ................................................................................. 173 5.2.1 コントロールステータスレジスタ (TMCSR) ........................................................... 174 5.2.2 16 ビットタイマレジスタ (TMR) ............................................................................. 178 5.2.3 16 ビットリロードレジスタ (TMRLR) ..................................................................... 179 5.3 16 ビットリロードタイマの動作 ........................................................................................ 180 5.4 カウンタの動作状態 ........................................................................................................... 184 5.5 16 ビットリロードタイマの使用上の注意.......................................................................... 185 第6章 6.1 6.2 6.3 PPG (Programable Pulse Generator) ................................................. 187 PPG タイマの概要.............................................................................................................. 188 PPG タイマの動作説明 ...................................................................................................... 196 PPG タイマ使用上の注意................................................................................................... 199 第7章 7.1 7.2 16 ビット・パルス幅カウンタ ............................................................... 201 PWC タイマの概要............................................................................................................. 202 PWC タイマの動作............................................................................................................. 208 第8章 8.1 8.2 8.3 多機能タイマ.......................................................................................... 211 多機能タイマの概要 ........................................................................................................... 212 レジスタ詳細説明 ............................................................................................................... 214 多機能タイマの動作 ........................................................................................................... 222 第9章 9.1 9.2 その他のタイマ ...................................................................................... 227 メイン発振安定待ちタイマ................................................................................................. 228 時計タイマ.......................................................................................................................... 235 第 10 章 割込みコントローラ............................................................................... 241 10.1 割込みコントローラの概要................................................................................................. 242 vi 10.2 割込みコントローラのレジスタ ......................................................................................... 245 10.2.1 ICR ( 割込み制御レジスタ )...................................................................................... 246 10.2.2 HRCL ( ホールドリクエスト取下げ要求レジスタ ).................................................. 247 10.3 割込みコントローラの動作説明 ......................................................................................... 248 第 11 章 外部割込み制御部 .................................................................................. 253 11.1 外部割込み制御部の概要 .................................................................................................... 254 11.2 外部割込み制御部のレジスタ ............................................................................................. 255 11.2.1 割込み許可レジスタ (ENIR) ..................................................................................... 256 11.2.2 外部割込み要因レジスタ (EIRR) .............................................................................. 257 11.2.3 外部割込み要求レベル設定レジスタ (ELVR) ........................................................... 258 11.3 外部割込み制御部の動作説明 ............................................................................................. 260 第 12 章 遅延割込みモジュール ........................................................................... 263 12.1 遅延割込みモジュールの概要 ............................................................................................. 264 12.2 遅延割込みモジュールのレジスタ...................................................................................... 265 12.3 遅延割込みモジュールの動作 ............................................................................................. 266 第 13 章 ビットサーチモジュール........................................................................ 267 13.1 ビットサーチモジュールの概要 ......................................................................................... 268 13.2 ビットサーチモジュールのレジスタ .................................................................................. 269 13.3 ビットサーチモジュールの動作 ......................................................................................... 271 第 14 章 10 ビット A/D コンバータ...................................................................... 275 14.1 10 ビット A/D コンバータの概要 ....................................................................................... 276 第 15 章 マルチファンクションシリアルインタフェース.................................... 283 15.1 マルチファンクションシリアルインタフェースの概要 ..................................................... 285 15.2 UART ( 非同期マルチファンクションシリアルインタフェース ) の機能........................... 287 15.3 UART ( 非同期マルチファンクションシリアルインタフェース ) のレジスタ ................... 288 15.3.1 シリアル制御レジスタ (SCR)................................................................................... 290 15.3.2 シリアルモードレジスタ (SMR)............................................................................... 292 15.3.3 シリアルステータスレジスタ (SSR) ........................................................................ 294 15.3.4 拡張通信制御レジスタ (ESCR) ................................................................................ 297 15.3.5 受信データレジスタ / 送信データレジスタ (RDR/TDR) .......................................... 299 15.3.6 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)............................................. 303 15.3.7 FIFO 制御レジスタ 1 (FCR1) ................................................................................... 305 15.3.8 FIFO 制御レジスタ 0 (FCR0) ................................................................................... 307 15.3.9 FIFO バイトレジスタ (FBYTE) ................................................................................ 310 15.4 UART ( 非同期マルチファンクションシリアルインタフェース ) の割込み ....................... 312 15.4.1 受信割込み発生とフラグセットのタイミング.......................................................... 314 15.4.2 受信 FIFO 使用時の割込み発生とフラグセットのタイミング ................................. 315 15.4.3 送信割込み発生とフラグセットのタイミング.......................................................... 317 15.4.4 送信 FIFO 使用時の割込み発生とフラグセットのタイミング ................................. 318 15.5 UART ( 非同期マルチファンクションシリアルインタフェース ) の動作........................... 319 15.6 UART 専用ボーレートジェネレータ .................................................................................. 324 15.6.1 ボーレート設定 ........................................................................................................ 325 15.7 動作モード 0 ( 通常モード ) 設定手順とプログラムフロー................................................ 329 15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプログラムフロー .......................... 331 vii 15.9 UART モードの注意事項 .................................................................................................... 335 15.10 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の概要................. 336 15.11 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) のレジスタ.......... 337 15.11.1 シリアル制御レジスタ (SCR)................................................................................... 338 15.11.2 シリアルモードレジスタ (SMR)............................................................................... 340 15.11.3 シリアルステータスレジスタ (SSR) ........................................................................ 343 15.11.4 拡張通信制御レジスタ (ESCR) ................................................................................ 345 15.11.5 受信データレジスタ / 送信データレジスタ (RDR/TDR) .......................................... 347 15.11.6 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)............................................. 351 15.11.7 FIFO 制御レジスタ 1 (FCR1) ................................................................................... 353 15.11.8 FIFO 制御レジスタ 0 (FCR0) ................................................................................... 355 15.11.9 FIFO バイトレジスタ (FBYTE) ................................................................................ 358 15.12 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の割込み ............. 360 15.12.1 受信割込み発生とフラグセットのタイミング.......................................................... 361 15.12.2 受信 FIFO 使用時の割込み発生とフラグセットのタイミング ................................. 362 15.12.3 送信割込み発生とフラグセットのタイミング.......................................................... 364 15.12.4 送信 FIFO 使用時の割込み発生とフラグセットのタイミング ................................. 365 15.13 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の動作................. 366 15.14 CSIO 専用ボーレートジェネレータ ................................................................................... 378 15.14.1 ボーレート設定 ........................................................................................................ 379 15.15 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) 設定手順と プログラムフロー ............................................................................................................... 382 15.16 CSIO モードの注意事項 ..................................................................................................... 384 15.17 I2C インタフェースの概要.................................................................................................. 385 15.18 I2C インタフェースのレジスタ .......................................................................................... 386 15.18.1 I2C バス制御レジスタ (IBCR)................................................................................... 387 15.18.2 シリアルモードレジスタ (SMR)............................................................................... 392 15.18.3 シリアルステータスレジスタ (SSR) ........................................................................ 394 15.18.4 I2C バスステータスレジスタ (IBSR) ........................................................................ 397 15.18.5 受信データレジスタ / 送信データレジスタ (RDR/TDR) .......................................... 401 15.18.6 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0)............................................. 403 15.18.7 7 ビットスレーブアドレスマスクレジスタ (ISMK).................................................. 404 15.18.8 7 ビットスレーブアドレスレジスタ (ISBA) ............................................................. 406 15.18.9 FIFO 制御レジスタ 1 (FCR1) ................................................................................... 407 15.18.10 FIFO 制御レジスタ 0 (FCR0) ................................................................................... 409 15.18.11 FIFO バイトレジスタ (FBYTE) ................................................................................ 413 15.19 I2C インタフェースの割込み .............................................................................................. 415 15.20 I2C インタフェース通信の動作 .......................................................................................... 417 15.20.1 マスタモード ............................................................................................................ 418 15.20.2 スレーブモード ........................................................................................................ 437 15.20.3 バスエラー ............................................................................................................... 441 15.21 専用ボーレートジェネレータ ............................................................................................. 442 15.22 I2C のフローチャート例 ..................................................................................................... 444 15.23 I2C モードの注意事項......................................................................................................... 458 第 16 章 DMAC (DMA コントローラ ) ................................................................. 461 16.1 DMA コントローラの概要 .................................................................................................. 462 16.2 DMA コントローラの動作 .................................................................................................. 479 16.3 転送要求の設定 .................................................................................................................. 481 viii 16.4 転送シーケンス .................................................................................................................. 482 16.5 動作フローチャート ........................................................................................................... 493 16.6 データバス.......................................................................................................................... 495 第 17 章 リモコン受信.......................................................................................... 497 17.1 リモコン受信の概要 ........................................................................................................... 498 17.2 リモコン受信のレジスタ .................................................................................................... 499 17.2.1 リモコン受信制御レジスタ (RCCR)......................................................................... 500 17.2.2 リモコン受信割込み制御レジスタ (RCST) .............................................................. 502 17.2.3 デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2) ..................................... 504 17.2.4 スタートビット "H" 幅設定レジスタ (RCSHW) ....................................................... 505 17.2.5 "H" 幅設定レジスタ A (RCDAHW) ........................................................................... 506 17.2.6 "H" 幅設定レジスタ B (RCDBHW) ........................................................................... 507 17.2.7 データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL) ............................. 508 17.2.8 クロック分周設定レジスタ (RCCKD) ...................................................................... 509 17.3 リモコン受信の動作説明と設定手順例............................................................................... 510 第 18 章 フラッシュメモリ .................................................................................. 513 18.1 フラッシュメモリの概要 .................................................................................................... 514 18.2 フラッシュメモリのレジスタ ............................................................................................. 518 18.2.1 フラッシュコントロールステータスレジスタ (FLCR)............................................. 519 18.2.2 ウェイトレジスタ (FLWC) ....................................................................................... 521 18.3 フラッシュメモリのアクセスモード .................................................................................. 523 18.4 フラッシュメモリ自動アルゴリズム .................................................................................. 525 18.5 自動アルゴリズム実行状態の確認...................................................................................... 529 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 ............................................................. 533 18.6.1 読出し / リセット状態 .............................................................................................. 534 18.6.2 データ書込み ............................................................................................................ 535 18.6.3 データ消去 ( チップ消去 ) ........................................................................................ 537 18.6.4 データ消去 ( セクタ消去 ) ........................................................................................ 538 18.6.5 セクタ消去の一時停止 ............................................................................................. 541 18.6.6 セクタ消去の再開..................................................................................................... 542 18.7 データポーリングフラグ (DQ7) の制約事項と誤判定回避方法.......................................... 543 18.8 制限および注意事項 ........................................................................................................... 546 第 19 章 19.1 19.2 19.3 19.4 シリアル書込み基本構成 .................................................................................................... 550 シリアル書込み接続例........................................................................................................ 552 フラッシュマイコンプログラマのシステム構成 ................................................................ 553 その他の注意事項 ............................................................................................................... 554 付録 付録 A 付録 B 付録 C 付録 D 索引 MB91313A シリアル書込み接続............................................................ 549 ............................................................................................................... 555 I/O マップ ...................................................................................................................... 556 ベクタテーブル ............................................................................................................. 566 各 CPU ステートにおける端子状態 .............................................................................. 569 命令一覧表..................................................................................................................... 580 ................................................................................................................595 ix x 本版での主な変更内容 ページ 変更内容 ( 詳細は本文を参照してください。) - シリーズ名を変更 MB91313/A → MB91313A に訂正 これにより MB91313 (A なし品 ) のみに関 する記述を削除 - 5 第 1 章 概要 1.2 ブロックダイヤグラム 図 1.2-1 を変更 10 第 1 章 概要 1.5 端子機能説明 表 1.5-1 を訂正 端子番号 32,33 の入出力回路形式 B/D → B 20 第 1 章 概要 1.7 デバイス取扱い上の注意 下記の説明文を追加 電源 (VDDI/ アナログ /VDDE) を同時に 投入 / 切断することは , 問題ありません。 下記の説明文を削除 9) 外部割込み INT17, INT19 について (MB91F313 のみ ) 23 174 第 5 章 16 ビットリロードタイマ 5.2.1 コントロールステータスレジスタ (TMCSR) 図 5.2-2 を訂正 335 第 15 章 マルチファンクション シリア ルインタフェース 15.9 UART モードの注意事項 項目を追加 384 第 15 章 マルチファンクション シリア ルインタフェース 15.16 CSIO モードの注意事項 項目を追加 388 第 15 章 マルチファンクション シリア ルインタフェース 15.18 I2C インタフェースのレジスタ 表 15-18 を訂正 bit15 の機能の ( 注意事項 ) INT ビット =0 → INT ビット =1 444 ∼ 457 第 15 章 マルチファンクション シリア ルインタフェース 15.22 I2C のフローチャート例 フローチャート図を訂正 458, 459 第 15 章 マルチファンクション シリア ルインタフェース 15.23 I2C モードの注意事項 項目を追加 第 18 章 フラッシュメモリ 全面改正 513 ∼ 547 変更箇所は , 本文中のページ左側の│によって示しています。 xi xii 第1章 概要 MB91313A シリーズの特長や基本的な仕様につい て説明します。 1.1 特長 1.2 ブロックダイヤグラム 1.3 端子配列図 1.4 パッケージ外形寸法図 1.5 端子機能説明 1.6 入出力回路形式 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 1 第 1 章 概要 1.1 特長 1.1 MB91313A シリーズ 特長 FR ファミリは , 32 ビット高性能 RISC CPU を使用し , 高性能 / 高速な CPU 処理を 要求される組込み制御用に各種 I/O リソースを内蔵したマイクロコントローラです。 通信系マクロを複数チャネル搭載し , TV 制御用などの組込み用途に最適な仕様と なっています。 ■ FR CPU • 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段 • 動作周波数 33MHz [PLL 使用 : 原発振 16.5MHz : 2 逓倍 ] • 16 ビット固定長命令 ( 基本命令 ) , 1 命令 / 1 サイクル • メモリ−メモリ間転送 , ビット処理 , バレルシフトなどの命令…組込み用途に適し た命令 • 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令…高級言語対応命令 • レジスタインターロック機能…アセンブラ記述の容易化 • 乗算器の内蔵 / 命令レベルでのサポート 符号付き 32 ビット乗算…5 サイクル 符号付き 16 ビット乗算…3 サイクル • 割込み (PC, PS の退避 ) …6 サイクル , 16 プライオリティレベル • ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に 実行可能 • CPU 内の 4 ワードのキューにより , 命令の先取り機能を追加 • FR ファミリとの命令互換 ■ 簡易外バスインタフェース プログラム設定による 8 ビットまたは 16 ビットのマルチプレックスバス機能 • 動作周波数 最大 16.5MHz • 8/16 ビットデータ / アドレスマルチプレックス入出力 • 最小 64K バイト単位で設定可能かつ完全独立な 4 領域のチップセレクト出力が可能 • 基本バスサイクル…3 サイクル • 領域ごとにプログラマブルな自動ウェイトサイクル発生機構 • 未使用データ / アドレス / 制御信号端子は汎用入出力に使用可能 ■ 内蔵メモリ • フラッシュメモリ 544K バイト , RAM/32K バイト 2 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.1 特長 MB91313A シリーズ ■ DMAC (DMA コントローラ ) • 5 チャネル • 2 つの転送要因:内部ペリフェラル / ソフトウェア • アドレッシングモード:20/24 ビットアドレス指定 ( 増加 / 減少 / 固定 ) • 転送モード:バースト転送 / ステップ転送 / ブロック転送 • 転送データサイズ:8/16/32 ビット から選択可能 ■ ビットサーチモジュール (REALOS 使用 ) 1 ワード中の MSB から最初の "1"/"0" の変化ビット位置をサーチ ■ 16 ビットリロードタイマ (REALOS 用 1 チャネル含 ) • 6 チャネル • 内部クロック:2/8/32 分周から選択可能 ■ マルチファンクションシリアルインタフェース • 11 チャネル • 全二重ダブルバッファ • 4種類の通信モード:非同期 (Start-Stop 同期) 通信, クロック同期通信(最大8.25Mbps), I2C 標準モード ( 最大 100kbps), I2C 高速モード ( 最大 400kbps) • パリティあり / なし選択可能 • チャネルごとにボーレートジェネレータ搭載 • 豊富なエラー検出機能:パリティ , フレーム , オーバラン • 外部クロックを転送クロックとして使用可能 • ch.0 ∼ ch.2 : DMA 転送対応送受信各 16 バイトの FIFO 機能搭載 • ch.8 ∼ ch.10 : 5V トレラント • ch.8 : オープンドレイン出力対応 • I2C ブリッジ機能付き (0 チャネル , 1 チャネル , 2 チャネルの間 ) • SPI モード対応 ■ 割込みコントローラ • 外部割込みは合計 24 本 ( 外部割込み端子 INT23 ∼ INT0) • 内部ペリフェラルからの割込み • 優先レベルをプログラマブルに設定可能 (16 レベル ) • STOP 時の ウェイクアップ用として使用可能 ■ 10 ビット A/D コンバータ • 10 チャネル • 逐次比較変換型 : 変換時間 : 約 7.94 μs • 変換モード:単発変換モード , スキャン変換モード • 起動要因:ソフトウェア / 外部トリガ CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 3 第 1 章 概要 1.1 特長 MB91313A シリーズ ■ PPG • 4 チャネル • 16 ビットダウンカウンタ , 周期設定用バッファ付き 16 ビットデータレジスタ • 内部クロック : 1/4/16/64 分周から選択可能 • DMA 転送による自動周期設定に対応 • リモコン送信サポート機能 • オープンドレイン出力対応 ■ PWC • 1 チャネル (1 入力 ) • 16 ビットアップカウンタ • 簡易デジタルローパスフィルタ ■ 多機能タイマ • 4 チャネル • ローパスフィルタ により設定クロック以下のノイズを除去 • 7 種類のクロック信号を使ったパルス幅計測が可能 • 端子入力からのイベントカウント機能 • 7 種類のクロックおよび外部入力クロックを使用したインターバルタイマ機能 • HSYNC カウンタモード内蔵 ■ HDMI-CEC/ リモコン受信 • 2 チャネル • HDMI-CEC 受信機能 ( 自動 ACK 応答機能あり ) • リモコン受信機能 (4 バイトの受信バッファ搭載 ) ■ その他のインターバルタイマ • 時計タイマ (32kHz, 最大 60 s カウント ) • ウォッチドッグタイマ ■ I/O ポート 最大 86 ポート ■ その他の特長 • クロックソースとして発振回路内蔵 • リセット端子として INITX を用意 • ウォッチドッグタイマリセット , ソフトウェアリセットあり • 低消費電力モードとしてストップモードとスリープモードをサポート • ギア機能 - タイムベースタイマ内蔵 - 5V トレラント I/O( 一部の端子 ) • パッケージ : LQFP-120, 0.5mm ピッチ , 16mm × 16mm • CMOS テクノロジ : 0.18 μm • 電源電圧 3.3 ± 0.3V, 1.8 ± 0.15V, 2 電源 4 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.2 ブロックダイヤグラム MB91313A シリーズ 1.2 ブロックダイヤグラム 図 1.2-1 に , MB91313A シリーズのブロックダイヤグラムを示します。 ■ MB91313A シリーズのブロックダイヤグラム 図 1.2-1 MB91313A シリーズのブロックダイヤグラム FR CPU コア 32 32 Flash 544Kバイト ビットサーチ RAM 32Kバイト バスコンバータ 32 ↔ 16 アダプタ DMA コントローラ 5チャネル 簡易外部I/F 8/16ビット マルチプレックスバス クロック 制御 割込み コントローラ マルチファンクション シリアルインタフェース 11チャネル A/D コンバータ 10チャネル HDMI-CEC/ リモコン受信 2チャネル PWC 1チャネル リロード タイマ 6チャネル 多機能タイマ 4チャネル 外部割込み 24チャネル ポート CM71-10143-5 PPG 4チャネル FUJITSU SEMICONDUCTOR LIMITED 5 第 1 章 概要 1.3 端子配列図 1.3 MB91313A シリーズ 端子配列図 図 1.3-1 に , MB91313A シリーズの端子配列図を示します。 ■ MB91313A シリーズの端子配列図 図 1.3-1 MB91313A シリーズの端子配列図 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 VDDE P22/SCK0/SCL0(I2C bridge) P21/SOT0/SDA0(I2C bridge) P20/SIN0 P57/WR1X P56/WR0X P55/RDX P54/ASX P53/CS3X/PPG3 P52/CS2X/PPG2 P51/CS1X/PPG1 P50/CS0X/PPG0 P17/AD15 P16/AD14/SCK7/SCL7 P15/AD13/SOT7/SDA7 P14/AD12/SIN7 P13/AD11/SCK6/SCL6 P12/AD10/SOT6/SDA6 P11/AD09/SIN6 P10/AD08/SCK5/SCL5 P07/AD07/SOT5/SDA5/INT15 P06/AD06/SIN5/INT14 P05/AD05/SCK4/SCL4/INT13 P04/AD04/SOT4/SDA4/INT12 P03/AD03/SIN4/INT11 P02/AD02/SCK3/SCL3/INT10 P01/AD01/SOT3/SDA3/INT9 P00/AD00/SIN3/INT8 VDDI VSS - 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 INITX X0A X1A AVRH AVCC PD0/AN0 PD1/AN1 PD2/AN2 PD3/AN3 PD4/AN4 PD5/AN5 PD6/AN6 PD7/AN7 PE0/AN8/INT0 PE1/AN9/PPG0/INT1 PE2/PPG1/INT2/ATRG PE3/PPG2/INT3 VDDE PF2/RCACK0 PF3/RCACK1 PF4 PF5 PF6 PF7 VDDE VSS AVSS VSS PF0/RCIN0 PF1/RCIN1 VDDE IBREAK ICLK ICS2 ICS1 ICS0 ICD3 ICD2 ICD1 ICD0 TRSTX PC7/TRG1 PC6/TRG0 PC5/PPGB PC4/PPGA PC3 PC2/SCK9/SCL9 PC1/SOT9/SDA9 PC0/SIN9 PE7/SCK8/SCL8/INT7 PE6/SOT8/SDA8/INT6 PE5/SIN8/INT5 PE4/PPG3/INT4 MD2 MD1 MD0 VDDI X0 X1 VSS 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 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 31 32 33 34 35 36 37 38 39 40 41 VSS VDDI P23/SIN1 P24/SOT1/SDA1(I2C bridge) 2 P25/SCK1/SCL1(I C bridge) P26/SIN2 P27/SOT2/SDA2(I2C bridge) P30/SCK2/SCL2(I2C bridge) P31/TOT0 P32/TOT1 P33/TOT2 P34/TIN0 P35/TIN1 P36/TIN2 P37/RIN P40/TMO0/INT16 P41/TMO1/INT17 P42/TMO2/INT18 P43/TMO3/INT19 P44/TMI0/INT20 P45/TMI1/INT21/SIN10 P46/TMI2/INT22/SOT10/SDA10 P47/TMI3/INT23/SCK10/SCL10 P60/TOT3/TRG2 P61/TOT4/TRG3 P62/TOT5/RDY P63/TIN3/CLK P64/TIN4 P65/TIN5 VDDE (FPT-120P-M21) 6 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.4 パッケージ外形寸法図 MB91313A シリーズ パッケージ外形寸法図 1.4 図 1.4-1 に , MB91313A シリーズのパッケージ外形寸法図を示します。 図 1.4-1 MB91313A シリーズのパッケージ外形寸法図 プラスチック・LQFP, 120ピン (FPT-120P-M21) リードピッチ 0.50 mm パッケージ幅× パッケージ長さ 16.0 × 16.0 mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 1.70 mm MAX 質量 0.88 g コード(参考) 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. 1 30 0.50(.020) C "A" 31 0.22±0.05 (.009±.002) 0.08(.003) M 0.145 .006 +0.05 –0.03 +.002 –.001 2002-2010 FUJITSU SEMICONDUCTOR LIMITED F120033S-c-4-7 0.60±0.15 (.024±.006) 0.10±0.05 (.004±.002) (Stand off) 0.25(.010) 単位:mm(inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記 URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 7 第 1 章 概要 1.5 端子機能説明 1.5 MB91313A シリーズ 端子機能説明 表 1.5-1 に , MB91313A シリーズの端子機能説明を示します。 ■ MB91313A シリーズの端子機能説明 表 1.5-1 端子機能一覧表 (1 / 8) 端子番号 端子名 入出力 回路形式 *1 1 VSS - GND 端子です。 2 VDDI - 1.8V 電源端子です。 3 P23 SIN1 D 4 SOT1/SDA1 (I2C bridge) 汎用ポートです。 L P25 5 6 SCK1/SCL1 (I2C bridge) P26 SIN2 SOT2/SDA2 (I2C bridge) L D 9 10 11 12 13 14 SCK2/SCL2 (I2C bridge) P31 TOT0 P32 TOT1 P33 TOT2 P34 TIN0 P35 TIN1 P36 TIN2 シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 汎用ポートです。 シリアルデータ入力端子です。 汎用ポートです。 L P30 8 シリアルデータ出力端子 /I2C データ入出力端子です。 汎用ポートです。 P27 7 汎用ポートです。 シリアルデータ入力端子です。 P24 8 機能 シリアルデータ出力端子 /I2C データ入出力端子です。 汎用ポートです。 L D シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 汎用ポートです。 リロードタイマ用出力端子です。 D 汎用ポートです。 リロードタイマ用出力端子です。 D 汎用ポートです。 リロードタイマ用出力端子です。 D 汎用ポートです。 リロードタイマ用イベント入力端子です。 D 汎用ポートです。 リロードタイマ用イベント入力端子です。 D 汎用ポートです。 リロードタイマ用イベント入力端子です。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.5 端子機能説明 MB91313A シリーズ 表 1.5-1 端子機能一覧表 (2 / 8) 端子番号 端子名 入出力 回路形式 *1 P37 15 RIN D P40 16 17 18 19 20 21 TMO0 B 24 25 PWC 入力端子です。 多機能タイマ出力端子です。 INT16 外部割込み要求入力端子です。 P41 汎用ポートです。 TMO1 B 多機能タイマ出力端子です。 INT17 外部割込み要求入力端子です。 P42 汎用ポートです。 TMO2 B 多機能タイマ出力端子です。 INT18 外部割込み要求入力端子です。 P43 汎用ポートです。 TMO3 B 多機能タイマ出力端子です。 INT19 外部割込み要求入力端子です。 P44 汎用ポートです。 TMI0 B 多機能タイマ入力端子です。 INT20 外部割込み要求入力端子です。 P45 汎用ポートです。 TMI1 INT21 B 多機能タイマ入力端子です。 外部割込み要求入力端子です。 SIN10 シリアルデータ入力端子です。 P46 汎用ポートです。 INT22 B 多機能タイマ入力端子です。 外部割込み要求入力端子です。 SOT10/SDA10 シリアルデータ出力端子 /I2C データ入出力端子です。 P47 汎用ポートです。 TMI3 23 汎用ポートです。 汎用ポートです。 TMI2 22 機能 INT23 多機能タイマ入力端子です。 B 外部割込み要求入力端子です。 SCK10/SCL10 シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 P60 汎用ポートです。 TOT3 C リロードタイマ用出力端子です。 TRG2 PPG トリガ入力端子です。 P61 汎用ポートです。 TOT4 TRG3 CM71-10143-5 C リロードタイマ用出力端子です。 PPG トリガ入力端子です。 FUJITSU SEMICONDUCTOR LIMITED 9 第 1 章 概要 1.5 端子機能説明 MB91313A シリーズ 表 1.5-1 端子機能一覧表 (3 / 8) 端子番号 端子名 入出力 回路形式 *1 P62 26 27 TOT5 汎用ポートです。 C 29 外部レディ入力端子です。 P63 汎用ポートです。 TIN3 C P64 TIN4 P65 TIN5 リロードタイマ用イベント入力端子です。 外部クロック出力端子です。 C 汎用ポートです。 リロードタイマ用イベント入力端子です。 C 汎用ポートです。 リロードタイマ用イベント入力端子です。 30 VDDE - 3.3V 電源です。 31 VSS - GND 端子です。 PF0 32 33 RCIN0 PF1 RCIN1 B B PF2 34 RCACK0 D PF3 35 RCACK1 D 汎用ポートです。 HDMI-CEC/ リモコン 0 入出力端子です。 汎用ポートです。 HDMI-CEC/ リモコン 1 入出力端子です。 汎用ポートです。 HDMI-CEC/ リモコン 0ACK 出力端子です。 汎用ポートです。 HDMI-CEC/ リモコン 1ACK 出力端子です。 36 PF4 D 汎用ポートです。 37 PF5 D 汎用ポートです。 38 PF6 D 汎用ポートです。 39 PF7 D 汎用ポートです。 40 VDDE - 3.3V 電源です。 41 VSS - GND 端子です。 42 AVSS - A/D コンバータ GND 端子です。 43 AVRH - A/D コンバータ基準電圧端子です。 44 AVCC - A/D コンバータ電源端子です。 PD0 45 AN0 L PD1 46 47 10 リロードタイマ用出力端子です。 RDY CLK 28 機能 AN1 PD2 AN2 L L 汎用ポートです。 A/D コンバータアナログ入力端子です。 汎用ポートです。 A/D コンバータアナログ入力端子です。 汎用ポートです。 A/D コンバータアナログ入力端子です。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.5 端子機能説明 MB91313A シリーズ 表 1.5-1 端子機能一覧表 (4 / 8) 端子番号 端子名 入出力 回路形式 *1 PD3 48 AN3 L PD4 49 AN4 L PD5 50 AN5 L PD6 51 52 AN6 PD7 AN7 L L PE0 53 AN8 55 56 汎用ポートです。 A/D コンバータアナログ入力端子です。 汎用ポートです。 A/D コンバータアナログ入力端子です。 汎用ポートです。 A/D コンバータアナログ入力端子です。 汎用ポートです。 A/D コンバータアナログ入力端子です。 汎用ポートです。 A/D コンバータアナログ入力端子です。 汎用ポートです。 L A/D コンバータアナログ入力端子です。 INT0 外部割込み要求入力端子です。 PE1 汎用ポートです。 AN9 54 機能 PPG0 *2 L A/D コンバータアナログ入力端子です。 PPG 用出力端子です。 INT1 外部割込み要求入力端子です。 PE2 汎用ポートです。 PPG1 *2 B PPG 用出力端子です。 INT2 外部割込み要求入力端子です。 ATRG A/D コンバータ用トリガ入力端子です。 PE3 汎用ポートです。 PPG2 *2 B INT3 PPG 用出力端子です。 外部割込み要求入力端子です。 57 VDDE - 3.3V 電源です。 58 INITX G イニシャルリセット端子です。 59 X0A A サブクロック入力端子です。 60 X1A A サブクロック出力端子です。 61 VSS - GND 端子です。 62 X1 A メインクロック出力端子です。 63 X0 A メインクロック入力端子です。 64 VDDI - 1.8V 電源です。 65 MD0 F モード端子です。 66 MD1 F モード端子です。 67 MD2 F モード端子です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 11 第 1 章 概要 1.5 端子機能説明 MB91313A シリーズ 表 1.5-1 端子機能一覧表 (5 / 8) 端子番号 端子名 入出力 回路形式 *1 PE4 68 PPG3 *2 汎用ポートです。 B INT4 70 71 SIN8 汎用ポートです。 B 外部割込み要求入力端子です。 PE6 汎用ポートです。 SOT8/SDA8 B 外部割込み要求入力端子です。 PE7 汎用ポートです。 SCK8/SCL8 B PC0 SIN9 SOT9/SDA9 75 SCK9/SCL9 PC3 B PPGA B 78 PPGB PC6 TRG0 12 TRG1 シリアルデータ出力端子 /I2C データ入出力端子です。 汎用ポートです。 シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 B 汎用ポートです。 B B B PC7 79 汎用ポートです。 B PC5 77 汎用ポートです。 シリアルデータ入力端子です。 PC4 76 シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 外部割込み要求入力端子です。 PC2 74 シリアルデータ出力端子 /I2C データ入出力端子です。 INT6 PC1 73 シリアルデータ入力端子です。 INT5 INT7 72 PPG 用出力端子です。 外部割込み要求入力端子です。 PE5 69 機能 B 汎用ポートです。 PPG 用出力端子です。 汎用ポートです。 PPG 用出力端子です。 汎用ポートです。 PPG トリガ入力です。 汎用ポートです。 PPG トリガ入力です。 80 TRSTX G 開発ツール用リセット端子です。 81 ICD0 K 開発ツール用データ端子です。 82 ICD1 K 開発ツール用データ端子です。 83 ICD2 K 開発ツール用データ端子です。 84 ICD3 K 開発ツール用データ端子です。 85 ICS0 H 開発ツール用ステータス端子です。 86 ICS1 H 開発ツール用ステータス端子です。 87 ICS2 H 開発ツール用ステータス端子です。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.5 端子機能説明 MB91313A シリーズ 表 1.5-1 端子機能一覧表 (6 / 8) 端子番号 端子名 入出力 回路形式 *1 機能 88 ICLK H 開発ツール用クロック端子です。 89 IBREAK I 開発ツール用ブレーク端子です。 90 VDDE - 3.3V 電源です。 91 VSS - GND 端子です。 92 VDDI - 1.8V 電源です。 P00 93 AD00 汎用ポートです。 O SIN3 シリアルデータ入力端子です。 INT8 外部割込み要求入力端子です。 P01 汎用ポートです。 AD01 94 O シリアルデータ出力端子 /I2C データ入出力端子です。 INT9 外部割込み要求入力端子です。 P02 汎用ポートです。 AD02 外部アドレス / データバス入出力端子です。 O SCK3/SCL3 シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 INT10 外部割込み要求入力端子です。 P03 汎用ポートです。 AD03 O シリアルデータ入力端子です。 INT11 外部割込み要求入力端子です。 P04 汎用ポートです。 AD04 99 外部アドレス / データバス入出力端子です。 SIN4 97 98 外部アドレス / データバス入出力端子です。 SOT3/SDA3 95 96 外部アドレス / データバス入出力端子です。 O 外部アドレス / データバス入出力端子です。 SOT4/SDA4 シリアルデータ出力端子 /I2C データ入出力端子です。 INT12 外部割込み要求入力端子です。 P05 汎用ポートです。 AD05 外部アドレス / データバス入出力端子です。 SCK4/SCL4 O シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 INT13 外部割込み要求入力端子です。 P06 汎用ポートです。 AD06 O 外部アドレス / データバス入出力端子です。 SIN5 シリアルデータ入力端子です。 INT14 外部割込み要求入力端子です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 13 第 1 章 概要 1.5 端子機能説明 MB91313A シリーズ 表 1.5-1 端子機能一覧表 (7 / 8) 端子番号 端子名 入出力 回路形式 *1 P07 汎用ポートです。 AD07 100 101 102 103 104 105 106 107 SOT5/SDA5 O 110 P10 汎用ポートです。 AD08 O 外部アドレス / データバス入出力端子です。 SCK5/SCL5 シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 P11 汎用ポートです。 AD09 O 外部アドレス / データバス入出力端子です。 SIN6 シリアルデータ入力端子です。 P12 汎用ポートです。 AD10 O 外部アドレス / データバス入出力端子です。 SOT6/SDA6 シリアルデータ出力端子 /I2C データ入出力端子です。 P13 汎用ポートです。 AD11 O 外部アドレス / データバス入出力端子です。 SCK6/SCL6 シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 P14 汎用ポートです。 AD12 O 外部アドレス / データバス入出力端子です。 SIN7 シリアルデータ入力端子です。 P15 汎用ポートです。 AD13 O 外部アドレス / データバス入出力端子です。 SOT7/SDA7 シリアルデータ出力端子 /I2C データ入出力端子です。 P16 汎用ポートです。 AD14 O P17 外部アドレス / データバス入出力端子です。 シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 O AD15 汎用ポートです。 外部アドレス / データバス入出力端子です。 汎用ポートです。 CS0X C 外部チップセレクト端子です。 PPG0 *2 PPG 用出力端子です。 P51 汎用ポートです。 CS1X PPG1 14 シリアルデータ出力端子 /I2C データ入出力端子です。 外部割込み要求入力端子です。 P50 109 外部アドレス / データバス入出力端子です。 INT15 SCK7/SCL7 108 機能 C *2 外部チップセレクト端子です。 PPG 用出力端子です。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.5 端子機能説明 MB91313A シリーズ 表 1.5-1 端子機能一覧表 (8 / 8) 端子番号 端子名 入出力 回路形式 *1 P52 111 112 114 115 116 117 汎用ポートです。 CS2X C PPG 用出力端子です。 P53 汎用ポートです。 CS3X C *2 P54 ASX P55 RDX P56 WR0X P57 WR1X P20 SIN0 SOT0/SDA0 (I2C bridge) C 120 汎用ポートです。 外部アドレスストローブ出力端子です。 C 汎用ポートです。 外部リードストローブ出力端子です。 C 汎用ポートです。 外部データバスライトストローブ出力端子です。 C 汎用ポートです。 外部データバスライトストローブ出力端子です。 D 汎用ポートです。 シリアルデータ入力端子です。 汎用ポートです。 L P22 119 外部チップセレクト端子です。 PPG 用出力端子です。 P21 118 外部チップセレクト端子です。 PPG2 *2 PPG3 113 機能 シリアルデータ出力端子 /I2C データ入出力端子です。 汎用ポートです。 SCK0/SCL0 (I2C bridge) L シリアル通信用クロック入出力端子 /I2C クロック入出力端 子です。 VDDE - 3.3V 電源端子です。 *1 : 入出力回路形式については , 「1.6 入出力回路形式」を参照してください。 *2 : 端子番号 54, 55, 56, 68 の PPG0, PPG1, PPG2, PPG3 と , 端子番号 109, 110, 111, 112 の PPG0, PPG1, PPG2, PPG3 は , どちらか一方を PFR で選択して使用してください。PFR については「第 4 章 I/O ポート」を参照してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 15 第 1 章 概要 1.6 入出力回路形式 1.6 MB91313A シリーズ 入出力回路形式 表 1.6-1 に入出力回路形式を示します。 ■ 入出力回路形式 表 1.6-1 入出力回路形式 (1 / 3) 分類 A 回路形式 備考 X1,X1A クロック入力 • 発振回路 帰還抵抗 X0-X1:1MΩ X0A-X1A:なし X0,X0A スタンバイ制御 B • CMOS レベル出力 IOH = 4mA P-ch N-ch デジタル出力 デジタル出力 • CMOS レベルヒステリシス入力 VIH = 0.7 × VDDE • スタンバイ制御あり • 5V トレラント デジタル入力 スタンバイ制御 C プルアップ制御 • CMOS レベル出力 IOH = 4mA • CMOS レベルヒステリシス入力 VIH = 0.8 × VDDE P-ch P-ch デジタル出力 N-ch デジタル出力 • スタンバイ制御あり • プルアップ制御あり • プルアップ抵抗付き (33kΩ) デジタル入力 スタンバイ制御 16 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.6 入出力回路形式 MB91313A シリーズ 表 1.6-1 入出力回路形式 (2 / 3) 分類 D 回路形式 備考 • CMOS レベル出力 IOH = 4mA P-ch デジタル出力 N-ch デジタル出力 • CMOS レベルヒステリシス入力 VIH = 0.8 × VDDE • スタンバイ制御あり • プルアップ抵抗なし デジタル入力 スタンバイ制御 F • CMOS レベル入力 • スタンバイ制御なし P-ch N-ch デジタル入力 G • CMOS ヒステリシス入力 • プルアップ抵抗付き P-ch P-ch N-ch デジタル入力 H CMOS レベル出力 P-ch デジタル出力 N-ch デジタル出力 I • CMOS ヒステリシス入力 • プルダウン抵抗付き • スタンバイ制御なし P-ch N-ch N-ch デジタル入力 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 17 第 1 章 概要 1.6 入出力回路形式 MB91313A シリーズ 表 1.6-1 入出力回路形式 (3 / 3) 分類 K 回路形式 N-ch 備考 P-ch デジタル出力 N-ch デジタル出力 • • • • CMOS レベル出力 CMOS レベル入力 スタンバイ制御なし プルダウン抵抗付き • • • • CMOS レベル出力 CMOS レベルヒステリシス入力 スタンバイ制御あり アナログ入力 スイッチ付き デジタル入力 L P-ch デジタル出力 N-ch デジタル出力 アナログ入力 制御 デジタル入力 スタンバイ制御 O プルアップ制御 P-ch P-ch N-ch デジタル出力 デジタル出力 • CMOS レベル出力 IOH=4mA • CMOS 入力 ( 外バス IF) • CMOS レベルヒステリシス入力 ( ポート , リソース ) VIH=0.8 × VDDE • スタンバイ制御あり • プルアップ制御あり • プルアップ抵抗付き (33kΩ) ポート入力 リソース入力 外バス入力 スタンバイ制御 18 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 1.7 第 1 章 概要 1.7 デバイス取扱い上の注意 デバイス取扱い上の注意 ラッチアップ防止 , 端子処理 , 回路の取扱い , および電源投入時の入力などについて 説明します。 ■ ラッチアップ防止のために CMOS IC では入力端子や出力端子に VDDE や VDDI より高い電圧や VSS より低い電圧 を印加した場合 , または , VDDE 端子や VDDI 端子と VSS 端子との間に定格を超える 電圧を印加した場合に , ラッチアップ現象が発生することがあります。ラッチアップが 発生すると電源電流が激増し , 素子の熱破壊に至ることがありますので , 使用の際 , 最 大定格を超えることのないよう十分に注意してください。 ■ 未使用入力端子の処理について 使用していない入力端子を開放のままにしておくと誤動作の原因となることがありま すので , プルアップまたはプルダウンの処理をしてください。 ■ 電源端子について MB91313A シリーズは , VDDE 端子または VDDI 端子 , VSS 端子が複数あります。その ため , デバイス設計上ラッチアップなどの誤動作を防止するためにデバイス内部で同 電位にすべきもの同士を接続してあります。不要輻射の低減・グランドレベルの上昇 によるストローブ信号の誤動作の防止・総出力電流規格を遵守などのために , 必ずそれ らすべてを外部で電源およびグランドに接続してください。また , 電流供給源からでき るかぎり低インピーダンスで本デバイスの VDDE 端子または VDDI 端子 , VSS 端子に 接続するような配慮をお願いします。 さらに , 本デバイスの近くで , VDDE 端子または VDDI 端子 , VSS 端子の間に 0.1 μF 程 度のセラミックコンデンサをバイパスコンデンサとして接続することをお勧めいたし ます。 ■ 水晶発振回路について X0, X1 (X0A, X1A) 端子の近辺のノイズは本デバイスの誤動作のもととなります。X0 (X0A) とX1 (X1A) および水晶発振子さらにグランドへのバイパスコンデンサはできる かぎり近くに配置するようにプリント板を設計してください。 また , X0, X1 (X0A, X1A) 端子の回りをグランドで囲むようなプリント板アートワーク は安定した動作を期待できるので , 強くお勧めします。 各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。 ■ モード端子 (MD0 ∼ MD2) について これらの端子は , 電源端子または GND 端子に直接つないで使用してください。ノイズ により誤ってテストモードに入ってしまうことを防ぐために , プリント板上の各モー ド端子と電源端子または GND 端子間のパターン長をできる限り短くし , これらを低イ ンピーダンスで接続するようにしてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 19 第 1 章 概要 1.7 デバイス取扱い上の注意 MB91313A シリーズ ■ 電源投入時について 電源投入直後は必ず INITX 端子にて設定初期化リセット (INIT) を行ってください。 また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INITX 端子への “L” レベル入力を発振回路の要求する安定待ち時間の間持続してください (INITX 端子 による INIT では , 発振安定待ち時間の設定は最小値に初期化されています ) 。 ■ 電源投入時の原発振入力について 電源投入時は , 必ず発振安定待ち解除されるまでの間クロックを入力して下さい。 ■ VDDI端子 (内部電源1.8 V系) とVDDE端子 (外部端子電源3.3 V系) の電源投入/切断 時の注意事項 VDDI 端子 ( 内部電源 ) が切断されている条件で VDDE 端子 ( 外部電源 ) のみを継続的 (1 分間を目安 ) に印加することは , LSI の信頼性上の問題がありますので避けてくださ い。 VDDE 端子 ( 外部電源 ) を OFF 状態から ON 状態に復帰させる際には , 電源ノイズなど の影響により , 回路の内部状態が保持できない場合があります。 投入時 VDDI 端子 ( 内部電源 ) → VDDE 端子 ( 外部電源 ) →アナログ→ 信号 切断時 信号 →アナログ → VDDE 端子 ( 外部電源 ) → VDDI 端子 ( 内部電源 ) 電源 (VDDI/ アナログ /VDDE) を同時に投入 / 切断することは問題ありません。 電源投入時は内部電源が安定するまでの間 , 出力端子が不定となる可能性があります。 ■ 外部クロック使用時の注意について 外部クロックを使用する際には , 原則として X0 ( X0A ) 端子と X1 (X1A) 端子へ同時に 供給してください。また X1 (X1A) 端子には X0 (X0A) と逆相のクロックを供給してく ださい。ただし , この場合には STOP モード ( 発振停止モード ) は使用しないでくださ い (STOP 時 X1 端子が“H”出力で停止するため )。また , 12.5 MHz 以下では X0 (X0A) 端子のみの供給で使用できます 。 図 1.7-1 外部クロック使用方法 ( 通常 ) X0, X0A X1, X1A MB91313A シリーズ STOP モード ( 発振停止モード ) は使用できません。 図 1.7-2 外部クロック使用方法 (12.5MHz 以下の場合は可能 ) X0, X0A 開放 X1, X1A MB91313A シリーズ ( 注意事項 )X0 (X0A) の信号に対して X1 は 10 MHz のときに 15 ns 以内の遅延となるように設計してく ださい。 20 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 1 章 概要 1.7 デバイス取扱い上の注意 MB91313A シリーズ ■ AVCC 端子について MB91313A シリーズは A/D コンバータを内蔵しています。AVCC 端子と AVSS 端子の 間に 0.1 μF 程度のコンデンサを必ず入れてください。 AVCC MB91313A シリーズ 0.1μF AVSS ■ エミュレータを使用しない場合の注意について エミュレータを接続しない状態でユーザシステム上の評価 MCU を動作させる場合 , ユーザシステム上でエミュレータインタフェースと接続している評価 MCU の各入力 端子を以下のように処理してください。 ユーザシステム上に切換え回路などが必要になる場合がありますので設計時にはご注 意ください。 表 1.7-1 エミュレータインタフェース端子処理 評価 MCU 端子名 端子処理 TRSTX ユーザシステム上のリセット出力回路に接続します。 INITX ユーザシステム上のリセット出力回路に接続します。 その他 開放とします。 ■ PLL クロック選択時の注意について 本マイクロコントローラで PLL クロックを選択しているときに発振子が外れたり , ク ロック入力が停止した場合には PLL 内部の自励発振回路の自走周波数で動作を継続し 続ける場合があります。 この動作は保証外の動作です。 ■ 制限事項 1) クロック制御部 INITX 端子への “L” 入力時には , 発振安定待ち時間を確保してください。 2) ビットサーチモジュール 0 検出用データレジスタ (BSD0) , 1 検出用データレジスタ (BSD1) , 変化点検出用 データレジスタ (BSDC) はワードアクセスのみです。 3) I/O ポート ポートへのアクセスはバイトアクセスのみです。 4) 低消費電力モード CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 21 第 1 章 概要 1.7 デバイス取扱い上の注意 MB91313A シリーズ スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカ ウンタ制御レジスタの bit8 SYNCS bit にて設定します ) を使用した上で , 以下のシー ケンスを必ず使用してください。 (LDI#value_of_standby, r0) ;value_of_standby は , STCR へのライトデータ (LDI#_STCR , R12) ;_STCR は , STCR のアドレス (481H) STB R0, @R12 ;スタンバイ制御レジスタ (STCR) への書込み LDUB @R12, R0 ;同期スタンバイのための STCR リード LDUB @R12, R0 ;もう一度 STCR をダミーリード ;タイミング調整用の NOP × 5 NOP NOP NOP NOP NOP • モニタデバッガを使用する場合は , 以下のことを行わないでください。 - 上記命令列に対するブレークポイントの設定 - 上記命令列に対するステップ実行 5) PS レジスタに関する注意事項 一部の命令で PS レジスタを先行処理しているため , 例外動作により , デバッガ使用 時に割込み処理ルーチンでブレークしたり , PS レジスタ内のフラグの表示内容が更 新されたりする場合があります。いずれの場合も , EIT から復帰後以降に正しく再 処理を行うように設計されていますので , EIT 前後の動作は仕様どおりの処理を行 います。 •DIV0U/DIV0S 命令の直前の命令では , 以下の場合に , (1) ∼ (3) の処理を行うこと があります。 - ユーザ割込み /NMI を受け付けた場合 - ステップ実行を行った場合 - データイベント / エミュレータメニューでブレークした場合 (1) D0, D1 フラグが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み /NMI またはエミュレータ ) を実行します。 (3) EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0/D1 フラグが (1) と同じ 値に更新されます。 • ユーザ割込み /NMI 要因が発生している状態で割込みを許可するために OR CCR, ST ILM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。 (1) PS レジスタが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み /NMI, またはエミュレータ ) を実行します。 (3) EIT から復帰後 , 上記命令が実行され , PS レジスタが (1) と同じ値に更新さ れます。 22 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 1 章 概要 1.7 デバイス取扱い上の注意 6) ウォッチドッグタイマ機能について ウォッチドッグタイマは , プログラムが一定時間内にリセット延期動作を行うこと を監視し , プログラムの暴走によりリセット延期動作が行われなかったときに , CPU をリセットするための機能です。そのため , いったんウォッチドッグタイマ機 能を有効にすると , リセットを掛けるまで動作を続けます。例外として , CPU のプ ログラム実行が停止する条件では自動的にリセット延期を行います。なお , システ ムの暴走により上記状態となってしまった場合 , ウォッチドッグリセットが発生し ない可能性があります。その場合 , 外部 INITX 端子よりリセット (INIT) をかけてく ださい。 7) A/D 使用時の注意について AVCC 端子には VDDE 端子より高い電圧を供給しないでください。 8) 同期モードのソフトウェアリセットについて 同期モードのソフトウェアリセットを使用するときは , STCR ( スタンバイ制御レジ スタ ) の SRST ビットに “0” を設定する前に , 以下の 2 つの条件を必ず満たしてくだ さい。 • 割込み許可フラグ (I-Flag) を割込み禁止 (I-Flag = 0) に設定する。 •NMI を使用しない。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 23 第 1 章 概要 1.7 デバイス取扱い上の注意 24 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第2章 CPU および制御部 FR ファミリの CPU コアのアーキテクチャ , 仕様 , 命令などについて説明します。 2.1 メモリ空間 2.2 内部アーキテクチャ 2.3 命令 2.4 プログラミング・モデル 2.5 データ構造 2.6 分岐命令 2.7 EIT ( 例外・割込み・トラップ ) 2.8 リセット ( デバイスの初期化 ) 2.9 クロック生成制御 2.10 デバイス状態制御 2.11 動作モード CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 25 第 2 章 CPU および制御部 2.1 メモリ空間 2.1 MB91313A シリーズ メモリ空間 FR ファミリの論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニアにアク セスを行います。 ■ ダイレクトアドレッシング領域 アドレス空間の下記の領域は I/O 用に使用されます。 この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアドレ スを指定できます。 ダイレクト領域は , アクセスするデータのサイズにより , 以下のように異なります。 : 000H ∼ 0FFH ⇒ バイトデータアクセス ⇒ ハーフワードデータアクセス : 000H ∼ 1FFH ⇒ ワードデータアクセス : 000H ∼ 3FFH ■ FR ファミリメモリマップ 図 2.1-1 に FR ファミリのメモリマップを示します。 アドレス空間は 32 ビットリニアです。 図 2.1-1 FR ファミリメモリマップ 00000000H バイトデータ 00000100H ハーフワード データ 00000200H ダイレクト アドレッシング領域 ワードデータ 00000400H 000FFC00H ベクタテーブル 初期領域 000FFFFFH FFFFFFFFH ● ベクタテーブル初期領域 "000FFC00H" ∼ "000FFFFFH" の領域は EIT ベクタテーブル初期領域です。 EIT処理時に使用されるベクタテーブルは, TBRを書き換えることにより任意のアドレ スに配置可能ですが , リセットによる初期化によってこのアドレスに配置されます。 26 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.1 メモリ空間 MB91313A シリーズ ■ MB91313A シリーズのメモリマップ 図 2.1-2 に , MB91313A シリーズのメモリマップを示します。 図 2.1-2 MB91313A シリーズのメモリマップ シングルチップ モード 内ROM外バス モード I/O I/O ダイレクト アドレッシング領域 I/O I/O 「付録 A I/O マップ」を参照して ください。 アクセス禁止 アクセス禁止 内蔵RAM 32 K バイト 内蔵RAM 32 K バイト 00000000H 00000400H 00010000H 00038000H 00040000H アクセス禁止 アクセス禁止 00050000H 外部領域 00078000H 内蔵Flash 544 K バイト 内蔵Flash 544 K バイト 00100000H アクセス禁止 00200000H アクセス禁止 外部領域 007FFFFFH アクセス禁止 FFFFFFFFH CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 27 第 2 章 CPU および制御部 2.2 内部アーキテクチャ 2.2 MB91313A シリーズ 内部アーキテクチャ FR ファミリ CPU は , RISC アーキテクチャを採用すると同時に , 組込み用途に向け て高機能命令を導入した高性能コアです。 ■ 内部アーキテクチャの特長 • RISC アーキテクチャの採用 基本命令:1 命令 1 サイクル • 32 ビットアーキテクチャ 汎用レジスタ 32 ビット× 16 本 • 4G バイトのリニアなメモリ空間 • 乗算器の搭載 32 ビット× 32 ビット乗算 5 サイクル 16 ビット× 16 ビット乗算 3 サイクル • 割込み処理機能の強化 高速応答速度 (6 サイクル ) 多重割込みのサポート レベルマスク機能 (16 レベル ) • I/O 操作用命令の強化 メモリ - メモリ転送命令 ビット処理命令 • 基本命令語長 16 ビット • 低消費電力 スリープモード / ストップモード ギア機能 28 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.2 内部アーキテクチャ MB91313A シリーズ ■ 内部アーキテクチャの構造 FR の CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造を採用 しています。 32 ビット←→ 16 ビットバスコンバータは 32 ビットバス (F-bus) に接続され , CPU と周 辺リソースとのインタフェースを実現します。 ハーバード←→プリンストン バスコンバータは I-bus, D-bus 双方に接続され , CPU とバ スコントローラとのインタフェースを実現します。 図 2.2-1 に内部アーキテクチャの構造を示します。 図 2.2-1 内部アーキテクチャの構造 FR-CPU I-bus 内蔵RAM 内蔵ROM D-bus 32 32 32 32 ハーバード⇔プリンストン バスコンバータ F-bus 32 32 X-bus 32 32 Real Bus 24 アドレス 32bit⇔16bit バスコンバータ バスコントローラ 16 16 R-bus 周辺機能,ポート ■ CPU CPU は 32 ビット RISC の FR アーキテクチャをコンパクトにインプリメントしたもの です。1 サイクルあたり 1 命令の実行を行うため , 5 段階の命令パイプライン方式を採 用しています。パイプラインは以下のステージから構成されています。 図 2.2-2 に , 命令パイプラインの構成を示します。 • 命令フェッチ (IF) … 命令アドレスを出力し , 命令をフェッチします。 • 命令デコード (ID) … フェッチした命令をデコードします。レジスタの読出 しも行います。 • 実行 (EX) … 演算を実行します。 • メモリアクセス (MA) … メモリに対するロードまたはストアのアクセスを行い ます。 • ライトバック (WB) CM71-10143-5 … 演算結果 ( またはロードされたメモリデータ ) をレジ スタに書き込みます。 FUJITSU SEMICONDUCTOR LIMITED 29 第 2 章 CPU および制御部 2.2 内部アーキテクチャ MB91313A シリーズ 図 2.2-2 命令パイプライン CLK 命令 1 WB 命令 2 MA WB 命令 3 EX MA WB 命令 4 ID EX MA WB 命令 5 IF ID EX MA WB IF ID EX MA 命令 6 WB 命令は , 順不同で実行されません。すなわち , 命令 A が命令 B の前にパイプラインに 入ると , 命令 A は必ず命令 B の前にライトバックステージに達します。 命令の実行は , 原則として 1 サイクルあたり 1 命令の速度で行われます。ただし , メモ リウェイトを伴ったロード・ストア命令 , 遅延スロットを持たない分岐命令 , 複数サイ クル命令では命令の実行に複数のサイクルが必要となります。また , 命令の供給が遅い 場合も命令の実行速度が低下します。 ■ 32 ビット←→ 16 ビットバスコンバータ 32 ビット←→ 16 ビットバスコンバータは , 32 ビット幅で高速アクセスされる F-bus と , 16 ビット幅でアクセスされる R-bus とのインタフェースを行い , CPU から内蔵周辺回 路へのデータアクセスを実現します。 CPU から R-bus に対し 32 ビット幅のアクセスがあった場合 , バスコンバータが 32 ビッ ト幅のアクセスを 2 回の 16 ビット幅アクセスに変換してアクセスを行います。内蔵周 辺回路の一部にはアクセス幅に関して制限のあるものがあります。 ■ ハーバード←→プリンストン バスコンバータ ハーバード←→プリンストン バスコンバータは , CPU の命令アクセスとデータアクセ スの整合をとり , 外部バスとのスムーズなインタフェースを実現します。 CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造です。一方 , 外部バスの制御を行うバスコントローラは単一バスのプリンストンアーキテクチャ構 造です。このバスコンバータは CPU の命令アクセスとデータアクセスに優先順位をつ け , バスコントローラへのアクセスの制御を行います。この働きにより , 外部へのバス アクセス順位が常に最適化されたものになります。 30 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 2.3 第 2 章 CPU および制御部 2.3 命令 命令 FR ファミリは , 一般的な RISC の命令体系に加え , 組込み用途に最適化された論理 演算とビット操作およびダイレクトアドレッシング命令をサポートしています。命 令セットの一覧は「付録 D 命令一覧表」に示します。 各命令は 16 ビット長 ( 一部命令は 32, 48 ビット長 ) ですので , 優れたメモリ使用効 率を持ちます。 命令セットは以下の機能グループに分けることができます。 • 算術演算 • ロードとストア • 分岐 • 論理演算とビット操作 • ダイレクトアドレッシング • その他 ■ 算術演算 標準の算術演算命令 ( 加算 , 減算 , 比較 ) およびシフト命令 ( 論理シフト , 算術演算シフ ト ) があります。加算と減算については , 多ワード長演算で使用するキャリ付き演算や , アドレス計算に便利なフラグ値を変化させない演算も可能です。 さらに , 32 ビット× 32 ビット , 16 ビット× 16 ビットの乗算命令と , 32 ビット÷ 32 ビットのステップ除算命令を持ちます。また , レジスタに即値をセットする即値転送命 令や , レジスタ間転送命令も備えています。 算術演算命令はすべて CPU 内の汎用レジスタおよび乗除算レジスタを用いて演算を行 います。 ■ ロードとストア ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また , チップ内 の周辺回路 (I/O) への読出しと書込みにも使用されます。 ロードとストアはバイト , ハーフワード , ワードの 3 種類のアクセス長を持ちます。ま た , 一般的なレジスタ間接のメモリアドレッシングに加え , 一部の命令についてはディ スプレースメント付きレジスタ間接やレジスタインクリメント・デクリメント付きレ ジスタ間接のメモリアドレッシングも可能です。 ■ 分岐 分岐 , コール , 割込みおよび復帰の命令です。分岐命令は , 遅延スロットを持つものと 持たないものがあり , 用途に応じて最適化を行うことができます。分岐命令の詳細につ いては後述します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 31 第 2 章 CPU および制御部 2.3 命令 MB91313A シリーズ ■ 論理演算とビット操作 論理演算命令は汎用レジスタ間または汎用レジスタとメモリ ( および I/O) 間で AND, OR, EOR の論理演算を行うことが可能です。また , ビット操作命令はメモリ ( および I/O) の 内容を直接操作することができます。 メモリアドレッシングは一般的なレジスタ間接です。 ■ ダイレクトアドレッシング ダイレクトアドレッシング命令は , I/O と汎用レジスタ間または I/O とメモリ間のアク セスに使用する命令です。I/O のアドレスをレジスタ間接ではなく命令中で直接指定す ることにより , 高速 , 高効率なアクセスを行うことができます。一部の命令については レジスタインクリメント・デクリメント付きレジスタ間接のメモリアドレッシングも 可能です。 ■ その他の命令概要 PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。ま た, 高級言語対応の関数入口/出口, レジスタマルチロード/ストア命令も備えています。 32 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ 2.4 プログラミング・モデル FR ファミリのプログラミングモデル , 汎用レジスタ , および専用レジスタについて 説明します。 ■ 基本プログラミングモデル 図 2.4-1 に , FR ファミリの基本プログラミングモデルを示します。 図 2.4-1 基本プログラミングモデル 32ビット 〔初期値〕 XXXX XXXXH R0 … R1 … … 汎用レジスタ … … R12 R13 AC R14 FP R15 SP プログラムカウンタ PC プログラムステータス PS - テーブルベースレジスタ TBR リターンポインタ RP システムスタックポインタ SSP ユーザスタックポインタ USP 乗除算結果レジスタ MDH MDL CM71-10143-5 … … … ILM - SCR FUJITSU SEMICONDUCTOR LIMITED … XXXX XXXXH 0000 0000H CCR 33 第 2 章 CPU および制御部 2.4 プログラミング・モデル 2.4.1 MB91313A シリーズ 汎用レジスタ レジスタ R0 ∼ R15 は汎用レジスタです。 各種演算におけるアキュムレータ , およびメモリアクセスのポインタとして使用さ れます。 ■ 汎用レジスタ 図 2.4-2 に , 汎用レジスタの構成を示します。 図 2.4-2 汎用レジスタの構成 32ビット [初期値] R0 XXXX XXXXH R1 R12 R13 R14 AC FP XXXX XXXXH R15 SP 0000 0000H 16本のレジスタのうち, 以下に示すレジスタは特殊な用途を想定しており, そのために 一部の命令が強化されています。 • R13: 仮想アキュムレータ (AC) • R14: フレームポインタ (FP) • R15: スタックポインタ (SP) リセットによる初期値は , R0 ∼ R14 は不定です。R15 は , "00000000H" (SSP の値 ) とな ります。 34 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ 2.4.2 専用レジスタ 専用レジスタは , 特定の目的のために使用します。 FR ファミリでは , 以下の専用レジスタが用意されています。 • PS (Program Status) • CCR (Condition Code Register) • SCR (System Condition code Register) • ILM (Interrupt Level Mask register) • PC (Program Counter) • TBR (Table Base Register) • RP (Return Pointer) • SSP (System Stack Pointer) • USP (User Stack Pointer) • MDH, MDL (Multiply & Divide register) ■ PS (Program Status) PS はプログラムステータスを保持するレジスタで , ILM と SCR, CCR の 3 つのパート に分かれています。 未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。 書込みは無効です。 PS(Program Status) のレジスタ構成は , 以下のとおりです。 bit 31 20 16 ILM CM71-10143-5 10 8 7 SCR FUJITSU SEMICONDUCTOR LIMITED 0 CCR 35 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ ■ CCR (Condition Code Register) CCR(Condition Code Register) のレジスタ構成は , 以下のとおりです。 bit 7 6 5 4 3 2 1 0 [ 初期値 ] − − S I N Z V C --00XXXXB [bit5] S: スタックフラグ R15 として使用されるスタックポインタを指定します。 値 内容 0 SSP が R15 として使用されます。 EIT 発生時 , 自動的に "0" となります。 ( ただし , スタックに退避される値はクリアされる前の値です ) 。 1 USP が R15 として使用されます。 • リセットにより "0" にクリアされます。 • RETI 命令実行時は "0" に設定してください。 [bit4] I: 割込み許可フラグ ユーザ割込み要求の許可・禁止を制御します。 値 内容 0 ユーザ割込み禁止。 INT 命令実行時 , "0" にクリアされます。 ( ただし , スタック退避させる値はクリアする前の値です ) 。 1 ユーザ割込み許可。 ユーザ割込み要求のマスク処理は , ILM の保持する値により制御され ます。 • リセットにより "0" にクリアされます。 [bit3] N: ネガティブフラグ 演算結果を "2" の補数で表現された整数とみなしたときの符号を示します。 値 内容 0 演算結果が正の値であったことを示します。 1 演算結果が負の値であったことを示します。 • リセットによる初期状態は不定です。 36 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ [bit2] Z: ゼロフラグ 演算結果が "0" であったかどうかを示します。 値 内容 0 演算結果が "0" 以外の値であったことを示します。 1 演算結果が "0" であったことを示します。 • リセットによる初期状態は不定です。 [bit1] V: オーバフローフラグ 演算に用いたオペランドを "2" の補数で表現される整数であるとみなし , 演算の結 果 , オーバフローが生じたかどうかを示します。 値 内容 0 演算の結果 , オーバフローは生じていないことを示します。 1 演算の結果 , オーバフローが生じたことを示します。 • リセットによる初期状態は不定です。 [bit0] C: キャリフラグ 演算により , 最上位ビットからのキャリまたはボローが発生したかどうかを示しま す。 値 内容 0 キャリもボローも発生していないことを示します。 1 キャリまたはボローが発生したことを示します。 • リセットによる初期状態は不定です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 37 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ ■ SCR (System Condition code Register) SCR(System Condition code Register) のレジスタ構成は , 以下のとおりです。 bit 10 9 8 [ 初期値 ] D1 D0 T XX0B [bit10, bit9] D1, D0: ステップ除算用フラグ ステップ除算実行時の中間データを保持します。 除算処理の実行途中で , 変更しないでください。ステップ除算実行途中にほかの処 理を行う場合は , PS レジスタの値を退避・復帰することでステップ除算の再開が保 証されます。 • リセットによる初期状態は不定です。 • DIV0S 命令の実行により被除数と除数を参照して設定されます。 • DIV0U 命令の実行により , 強制的にクリアされます。 • DIV0S/DIV0U 命令とユーザ割込み , NMI 同時受付け EIT 処理ルーチン内で , EIT 分岐前処理を行わないでください。 • DIV0S/DIV0U 命令の直前に , ブレーク , ステップなどで停止させた場合 , PS レジ スタの D0/D1 ビットの表示は正しい値とならないことがあります。ただし , 復帰 後の演算結果は正しいものになります。 [bit8] T: ステップトレーストラップフラグ ステップトレーストラップを有効にするかどうかを指定するフラグです。 値 内容 0 ステップトレーストラップ無効 1 ステップトレーストラップ有効 このとき , ユーザ用 NMI とユーザ割込みがすべて割込み禁止となりま す。 • リセットにより "0" に初期化されます。 • ステップトレーストラップの機能はエミュレータが使用します。エミュレータ使 用時は , ユーザプログラム中に使用できません。 38 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ ■ ILM (Interrupt Level Mask Register) ILM のレジスタ構成は , 以下のとおりです。 bit 20 19 18 17 16 [ 初期値 ] ILM4 ILM3 ILM2 ILM1 ILM0 01111B 割込みレベルマスク値を保持するレジスタです。 CPU に入力される割込み要求の中で対応する割込みレベルが , この ILM で示されるレ ベルよりも強い場合にのみ割込み要求が受け付けられます。 レベル値は , 0(00000B) が最強で , 31(11111B) が最弱です。 プログラムから設定可能な値には制限があります。 • 元の値が 16 ∼ 31 のとき : 新たな値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を設定する命令を実行する と , ( 指定した値+ 16) という値が転送されます。 • 元の値が 0 ∼ 15 のとき : 0 ∼ 31 の任意の値が設定可能です。 リセットにより , 15(01111B) に初期化されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 39 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ ■ PC (Program Counter) PC(Program Counter) のレジスタ構成は , 以下のとおりです。 bit 31 0 PC [ 初期値 ] XXXXXXXXH [bit31 ∼ bit0] プログラムカウンタで , 実行している命令のアドレスを示しています。 命令の実行を伴う PC の更新時に , bit0 は "0" に設定されます。分岐アドレスとして 奇数番地を指定した場合でも bit0 は無効であり , 命令は "2" の倍数のアドレスに置 く必要があります。 リセットによる初期値は不定です。 ■ TBR (Table Base Register) TBR(Table Base Register) のレジスタ構成は , 以下のとおりです。 bit 31 0 [ 初期値 ] 000FFC00H TBR テーブルベースレジスタで , EIT 処理の際に使用するベクタテーブルの先頭アドレスを 保持します。 リセットによる初期値は , "000FFC00H" です。 ■ RP (Return Pointer) RP(Return Pointer) のレジスタ構成は , 以下のとおりです。 bit 31 0 RP [ 初期値 ] XXXXXXXXH リターンポインタで , サブルーチンから復帰するアドレスを保持します。 CALL 命令実行時 , PC の値がこの RP に転送されます。 RET 命令実行時 , RP の内容が PC に転送されます。 リセットによる初期値は不定です。 40 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ ■ SSP (System Stack Pointer) SSP(System Stack Pointer) のレジスタ構成は , 以下のとおりです。 bit 31 0 SSP [ 初期値 ] 00000000H SSP は , システムスタックポインタです。 S フラグが "0" のとき , R15 として機能します。 SSP を直接命令で指定することも可能です。 また , EIT 発生時に , PS と PC を退避するスタックを指定するスタックポインタとして も使用されます。 リセットによる初期値は "00000000H" です。 ■ USP (User Stack Pointer) USP(User Stack Pointer) のレジスタ構成は , 以下のとおりです。 bit 31 0 USP [ 初期値 ] XXXXXXXXH USP は , ユーザスタックポインタです。 S フラグが "1" のとき , R15 として機能します。 USP を直接命令で指定することも可能です。 リセットによる初期値は不定です。 RETI 命令で使用することはできません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 41 第 2 章 CPU および制御部 2.4 プログラミング・モデル MB91313A シリーズ ■ MDH, MDL (Multiply & Divide register: 乗除算結果レジスタ ) 乗除算結果レジスタ (Multiply & Divide register) のレジスタ構成は , 以下のとおりです。 bit 31 0 MDH MDL 乗除算用のレジスタで , 各々 32 ビット長です。 リセットによる初期値は不定です。 • 乗算実行時 : 32 ビット× 32 ビットの乗算のとき , 64 ビット長の演算結果は , 以下の配置で乗除 算レジスタに格納されます。 MDH……上位 32 ビット MDL……下位 32 ビット 16 ビット× 16 ビットの乗算のときは , 以下のように結果が格納されます。 MDH……不定 MDL……結果 32 ビット • 除算実行時 : 計算開始時 , 被除数を MDL に格納します。 DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S 命令の実行により除算を計算すると , 結果 が MDL と MDH に格納されます。 MDH……剰余 MDL……商 42 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.5 データ構造 MB91313A シリーズ データ構造 2.5 FR ファミリのデータ構造について説明します。 ■ ビットオーダリング FR ファミリでは , ビットオーダリングとして , リトルエンディアンを採用しています。 図 2.5-1 に , ビットオーダリングのデータ配置を示します。 図 2.5-1 ビットオーダリングのデータ配置 bit 31 29 30 27 28 25 26 23 24 21 22 19 20 17 18 15 16 13 14 11 12 9 10 7 8 5 6 3 4 1 2 MSB 0 LSB ■ バイトオーダリング FR ファミリでは , バイトオーダリングとして , ビッグエンディアンを採用しています。 図 2.5-2 に , バイトオーダリングのデータ配置を示します。 図 2.5-2 バイトオーダリングのデータ配置 MSB bit 31 メモリ 23 15 7 LSB 0 10101010 11001100 11111111 00010001 bit 7 0 n番地 10101010 (n+1)番地 11001100 (n+2)番地 11111111 (n+3)番地 00010001 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 43 第 2 章 CPU および制御部 2.5 データ構造 MB91313A シリーズ ■ ワードアライメント ● プログラムアクセス FR ファミリのプログラムは , 2 の倍数のアドレスに配置する必要があります。 PC の bit0 は , 命令の実行に伴う PC の更新時に , "0" に設定されます。 分岐先アドレスとして奇数番地を指定した場合でも bit0 は無効であり , 命令は "2" の倍 数のアドレスに置く必要があります。 奇数アドレス例外はありません。 ● データアクセス FR ファミリでは , データアクセスを行う際 , その幅により以下のように強制的なアラ イメントがアドレスに対して施されます。 ワードアクセス : アドレスは , "4" の倍数 ( 最下位 2 ビットは強制的に "00") ハーフワードアクセス : アドレスは , "2" の倍数 ( 最下位ビットは強制的に "0") バイトアクセス : ── ワードおよびハーフワードデータアクセス時に , 一部のビットが強制的に "0" にされる のは , 実効アドレスの計算結果に対してです。 例えば , @(R13, Ri) のアドレッシングモードの場合 , 加算前のレジスタは ( たとえ最下 位ビットが "1" であっても ) そのまま計算に使用され , 加算結果の下位ビットがマスク されます。計算前のレジスタがマスクされるわけではありません。 【例】LD @ (R13,R2),R0 R13 00002222H R2 00000003H +) 加算結果 アドレス端子 44 00002225H 下位2ビット強制マスク 00002224H FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 2.6 第 2 章 CPU および制御部 2.6 分岐命令 分岐命令 FR ファミリの分岐命令について説明します。 ■ 分岐命令の概要 FR ファミリでは , 分岐命令に遅延スロット付きの動作と遅延スロットなしの動作を指 定することができます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 45 第 2 章 CPU および制御部 2.6 分岐命令 2.6.1 MB91313A シリーズ 遅延スロット付き動作 分岐命令に遅延スロット付き動作を指定した場合について説明します。 ■ 遅延スロット付き動作の命令 以下に示す表記をした命令が , 遅延スロット付きの分岐動作を行います。 JMP:D @Ri CALL:D label12 CALL: @Ri RET:D BRA:D label9 BNO:D label9 BEQ:D label9 BNE:D label9 BC:D label9 BNC:D label9 BN:D label9 BP:D label9 BV:D label9 BNV:D label9 BLT:D label9 BGE:D label9 BLE:D label9 BGT:D label9 BLS:D label9 BHI:D label9 ■ 遅延スロット付き動作の動作説明 遅延スロット付きの動作では , 分岐先の命令を実行する前に , 分岐命令の直後 (「遅延 スロット」とよびます ) に置かれた命令を実行した後に分岐します。 分岐動作の前に遅延スロットの命令を実行するため, 見かけ上の実行速度が1サイクル となります。その代わり , 遅延スロットに有効な命令を入れることができないときは , NOP 命令を置く必要があります。 [例] ; 命令の並び ADD R1, R2 ; BRA:D LABEL ; 分岐命令 MOV R2, R3 ; 遅延スロット……分岐の前に実行される … R3, @R4 ; 分岐先 LABEL: ST 条件分岐命令の場合 , 分岐条件が成立するかしないかにかかわらず , 遅延スロットに置 かれた命令は実行されます。 遅延分岐命令では , 一部の命令の実行順序が反転するように見えますが , それは PC の 更新動作のみであり , その他の動作 ( レジスタの更新・参照など ) は記述された順番で 実行されます。 以下に , 具体的な説明をします。 1) JMP:D @Ri / CALL:D @Ri 命令で参照する Ri は , 遅延スロットの中の命令が Ri を更新しても影響を受けません。 [例] LDI:32 #Label, R0 JMP:D @R0 LDI:8 #0, ;Label に分岐 R0 ; 分岐先アドレスには影響を与えない … 46 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.6 分岐命令 MB91313A シリーズ 2) RET:D 命令が参照する RP は , 遅延スロットの中の命令が RP を更新しても影響 を受けません。 [例] ; これより前に設定された RP の示すアドレスへ分岐 RET:D MOV R8, RP ; リターン動作には影響を与えない … 3) Bcc:D rel 命令が参照するフラグも , 遅延スロットの命令の影響を受けません。 [例] ADD #1, R0 BC:D Overflow ; フラグ変化 ; 上記の命令の実行結果により分岐 ; このフラグ更新は上記分岐命令では参照しない AND CCR #0 … 4) CALL:D 命令の遅延スロットの中の命令で RP を参照すると , CALL:D 命令によ り更新された内容が読み出されます。 [例] ; RP を更新して分岐 CALL:D Label MOV RP, R0 ; 上記 CALL:D の実行結果の RP を転送 … ■ 遅延スロット付き動作の制限事項 ● 遅延スロットに置くことができる命令 遅延スロット内で実行できるのは , 以下の条件を満たす命令のみです。 • 1 サイクル命令 • 分岐命令ではないこと • 順番が変化した場合でも動作に影響を与えない命令 「1 サイクル命令」とは , 命令一覧表中でサイクル数の欄が「1」または「a」または「b」 または「c」または「d」と記載された命令です。 ● ステップトレーストラップ 遅延スロットを持つ分岐命令の実行と遅延スロットの間では , ステップトレースト ラップは発生しません。 ● 割込み・NMI 遅延スロットを持つ分岐命令の実行と遅延スロットの間では , 割込み・NMI を受理し ません。 ● 未定義命令例外 遅延スロットに未定義命令があった場合 , 未定義命令例外は発生しません。このとき , 未定義命令は NOP 命令として動作します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 47 第 2 章 CPU および制御部 2.6 分岐命令 2.6.2 MB91313A シリーズ 遅延スロットなし動作 分岐命令に遅延スロットなし動作を指定した場合について説明します。 ■ 遅延スロットなし動作の命令 以下に示す表記をした命令が , 遅延スロットなしの分岐動作を行います。 JMP @Ri CALL label12 CALL @Ri RET BRA label9 BNO label9 BEQ label9 BNE label9 BC label9 BNC label9 BN label9 BP label9 BV label9 BNV label9 BLT label9 BGE label9 BGT BLS label9 BHI label9 BLE label9 label9 ■ 遅延スロットなし動作の動作説明 遅延スロットなしの動作では , 命令の並びの順に実行します。 直後の命令が分岐前に実行されることはありません。 [例] ; 命令の並び ADD R1, R2 ; BRA LABEL ; 分岐命令 ( 遅延スロットなし ) MOV R2, R3 ; 実行されない … R3, @R4 ; 分岐先 LABEL: ST 遅延スロットなしの分岐命令の実行サイクル数は , 分岐するとき 2 サイクル , 分岐しな いとき 1 サイクルとなります。 遅延スロットなしの分岐命令は , 遅延スロットに適当な命令を入れることができない ために NOP を明記した遅延スロット付き分岐命令に比べて , 命令コード効率を上げる ことができます。 遅延スロットに有効な命令を設置できるときは遅延スロット付きの動作を選択し , 設 置できないときは遅延スロットなしの動作を選択することで , 実行速度とコード効率 を両立させることが可能となります。 48 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 2.7 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) EIT ( 例外・割込み・トラップ ) EIT とは , 現プログラム実行時にイベントの発生によりそのプログラムの実行を中断 してほかのプログラムを実行することを指す , 例外 (Exception), 割込み (Interrupt), トラップ (Trap) の総称です。 例外とは , 実行中のコンテキストに関連して発生する事象です。例外を起こした命 令から再実行します。 割込みとは , 実行中のコンテキストとは無関係に発生する事象です。イベント要因 は , ハードウェアです。 トラップとは , 実行中のコンテキストに関連して発生する事象です。システムコー ルのようにプログラムで指示するものがあります。トラップを起こした命令の次の 命令から再実行します。 ■ EIT の特長 • 割込みに多重割込みをサポート • 割込みにレベルマスク機能 (15 レベルをユーザが使用可能 ) • トラップ命令 (INT) • エミュレータ起動用 EIT ( ハードウェア / ソフトウェア ) ■ EIT 要因 EIT 要因として , 以下のものがあります。 • リセット • ユーザ割込み ( 内部リソース , 外部割込み ) • NMI • 遅延割込み • 未定義命令例外 • トラップ命令 (INT) • トラップ命令 (INTE) • ステップトレーストラップ • コプロセッサ不在トラップ • コプロセッサエラートラップ <注意事項> 分岐命令の遅延スロットには , EIT に関して制約があります。詳細は , 「2.6 分岐命令」を 参照してください。 ■ EIT からの復帰 RETI 命令 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 49 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ EIT の割込みレベル 2.7.1 割込みレベルは 0 ∼ 31 で , 5 ビットで管理されます。 ■ EIT の割込みレベル 表 2.7-1 に , 割込みレベルを示します。 表 2.7-1 割込みレベル レベル 割込み要因 2 進数 10 進数 00000 0 ( システム予約 ) … … … … … … 00011 3 ( システム予約 ) 00100 4 00101 5 ( システム予約 ) … … … … … … 01110 14 ( システム予約 ) 01111 15 NMI ( ユーザ用 ) 10000 16 割込み 10001 17 割込み … … … … … … 11110 30 割込み 11111 31 ─ { INTE 命令 ステップトレーストラップ 注意事項 ILM の元の値が 16 ∼ 31 のとき , この 範囲の値をプログラムにより ILM に設 定することはできません。 ILM 設定時 , ユーザ割込み禁止 ICR 設定時 , 割込み禁止 操作が可能なのは , 16 ∼ 31 のレベルです。 未定義命令例外, コプロセッサ不在トラップ, コプロセッサエラートラップ, そしてINT 命令は , 割込みレベルの影響を受けません。また , ILM を変化させることもありません。 50 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ ■ I フラグ I フラグは , 割込みの許可・禁止を指定するフラグです。PS レジスタの CCR の bit4 と して設けられています。 値 内容 0 割込み禁止 INT 命令実行時 "0" にクリアされます ( ただし , スタック退避させる値はクリアする前の値です ) 。 1 割込み許可 割込み要求のマスク処理は , ILM の保持する値により制御されます。 ■ ILM ILM は , 割込みレベルマスク値を保持する PS レジスタ (bit20 ∼ bit16) です。 CPU に入力される割込み要求の中で対応する割込みレベルが , この ILM で示されるレ ベルよりも強い場合にのみ割込み要求が受け付けられます。 レベル値は , 0(00000B) が最強で , 31(11111B) が最弱です。 プログラムから設定可能な値には制限があります。元の値が 16 ∼ 31 のとき , 新たな値 として設定できるのは 16 ∼ 31 です。0 ∼ 15 の値を設定する命令を実行すると , ( 指定 した値+ 16) という値が転送されます。 元の値が 0 ∼ 15 のときは , 0 ∼ 31 の任意の値が設定可能です。任意の値を設定するに は ST ILM 命令を使用します。 ■ 割込み・NMI に対するレベルマスク NMI および割込み要求が発生したときは , 割込み要因の持つ割込みレベル ( 表 2.7-1 ) が ILM の保持するレベルマスク値と比較されます。そして , レベルの強さで次の条件 が成立したときはマスクされ , 要求は受理されません。 要因の持つ割込みレベル ≧ レベルマスク値 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 51 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) 2.7.2 MB91313A シリーズ ICR (Interrupt Control Register) 割込みコントローラ内に設けられたレジスタで , 割込みの各要求に対するレベルを 設定します。ICR は割込み要求入力の各々に対応して用意されています。ICR は I/O 空間にマッピングされており , CPU からはバスを通してアクセスされます。 ■ ICR ビット構成 ICR のビット構成は , 以下のとおりです。 bit 7 − − 6 − − 5 4 3 2 1 0 − − ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W 初期値 ---111111B [bit4] ICR4 ICR4 は , 常に "1" です。 [bit3 ∼ bit0] ICR3 ∼ ICR0 対応する割込み要因の割込みレベルの下位 4 ビットです。読出し / 書込み可能です。 bit4 と合わせて , ICR は 16 ∼ 31 の範囲で値を設定することができます。 ■ ICR マッピング 表 2.7-2 に , 割込み要因と割込み制御レジスタ , 割込みベクタの割当てを示します。 表 2.7-2 割込み要因と割込み制御レジスタ , 割込みベクタ 割込み制御レジスタ 対応する割込みベクタ 番号 割込み要因 番号 アドレス アドレス 16 進 10 進 IRQ00 ICR00 00000440H 10H 16 TBR + 3BCH IRQ01 ICR01 00000441H 11H 17 TBR + 3B8H IRQ02 ICR02 00000442H 12H 18 TBR + 3B4H … … … … … … … … … … … … IRQ45 ICR45 0000046DH 3DH 61 TBR + 308H IRQ46 ICR46 0000046EH 3EH 62 TBR + 304H IRQ47 ICR47 0000046FH 3FH 63 TBR + 300H ・TBR 初期値 : "000FFC00H" ・詳細は「第 10 章 割込みコントローラ」を参照してください。 52 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ システムスタックポインタ (SSP:System Stack Pointer) 2.7.3 システムスタックポインタ (SSP) が , EIT の受理および復帰動作時のデータ退避・復 活用スタックを示すポインタとして使用されます。 ■ システムスタックポインタ (SSP) システムスタックポインタ (SSP) のレジスタ構成は , 以下のとおりです。 bit 31 0 [ 初期値 ] 00000000H SSP EIT 処理時に SSP-8 のデータが格納され , RETI 命令の実行による EIT からの復帰動作 時に SSP+8 のデータが格納されます。 リセットによる初期値は "00000000H" です。 システムスタックポインタ (SSP) は , CCR 中の S フラグが "0" のとき , 汎用レジスタ R15 としても機能します。 ■ 割込みスタック システムスタックポインタ (SSP) により示される領域で , PC および PS の値が退避・復 帰されます。 割込み後はシステムスタックポインタ (SSP) の示すアドレスに PC, (SSP + 4) のアドレ スに PS が格納されています。 図 2.7-1 に , 割込みスタックの例を示します。 図 2.7-1 割込みスタック [割込み前] SSP 80000000H [割込み後] SSP 7FFFFFF8H メモリ 80000000H 7FFFFFFCH 7FFFFFF8H CM71-10143-5 80000000H 7FFFFFFCH 7FFFFFF8H FUJITSU SEMICONDUCTOR LIMITED PS PC 53 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ テーブルベースレジスタ (TBR:Table Base Register) 2.7.4 テーブルベースレジスタ (TBR) は , EIT 用ベクタテーブルの先頭アドレスを示すレジ スタです。 ■ テーブルベースレジスタ (TBR) TBR のレジスタ構成は , 以下のとおりです。 bit 31 0 [ 初期値 ] 000FFC00H TBR テーブルベースレジスタ (TBR) と EIT 要因ごとに決められたオフセット値を加算した アドレスがベクタアドレスとなります。 リセットによる初期値は "000FFC00H" です。 ■ EIT ベクタテーブル TBR の示すアドレスから 1K バイトの領域が , EIT 用ベクタ領域となっています。 1 ベクタあたりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は以下のと おりです。 vctadr = TBR + vctofs = TBR + (3FCH − 4 × vct) vctadr: ベクタアドレス vctofs: ベクタオフセット vct: ベクタ番号 加算結果の下位 2 ビットは常に "00" として扱われます。 "000FFC00H" ∼ "000FFFFFH" の領域がリセットによるベクタテーブルの初期領域です。 ベクタの一部には特殊な機能が割り当てられています。 表 2.7-3 に , アーキテクチャ上のベクタテーブルを示します。 表 2.7-3 ベクタテーブル (1 / 4) 割込み番号 割込みレベル オフセット TBR デフォルト のアドレス 00 - 3FCH 000FFFFCH 1 01 - 3F8H 000FFFF8H システム予約 2 02 - 3F4H 000FFFF4H システム予約 3 03 - 3F0H 000FFFF0H システム予約 4 04 - 3ECH 000FFFECH システム予約 5 05 - 3E8H 000FFFE8H 割込み要因 10 進 16 進 リセット *1 0 モードベクタ *1 *1 : TBR の 値 を 変 更 し て も リ セ ッ ト ベ ク タ と モ ー ド ベ ク タ は 常 に 固 定 ア ド レ ス "000FFFFCH", "000FFFF8H" が使用されます。 54 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ 表 2.7-3 ベクタテーブル (2 / 4) 割込み番号 割込みレベル オフセット TBR デフォルト のアドレス 06 - 3E4H 000FFFE4H 7 07 - 3E0H 000FFFE0H コプロセッサエラートラップ 8 08 - 3DCH 000FFFDCH INTE 命令 9 09 - 3D8H 000FFFD8H システム予約 10 0A - 3D4H 000FFFD4H システム予約 11 0B - 3D0H 000FFFD0H ステップトレーストラップ 12 0C - 3CCH 000FFFCCH NMI 要求 (tool) 13 0D - 3C8H 000FFFC8H 未定義命令例外 14 0E - 3C4H 000FFFC4H NMI 要求 15 0F 15(FH) 固定 3C0H 000FFFC0H 外部割込み 0 16 10 ICR00 3BCH 000FFFBCH 外部割込み 1 17 11 ICR01 3B8H 000FFFB8H 外部割込み 2 18 12 ICR02 3B4H 000FFFB4H 外部割込み 3 19 13 ICR03 3B0H 000FFFB0H 外部割込み 4 20 14 ICR04 3ACH 000FFFACH 外部割込み 5 21 15 ICR05 3A8H 000FFFA8H 外部割込み 6 22 16 ICR06 3A4H 000FFFA4H 外部割込み 7 23 17 ICR07 3A0H 000FFFA0H リロードタイマ 0 24 18 ICR08 39CH 000FFF9CH リロードタイマ 1 25 19 ICR09 398H 000FFF98H リロードタイマ 2 26 1A ICR10 394H 000FFF94H マスク可能要因 *2 27 1B ICR11 390H 000FFF90H マスク可能要因 *2 28 1C ICR12 38CH 000FFF8CH マスク可能要因 *2 29 1D ICR13 388H 000FFF88H マスク可能要因 *2 30 1E ICR14 384H 000FFF84H マスク可能要因 *2 31 1F ICR15 380H 000FFF80H マスク可能要因 *2 32 20 ICR16 37CH 000FFF7CH マスク可能要因 *2 33 21 ICR17 378H 000FFF78H マスク可能要因 *2 34 22 ICR18 374H 000FFF74H マスク可能要因 *2 35 23 ICR19 370H 000FFF70H マスク可能要因 *2 36 24 ICR20 36CH 000FFF6CH マスク可能要因 *2 37 25 ICR21 368H 000FFF68H マスク可能要因 *2 38 26 ICR22 364H 000FFF64H マスク可能要因 *2 39 27 ICR23 360H 000FFF60H マスク可能要因 *2 40 28 ICR24 35CH 000FFF5CH 割込み要因 10 進 16 進 システム予約 6 コプロセッサ不在トラップ *2 : マスク可能要因は各品種により定義されます。本品種におけるベクタテーブルは付表 B-1 を参照 してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 55 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ 表 2.7-3 ベクタテーブル (3 / 4) 割込み番号 割込みレベル オフセット TBR デフォルト のアドレス 29 ICR25 358H 000FFF58H 42 2A ICR26 354H 000FFF54H マスク可能要因 *2 43 2B ICR27 350H 000FFF50H マスク可能要因 *2 44 2C ICR28 34CH 000FFF4CH マスク可能要因 *2 45 2D ICR29 348H 000FFF48H マスク可能要因 *2 46 2E ICR30 344H 000FFF44H タイムベースタイマオーバフロー 47 2F ICR31 340H 000FFF40H マスク可能要因 *2 48 30 ICR32 33CH 000FFF3CH マスク可能要因 *2 49 31 ICR33 338H 000FFF38H マスク可能要因 *2 50 32 ICR34 334H 000FFF34H マスク可能要因 *2 51 33 ICR35 330H 000FFF30H マスク可能要因 *2 52 34 ICR36 32CH 000FFF2CH マスク可能要因 *2 53 35 ICR37 328H 000FFF28H マスク可能要因 *2 54 36 ICR38 324H 000FFF24H マスク可能要因 *2 55 37 ICR39 320H 000FFF20H マスク可能要因 *2 56 38 ICR40 31CH 000FFF1CH マスク可能要因 *2 57 39 ICR41 318H 000FFF18H マスク可能要因 *2 58 3A ICR42 314H 000FFF14H マスク可能要因 *2 59 3B ICR43 310H 000FFF10H マスク可能要因 *2 60 3C ICR44 30CH 000FFF0CH マスク可能要因 *2 61 3D ICR45 308H 000FFF08H マスク可能要因 *2 62 3E ICR46 304H 000FFF04H 遅延割込み要因ビット 63 3F ICR47 300H 000FFF00H システム予約 (REALOS にて使用 ) 64 40 - 2FCH 000FFEFCH システム予約 (REALOS にて使用 ) 65 41 - 2F8H 000FFEF8H システム予約 66 42 - 2F4H 000FFEF4H システム予約 67 43 - 2F0H 000FFEF0H システム予約 68 44 - 2ECH 000FFEECH システム予約 69 45 - 2E8H 000FFEE8H システム予約 70 46 - 2E4H 000FFEE4H システム予約 71 47 - 2E0H 000FFEE0H システム予約 72 48 - 2DCH 000FFEDCH システム予約 73 49 - 2D8H 000FFED8H システム予約 74 4A - 2D4H 000FFED4H システム予約 75 4B - 2D0H 000FFED0H 割込み要因 10 進 16 進 マスク可能要因 *2 41 マスク可能要因 *2 *2 : マスク可能要因は各品種により定義されます。本品種におけるベクタテーブルは付表 B-1 を参照 してください。 56 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ 表 2.7-3 ベクタテーブル (4 / 4) 割込み番号 割込みレベル オフセット TBR デフォルト のアドレス 4C - 2CCH 000FFECCH 77 4D - 2C8H 000FFEC8H システム予約 78 4E - 2C4H 000FFEC4H システム予約 79 4F - 2C0H 000FFEC0H 80 50 2BCH 000FFEBCH ∼ ∼ ∼ ∼ 255 FF 000H 000FFC00H 割込み要因 10 進 16 進 システム予約 76 システム予約 INT 命令で使用 CM71-10143-5 - FUJITSU SEMICONDUCTOR LIMITED 57 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ 多重 EIT 処理 2.7.5 複数の EIT 要因が同時に発生した場合 , CPU は 1 つの EIT 要因を選択して受理し , EIT シーケンスを実行した後 , 再び EIT 要因の検出を行うという動作を繰り返しま す。 EIT 要因検出の際に , 受理可能な EIT 要因がなくなったとき , 最後に受理した EIT 要 因のハンドラの命令を実行します。 そのため , 複数の EIT 要因が同時に発生した場合の各要因のハンドラの実行順序は , 次の 2 つの要素によって決まります。 • EIT 要因受理の優先順位 • 受理した場合にほかの要因をどのようにマスクするか ■ EIT 要因受理の優先度 EIT 要因受理の優先度とは , PS と PC を退避して PC を更新し ( 必要に応じて ) ほかの 要因のマスク処理を行うという , EIT シーケンスを実行する要因を選ぶときの順番で す。 必ずしも , 先に受理された要因のハンドラが先に実行されるわけではありません。 表 2.7-4 に , EIT 要因の受理の優先度とほかの要因へのマスクを示します。 表 2.7-4 EIT 要因の受理の優先度とほかの要因へのマスク 受理の優先順位 58 要因 ほかの要因に対するマスク 1 リセット ほかの要因は破棄します。 2 未定義命令例外 取消 3 INTE 命令 ILM=4 ほかの要因は破棄します。 4 INT 命令 I フラグ =0 5 コプロセッサ不在トラップ コプロセッサエラートラップ 6 ユーザ割込み ILM= 受理した要因のレベル 7 NMI ( ユーザ用 ) ILM=15 ( 本製品に NMI はありません。) 8 NMI ( エミュレータ用 ) ILM=4 9 ステップトレーストラップ ILM=4 ― FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ EIT 要因を受理した後のほかの要因に対するマスクの処理を加味すると , 同時に発生し た EIT 要因の各ハンドラの実行順序は , 表 2.7-5 のようになります。 表 2.7-5 EIT ハンドラの実行順序 ハンドラの実行順序 要因 1 リセット * 2 未定義命令例外 3 INTE 命令 * 4 ステップトレーストラップ 5 NMI ( ユーザ用。ただし , 本製品に NMI はありません ) 6 INT 命令 7 ユーザ割込み 8 コプロセッサ不在トラップ , コプロセッサエラートラップ *: ほかの要因は破棄されます。 図 2.7-2 に多重 EIT 処理の例を示します。 図 2.7-2 多重 EIT 処理 メインルーチン NMIのハンドラ INT命令 のハンドラ 優先度 (高) NMI発生 ①最初に実行 (低) INT命令実行 ②次に実行 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 59 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) 2.7.6 MB91313A シリーズ EIT の動作 FR ファミリの各動作について説明します。 以降の説明で , 転送元の「PC」とは各 EIT 要因を検出した命令のアドレスを示すも のとします。また , 「次の命令のアドレス」は , EIT を検出した命令によって以下の ようになります。 • LDI:32 のとき……PC + 6 • LDI:20, COPOP, COPLD, COPST, COPSV のとき……PC + 4 • その他の命令のとき……PC + 2 ■ ユーザ割込み・NMI の動作 ユーザ割込みまたはユーザ用 NMI の割込み要求が発生すると , 以下の順序で要求受理 の可否が判定されます。 [ 割込み要求受理の可否判定 ] 1) 同時に発生した要求の割込みレベルを比較し , 最も強いレベル ( 最も小さい数 値 ) を保持するものが選択されます。 比較に使用されるレベルは, マスク可能割込みについては対応するICRの保持す る値が使用されます。NMI についてはあらかじめ定められた定数が使用されま す。 2) 同じレベルを持つ割込み要求が複数発生しているときは , 最も若い割込み番号 を持つ割込み要求が選択されます。 3) 割込みレベル≧レベルマスク値のとき , 割込み要求はマスクされ受理されない。 割込みレベル<レベルマスク値のとき , 4) へ。 4) 選択された割込み要求がマスク可能割込みであるとき , I フラグが "0" ならば割 込み要求はマスクされ , 受理されません。I フラグが "1" ならば 5) へ。 選択された割込み要求が NMI であるとき , I フラグの値にかかわらず 5) へ。 5) 上記の条件が成立したとき , 命令処理の切れ目で割込み要求が受理されます。 EIT 要求検出時にユーザ割込み・NMI の要求が受理されると , 受理された割込み要求に 対応した割込み番号を使用して , CPU は以下のように動作します。 ( 注意事項 ) [ 動作 ] における ( ) はレジスタの指すアドレスを表します。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) 次の命令のアドレス → (SSP) 5) 受理した要求の割込みレベル → ILM 6) "0" → S フラグ 7) (TBR +受理した割込み要求のベクタオフセット ) → PC 60 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) 割込みシーケンス終了後ハンドラの先頭の命令を実行する前に , 新たな EIT の検出を 行います。この時点で受理可能な EIT が発生していると , CPU は EIT 処理シーケンス に遷移します。 ユーザ割込み , または NMI 要因が発生している状態で割込みを許可するために OR CCR, ST ILM, および MOV Ri,PS の各命令が実行されると , 割込みハンドラの前後で上記命 令が 2 回実行される場合があります。ただし , CPU 内のレジスタに対して , 同じ値を 2 度設定するだけですので , 動作に問題ありません。 EIT 処理ルーチン内では EIT 分岐前処理を行わないでください。 ■ INT 命令の動作 INT #u8 : u8 で示されるベクタの割込みハンドラへ分岐します。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) PC + 2 → (SSP) 5) "0" → I フラグ 6) "0" → S フラグ 7) (TBR + 3FCH − 4 × u8) → PC ■ INTE 命令の動作 INTE : ベクタ番号 #9 のベクタの割込みハンドラへ分岐します。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) PC + 2 → (SSP) 5) "00100" → ILM 6) "0" → S フラグ 7) (TBR + 3D8H) → PC INTE 命令 , およびステップトレーストラップの処理ルーチン中では , INTE 命令は使用 しないでください。また , ステップ実行中は INTE による EIT の発生はありません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 61 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) MB91313A シリーズ ■ ステップトレーストラップの動作 PS 中の SCR における T フラグをセットしてステップトレースの機能をイネーブルに しておくと , 1 命令実行ごとにトラップが発生し , ブレークします。 [ ステップトレーストラップ検出の条件 ] 1) T フラグ = 1 2) 遅延分岐命令ではない 3) INTE 命令 , ステップトレーストラップの処理ルーチン以外を実行中 以上の条件が成立すると , 命令動作の切れ目でブレークします。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) 次の命令のアドレス → (SSP) 5) "00100B" → ILM 6) "0" → S フラグ 7) (TBR + 3CCH) → PC Tフラグをセットしてステップトレーストラップをイネーブルにしたとき, ユーザ用の NMI とユーザ割込みは禁止状態となります。また , INTE 命令による EIT は発生しなく なります。 FR ファミリでは , T フラグをセットした次の命令からトラップが発生します。 ■ 未定義命令例外の動作 命令のデコード時に未定義命令であることを検出すると , 未定義命令例外が発生しま す。 [ 未定義命令例外の検出条件 ] 1) 命令のデコード時に , 未定義命令であることを検出 2) 遅延スロット外に置かれている ( 遅延分岐命令の直後ではない ) 以上の条件が成立すると未定義命令例外が発生し , ブレークします。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) PC → (SSP) 5) "0" → S フラグ 6) (TBR + 3C4H) → PC PC として退避されるのは , 未定義命令例外を検出した命令自身のアドレスです。 62 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.7 EIT ( 例外・割込み・トラップ ) ■ コプロセッサ不在トラップ 実装していないコプロセッサを使用するコプロセッサ命令を実行すると , コプロセッ サ不在トラップが発生します。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) 次の命令のアドレス → (SSP) 5) "0" → S フラグ 6) (TBR + 3E0H) → PC ■ コプロセッサエラートラップ コプロセッサを使用するしているときにエラーが発生した場合 , 次にそのコプロセッ サを操作するコプロセッサ命令を実行したとき , コプロセッサエラートラップが発生 します。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) 次の命令のアドレス → (SSP) 5) "0" → S フラグ 6) (TBR + 3DCH) → PC ■ RETI 命令の動作 RETI 命令は , EIT 処理ルーチンから復帰する命令です。 [ 動作 ] 1) (R15) → PC 2) R15 + 4 → R15 3) (R15) → PS 4) R15 + 4 → R15 RETI 命令は , S フラグが "0" の状態で実行する必要があります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 63 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) 2.8 MB91313A シリーズ リセット ( デバイスの初期化 ) 初期化であるリセット動作について説明します。 ■ リセット ( デバイス初期化 ) の概要 リセット要因が発生すると , デバイスはすべてのプログラムおよびハードウェア動作 を停止し , 状態を初期化します。この状態をリセット状態とよびます。 リセット要因の消失により , デバイスは初期状態からプログラムおよびハードウェア 動作を開始します。このリセット状態から動作開始に至る一連の動作をリセットシー ケンスとよびます。 64 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 2.8.1 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) リセットレベル FR ファミリのリセット動作は , 2 種類のレベルに分かれており , それぞれ発生要因 および初期化の内容が異なります。 各リセットレベルについて説明します。 ■ 設定初期化リセット (INIT) すべての設定を初期化する最強レベルのリセットを設定初期化リセット (INIT) とよび ます。 設定初期化リセット (INIT) により初期化される主な内容は , 以下のとおりです。 [ 設定初期化リセット (INIT) による初期化箇所 ] • デバイスの動作モード ( バスモードおよび外部バス幅の設定 ) • 内部クロックに関するすべての設定 ( クロックソース選択 , PLL 制御 , 分周比設 定) • 外部バスの CS0 領域に関するすべての設定 • その他の端子状態に関するすべての設定 • 動作初期化リセット (RST) で初期化されるすべての箇所 詳細はそれぞれの機能の説明を参照してください。 なお , 電源投入後は必ず INITX 端子にて設定初期化リセット (INIT) をかけてください。 ■ 動作初期化リセット (RST) プログラム動作を初期化する通常レベルのリセットを動作初期化リセット (RST) とよ びます。 設定初期化リセット (INIT) 時には , 同時に動作初期化リセット (RST) も発生します。 動作初期化リセット (RST) により初期化される主な内容は , 以下のとおりです。 [ 動作初期化リセット (RST) による初期化箇所 ] • プログラム動作 • CPU および内部バス • 周辺回路のレジスタ設定値 • IO ポート設定 • 外部バスの CS0 領域に関するすべての設定 詳細はそれぞれの機能の説明を参照してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 65 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) 2.8.2 MB91313A シリーズ リセット要因 各リセット発生要因と発生するリセットレベルについて説明します。 過去に発生したリセット要因は , RSRR ( リセット要因レジスタ ) を読み出すことで 確認できます ( 各説明にあるレジスタ , フラグの詳細な説明は , 「2.9.5 クロック生 成制御部のブロックダイヤグラム」および「2.9.6 クロック生成制御部のレジスタ」 を参照 ) 。 ■ INITX 端子入力 ( 設定初期化リセット端子 ) 外部端子の INITX 端子は , 設定初期化リセット端子として機能します。 本端子へ"L"レベル入力を行っている間, 設定初期化リセット(INIT)要求が発生します。 本端子へ "H" レベルを入力することにより , 設定初期化リセット (INIT) 要求は解除さ れます。 本端子要求による設定初期化リセット (INIT) が発生した場合 , RSRR ( リセット要因レ ジスタ ) 中の bit15:INIT ビットがセットされます。本端子要求による設定初期化リセッ ト (INIT) は , すべてのリセット要因中で最強のものであり , すべての入力・動作・状態 よりも優先されます。 なお , 電源投入直後は必ず INITX 端子にて設定初期化リセット (INIT) をかけてくださ い。また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INITX 端子 への "L" レベル入力を発振回路の要求する安定待ち時間の間持続してください (INITX 端子による INIT では , 発振安定待ち時間の設定は最小値に初期化されています ) 。 • 発生要因 : 外部 INITX 端子への "L" レベル入力 • 解除要因 : 外部 INITX 端子への "H" レベル入力 • 発生レベル : 設定初期化リセット (INIT) • 対応フラグ : bit15:INIT ■ STCR:SRST ビット書込み ( ソフトウェアリセット ) STCR ( スタンバイ制御レジスタ ) 中の bit4:SRST ビットに "0" が書き込まれると , ソフ トウェアリセット要求が発生します。 ソフトウェアリセット要求は , 動作初期化リセット (RST) 要求です。 要求が受け付けられ動作初期化リセット (RST) が発生するとソフトウェアリセット要 求は解除されます。 ソフトウェアリセット要求による動作初期化リセット (RST) が発生した場合 , RSRR ( リセット要因レジスタ ) 中の bit11:SRST ビットがセットされます。 ソフトウェアリセット要求による動作初期化リセット (RST) は , TBCR ( タイムベース カウンタ制御レジスタ ) 中の bit9:SYNCR ビットがセットされている場合 ( 同期リセッ トモード ) , すべてのバスアクセスを停止しないと発生しません。 このため, バスの使用状況により動作初期化リセット(RST)が発生するまでに長時間を 要する場合があります。 同期モードのソフトウェアリセットの使用はTBCR (タイムベースカウンタ制御レジス タ ) の bit9: SYNCR ビットの制限事項を参照してください。 66 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) • 発生要因 : STCR ( スタンバイ制御レジスタ ) 中の bit4:SRST ビットへの "0" が書込み • 解除要因 : 動作初期化リセット (RST) の発生 • 発生レベル : 動作初期化リセット (RST) • 対応フラグ : bit11:SRST ■ ウォッチドッグリセット RSRR ( ウォッチドッグタイマ制御レジスタ ) に対し書込みを行うと , ウォッチドッグ タイマが起動します。その後 , RSRR 中の bit9, bit8:WT1, WT0 ビットにて設定した周期 内に WPR ( ウォッチドッグリセット発生延期レジスタ ) への "A5H"/"5AH" 書込みが行 われないと , ウォッチドッグリセット要求が発生します。 ウォッチドッグリセット要求は , 設定初期化リセット (INIT) 要求です。要求が受け付 けられ設定初期化リセット (INIT) が発生するか , または動作初期化リセット (RST) が 発生すると , ウォッチドッグリセット要求は解除されます。 ウォッチドッグリセット要求による設定初期化リセット (INIT) が発生した場合 , RSRR ( リセット要因レジスタ ) 中の bit13:WDOG ビットがセットされます。 なお , ウォッチドッグリセット要求による設定初期化リセット (INIT) が発生した場合 では , 発振安定待ち時間の設定は初期化されません。 • 発生要因 : ウォッチドッグタイマの設定周期経過 • 解除要因 : 設定初期化リセット (INIT) または動作初期化リセット (RST) の発生 • 発生レベル : 設定初期化リセット (INIT) • 対応フラグ : bit13:WDOG CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 67 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) 2.8.3 MB91313A シリーズ リセットシーケンス リセット要因の消失により , デバイスはリセットシーケンスの実行を開始します。 リセットシーケンスは , リセットレベルによりそれぞれ動作内容が異なります。 ここでは , 各リセットレベルにおけるリセットシーケンスの動作内容について説明 します。 ■ 設定初期化リセット (INIT) 解除シーケンス 設定初期化リセット (INIT) 要求が解除されると , デバイスは以下の動作を順に実行し ます。 1) 設定初期化リセット (INIT) の解除 , 発振安定待ち状態へ遷移 2) 発振安定待ち時間 (STCRのbit3, bit2:OS1, OS0にて設定) の間, 動作初期化リセッ ト (RST) 状態を保持 , 内部クロック停止 3) 動作初期化リセット (RST) 状態 , 内部クロック動作開始 4) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移 5) 000FFFF8H 番地より , モードベクタの読出し 6) 000007FDH 番地の MODR ( モードレジスタ ) へ , モードベクタの書込み 7) 000FFFFCH 番地より , リセットベクタの読出し 8) PC ( プログラムカウンタ ) へ , リセットベクタの書込み 9) PC ( プログラムカウンタ ) の示す番地より , プログラム動作開始 ■ 動作初期化リセット (RST) 解除シーケンス 動作初期化リセット(RST)要求が解除されると, デバイスは以下の動作を順に実行しま す。 1) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移 2) 000FFFF8H 番地より , モードベクタの読出し 3) 000007FDH 番地の MODR ( モードレジスタ ) へ , モードベクタの書込み 4) 000FFFFCH 番地より , リセットベクタの読出し 5) PC ( プログラムカウンタ ) へ , リセットベクタの書込み 6) PC ( プログラムカウンタ ) の示す番地より , プログラム動作開始 68 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 2.8.4 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) 発振安定待ち時間 デバイスの原発振が停止していたか , またはその可能性がある状態から復帰したと き , 自動的に発振安定待ち状態に遷移します。 本機能により発振開始後の安定していない発振器出力を使用しないようにします。 発振安定待ち時間中は , 内部および外部へのクロック供給は停止し , 内蔵タイムベー スカウンタのみが動作して , STCR ( スタンバイ制御レジスタ ) にて設定された安定 待ち時間の経過を待ちます。 ここでは , 発振安定待ち動作の詳細について説明します。 ■ 発振安定待ち発生要因 発振安定待ち発生要因を , 以下に示します。 ● 設定初期化リセット (INIT) の解除時 各種要因による設定初期化リセット (INIT) が解除された直後に , 発振安定待ち状態へ 遷移します。 発振安定待ち時間経過後は , 動作初期化リセット (RST) 状態へ遷移します。 ● ストップモードからの復帰時 ストップモードが解除された直後に , 発振安定待ち状態へ遷移します。ただし , 設定初 期化リセット (INIT) 要求により解除された場合は , 設定初期化リセット (INIT) 状態に 遷移し , 設定初期化リセット (INIT) が解除された後 , 発振安定待ち状態へ遷移します。 発振安定待ち時間経過後は , ストップモードが解除された要因に対応した状態へと遷 移します。 • 有効な外部割込み要求入力 (NMI 含む ) および , 時計タイマ / メイン発振安定待ちタ イマ割込みの発生による復帰時 : 通常動作状態へ遷移します。 • 設定初期化リセット (INIT) 要求による復帰時 : 動作初期化リセット (RST) 状態へ遷移します。 ● PLL 選択時の異常状態の発生からの復帰時 PLL をソースクロックとして動作しているときに , PLL 制御に何らかの異常 * が発生し た場合 , PLL ロックタイムの確保のために , 自動的に発振安定待ち時間に遷移します。 発振安定待ち時間経過後は , 通常動作状態へ遷移します。 * : PLL 使用中の逓倍率変更や , PLL 動作許可ビット化けの発生など。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 69 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) MB91313A シリーズ ● サブクロックでメイン発振停止中のウォッチドッグリセット発生時 サブクロックをソースクロックとして動作しているときに , OSCCR ( 発振制御レジス タ ) の bit8:OSCDS1 ビットによってメイン発振停止中にウォッチドッグリセットが発 生した場合 , リセット (INIT) が解除された直後に発振安定待ち状態に遷移します。 発振安定待ち時間経過後は , 動作初期化リセット (RST) 状態へ遷移します。 なお , サブクロックで OSCDS1 ビットが "0" のときおよびメインクロック時は発振安 定待ちは行いません。 ■ 発振安定待ち時間の選択 発振安定待ち時間は , 内蔵タイムベースカウンタを用いて時間計測されます。 発振安定待ち発生要因が発生し , 発振安定待ち状態へ遷移すると , 内蔵タイムベースカ ウンタはいったん初期化された後 , 発振安定待ち時間の計測を開始します。 STCR ( スタンバイ制御レジスタ ) の bit3, bit2:OS1, OS0 ビットにより , 発振安定待ち時 間を 4 種類のうちから選択して設定することができます。 いったん選択した設定は , 外部 INITX 端子による設定初期化リセット (INIT) 以外では 初期化されません。それ以外のウォッチドッグリセットによる設定初期化リセット (INIT) や , 動作初期化リセット (RST) では , リセット発生以前に設定した発振安定待ち 時間が保持されます。 70 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 2.8.5 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) リセット動作モード 動作初期化リセット (RST) には , 通常 ( 非同期 ) リセットモードと同期リセットモー ドの 2 つのモードがあり , TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットによってどちらのモードで動作するかを設定します。 この設定は , 設定初期化リセット (INIT) のみで初期化されます。 設定初期化リセット (INIT) は , 常に非同期でリセット動作を行います。 ■ 通常リセット動作 動作初期化リセット (RST) 要求が発生した際に , 即座に動作初期化リセット (RST) 状態 への遷移を行う動作を通常リセット動作とよびます。 リセット (RST) 要求が受け付けられると , 内部バスアクセスの動作状態にかかわらず , 即時にリセット (RST) 状態へ遷移します。 各状態へ遷移する時点で行われていたバスアクセスは , その結果を保証できません。し かし , それら要求を確実に受け付けることが可能です。 TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットが "0" のとき , 通 常リセットモードとなります。 設定初期化リセット (INIT) の発生後の初期値は , 通常リセットモードとなります。 ■ 同期リセット動作 動作初期化リセット(RST)要求が発生した際に, すべてのバスアクセスが停止してから 動作初期化リセット (RST) 状態への遷移を行う動作を同期リセット動作とよびます。 リセット (RST) 要求が受け付けられても , 内部バスアクセスが行われている間は , リ セット (RST) 状態への遷移は行いません。 上記要求が受け付けられると , 内部バスに対してスリープ要求が発行されます。各バス が動作を切り上げてスリープ状態に移行すると, 動作初期化リセット(RST)状態へ遷移 します。 各状態へ遷移する時点で , すべてのバスアクセスが停止しているため , すべてのバスア クセスの結果を保証できます。しかし , バスアクセスが何らかの理由で停止しない場合 , その間各要求を受け付けることができなくなります ( このような場合でも, 設定初期化 リセット (INIT) は即座に有効となります ) 。 バスアクセスが停止しない要因には以下のものがあげられます。 • 外部拡張バスインタフェースに対し RDY ( レディ要求 ) が入力され続け , バスウェ イトが有効となっている場合 ( また , 以下の場合においては , 最終的には各状態へ遷 移しますが , 遷移するまでに長時間かかってしまいます ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 71 第 2 章 CPU および制御部 2.8 リセット ( デバイスの初期化 ) MB91313A シリーズ <参考> • 同期モードのソフトウェアリセットの使用はTBCR (タイムベースカウンタ制御レジス タ ) の bit9: SYNCR ビットの制限事項を参照してください。 • DMA コントローラについては , 各要求の受付けにより転送停止を行いますので , 各状 態への遷移を遅延させることはありません。 • TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットが "1" のとき , 同 期リセットモードとなります。 • 同期モードでソフトウェアリセットを使うために , TBCR( タイムベースカウンタ制御 レジスタ ) 中の bit9:SYNCR ビットの制限を参照してください。 設定初期化リセット (INIT) の発生後の初期値は , 通常リセットモードに戻ります。 72 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ 2.9 クロック生成制御 クロック生成制御について説明します。 ■ 内部動作クロックの生成 内部動作クロックは , 以下のようにして生成されます。 • ソースクロックの選択 : クロックの供給源を選択します。 • ベースクロックの生成 : ソースクロックを 2 分周または PLL 発振させ , 基本クロックを生成します。 • 各内部クロックの生成 : ベースクロックを分周し , 各部に供給する 4 種類の動作クロックを生成します。 以降 , 各クロック生成とその制御について説明します。 各説明にあるレジスタ , フラグの詳細な説明は , 「2.9.5 クロック生成制御部のブロッ クダイヤグラム」および「2.9.6 クロック生成制御部のレジスタ」を参照してください。 ■ ソースクロックの選択 ソースクロックの選択について説明します。 外部発振端子である X0/X1, X0A/X1A 端子入力に発振子を接続し , 内蔵発振回路にて生 成した原発振がソースクロックとなります。 外部バスクロックを含むすべてのクロック供給源は , 本品種自身となります。 外部発振端子および内蔵発振回路は, メインクロックとサブクロックの2種類を使用で き , 動作中に任意に切り換えて使用することが可能です。 • メインクロック : X0/X1 端子入力から生成し , 高速クロックとして使用することを 想定したものです。 • サブクロック : X0A/X1A 端子入力から生成し , 低速クロックとして使用すること を想定したものです。 メイン , サブそれぞれのクロックは , それぞれ独立に制御可能な内蔵メイン PLL を用 いて逓倍されます。 内部ベースクロックは , 以下のソースクロックのうちから選択して生成します。 • メインクロックを 2 分周したもの • メインクロックをメイン PLL で逓倍したもの • サブクロックそのもの • φ はソースクロックを 2 分周または , PLL 発振させた基本クロックを指します。し たがって , システムベースクロックは , 上記の内部ベースクロック発生のところで , 生成されるクロックです。 ソースクロックの選択制御は , CLKR ( クロックソース制御レジスタ ) の設定によって 行います。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 73 第 2 章 CPU および制御部 2.9 クロック生成制御 2.9.1 MB91313A シリーズ PLL 制御 メインクロックに対応した PLL 発振回路について , 動作 ( 発振 ) 許可・禁止と逓倍 率設定を制御することが可能です。 各制御は , CLKR ( クロックソース制御レジスタ ) の設定によって行います。 ここでは , 各制御内容について説明します。 ■ PLL 動作許可 メイン PLL 発振動作の許可 / 停止は , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットの設定によって行います。 サブクロック発振動作の許可 / 停止は , CLKR ( クロックソース制御レジスタ ) の bit11:PLL2EN ビットの設定によって行います。 PLL1EN, PLL2EN ビットとも , 設定初期化リセット (INIT) 後は "0" に初期化され , PLL の発振動作は停止しています。停止中は , ソースクロックとして PLL 出力を選択する ことはできません。 プログラム動作を開始したら , まずクロックソースとして使用する PLL の逓倍率を設 定し , かつ動作許可した後 , PLL のロック待ち時間経過後にソースクロックを切り換え てください。この際の PLL ロック待ち時間は , タイムベースタイマ割込みを使用する ことをお奨めします。 ソースクロックとして PLL 出力を選択している間は , その PLL は動作停止させること はできません ( レジスタへの書込みは無効となります ) 。ストップモードに移行する際 などで PLL を停止させたい場合は , いったんソースクロックをメインクロックの 2 分 周したものに選択し直した後 , PLL を停止させてください。 なお , STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットや bit1:OSCD2 ビットに より , ストップモード中の発振が停止するように設定してある場合 , 対応する PLL は ストップモード遷移時に自動的に停止しますので , 動作停止を改めて設定する必要は ありません。その後 , ストップモードから復帰する際 , PLL は自動的に発振動作を開始 します。ストップモード中の発振が停止しないように設定してある場合は , PLL は自 動では停止しません。この場合は , 必要であればストップモード移行前にあらかじめ動 作停止を設定してください。 74 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.9 クロック生成制御 ■ PLL 逓倍率 メイン PLL の逓倍率は , CLKR ( クロックソース制御レジスタ ) の bit14 ∼ bit12:PLL1S2, PLL1S1, PLL1S0 ビットによって設定します。 どちらのビットも設定初期化リセット (INIT) 後は全ビット "0" に初期化されています。 [PLL 逓倍率設定 ] PLL 逓倍率設定を初期値から変更する場合 , プログラム動作開始後 , PLL を動作許 可する前または同時に設定してください。逓倍率変更後は , ロック待ち時間経過後 にソースクロックを切り換えてください。この際の PLL ロック待ち時間は , タイム ベースタイマ割込みを使用することをお奨めします。 動作中に PLL 逓倍率設定を変更する場合 , いったんソースクロックを該当 PLL 以外 に切り換えてから変更してください。逓倍率変更後は , 上記同様にロック待ち時間 経過後にソースクロックを切り換えてください。 PLL 逓倍率設定の変更を , PLL 使用中に変更することも可能ですが , この際は逓倍 率設定書換え後から自動的に発振安定待ち状態に遷移し , 設定された発振安定待ち 時間が経過するまでの間はプログラム動作が停止します。PLL 以外にクロックソー スを切り換えた場合は , プログラム動作は停止しません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 75 第 2 章 CPU および制御部 2.9 クロック生成制御 2.9.2 MB91313A シリーズ 発振安定待ち /PLL ロック待ち時間 ソースクロックとして選択するクロックが安定動作状態にない場合 , 発振安定待ち 時間が必要となります (「2.8.4 発振安定待ち時間」を参照 ) 。 PLL については , 動作開始後 , 設定された周波数に出力が安定するまでにはロック待 ち時間が必要となります。 ここでは , 各種ケースにおける待ち時間について説明します。 ■ 電源投入後の待ち時間 電源投入後は , INITX 端子入力 ( 設定初期化リセット端子 ) へ "L" レベルを入力する必 要があります。この状態では , PLL はいずれも動作許可されていないため , ロック待ち 時間を考慮する必要がありません。 ■ 設定初期化後の待ち時間 設定初期化リセット (INIT) が解除されると , 発振安定待ち状態へ遷移します。設定さ れた発振安定待ち時間は内部的に発生します。 この状態では , PLL はいずれも動作許可されていないため , ロック待ち時間を考慮する 必要がありません。 ■ PLL 動作許可後の待ち時間 プログラム動作開始後 , 停止状態の PLL を動作許可した場合 , ロック待ち時間が経過 するまで PLL 出力を使用しないでください。 ソースクロックとして該当する PLL を選択していなければ , ロック待ち時間中もプロ グラム動作は実行可能です。 PLL ロック待ち時間は , タイムベースタイマ割込みを使用することをお奨めします。 ■ PLL 逓倍率変更後の待ち時間 プログラム動作開始後 , 動作状態の PLL の逓倍率設定を変更した場合も , ロック待ち 時間が経過するまで PLL 出力を使用しないでください。 ソースクロックとして該当する PLL を選択していなければ , ロック待ち時間中もプロ グラム動作は実行可能です。 PLL ロック待ち時間に , タイムベースタイマ割込みを使用できます。 76 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.9 クロック生成制御 ■ ストップモード復帰後の待ち時間 プログラム動作開始後 , ストップモード遷移を解除する場合 , プログラムにて設定され た時間の発振安定待ち時間を内部的に発生します。 ストップモード中に , ソースクロックとして選択しているクロック用発振回路を停止 させる設定の場合 , その発振回路の発振安定待ち時間と使用している PLL のロック待 ち時間のうち長い方の時間が必要となります。ストップモードに遷移させる前に , あら かじめ発振安定待ち時間を設定しておいてください。 ストップモード中に , ソースクロックとして選択しているクロック用発振回路を停止 させない設定の場合 , PLL は自動で動作停止しません。したがって , PLL を停止させな い限り発振安定待ち時間は必要ありません。ストップモードに遷移させる前に , あらか じめ発振安定待ち時間を最小値に設定しておくことをお奨めします。 ■ サブクロックからメインクロック切換え後の待ち時間 サブクロックからメインクロックに切り換えた後に PLL を使用する場合 , CLKR ( ク ロックソースレジスタ ) の bit2-PLL1EN の値にかかわらず , ロック待ち時間が経過する まで PLL 出力を使用しないでください。 ソースクロックとして該当する PLL を選択していなければ , ロック待ち時間中もプロ グラム動作は実行可能です。 PLL ロック待ち時間は , タイムベースタイマ割込みを使用することをお奨めします。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 77 第 2 章 CPU および制御部 2.9 クロック生成制御 2.9.3 MB91313A シリーズ クロック分配 ソースクロックより生成されたベースクロックを元に , 各機能用の動作クロックを それぞれ作成します。 内部動作クロックは全部で 3 種類あり , それぞれが独立に分周比を設定することが できます。 ■ CPU クロック (CLKB) CPU と内部メモリおよび内部バスに使用されるクロックです。 本クロックを使用する回路には , 以下のようなものがあります。 • CPU • 内蔵 RAM, 内蔵 ROM • ビットサーチモジュール • I-bus, D-bus, X-bus, F-bus • DMA コントローラ • DSU 動作可能な上限周波数は 33MHz ですので , これを超える周波数になる逓倍率と分周比 の組合せは設定しないでください。 ■ 周辺クロック (CLKP) 周辺回路およびペリフェラルバスに使用されるクロックです。 本クロックを使用する回路には , 以下のようなものがあります。 • ペリフェラル ( 周辺 ) バス • クロック制御部 ( バスインタフェース部のみ ) • 割込みコントローラ • 周辺 I/O ポート • I/O ポートバス • 外部割込み入力 • UART • 16 ビットタイマ • A/D コンバータ • フリーランタイマ • リロードタイマ • アップダウンカウンタ • インプットキャプチャ • アウトプットコンペア • I2C インタフェース • PPG 動作可能な上限周波数は 33MHz ですので , これを超える周波数になる逓倍率と分周比 の組合せは設定しないでください。 78 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.9 クロック生成制御 ■ 外部バスクロック (CLKT) 外部拡張バスインタフェースに使用されるクロックです。 本クロックを使用する回路には , 以下のようなものがあります。 • 外部拡張バスインタフェース • 外部 CLK 出力 動作可能な上限周波数は 16.5MHz ですので , これを超える周波数になる逓倍率と分周 比の組合せは設定しないでください。 <注意事項> CPU の処理能力はウェイトレジスタ (FLWC) の設定にも影響を受けます。必ず本レジス タの設定を最適な値にしてご利用ください。「18.2.2 ウェイトレジスタ (FLWC)」もご参 照ください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 79 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ クロック分周 2.9.4 各内部動作クロックは , それぞれ独立に , ベースクロックからの分周比を設定するこ とができます。この機能により , 各回路に最適な動作周波数を設定することができ ます。 ■ 分周比の設定 分周比は , DIVR0 ( 基本クロック分周設定レジスタ 0) および DIVR1 ( 基本クロック分 周設定レジスタ 1) にて設定します。 各レジスタには各クロックに対応する 4 ビットずつの設定ビットがあり , ( レジスタ設 定値+ 1) がそのクロックのベースクロックに対する分周比となります。分周比設定が 奇数であっても , 常にデューティは 50 となります。 設定値の変更があった場合 , 次のクロックの立上りから変更後の分周比が有効となり ます。 ■ 分周比設定の初期化 分周比設定は , 動作初期化リセット (RST) の発生では初期化されず , リセット発生前の 設定が維持されます。設定初期化リセット (INIT) の発生によってのみ初期化されます。 初期状態では , 周辺クロック (CLKP) 以外はすべて分周比が "1" となりますので , ソー スクロックを高速なものに変更する前に必ず分周比の設定を行ってください。 <注意事項> 各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , PLL の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は 保証されません。特に , ソースクロック選択の変更設定との順序を間違えないようにご注 意願います。 80 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ クロック生成制御部のブロックダイヤグラム 2.9.5 図 2.9-1 に , クロック生成制御部のブロックダイヤグラムを示します。 図中のレジスタの詳細な説明は , 「2.9.6 クロック生成制御部のレジスタ」を参照し てください。 ■ クロック生成制御部のブロックダイヤグラム 図 2.9-1 クロック生成制御部のブロックダイヤグラム [クロック生成部] CPUクロック分周 周辺クロック分周 b u s セレクタ メインクロック 発振安定待ち タイマ (サブクロック 選択時用) セレクタ R 外部バスクロック分周 停止制御 セレクタ DIVR0,1レジスタ CPUクロック (CLKB) 周辺クロック (CLKP) 外部バスクロック (CLKT ) CLKRレジスタ X0 X1 セレクタ 発振回路 PLL X0A 発振回路 X1A リアルタイムクロック 1/2 ベースクロック (φ) [ストップ・スリープ制御部] 時計 タイマ ストップ状態 STGRレジスタ 内部割込み 状態遷移 制御回路 内部リセット スリープ状態 リセット発生 FF リセット発生 FF 内部リセット(RST) 内部リセット(INIT) [リセット要因回路] INITX RSRRレジスタ [ ウォッチドッグ制御部] WPRレジスタ ウォッチドッグFF CTBRレジスタ タイムベースカウンタ カウンタクロック セレクタ TBCRレジスタ オーバフロー検出FF 割込み許可 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED タイムベースタイマ 割込み要求 81 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ クロック生成制御部のレジスタ 2.9.6 クロック生成制御部のレジスタについて説明します。 ■ RSRR : リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ リセット要因レジスタおよびウォッチドッグタイマ制御レジスタのレジスタ構成は , 以下のとおりです。 RSRR bit アドレス : 000480H 初期値 (INITX 端子 ) 初期値 (INIT) 初期値 (RST) 15 14 13 12 11 10 9 8 INIT (R) 1 * X 予約 (R) 0 * X WDOG (R) 0 * X 予約 (R) 0 X * SRST (R) 0 X * 予約 (R) 0 * X WT1 (R/W) 0 0 0 WT0 (R/W) 0 0 0 * :要因により初期化されます。 R/W:リード / ライト可能 R :リードオンリ X :不定値 直前に発生したリセットの要因の保持 , およびウォッチドッグタイマの周期設定およ び起動制御を行うレジスタです。 本レジスタを読むと , 保持されたリセット要因は読出し後にクリアされます。読み出す までの間に複数回のリセットが発生した場合 , リセット要因フラグは累積され , 複数の フラグがセットされることになります。 本レジスタに書き込むと , ウォッチドッグタイマが起動されます。それ以降は , リセッ ト (RST) が発生するまで , ウォッチドッグタイマは動作を続けます。 [bit15] INIT : 外部リセット発生フラグ INITX 端子入力によるリセット (INIT) の発生の有無を示します。 値 内容 0 INITX 端子入力による INIT は発生していません。 1 INITX 端子入力による INIT が発生しました。 • 読出し直後に "0" にクリアされます。 • 読出し可能で , 書込みはビット値に影響を与えません。 [bit14] 予約 : 予約ビット 予約ビットです。 82 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit13] WDOG : ウォッチドッグリセット発生フラグ ウォッチドッグタイマによるリセット (INIT) の発生の有無を示します。 値 内容 0 ウォッチドッグタイマによる INIT は発生していません。 1 ウォッチドッグタイマによる INIT が発生しました。 • 電源投入時の INITX 端子入力によるリセット (INIT), または読出し直後に "0" に クリアされます。 • 読出し可能で , 書込みはビット値に影響を与えません。 [bit12] 予約 : 予約ビット 予約ビットです。 [bit11] SRST : ソフトウェアリセット発生フラグ STCRレジスタのSRSTビット書込み (ソフトウェアリセット) によるリセット(RST) の発生の有無を示します。 値 内容 0 ソフトウェアリセットによる RST は発生していません。 1 ソフトウェアリセットによる RST が発生しました。 • 電源投入時の INITX 端子入力によるリセット (INIT), または読出し直後に "0" に クリアされます。 • 読出し可能で , 書込みはビット値に影響を与えません。 • 同期モードのソフトウェアリセットを使用する場合 , TBCR ( タイムベースカウ ンタ制御レジスタ ) の bit9: SYNCR ビットの制限事項を参照してください。 [bit10] 予約 : 予約ビット 予約ビットです。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 83 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit9, bit8] WT1, WT0 : ウォッチドッグタイマインターバル時間選択ビット ウォッチドッグタイマの周期を設定します。 本ビットに書き込む値により , ウォッチドッグタイマの周期を下表に示す 4 種類の うちから選択します。 WPR への最終 5AH 書込み ウォッチドッグリセットの 発生を抑止するために最低限 必要な WPR への書込み間隔 WT1 WT0 0 0 φ × 220 ( 初期値 ) φ × 220 ∼ φ × 221 0 1 φ × 222 φ × 222 ∼ φ × 223 1 0 φ × 224 φ × 224 ∼ φ × 225 1 1 φ × 226 φ × 226 ∼ φ × 227 からウォッチドッグリセット が発生するまでの時間 (φ はシステムベースクロックの周期 ) • リセット (RST) により "00B" に初期化されます。 • 読出し可能です。書込みはリセット (RST) 後 1 回のみ有効で , それ以降の書込み は無効です。 84 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ■ STCR : スタンバイ制御レジスタ スタンバイ制御レジスタのレジスタ構成は , 以下のとおりです。 STCR bit 7 アドレス : 000481H 6 STOP SLEEP 5 4 3 2 HIZ SRST OS1 OS0 1 0 OSCD2 OSCD1 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値 (INITX 端子 ) 0 0 1 1 0 0 1 1 初期値 (INIT) 0 0 1 1 X X 1 1 初期値 (RST) 0 0 X 1 X X X X R/W:リード / ライト可能 デバイスの動作モードを制御するレジスタです。 ストップ , スリープの 2 つのスタンバイモードへの遷移 , ストップモード中の端子およ び発振停止制御を行うほか , 発振安定待ち時間の設定 , ソフトウェアリセットの発行を 行います。 <注意事項> スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ 制御レジスタの bit8 SYNCS ビットにて設定します ) を使用した上で , 以下のシーケンス を必ず使用してください。 (LDI#value_of_standby,R0) ;value_of_standby は , STCR への書込みデータ (LDI#_STCR,R12) ;_STCR は , STCR のアドレス (481H) STB ;スタンバイ制御レジスタ (STCR) への書込み R0,@R12 LDUB @R12,R0 ;同期スタンバイのための STCR 読出し LDUB @R12,R0 ;もう一度 STCR をダミーリード NOP ; タイミング調整用の NOP × 5 NOP NOP NOP NOP [bit7] STOP : STOP モードビット ストップモードへの遷移を指示します。bit6:SLEEP ビットと本ビット両方に "1" を 書き込んだ場合は , 本ビットの方が優先となり , ストップモードへ遷移します。 値 内容 0 ストップモードへの遷移は行いません [ 初期値 ] 。 1 ストップモードへ遷移します。 • リセット (RST) およびストップ復帰要因により "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 85 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit6] SLEEP : SLEEP モードビット スリープモードへの遷移を指示します。bit7:STOP ビットと本ビット両方に "1" を書 き込んだ場合は, bit7:STOPビットの方が優先となり, ストップモードへ遷移します。 値 内容 0 スリープモードへの遷移は行いません [ 初期値 ] 。 1 スリープモードへ遷移します。 • リセット (RST) およびスリープ復帰要因により "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit5] HIZ : Hi-Z モードビット ストップモード時の端子状態を制御します。 値 内容 0 ストップモード遷移前の端子状態を維持します。 1 ストップモード中は端子出力をハイインピーダンス状態にします [ 初期値 ] 。 • リセット (INIT) により "1" に初期化されます。 • 読出しおよび書込みが可能です。 [bit4] SRST : ソフトウェアリセットビット ソフトウェアリセット (RST) の発行を指示します。 値 内容 0 ソフトウェアリセットを発行します。 1 ソフトウェアリセットの発行は行いません [ 初期値 ] 。 • リセット (RST) により "1" に初期化されます。 • 読出しおよび書込みが可能です。読出し値は , 常に "1" となります。 • 同期モードのソフトウェアリセットを使用する場合 , TBCR ( タイムベースカウ ンタ制御レジスタ ) の bit9: SYNCR ビットの制限事項を参照してください。 86 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit3, bit2] OS1, OS0 : 発振安定待ち時間選択ビット リセット (INIT) 後 , およびストップモード復帰後などにおける発振安定待ち時間を 設定します。 本ビットに書き込む値により , 発振安定待ち時間を下表に示す 4 種類のうちから選 択します。 OS1 OS0 発振安定待ち時間 0 0 φ × 21 [ 初期値 ] 0.242μs 125μs 0 1 φ × 211 0.248ms 128ms 1 0 φ × 216 7.94ms 4s 1 1 φ × 222 508ms 262s 原発振 16.5MHz の場合 サブ 32kHz の場合 φ はシステムベースクロックの周期 , この場合は原発振入力の 2 倍の周期 • INITX 端子入力によるリセット (INIT) により "00B" に初期化されます。 • 読出しおよび書込みが可能です。 [bit1] OSCD2 : サブ発振停止ビット ストップモード時での , サブ発振の発振停止を制御します。 値 内容 0 ストップモード中もサブ発振は停止しません。 1 ストップモード中はサブ発振を停止します [ 初期値 ] 。 • リセット (INIT) により "1" に初期化されます。 • 読出しおよび書込みが可能です。 [bit0] OSCD1 : メイン発振停止ビット ストップモード時での , メイン発振の発振停止を制御します。 値 内容 0 ストップモード中もメイン発振は停止しません。 1 ストップモード中はメイン発振を停止します [ 初期値 ] 。 • リセット (INIT) により "1" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 87 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ■ TBCR : タイムベースカウンタ制御レジスタ タイムベースカウンタ制御レジスタのレジスタ構成は , 以下のとおりです。 TBCR bit 15 14 13 12 11 10 初期値 (INIT) TBIF R/W 0 TBIE R/W 0 TBC2 R/W X TBC1 R/W X TBC0 R/W X 予約 R/W X 初期値 (RST) 0 0 X X X X アドレス : 000482H 9 8 SYNCR SYNCS R/W R/W 0 0 X X R/W:リード / ライト可能 タイムベースタイマ割込みなどを制御するレジスタです。 タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択 , およびリセット動 作のオプション機能の設定を行います。 [bit15] TBIF : タイムベースタイマ割込みフラグ タイムベースタイマ割込みフラグです。 タイムベースカウンタが設定されたインターバル時間 (bit13∼bit11: TBC2∼TBC0 ビットにて設定 ) を経過したことを示します。 bit14:TBIE ビットにより割込み発生が許可 (TBIE=1) されているときに , 本ビットが "1" になると , タイムベースタイマ割込み要求が発生します。 クリア要因 命令による "0" の書込み セット要因 設定されたインターバル時間の経過 ( タイムベースカウンタ出力の立下りエッジ検出 ) • リセット (RST) により "0" に初期化されます。 • 読出しおよび書込み可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込ん でもビット値は変化しません。 • リードモディファイライト (RMW) 系命令での読出し値は , 常に "1" となります。 [bit14] TBIE : タイムベースタイマ割込み許可ビット タイムベースタイマ割込み要求出力許可ビットです。 タイムベースカウンタのインターバル時間経過による割込み要求出力を制御しま す。本ビットが "1" のときに , bit15:TBIF ビットが "1" になると , タイムベースタイ マ割込み要求が発生します。 値 内容 0 タイムベースタイマ割込み要求出力禁止 [ 初期値 ] 1 タイムベースタイマ割込み要求出力許可 • リセット (RST) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 88 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit13 ∼ bit11] TBC2, TBC1, TBC0 : タイムベースタイマカウンタ選択ビット タイムベースタイマで使用するタイムベースカウンタのインターバル時間を設定 します。 本ビットに書き込む値により , インターバル時間を下表に示す 8 種類のうちから選 択します。 TBC2 TBC1 TBC0 原発振 16.5MHz かつ タイマ インターバル時間 PLL が 2 逓倍の場合 サブクロック 32kHz の場合 0 0 0 φ × 211 62.1μs 61.4ms 0 0 1 φ × 212 124.1μs 123ms 0 1 0 φ × 213 248.2μs 246ms 0 1 1 φ × 222 127ms 126s 1 0 0 φ × 223 254ms 256s 1 0 1 φ × 224 508ms 512s 1 1 0 φ × 225 1017ms 1024s 1 1 1 φ × 226 2034ms 2048s φ はシステムベースクロックの周期 • 初期値は不定です。割込みを許可する前に必ず値を設定してください。 • 読出しおよび書込みが可能です。 [bit10] 予約 : 予約ビット 予約ビットです。読出し値は不定で , 書込みは動作に影響を与えません。 [bit9] SYNCR : 同期リセットイネーブルビット 同期リセット動作許可ビットです。 動作初期化リセット (RST) 要求が発生した際に , 即座にリセット (RST) を行う通常 リセット動作を行うか , すべてのバスアクセスが停止してから動作初期化リセット (RST) を行う同期リセット動作を行うかを選択します。 値 内容 0 通常リセット動作 [ 初期値 ] 1 同期リセット動作 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 89 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ <注意事項> 同期モードのソフトウェアリセットを使用するときは , STCR ( スタンバイ制御レジスタ ) の SRST ビットに "0" を設定する前に , 以下 2 つの条件を満たしてください。 • 割込み許可フラグ (I-Flag) を割込み禁止 (I-Flag=0) に設定する。 • NMI を使用しない。 [bit8] SYNCS : 同期スタンバイ許可ビット 同期スタンバイ動作許可ビットです。 スタンバイ要求 ( スリープモード要求またはストップモード要求 ) を発生する際 , STCR レジスタの制御ビットへの書込みのみでスタンバイ遷移を行う通常スタンバ イ動作を行うか , STCR レジスタの制御ビットへの書込み後に STCR レジスタを読 み出すことでスタンバイ遷移を行う同期スタンバイ動作を行うかを選択します。 値 内容 0 通常スタンバイ動作 [ 初期値 ] 1 同期スタンバイ動作 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 <注意事項> スタンバイモードに遷移するには , 必ず "1" を設定し , 同期スタンバイ動作としてくださ い。 90 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ■ CTBR : タイムベースカウンタクリアレジスタ タイムベースカウンタクリアレジスタのレジスタ構成は , 以下のとおりです。 CTBR bit アドレス : 000483H 初期値 7 6 5 4 3 2 1 0 D7 (W) X D6 (W) X D5 (W) X D4 (W) X D3 (W) X D2 (W) X D1 (W) X D0 (W) X W:ライトオンリ タイムベースカウンタを初期化するためのレジスタです。 本レジスタに連続して "A5H", "5AH" を書き込むと , "5AH" 書込みの直後にタイムベー スカウンタを全ビット "0" にクリアします。"A5H" 書込みと "5AH" 書込みの間の時間 制限はありませんが, "A5H"書込みの後に"5AH"以外のデータを書き込むと, 再度"A5H" を書き込まないと "5AH" を書き込んでもクリア動作は行いません。 本レジスタの読出し値は不定です。 <注意事項> 本レジスタを使用してタイムベースカウンタをクリアすると , 発振安定待ち間隔 , ウォッ チドッグタイマ周期 , およびタイムベースタイマの周期が一時的に変動します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 91 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ■ CLKR : クロックソース制御レジスタ クロックソース制御レジスタのレジスタ構成は , 以下のとおりです。 CLKR bit 15 アドレス : 000484H 初期値 (INIT) 初期値 (RST) R/W:リード / ライト可能 14 13 12 11 10 9 8 予約 PLL1S2 PLL1S1 PLL1S0 PLL2EN PLL1EN CLKS1 CLKS0 (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 X X システムのベースクロックとするクロックソースの選択や PLL の制御を行うレジスタ です。 本レジスタにてクロックソースを 3 種類のうちから選択します。また , メイン・サブ 2 系統の PLL それぞれの動作許可および逓倍率の選択を制御します。 [bit15] 予約 : 予約ビット 予約ビットです。必ず "0" を設定してください。 [bit14 ∼ bit12] PLL1S2, PLL1S1, PLL1S0 : PLL 逓倍率選択ビット メイン PLL の逓倍率選択ビットです。 メイン PLL の逓倍率を , 8 種類のうちから選択します。 本ビットは , クロックソースとしてメイン PLL を選択している間は書き換えないで ください。 動作可能な上限周波数は 33MHz ですので , これを超える設定をしないでください。 リセット (INIT) により "000B" に初期化されます。 メイン PLL 逓倍率 PLL1S2 PLL1S1 PLL1S0 0 0 0 × 1 ( 等倍 ) φ = 60.6ns(16.5MHz) 0 0 1 × 2 (2 逓倍 ) φ = 30.3ns(33MHz) 0 1 0 × 3 (3 逓倍 ) φ = 20.2ns(49.5MHz) 0 1 1 × 4 (4 逓倍 ) 設定禁止 1 0 0 × 5 (5 逓倍 ) 設定禁止 1 0 1 × 6 (6 逓倍 ) 設定禁止 1 1 0 × 7 (7 逓倍 ) 設定禁止 1 1 1 × 8 (8 逓倍 ) 設定禁止 原発振 16.5[MHz] の場合 φ はシステムベースクロックの周期 読出しおよび書込みが可能です。 92 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit11] PLL2EN : サブクロック選択許可ビット サブクロックの選択許可ビットです。 本ビットは , クロックソースとしてサブクロックを選択している間は書き換えない でください。また , 本ビットが "0" の間はクロックソースとしてサブクロックを選 択しないでください (bit9, bit8: CLKS1, CLKS0 ビットの設定による ) 。 STCR の bit1:OSCD2 が "1" であると , ストップモード中は本ビットが "1" であって もサブクロックは停止します。ストップモードからの復帰後は動作許可に戻りま す。 値 内容 0 サブクロック選択禁止 [ 初期値 ] 1 サブクロック選択許可 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit10] PLL1EN : メイン PLL イネーブルビット メイン PLL の動作許可ビットです。 本ビットは , クロックソースとしてメイン PLL を選択している間は書換えをしない でください。また , 本ビットが "0" の間はクロックソースとしてメイン PLL を選択 しないでください (bit9, bit8:CLKS1, CLKS0 ビットの設定による ) 。 STCR の bit0:OSCD1 が "1" であると , ストップモード中は本ビットが "1" であって もメイン PLL は停止します。ストップモードからの復帰後は動作許可に戻ります。 値 内容 0 メイン PLL 停止 [ 初期値 ] 1 メイン PLL 動作許可 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 93 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit9, bit8] CLKS1, CLKS0 : クロックソース選択ビット 使用するクロックソースを設定します。 本ビットに書き込む値により , クロックソースを下表に示す 3 種類のうちから選択 します。 なお , bit9:CLKS1 が "1" の間は bit8:CLKS0 の値を変更することができません。 変更不可能な組合せ 変更可能な組合せ "00B" → "11B" "00B" → "01B" または "10B" "01B" → "10B" "01B" → "11B" または "00B" "10B" → "01B" または "11B" "10B" → "00B" "11B" → "00B" または "10B" "11B" → "01B" このため , INIT 後の状態からサブクロック選択に切り換える場合は , まず "01B" を 書き込んだ後に , "11B" を書き込むようにしてください。 CLKS1 CLKS0 0 0 X0/X1 からの原発振入力の 2 分周 [ 初期値 ] 0 1 X0/X1 からの原発振入力の 2 分周 1 0 メイン PLL 1 1 サブクロック クロックソース設定 • リセット (INIT) により "00B" に初期化されます。 • 読出しおよび書込みが可能です。 94 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ■ WPR : ウォッチドッグリセット発生延期レジスタ ウォッチドッグリセット発生延期レジスタのレジスタ構成は , 以下のとおりです。 WPR bit アドレス : 000485H 初期値 7 6 5 4 3 2 1 0 D7 (W) X D6 (W) X D5 (W) X D4 (W) X D3 (W) X D2 (W) X D1 (W) X D0 (W) X W:ライトオンリ ウォッチドッグリセットの発生を延期するためのレジスタです。 本レジスタに連続して "A5H", "5AH" を書き込むと , "5AH" 書込みの直後にウォッチドッ グタイマの検出用フリップフロップをクリアし , ウォッチドッグリセットの発生を延 期します。 "A5H"書込みと"5AH"書込みの間の時間制限はありませんが, "A5H"書込みの後に"5AH" 以外のデータを書き込んだ場合 , 再度 "A5H" を書き込まないと "5AH" を書き込んでも クリア動作は行いません。 表 2.9-1 に , ウォッチドッグリセット発生に関する時間間隔と RSRR レジスタの値の関 係を示します。 この期間内に両データの書込みを終えないとウォッチドッグリセットを発生します。 ウォッチドッグリセット発生までの時間や発生抑止のために必要な書込み間隔は , RSRR レジスタの WT1 (bit9) , WT0 (bit8) の状態によって変化します。 表 2.9-1 ウォッチドッグリセット発生に関する時間間隔 RSRR のウォッチドッグリセッ トの発生を抑止するために最低 限必要な WPR への書込み間隔 WPR への最終 5AH 書込みから WT1 WT0 0 0 φ × 220 [ 初期値 ] φ × 220 ∼ φ × 221 0 1 φ × 222 φ × 222 ∼ φ × 223 1 0 φ × 224 φ × 224 ∼ φ × 225 1 1 φ × 226 φ × 226 ∼ φ × 227 ウォッチドッグリセットが発生 するまでの時間 φはシステムベースクロックの周期, WT1, WT0はRSRRのbit9, bit8でウォッチドッグ タイマ周期設定 ストップ , スリープ , DMA 転送中など , CPU が動作していない間は自動的にクリアを 行いますので , これらの条件が発生すると , ウォッチドッグリセットは自動的に延期さ れます。ただし , 外部バスのホールド要求 (BRQ) が受け付けられている場合 , ウォッチ ドッグリセットは延期されませんので , 長期間外部バスをホールドする場合はスリー プモードにしてからホールド要求 (BRQ) を入力してください。 本レジスタの読出し値は不定です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 95 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ■ DIVR0 : 基本クロック分周設定レジスタ 0 基本クロック分周設定レジスタ 0 のレジスタ構成は , 以下のとおりです。 DIVR0 bit アドレス : 000486H 初期値 (INIT) 初期値 (RST) R/W:リード / ライト可能 15 14 13 12 11 10 9 8 B3 (R/W) 0 X B2 (R/W) 0 X B1 (R/W) 0 X B0 (R/W) 0 X P3 (R/W) 0 X P2 (R/W) 0 X P1 (R/W) 1 X P0 (R/W) 1 X 各内部クロックのベースクロックに対する分周比を制御するレジスタです。 本レジスタでは , CPU および内部バスのクロック (CLKB), 周辺回路 , およびペリフェ ラルバスクロック (CLKP) の分周比の設定を行います。 <注意事項> 各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , PLL の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は 保証されません。特にソースクロック選択の変更設定との順序を間違えないようにご注意 ください。 本レジスタの設定の変更があった場合 , 設定後次のクロックレートから変更後の分周 比が有効となります。 96 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit15 ∼ bit12] B3, B2, B1, B0 : CLKB 分周選択ビット CPU クロック (CLKB) 分周比設定ビットです。CPU と内部メモリおよび内部バスの クロック分周比を設定します。 本ビットに書き込む値により , CPU および内部バスのクロックのベースクロックに 対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択します。 動作可能な上限周波数は 33MHzですので , これを超える周波数になる分周比は設定 しないでください。 クロック周波数 : 原発振 16.5MHz および PLL2 逓倍の場合 B3 B2 B1 B0 0 0 0 0 φ 0 0 0 1 φ × 2 (2 分周 ) 16.5 MHz 0 0 1 0 φ × 3 (3 分周 ) 11 MHz 0 0 1 1 φ × 4 (4 分周 ) 8.25 MHz 0 1 0 0 φ × 5 (5 分周 ) 6.6 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.5 MHz 0 1 1 0 φ × 7 (7 分周 ) 4.71 MHz 0 1 1 1 φ × 8 (8 分周 ) 4.13 MHz … … … … … … 1 1 1 1 φ × 16 (16 分周 ) 2.06 MHz クロック分周比 33.0 MHz [ 初期値 ] φ はシステムベースクロックの周期 • リセット (INIT) により "0000B" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 97 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit11 ∼ bit8] P3, P2, P1, P0 : CLKP 分周選択ビット 周辺クロック (CLKP) 分周比設定ビットです。 周辺回路およびペリフェラルバスのクロック分周比を設定します。 本ビットに書き込む値により , 周辺回路およびペリフェラルバスのクロックのベー スクロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択 します。 動作可能な上限周波数は 33MHzですので , これを超える周波数になる分周比は設定 しないでください。 クロック周波数 : 原発振 16.5MHz および PLL2 逓倍の場合 P3 P2 P1 P0 0 0 0 0 φ 33.0 MHz 0 0 0 1 φ × 2 (2 分周 ) 16.5 MHz 0 0 1 0 φ × 3 (3 分周 ) 11 MHz 0 0 1 1 φ × 4 (4 分周 ) 0 1 0 0 φ × 5 (5 分周 ) 6.6 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.5 MHz 0 1 1 0 φ × 7 (7 分周 ) 4.71 MHz 0 1 1 1 φ × 8 (8 分周 ) 4.13 MHz … … … … … … 1 1 1 1 φ × 16 (16 分周 ) 2.06 MHz クロック分周比 8.25 MHz [ 初期値 ] φ はシステムベースクロックの周期 • リセット (INIT) により "0011B" に初期化されます。 • 読出しおよび書込みが可能です。 98 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ■ DIVR1 : 基本クロック分周設定レジスタ 1 基本クロック分周設定レジスタ 1 のレジスタ構成は , 以下のとおりです。 DIVR1 bit アドレス : 000487H 初期値 (INIT) 初期値 (RST) R/W:リード / ライト可能 7 6 5 4 3 2 1 0 T3 (R/W) 0 X T2 (R/W) 0 X T1 (R/W) 0 X T0 (R/W) 0 X 予約 (R/W) 0 X 予約 (R/W) 0 X 予約 (R/W) 0 X 予約 (R/W) 0 X 各内部クロックのベースクロックに対する分周比を制御するレジスタです。 本レジスタでは , 外部拡張バスインタフェースのクロック (CLKT) の分周比の設定を行 います。 <注意事項> 各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , PLL の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は 保証されません。特に , ソースクロック選択の変更設定との順序を間違えないようにご注 意ください。 本レジスタの設定の変更があった場合 , 設定後次のクロックレートから変更後の分周 比が有効となります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 99 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ [bit7 ∼ bit4] T3, T2, T1, T0 : CLKT 分周選択ビット 外部バスクロック (CLKT) 分周比設定ビットです。 外部拡張バスインタフェースのクロック分周比を設定します。 本ビットに書き込む値により , 外部拡張バスインタフェースのクロックのベースク ロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択しま す。 動作可能な上限周波数は 16.5MHz ですので , これを超える周波数になる分周比は設 定しないでください。 クロック周波数 : 原発振 16.5MHz および PLL2 逓倍の場合 T3 T2 T1 T0 0 0 0 0 φ 0 0 0 1 φ × 2 (2 分周 ) 16.5 MHz 0 0 1 0 φ × 3 (3 分周 ) 11 MHz 0 0 1 1 φ × 4 (4 分周 ) 8.25 MHz 0 1 0 0 φ × 5 (5 分周 ) 6.6 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.5 MHz 0 1 1 0 φ × 7 (7 分周 ) 4.71 MHz 0 1 1 1 φ × 8 (8 分周 ) 4.13 MHz … … … … 1 1 1 1 クロック分周比 33.0 MHz [ 初期値 ] … φ × 16 (16 分周 ) … 2.06 MHz φ はシステムベースクロックの周期 • リセット (INIT) により "0000B" に初期化されます。 • 読出しおよび書込みが可能です。 [bit3 ∼ bit0] 予約 : 予約ビット 予約ビットです。 100 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ■ OSCCR : 発振制御レジスタ 発振制御レジスタのレジスタ構成は , 以下のとおりです。 OSCCR bit アドレス : 00048AH 初期値 (INIT) 初期値 (RST) R/W:リード / ライト可能 15 14 13 12 11 10 予約 (R/W) X X 予約 (R/W) X X 予約 (R/W) X X 予約 (R/W) X X 予約 (R/W) X X 予約 (R/W) X X 9 8 予約 OSCDS1 (R/W) (R/W) X 0 X X サブクロック動作時のメイン発振を制御するレジスタです。 [bit15 ∼ bit9] 予約 : 予約ビット 予約ビットです。 [bit8] OSCDS1 : メイン発振停止制御ビット ( サブランモード時 ) サブクロック選択中のメイン発振停止ビットです。 クロックソースとしてサブクロック選択中に , 本ビットに "1" を書き込むとメイン 発振を停止します。 本ビットは , メインクロック選択中に "1" を書くことはできません。 本ビットが "1" の間はメインクロックを選択しないでください。本ビットを "0" に してメイン発振の安定を待ってからメインクロックに切り換えてください。このと き , メイン発振安定待ちタイマを用いて発振安定待ち時間を確保してください。ま た , 本ビットによってメイン発振を停止させた状態で , INIT によってクロックソー スがメインクロックに切り換わった場合もメイン発振安定待ち時間が必要になり ます。このとき , STCR( スタンバイ制御レジスタ ) の bit3, bit2:OS1, OS0 の設定がメ イン発振安定待ち時間を満たさない場合 , 復帰後の動作が保証されません。 このような場合は , STCR:OS1, OS0 ビットはサブ発振安定待ち時間およびメイン発 振安定待ち時間両方を満たした値を設定してください。 発振安定待ちについては , 「2.9.2 発振安定待ち /PLL ロック待ち時間」も参照して ください。 値 内容 0 サブクロック実行中 , メイン発振を停止しません [ 初期値 ] 。 1 サブクロック実行中 , メイン発振を停止します。 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 101 第 2 章 CPU および制御部 2.9 クロック生成制御 2.9.7 MB91313A シリーズ クロック制御部が持つ周辺回路 クロック制御部が持つ周辺回路機能について説明します。 ■ タイムベースカウンタ クロック制御部には , 26 ビット長のタイムベースカウンタがあり , システムベースク ロックで動作しています。 タイムベースカウンタは , 発振安定待ち時間の計測 (「2.8.4 発振安定待ち時間」を参 照 ) のほか , 以下の用途に使用されます。 • ウォッチドッグタイマ : システムの暴走検出用のウォッチドッグタイマを , タイムベースカウンタのビット 出力を用いて計測します。 • タイムベースタイマ : タイムベースカウンタ出力を用いて , インターバル割込みを発生します。 ● ウォッチドッグタイマ ウォッチドッグタイマは , タイムベースカウンタ出力を用いた暴走検出用タイマです。 プログラムの暴走などで設定したインターバルの間にウォッチドッグリセットの発生 延期動作が行われなくなると , ウォッチドッグリセットとして設定初期化リセット (INIT) 要求を発生します。 [ ウォッチドッグタイマの起動と周期設定 ] ウォッチドッグタイマは , リセット (RST) 後の 1 回目の RSRR ( リセット要因レジ スタ / ウォッチドッグタイマ制御レジスタ ) への書込み動作により起動します。 このとき , ウォッチドッグタイマのインターバル時間を bit9, bit8:WT1, WT0 ビット により設定します。インターバル時間の設定は , この最初の書込みで設定した時間 のみが有効となり , それ以降の書込みはすべて無視されます。 [ ウォッチドッグリセットの発生延期 ] いったんウォッチドッグタイマを起動すると , プログラムで定期的に WPR ( ウォッ チドッグリセット発生延期レジスタ ) に対して "A5H", "5AH" の順でデータを書き込 む必要があります。 この操作により , ウォッチドッグリセット発生用フラグが初期化されます。 [ ウォッチドッグリセットの発生 ] ウォッチドッグリセット発生用フラグは , 設定したインターバルのタイムベースカ ウンタ出力の立下りエッジによってセットされます。2 度目の立下りエッジの検出 時にフラグがセットされていると , ウォッチドッグリセットとして設定初期化リ セット (INIT) 要求を発生します。 102 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.9 クロック生成制御 [ ウォッチドッグタイマの停止 ] いったんウォッチドッグタイマを起動すると , 動作初期化リセット (RST) が発生す るまでは , ウォッチドッグタイマを停止することはできません。 動作初期化リセット (RST) の発生する以下の状態では , ウォッチドッグタイマは停 止し , 再度プログラム動作にて起動するまでは , 機能しません。 • 動作初期化リセット (RST) 状態 • 設定初期化リセット (INIT) 状態 • 発振安定待ちリセット (RST) 状態 [ ウォッチドッグタイマの一時停止 ( 自動発生延期 )] ウォッチドッグタイマは , CPU のプログラム動作が停止している場合 , いったん ウォッチドッグリセット発生用フラグを初期化し , ウォッチドッグリセットの発生 を延期します。プログラム動作の停止について以下の動作を示します。 • スリープ状態 • ストップ状態 • 発振安定待ち RUN 状態 • エミュレータデバッガ , モニタデバッガを使用時のブレーク中 • INTE 命令の実行から RETI 命令の実行までの期間 • ステップトレーストラップ (PS レジスタの T フラグ =1 による 1 命令ごとのブレーク ) • 命令キャッシュ制御レジスタ (ISIZE, ICHCR), RAM モード時のキャッシュメモリへのデータ また , タイムベースカウンタのクリアを行うと , 同時にウォッチドッグリセット発 生用フラグも初期化され , ウォッチドッグリセットの発生が延期されます。 なお , システムの暴走により上記状態となってしまった場合 , ウォッチドッグリ セットが発生しない可能性がありますので , 外部 INITX 端子よりリセット (INIT) を かけてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 103 第 2 章 CPU および制御部 2.9 クロック生成制御 MB91313A シリーズ ● タイムベースタイマ タイムベースタイマは , タイムベースカウンタ出力を用いたインターバル割込み発生 用タイマです。PLL のロック待ち時間やサブクロックなどの発振安定待ち時間など , 最 大で { ベースクロック× 227} サイクルまでの比較的長時間の時間計測を行う用途に適 しています。 設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジを検出 すると , タイムベースタイマ割込み要求を発生します。 [ タイムベースタイマの起動とインターバル設定 ] タイムベースタイマは , TBCR ( タイムベースカウンタ制御レジスタ ) の bit13 ∼ bit11:TBC2, TBC1, TBC0 ビットにてインターバル時間を設定します。 設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジは 常に検出されているため , インターバル時間の設定後はまず bit15:TBIF ビットをク リアしてから , bit14:TBIE ビットを "1" にして割込み要求出力を許可してください。 インターバル時間を変更する際は , あらかじめ bit14:TBIE ビットを "0" にして割込 み要求出力を禁止しておいてください。 タイムベースカウンタはこれら設定に影響されず常にカウント動作を行っていま すので , 正確なインターバル割込み時間を得るためには , 割込みを許可する前にタ イムベースカウンタをクリアしてください。クリアしない場合 , 割込み許可直後に 割込み要求が発生することもあり得ます。 [ プログラムによるタイムベースカウンタのクリア ] CTBR ( タイムベースカウンタクリアレジスタ ) に対して "A5H", "5AH" の順でデー タを書き込むと , "5AH" 書込みの直後に , タイムベースカウンタを全ビット "0" にク リアします。"A5H" 書込みと "5AH" 書込みの間の時間制限はありませんが , "A5H" 書込みの後に"5AH"以外のデータを書き込むと, 再度"A5H"を書き込まないと"5AH" を書き込んでもクリア動作は行いません。 このタイムベースカウンタのクリアを行うことにより , 同時にウォッチドッグリ セット発生用フラグも初期化され , ウォッチドッグリセットの発生がいったん延期 されます。 [ デバイス状態によるタイムベースカウンタのクリア ] タイムベースカウンタは , 以下のデバイス状態の遷移時に , 同時に全ビット "0" にク リアされます。 • ストップ状態 • 設定初期化リセット (INIT) 状態 特にストップ状態の場合 , 発振安定待ち時間の計測のためにタイムベースカウンタ が使用されるため , 意図せずにタイムベースタイマのインターバル割込みが発生し てしまう可能性があります。 そのため , ストップモードを設定する前には , タイムベースタイマ割込みを禁止し , タイムベースタイマを使用しないでください。 それ以外の状態については, 動作初期化リセット(RST)が発生するため, タイムベー スタイマ割込みは自動的に禁止されます。 104 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.9 クロック生成制御 ● メイン発振安定待ちタイマ ( サブクロック選択時用 ) クロックソースの選択や分周設定の影響を受けず , メインクロックに同期してカウン トアップする 26 ビットのタイマです。 サブクロック動作中のメイン発振安定待ち時間の時間計測に使用します。 サブクロックで動作中 , OSCCR ( 発振制御レジスタ ) の bit8:OSCDS1 にて , メイン発振 の制御が行えますが , メイン発振を停止させた後で再度発振開始させた際に , 本タイマ を用いて発振安定待ち時間を計測します。 メインクロックを停止させたサブクロック動作状態からメインクロックに切り換える 際は , 以下の手順で行います。 1) メイン発振安定待ちタイマをクリアします。 2) OSCCR ( 発振制御レジスタ ) の bit8:OSCDS1 を "0" にしてメイン発振を開始しま す。 3) メイン発振安定待ちタイマを用いてメインクロックが安定するまで待ちます。 4) メインクロック安定後 , CLKR ( クロックソースレジスタ ) の bit9, bit8:CLKS1, CLKS0 にてサブクロックからメインクロックに切り換えます。 <注意事項> 安定を待たずメインクロックに切り換えると , 不安定なクロックが供給され , その後の動 作は保証されませんので , 必ず安定を待った後にメインクロックに切り換えてください。 メイン発振安定待ちタイマの詳細については , 「9.1 メイン発振安定待ちタイマ」を参照 してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 105 第 2 章 CPU および制御部 2.10 デバイス状態制御 MB91313A シリーズ デバイス状態制御 2.10 各種状態とその制御について説明します。 ■ デバイス状態 図 2.10-1 に , FR ファミリのデバイス状態と各遷移を示します。 図 2.10-1 デバイス状態 1 2 3 4 5 6 7 8 9 10 11 12 13 INITX端子=0(INIT) INITX端子=1(INIT解除) 発振安定待ち終了 リセット(RST)解除 ソフトウェアリセット(RST) スリープ(命令書込み) ストップ(命令書込み) 割込み クロックを必要としない外部割込み メイン→サブ切換え(命令書込み) サブ→メイン切換え(命令書込み) ウォッチドッグリセット(INIT) サブスリープ(命令書込み) 遷移要求の優先順位 最強 ↓ ↓ ↓ ↓ 最弱 パワーオン 1 設定初期化リセット(INIT) 発振安定待ち終了 動作初期化リセット(RST) 割込み要求 ストップ スリープ 設定初期化 (INIT) 2 メインクロックモード 1 メイン発振安定待ち 1 リセット メインストップ 9 3 1 発振安定待ちRUN プログラムリセット 1 (RST) 3 7 1 6 メインスリープ 5 4 12 メインRUN 8 1 10 サブクロックモード 1 サブスリープ 発振安定待ちRUN 12 サブRUN 13 3 1 1 11 8 7 5 1 4 プログラムリセット 1 (RST) 9 サブストップ (時計状態*2) サブストップ (時計状態*2) *1: クロックソースをメイン←→サブに切り換える場合は、RUN状態にて、切換え 後のクロックが安定供給されている状態にて、CLKR(クロックソースレジスタ)-bit1, bit0(CLKS1,CLKS0)を切り換えてください。 *2: 時計タイマ以外を停止(時計状態)させるには、サブRUN状態にてSTCR(スタンバイ 制御レジスタ) bit1:OSCD2を"0", bit0:OSCD1を"1"に設定した状態でストップモード に移行してください(同時書込み可能)。 106 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.10 デバイス状態制御 ■ デバイスの動作状態 デバイスの動作状態には以下のものがあります。 ● RUN 状態 ( 通常動作 ) プログラム実行状態です。 すべての内部クロックが供給され , すべての回路が動作可能な状態です。 ただし , 16 ビット周辺 ( ペリフェラル ) バスのみは , アクセスが行われていない期間は バスクロックのみ停止しています。 各状態遷移要求を受け付けますが , 同期リセットモードを選択している場合 , 通常リ セットモードの場合と一部要求に対する状態遷移動作が異なります。 詳細は , 「2.8.5 リセット動作モード ■ 同期リセット動作」を参照してください。 ● スリープ状態 プログラム停止状態です。プログラム動作により遷移します。 CPU のプログラム実行のみ停止し , 周辺回路は動作可能な状態です。各種内蔵メモリ および内部 / 外部バスは DMA コントローラが要求しない限り停止状態です。有効な割 込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 動作初期化リセット (RST) 要求の発生により , 動作初期化リセット (RST) 状態へ遷移し ます。 ● ストップ状態 デバイス停止状態です。プログラム動作により遷移します。 すべての内部回路が停止します。内部クロックはすべて停止し , 発振回路および PLL は設定により停止させることが可能です。また , 設定により , 外部端子を一律ハイイン ピーダンスにすることが可能です ( 一部端子を除く ) 。 特定の ( クロックを必要としない ) 有効な割込みや , 発振動作中のメイン発振安定待ち タイマ割込み要求の発生により , 発振安定待ち RUN 状態へ遷移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ遷移 します。 ● 発振安定待ち RUN 状態 デバイス停止状態です。ストップ状態からの復帰後に遷移します。 クロック発生制御部 (タイムベースカウンタおよびデバイス状態制御部) を除くすべて の内部回路が停止します。内部クロックはすべて停止しますが , 発振回路および動作許 可されていた PLL は動作しています。 ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。 設定された発振安定待ち時間の経過により , RUN 状態 ( 通常動作 ) へ遷移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ遷移 します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 107 第 2 章 CPU および制御部 2.10 デバイス状態制御 MB91313A シリーズ ● 発振安定待ちリセット (RST) 状態 デバイス停止状態です。ストップ状態または設定初期化リセット (INIT) 状態からの復 帰後に遷移します。 クロック発生制御部 (タイムベースカウンタおよびデバイス状態制御部) を除くすべて の内部回路が停止します。内部クロックはすべて停止しますが , 発振回路および動作許 可されていた PLL は動作しています。 ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。 内部回路に対し , 動作初期化リセット (RST) を出力します。 設定された発振安定待ち時間の経過により, 発振安定待ちリセット(RST)状態へ遷移し ます。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 ● 動作初期化リセット (RST) 状態 プログラム初期化状態です。動作初期化リセット (RST) 要求の受付け , または発振安定 待ちリセット (RST) 状態の終了により遷移します。 CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路は 一部を除き初期化されます。すべての内部クロックと発振回路および動作許可されて いた PLL は動作しています。 内部回路に対し , 動作初期化リセット (RST) を出力します。 動作初期化リセット (RST) 要求の消失により , RUN 状態 ( 通常動作 ) へ遷移し , 動作初 期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの復帰後 だった場合は , 設定初期化リセットシーケンスを実行します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 ● 設定初期化リセット (INIT) 状態 全設定初期化状態です。設定初期化リセット (INIT) 要求の受付け , またはハードウェ アスタンバイ状態の終了により遷移します。 CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路は すべて初期化されます。発振回路は動作しますが , PLL は動作を停止します。すべて の内部クロックは , 外部 INITX 端子への "L" レベル入力期間は停止しますが , それ以外 では動作します。 内部回路に対し , 設定初期化リセット (INIT) および動作初期化リセット (RST) を出力 します。 設定初期化リセット (INIT) 要求の消失により , 本状態は解除され , 発振安定待ちリセッ ト (RST) 状態へ遷移します。その後 , 動作初期化リセット (RST) 状態を経て , 設定初期 化リセットシーケンスを実行します。 108 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.10 デバイス状態制御 ● 各状態遷移要求の優先順位 どの状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 一部要求 は特定の状態でしか発生しませんので , その状態でしか有効になりません。 【最強】 設定初期化リセット (INIT) 要求 ↓ 発振安定待ち時間の終了 ( 発振安定待ちリセット状態および発振安定待ち RUN 状態のみ発生 ) ↓ 動作初期化リセット (RST) 要求 ↓ 有効な割込み要求 (RUN, スリープ , ストップ状態のみ発生 ) ↓ ストップモード要求 ( レジスタ書込み ) (RUN 状態のみ発生 ) 【最弱】 スリープモード要求 ( レジスタ書込み ) (RUN 状態のみ発生 ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 109 第 2 章 CPU および制御部 2.10 デバイス状態制御 2.10.1 MB91313A シリーズ 低消費電力モード 各低消費電力モードとその使用方法について説明します。 低消費電力モードには , 以下のものがあります。 • スリープモード レジスタ書込みにより , デバイスをスリープ状態へ遷移させます。 • ストップモード レジスタ書込みにより , デバイスをストップ状態へ遷移させます。 以下 , 各モードについて説明します。 ■ スリープモード STCR (スタンバイ制御レジスタ) のbit6:SLEEPビットに"1"を書き込むとスリープモー ドとなり , スリープ状態へ遷移します。 以降 , スリープ状態からの復帰要因が発生するまでは , スリープ状態を維持します。 STCR ( スタンバイ制御レジスタ ) の bit7:STOP ビットと本ビット両方に "1" を書き込ん だ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。 スリープ状態については , 「2.10 デバイス状態制御 ■ デバイスの動作状態」も参照し てください。 [ スリープモードへの移行 ] スリープモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウ ンタ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下の シーケンスを必ず使用してください。 (LDI #value_of_sleep,R0) ;value_of_sleep は , STCR への書込みデータ (LDI #_STCR,R12) ;_STCR は , STCR のアドレス (481H) STB ;スタンバイ制御レジスタ (STCR) への書込み R0,@R12 LDUB@R12,R0 ;同期スタンバイのための STCR 読出し LDUB@R12,R0 ;もう一度 STCR をダミーリード NOP ; タイミング調整用の NOP × 5 NOP NOP NOP NOP [ スリープ状態で停止する回路 ] • CPU のプログラム実行 • ビットサーチモジュール (DMA 転送が発生した場合は動作します。) • 各種内蔵メモリ (DMA 転送が発生した場合は動作します。) • 内部 / 外部バス (DMA 転送が発生した場合は動作します。) 110 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.10 デバイス状態制御 [ スリープ状態で停止しない回路 ] • 発振回路 • 動作許可された PLL • クロック発生制御部 • 割込みコントローラ • 周辺回路 • DMA コントローラ • DSU • メイン発振安定待ちタイマ [ スリープ状態からの復帰要因 ] • 有効な割込み要求の発生 割込み禁止 (1FH) 以外の割込みレベルを持つ割込み要求が発生すると , スリープ モードは解除され , RUN 状態 ( 通常状態 ) へ遷移します。 割込み要求が発生しても , スリープモードを解除したくない場合は , 該当する ICR に割込みレベルとして割込み禁止 (1FH) を設定してください。 • 設定初期化リセット (INIT) 要求の発生 設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT) 状態へ遷移します。 • 動作初期化リセット (RST) 要求の発生 動作初期化リセット(RST)要求が発生すると, 無条件で動作初期化リセット(RST) 状態へ遷移します。 各要因の優先順位については , 「2.10 デバイス状態制御」を参照してください。 [ 同期スタンバイ動作 ] タイムベースカウンタ制御レジスタ (TBCR) の bit8:SYNCS ビットに "1" が設定して ある場合 , 同期スタンバイ動作が許可されます。この場合 , SLEEP ビットへの書込 みのみではスリープ状態へは遷移しません。 その後 , STCR レジスタを読み出すことによってスリープ状態へ遷移します。 スリープモードを使用する場合は , 【スリープモードへの移行】にあるシーケンス を必ず使用してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 111 第 2 章 CPU および制御部 2.10 デバイス状態制御 MB91313A シリーズ ■ ストップモード STCR ( スタンバイ制御レジスタ ) の bit7:STOP ビットに "1" を書き込むとストップモー ドとなり , ストップ状態へ遷移します。以降 , ストップ状態からの復帰要因が発生する までは , ストップ状態を維持します。 STCR ( スタンバイ制御レジスタ ) の bit6:SLEEP ビットと本ビット両方に "1" を書き込 んだ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。 ストップ状態については , 「2.10 デバイス状態制御 ■ デバイスの動作状態」も参照し てください。 [ ストップモードへの移行 ] ストップモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウ ンタ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下の シーケンスを必ず使用してください。 (LDI #value_of_stop,R0) ;value_of_stop は , STCR への書込みデータ (LDI #_STCR,R12) ;_STCR は , STCR のアドレス (481H) STB ;スタンバイ制御レジスタ (STCR) への書込み R0,@R12 LDUB@R12,R0 ;同期スタンバイのための STCR 読出し LDUB@R12,R0 ;もう一度 STCR をダミーリード NOP ; タイミング調整用の NOP × 5 NOP NOP NOP NOP [ ストップ状態で停止する回路 ] • 停止するように設定された発振回路 : STCR ( スタンバイ制御レジスタ ) の bit1:OSCD2 ビットに "1" が設定してあると き , ストップ状態中のサブクロック用発振回路を停止状態にします。このとき時 計タイマも停止します。 STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "1" が設定してあると き , ストップ状態中のメインクロック用発振回路を停止状態にします。このとき メイン発振安定待ちタイマも停止します。 • 動作許可されていないか , 停止するよう設定された発振回路に接続された PLL : STCR ( スタンバイ制御レジスタ ) の bit1:OSCD2 ビットに "1" が設定してあると き , CLKR ( クロックソース制御レジスタ ) の bit11:PLL2EN ビットに "1" が設定 してあっても , ストップ状態中のサブクロック用 PLL を停止状態にします。 STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "1" が設定してあると き , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットに "1" が設定 してあっても , ストップ状態中のメインクロック用 PLL を停止状態にします。 • [ ストップ状態で停止しない回路 ] を除くすべての内部回路 112 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 2 章 CPU および制御部 2.10 デバイス状態制御 [ ストップ状態で停止しない回路 ] • 停止するように設定されていない発振回路 : STCR ( スタンバイ制御レジスタ ) の bit1:OSCD2 ビットに "0" が設定してあると き , ストップ状態中のサブクロック用発振回路は停止しません。このとき時計タ イマも停止しません。 STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると き , ストップ状態中のメインクロック用発振回路は停止しません。このときメイ ン発振安定待ちタイマも停止しません。 • 動作許可されていて, かつ停止するよう設定されていない発振回路に接続された PLL : STCR ( スタンバイ制御レジスタ ) の bit1:OSCD2 ビットに "0" が設定してあると き , CLKR ( クロックソース制御レジスタ ) の bit11:PLL2EN ビットに "1" が設定 してあると , ストップ状態中のサブクロック用 PLL は停止しません。 STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると き , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットに "1" が設定 してあると , ストップ状態中のメインクロック用 PLL は停止しません。 [ ストップ状態での端子のハイインピーダンス制御 ] STCR ( スタンバイ制御レジスタ ) の bit5:HIZ ビットに "1" が設定してあると , ストッ プ状態中の端子出力をハイインピーダンス状態にします。本制御の対象となる端子 は「付録 C ■ 各 CPU ステートにおける端子状態」を参照してください。 STCR ( スタンバイ制御レジスタ ) の bit5:HIZ ビットに "0" が設定してあると , ストッ プ状態中の端子出力はストップ状態への遷移前の値を保持します。詳細は「付録 C ■ 各 CPU ステートにおける端子状態」を参照してください。 [ ストップ状態からの復帰要因 ] • 特定の ( クロックを必要としない ) 有効な割込み要求の発生 : 外部割込み入力端子 (INTn 端子 ) , メイン発振中のメイン発振安定待ちタイマ割 込み , およびサブ発振中の時計割込みのみ有効です。 割込み禁止 (1FH) 以外の割込みレベルを持つ割込み要求が発生するとストップ モードは解除され , RUN 状態 ( 通常状態 ) へ遷移します。 割込み要求が発生してもストップモードを解除したくない場合は , 該当する ICR に割込みレベルとして割込み禁止 (1FH) を設定してください。 • メイン発振安定待ちタイマ割込み : サブクロック選択中で OSCCR ( 発振制御レジスタ ) の bit8:OSCDS1 ビットに "0" が設定時もしくはメインクロック選択中において , STCR ( スタンバイ制御レジ スタ ) の bit0:OSCD1 ビットに "0" が設定してあるとき , メイン発振安定待ちタイ マの割込み要求が発生するとストップモードは解除され RUN 状態 ( 通常状態 ) へ遷移します。 割込み要求が発生してもストップモードを解除したくない場合は, メイン発振安 定待ちタイマを停止させるか , またはメイン発振安定待ちタイマの割込み許可 ビットを割込み禁止に設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 113 第 2 章 CPU および制御部 2.10 デバイス状態制御 MB91313A シリーズ • 設定初期化リセット (INIT) 要求の発生 : 設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT) 状態へ遷移します。 • 動作初期化リセット (RST) 要求の発生 : 動作初期化リセット(RST)要求が発生すると, 無条件で動作初期化リセット(RST) 状態へ遷移します。 各要因の優先順位については , 「2.10 デバイス状態制御 ■ デバイスの動作状態」を 参照してください。 [ ストップモード時のクロックソース選択 ] ストップモードを設定する前に , メインクロックの 2 分周をソースクロックとする ようあらかじめ選択しておいてください。詳細は , 「2.9 クロック生成制御」, 特に その節の「2.9.1 PLL 制御」を参照してください。 なお , 分周比の設定に関しては , 通常動作時と制限事項は変わりません。 ■ 通常スタンバイ動作と同期スタンバイ動作 TBCR ( タイムベースカウンタ制御レジスタ ) の bit8:SYNCS ビットに "1" を設定してあ る場合 , 同期スタンバイ動作が許可されます。この場合 , STOP ビットへの書込みのみ ではストップ状態へは遷移しません。その後 , STCR レジスタを読み出すことによって ストップ状態へ遷移します。 SYNCS ビットに "0" を設定してある場合 , 通常スタンバイ動作となり , STOP ビットへ の書込みのみでストップ状態へ遷移します。 通常スタンバイ動作時は , CPU クロック (CLKB) に対して周辺クロック (CLKP) の分周 比が大きく設定してあると , 実際に STOP ビットへの書込みが行われるまでに多くの命 令を実行してしまいます。このため , STOP ビットへの書込み命令の後 , 最低でも {5+(CPU クロックの分周比 / 周辺クロックの分周比 )} 命令以上の NOP 命令を配置しな ければ , それ以降の命令がストップ状態への遷移前に実行されてしまいます。 同期スタンバイ動作時は , 実際に STOP ビットへの書込みが行われた後 , STCR レジス タの読出しが完了するまではストップ状態へ遷移しません。STCR レジスタの読出し値 が CPU に格納されるまでは , CPU がバスを使用しているためです。このため , CPU ク ロック (CLKB) と周辺クロック (CLKP) の分周比の関係がいかなる設定においても , STOP ビットへの書込み命令と STCR レジスタの読出し命令の後に , 2 命令のみの NOP 命令を配置するのみで , それ以降の命令がストップ状態への遷移前に実行されること を防ぐことができます。 114 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 2 章 CPU および制御部 2.11 動作モード MB91313A シリーズ 2.11 動作モード FR ファミリの動作モードについて説明します。 ■ 動作モード 動作モードには , バスモードとアクセスモードがあります。 ● バスモード バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを指 し , モード設定端子 (MD2, MD1, MD0) で指定します。 ● アクセスモード アクセスモードとは , 外部データバス幅を制御するモードを示し , モードレジスタ内の WTH1, WTH0 ビットと ACR0 ∼ ACR3(Area Configuration Register) 内の DBW0 ビット で指定します。 ■ バスモード 0 ( シングルチップモード ) 内部 I/O, F-bus RAM, F-bus ROM が有効で , それ以外の領域へのアクセスは無効である モードです。 外部端子はペリフェラル , または汎用ポートの機能を果たします。バス端子としては機 能しません。 ■ バスモード 1 ( 内 ROM 外バスモード ) 内部 I/O, F-bus RAM, F-bus ROM が有効で , 外部アクセスが可能な領域へのアクセスは 外部空間へのアクセスとなるモードです。外部端子の一部は , バス端子として機能しま す。 ■ モード設定 FR ファミリでは , モード端子 (MD2, MD1, MD0) とモードレジスタ (MODR) で動作モー ドの設定を行います。 ● モード端子 MD2, MD1, MD0 の 3 端子で , モードベクタフェッチに関する指定を行います。 表 2.11-1 にモードベクタフェッチに関する指定を示します。 表 2.11-1 モードベクタフェッチに関する指定 モード端子 MD2 MD1 MD0 モード名 リセットベクタ アクセス領域 000B 内 ROM モードベクタ 内部 ただし , 表に示した設定以外は禁止とします。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 115 第 2 章 CPU および制御部 2.11 動作モード MB91313A シリーズ ● モードレジスタ (MODR) モードベクタフェッチによってモードレジスタに書き込むデータをモードデータとよ びます。モードベクタフェッチについては , 「2.8.3 リセットシーケンス」を参照して ください。 モードレジスタ (MODR) に設定が行われた後 , 本レジスタの設定に従った動作モード で動作します。 モードレジスタは , すべてのリセット要因で設定されます。また , ユーザプログラムか らは書き込むことはできません。 <参考> 従来 FR ファミリのモードレジスタのアドレス (0007FFH) には , 何も存在しません。 エミュレータモードでは , 書換え可能です。この場合 , 8 ビット長のデータ転送命令を 使用してください。 16/32 ビット長の転送命令では書き込めません。 モードレジスタの詳細は以下のとおりです。 [ レジスタ詳細説明 ] MODR bit アドレス:0007FDH 7 6 5 4 3 2 1 予約 予約 予約 予約 予約 予約 0 WTH1 WTH0 初期値 XXXXXXXXB 動作モード設定ビット [bit7 ∼ bit2] 予約ビット 必ず "000001B" を設定してください。 "000001B" 以外の値を設定したときの動作は保証できません。 [bit1, bit0] WTH1, WTH0 ( バス幅指定ビット ) 外バスモード時のバス幅指定の設定を行います。 外バスモード時 , この値が ACR0 (CS0 領域 ) の , DBW0 ビットに設定されます。 116 WTH1 WTH0 0 0 8 ビットバス幅 外バスモード 0 1 16 ビットバス幅 〃 1 0 1 1 機能 − シングルチップモード FUJITSU SEMICONDUCTOR LIMITED 備考 設定禁止 シングルチップモード CM71-10143-5 第3章 外部バスインタフェース 外部バスインタフェースの特長 , レジスタ , 動作な どについて説明します。 3.1 外部バスインタフェースの概要 3.2 外部バスインタフェースのレジスタ説明 3.3 チップセレクト領域 3.4 アドレス / データマルチプレックスインタフェース 3.5 DMA アクセス 3.6 レジスタの設定手順 3.7 外部バスインタフェース使用上の注意 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 117 第 3 章 外部バスインタフェース 3.1 外部バスインタフェースの概要 3.1 MB91313A シリーズ 外部バスインタフェースの概要 外部バスインタフェースコントローラは , LSI の内部バスと外部のメモリおよび I/O デバイスとのインタフェースを制御します。 ■ 特長 • アドレス / データマルチプレックスバス (8 ビット /16 ビット幅 ) • 独立した 4 個のバンク ( チップセレクト領域 ) を設定でき , それぞれに対応したチッ プセレクト出力が可能 CS0X, CS1X は , 64K/128K/256K/512K バイト単位で , "003FFFFFH" までの外部バス領 域に割り当てられた空間に設定可能 CS2X, CS3Xは, 1M/2M/4M/8Mバイト単位で, "00400000H"∼"00FFFFFFH"の空間に設 定可能 領域サイズによりバウンダリの制限あり • チップセレクト領域ごとに以下の機能が独立に設定可能 チップセレクト領域の許可・禁止 ( 禁止された領域はアクセスを行いません ) 各種メモリ対応などのアクセスタイミングタイプ設定 詳細アクセスタイミング設定 ( ウェイトサイクルなどのアクセスタイプ個別設定 ) データバス幅設定 (8 ビット /16 ビット ) • アクセスタイミングタイプごとに異なる詳細なタイミングが設定可能 同一タイプでもチップセレクト領域ごとに異なる設定が混在可能 オートウェイトは , 最大 7 サイクルまで設定可能 ( 非同期 SRAM, ROM, Flash, I/O 領 域) 外部 RDY 入力によるバスサイクルの延長が可能 ( 非同期 SRAM, ROM, Flash, I/O 領 域) 各種アイドル・リカバリサイクル , セットアップ遅延などの挿入が可能 • 外部インタフェースの未使用端子は , 設定により汎用 I/O ポートとして使用可能 118 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.1 外部バスインタフェースの概要 MB91313A シリーズ ■ ブロックダイヤグラム 図 3.1-1 外部バスインタフェースのブロックダイヤグラム 内部 内部 アドレスバス データバス 32 32 / / A-Out MUX ライト バッファ スイッチ リード バッファ スイッチ 外部 データバス データブロック アドレスブロック +1または+2 アドレス バッファ A-Out コンパ レータ ASR ASZ 外部端子制御部 CS0X~CS3X RDX WR0X, WR1X ASX 全ブロック制御 レジスタ & 制御 RDX CLK ■ I/O ピン 外部バスインタフェースの端子です。 <マルチプレックスバスインタフェース> AD15 ∼ AD00 CS0X, CS1X, CS2X, CS3X ASX, CLK RD WR0X, WR1X RDY CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 119 第 3 章 外部バスインタフェース 3.1 外部バスインタフェースの概要 MB91313A シリーズ ■ レジスタ一覧 図 3.1-2 外部バスインタフェースのレジスタ一覧 アドレス bit31 24 23 16 15 8 7 000640H ASR0 ACR0 000644H ASR1 ACR1 000648H ASR2 ACR2 00064CH ASR3 ACR3 000650H 予約 予約 000654H 予約 予約 000658H 予約 予約 00065CH 予約 予約 000660H AWR0 AWR1 000664H AWR2 AWR3 000668H 予約 予約 00066CH 予約 予約 0 000670H 予約 予約 予約 予約 000674H 予約 予約 予約 予約 000678H 予約 予約 予約 予約 00067CH 予約 予約 予約 予約 000680H CSER 予約 予約 予約 000684H 予約 予約 予約 予約 000688H 予約 予約 予約 予約 00068CH 予約 予約 予約 予約 0007F8H 予約 予約 予約 予約 0007FCH 予約 予約 予約 予約 予約 : 予約レジスタです。書き込む場合は , 必ず "0" を設定してください。 120 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ 外部バスインタフェースのレジスタ説明 3.2 外部バスインタフェースで使用するレジスタの構成および機能について説明します。 ■ ASR0 ∼ ASR3 (Area Select Register) 図 3.2-1 ASR (Area Select Register) のビット構成 ASR0 bit15 … 8 7 6 ... 1 0 アドレス: 000640H 予約 … 予約 A23 A22 ... A17 A16 ASR1 bit15 … 8 7 6 1 0 アドレス: 000644H 予約 … 予約 A23 A22 A17 A16 ASR2 bit15 … 8 7 6 1 0 アドレス: 000648H 予約 … 予約 A23 A22 A17 A16 ASR3 bit15 … 8 7 6 1 0 アドレス: 00064CH 予約 … 予約 A23 A22 A17 A16 ... ... ... 初期値 INIT 時 RST 時 アクセス 0000H 0000H R/W 00XXH 00XXH R/W 00XXH 00XXH R/W 00XXH 00XXH R/W [bit15 ∼ bit8] 予約 : 予約ビット 必ず , "00H" を設定してください。 [bit7 ∼ bit0] A23 ∼ A16 ASR0 ∼ ASR3(Area Select Register 0 ∼ 3) は , CS0X ∼ CS3X の各チップセレクト領 域の開始アドレスを指定します。 開始アドレスは , A[23:16] の上位 8 ビットを設定できます。各チップセレクト領域 は , このレジスタに設定されたアドレスから始まり , ACR0 ∼ ACR3 レジスタの ASZ[1:0] ビットで設定された範囲をとります。 各チップセレクト領域のバウンダリは , ACR0 ∼ ACR3 レジスタの ASZ[1:0] ビット の設定に従います。例えば , ASZ[1:0] ビットにより , 1M バイトの領域を設定した場 合は , ASR0 ∼ ASR3 レジスタの下位 4 ビットは無視され , A[23:20] ビットのみ意味 を持ちます。 ASR0 レジスタは , INIT および RST により , "00H" に初期化されます。ASR1 ∼ ASR3 は , INIT および RST によっては初期化されず , 不定となります。LSI の動作 開始後 , CSER レジスタにより各チップセレクト領域を有効にする前に , 必ず対応 する ASR レジスタを設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 121 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ ■ ACR0 ∼ ACR3 (Area Configuration Register) 図 3.2-2 ACR (Area Configuration Register) のビット構成 ACR0H アドレス: 000642H bit15 14 予約 予約 ACR0L アドレス: 000643H bit7 6 予約 bit15 14 予約 予約 ACR1L bit7 6 000647H 予約 ACR2H アドレス: 00064AH bit15 14 予約 予約 ACR2L アドレス: 00064BH bit7 6 ASZ1 ASZ0 5 4 13 12 ASZ1 ASZ0 5 4 予約 WREN 予約 13 12 ASZ1 ASZ0 5 4 予約 WREN 予約 ACR3H アドレス: 00064EH bit15 14 予約 予約 ACR3L アドレス: 00064FH bit7 6 予約 12 予約 WREN 予約 ACR1H アドレス: 000646H 予約 13 13 12 ASZ1 ASZ0 5 4 予約 WREN 予約 8 初期値 INIT 時 RST 時 アクセス 予約 00110X00B 00110X00B R/W TYP3 TYP2 TYP1 TYP0 00000000B 00000000B R/W 11 10 9 予約 DBW0 予約 3 11 2 10 1 9 予約 DBW0 予約 3 2 1 0 8 予約 00XX0X00B 00XX0X00B 0 TYP3 TYP2 TYP1 TYP0 00X0XXXXB 00X0XXXXB 11 10 9 予約 DBW0 予約 3 2 1 10 9 予約 DBW0 予約 3 2 1 R/W 8 予約 00XX0X00B 00XX0X00B R/W 0 TYP3 TYP2 TYP1 TYP0 00X0XXXXB 00X0XXXXB 11 R/W R/W 8 予約 00XX0X00B 00XX0X00B R/W 0 TYP3 TYP2 TYP1 TYP0 00X0XXXXB 00X0XXXXB R/W ACR0 ∼ ACR3(Area Configuration Register 0 ∼ 3) は , 各チップセレクト領域の機能を設 定します。 [bit15, bit14] 予約 : 予約ビット 必ず , "00B" を設定してください。 122 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ [bit13, bit12] ASZ1, ASZ0 = Area Size Bit [1:0] 各チップセレクト領域のサイズを以下のとおり設定します。 Register ASZ1 ASZ0 各チップセレクト領域のサイズ 0 0 64 K バイト (00010000H バイト , ASR A[23:16] ビット指定が有効 ) 0 1 128 K バイト (00020000H バイト , ASR A[23:17] ビット指定が有効 ) 1 0 256 K バイト (00040000H バイト , ASR A[23:18] ビット指定が有効 ) 1 1 512 K バイト (00080000H バイト , ASR A[23:19] ビット指定が有効 ) 0 0 1M バイト (00100000H バイト , ASR A[23:20] ビット指定が有効 ) 0 1 2M バイト (00200000H バイト , ASR A[23:21] ビット指定が有効 ) 1 0 4M バイト (00400000H バイト , ASR A[23:22] ビット指定が有効 ) 1 1 8M バイト (00800000H バイト , ASR A[23] ビット指定のみ有効 ) ASR0/ ASR1 ASR2/ ASR3 設定 CS0X, CS1X のみ有効 CS2X, CS3X のみ有効 ASZ[1:0] では , ASR とのアドレス比較のビット数を変更させることにより , 各領域 のサイズを設定します。そのため , ASR は比較されないビットが存在します。 ACR0 の ASZ[1:0] ビットは , RST により "11B" に初期化されますが , この設定にか かわらず RST 直後の CS0 領域は特別に "00000000H" から "00FFFFFFH"( 全領域 ) に 設定されています。ACR0 への最初の書込み後より , 全領域設定が解除され , 上記の 表に従ったサイズに設定されます。 [bit11] 予約 : 予約ビット 必ず , "0" を設定してください。 [bit10] DBW0 = Data Bus Width[0] 各チップセレクト領域のデータバス幅を以下のとおり設定します。 DBW0 データバス幅 0 8 ビット 1 16 ビット ( バイトアクセス ) ( ハーフワードアクセス ) ACR0 の DBW0 ビットは , リセットシーケンス中にモードベクタの WTH ビットの 値と同じ値が自動的に書き込まれます。 [bit9 ∼ bit6] 予約 : 予約ビット 必ず , "0000B" を設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 123 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ [bit5] WREN = WRite ENable 各チップセレクト領域の書込みの許可・禁止を設定します。 WREN 書込み許可・禁止 0 書込み禁止 1 書込み許可 書込みが禁止された領域に対する書込みアクセスが内部バスから発生しても , その アクセスは無視され , 外部アクセスを一切行いません。 データ領域など , 書込みが必要な領域は , WREN ビットに "1" を設定してください。 [bit4] 予約 : 予約ビット 必ず , "0" を設定してください。 [bit3 ∼ bit0] TYP3 ∼ TYP0 = TYPe select 各チップセレクト領域のアクセスタイプを以下のとおり設定します。 TYP3 TYP2 TYP1 TYP0 アクセスタイプ 0 x x 通常アクセス ( 非同期 SRAM, I/O, single ROM/Flash) 1 x x アドレスデータマルチプレックスアクセス (8/16 ビットバス幅限定 ) x 0 RDY 端子による WAIT 挿入無効 x 1 RDY 端子による WAIT 挿入有効 0 x WR0X, WR1X 端子をライトストローブとして使用 1 x 設定禁止 0 設定禁止 1 設定禁止 0 x 0 1 124 0 0 1 0 設定禁止 0 1 1 設定禁止 1 0 0 設定禁止 1 0 1 設定禁止 1 1 0 設定禁止 1 1 1 マスク領域設定 ( アクセスタイプは重複した領域のものになります ) * FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ 各ビットは , 組み合せて設定します。 各アクセスタイプの動作詳細は , 動作解説の項を参照してください。 *: CS 領域マスク設定機能 ある CS 領域 ( 以降 , ベース設定領域とよびます ) の中に , 一部動作設定を変更 した領域を定義したい場合 , 別の CS 領域の設定にて , ACR:TYP[3:0]=1111B を設 定し , マスク設定領域として機能させることができます。 マスク設定機能を使用しない場合 , 複数の CS 領域でオーバラップする領域設 定は禁止します。 マスク設定領域へのアクセスは , 以下のような動作を行います。 - マスク設定領域に対応する CSX はアサートされません。 - ベース設定領域に対応する CSX がアサートされます。 - ACR の以下の設定はマスク設定領域側のものが有効になります。 bit10 DBW0 : バス幅設定 bit5 WREN : 書込み許可設定 * *: この設定のみ , ベース設定領域と異なる設定は禁止します。 - ACR の以下の設定はベース設定領域側のものが有効になります。 bit3 ∼ bit0 TYP[3:0] : アクセスタイプ設定 - AWR の設定はマスク設定領域側のものが有効になります。 マスク設定領域は , ほかの CS 領域 ( ベース設定領域 ) 内の一部の領域にのみ 設定できます。ベース設定領域がない領域に対して , マスク設定領域を設けて はいけません。また , マスク設定領域を複数重複させてはいけません。ASR お よび ACR:ASZ[1:0] ビットの設定には十分注意してください。 ( 制限事項 ) 書込み許可設定をマスクで実現することはできません。 書込み許可設定は , ベースとなる CS 領域と , マスク設定領域とで , 同じ設 定としてください。 マスク設定領域で書込み禁止を設定すると ,その領域はマスクされずベース CS 領域として動作します。 ベース CS 領域で書込み禁止を設定し , マスク設定領域で書込み許可を設定 すると , ベース設定のない領域となり誤動作します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 125 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ ■ AWR0 ∼ AWR3 (Area Wait Register) 図 3.2-3 AWR (Area Wait Register) のビット構成 AWR0H bit15 14 13 12 11 10 9 8 初期値 INIT 時 RST 時 アクセス アドレス: 000660H 予約 W14 W13 W12 予約 予約 予約 予約 01110000B 01110000B R/W bit7 6 5 4 3 2 1 0 予約 W06 予約 W04 予約 W02 W01 W00 01011011B 01011011B R/W AWR1H アドレス: 000662H bit15 14 13 12 11 10 9 8 予約 W14 W13 W12 予約 予約 予約 予約 0XXX0000B 0XXX0000B R/W AWR1L アドレス: 000663H bit7 6 5 4 3 2 1 予約 W06 予約 W04 予約 W02 W01 AWR2H アドレス: 000664H bit15 14 13 12 11 10 9 予約 W14 W13 W12 予約 予約 予約 AWR2L アドレス: 000665H bit7 6 5 4 3 2 1 予約 W06 予約 W04 予約 W02 W01 AWR3H アドレス: 000666H bit15 14 13 12 11 10 9 予約 W14 W13 W12 予約 予約 予約 AWR3L アドレス: 000667H bit7 6 5 4 3 2 1 予約 W06 予約 W04 予約 W02 W01 AWR0L アドレス: 000661H 0 W00 0X0X1XXXB 0X0X1XXXB R/W 8 予約 0XXX0000B 0XXX0000B R/W 0 W00 0X0X1XXXB 0X0X1XXXB R/W 8 予約 0XXX0000B 0XXX0000B R/W 0 W00 0X0X1XXXB 0X0X1XXXB R/W R/W: リード / ライト可能 AWR0 ∼ AWR3 は , 各チップセレクト領域の各種ウェイトタイミングを指定します。 ACR0 ∼ ACR3 レジスタのアクセスタイプ (TYP[3:0] ビット ) の設定により , 各ビット の働きが変わります。 126 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ ■ 通常アクセスおよびアドレス / データマルチプレックスアクセス ACR0 ∼ ACR3 レジスタのアクセスタイプ (TYP[3:0] ビット ) に以下の設定を行った チップセレクト領域は , 通常アクセスまたはアドレス / データマルチプレックスアクセ ス動作を行う領域となります。 TYP3 TYP2 TYP1 TYP0 0 0 x x 通常アクセス ( 非同期 SRAM, I/O, single ROM/Flash) 0 1 x x アドレスデータマルチプレックスアクセス (8/16 ビットバス幅限定 ) アクセスタイプ 通常アクセスまたはアドレス / データマルチプレックスアクセス領域に対しての AWR0 ∼ AWR3 の各ビットの機能を以下に示します。AWR0 以外は初期値が不定です ので , 各領域を CSER レジスタによって有効にする前に設定を行ってください。 [bit15] 予約 : 予約ビット 必ず , "0" を設定してください。 [bit14 ∼ bit12] W14 ∼ W12 = ファーストアクセスウェイトサイクル (First Access Wait Cycle) 各サイクルの最初のアクセスサイクルに挿入するオートウェイトサイクル数を設 定します。 CS0 領域は , 初期値 7 ウェイトに設定されます。その他の領域は初期値不定です。 W14 W13 W12 0 0 0 自動ウェイトサイクル 0 0 0 1 自動ウェイトサイクル 1 ファーストアクセスウェイトサイクル … … 1 1 0 自動ウェイトサイクル 6 1 1 1 自動ウェイトサイクル 7 [bit11 ∼ bit7] 予約 : 予約ビット 必ず , "00000B" を設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 127 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ [bit6] W06 = リード→ライトアイドルサイクル (Read → Write Idle Cycle) リード→ライトアイドルサイクルは , リードサイクル後にライトサイクルが続く場 合に , リードデータとライトデータのデータバス上での衝突を防ぐために設定しま す。アイドルサイクル中はすべてのチップセレクト信号をネゲートし , データ端子 はハイインピーダンス状態を維持します。 読出し後に書込みが続く場合 , もしくは読出しの後に別のチップセレクト領域への アクセスが発生した場合に , 指定したアイドルサイクルを挿入します。 W06 リード→ライトアイドルサイクル 0 0 サイクル 1 1 サイクル [bit5] 予約 : 予約ビット 必ず "0" を設定してください。 [bit4] W04 = ライトリカバリサイクル (Write Recovery Cycle) ライトリカバリサイクルは , ライトアクセス後に続けてアクセスする際の間隔に制 限のあるデバイスへのアクセスを制御する場合に設定します。ライトリカバリサイ クル中はすべてのチップセレクト信号をネゲートし , データ端子はハイインピーダ ンスを維持します。 ライトリカバリサイクルを "1" 以上に設定した場合は , ライトアクセスの後には必 ずライトリカバリサイクルが挿入されます。 W04 ライトリカバリサイクル 0 0 サイクル 1 1 サイクル [bit3] 予約 : 予約ビット 必ず "1" を設定してください。 128 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ [bit2] W02 = アドレス→ CSnX 遅延 (Address → CSnX Delay) アドレス→ CSnX 遅延設定は , CSnX の立下りに対してアドレスなどが一定のセッ トアップを必要とする場合や , 連続して同一のチップセレクト領域にアクセスする 際にも CSnX のエッジを必要とする場合などに設定します。 アドレスおよび ASX 出力から , CS0X ∼ CS3X 出力の遅延を設定します。 W02 アドレス→ CSnX 遅延 0 遅延なし 1 遅延あり "0" を設定し , 遅延なしを選択した場合は , ASX のアサートと同じタイミングで CS0X ∼ CS3Xがアサート開始されます。 このとき,同じチップセレクト領域に連続したアクセスを 実行した場合 , 両アクセスの間も CS0X ∼ CS3X はアサートを継続したまま変化しないこ とがあります。 "1" を設定し , 遅延ありを選択した場合は , 外部メモリクロック SYSCLK 出力の立 上りから CS0X ∼ CS3X がアサート開始されます。このとき , 同じチップセレクト 領域に連続したアクセスを実行した場合でも , 両アクセスの間に CS0X ∼ CS3X ネ ゲートタイミングが発生します。 CSnX遅延ありを選択した場合は,遅延させたCSnXのアサートから,読出し/書込みス トローブをアサートする前に , 1 サイクルのセットアップサイクルを挿入します (W01 の CSnX → RDX/WRX セットアップ設定と同等の動作となります )。 [bit1] W01 = CSnX → RDX/WRX セットアップ延長サイクル (CSnX → RDX/WRX setup) CSnX→RDX/WRXセットアップ延長サイクルは, CSnXアサート後,読出し/書込みス トローブをアサートするまでの期間を延長する場合に設定します。CSnX アサート 後 , 読出し / 書込みストローブをアサートする前に最低 1 サイクルのセットアップ 延長サイクルを挿入します。 W01 CSnX → RDX/WRX セットアップ延長サイクル 0 0 サイクル 1 1 サイクル "0" を設定し , 0 サイクルを選択した場合は , 最速で CSnX アサート直後の外部メモ リクロック SYSCLK 出力の立上りから RDX/WR0X, WR1X が出力されます。WR0X, WR1X は , 内部バスの状態により , 1 サイクル以上遅れることもあります。 "1" を設定し , 1 サイクルを選択した場合は , RDX/WR0X, WR1X とも , 必ず 1 サイ クル以上遅れて出力されます。 同一チップセレクト領域内で , CSnX をネゲートしないまま連続してアクセスする 場合 , このセットアップ延長サイクルは挿入されません。アドレス確定のセット アップ延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CSnX 遅延を挿入することにより , アクセス時に CSn がいったんネゲートされるため , こ のセットアップ延長サイクルが有効となります。 W02 の CSnX 遅延設定を挿入してある場合 , W01 ビットの設定によらず常にこの セットアップサイクルが有効となります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 129 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ [bit0] W00 = RDX/WRX → CSnX ホールド延長サイクル (RDX/WRX → CSnX Hold Cycle) RDX/WRX → CSnX ホールド延長サイクルは , 読出し / 書込みストローブネゲート後 , CSnX ネゲートまでの期間を延長する場合に設定します。読出し / 書込みストローブ ネゲート後 , CSnX をネゲートする前に 1 サイクルのホールド延長サイクルを挿入 します。 W00 RDX/WRX → CSnX ホールド延長サイクル 0 0 サイクル 1 1 サイクル "0" を設定し , 0 サイクルを選択した場合は , RDX/WR0X, WR1X がネゲートされた 後の外部メモリクロック SYSCLK 出力の立上りエッジよりホールド遅延経過後に , CS0X ∼ CS3X がネゲートされます。 "1" を設定し , 1 サイクルを選択した場合は , CS0X ∼ CS3X は 1 サイクル遅れてネ ゲートされます。 同一チップセレクト領域内で , CSnX をネゲートしないまま連続してアクセスする 場合 , このホールド延長サイクルは挿入されません。アドレス確定のホールド延長 サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CSnX 遅延を挿入 することにより , アクセス時に CSnX がいったんネゲートされるため , このホール ド延長サイクルが有効となります。 130 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.2 外部バスインタフェースのレジスタ説明 MB91313A シリーズ ■ CSER (Chip Select Enable Register) 図 3.2-4 CSER (Chip Select Enable Register) のビット構成 bit アドレス: 000680H 31 30 29 28 予約 予約 予約 予約 27 26 25 初期値 INIT 時 RST 時 24 CSE3 CSE2 CSE1 CSE0 00000001B 00000001B アクセス R/W 各チップセレクト領域の許可 / 禁止を設定します。 [bit31 ∼ bit28] 予約 : 予約ビット 必ず , "0000B" を設定してください。 [bit27 ∼ bit24] CSE3 ∼ CSE0 = チップセレクト領域許可 (Chip select enable 0 ∼ 3) CS0X ∼ CS3X の各チップセレクト領域許可ビットです。 初期値は , "0001B" で CS0 領域のみ許可されています。 "1" を書き込むことにより ASR0 ∼ ASR3, ACR0 ∼ ACR3, AWR0 ∼ AWR3 の設定に 従い , 動作します。 許可にする前に , 必ず対応するチップセレクト領域のすべての設定を行ってくださ い。 CM71-10143-5 CSE3 ∼ CSE0 領域コントロール 0 禁止 1 許可 CSE のビット 対応する CSX bit24 :CSE0 CS0X bit25 :CSE1 CS1X bit26 :CSE2 CS2X bit27 :CSE3 CS3X FUJITSU SEMICONDUCTOR LIMITED 131 第 3 章 外部バスインタフェース 3.3 チップセレクト領域 3.3 MB91313A シリーズ チップセレクト領域 外部バスインタフェースは全 4 領域分のチップセレクト領域が設定できます。 ■ チップセレクト領域の設定例 各領域のアドレス空間は ASR0 ∼ ASR3(Area Select Register) と ACR0 ∼ ACR3(Area Configuration Register) にて設定します。CS0X, CS1X は , 64K/128K/256K/512K バイト単 位で , "00000000H" ∼ "003FFFFFH" までの外部バス領域に割り当てられた空間に , CS2X, CS3Xは, 1M/2M/4M/8Mバイト単位で, "00400000H"∼"00FFFFFFH"の空間に設定可能で す。 これらのレジスタによって指定された領域に対してバスアクセスを行うと,アクセスサ イクル中に対応するチップセレクト信号 CS0X ∼ CS3X がアクティブ ("L" 出力 ) にな ります。 ● ASR および ASZ[1:0] の設定例 1. ASR1=0010H ACR1 → ASZ[1:0]=00B チップセレクト領域 1 は , "00100000H" から "0010FFFFH" に割り当てられます。 2. ASR2=0040H ACR2 → ASZ[1:0]=00B チップセレクト領域 2 は , "00400000H" から "004FFFFFH" に割り当てられます。 3. ASR3=0081H ACR3 → ASZ[1:0]=11B チップセレクト領域 3 は , "00800000H" から "00FFFFFFH" に割り当てられます。 このとき , ACR → ASZ[1:0] が 8M バイトの設 定になっていますので , バウンダリは 8M バイ ト単位となり , ASR3[22:16] は無視されます。 リセット後は , ACR0 に書込みが行われるまでの間 , "00000000H"∼ "00FFFFFFH" がチッ プセレクト領域 0 に割り当てられます。 ( 注意事項 ) チップセレクト領域は , お互いにオーバラップしないように設定してく ださい。 132 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.3 チップセレクト領域 MB91313A シリーズ 図 3.3-1 チップセレクト領域の設定例 ( 初期値 ) 00000000H (例) 00000000H 00100000H 領域 1 64K バイト 00400000H 領域 2 1M バイト 00800000H 領域 3 8M バイト 領域 0 00FFFFFFH CM71-10143-5 00FFFFFFH FUJITSU SEMICONDUCTOR LIMITED 133 第 3 章 外部バスインタフェース 3.4 アドレス / データマルチプレックスインタフェース 3.4 MB91313A シリーズ アドレス / データマルチプレックスインタフェース アドレス / データマルチプレックスの動作タイミングを示します。 ■ 外部ウェイトなし (TYP[3:0]=0100B, AWR=0008H) 図 3.4-1 アドレス / データマルチプレックスインタフェースのタイミングチャート ( 外部ウェイトなし ) SYSCLK AD[15:0] アドレス[15:0] ASX CSnX RDX 読出し AD[15:0] アドレス[15:0] データ[15:0] WRnX 書込み AD[15:0] アドレス[15:0] データ[15:0] • ACR レジスタ TYP[3:0]=01xxB と設定することによりアドレス / データマルチプレッ クスインタフェース設定が可能です。 • アドレス / データマルチプレックスインタフェースに設定した場合 , データバス幅 (DBW0 ビット ) の設定は 8 ビットもしくは 16 ビットに設定してください。 • アドレス / データマルチプレックスインタフェースでは , アドレス出力サイクル 2 サ イクル + データサイクル 1 サイクルの計 3 サイクルが基本アクセスサイクルとなり ます。 • アドレス出力サイクルでは , 出力アドレスラッチ信号として ASX をアサートします が , CSnX → RDX/WRnX セットアップ遅延 (AWR:W01) が "0" に設定してある場合 , 上図のようにマルチプレックスアドレス出力サイクルが 1 サイクルのみとなり , ア ドレスを ASX の立上りエッジで直接ラッチすることは不可能となります。このた め , ASX に "L" がアサートされているサイクルの MCLK の立上りエッジでアドレス を取り込んでください。アドレスを ASX の立上りエッジで直接ラッチする場合は , 「■ CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH)」を参照 してください。 134 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 3 章 外部バスインタフェース 3.4 アドレス / データマルチプレックスインタフェース • AD[15:0] には , 時分割バスサイクル中 , 通常インタフェースと同様にアクセスの先 頭を示すアドレスを出力しますので , アドレス / データマルチプレックスインタ フェースで 8/16 ビット以上のアドレスを使用したい場合に使用してください。 • 自動ウェイト (AWR:W14 ∼ W12), リード→ライトアイドルサイクル (AWR:W06), ラ イトリカバリ (AWR:W04), アドレス→ CSnX 遅延 (AWR:W02), CSnX → RDX/WRX セットアップ遅延 (AWR:W01), RDX/WRX → CSnX ホールド遅延 (AWR:W00) の設 定は , 通常インタフェースと同様に設定可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 135 第 3 章 外部バスインタフェース 3.4 アドレス / データマルチプレックスインタフェース MB91313A シリーズ ■ 外部ウェイトあり (TYP[3:0]=0101B, AWR=1008H) 図 3.4-2 アドレス / データマルチプレックスインタフェースのタイミングチャート ( 外部ウェイトあり ) SYSCLK AD[15:0] アドレス[15:0] ASX CSnX RDX 読出し AD[15:0] アドレス[15:0] データ[15:0] WRnX 書込み AD[15:0] データ[15:0] アドレス[15:0] 外部ウェイト 解除 RDY ACR レジスタ TYP[3:0]=01x1B と設定することにより , アドレス / データマルチプレッ クスインタフェースにおいて RDY 入力を有効とすることが可能です。 136 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 3 章 外部バスインタフェース 3.4 アドレス / データマルチプレックスインタフェース ■ CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH) 図 3.4-3 アドレス / データマルチプレックスインタフェースのタイミングチャート (CSnX → RDX/WRnX セットアップ設定 ) SYSCLK AD[15:0] アドレス[15:0] ASX CSnX RDX 読出し AD[15:0] アドレス[15:0] データ[15:0] アドレス[15:0] データ[15:0] WRnX 書込み AD[15:0] CSnX→RDX/WRnXセットアップ遅延 (AWR:W01) を"1"に設定すると,上図のようにマ ルチプレックスアドレス出力サイクルが 1 サイクル延長され , アドレスを ASX の立上 りエッジで直接ラッチすることが可能となります。SYSCLK を使用せずに ASX を ALE (Address Latch Enable) ストローブとして使用したい場合にこの設定を用いてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 137 第 3 章 外部バスインタフェース 3.5 DMA アクセス 3.5 MB91313A シリーズ DMA アクセス DMA アクセスの動作タイミングを示します。 ■ two-cycle転送(内部RAM→外部I/O, RAM,外部I/O, RAM→内部RAMもタイミング は同じ ) (TYP[3:0]=0000B, AWR=0008H) 図 3.5-1 2 サイクル転送 ( 内部 RAM →外部 I/O, RAM) のタイミングチャート (I/O 側のウェイト設定なしの場合 ) SYSCLK AD[15:0] I/O アドレス ASX CSnX (I/O側) WRnX AD[15:0] バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。 138 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 3 章 外部バスインタフェース 3.5 DMA アクセス MB91313A シリーズ ■ two-cycle 転送 ( 外部→ I/O) (TYP[3:0]=0000B, AWR=0008H) 図 3.5-2 2 サイクル転送 ( 外部→ I/O) のタイミングチャート ( メモリ , I/O のウェイト設定なしの場合 ) SYSCLK AD[15:0] メモリアドレス アイドル I/O アドレス ASX CSnX RDX CSnX WRnX AD[15:0] バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 139 第 3 章 外部バスインタフェース 3.5 DMA アクセス MB91313A シリーズ ■ two-cycle 転送 (I/O →外部 ) (TYP[3:0]=0000B, AWR=0008H) 図 3.5-3 2 サイクル転送 (I/O →外部 ) のタイミングチャート ( メモリ , I/O のウェイト設定なしの場合 ) SYSCLK AD[15:0] I/O アドレス アイドル メモリアドレス ASX CSnX WRnX CSnX RDX AD[15:0] バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。 140 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 3.6 第 3 章 外部バスインタフェース 3.6 レジスタの設定手順 レジスタの設定手順 外部バスインタフェースのレジスタの設定手順を示します。 ■ レジスタの設定手順 外部バスインタフェースに関する設定手順は , 以下の原則に従ってください。 (1) レジスタの内容を書き換える場合は , 必ず CSER レジスタの対応する領域を "0" に 設定して行ってください。 "1" のまま設定を変更した場合 , その前後のアクセスは保証されません。 (2) レジスタの変更は以下の手順で行ってください。 ①該当領域に対応する CSER のビットを "0" に設定してください。 ② ASR と ACR をワードアクセスで同時に設定してください。 ASR, ACR をハーフワードでアクセスする場合には ASR 設定後 ACR を設定してく ださい。 ③ AWR を設定してください。 ④該当領域に対する CSER のビットを設定してください。 (3) CS0X 領域はリセット解除後から有効になっており , プログラム領域として使用し ている場合は CSER を "1" のままで書き換える必要がありますが , この場合は内部 クロックが低い初期状態で上記② , ③の設定を行ってください。その後 , クロック を高速クロックに切り換えてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 141 第 3 章 外部バスインタフェース 3.7 外部バスインタフェース使用上の注意 3.7 MB91313A シリーズ 外部バスインタフェース使用上の注意 外部バスインタフェースを使用する上での注意事項を説明します。 ■ 使用上の注意事項 (1) WR0X, WR1X をライトストローブとして使用する領域 (TYP[3:0]=0X0XB) と WRnX を ライトストローブとして使用する領域 (TYP[3:0]=0X1XB) を混在させる設定にした場 合 , 使用するすべての領域にて , 必ず以下の設定を行ってください。 ① リード→ライトアイドルサイクルを最低 1 サイクル以上設定してください (AWR: W06=1)。 ② ライトリカバリサイクルを最低 1 サイクル以上設定してください (AWR:W04=1)。 ただし , WR0X, WR1X をライトストローブとして使用する領域 (TYP[3:0]=0X0XB) で WR0X, WR1X が無効な (ROM のみ接続されている ) 場合は , 上記制限はありま せん。また , WRX をライトストローブとして使用する領域 (TYP[3:0]=0X1XB) の設 定でアドレス→ RDX/WRX セットアップサイクル (W01=1), RDX/WRX →アドレス ホールドサイクル (W00=1) をともに設定している場合も上記制限はありません。 <制限理由> TYP[3:0]=0X1XB と設定して WRnX をライトストローブとして使用する領域では , WR0X/WR1X 端子がバイトイネーブル (UBX/LBX) 出力となります。この場合 , バイ トイネーブル出力はアドレスおよび CSX 出力と同一のタイミングで , 各バイト位置 のイネーブル信号を出力します。 このため , WR0X/WR1X 端子を非同期ライトストローブとして使用している領域へ のアクセスが前後にあった場合 , そちらの領域において , CSX と WR0X/WR1X 間の 交流規格を満足できなくなり , 誤書込みが発生する可能性があります。 リード→ライトアイドルサイクル , およびライトリカバリサイクルを設定した場合 , これらサイクルでは , CSX はアサートされません ("H" レベルを維持 ) ので , 上記交流 規格を満足することができます。 WR0X/WR1X 端子を非同期ライトストローブとして使用している領域にて , CSX と WR0X/WR1X 間の交流規格 ( セットアップおよびホールド ) に対し余裕がある場合 は , 本制限は必要ありません。 142 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第4章 I/O ポート I/O ポートの概要 , レジスタの構成および機能につ いて説明します。 4.1 I/O ポートの概要 4.2 ポートデータレジスタの設定 4.3 データ方向レジスタの設定 4.4 拡張ポート制御レジスタの設定 4.5 プルアップ制御レジスタ 4.6 外バス , I2C ブリッジ , ADER 制御レジスタ 4.7 I2C 用ノイズフィルタ制御レジスタ CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 143 第 4 章 I/O ポート 4.1 I/O ポートの概要 4.1 MB91313A シリーズ I/O ポートの概要 I/O ポートの概要について説明します。 ■ ポート基本ブロックダイヤグラム 各端子に対応する外部バスインタフェースやペリフェラルが入出力として端子を使用 しない設定になっているとき , I/O ポートとして使用することができます。 図 4.1-1 に , ポート基本ブロックダイヤグラムを示します。 図 4.1-1 ポート基本ブロックダイヤグラム R-bus CMOS 外部バス インタフェース入力 CMOS シュミット ペリフェラル入力 0 PDRリード 1 PullUp PCR コント ロール 33kΩ 外部バス制御出力 ペリフェラル出力 Output ペリフェラル出力 MUX 出力 ドライバ 端子 PDR DDR Port PFR EPFR 144 Direction コント ロール FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 4 章 I/O ポート 4.1 I/O ポートの概要 MB91313A シリーズ ■ ポートの一般的な仕様 • ポートごとにポートデータレジスタ (PDR) があり , 出力データを格納します。リセッ ト後 , PDR レジスタの内容は初期化されません。 • ポートごとにデータ方向レジスタ (DDR) があり , ポートの入出力方向を切り換えま す。リセット後 , すべてのポートは入力となります (DDR=00H)。 - ポート入力モード (PFR=0 & EPFR=0 & DDR=0) PDR 読出し : 対応する外部端子のレベルが読み出されます。 PDR 書込み : ポートデータレジスタに設定値が書き込まれます。 - ポート出力モード (PFR=0 & EPFR=0 & DDR=1) PDR 読出し : ポートデータレジスタの値が読み出されます。 PDR 書込み : ポートデータレジスタに設定値が書き込まれ , 対応する外部端子へ 出力されます。 - ペリフェラル出力モード (PFR=0 & EPFR=0 以外の設定 ) PDR 読出し : DDR=0 のときはペリフェラル出力値が読み出されます。 DDR=1 のときはポートデータレジスタの値が読み出されます。 PDR 書込み : ポートデータレジスタに設定値が書き込まれます。 - ポートの状態にかかわらず , ポートデータレジスタへのリードモディファイライ ト (RMW) 系命令では , レジスタの設定値が読み出されます。 - ペリフェラルへの入力は特別な場合を除き常に端子に接続されています。通常は ポート入力モードでペリフェラルへの入力を行ってください。 • ポートごとにプルアップ制御レジスタがあり , 端子ごとに 33kΩ のプルアップを設 定することができます。 • ポートにはポートファンクションレジスタ(PFR), 一部のポートにはさらに拡張ポー トファンクションレジスタ (EPFR) があり , 主にペリフェラルの出力を制御していま す。 • 外部バスモードで , 外部バスインタフェースに割り当てられている端子は , DDR, PFR の設定を無効とし , バスインタフェースの機能が優先されます。外部バスモー ドでこれらの端子を汎用ポート / ペリフェラル出力として使用する場合は , EPFR を 設定しバスインタフェースとしての機能を無効に設定してください。 • STOP モード時入力は "0" 固定となります。ただし , 外部割込み入力は , 対応する割 込みが有効な場合 (ENIR ビットの設定と PFR/EPFR/DDR による入力端子選択 ) は固 定されず , 端子への入力は割込みとして使用することができます。 • ペリフェラルの双方向信号 (UART の I2C 機能 SOT, SCK) は , PFR で有効となりま す。入出力の切換えについては対応するペリフェラルの章を参照してください。 <注意事項> 汎用ポート入力とペリフェラル入力を切り換えるレジスタはありません。 外部端子から入力された値は , 常に汎用ポートとペリフェラル回路へ伝播しています。 また , DDR で出力設定時も外部へ出力している値が常に汎用ポートとペリフェラル回路 へ伝播しています。 ペリフェラル入力としてご使用の場合は , DDR 入力を使用し , 各ペリフェラル入力信号を 有効にしてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 145 第 4 章 I/O ポート 4.2 ポートデータレジスタの設定 4.2 MB91313A シリーズ ポートデータレジスタの設定 ポートデータレジスタの構成と機能について説明します。 ポートごとにポートデータレジスタ (PDR) があり , 出力データを格納します。リセッ ト後 , PDR レジスタの内容は初期化されません。 ■ ポートデータレジスタ (PDR) の構成 ポートデータレジスタ (PDR:Port Data Register) の構成を示します。 図 4.2-1 ポートデータレジスタ (PDR) の構成 PDR0 PDR1 PDR2 PDR3 PDR4 PDR5 PDR6 PDRC PDRD PDRE PDRF アドレス 000000H 000001H 000002H 000003H 000004H 000005H 000006H 00000CH 00000DH 00000EH 00000FH bit7 PDR07 PDR17 PDR27 PDR37 PDR47 PDR57 PDRC7 PDRD7 PDRE7 PDRF7 R/W bit6 PDR06 PDR16 PDR26 PDR36 PDR46 PDR56 PDRC6 PDRD6 PDRE6 PDRF6 R/W bit5 PDR05 PDR15 PDR25 PDR35 PDR45 PDR55 PDR65 PDRC5 PDRD5 PDRE5 PDRF5 R/W bit4 PDR04 PDR14 PDR24 PDR34 PDR44 PDR54 PDR64 PDRC4 PDRD4 PDRE4 PDRF4 R/W bit3 PDR03 PDR13 PDR23 PDR33 PDR43 PDR53 PDR63 PDRC3 PDRD3 PDRE3 PDRF3 R/W bit2 PDR02 PDR12 PDR22 PDR32 PDR42 PDR52 PDR62 PDRC2 PDRD2 PDRE2 PDRF2 R/W bit1 PDR01 PDR11 PDR21 PDR31 PDR41 PDR51 PDR61 PDRC1 PDRD1 PDRE1 PDRF1 R/W bit0 PDR00 PDR10 PDR20 PDR30 PDR40 PDR50 PDR60 PDRC0 PDRD0 PDRE0 PDRF0 R/W 初期値 XXXXXXXXB XXXXXXXXB XXXXXXXXB XXXXXXXXB XXXXXXXXB XXXXXXXXB --XXXXXXB XXXXXXXXB XXXXXXXXB XXXXXXXXB XXXXXXXXB PDR0 ∼ PDR6, PDRC ∼ PDRF は , I/O ポートの入出力データレジスタです。 対応する DDR0 ∼ DDR6, DDRC ∼ DDRF で入出力制御を行います。 ポートの状態にかかわらず , ポートデータレジスタへのリードモディファイライト (RMW) 系命令では , レジスタの設定値が読み出されます。 146 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 4 章 I/O ポート 4.3 データ方向レジスタの設定 MB91313A シリーズ 4.3 データ方向レジスタの設定 データ方向レジスタの構成と機能について説明します。 ■ データ方向レジスタ (DDR) の構成 データ方向レジスタ (DDR:Data Direction Register) の構成を示します。 図 4.3-1 データ方向レジスタ (DDR) の構成 DDR0 DDR1 DDR2 DDR3 DDR4 DDR5 DDR6 DDRC DDRD DDRE DDRF bit7 bit6 bit5 bit4 アドレス 000400H DDR07 DDR06 DDR05 DDR04 000401H DDR17 DDR16 DDR15 DDR14 000402H DDR27 DDR26 DDR25 DDR24 000403H DDR37 DDR36 DDR35 DDR34 000404H DDR47 DDR46 DDR45 DDR44 000405H DDR57 DDR56 DDR55 DDR54 000406H DDR65 DDR64 00040CH DDRC7 DDRC6 DDRC5 DDRC4 00040DH DDRD7 DDRD6 DDRD5 DDRD4 00040EH DDRE7 DDRE6 DDRE5 DDRE4 00040FH DDRF7 DDRF6 DDRF5 DDRF4 R/W R/W R/W R/W bit3 DDR03 DDR13 DDR23 DDR33 DDR43 DDR53 DDR63 DDRC3 DDRD3 DDRE3 DDRF3 R/W bit2 DDR02 DDR12 DDR22 DDR32 DDR42 DDR52 DDR62 DDRC2 DDRD2 DDRE2 DDRF2 R/W bit1 DDR01 DDR11 DDR21 DDR31 DDR41 DDR51 DDR61 DDRC1 DDRD1 DDRE1 DDRF1 R/W bit0 DDR00 DDR10 DDR20 DDR30 DDR40 DDR50 DDR60 DDRC0 DDRD0 DDRE0 DDRF0 R/W 初期値 00000000B 00000000B 00000000B 00000000B 00000000B 00000000B --000000B 00000000B 00000000B 00000000B 00000000B • ポートごとにデータ方向レジスタ (DDR) があり , ポートの入出力方向を切り換えま す。リセット後 , すべてのポートは入力となります (DDR=00H)。 - ポート入力モード (PFR=0 & EPFR=0 & DDR=0) PDR 読出し : 対応する外部端子のレベルが読み出されます。 PDR 書込み : ポートデータレジスタに設定値が書き込まれます。 - ポート出力モード (PFR=0 & EPFR=0 & DDR=1) PDR 読出し : ポートデータレジスタの値が読み出されます。 PDR 書込み : ポートデータレジスタに設定値が書き込まれ , 対応する外部端子へ 出力されます。 - ペリフェラル出力モード (PFR=1) PDR 読出し : 対応するペリフェラル出力値が読み出されます。 PDR 書込み : ポートデータレジスタに設定値が書き込まれます。 - ペリフェラルへの入力は特別な場合を除き常に端子に接続されています。通常は ポート入力モードでペリフェラルへの入力を行ってください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 147 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 4.4 MB91313A シリーズ 拡張ポート制御レジスタの設定 拡張ポート制御レジスタの機能について説明します。 ■ ポート 0 ポート 0 は PFR0 および EPFR0 により制御されます。 外部バス 16 ビットモードでは , ポート 0 はバスインタフェースの AD[7:0] となります。 それ以外のモードでは , マルチファンクションシリアルインタフェースの ch.3~ch.5 に 割り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を行ってく ださい。 図 4.4-1 拡張ポート制御レジスタ ( ポート 0) の構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 000420 PFR0 H PFR07 PFR06 PFR05 PFR04 PFR03 PFR02 PFR01 PFR00 00000000B EPFR0 000520H EPFR07 EPFR06 EPFR05 EPFR04 EPFR03 EPFR02 EPFR01 EPFR00 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 148 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 表 4.4-1 拡張ポート制御レジスタ ( ポート 0) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 CM71-10143-5 PFR EPFR 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 機能 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 5 の SOT5 出力 / SDA5 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 4 の SCK4 入出力 / SCL4 入出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 4 の SOT4 出力 / SDA4 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 3 の SCK3 入出力 / SCL3 入出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 3 の SOT3 出力 / SDA3 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 FUJITSU SEMICONDUCTOR LIMITED 149 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ ■ ポート 1 ポート 1 は PFR1 および EPFR1 で制御されます。 外部バス 8/16 ビットモードでは , ポート 1 はバスインタフェースの AD[15:8] となりま す。それ以外のモードでは , マルチファンクションシリアルインタフェースの ch.5 ∼ ch.7に割り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を行っ てください。 図 4.4-2 拡張ポート制御レジスタ ( ポート 1) の構成 PFR1 EPFR1 150 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 000421H PFR17 PFR16 PFR15 PFR14 PFR13 PFR12 PFR11 PFR10 00000000B 000521H EPFR17 EPFR16 EPFR15 EPFR14 EPFR13 EPFR12 EPFR11 EPFR10 00000000B R/W R/W R/W R/W R/W R/W R/W R/W FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 表 4.4-2 拡張ポート制御レジスタ ( ポート 1) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 CM71-10143-5 PFR EPFR 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 機能 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 7 の SCK7 入出力 / SCL7 入出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 7 の SOT7 出力 / SDA7 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 6 の SCK6 入出力 / SCL6 入出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 6 の SOT6 出力 / SDA6 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 5 の SCK5 入出力 / SCL5 入出力 設定禁止 FUJITSU SEMICONDUCTOR LIMITED 151 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ ■ ポート 2 ポート 2 は PFR2 および EPFR2 で制御されます。 マルチファンクションシリアルインタフェースの ch.0 ∼ ch.2 に割り当てられます。選 択可能な入力信号は各リソースにて入力端子の選択を行ってください。 図 4.4-3 拡張ポート制御レジスタ ( ポート 2) の構成 PFR2 EPFR2 152 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 000422H PFR27 PFR26 PFR25 PFR24 PFR23 PFR22 PFR21 PFR20 00000000B 000522H EPFR27 EPFR26 EPFR25 EPFR24 EPFR23 EPFR22 EPFR21 EPFR20 11111111B R/W R/W R/W R/W R/W R/W R/W R/W FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 表 4.4-3 拡張ポート制御レジスタ ( ポート 2) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PFR EPFR 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 機能 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 2 の SOT2 出力 / SDA2 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 1 の SCK1 入出力 / SCL1 入出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 1 の SOT1 出力 / SDA1 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 0 の SCK0 入出力 / SCL0 入出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 0 の SOT0 出力 / SDA0 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 外バス設定時以外の場合は外部アドレス出力に設定しても無効となり汎用ポートとな ります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 153 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ ■ ポート 3 ポート 3 は PFR3 および EPFR3 で制御されます。 マルチファンクションシリアルインタフェースの ch.2 リロードタイマ 0/1/2 と PWC に 割り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を行ってく ださい。 図 4.4-4 拡張ポート制御レジスタ ( ポート 3) の構成 PFR3 EPFR3 154 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 000423H PFR37 PFR36 PFR35 PFR34 PFR33 PFR32 PFR31 PFR30 00000000B 000523H EPFR37 EPFR36 EPFR35 EPFR34 EPFR33 EPFR32 EPFR31 EPFR30 11111111B R/W R/W R/W R/W R/W R/W R/W R/W FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 表 4.4-4 拡張ポート制御レジスタ ( ポート 3) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PFR EPFR 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 機能 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 リロードタイマ TOT2 出力 設定禁止 汎用ポート 設定禁止 リロードタイマ TOT1 出力 設定禁止 汎用ポート 設定禁止 リロードタイマ TOT0 出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 2 の SCK2 入出力 / SCL2 入出力 設定禁止 外バス設定時以外の場合は外部アドレス出力に設定しても無効となり汎用ポートとな ります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 155 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ ■ ポート 4 ポート 4 は PFR4 および EPFR4 で制御されます。 多機能タイマに割り当てられます。選択可能な入力信号は各リソースにて入力端子の 選択を行ってください。 図 4.4-5 拡張ポート制御レジスタ ( ポート 4) の構成 PFR4 EPFR4 156 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 000424H PFR47 PFR46 PFR45 PFR44 PFR43 PFR42 PFR41 PFR40 00000000B 000524H EPFR47 EPFR46 EPFR45 EPFR44 EPFR43 EPFR42 EPFR41 EPFR40 11111111B R/W R/W R/W R/W R/W R/W R/W R/W FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 表 4.4-5 拡張ポート制御レジスタ ( ポート 4) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PFR EPFR 機能 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 10 の SCK10 入出力 / SCL10 入出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 10 の SOT10 出力 / SDA10 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 TMO3 出力 設定禁止 汎用ポート 設定禁止 TMO2 出力 設定禁止 汎用ポート 設定禁止 TMO1 出力 設定禁止 汎用ポート 設定禁止 TMO0 出力 設定禁止 外バス設定時以外の場合は外部アドレス出力に設定しても無効となり汎用ポートとな ります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 157 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ ■ ポート 5 ポート 5 は PFR5 および EPFR5 で制御されます。外部バスモード時はバスインタフェー スの制御端子 (CSnX, ASX, RDX, WRnX) となります。それ以外のモードでは , PPG0 ∼ PPG3 に割り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を 行ってください。 図 4.4-6 拡張ポート制御レジスタ ( ポート 5) の構成 PFR5 EPFR5 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 000425H PFR57 PFR56 PFR55 PFR54 PFR53 PFR52 PFR51 PFR50 00000000B 000525H EPFR57 EPFR56 EPFR55 EPFR54 EPFR53 EPFR52 EPFR51 EPFR50 11111111B R/W R/W R/W R/W R/W R/W R/W R/W 表 4.4-6 拡張ポート制御レジスタ ( ポート 5) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PFR EPFR 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 機能 汎用ポート ライトストローブ 1(WR1X) 出力 ( 外部バス設定時に有効 ) 設定禁止 設定禁止 汎用ポート ライトストローブ 0(WR0X) 出力 ( 外部バス設定時に有効 ) 設定禁止 設定禁止 汎用ポート リードストローブ (RDX) 出力 ( 外部バス設定時に有効 ) 設定禁止 設定禁止 汎用ポート アドレスストローブ (ASX) 出力 ( 外部バス設定時に有効 ) 設定禁止 設定禁止 汎用ポート チップセレクト 3(CS3X) 出力 ( 外部バス設定時に有効 ) PPG3 出力 設定禁止 汎用ポート チップセレクト 2(CS2X) 出力 ( 外部バス設定時に有効 ) PPG2 出力 設定禁止 汎用ポート チップセレクト 1(CS1X) 出力 ( 外部バス設定時に有効 ) PPG1 出力 設定禁止 汎用ポート チップセレクト 0(CS0X) 出力 ( 外部バス設定時に有効 ) PPG0 出力 設定禁止 外バス設定時以外の場合は外部制御出力に設定しても無効となり汎用ポートとなりま す。 158 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ ■ ポート 6 ポート 6 は PFR6 および EPFR6 で制御されます。外部バスモード時はバスインタフェー スの制御端子 (RDY, SCLK) となります。それ以外のモードでは , リロードタイマに割 り当てられます。選択可能な入力信号は各リソースにて入力端子の選択を行ってくだ さい。 図 4.4-7 拡張ポート制御レジスタ ( ポート 6) の構成 PFR6 EPFR6 アドレス 000426H 000526H bit7 R/W bit6 R/W bit5 bit4 bit3 bit2 bit1 bit0 初期値 PFR65 PFR64 PFR63 PFR62 PFR61 PFR60 --000000B EPFR65 EPFR64 EPFR63 EPFR62 EPFR61 EPFR60 --001000B R/W R/W R/W R/W R/W R/W 表 4.4-7 拡張ポート制御レジスタ ( ポート 6) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PFR EPFR 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 機能 無効 無効 無効 無効 無効 無効 無効 無効 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート CLK 出力 ( 外部バス設定時に有効 ) 設定禁止 設定禁止 汎用ポート RDY 入力 TOT5 出力 設定禁止 汎用ポート 設定禁止 TOT4 出力 設定禁止 汎用ポート 設定禁止 TOT3 出力 設定禁止 外バス設定時以外の場合は外部制御出力に設定しても無効となり汎用ポートとなります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 159 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ ■ ポート C ポート C は PFRC および EPFRC で制御されます。PPG, マルチファンクションシリア ルインタフェースの ch.9 と兼用しております。 図 4.4-8 拡張ポート制御レジスタ ( ポート C) の構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 PFRC 00042CH PFRC7 PFRC6 PFRC5 PFRC4 PFRC3 PFRC2 PFRC1 PFRC0 00000000B EPFRC 00052CH EPFRC7 EPFRC6 EPFRC5 EPFRC4 EPFRC3 EPFRC2 EPFRC1 EPFRC0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 表 4.4-8 拡張ポート制御レジスタ ( ポート C) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 160 PFR EPFR 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 機能 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 PPGB (PPG2 & PPG3) 出力 設定禁止 汎用ポート 設定禁止 PPGA (PPG0 & PPG1) 出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 9 の SCK9 入出力 / SCL9 入出力 設定禁止 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 9 の SOT9 出力 / SDA9 入出力 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 ■ ポート D ポート D は PFRD および EPFRD で制御されます。A/D コンバータのアナログ入力と兼 用しており , ADER レジスタの対応するビットがセットされると , ポートの設定は無効 となり , アナログ入力端子となります。この場合 , 端子への入力値はすべて "0" として 扱われます。選択可能な入力信号は各リソースにて入力端子の選択を行ってください。 図 4.4-9 拡張ポート制御レジスタ ( ポート D) の構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 PFRD 00042DH PFRD7 PFRD6 PFRD5 PFRD4 PFRD3 PFRD2 PFRD1 PFRD0 00000000B EPFRD 00052DH EPFRD7 EPFRD6 EPFRD5 EPFRD4 EPFRD3 EPFRD2 EPFRD1 EPFRD0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 表 4.4-9 拡張ポート制御レジスタ ( ポート D) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 CM71-10143-5 PFR EPFR 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 機能 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 設定禁止 設定禁止 FUJITSU SEMICONDUCTOR LIMITED 161 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ <注意事項> デフォルトで ADER レジスタは A/D アナログ入力に設定されています。アナログ入力以 外の機能を使用する場合は , ADER レジスタの設定をクリアしてください。 162 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 ■ ポート E ポート E は PFRE および EPFRE で制御されます。マルチファンクションシリアルイン タフェースの ch.8, A/D コンバータのアナログ入力 PPG と兼用しており , ADER レジス タの対応するビットがセットされると , ポートの設定は無効となりアナログ入力端子 となります。この場合 , 端子への入力値はすべて "0" として扱われます。選択可能な入 力信号は各リソースにて入力端子の選択を行ってください。 図 4.4-10 拡張ポート制御レジスタ ( ポート E) の構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 PFRE 00042EH PFRE7 PFRE6 PFRE5 PFRE4 PFRE3 PFRE2 PFRE1 PFRE0 00000000B EPFRE 00052EH EPFRE7 EPFRE6 EPFRE5 EPFRE4 EPFRE3 EPFRE2 EPFRE1 EPFRE0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 163 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ 表 4.4-10 拡張ポート制御レジスタ ( ポート E) の機能 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 164 PFR EPFR 機能 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 8 の SCK8 入出力 / SCL8 入出力 マルチファンクションシリアルインタフェース 8 の SCK8/SCL8 擬似 オープンドレイン出力 汎用ポート 設定禁止 マルチファンクションシリアルインタフェース 8 の SOT8 出力 / SDA8 入出力 マルチファンクションシリアルインタフェース 8 の SOT8/SDA8 擬 似オープンドレイン出力 汎用ポート 設定禁止 設定禁止 設定禁止 汎用ポート 設定禁止 PPG3 出力 PPG3 擬似オープンドレイン出力 汎用ポート 設定禁止 PPG2 出力 PPG2 擬似オープンドレイン出力 汎用ポート 設定禁止 PPG1 出力 PPG1 擬似オープンドレイン出力 汎用ポート 設定禁止 PPG0 出力 PPG0 擬似オープンドレイン出力 汎用ポート 設定禁止 設定禁止 設定禁止 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 ■ ポート F ポートFはPFRFおよびEPFRFで制御されます。 CEC, リモコン0, 1と兼用しております。 図 4.4-11 拡張ポート制御レジスタ ( ポート F) の構成 PFRF EPFRF bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 初期値 00042FH PFRF7 PFRF6 PFRF5 PFRF4 PFRF3 PFRF2 PFRF1 PFRF0 00000000B 00052FH EPFRF7 EPFRF6 EPFRF5 EPFRF4 EPFRF3 EPFRF2 EPFRF1 EPFRF0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 表 4.4-11 拡張ポート制御レジスタ ( ポート F) の機能 ビット PFR EPFR 機能 0 0 汎用ポート 0 1 設定禁止 bit7 1 0 設定禁止 1 1 設定禁止 0 0 汎用ポート 0 1 設定禁止 bit6 1 0 設定禁止 1 1 設定禁止 0 0 汎用ポート 0 1 設定禁止 bit5 1 0 設定禁止 1 1 設定禁止 0 0 汎用ポート 0 1 設定禁止 bit4 1 0 設定禁止 1 1 設定禁止 0 0 汎用ポート 0 1 設定禁止 bit3 1 0 HDMI-CEC1 ACK 出力 * 1 1 設定禁止 0 0 汎用ポート 0 1 設定禁止 bit2 1 0 HDMI-CEC0 ACK 出力 * 1 1 設定禁止 0 0 汎用ポート 0 1 設定禁止 bit1 1 0 HDMI-CEC1 入出力 ( 疑似オープンドレイン ) 1 1 設定禁止 0 0 汎用ポート 0 1 設定禁止 bit0 1 0 HDMI-CEC0 入出力 ( 疑似オープンドレイン ) 1 1 設定禁止 *:MB91F313A のみ ACK 出力を選択できます。MB91F313 では設定禁止です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 165 第 4 章 I/O ポート 4.4 拡張ポート制御レジスタの設定 MB91313A シリーズ <注意事項> HDMI-CEC 入出力モードは , HDMI-CEC モード使用時のみ設定してください。リモコン 受信モードのときは , 汎用ポートを選択し DDRF レジスタで入力に設定して使用してくだ さい。 166 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 4 章 I/O ポート 4.5 プルアップ制御レジスタ MB91313A シリーズ 4.5 プルアップ制御レジスタ 端子には 33kΩ のプルアップを付加する機能があります。この機能はソフトウェア によりビット単位で制御可能です。 ■ プルアップ制御 プルアップ機能はポートプルアップ制御レジスタ (PCR) により , プルアップの制御が 行われます。 以下の場合は , 端子のプルアップは自動的に無効となります。 • ポートが出力状態 • STOP モード出力 Hi-Z 選択時 ■ ポートプルアップ制御レジスタ 表 4.5-1 にポートプルアップ・プルダウン制御レジスタの設定を示します。各ビットの 設定値は対応する PCR が設定されているときのみ有効です。 プルアップ制御可能なポートはポート P07 ∼ P00, P17 ∼ P10, P57 ∼ P50, P65 ∼ P60 で , それらに対応するビットが存在します。 表 4.5-1 ポートプルアップ・プルダウン制御レジスタの設定 ポートプルアップ・プルダウン制御レジスタ ビット PCRxy 0( 初期値 ) 1 プルアップなし プルアップ 図 4.5-1 ポートプルアップ制御レジスタの構成 PCR0 PCR1 PCR5 PCR6 bit7 bit6 bit5 bit4 アドレス 000500H PCR07 PCR06 PCR05 PCR04 000501H PCR17 PCR16 PCR15 PCR14 000505H PCR57 PCR56 PCR55 PCR54 000506H PCR65 PCR64 CM71-10143-5 bit3 PCR03 PCR13 PCR53 PCR63 bit2 PCR02 PCR12 PCR52 PCR62 FUJITSU SEMICONDUCTOR LIMITED bit1 PCR01 PCR11 PCR51 PCR61 bit0 PCR00 PCR10 PCR50 PCR60 初期値 00000000B 00000000B 00000000B --000000B 167 第 4 章 I/O ポート 4.6 外バス , I2C ブリッジ , ADER 制御レジスタ 4.6 MB91313A シリーズ 外バス , I2C ブリッジ , ADER 制御レジスタ 外バスを有効にします。この機能はソフトウェアによりビット単位で制御可能です。 ■ ADER : 外バス , I2C ブリッジ , ADER 制御レジスタ 図 4.6-1 外バス ,I2C ブリッジ ,ADER 制御レジスタの構成 アドレス bit 000570H bit 15 14 13 12 EXT 11 10 9 8 初期値 I2CBR12 I2CBR01 ADER9 ADER8 00000011B 7 6 5 4 3 2 1 0 ADER7 ADER6 ADER5 ADER4 ADER3 ADER2 ADER1 ADER0 11111111B [bit15 ∼ bit12] EXT : 外バス制御 本ビットに "1010B" を書き込むことにより外バス機能が有効になります。 手順は以下のようになります。 • ポート 2 ∼ポート 5 までの PFR, EPFR レジスタで必要な機能を設定します。 • 外バスインタフェースを設定します (640H ∼ 687H)。 • 本ビットに "1010B" を書き込むことにより外バスが有効になります。 • ポート0, 1のデータバスはモードレジスタの設定または外バスインタフェースで 設定したバス幅に対応します。 • 8 ビットバス幅 : ポート 1 がデータバスになります。 • 16 ビットバス幅 : ポート 0, 1 がデータバスになります。 • 本レジスタを設定しない限りシングルチップとして動作しますのでモードレジ スタにはバス幅 8 ビットか 16 ビットを設定してください。 [bit11, bit10] I2CBR12, I2CBR01 : I2C ブリッジ機能 本ビットをセット (=1) すると I2C 端子をブリッジすることができます。 • I2CBR12 をセットすると , P24=P27, P25=P30 がそれぞれチップ内部で短絡しま す。 • I2CBR01 をセットすると , P21=P24, P22=P25 がそれぞれチップ内部で短絡しま す。 • 両方セットすると P21=P24=P27, P22=P25=P30 がチップ内部で短絡します。 [bit9 ∼ bit0] ADER9 ∼ ADER0 : A/D 入力許可 PD0 ∼ PD7, PE0, PE1 端子は A/D コンバータ入力を兼用しています。A/D のアナロ グ入力として使用する場合は対応するビットをセットしてください。 本ビットをセット (=1) することによりチップ内部の入力ゲートを "0" に固定にしま すのでアナログ入力以外の機能を使用する場合は , クリア (=0) にしてください。 本レジスタはハーフワード (16 ビット ) でアクセスしてください。 168 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 4 章 I/O ポート 4.7 I2C 用ノイズフィルタ制御レジスタ MB91313A シリーズ 4.7 I2C 用ノイズフィルタ制御レジスタ I2C 用ノイズフィルタ制御レジスタについて説明します。 ■ NSF: I2C 用ノイズフィルタ制御レジスタ 図 4.7-1 I2C 用ノイズフィルタ制御レジスタの構成 アドレス bit 000578H bit 15 7 NSF7 14 6 NSF6 13 5 NSF5 12 4 NSF4 11 3 NSF3 10 NSF10 2 NSF2 9 NSF9 1 NSF1 8 NSF8 0 NSF0 初期値 -----000B 00000000B [bit10 ∼ bit0] NSF10 ∼ NSF0 : I2C 用ノイズフィルタ許可ビット NSFn 動作 0 ノイズフィルタ禁止 1 ノイズフィルタ許可 (n=0 ∼ 10) 100kbps より上の速度で使用するときのみ "1" に設定してください。 本レジスタはハーフワード (16 ビット ) でアクセスしてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 169 第 4 章 I/O ポート 4.7 I2C 用ノイズフィルタ制御レジスタ 170 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第5章 16 ビットリロードタイマ 16 ビットリロードタイマの概要 , レジスタの構成 / 機能および動作について説明します。 5.1 16 ビットリロードタイマの概要 5.2 16 ビットリロードタイマのレジスタ 5.3 16 ビットリロードタイマの動作 5.4 カウンタの動作状態 5.5 16 ビットリロードタイマの使用上の注意 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 171 第 5 章 16 ビットリロードタイマ 5.1 16 ビットリロードタイマの概要 5.1 MB91313A シリーズ 16 ビットリロードタイマの概要 16 ビットタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジスタ , 内 部カウントクロック作成用プリスケーラ , コントロールレジスタで構成されていま す。 ■ 16 ビットリロードタイマの概要 本シリーズは , 16 ビットリロードタイマを 0 ∼ 2 までの 3 チャネル内蔵しています。 ch.0 ∼ ch.2 は , 割込みによる DMA 転送の起動が可能です。 入力クロックとして内部クロック 3 種類 ( マシンクロックの 2/8/32 分周 ) と外部クロッ クから選択できます。 出力端子 (TOUT) はリロードモード時にはアンダフロー発生ごとにトグル出力波形を 出力し , ワンショットモード時にはカウント中を示す矩形波を出力します。 入力端子 (TIN) は外部イベントカウントモード時にイベント入力となり , 内部クロッ クモード時にはトリガ入力またはゲート入力として使用することができます。 外部イベントカウント機能をリロードモードで使用すると , 外部クロックモードの分 周器として利用することができます。 ■ ブロックダイヤグラム 図 5.1-1 に , 16 ビットリロードタイマのブロックダイヤグラムを示します。 図 5.1-1 16 ビットリロードタイマのブロックダイヤグラム 16ビットリロードレジスタ (TMRLR) リロード R-bus 16ビットダウンカウンタ UF (TMR) RELD OUTL OUT CTL カウント イネーブル INTE AND クロック セレクタ CSL1 CSL0 EXCK プリスケーラ プリスケーラ クリア UF CNTE IRQ TRG ポートへ IN CTL MOD2 MOD1 MOD0 外部トリガ 選択 外部トリガ入力 φ 172 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 5 章 16 ビットリロードタイマ 5.2 16 ビットリロードタイマのレジスタ MB91313A シリーズ 16 ビットリロードタイマのレジスタ 5.2 16 ビットリロードタイマで使用するレジスタの構成と機能について説明します。 ■ 16 ビットリロードタイマのレジスタ一覧 図 5.2-1 16 ビットリロードタイマのレジスタ一覧 bit bit 15 14 13 12 11 10 予約 予約 予約 予約 CSL1 CSL0 7 6 5 4 3 2 1 0 予約 OUTL RELD INTE UF CNTE TRG MOD0 bit15 9 8 MOD2 MOD1 コントロールステータスレジスタ (TMCSR) bit0 16 ビットタイマレジスタ (TMR) bit15 CM71-10143-5 bit0 16 ビットリロードレジスタ (TMRLR) FUJITSU SEMICONDUCTOR LIMITED 173 第 5 章 16 ビットリロードタイマ 5.2 16 ビットリロードタイマのレジスタ MB91313A シリーズ コントロールステータスレジスタ (TMCSR) 5.2.1 コントロールステータスレジスタ (TMCSR) は , 16 ビットタイマの動作モードおよ び割込みの制御をします。 ■ コントロールステータスレジスタ (TMCSR) のビット構成 図 5.2-2 コントロールステータスレジスタ (TMCSR) のビット構成 TMCSR アドレス 15 14 13 12 11 10 9 8 初期値 予約 予約 予約 予約 CSL1 CSL0 MOD2 MOD1 00000000B R R R R R/W R/W R/W R/W 7 6 5 4 3 2 1 0 初期値 MOD0 予約 OUTL RELD INTE UF CNTE TRG 00000000B R/W R/W R/W R/W R/W R/W R/W R/W bit ch.0 00004EH ch.1 000056H ch.2 00005EH bit R/W: リード / ライト可能 R : リードオンリ UF, CNTE, TRG ビット以外のビットの書換えは , CNTE=0 のときに行うようにしてく ださい。 コントロールステータスレジスタ (TMCSR) には , 同時書込みが可能です。 以下に , コントロールステータスレジスタ (TMCSR) のビット機能を説明します。 [bit15 ∼ bit12] 予約 : 予約ビット 読出し値は常に "0000B" となります。 [bit11, bit10] CSL1, CSL0 (Count clock SeLect) これらのビットは , カウントクロックセレクトビットです。これらのビットによっ て選択されるクロックソースを , 表 5.2-1 に示します。また , 外部イベントカウント モードを設定した場合のカウント有効エッジは, MOD1, MOD0ビットにより設定さ れます。 表 5.2-1 CSL ビット設定クロックソース CSL1 CSL0 クロックソース (φ: マシンクロック ) 0 0 φ/21 0 1 φ/23 1 0 φ/25 1 1 外部クロック ( イベント ) ( 注意事項 ) 外部クロックに必要な最小パルス幅は , 2T (T: 周辺系クロックマシンサイクル ) です。 174 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 5 章 16 ビットリロードタイマ 5.2 16 ビットリロードタイマのレジスタ MB91313A シリーズ [bit9 ∼ bit7] MOD2, MOD1, MOD0 (MODe) これらのビットは , 動作モードおよび入出力端子の機能を設定するビットです。 MOD2 ビットは , 入力端子の機能を選択するビットです。"0" の場合 , 入力端子はト リガ入力端子となり , 有効エッジが入力されるとリロードレジスタの内容をカウン タへロードし , カウント動作を継続します。"1" の場合はゲートカウントモードにな り , 入力端子はゲート入力となって有効レベルが入力されている間のみカウントを します。 MOD1, MOD0 ビットは , 各モードにおける端子の機能を設定します。 MOD2, MOD1, MOD0 ビットの設定内容を , 表 5.2-2 および表 5.2-3 に示します。 表 5.2-2 MOD2, MOD1, MOD0 ビットの設定方法 1 ( 内部クロックモード時 (CSL0, CSL1=00B, 01B, 10B) ) MOD2 MOD1 MOD0 入力端子機能 有効エッジ , レベル 0 0 0 トリガ禁止 ― 0 0 1 0 1 0 0 1 1 1 × 0 1 × 1 立上りエッジ トリガ入力 立下りエッジ 両エッジ "L" レベル ゲート入力 "H" レベル 表 5.2-3 MOD2, MOD1, MOD0 ビットの設定方法 2 ( イベントカウントモード時 (CSL0, CSL1=11B) ) MOD2 × MOD1 MOD0 入力端子機能 有効エッジ , レベル 0 0 ― ― 0 1 1 0 1 1 立上りエッジ イベント入力 立下りエッジ 両エッジ ( 注意事項 ) 表中の×は , 任意の値 [bit6] 予約 : 予約ビット 読出し時は常に "0" となります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 175 第 5 章 16 ビットリロードタイマ 5.2 16 ビットリロードタイマのレジスタ MB91313A シリーズ [bit5] OUTL このビットは , TOUT 端子の出力レベルを設定します。このビットが "0" のときと "1" のときとでは , 端子のレベルが逆になります。このビットと bit4 (RELD ビット ) および I/O ポートの PFR レジスタの該当ビットの組合せによって出力波形を指定し ます。表 5.2-4 に , これらのビットの組合せによる設定内容を示します。 表 5.2-4 PFR, RELD, OUTL の設定内容 PFR OUTL RELD 0 × × 汎用ポート 1 0 0 カウント中 "H" 矩形波 1 1 0 カウント中 "L" 矩形波 1 0 1 カウンタスタート時 "L" のトグル出力 1 1 1 カウンタスタート時 "H" のトグル出力 出力波形 ( 注意事項 ) PFR は I/O ポートの PFR レジスタの該当ビット [bit4] RELD このビットは , リロード許可ビットです。"1" のときリロードモードになり , カウン タの値が "0000H" → "FFFFH" へのアンダフローと同時にリロードレジスタの内容を カウンタへロードしてカウント動作を続けます。 "0" のときカウンタの値が "0000H " → "FFFFH" へのアンダフローによりカウント動 作を停止します。 [bit3] INTE このビットは , 割込み要求許可ビットです。INTE ビットが "1" のとき , UF ビット が "1" になると割込み要求を発生します。 "0" のときは , 割込み要求を発生しません。 [bit2] UF このビットは , タイマ割込み要求フラグです。カウンタの値が , "0000H " → "FFFFH" へのアンダフローにより "1" にセットされます。"0" の書込みによってクリアされ ます。 このビットに対して "1" の書込みは , 動作に影響しません。リードモディファイラ イト (RMW) 系命令における読出し時には , "1" が読み出されます。 [bit1] CNTE このビットは , タイマのカウントイネーブルビットです。このビットに "1" を書き 込むと , 起動トリガ待ち状態になります。このビットへ "0" を書き込むと , カウント 動作は停止します。 176 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 5 章 16 ビットリロードタイマ 5.2 16 ビットリロードタイマのレジスタ [bit0] TRG このビットは , ソフトウェアトリガビットです。"1" の書込みによりソフトウェアト リガがかかり , リロードレジスタの内容をカウンタへロードして , カウント動作を 開始します。 このビットに対して "0" の書込みは , 動作に影響しません。読出し値は , 常に "0" で す。このレジスタによるトリガ入力は , CNTE=1 のときのみ有効となります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 177 第 5 章 16 ビットリロードタイマ 5.2 16 ビットリロードタイマのレジスタ 5.2.2 MB91313A シリーズ 16 ビットタイマレジスタ (TMR) 16 ビットタイマレジスタ (TMR) は , 16 ビットタイマのカウント値を読み出すこと ができるレジスタです。初期値は不定です。 このレジスタの読出しは , 必ず 16 ビットデータ転送命令で行ってください。 ■ 16 ビットタイマレジスタ (TMR) のビット構成 図 5.2-3 に , 16 ビットタイマレジスタ (TMR) のビット構成を示します。 図 5.2-3 16 ビットタイマレジスタ (TMR) のビット構成 TMR bit0 ~ ~ ~ ~ アドレス : ch.0 00004AH bit15 ch.1 000052H ch.2 00005AH R X 初期値 R X R X R X ... ... R X R X R X R X R X R: リードオンリ 178 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 5 章 16 ビットリロードタイマ 5.2 16 ビットリロードタイマのレジスタ MB91313A シリーズ 5.2.3 16 ビットリロードレジスタ (TMRLR) 16 ビットリロードレジスタ (TMRLR) は , カウントの初期値を保持するレジスタで す。初期値は不定です。 このレジスタへの書込みは , 必ず 16 ビットデータ転送命令で行ってください。 ■ 16 ビットリロードレジスタ (TMRLR) のビット構成 図 5.2-4 に , 16 ビットリロードレジスタ (TMRLR) のビット構成を示します。 図 5.2-4 16 ビットリロードレジスタ (TMRLR) のビット構成 TMRLR bit0 ~ ~ ~ ~ アドレス : ch.0 000048H bit15 ch.1 000050H ch.2 000058H W X 初期値 W X W X W X ... ... W X W X W X W X W X W: ライトオンリ CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 179 第 5 章 16 ビットリロードタイマ 5.3 16 ビットリロードタイマの動作 5.3 MB91313A シリーズ 16 ビットリロードタイマの動作 16 ビットリロードタイマの以下の動作について説明します。 • 内部クロック動作 • アンダフロー動作 • 入力端子機能の動作 • 出力端子機能の動作 ■ 内部クロック動作 内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマシ ンクロックの 2, 8, 32 分周のクロックから選択することができます。 外部入力端子は , レジスタの設定によりトリガ入力またはゲート入力に使用すること ができます。 カウント許可と同時にカウント動作を開始したい場合は , コントロールステータスレ ジスタの CNTE ビットと TRG ビットの両方に "1" を書き込んでください。TRG ビット によるトリガ入力は , タイマが起動状態のとき (CNTE=1) 動作モードにかかわらず常 に有効です。 カウンタの起動および動作について , 図 5.3-1 に示します。 カウンタスタートのトリガが入力されてからリロードレジスタのデータがカウンタへ ロードされるまでに , T (T: 周辺系クロックマシンサイクル ) の時間がかかります。 図 5.3-1 カウンタの起動および動作 カウントクロック リロードデータ カウンタ -1 -1 -1 データロード CNTE (ビット) TRG (ビット) T 180 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 5 章 16 ビットリロードタイマ 5.3 16 ビットリロードタイマの動作 MB91313A シリーズ ■ アンダフロー動作 カウンタの値が "0000H" から "FFFFH" になる場合をアンダフローとしています。した がって , [ リロードレジスタの設定値+ 1] カウントでアンダフローが発生します。 アンダフロー発生時にコントロールステータスレジスタ (TMCSR) の RELD ビットが "1" のとき 16 ビットリロードレジスタ (TMRLR) の内容をカウンタへロードして , カウ ント動作を継続します。RELD ビットが "0" のとき , カウンタは "FFFFH" で停止します。 アンダフローによりコントロールステータスレジスタ (TMCSR) の UF ビットがセット され , INTE ビットが "1" のとき , 割込み要求を発生します。 図 5.3-2 に , アンダフロー動作のタイミングチャートを示します。 図 5.3-2 アンダフロー動作のタイミングチャート [RELD=1]の場合 カウントクロック カウンタ 0000H リロードデータ -1 -1 -1 データロード アンダフローセット [RELD=0]の場合 カウントクロック カウンタ 0000H FFFFH アンダフローセット CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 181 第 5 章 16 ビットリロードタイマ 5.3 16 ビットリロードタイマの動作 MB91313A シリーズ ■ 入力端子機能の動作 ( 内部クロックモード時 ) クロックソースとして内部クロックを選択した場合, TIN端子はトリガ入力またはゲー ト入力として使用することができます。 ● トリガ入力の動作 トリガ入力として使用した場合, 有効エッジが入力されると, 16ビットリロードレジス タ (TMRLR) の内容をカウンタにロードして内部プリスケーラをクリアした後 , カウン ト動作を開始します。TIN は , 2T (T は周辺系クロックマシンサイクル ) 以上のパルス を入力してください。 図 5.3-3 に , トリガ入力動作のタイミングチャートを示します。 図 5.3-3 トリガ入力動作のタイミングチャート カウントクロック 立上りエッジ検出時 TIN プリスケーラクリア カウンタ リロードデータ -1 -1 -1 -1 ロード 2T~ 2.5T ● ゲート入力の動作 ゲート入力として使用する場合 , コントロールステータスレジスタ (TMCSR) の MOD0 ビットによって設定される有効レベルが TIN 端子から入力されている間のみカウント をします。このとき , カウントクロックは止まらずに動き続けます。ゲートモード時の ソフトウェアトリガは , ゲートレベルにかかわらず可能です。TIN 端子のパルス幅は , 2T (T は周辺系クロックマシンサイクル ) 以上にしてください。 図 5.3-4 に , ゲート入力動作のタイミングチャートを示します。 図 5.3-4 ゲート入力動作のタイミングチャート カウントクロック MOD0ビット=1とした場合 (入力"H"の間カウント) TIN カウンタ -1 -1 -1 ■ 外部イベントカウント動作 外部クロックをセレクトすると , TIN 端子は外部イベント入力端子となり , レジスタで 設定された有効エッジをカウントします。TIN 端子のパルス幅は , 2T (T は周辺系クロッ クマシンサイクル ) 以上にしてください。 182 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 5 章 16 ビットリロードタイマ 5.3 16 ビットリロードタイマの動作 MB91313A シリーズ ■ 出力端子機能の動作 TOUT 端子は , リロードモード時はアンダフローにより反転するトグル出力として , ワ ンショットモード時はカウント中を示すパルス出力として機能します。出力極性は , コ ン ト ロ ー ル ス テ ー タ ス レ ジ ス タ (TMCSR) の OUTL ビ ッ ト に よ り 設 定 で き ま す。 OUTL=0 の場合 , トグル出力は初期値が "0" で , ワンショットパルス出力はカウント中 "1" を出力します。OUTL=1 にすると出力波形は反転します。 図 5.3-5 に , 出力端子機能動作のタイミングチャートを示します。 図 5.3-5 出力端子機能動作のタイミングチャート [RELD=1, OUTL=0]の場合 カウント開始 アンダフロー OUTL=1のときは反転 TOUT 汎用ポート CNTE 起動トリガ [RELD=0, OUTL=0]の場合 カウント開始 アンダフロー TOUT CNTE OUTL=1で反転 汎用ポート 起動トリガ 起動トリガ待ち状態 ■ その他の動作 16 ビットリロードタイマの ch.0 ∼ ch.2 は , その割込み要求信号で DMA 転送を起動す ることが可能です。 DMA コントローラは , 転送要求の受付けと同時にリロードタイマの割込みフラグをク リアします。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 183 第 5 章 16 ビットリロードタイマ 5.4 カウンタの動作状態 5.4 MB91313A シリーズ カウンタの動作状態 カウンタの状態は , コントロールステータスレジスタ (TMCSR) の CNTE ビットと 内部信号の WAIT 信号によって決まります。設定可能な状態として CNTE=0, WAIT=1 の停止状態 (STOP 状態 ) , CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT 状態 ) , CNTE=1, WAIT=0 の動作状態 (RUN 状態 ) があります。 ■ カウンタの動作状態 図 5.4-1 に , 各状態の遷移を示します。 図 5.4-1 カウンタの状態遷移 リセット ハードウェアによる状態遷移 レジスタアクセスによる状態遷移 STOP CNTE=0,WAIT=1 TIN:入力禁止 TOUT:汎用ポート カウンタ:停止時の値を保持 リセット直後は不定 CNTE=0 WAIT CNTE=0 CNTE=1 CNTE=1 TRG=0 TRG=1 CNTE=1,WAIT=1 RUN TIN:トリガ入力のみ有効 CNTE=1,WAIT=0 TIN: TINとして機能 TOUT:初期値出力 TOUT: TOUTとして機能 RELD・UF カウンタ:停止時の値を保持 カウンタ:動作 リセット直後ロードするまでは不定 TRG=1 TRG=1 RELD・UF LOAD TINからトリガ 184 CNTE=1,WAIT=0 リロードレジスタの内容を カウンタへロード FUJITSU SEMICONDUCTOR LIMITED ロード終了 CM71-10143-5 MB91313A シリーズ 5.5 第 5 章 16 ビットリロードタイマ 5.5 16 ビットリロードタイマの使用上の注意 16 ビットリロードタイマの使用上の注意 16 ビットリロードタイマを使用する上で , 注意しなければならない事項について説 明します。 ■ 使用上の注意事項 ● 内部プリスケーラ 内部プリスケーラは, コントロールステータスレジスタ (TMCSR) のbit1 (タイマ許可:CNTE) が "1" に設定されている状態で , トリガ ( ソフトウェアトリガまたは外部トリガ ) がかけら れることにより動作可能となります。 ゲートカウントモードのみで使用する場合でも, 有効ゲートレベル入力前に必ず1度ト リガをかけてください。 CNTE を設定するときに , TMCSR レジスタの bit0 (TRG) に "1" を書き込むことを推奨 します。 ● 割込み要求フラグのセットとクリアのタイミング 割込み要求フラグをセットするタイミングとクリアタイミングが重複した場合には , フラグのセットが優先し , クリア動作は無効となります。 ● 16 ビットタイマレジスタ (TMR) /16 ビットリロードレジスタ (TMRLR) 16ビットタイマレジスタへの書込みと16ビットリロードレジスタへリロードのタイミ ングが重なった場合には , 旧データがカウンタにロードされます。新データがカウンタ にロードされるのは , 次のリロードのときになります。 ● 16 ビットタイマレジスタ (TMR) 16ビットタイマレジスタは, ロードとカウントのタイミングが重なった場合には, ロー ド ( リロード ) 動作の方が優先されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 185 第 5 章 16 ビットリロードタイマ 5.5 16 ビットリロードタイマの使用上の注意 186 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第6章 PPG (Programable Pulse Generator) PPG タイマの概要 , レジスタの構成 / 機能および 動作について説明します。 6.1 PPG タイマの概要 6.2 PPG タイマの動作説明 6.3 PPG タイマ使用上の注意 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 187 第 6 章 PPG (Programable Pulse Generator) 6.1 PPG タイマの概要 6.1 MB91313A シリーズ PPG タイマの概要 PPG タイマは , 精度の高い PWM 波形を効率良く出力することができます。 PPG タイマを 4 チャネル内蔵しています。 ■ PPG タイマの特長 • 各チャネルは , 16 ビットダウンカウンタ , 周期設定用バッファ付 16 ビットデータレ ジスタ , デューティ設定用バッファ付 16 ビットコンペアレジスタ , 端子制御部から 構成されます。 • 16 ビットダウンカウンタのカウントクロックは , 4 種類から選択が可能です。 周辺クロック : φ, φ/4, φ/16, φ/64 • カウンタ値は , リセット , カウンタボローで "FFFFH" に初期化することができます。 • 各チャネルごとに PPG 出力 (PPG0 ∼ PPG3) があります。 • レジスタ概要 周期設定レジスタ : バッファ付 , リロード用データレジスタ バッファからの転送は起動トリガ検出 およびカウン タボローにより行います。 カウンタボローにより PPG 出力は反転します。 デューティ設定レジスタ : バッファ付 , コンペアレジスタ 本レジスタ値とカウンタ値一致により PPG 出力は反転 します。 • 端子制御概要 デューティ一致で , "1" にセット ( 優先 ) 。 カウンタボローで , "0" にリセット。 出力値固定モードがあり , オール "L" ( または "H") を簡単に出力できます。 極性指定も可能です。 • 割込み要求は , 以下の組合せから選択して発生することができます。 本タイマ起動 ( ソフトトリガ もしくは トリガ入力 ) カウンタボロー発生 ( 周期一致 ) デューティ一致発生 カウンタボロー発生 ( 周期一致 ) , またはデューティ一致発生 • 動作中の再起動が設定可能です。 • リモコン送信サポート機能があります。 188 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 6 章 PPG (Programable Pulse Generator) 6.1 PPG タイマの概要 MB91313A シリーズ ■ レジスタ一覧 図 6.1-1 PPG のレジスタ一覧 アドレス bit15 bit0 000120H PDUT0 R ch.0 デューティ設定レジスタ 000122H PCSR0 W ch.0 周期設定レジスタ 000124H PTMR0 W ch.0 タイマレジスタ 000126H 000127H PCNH0 PCNL0 R/W ch.0 コントロールステータスレジスタ 000128H PDUT1 R ch.1 デューティ設定レジスタ 00012AH PCSR1 W ch.1 周期設定レジスタ 00012CH PTMR1 W ch.1 タイマレジスタ 00012EH PCNH1 PCNL1 R/W ch.1 コントロールステータスレジスタ 000130H PDUT2 R ch.2 デューティ設定レジスタ 000132H PCSR2 W ch.2 周期設定レジスタ 000134H PTMR2 W ch.2 タイマレジスタ 000136H PCNH2 PCNL2 R/W ch.2 コントロールステータスレジスタ 000138H PDUT3 R ch.3 デューティ設定レジスタ 00013AH PCSR3 W ch.3 周期設定レジスタ 00013CH PTMR3 W ch.3 タイマレジスタ 00013EH CM71-10143-5 PCNH3 PCNL3 R/W ch.3 コントロールステータスレジスタ FUJITSU SEMICONDUCTOR LIMITED 189 第 6 章 PPG (Programable Pulse Generator) 6.1 PPG タイマの概要 MB91313A シリーズ ■ ブロックダイヤグラム 図 6.1-2 ブロックダイヤグラム ( 全体構成 ) TRG入力 外部TRG0 PPG0 PPGタイマ ch.0 PPGA TRG入力 外部TRG1 PPG1 PPGタイマ ch.1 TRG入力 外部TRG2 PPG2 PPGタイマ ch.2 PPGB TRG入力 外部TRG3 PPG3 PPGタイマ ch.3 図 6.1-3 1 ブロックダイヤグラム ( チャネル分 ) PCSR PDUT プリスケーラ 1/1 1/4 ロード CK CMP 1/16 1/64 16ビット ダウンカウンタ 周辺系クロック スタート ボロー PPGマスク S Q PPG出力 R 反転ビット TRG入力 割込み選択 イネーブル IRQ エッジ検出 ソフトトリガ 190 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 6 章 PPG (Programable Pulse Generator) 6.1 PPG タイマの概要 MB91313A シリーズ ■ コントロールステータスレジスタ 図 6.1-4 コントロールステータスレジスタのビット構成 PCNH アドレス ch.0 000126H ch.1 00012EH ch.2 000136H ch.3 00013EH 15 bit 14 13 12 11 CNTE STGR MDSE RTRG CKS1 10 9 CKS0 PGMS 8 - R/W R/W R/W R/W R/W R/W R/W − ←アクセス 0 0 0 0 0 0 0 ○ × × × × ○ − − ←初期値 ○ 7 6 5 4 3 2 1 0 IREN IRQF IRS1 IRS0 - OSEL ←動作中の書換え PCNL アドレス ch.0 000127H ch.1 00012FH ch.2 000137H ch.3 00013FH R/W − bit EGS1 EGS0 R/W R/W R/W R/W R/W R/W − 0 0 0 0 0 0 × × ○ ○ × × − − R/W ←アクセス 0 ←初期値 × ←動作中の書換え :リード / ライト可能 :未使用 [bit15] CNTE : タイマ許可ビット 16 ビットダウンカウンタの動作を許可するビットです。 0 停止 ( 初期値 ) 1 許可 [bit14] STGR : ソフトウェアトリガビット このビットに "1" を書き込むことによりソフトウェアトリガがかかります。 STGR ビットの読出し値は , 常に "0" です。 [bit13] MDSE : モード選択ビット 連続してパルスを出す PWM 動作か , 単一パルスを出すワンショット動作かを選択 します。 0 PWM 動作 ( 初期値 ) 1 ワンショット動作 [bit12] RTRG : 再起動許可ビット ソフトウェアトリガ , またはトリガ入力による再起動を許可するビットです。 CM71-10143-5 0 再起動禁止 ( 初期値 ) 1 再起動許可 FUJITSU SEMICONDUCTOR LIMITED 191 第 6 章 PPG (Programable Pulse Generator) 6.1 PPG タイマの概要 MB91313A シリーズ [bit11, bit10] CKS1, CKS0: カウントクロック選択ビット 16 ビットダウンカウンタのカウントクロックを選択します。 CKS1 CKS0 0 0 φ ( 初期値 ) 0 1 φ/4 1 0 φ/16 1 1 φ/64 周期 φ: 周辺系マシンクロック [bit9] PGMS : PPG 出力マスク選択ビット このビットに "1" を書き込むことによりモード設定 , 周期設定値 , デューティ設定値 にかかわらず PPG 出力を "0" または "1" にマスクすることができます。 PGMS に "1" 書込み時の PPG 出力 極性 PPG 出力 通常極性 "L" 出力 反転極性 "H" 出力 通常極性時にオール "H" または反転極性時にオール "L" を出力したい場合は , 周期 設定レジスタとデューティ設定レジスタに同値を書き込めば上記マスク値の反転 を出力することができます。 [bit8] 未使用ビット [bit7, bit6] EGS1, EGS0: トリガ入力エッジ選択ビット PPG 入力の有効エッジを選択します。 どのモードを選択していてもソフトトリガのビットに "1" を書き込むとソフトトリ ガは有効になります。 192 EGS1 EGS0 0 0 無効 ( 初期値 ) 0 1 立上りエッジ 1 0 立下りエッジ 1 1 両エッジ エッジ選択 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 6 章 PPG (Programable Pulse Generator) 6.1 PPG タイマの概要 MB91313A シリーズ [bit5] IREN : 割込み要求許可ビット 0 禁止 ( 初期値 ) 1 許可 [bit4] IRQF : 割込み要求フラグ bit5 IREN が許可されていて bit3, bit2 IRS1, IRS0 にて選択した割込み要因が発生す ると , 本ビットがセットされ CPU に割込み要求を発生します。 本ビットは , "0" 書込みによりクリアされます。 "1" を書き込んでもビット値は変化しません。 リードモディファイライト (RMW) 系命令における読出し値は , ビット値にかかわ らず "1" です。 [bit3, bit2] IRS1, IRS0: 割込み要因選択ビット bit4 IRQF をセットする要因を選択します。 IRS1 IRS0 0 0 ソフトウェアトリガまたはトリガ入力あり ( 初期値 ) 0 1 カウンタボロー発生 ( 周期一致 ) 1 0 デューティ一致発生 1 1 カウンタボロー発生 ( 周期一致 ) , またはデューティ一致発生 割込み要因 [bit1] 未使用ビット [bit0] OSEL : PPG 出力極性指定ビット PPG 出力の極性を設定します。 bit9 PGMS との組合せで , 以下のようになります。 CM71-10143-5 PGMS OSEL 0 0 通常極性 ( 初期値 ) 0 1 反転極性 1 0 出力 "L" 固定 1 1 出力 "H" 固定 PPG 出力 極性 リセット後 通常極性 "L" 出力 反転極性 "H" 出力 デューティ一致 FUJITSU SEMICONDUCTOR LIMITED カウンタボロー 193 第 6 章 PPG (Programable Pulse Generator) 6.1 PPG タイマの概要 MB91313A シリーズ ■ PCSR (PPG 周期設定レジスタ ) 図 6.1-5 PCSR (PPG 周期設定レジスタ ) のビット構成 PCSR アドレス ch.0 000122H ch.1 00012AH ch.2 000132H ch.3 00013AH bit bit 15 14 13 12 11 10 9 8 W W W W W W W W ←アクセス × × × × × × × × ←初期値 7 6 5 4 3 2 1 0 W W W W W W W W ←アクセス × × × × × × × × ←初期値 W :ライトオンリ 周期を設定するためのバッファ付レジスタです。バッファからの転送は , カウンタボ ローで行われます。 周期設定レジスタの初期設定時および書換え時は , 周期設定レジスタの書込み後 , 必ず デューティ設定レジスタへの書込み動作を行ってください。 本レジスタは , 16 ビットデータでアクセスしてください。 ■ PDUT (PPG デューティ設定レジスタ ) 図 6.1-6 PDUT (PPG デューティ設定レジスタ ) のビット構成 PDUT アドレス bit ch.0 000120H ch.1 000128H ch.2 000130H ch.3 000138H bit 15 14 13 12 11 10 9 8 W W W W W W W W ←アクセス × × × × × × × × ←初期値 7 6 5 4 3 2 1 0 W W W W W W W W ←アクセス × × × × × × × × ←初期値 W :ライトオンリ デューティを設定するためのバッファ付きレジスタです。バッファからの転送は , カウ ンタボローで行われます。 周期設定レジスタの値とデューティ設定レジスタの値を同じにすると , 通常極性時に オール "H" を , 反転極性時にオール "L" を出力します。 PCSR < PDUT となるような値を設定しないでください。PPG 出力は不定となります。 本レジスタは , 16 ビットデータでアクセスしてください。 194 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 6 章 PPG (Programable Pulse Generator) 6.1 PPG タイマの概要 MB91313A シリーズ ■ PTMR (PPG タイマレジスタ ) 図 6.1-7 PTMR (PPG タイマレジスタ ) のビット構成 PTMR アドレス bit ch.0 000124H ch.1 00012CH ch.2 000134H ch.3 00013CH 15 14 13 12 11 10 9 8 R R R R R R R R ←アクセス 1 1 1 1 1 1 1 1 ←初期値 bit 7 6 5 4 3 2 1 0 R R R R R R R R ←アクセス 1 1 1 1 1 1 1 1 ←初期値 R :リードオンリ 16 ビットダウンカウンタの値を読み出すことができます。 本レジスタは , 16 ビットデータでアクセスしてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 195 第 6 章 PPG (Programable Pulse Generator) 6.2 PPG タイマの動作説明 MB91313A シリーズ PPG タイマの動作説明 6.2 PPG タイマの動作を説明します。 ■ PWM 動作タイミングチャート 図 6.2-1 PWM 動作タイミングチャート ( 再起動禁止の場合 ) 立上りエッジ検出 起動 トリガ トリガは,無視されます。 m n 0 PPG ① ② ① ② = = T (n+1) ms T (m+1) ms T:カウントクロック周期 m:PCSR値 n:PDUT値 図 6.2-2 PWM 動作タイミングチャート ( 再起動許可の場合 ) 立上りエッジ検出 起動 トリガ トリガにより再起動します。 m n 0 PPG ① ② ① ② = = T (n+1) ms T (m+1) ms T:カウントクロック周期 m:PCSR値 n:PDUT値 ● PWM 動作 PWM 動作では , 起動トリガの検出時より連続してパルスを出力することができます。 出力パルスの周期は PCSR 値を変えることにより制御することができ , また , デュー ティ比は PDUT 値を変えることにより制御できます。 ( 注意事項 ) PCSR にデータを書き込んだ後は , 必ず PDUT への書込みを行ってくださ い。 196 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 6 章 PPG (Programable Pulse Generator) 6.2 PPG タイマの動作説明 MB91313A シリーズ ■ ワンショット動作タイミングチャート 図 6.2-3 ワンショット動作タイミングチャート ( 再起動禁止の場合 ) 立上りエッジ検出 起動 トリガ トリガは,無視されます。 m n 0 PPG ① ② ① ② = = T (n+1) ms T (m+1) ms T:カウントクロック周期 m:PCSR値 n:PDUT値 図 6.2-4 ワンショット動作タイミングチャート ( 再起動許可の場合 ) 立上りエッジ検出 トリガにより再起動します。 起動 トリガ m n 0 PPG ① ② ① ② = = T (n+1) ms T (m+1) ms T:カウントクロック周期 m:PCSR値 n:PDUT値 ● ワンショット動作 ワンショット動作では , トリガにより任意の幅の単一パルスを出力することができま す。 再起動許可の場合は , 動作中にエッジを検出するとカウンタをリロードします。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 197 第 6 章 PPG (Programable Pulse Generator) 6.2 PPG タイマの動作説明 MB91313A シリーズ ■ 割込み要因とタイミングチャート (PPG 出力は通常極性 ) 図 6.2-5 割込み要因とタイミングチャート 起動トリガ 最大 2.5T ロード クロック カウント値 X 0003 H 0002 H 0001 H 0000 H 0003 H PPG 割込み 有効エッジ デューティ一致 カウンタボロー 起動トリガがかかってからカウント値がロードされるまで , 最大 2.5T(T: カウントク ロック周期 ) を必要とします。 ■ PPG 出力オール "L" または , オール "H" の出力方法例 図 6.2-6 PPG 出力オール "L" または , オール "H" の出力方法 PPG デューティ 値を小さく していく ボローによる割込みでPGMS(マスクビット) に"1"を書き込みます。 また,ボローによる割込みでPGMS (マスクビット)に"0"を書き込めばハザード を出力することなくPWM波形を出力できます。 PPG デューティ 値を大きく していく 198 コンペア一致による割込み処理でデューティ 設定レジスタに周期設定レジスタ値と同じ値 を書き込みます。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 6.3 第 6 章 PPG (Programable Pulse Generator) 6.3 PPG タイマ使用上の注意 PPG タイマ使用上の注意 PPG タイマを使用する上での注意事項を説明します。 ■ 注意事項 • 割込み要求フラグセットタイミングとクリアタイミングが重複した場合には , フラ グセットが優先され , クリア動作は無効となります。 • PPG コントロールレジスタの bit11, bit10 ( カウントロック選択ビット CKS1 および CKS0) は , 書込み後すぐに反映されるので , 設定変更はカウント停止状態で行って ください。 • PPG ダウンカウンタ (PPGC : 16 ビットダウンカウンタ ) は , ロードとカウントのタ イミングが重複した場合は , ロード動作の方を優先します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 199 第 6 章 PPG (Programable Pulse Generator) 6.3 PPG タイマ使用上の注意 200 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第7章 16 ビット・パルス幅カウンタ PWC タイマの概要レジスタの構成 / 機能および動 作について説明します。 7.1 PWC タイマの概要 7.2 PWC タイマの動作 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 201 第 7 章 16 ビット・パルス幅カウンタ 7.1 PWC タイマの概要 MB91313A シリーズ PWC タイマの概要 7.1 PWC は外部からの入力信号のパルス幅を 16 ビットのアップカウンタで測定します。 ハードウェアとして , 16 ビットアップカウンタ 1 個 , 8 ビット制御レジスタ 3 個と , PWC データレジスタ , PWC 上限データレジスタ , LPF などから構成されています。 • データレジスタ転送時に割込み要求を発生 ■ レジスタ構成 アドレス bit15 0000D0H bit8 bit7 PWCCL 0000D4H bit0 PWCCH PWCD 0000D8H PWCC2 0000DCH PWC 制御レジスタ PWC データレジスタ 予約 PWCUD PWC 制御レジスタ PWC 上限データレジスタ ■ ブロックダイヤグラム 図 7.1-1 PWC ブロックダイヤグラム 上限値レジスタ カウントクロック カウントクリア オーバフロー LPF RIN 16ビットカウンタ 上限値 カウントクロック 5 4 制御回路 キャプチャレジスタ サンプリング間隔 フラグセット 制御ビット PWCD サンプリング間隔選択 カウントクロック選択 PWCCH PWCCL IRQ 内部バス 202 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 7 章 16 ビット・パルス幅カウンタ 7.1 PWC タイマの概要 MB91313A シリーズ ■ PWC 制御レジスタ (PWCCL) 図 7.1-2 PWC 制御レジスタ (PWCCL) のビット構成 PWCCL アドレス 0000D0H bit 7 6 5 4 3 2 1 0 初期値 INT INTE OVFL OVFLE − − 予約 ST 0000--00B R/W R/W R/W R/W − − − R/W R/W :リード / ライト可能 − :未使用 [bit7] INT PWC データレジスタにキャプチャデータを転送したことを示すフラグです。キャ プチャデータ転送割込み要求が許可されているとき , (bit6:INTE=1) 本ビットがセッ トされると割込み要求が発生します。 リードモディファイライト (RMW) 系命令では "1" が読み出されます。 0 割込み要因クリア 1 キャプチャ・データあり [bit6] INTE キャプチャデータ転送割込み要求許可ビットです。 0 割込み要求禁止 1 割込み要求許可 [bit5] OVFL 16 ビットアップカウンタが "FFFFH" から "0000H" へオーバフローしたことを示すフ ラグです。オーバフロー割込み要求が許可されているとき , (bit4:OVFLE=1) 本ビッ トがセットされると割込み要求が発生します。 リードモディファイライト (RMW) 系命令では "1" が読み出されます。 0 割込み要因クリア 1 オーバフロー発生 [bit4] OVFLE オーバフロー割込み要求許可ビットです。 0 割込み要求禁止 1 割込み要求許可 [bit3, bit2] 未使用ビット CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 203 第 7 章 16 ビット・パルス幅カウンタ 7.1 PWC タイマの概要 MB91313A シリーズ [bit1] 予約 : 予約ビット 予約ビットです。書込み時は必ず "0" を書いてください。 [bit0] ST PWC スタートビットです。 0 PWC 停止 1 PWC 動作 ■ PWC 制御レジスタ (PWCCH) 図 7.1-3 PWC 制御レジスタ (PWCCH) のビット構成 PWCCH アドレス 0000D0H bit 7 6 5 4 3 2 1 0 初期値 TEST1 TEST0 - CSLF1 CSLF0 CS2 CS1 CS0 00-00000B R/W R/W − R/W R/W R/W R/W R/W R/W :リード / ライト可能 − :未使用 [bit7, bit6] TEST1, TEST0 テストビットです。 書込み時は必ず "0" を書いてください。 [bit5] 未使用ビット [bit4, bit3] CSLF1, CSLF0 LPF のサンプリング間隔を以下から選択します。 CSLF1 CSLF0 0 0 φ × 26 0 1 φ × 28 1 0 φ × 210 1 1 φ × 212 サンプリング間隔 (φ はシステムベースクロックの周期 ) 204 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 7 章 16 ビット・パルス幅カウンタ 7.1 PWC タイマの概要 MB91313A シリーズ [bit2 ∼ bit0] CS2 ∼ CS0 内部カウントクロックを以下のように選択します。 CS2 CS1 CS0 0 0 0 φ 0 0 1 φ × 26 0 1 0 φ × 28 0 1 1 φ × 210 1 0 0 φ × 212 カウントクロック選択 (φ はシステムベースクロックの周期 ) ■ PWC データレジスタ (PWCD) 図 7.1-4 PWC データレジスタ (PWCD) のビット構成 PWCD アドレス bit 15 14 13 12 11 10 9 8 0000D4H 初期値 XXXXXXXXB bit R R R R R R R R 7 6 5 4 3 2 1 0 初期値 XXXXXXXXB R R R R R R R R R :リードオンリ パルス幅の計測値を格納するレジスタです。入力信号のエッジでのみキャプチャ値を 取り込みます。 オーバフロー時と上限値を超したときは取り込みません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 205 第 7 章 16 ビット・パルス幅カウンタ 7.1 PWC タイマの概要 MB91313A シリーズ ■ PWC 制御レジスタ 2 (PWCC2) 図 7.1-5 PWC 制御レジスタ 2 (PWCC2) のビット構成 PWCC2 アドレス bit 0000D8H 7 6 UPINT UPINTE R/W R/W 5 4 3 2 1 0 初期値 LOW − − − − − 000-----B R/W − − − − − R/W :リード / ライト可能 − :未使用 [bit7] UPINT 設定した上限値レジスタの値までカウントしたことを示すフラグです。上限値割込 み要求が許可されているとき (bit6:UPINTE=1) , 本ビットがセットされると割込み 要求が発生します。 リードモディファイライト (RMW) 系命令では "1" が読み出されます。 0 割込み要因クリア ( 初期値 ) 1 上限値オーバカウントあり [bit6] UPINTE 上限値割込み要求許可ビットです。本ビットに "1" が設定されているとカウンタ値 と上限設定レジスタとの比較を行います。 0 割込み要求禁止 ( 初期値 ) 1 割込み要求許可 [bit5] LOW データレジスタに入っているキャプチャ値が "L" 幅を示すことを表します。 0 "H" 幅測定終了 ( 初期値 ) 1 "L" 幅測定終了 [bit4 ∼ bit0] 未使用ビット 206 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 7 章 16 ビット・パルス幅カウンタ 7.1 PWC タイマの概要 MB91313A シリーズ ■ PWC 上限値設定レジスタ (PWCUD) 図 7.1-6 PWC 上限値設定レジスタ (PWCUD) のビット構成 PWCUD アドレス bit 15 14 13 12 11 10 9 8 0000DCH 初期値 XXXXXXXXB bit 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 R/W R/W R/W R/W R/W R/W R/W R/W R/W :リード / ライト可能 パルス幅測定の上限値を格納するレジスタです。 本レジスタは各幅に対応しますので , "H" 幅 , "L" 幅にかかわらず上限値を超したパル スを測定しますと , PWCC2 レジスタの UPINT ビットがセットされます。また , 本レジ スタをカウンタ値が超した場合でもカウントは連続して行われ , 停止しません。また , 本レジスタの初期値は不定ですので , PWCC2 レジスタの UPINTE ビットに "1" を書い て上限値の比較をする前に上限値を書き込んでください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 207 第 7 章 16 ビット・パルス幅カウンタ 7.2 PWC タイマの動作 7.2 MB91313A シリーズ PWC タイマの動作 PWC は 16 ビットアップカウンタ , 8 ビット制御レジスタ 3 個 , PWC データレジス タ , 上限値設定レジスタ , LPF などから構成され , パルス幅を測定します。また , カ ウントクロックは 5 種類から選択可能です。 以下に , 基本動作について説明します。 ■ 動作概要 ● パルス幅カウント動作 PWC は , RIN 信号の立上りおよび , 立下りエッジでカウンタ値のキャプチャとカウン タのクリアを行います。クリアされたカウンタは , そのままカウント動作を継続しま す。また , キャプチャを行うと割込みを発生します。 カウンタ値が "FFFFH" から "0000H" になるとオーバフローによる割込みを発生します。 図 7.2-1 にこれらの動作を示します。 図 7.2-1 PWC 動作図 ST(動作許可) RIN入力 上限値割込みをセットするが、 キャプチャはしない ↑エッジ ↓エッジ FFFFH 上限値 mmmmH カウント値 0000H PWCD * xxxxH aaaaH bbbbH ccccH ddddH eeeeH INT * UPINT * OVFL * LOW * * : これらは内部信号です。 ( 注意事項 ) 動作許可後 (ST=1) の最初のエッジでは , キャプチャはしません。 208 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 7 章 16 ビット・パルス幅カウンタ 7.2 PWC タイマの動作 MB91313A シリーズ ■ カウントクロックの選択 カウンタのカウントクロックは , 5 種類から選択することができます。 選択できるカウントクロックは , 以下のとおりです。 CS2 CS1 CS0 0 0 0 カウントクロック選択 PLL2 逓倍 (33MHz) PLL オフ ( 原発振 16.5MHz) 0 CLKP 30ns 61ns 0 1 φ × 26 * 1.9μs 3.8μs 0 1 0 φ × 28 * 7.8μs 15.5μs 0 1 1 φ × 210 * 31.0μs 62.1μs 1 0 0 φ × 212 * 124.1μs 248.2μs (CLKP は周辺クロック , φ はシステムベースクロックの周期 ) ■ LPF のサンプリング間隔について LPF のサンプリング間隔を以下の設定から選択することができます。 CSLF1 CSLF0 0 0 φ × 26 * 1.9μs 3.8μs 0 1 φ × 28 * 7.8μs 15.5μs 1 0 φ × 210 * 31.0μs 62.1μs 1 1 φ × 212 * 124.1μs 248.2μs サンプリング間隔 PLL2 逓倍 (33MHz) PLL オフ ( 原発振 16.5MHz) (φ はシステムベースクロックの周期 ) * : 設定時の注意 PWC の動作クロックは , CLKP です。カウントクロック , LPF のサンプリングク ロックは φ で動作します。 よって , PWC の動作クロックよりカウントクロック , LPF のサンプリングクロッ クの方が早いと正しく動作しません。 周期 : PWC の動作クロック× 4 < カウントクロック PWC の動作クロック× 4 < LPF のサンプリングクロック の条件を守ってくだ さい。 例 : CLKP : 33MHz 時 → 30ns × 4 < カウントクロック (φ × 26 : 1.9μs) 問題なし CLKP : 16.5MHz 時 → 61ns × 4 < カウントクロック (φ × 26 : 1.9μs) 問題なし CLKP : 8.25MHz 時 → 121ns × 4 < カウントクロック (φ × 26 : 1.9μs) 問題なし CLKP : 4.13MHz 時 → 242ns × 4 < カウントクロック (φ × 26 : 1.9μs) 問題なし CLKP : 0.26MHz 時 → 3879ns × 4 < カウントクロック (φ × 26 : 1.9μs) 設定禁止 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 209 第 7 章 16 ビット・パルス幅カウンタ 7.2 PWC タイマの動作 MB91313A シリーズ 図 7.2-2 LPF の動作 "L"が除去されます "H"が除去されます 入力信号 サンプリング クロック 内部LPF出力 "H"が除去されます "L"が除去されます 入力信号 サンプリング クロック 内部LPF出力 ■ 割込み要求発生 以下の 3 つの割込み要求を発生することが可能です。 • キャプチャデータ転送による割込み要求 PWC データレジスタにキャプチャデータを転送すると割込みフラグがセットされ , 割込み要求が許可されていると割込み要求が発生します。 • カウンタのオーバフローによる割込み要求 測定中 , カウンタ値が "FFFFH" から "0000H" へオーバフローするとオーバフローフ ラグがセットされ , 割込み要求が許可されていると割込み要求が発生します。 オーバフローではキャプチャはしません。 • カウンタ中の上限値レジスタを超えてカウントした場合の割込み要求 測定中 , カウンタ値が上限設定レジスタの値より大きくなった場合 , 上限フラグが セットされ , 割込み要求が許可されていると割込み要求が発生します。 210 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第8章 多機能タイマ 多機能タイマの概要 , レジスタの構成 / 機能および 動作について説明します。 8.1 多機能タイマの概要 8.2 レジスタ詳細説明 8.3 多機能タイマの動作 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 211 第 8 章 多機能タイマ 8.1 多機能タイマの概要 8.1 MB91313A シリーズ 多機能タイマの概要 多機能タイマは 16 ビットのアップカウンタ 4 チャネルで構成されています。その機 能は以下の特長があります。 • ローパスフィルタにより設定クロック以下のノイズを除去 • 7 種類のクロック信号を使った細かい設定によるパルス幅計測が可能 • 端子入力からのイベントカウント機能 • 7 種類のクロックおよび外部入力クロックを使用したインターバルタイマ機能 • HSYNC カウンタ機能 ■ レジスタ一覧 図 8.1-1 多機能タイマのレジスタ一覧 アドレス 212 0000F0H T0LPCR T0CCR (R/W) 0000F2H T0TCR T0R (R/W) 0000F4H T0DRR (R/W) 0000F6H T0CRR (R/W) 0000F8H T1LPCR T1CCR (R/W) 0000FAH T1TRR T1R (R/W) 0000FCH T1DRR (R/W) 0000FEH T1CRR (R/W) 000100H T2LPCR T2CCR (R/W) 000102H T2TRR T2R (R/W) 000104H T2DRR (R/W) 000106H T2CRR (R/W) 000108H T3LPCR T3CCR (R/W) 00010AH T3TRR T3R (R/W) 00010CH T3DRR (R/W) 00010EH T3CRR (R/W) 000110H TMODE (R/W) FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 8 章 多機能タイマ 8.1 多機能タイマの概要 MB91313A シリーズ ■ ブロックダイヤグラム 図 8.1-2 単体ブロック図 同期化 分周器 TO C CLKP CKI CK イベントカウンタ時 16ビットカウンタ CNT CPIB エッジ 検出 EN CLR インターバル レジスタ 同期化 CPIA キャプチャ レジスタ LPF 割込み 分周 CLKP OUT 図 8.1-3 全体ブロック図 HCNTMD CKI TMO0 TMI0 TO Ch.0 CPIA OUT CPIB CKI TMO1 TMI1 TO Ch.1 CPIA CPIB CKI TMO2 TMI2 TO Ch.2 CPIA CPIB CKI TMO3 TMI3 TO Ch.3 CPIA CPIB CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 213 第 8 章 多機能タイマ 8.2 レジスタ詳細説明 MB91313A シリーズ レジスタ詳細説明 8.2 ■ TxLPCR ( ローパスフィルタ制御レジスタ ) 図 8.2-1 TxLPCR ( ローパスフィルタ制御レジスタ ) のビット構成 TxLPCR アドレス bit ch.0 0000F0H ch.1 0000F8H ch.2 000100H ch.3 000108H 15 14 13 12 11 10 9 8 初期値 − − − − − FCx1 FCx0 FxEN -----000B − − − − − R/W R/W R/W R/W :リード / ライト可能 − :未使用 TxLPCR は , 各入力端子に対するローパスフィルタ の設定を行います。8 ビットでのア クセスが可能なレジスタです。本フィルタは論理的にノイズを除去している関係上 , ノ イズ除去幅+ 2 サイクル分だけ入力波形に対して出力波形はディレイを持ちます。 [bit15 ∼ bit11] 未使用ビット [bit10, bit9] FCx1, FCx0 ( フィルタクロック選択フラグ ) : LPF の動作クロックを選択します。 表 8.2-1 動作クロック選択 FCx1 FCx0 クロックサイクル 0 0 φ × 22 0.12μs [ 初期値 ] 0 1 φ × 23 0.24μs 1 0 φ × 24 0.48μs 1 1 φ × 25 0.97μs ノイズ除去幅 (@33MHz) [bit8] FxEN ( フィルタ動作許可フラグ ) : フィルタを使用するかしないかの設定をします。 214 0 フィルタを使用しません [ 初期値 ] 1 フィルタを使用します FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 8 章 多機能タイマ 8.2 レジスタ詳細説明 MB91313A シリーズ ■ TxCCR ( キャプチャ制御レジスタ ) 図 8.2-2 TxCCR ( キャプチャ制御レジスタ ) のビット構成 TxCCR アドレス bit ch.0 0000F1H ch.1 0000F9H ch.2 000101H ch.3 000109H 7 6 5 4 3 2 1 0 初期値 CPF − CPST CPED CPIE CPOV CPMD CPIS 0-000000B R/W − R/W R/W R/W R/W R/W R/W R/W :リード / ライト可能 − :未使用 TxCCR は , キャプチャモード時のカウント , エッジ , 割込みの設定を行います。 8 ビットでのアクセスが可能なレジスタです。動作中 ( 全体レジスタの ST=1) に本レジ スタを書き換えた場合 , タイマの動作は保証できません , 必ず停止状態 (ST=0) で書き 換えてください。 [bit7] CPF ( キャプチャエッジ検出フラグ ) : キャプチャ終了エッジを検出したことを示します。 0 キャプチャエッジなし [ 初期値 ] 1 キャプチャエッジあり 本ビットへの "1" 書込みは無効です。 ( 注意事項 ) 本フラグへのハードと CPU からの同時書込みはハードからの書込みを 優先します。 [bit6] 未使用ビット [bit5] CPST ( キャプチャ開始エッジ選択フラグ ) : キャプチャ開始エッジの極性を設定します。 0 立上りエッジ [ 初期値 ] 1 立下りエッジ ( 注意事項 ) キャプチャ終了エッジの極性と同一エッジを設定した場合 , 終了エッ ジの次のエッジからの再起動となります。 [bit4] CPED ( キャプチャ終了エッジ選択フラグ ) : キャプチャ終了エッジの極性を設定します。 CM71-10143-5 0 立上りエッジ [ 初期値 ] 1 立下りエッジ FUJITSU SEMICONDUCTOR LIMITED 215 第 8 章 多機能タイマ 8.2 レジスタ詳細説明 MB91313A シリーズ [bit3] CPIE ( キャプチャ割込み許可フラグ ) : キャプチャ終了を要因とした割込みの許可をします。 0 キャプチャ割込み禁止 [ 初期値 ] 1 キャプチャ割込み許可 本ビットが "1" のときに CPF=1 となると CPU に対して割込みを発生します。 [bit2] CPOV ( キャプチャオーバフロー検出フラグ ) : キャプチャモードのフリーランモードにてカウンタが "FFFFH" から "0000H" への オーバフローを検出したことを示します。 0 キャプチャオーバフローなし [ 初期値 ] 1 キャプチャオーバフローあり ( 注意事項 ) ・ 本ビットへの "1" 書込みは無効です。 ・ 本フラグへのハードとCPU からの同時書込みはハードからの書込み が優先します。 [bit1] CPMD ( キャプチャカウントモードフラグ ) : キャプチャカウンタのカウントモードを設定します。 0 フリーランモード [ 初期値 ] 1 上限コンペアモード [bit0] CPIS ( キャプチャ入力選択フラグ ) : キャプチャ用の入力信号を選択します。 216 0 CPIA 入力使用 [ 初期値 ] 1 CPIB 入力使用 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 8 章 多機能タイマ 8.2 レジスタ詳細説明 MB91313A シリーズ ■ TxTCR ( タイマ設定レジスタ ) 図 8.2-3 TxTCR ( タイマ設定レジスタ ) のビット構成 TxTCR アドレス bit ch.0 0000F2H ch.1 0000FAH ch.2 000102H ch.3 00010AH 15 14 13 12 11 10 9 8 初期値 TCF TSES TCC TIE CINV TCS2 TCS1 TCS0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W R/W :リード / ライト可能 TxTCR レジスタはタイマの動作を制御します。 8 ビットでのアクセスが可能なレジスタです。 動作中 ( 全体レジスタの ST=1) に本レジスタを書き換えた場合 , タイマの動作は保証で きません。必ず停止状態 (ST=0) で書き換えてください。 [bit15] TCF ( タイマコンペア一致検出フラグ ) : タイマのコンペア一致を検出したことを示します。 0 コンペア一致なし [ 初期値 ] 1 コンペア一致あり ( 注意事項 ) ・ 本ビットへの "1" 書込みは無効です。 ・ 本フラグへのハードとCPUからの同時書込みはハードからの書込み を優先します。 [bit14] TSES( タイマスタートエッジ選択フラグ ) : タイマのスタートエッジの設定を行います。 0 立上りエッジ [ 初期値 ] 1 立下りエッジ [bit13] TCC ( タイマカウントクリア設定フラグ ) : タイマがコンペア一致をしたときにカウンタをクリアする設定をします。 0 カウントクリアあり [ 初期値 ] 1 カウントクリアなし [bit12] TIE ( タイマ割込み許可フラグ ) : タイマ割込みを許可します。 0 タイマ割込み禁止 [ 初期値 ] 1 タイマ割込み許可 本ビットが "1" のときに TCF=1 となると CPU に対して割込みを発生します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 217 第 8 章 多機能タイマ 8.2 レジスタ詳細説明 MB91313A シリーズ [bit11] CINV ( タイマクロック反転フラグ ) : 外部端子からのタイマ入力のクロックを反転します。 0 クロック立上りでカウントアップ [ 初期値 ] 1 クロック立下りでカウントアップ [bit10 ∼ bit8] TCS2 ∼ TCS0 ( タイマクロック選択フラグ ) : タイマクロックを選択します。 ( 注意事項 ) イベントカウントモードを使用するときは本ビットを "111B" に設定し てください。 TCS ビット 218 選択クロック , ソース TCS2 TCS1 TCS0 分周比 周期 (@33MHz) 0 0 0 φ × 23 0.24μs 0 0 1 φ × 25 0.96μs 0 1 0 φ × 27 3.88μs 0 1 1 φ × 29 15.5μs 1 0 0 φ × 210 31.0μs 1 0 1 φ × 212 124.1μs 1 1 0 φ × 214 496.5μs 1 1 1 外部クロック FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 8 章 多機能タイマ 8.2 レジスタ詳細説明 MB91313A シリーズ ■ TxR ( タイマ全体制御レジスタ ) 図 8.2-4 TxR ( タイマ全体制御レジスタ ) のビット構成 TxR アドレス bit ch.0 0000F3H ch.1 0000FBH ch.2 000103H ch.3 00010BH 7 6 5 4 3 2 1 0 初期値 − − − TST2 TST1 MD1 MD0 ST ---00000B − − − R/W R/W R/W R/W R/W R/W :リード / ライト可能 − :未使用 TxR レジスタはタイマの全体動作制御を制御します。 8 ビットでのアクセスが可能なレジスタです。 [bit7 ∼ bit5] 未使用ビット [bit4, bit3] TST2, TST1( テストビット ) : 常に "0" を書き込んでください。 [bit2, bit1] MD1, MD0 ( タイマ選択フラグ ) : タイマ動作を選択します。 MD1 MD0 0 0 インターバルタイマ [ 初期値 ] 0 1 イベントカウント 1 0 キャプチャ 1 1 設定禁止 選択モード [bit0] ST( タイマ動作開始フラグ ) : 0 タイマ動作を禁止 [ 初期値 ] 1 タイマ動作を許可 ST=0 にする前には CPIE および TIE を "0" に設定してください。 ST=0 になるのと同時に割込み要因が発生した場合は , ST=0 の状態で割込みが発生 してしまいます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 219 第 8 章 多機能タイマ 8.2 レジスタ詳細説明 MB91313A シリーズ ■ TxDRR ( タイマコンペアデータレジスタ ) 図 8.2-5 TxDRR ( タイマコンペアデータレジスタ ) のビット構成 TxDRR アドレス bit ch.0 0000F4H ch.1 0000FCH ch.2 000104H ch.3 00010CH bit 15 14 13 12 11 10 9 8 初期値 D15 D14 D13 D12 D11 D10 D9 D8 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 初期値 D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W R/W :リード / ライト可能 本レジスタは , タイマのコンペアデータを格納するレジスタです。このレジスタのデー タとタイマカウンタの値を比較しコンペア一致を出力します。 したがって , タイマモードにおいてはインターバル時間を設定し , 外部イベントモード ではイベント回数を設定して使用してください。また , キャプチャモードにおいてはカ ウント上限値を入力します。本レジスタの 8 ビットアクセスは禁止です。本レジスタ に "0" を設定すると , 216 カウントします。 ■ TxCRR ( キャプチャデータレジスタ ) 図 8.2-6 TxCRR ( キャプチャデータレジスタ ) のビット構成 TxCRR アドレス bit ch.0 0000F6H ch.1 0000FEH ch.2 000106H ch.3 00010EH bit 15 14 13 12 11 10 9 8 初期値 D15 D14 D13 D12 D11 D10 D9 D8 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 初期値 XXXXXXXXB 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 :リード / ライト可能 本レジスタは , キャプチャの値を読み出すレジスタです。 本レジスタに書き込むことで初期値を入れることも可能です。 本レジスタの 8 ビットアクセスは禁止です。 220 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 8 章 多機能タイマ 8.2 レジスタ詳細説明 MB91313A シリーズ ■ TMODE 図 8.2-7 TMODE のビット構成 TMODE アドレス bit 000110H bit 15 14 13 12 11 10 9 8 初期値 予約 予約 予約 予約 予約 予約 予約 予約 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 初期値 予約 予約 予約 予約 予約 HCNTMD 予約 予約 00000000B R/W R/W R/W R/W R/W R/W R/W R/W R/W :リード / ライト可能 TMODE は HSYNC カウンタモードを設定するレジスタです。 16 ビットでのアクセスが可能なレジスタです。 [bit15 ∼ bit3] 予約 : 予約ビット 予約ビットです。"0" を書いてください。 [bit2] HCNTMD : HSYNC カウンタモードを設定します。 0 : 通常モード 1 : HSYNC カウンタモード HSYNC カウンタモードではカウンタ ch.0 を使用します。 TMI0 に HSYNC, TMI1 に VSYNC を入力し , カウンタをキャプチャモードに設定し て使用します。 キャプチャ開始エッジと終了エッジは必ず異なるエッジを指定してください。 [bit1, bit0] 予約 : 予約ビット 予約ビットです。"0" を書いてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 221 第 8 章 多機能タイマ 8.3 多機能タイマの動作 8.3 MB91313A シリーズ 多機能タイマの動作 本タイマはインターバルタイマ , イベントカウント , キャプチャモードの 3 種類の動 作モードを持ちます。 以下に各モードの動作概要を説明します。本モジュールのトグル出力はどのモード においても初期値は "0" です。 ■ インターバルタイマモード インターバルタイマモードにおいては 7 種類のクロックソースから選択されたクロッ クを用いてタイマカウントを行い , トグル出力を行い , また , コンペアレジスタ値と一 致した場合に割込みを発生する機能があります。動作状態を下図に示します。 図 8.3-1 インターバルタイマモードの動作状態 FFFFH コンペアレジスタ値 カウンタ値 0000H 端子出力 割込み 割込みは端子出力エッジにて 発生される 222 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 8 章 多機能タイマ 8.3 多機能タイマの動作 MB91313A シリーズ ■ イベントカウントモード 端子入力のエッジ検出を行い , その回数にてカウントを行うモードです。 カウンタの値がコンペアレジスタと一致すると TCF が "1" となり , その際に TIE = 1 だと割込みを発生します。コンペア一致したときにカウンタをクリアすることができ ます。 図 8.3-2 イベントカウントモードの動作状態 クロック 端子入力 エッジ検出 コンペア レジスタ 1 0 カウンタ 4 2 3 4 3 トグル出力 コンペア一致による 出力信号出力 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED この信号により割込み 発生が可能、同様に カウンタクリアも可能 223 第 8 章 多機能タイマ 8.3 多機能タイマの動作 MB91313A シリーズ ■ キャプチャモード 外部端子入力のエッジからエッジまでの幅を計測することができます。計測用のク ロックは 7 種類から選択でき , 開始 , 終了エッジは立上りおよび立下りのどちらかを選 択できます。キャプチャの値は , フリーランモードでは終了エッジが来たときのカウン ト値がキャプチャされ , 上限値コンペアモードでは終了エッジが来る前に上限値コン ペア値と一致した場合は上限値が , 一致しなかった場合は終了エッジのときのキャプ チャ値が入力されます。下記にフリーランモードの場合における立上りエッジでカウ ント開始 , 立下りエッジで終了の場合の例を示します。 図 8.3-3 キャプチャモードでの立上り / 立下り例 外部入力 FFFFH カウンタ値 0000H キャプチャレジスタ XXXXH 7777H このときの値が キャプチャされる 224 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 8 章 多機能タイマ 8.3 多機能タイマの動作 MB91313A シリーズ ■ ローパスフィルタについて 本モジュールには外部端子入力ごとに 1 つずつのローパスフィルタが内蔵されていま す。 本フィルタにおいて , 4 種類の幅にてノイズの除去を論理的に行うことが可能です。 図 8.3-4 ローパスフィルタでのノイズ除去 フィルタクロック 入力信号 取込み信号 ステート 0 1 0 1 2 2 1 2 0 1 1 0 1 2 出力信号 これらのノイズ が除去される フィルタクロック 入力信号 取込み信号 ステート 0 0 1 0 出力信号 これらのノイズ が除去される CM71-10143-5 フィルタクロックの2サイクル 以上の長さの信号以外はすべて 除去される FUJITSU SEMICONDUCTOR LIMITED 225 第 8 章 多機能タイマ 8.3 多機能タイマの動作 226 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第9章 その他のタイマ メイン発振安定待ちタイマ , インターバルタイマ , 時計タイマについて説明します。 9.1 メイン発振安定待ちタイマ 9.2 時計タイマ CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 227 第 9 章 その他のタイマ 9.1 メイン発振安定待ちタイマ 9.1 MB91313A シリーズ メイン発振安定待ちタイマ メイン発振安定待ちタイマは , メインクロックに同期してカウントアップする 23 ビットのカウンタで , 一定の時間間隔で繰り返し割込みを発生するインターバルタ イマ機能があります。 本タイマは , サブクロックで動作中に OSCCR ( 発振制御レジスタ ) の bit8: OSCDS1 によってメイン発振を一度止めて再度発振させた場合に , メインクロック を発振安定待ち時間の確保に使用します。 ■ メイン発振安定待ちタイマのインターバル時間 表 9.1-1 にインターバル時間の種類を示します。インターバル時間は次の 3 種類の中か ら選択できます。 表 9.1-1 メイン発振安定待ちタイマのインターバル時間 メインクロック周期 インターバル時間 211/FCL(124μs) 1/FCL( 約 60ns) 216/FCL(3.9ms) 222/FCL(254ms) ( 注意事項 ) FCL はメインクロック発振周波数 ( 数値は 16.5MHz 時の値 ) 228 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 9 章 その他のタイマ 9.1 メイン発振安定待ちタイマ MB91313A シリーズ ■ メイン発振安定待ちタイマのブロックダイヤグラム 図 9.1-1 に , メイン発振安定待ちタイマのブロックダイヤグラムを示します。 図 9.1-1 メイン発振安定待ちタイマのブロックダイヤグラム メイン発振安定待ち タイマ用カウンタ FCL 0 1 2 3 4 5 6 7 8 10 15 22 21 22 23 24 25 26 27 28 29 211 216 223 (124μs) インターバル タイマ セレクタ (3.9ms) (254ms) カウンタ クリア回路 リセット (INIT) インターバル タイマ割込み メイン発振安定待ち タイマ制御レジスタ (OSCR) WIF WIE WEN 予約 予約 WS1 WS0 WCL FCL:メインクロック原発振 ( ) 内の数字は、メインクロック原発振16.5MHzの場合の周期 ● メイン発振安定待ちタイマ メインクロック原発振をカウントクロックとする 23 ビットのアップカウンタです。 ● カウンタクリア回路 OSCR レジスタによる設定 (WCL=0) 以外に , リセット (INIT) 時にカウンタをクリアし ます。 ● インターバルタイマセレクタ メイン発振安定待ちタイマ用カウンタの 3 種類の分周出力からインターバルタイマ用 の 1 種類を選択する回路で , 選択した分周出力の立下りエッジが割込み要因になりま す。 ● メイン発振安定待ちレジスタ (OSCR) インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認などを行い ます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 229 第 9 章 その他のタイマ 9.1 メイン発振安定待ちタイマ MB91313A シリーズ ■ メイン発振安定待ちタイマのレジスタ説明 メイン発振安定待ちタイマレジスタのレジスタ構成は , 以下のとおりです。 図 9.1-2 メイン発振安定待ちタイマ制御レジスタのビット構成 OSCR アドレス bit 000490H 15 14 13 12 11 10 9 8 WIF WIE WEN WCL R/W 予約 R/W WS0 R/W 予約 R/W WS1 R/W R/W R/W R/W 初期値 (INIT) 0 0 0 0 0 0 0 0 初期値 (RST) X X X X X X X X R/W :リード / ライト可能 [bit15] WIF : タイマ割込みフラグ メイン発振安定待ち割込み要求フラグです。 選択されたインターバルタイマ用分周出力の立下りエッジによって "1" にセットさ れます。 このビットと割込み要求許可ビットが "1" のとき , メイン発振安定割込み要求を出 力します。 値 内容 0 メイン発振安定割込みの要求なし [ 初期値 ] 1 メイン発振安定割込みの要求あり • リセット (INIT) で "0" に初期化されます。 • 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込 んでもビット値は変化しません。 • リードモディファイライト (RMW) 系命令での読出し値では常に "1" となります。 [bit14] WIE : タイマ割込み許可ビット CPU への割込み要求出力の許可 / 禁止を行うビットです。このビットとメイン発振 安定割込み要求フラグビットが "1" のとき , メイン発振安定割込み要求を出力しま す。 値 内容 0 メイン発振安定割込み要求出力禁止 [ 初期値 ] 1 メイン発振安定割込み要求出力許可 • リセット (INIT) で "0" に初期化されます。 • 読出しおよび書込みが可能です。 230 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 9 章 その他のタイマ 9.1 メイン発振安定待ちタイマ MB91313A シリーズ [bit13] WEN : タイマ動作許可ビット タイマ動作許可ビットです。 本ビットが "1" のときタイマはカウント動作を行います。 値 内容 0 タイマ動作停止 [ 初期値 ] 1 タイマ動作 • リセット (INIT) で "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit12, bit11] 予約 : 予約ビット 予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 ) 。 読出し値は不定です。 [bit10, bit9] WS1, WS0 : タイマインターバル時間選択ビット インターバルタイマの周期を選択します。 メイン発振安定待ちタイマ用カウンタの出力ビットの下記 3 種類のうちから選択し ます。 インターバルタイマ周期 (FCL=16.5MHz 時 ) WS1 WS0 0 0 設定禁止 [ 初期値 ] 0 1 211/FCL(124μs) 1 0 216/FCL(3.9ms) 1 1 222/FCL(254ms) • リセット (INIT) で "00B" に初期化されます。 • 読出しおよび書込みが可能です。 • メイン発振安定待ち時間タイマを使用する場合, 本レジスタにデータの書込みを 行ってください。 [bit8] WCL : タイマクリアビット "0" 書込みでメイン発振安定待ちタイマを "0" にクリアします。 書込みは "0" のみ可能で , "1" を書き込んでも動作に影響を与えません。 • 読出し値は常に "1" となります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 231 第 9 章 その他のタイマ 9.1 メイン発振安定待ちタイマ MB91313A シリーズ ■ メイン発振安定待ち割込み メイン発振安定待ちタイマ用カウンタは , メインクロックでカウント動作し , 設定した インターバル時間が経過すると , メイン発振安定待ち割込み要求フラグ (WIF) を "1" に セットします。そのとき , 割込み要求許可ビットを許可 (WIE=1) していると CPU へ割 込み要求が発生します。ただし , メインクロックが発振停止しているとき ( 次項の「■ インターバルタイマ機能の動作」を参照 ) ではカウント動作も停止しますので , メイン 発振安定待ち割込みは発生しません。 割込み処理ルーチンでWIFフラグに"0"を書き込み, 割込み要求をクリアしてください。 なお , WIF ビットは , WIE ビットの値に関系なく , 指定した分周出力が立ち下るとセッ トされます。 <注意事項> リセット解除後に割込み要求出力を許可 (WIE=1) する場合および WS1,WS0 ビット変更時 は , 必ず WIF と WCL ビットを同時にクリア (WIF=WCL=0) してください。 <参考> • WIF ビットが "1" のとき , WIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込み 要求が発生します。 • カウンタクリア(WPCR:WCL=1)と選択したビットのオーバフローが同時に起こった場 合は , WIF ビットのセットは行われません。 ■ インターバルタイマ機能の動作 メイン発振安定待ちタイマ用カウンタはメインクロックにてカウントアップを行いま すが , 以下の状態ではメインクロック発振が停止するため , カウント動作も停止しま す。 • WEN ビットが "0" のとき • ストップモードでメイン発振が停止する設定 ( スタンバイ制御レジスタ STCR の bit0:OSCD1=1) でストップモードに移行すると , ストップモード中 , カウント動作が 停止 リセット (INIT) 時 OSCD1=1 に初期化しますので , ストップモード中もメイン発振 安定待ちタイマを動かしたい場合は, スタンバイ移行前にOSCD2=0を設定してくだ さい。 • サブクロックモードで OSCCR ( 発振制御レジスタ ) の bit8:OSCDS1 に "1" を設定時 , メイン発振が停止 タイマカウント動作も停止します。 カウンタをクリア (WCL=0) すると , "000000H" からカウント動作を行い , "7FFFFFH" に 達すると "000000H" に戻ってカウントを継続します。カウントアップ中に選択された インターバルタイマ用の分周出力に立下りエッジが発生すると , メイン発振安定待ち 割込み要求ビット (WIF) を "1" にセットします。すなわち , クリアされた時間を基準に して , 選択されたインターバル時間ごとにメイン発振安定待ちタイマ割込み要求を発 生します。 232 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 9 章 その他のタイマ 9.1 メイン発振安定待ちタイマ MB91313A シリーズ ■ クロック供給機能の動作 INIT やストップモード後の発振安定待ち時間の確保にタイムベースカウンタが使用さ れますが , クロックソースとしてサブクロックを選択中にメインクロックの発振安定 待ち時間を確保するには , クロックソース選択とは無関係にメインクロックで動作す るメイン発振安定待ちタイマを使用します。 サブクロック動作にてメイン発振停止状態からメインクロックの発振安定待ちを行う には , 次の手順で行ってください。 1) メインクロックの発振安定に必要な時間を WT1, WT0 ビットに設定し , カウンタ を "0" にクリアします (WT1, WT0= 発振安定待ち時間 , WCL=0 書込み )。 発振安定待ち完了後の処理を割込みで行いたい場合は , 割込みフラグの初期化 も行います (WIF=0, WIE=0 書込み )。 2) メインクロックの発振を開始します (OSCCR bit8:OSCDS1=1 書込み )。 3) プログラムにて , WIF フラグが "1" になるまで待ちます。 4) WIF フラグが "1" になったのを確認し , 発振安定待ち完了後の処理を行います。 また, 割込みを許可した場合は, WIF=1時に割込みが発生しますので, 割込みルー チンで発振安定待ち完了後の処理を行ってください。 サブクロックからメインクロックに切り換える場合も , 4) の WIF=1 の確認を待ってか ら行ってください (発振安定を待たずにメインクロックへ切り換えると, デバイス全体 に不安定なクロックが供給され , その後の動作は保証されません ) 。 ■ メイン発振安定待ちタイマの動作 図 9.1-3 に , メイン発振安定待ちタイマ起動時のメインクロックへの移行時のカウンタ 状態を示します。 図 9.1-3 メイン発振安定待ちタイマ起動時のメインクロックへの移行時のカウンタ状態 7FFFFFH カウンタ値 時間 メインクロック 発振安定待ち時間 ・タイマクリア(WCL=1) "0"以外のとき 割込みルーチンで ・インターバル時間設定(WS1, WS0=11B) クリア ・メイン発振開始(OSCCR: OSCDS1=0) WIF(割込み要求) WIE(割込みマスク) クロックモード サブクロック メインクロック ・サブ→メインクロック変更 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 233 第 9 章 その他のタイマ 9.1 メイン発振安定待ちタイマ MB91313A シリーズ ■ メイン発振安定待ちタイマ使用時の注意事項 発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安値となります。 メインクロックが発振停止中はカウンタも停止しますので , メイン発振安定割込みも 発生しません。メイン発振安定割込みを使った処理を行う場合は , メイン発振を停止し ないでください。 WIF フラグセット要求と CPU からの "0" クリアタイミングが重なった場合は , フラグ セットが優先し , "0" クリアは無効となります。 234 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 9 章 その他のタイマ 9.2 時計タイマ MB91313A シリーズ 9.2 時計タイマ 時計タイマはサブクロックに同期してカウントアップする 21 ビットのフリーランカ ウンタで , 一定の時間間隔で繰り返し割込みを発生するインターバルタイマ機能が あります。 ■ 時計タイマのインターバル時間 インターバル時間は次の 7 種類の中から選択できます。 表 9.2-1 時計タイマのインターバル時間 サブクロック周期 インターバル時間 213/FCL (0.25 s) 214/FCL (0.50 s) 215/FCL (1 s) 1/FCL ( 約 30.5 μs) 216/FCL (2 s) 15×215/FCL (15 s) 15×216/FCL (30 s) 15×217/FCL (60 s) ( 注意事項 ) FCL はサブクロック発振周波数 ( 数値は 32.768kHz 時の値 ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 235 第 9 章 その他のタイマ 9.2 時計タイマ MB91313A シリーズ ■ 時計タイマのブロックダイヤグラム 図 9.2-1 時計タイマのブロックダイヤグラム 時計タイマ用 カウンタ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 21 22 23 24 25 26 27 28 29 210 211 212 213 214 215 216 FCL 15 ~ 18 19 20 × 15 216 217 (0.25 s) (0.5 s) (1.0 s) インター バル タイマ セレクタ (2.0 s) (15 s) (30 s) (60 s) リセット (INIT) カウンタ クリア回路 時計割込み 時計タイマ 制御レジスタ(WPCR) WIF WIE 予約 予約 WS2 WS1 WS0 WCL FCL: サブクロック原発振 ( )内の数字は、サブクロック原発振32.768kHzの場合の周期 【時計タイマ】 サブクロック原発振をカウントクロックとする 21 ビットのアップカウンタです。 【カウンタクリア回路】 WPCR レジスタによる設定 (WCL=0) 以外に , リセット (INIT) 時にカウンタをクリ アします。 【インターバルタイマセレクタ】 時計タイマ用カウンタの 4 種類の分周出力からインターバルタイマ用の 1 種類を選 択する回路で , 選択した分周出力の立下りエッジが割込み要因になります。 【時計タイマ制御レジスタ (WPCR)】 インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認などを 行います。 236 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 9 章 その他のタイマ 9.2 時計タイマ MB91313A シリーズ ■ 時計タイマのレジスタ 図 9.2-2 時計タイマ制御レジスタのビット構成 WPCR アドレス bit 00048CH 15 14 13 12 11 10 9 8 WIF WIE 予約 W WS2 WS1 WS0 WCL R/W R/W 予約 W R/W R/W R/W W 初期値 (INIT) 0 0 0 0 0 0 0 0 初期値 (RST) X X X X X X X X R/W :リード / ライト可能 W :ライトオンリ [bit15] WIF (Watch timer Interrupt Flag) 時計割込み要求フラグです。 選択されたインターバルタイマ用分周出力の立下りエッジによって "1" にセットさ れます。 このビットと割込み要求許可ビットが "1" のとき , 時計割込み要求を出力します。 0 時計割込みの要求なし ( 初期値 ) 1 時計割込みの要求あり • リセット (INIT) で "0" に初期化されます。 • 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込 んでもビット値は変化しません。また , リードモディファイライト (RMW) 系命 令での読出し値では常に "1" となります。 [bit14] WIE (Watch timer Interrupt Enable) CPU への割込み要求出力の許可 / 禁止を行うビットです。このビットと時計割込み 要求フラグビットが "1" のとき , 時計割込み要求を出力します。 0 時計割込み要求出力禁止 ( 初期値 ) 1 時計割込み要求出力許可 • リセット (INIT) で "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit13, bit12] 予約 : 予約ビット 予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 )。 読出し値は不定です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 237 第 9 章 その他のタイマ 9.2 時計タイマ MB91313A シリーズ [bit11 ∼ bit9] WS2 ∼ WS0 (Watch timer interval Select 2 ∼ 0) インターバルタイマの周期を選択します。 時計タイマ用カウンタの出力ビットの下記 7 種類のうちから選択します。 インターバルタイマ周期 (FCL=32.768kHz 時 ) WS1 WS0 WS0 0 0 0 213 / FCL (0.25 s) ( 初期値 ) 0 0 1 214 / FCL (0.50 s) 0 1 0 215 / FCL (1 s) 0 1 1 216 / FCL (2 s) 1 0 0 15×215 / FCL (15 s) 1 0 1 15×216 / FCL (30 s) 1 1 0 15×217 / FCL (60 s) 1 1 1 設定禁止 • リセット (INIT) で "000B" に初期化されます。 • 読出しおよび書込みが可能です。 [bit8] WCL (Watch timer CLear) "0" 書込みで時計タイマを "0" にクリアします。 • 書込みは "0" のみ可能で , "1" を書き込んでも動作に影響しません。 • 読出し値は常に "1" となります。 ■ 時計割込み 時計タイマ用カウンタがサブクロックでカウント動作し , 設定したインターバル時間 が経過すると , 時計割込み要求フラグ (WIF) を "1" にセットします。そのとき , 割込み 要求許可ビットを許可 (WIE=1) していると CPU へ割込み要求が発生します。ただし , サブクロックが発振停止しているとき (「■ インターバルタイマ機能の動作」を参照 ) ではカウント動作も停止しますので , 時計割込みは発生しません。 割込み処理ルーチンでWIFフラグに"0"を書き込み, 割込み要求をクリアしてください。 なお , WIF ビットは , WIE ビットの値に関係なく , 指定した分周出力が立ち下るとセッ トされます。 <注意事項> リセット解除後に割込み要求出力を許可 (WIE=1) する場合および WS1,WS0 ビットの変 更時は , 必ず WIF, WCL ビットを同時にクリア (WIF=WCL=0) してください。 • WIF ビットが "1" のとき , WIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込み 要求が発生します。 • カウンタクリア(WPCR:WCL=1)と選択したビットのオーバフローが同時に起こった場 合は , WIF ビットのセットは行われません。 238 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 9 章 その他のタイマ 9.2 時計タイマ ■ インターバルタイマ機能の動作 時計タイマ用カウンタはサブクロックが発振中は常にカウントアップをしていますが, 以下の状態時はサブクロック発振が停止するため , カウント動作が停止します。 • クロックソースレジスタ CLKR の bit11:PLL2EN が "0" のとき。 リセット (INIT) 時 , PLL2EN を "0" に初期化しますので , 時計タイマを使用する場合 は , PLL2EN に "1" を書き込んでサブクロックを発振させてください。 • ストップモードでサブ発振が停止する設定 ( スタンバイ制御レジスタ STCR の bit1:OSCD2=1) でストップモードに移行すると , ストップモード中 , カウント動作が 停止します。リセット (INIT) 時 OSCD2=1 に初期化しますので , ストップモード中も 時計タイマを動かしたい場合は , スタンバイ移行前に OSCD2=0 を設定してくださ い。 カウンタをクリア (WCL=0) すると , "000000H" からカウント動作を行い , "1FFFFFH" に 達すると "000000H" に戻ってカウントを継続します。カウントアップ中に選択された インターバルタイマ用の分周出力に立下りエッジが発生すると , 時計割込み要求ビッ ト (WIF) を "1" にセットします。つまり , クリアされた時間を基準にして , 選択された インターバル時間ごとに時計割込み要求を発生します。 ■ クロック供給機能の動作 INIT やストップモード後の発振安定待ち時間の確保にタイムベースカウンタが使用さ れますが , クロックソースとしてメインクロックを選択中にサブクロックの発振安定 待ち時間を確保するには , クロックソース選択とは無関係にサブクロックで動作する 時計タイマを使用します。 メインクロック動作からサブクロックの発振安定待ちを行うには , 次の手順で行って ください。 1) 時計タイマのインターバル時間を 1s(FCL=32.768kHz 時 ) にし , カウンタを "0" に クリアします (WS2 ∼ WS0=011B, WCL=0 書込み )。 発振安定待ち完了後の処理を割込みで行いたい場合は , 割込みフラグの初期化 も行います (WIF=0, WIE=1 書込み ) 。 2) サブクロックの発振を開始します (CLKR bit11:PLL2EN=1 書込み )。 3) プログラムにて , WIF フラグが "1" になるまで待ちます。 4) WIF フラグが "1" になったのを確認し , 発振安定待ち完了後の処理を行います。 また, 割込みを許可した場合は, WIF=1時に割込みが発生しますので, 割込みルー チンで発振安定待ち完了後の処理を行ってください。 メインクロックからサブクロックに切り換える場合も , (4) の WIF=1 の確認を待ってか ら行ってください ( 発振安定を待たずにサブクロックへ切り換えるとデバイス全体に 不安定なクロックが供給され , その後の動作は保証されません ) 。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 239 第 9 章 その他のタイマ 9.2 時計タイマ MB91313A シリーズ ■ 時計タイマの動作 時計タイマを起動したとき , サブクロックへの移行時 , サブクロック動作でストップ モードへ移行時のカウンタ状態を以下に示します。 1FFFFFH カウンタ値 004000H サブクロック 発振安定待ち時間 ・タイマクリア(WCL=1) "0"以外のとき ・インターバル時間設定(WS2~WS0=011B) ・サブ発振開始(CLKR:PLL2EN=1) インター バル時間 割込み ルーチン でクリア 割込み ルーチン でクリア 割込み ルーチン でクリア WIF クロックソース メインクロック サブクロック ストップ * クロックモード RUN ・ インターバル時間を変更(WS2~WS0=010B) ・ メイン→サブクロック変更 RUN ストップモード移行命令 * : STCR:OSCD2=0(ストップ時発振停止しない)設定時 ■ 時計タイマ使用時の注意事項 • 発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安値となります。 • サブクロックが発振停止中は時計タイマも停止しますので , 時計割込みも発生しま せん。時計割込みを使った処理を行う場合は , サブクロックの発振を停止しないで ください。 • WIF フラグセット要求と CPU からの "0" クリアタイミングが重なった場合は , フラ グセットが優先し "0" クリアは無効となります。 240 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 10 章 割込みコントローラ 割込みコントローラの概要 , レジスタの構成 / 機能 および動作について説明します。 10.1 割込みコントローラの概要 10.2 割込みコントローラのレジスタ 10.3 割込みコントローラの動作説明 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 241 第 10 章 割込みコントローラ 10.1 割込みコントローラの概要 10.1 MB91313A シリーズ 割込みコントローラの概要 割込みコントローラは , 割込み受付け / 調停処理を行います。 ■ 割込みコントローラのハードウェア構成 本モジュールは , 以下のものより構成されます。 • ICR レジスタ • 割込み優先度判定回路 • 割込みレベル , 割込み番号 ( ベクタ ) 発生部 • ホールドリクエスト取下げ要求発生部 ■ 割込みコントローラの主要機能 本モジュールには , 主に以下のような機能があります。 • 優先度判定 ( レベルおよび番号による ) • 判定結果の要因の割込みレベル伝達 (CPU へ ) • 判定結果の要因の割込み番号伝達 (CPU へ ) • バスマスタへのホールドリクエスト取下げ要求発生 242 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 10 章 割込みコントローラ 10.1 割込みコントローラの概要 MB91313A シリーズ ■ 割込みコントローラのレジスタ一覧 図 10.1-1 に , 割込みコントローラのレジスタ一覧を示します。 図 10.1-1 割込みコントローラのレジスタ一覧 アドレス 000440H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR00 000441H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR01 000442H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR02 000443H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR03 000444H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR04 000445H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR05 ICR3 ICR2 ICR1 ICR0 ICR06 000446H − − − ICR4 000447H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR07 000448H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR08 000449H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR09 00044AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR10 00044BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR11 00044CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR12 00044DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR13 ICR3 ICR2 ICR1 ICR0 ICR14 00044EH − − − ICR4 00044FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR15 000450H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR16 000451H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR17 000452H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR18 000453H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR19 000454H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR20 000455H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR21 ICR3 ICR2 ICR1 ICR0 ICR22 000456H − − − ICR4 000457H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR23 000458H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR24 000459H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR25 00045AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR26 00045BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR27 00045CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR28 00045DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR29 ICR3 ICR2 ICR1 ICR0 ICR30 00045EH − − − ICR4 00045FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR31 000460H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR32 000461H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR33 000462H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR34 000463H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR35 000464H − − − ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W ICR36 ( 続く ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 243 第 10 章 割込みコントローラ 10.1 割込みコントローラの概要 MB91313A シリーズ ( 続き ) アドレス 000465H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR37 000466H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR38 000467H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR39 000468H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR40 000469H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR41 ICR3 ICR2 ICR1 ICR0 ICR42 00046AH − − − ICR4 00046BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR43 00046CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR44 00046DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR45 00046EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR46 00046FH − − − ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W ICR47 000045H − − − LVL4 R LVL3 R/W LVL2 R/W LVL1 R/W LVL0 R/W HRCL ■ 割込みコントローラのブロックダイヤグラム 図 10.1-2 に割込みコントローラのブロックダイヤグラムを示します。 図 10.1-2 割込みコントローラのブロックダイヤグラム WAKEUP (レベル≠11111Bのとき1) UNMI 優先度判定 NMI 処理 レベル4~0 5 / レベル, ベクタ 発生 レベル判定 RI00 ・ ・ ・ RI47 (DLYIRQ) ICR00 ・ ・ ・ ICR47 ベクタ 判定 6 / HLDREQ 取下げ 要求 MHALTI VCT5~VCT0 R-bus 244 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 10.2 第 10 章 割込みコントローラ 10.2 割込みコントローラのレジスタ 割込みコントローラのレジスタ 割込みコントローラのレジスタ構成および機能について説明します。 ■ 割込みコントローラのレジスタ詳細 割込みコントローラには , 以下の 2 種類のレジスタがあります。 • ICR ( 割込み制御レジスタ ) • HRCL ( ホールドリクエスト取下げ要求レジスタ ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 245 第 10 章 割込みコントローラ 10.2 割込みコントローラのレジスタ 10.2.1 MB91313A シリーズ ICR ( 割込み制御レジスタ ) ICR は , 割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており , 対応する割込み要求の割込みレベルを設定します。 ■ 割込み制御レジスタ (ICR) 割込み制御レジスタ (ICR) のビット構成は以下のとおりです。 図 10.2-1 割込み制御レジスタ (ICR) のビット構成 ICR 7 アドレス bit 000440H − ∼ 00046FH − R/W :リード / ライト可能 R :リードオンリ − :未使用 6 5 4 3 2 1 0 初期値 − − ICR4 ICR3 ICR2 ICR1 ICR0 ---11111B − − R R/W R/W R/W R/W [bit4 ∼ bit0] ICR4 ∼ ICR0 割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。 本レジスタに設定した割込みレベルが CPU の ILM レジスタに設定した ( された ) レ ベルマスク値以上の場合は , CPU 側にて割込み要求はマスクされます。 リセットにより , "11111B" に初期化されます。 表 10.2-1 に , 設定可能な割込みレベル設定ビットと割込みレベルの対応を示します。 表 10.2-1 設定可能な割込みレベル設定ビットと割込みレベルの対応 ICR4* ICR3 ICR2 ICR1 ICR0 割込みレベル 0 0 0 0 0 0 システム予約 0 1 1 1 0 14 0 1 1 1 1 15 NMI 1 0 0 0 0 16 設定可能な最強レベル 1 0 0 0 1 17 (強) 1 0 0 1 0 18 1 0 0 1 1 19 1 0 1 0 0 20 1 0 1 0 1 21 1 0 1 1 0 22 1 0 1 1 1 23 1 1 0 0 0 24 1 1 0 0 1 25 1 1 0 1 0 26 1 1 0 1 1 27 1 1 1 0 0 28 1 1 1 0 1 29 1 1 1 1 0 30 (弱) 1 1 1 1 1 31 割込み禁止 *: ICR4 は "1" 固定で , "0" を書き込むことはできません。 246 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 10 章 割込みコントローラ 10.2 割込みコントローラのレジスタ MB91313A シリーズ HRCL ( ホールドリクエスト取下げ要求レジスタ ) 10.2.2 HRCL は , ホールドリクエスト取下げ要求発生のためのレベル設定レジスタです。 ■ ホールドリクエスト取下げ要求レジスタ (HRCL) ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成は , 以下のとおりです。 図 10.2-2 ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成 HRCL アドレス bit 7 6 5 4 3 2 1 0 初期値 000045H − − − LVL4 LVL3 LVL2 LVL1 LVL0 ---11111B − − R R/W R/W R/W R/W − R/W :リード / ライト可能 R :リードオンリ − :未使用 [bit4 ∼ bit0] LVL4 ∼ LVL0 バスマスタへのホールドリクエスト取下げ要求を出すための割込みレベルを設定 します。 本レジスタに設定した割込みレベルより強いレベルを持つ割込み要求が発生した 場合は , バスマスタに対してホールドリクエスト取下げ要求を出します。 LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 247 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 10.3 MB91313A シリーズ 割込みコントローラの動作説明 割込みコントローラの動作について説明します。 ■ 優先順位判定 本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選 択し , その要因の割込みレベルと割込み番号を CPU へ出力します。 割込み要因の優先順位判定基準は , 以下のとおりです。 • 割込みレベルの数値が 31 以外 (31 は割込み禁止 ) • 割込みレベルの数値が最も小さい要因 • その中で , 最も小さい割込み番号を持つ要因 上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし て 31(11111B) を出力します。そのときの割込み番号は不定です。 割込み要因と割込み番号 , 割込みレベルの関係は , 「付録 B ベクタテーブル」を参照 してください。 ■ ホールドリクエスト取下げ要求 優先度の高い割込み処理を CPU のホールド中 (DMA 転送中 ) に行う場合は , ホールド リクエスト発生元においてリクエストを取り下げさせる必要があります。この取下げ 要求発生の基準となる割込みレベルを HRCL レジスタに設定します。 ● 発生基準 HRCL レジスタに設定した割込みレベルより強いレベルの割込み要因が発生した場合 は , ホールドリクエスト取下げ要求を発生します。 HRCL レジスタの割込みレベル > 優先度判定後の割込みレベル →取下げ要求発生 HRCL レジスタの割込みレベル ≦ 優先度判定後の割込みレベル →取下げ要求なし 取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効 であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割 込み要因をクリアしてください。 248 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91313A シリーズ ● 設定可能なレベル HRCL レジスタに設定可能な値は , ICR と同様に "10000B " から "11111B" までです。 "11111B" に設定した場合はすべての割込みレベルに対して取下げ要求を発生します。 表 10.3-1 に , ホールドリクエスト取下げ要求発生となる割込みレベルの設定を示しま す。 表 10.3-1 ホールドリクエスト取下げ要求発生となる割込みレベルの設定 HRCL レジスタ 取下げ要求発生となる割込みレベル 17 割込みレベル 16 18 割込みレベル 16, 17 ∼ なし ∼ 16 31 割込みレベル 16 ∼ 30 [ 初期値 ] リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割 込みが発生していると DMA 転送が行われませんので , HRCL レジスタの値を必要な値 に設定してください。 ■ スタンバイモード ( ストップ / スリープ ) からの復帰 割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し ます。周辺からの割込み要求 ( 割込みレベルが 11111B 以外 ) が 1 つでも発生すると , クロック制御部に対してストップモードからの復帰要求を発生します。 優先度判定部はストップ復帰後クロックが供給されてから動作を再開しますので , 優 先度判定部の結果が出るまでの間 CPU は命令を実行します。 スリープ状態からの復帰においても , 同様に動作します。また , スリープ中であっても , 本モジュール内のレジスタはアクセス可能です。 <注意事項> ストップおよびスリープからの復帰の要因としない割込み要因は , 対応する周辺の制御レ ジスタにて割込みレベルを "11111B" にしてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 249 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91313A シリーズ ■ ホールドリクエスト取下げ要求機能 (HRCR) の使用例 DMA 転送中に , CPU が優先度の高い処理を行いたいときは , DMA に対してホールド リクエストを取り下げさせ , ホールド状態を解除する必要があります。ここでは , 割込 みを利用して DMA に対してホールドリクエストの取下げ , すなわち , CPU の優先動作 を実現します。 ● 制御レジスタ ① HRCL ( ホールドリクエストキャンセルレベル設定レジスタ ) : 本モジュール : 本レジスタに設定した割込みレベルより強いレベルの割込みが発生した場合に , DMA に対してホールドリクエスト取下げ要求を発生します。その基準となるレベ ルを設定します。 ② ICR: 本モジュール : 使用する割込み要因に対応する ICR に , HRCL レジスタよりも強いレベルを設定し ます。 ● ハードウェア構成 図 10.3-1 に , ホールドリクエストの各信号の流れを示します。 図 10.3-1 ホールドリクエストの各信号の流れ 本モジュール IRQ バスアクセス要求 MHALTI I-ユニット DHREQ DMA B-ユニット DHREQ:D-busホールドリクエスト CPU DHACK:D-busホールドアクノリッジ (ICR) IRQ :割込み要求 (HRCL) DHACK MHALTI:ホールドリクエスト 取下げ要求 ● シーケンス 図 10.3-2 に , HRCL レジスタに設定したレベルより強い場合の割込みレベルを示しま す。 図 10.3-2 割込みレベル HRCL < ICR (LEVEL) RUN CPU バスホールド 割込み処理 バスホールド(DMA転送) ① ② バスアクセス要求 割込みルーチンの例 ①割込み要因クリア DHREQ ~ DHACK ②RETI IRQ LEVEL MHALTI 250 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91313A シリーズ 割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した レベルより強いと DMA に対して MHALTI をアクティブにします。これによって , DMA はアクセス要求を下げ , CPU はホールド状態から復帰して割込み処理を行います。 図 10.3-3 に , 多重割込みの場合の割込みレベルを示します。 図 10.3-3 割込みレベル HRCL < ICR( 割込みⅠ )< ICR( 割込みⅡ ) RUN バスホールド 割込み I 割込み処理II ③ CPU ④ 割込み処理I バスホールド(DMA転送) ① ② バスアクセス要求 DHREQ DHACK IRQ1 IRQ2 LEVEL MHALTI [ 割込みルーチンの例 ] ① , ③割込み要因クリア ∼ ② , ④ RETI 上記の例では , 割込みルーチン I を実行中に , それよりも優先度の高い割込みが発生し た場合を示しています。 HRCL レジスタに設定した割込みレベルより高い割込みレベルが発生している間は , DHREQ は下がっています。 <注意事項> HRCL レジスタと ICR に設定する割込みレベルの関係には , 十分注意してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 251 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 252 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 11 章 外部割込み制御部 外部割込み制御部の概要 , レジスタの構成 / 機能お よび動作について説明します。 11.1 外部割込み制御部の概要 11.2 外部割込み制御部のレジスタ 11.3 外部割込み制御部の動作説明 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 253 第 11 章 外部割込み制御部 11.1 外部割込み制御部の概要 MB91313A シリーズ 外部割込み制御部の概要 11.1 外部割込み制御部は , INT 端子に入力される外部割込み要求の制御を行うブロックで す。 検出する要求のレベルとして , 以下の 4 種類から選択できます。 • "H" レベル • "L" レベル • 立上りエッジ • 立下りエッジ これらのレベルは STOP 復帰に使用可能です。 ■ 外部割込み制御部のレジスタ一覧 外部割込み制御部のレジスタ一覧は以下のとおりです。 アドレス 000040H ∼ 0000C0H 0000C4H bit 31 24 23 EIRR0 16 15 ENIR0 1 ELVR0 | EIRR1 EIRR2 ENIR1 ENIR2 ELVR1 ELVR2 ■ 外部割込み制御部のブロックダイヤグラム 図 11.1-1 に , 外部割込み制御部のブロックダイヤグラムを示します。 図 11.1-1 外部割込み制御部のブロックダイヤグラム R-bus 8 24 割込み許可レジスタ ゲート 要因FF エッジ検出回路 24 INT0~INT23 8 割込み要因レジスタ 16 254 要求レベル設定レジスタ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 11.2 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ 外部割込み制御部のレジスタ 外部割込み制御部のレジスタ構成および機能について説明します。 ■ 外部割込み制御部のレジスタ詳細 外部割込み制御部のレジスタには , 以下の 3 種類があります。 • 割込み許可レジスタ (ENIR) • 外部割込み要因レジスタ (EIRR) • 外部割込み要求レベル設定レジスタ (ELVR) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 255 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ MB91313A シリーズ 割込み許可レジスタ (ENIR) 11.2.1 ENIR は外部割込み要求出力のマスク制御を行います。 ■ 割込み許可レジスタ (ENIR) 割込み許可レジスタのビット構成は , 以下のとおりです。 図 11.2-1 割込み許可レジスタ (ENIR) のビット構成 ENIR2 アドレス bit 0000C5H 23 22 21 20 19 18 17 16 EN23 EN22 EN21 EN20 EN19 EN18 EN17 EN16 R/W R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 初期値 00000000B 初期値 00000000B ENIR1 アドレス bit 0000C1H EN15 EN14 EN13 EN12 EN11 EN10 EN9 EN8 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 初期値 00000000B ENIR0 アドレス bit 000041H EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 R/W R/W R/W R/W R/W R/W R/W R/W R/W :リード / ライト可能 このレジスタの "1" が書かれたビットに対応する割込み要求出力は許可され (INT0 の 許可を EN0 が制御 ) , 割込みコントローラに対して要求が出力されます。"0" が書かれ たビットの対応する端子は割込み要因を保持しますが , 割込みコントローラに対して は要求を発生しません。 256 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ MB91313A シリーズ 外部割込み要因レジスタ (EIRR) 11.2.2 EIRR は読出し時には対応する外部割込み要求があることを示し , 書込み時にはこの 要求を示すフリップフロップ内容をクリアするレジスタです。 ■ 外部割込み要因レジスタ (EIRR) 外部割込み要因レジスタのビット構成は , 以下のとおりです。 図 11.2-2 外部割込み要因レジスタ (EIRR) のビット構成 EIRR2 アドレス bit 0000C4H 23 22 21 20 19 18 17 16 初期値 ER23 ER22 ER21 ER20 ER19 ER18 ER17 ER16 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 初期値 00000000B EIRR1 アドレス bit 0000C0H ER15 ER14 ER13 ER12 ER11 ER10 ER9 ER8 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 初期値 00000000B EIRR0 アドレス bit 000040H ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 R/W R/W R/W R/W R/W R/W R/W R/W R/W :リード / ライト可能 この EIRR レジスタを読み出したとき , その値によって動作が以下のようになります。 "1" であった場合に , そのビットに対応する端子に外部割込み要求があることを示しま す。また , このレジスタに "0" を書き込むと , 対応するビットの要求フリップフロップ がクリアされます。"1" の書込みは無効です。 リードモディファイライト (RMW) 系命令の読出し時には "1" が読まれます。 端子状態によっては , 外部割込み許可レジスタの対応するビットに "0" が書かれた場合 においても , 外部割込み要因レジスタのビット値が "1" になる場合があります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 257 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ MB91313A シリーズ 外部割込み要求レベル設定レジスタ (ELVR) 11.2.3 ELVR は要求検出の選択を行うレジスタです。 ■ 外部割込み要求レベル設定レジスタ (ELVR) 外部割込み要求レベル設定レジスタのビット構成は , 以下のとおりです。 図 11.2-3 外部割込み要求レベル設定レジスタ (ELVR) のビット構成 ELVR0 アドレス bit 000042H bit 000043H 15 14 13 12 11 10 9 8 初期値 00000000B LB7 LA7 LB6 LA6 LB5 LA5 LB4 LA4 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 LB3 LA3 LB2 LA2 LB1 LA1 LB0 LA0 R/W R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 初期値 LB15 LA15 LB14 LA14 LB13 LA13 LB12 LA12 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 LB11 LA11 LB10 LA10 LB9 LA9 LB8 LA8 R/W R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 初期値 00000000B 初期値 00000000B ELVR1 アドレス bit 0000C2H bit 0000C3H 初期値 00000000B ELVR2 アドレス bit 0000C6H bit 0000C7H LB23 LA23 LB22 LA22 LB21 LA21 LB20 LA20 R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 LB19 LA19 LB18 LA18 LB17 LA17 LB16 LA16 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 00000000B R/W :リード / ライト可能 258 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ 各割込みチャネルに2ビットずつが割り当てられていて, 以下のような設定になります。 要求入力がレベルの場合 , EIRR の各ビットをクリアしても入力がアクティブレベルな らば該当するビットは再びセットされます。 表 11.2-1 に , ELVR 割当てを示します。 表 11.2-1 ELVR 割当て LBx,LAx 動作 00 "L" レベルで要求あり [ 初期値 ] 01 "H" レベルで要求あり 10 立上りエッジで要求あり * 11 立下りエッジで要求あり * *: INT16 ∼ INT23 は設定禁止です。 ( 注意事項 ) STOP からの復帰にはすべての要求レベルが設定可能です (INT0 ∼ INT15)。 <注意事項> • 外部割込み要求レベルを変更すると , 内部で割込み要因が発生する場合がありますので , 外部割込み要求レベル変更後に外部割込み要因レジスタ (EIRR) をクリアしてくださ い。外部割込み要因レジスタをクリアする際は一度 , 外部割込み要求レベルレジスタを 読み出してからクリアの書込みを行ってください。 • INT17, INT19 の 2 チャネルに関しては , エッジ検出は使用できません。レベル検出の 設定で使用してください。 MB91F313A には , この制限はありません。 • STOP からの復帰にはすべての要求レベルが設定可能です (INT17, INT19 は除く )。 MB91F313A には , この制限はありません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 259 第 11 章 外部割込み制御部 11.3 外部割込み制御部の動作説明 11.3 MB91313A シリーズ 外部割込み制御部の動作説明 外部割込み制御部の動作について説明します。 ■ 外部割込みの動作 要求レベル , 許可レジスタの設定の後 , 対応する端子に ELVR レジスタで設定された要 求が入力されると , 本モジュールは割込みコントローラに対して割込み要求信号を発生 します。割込みコントローラ内で同時発生した割込みの優先順位を識別した結果 , 本リ ソースからの割込みが最も優先順位が高かったときに , 該当する割込みが発生します。 図 11.3-1 に , 外部割込みの動作を示します。 図 11.3-1 外部割込みの動作 外部割込み リソース要求 ELVR 割込みコントローラ ICR y y EIRR ENIR CPU IL CMP ICR X X CMP ILM 要因 ■ 外部割込みの動作手順 外部割込み部内に存在するレジスタの設定を行う際 , 次の手順で設定してください。 1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに 設定する。 2. 割込み許可レジスタ (ENIR) の対象となるビットを禁止状態にする。 3. 外部割込み要求レベル設定レジスタ (ELVR) の対象となるビットを設定する。 4. 外部割込み要求レベル設定レジスタ (ELVR) を読み出す。 5. 外部割込み要因レジスタ (EIRR) の対象となるビットをクリアする。 6. 割込み許可レジスタ (ENIR) の対象となるビットを許可状態にする ( ただし , 5. と 6. は 16 ビットデータによる同時書込みが可能です )。 本モジュール内のレジスタを設定するときには必ず許可レジスタをディセーブル状態 に設定する必要があります。また , 許可レジスタをイネーブル状態にする前に必ず要因 レジスタをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態 時に誤って割込み要因が起こってしまうことを避けるためです。 260 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 11 章 外部割込み制御部 11.3 外部割込み制御部の動作説明 MB91313A シリーズ ■ 外部割込み要求レベル 要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス幅は 最小 3 マシンサイクル ( 周辺系クロックマシンサイクル ) 必要とします。 要求入力レベルがレベル設定の場合 , パルス幅は最小 3 マシンサイクル必要とします。 また割込み入力端子がアクティブレベルを保持し続けている限りは , 外部割込み要因 レジスタをクリアしても , 割込みコントローラへの割込み要求は発生し続けます。 要求入力レベルがレベル設定のとき , 外部より要求入力が入ってその後取り下げられ ても内部に要因保持回路が存在するので , 割込みコントローラへの要求はアクティブ のままです。 割込みコントローラへの要求を取り下げるには要因レジスタをクリアする必要があり ます。 図 11.3-2 にレベル設定時の要因保持回路のクリアについて示します。 図 11.3-2 レベル設定時の要因保持回路のクリア 割込み入力 レベル検出 要因 FF (要因保持回路) 許可ゲート 割込み コントローラ クリアしない限り要因を保持し続ける 図 11.3-3 に , 割込み許可時の割込要因と割込みコントローラへの割込み要求を示しま す。 図 11.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求 R-bus 8 24 割込み許可レジスタ ゲート 要因FF エッジ検出回路 24 INT0~INT23 8 割込み要因レジスタ 16 CM71-10143-5 要求レベル設定レジスタ FUJITSU SEMICONDUCTOR LIMITED 261 第 11 章 外部割込み制御部 11.3 外部割込み制御部の動作説明 262 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 12 章 遅延割込みモジュール 遅延割込みモジュールの概要 , レジスタの構成 / 機 能および動作について説明します。 12.1 遅延割込みモジュールの概要 12.2 遅延割込みモジュールのレジスタ 12.3 遅延割込みモジュールの動作 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 263 第 12 章 遅延割込みモジュール 12.1 遅延割込みモジュールの概要 12.1 MB91313A シリーズ 遅延割込みモジュールの概要 遅延割込みモジュールは , タスク切換え用の割込みを発生するためのモジュールで す。 本モジュールを使用することで , ソフトウェアで CPU に対して割込み要求の発生・ 解除を行うことができます。 ■ 遅延割込みモジュールのレジスタ一覧 遅延割込みモジュールのレジスタ一覧は , 以下のとおりです。 DICR アドレス 000044H bit 7 6 5 4 3 2 1 0 − − − − − − − DLYI R/W R/W: リード / ライト可能 ■ 遅延割込みモジュールのブロックダイヤグラム 図 12.1-1 に , 遅延割込みモジュールのブロックダイヤグラムを示します。 図 12.1-1 遅延割込みモジュールのブロックダイヤグラム R-bus 割込み要求 264 DLYI FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 12 章 遅延割込みモジュール 12.2 遅延割込みモジュールのレジスタ MB91313A シリーズ 12.2 遅延割込みモジュールのレジスタ 遅延割込みモジュールのレジスタの構成および機能について説明します。 ■ DICR ( 遅延割込みモジュールレジスタ ) DICR は , 遅延割込みを制御するレジスタです。 遅延割込みモジュールレジスタ (DICR) のビット構成は , 以下のとおりです。 DICR アドレス 000044H bit 7 − 6 − 5 − 4 − 3 − 2 − 1 − 0 初期値 DLYI -------0B R/W R/W: リード / ライト可能 [bit0] DLYI DLYI 説明 0 遅延割込み要因の解除・要求なし [ 初期値 ] 1 遅延割込み要因の発生 本ビットにより , 該当する割込み要因の発生・解除を制御します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 265 第 12 章 遅延割込みモジュール 12.3 遅延割込みモジュールの動作 12.3 MB91313A シリーズ 遅延割込みモジュールの動作 遅延割込みは , タスク切換え用の割込みを発生するものです。本機能を使用するこ とにより , ソフトウェアで CPU に対して割込み要求の発生・解除を行うことができ ます。 ■ 割込み番号 遅延割込みは , 最も大きな割込み番号に対応した割込み要因に割り当てられています。 本品種では , 遅延割込みを割込み番号 63(3FH) に割り当てています。 ■ DICR の DLYI ビット このビットに "1" を書き込むことで , 遅延割込み要因が発生します。また , "0" を書き 込むことで遅延割込み要因を解除します。 本ビットは , 一般の割込みにおける割込み要因フラグと同じものであり , 割込みルーチ ンの中で本ビットをクリアし , 併せてタスクの切換えを行うようにしてください。 266 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 13 章 ビットサーチモジュール ビットサーチモジュールの概要 , レジスタの構成 / 機能および動作について説明します。 13.1 ビットサーチモジュールの概要 13.2 ビットサーチモジュールのレジスタ 13.3 ビットサーチモジュールの動作 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 267 第 13 章 ビットサーチモジュール 13.1 ビットサーチモジュールの概要 13.1 MB91313A シリーズ ビットサーチモジュールの概要 ビットサーチモジュールは , 入力レジスタに書き込まれたデータに対して , "0" または "1" または変化点を検索し , 検出したビット位置を返します。 ■ ビットサーチモジュールのレジスタ一覧 ビットサーチモジュールのレジスタ一覧は , 以下のとおりです。 bit31 bit0 アドレス : 0003F0H BSD0 0 検出用データレジスタ アドレス : 0003F4H BSD1 1 検出用データレジスタ アドレス : 0003F8H BSDC 変化点検出用データレジスタ アドレス : 0003FCH BSRR 検出結果レジスタ ■ ビットサーチモジュールのブロックダイヤグラム 図 13.1-1 に , ビットサーチモジュールのブロックダイヤグラムを示します。 図 13.1-1 ビットサーチモジュールのブロックダイヤグラム D-bus 入力ラッチ アドレスデコーダ 検出モード 1検出データ化 ビットサーチ回路 検索結果 268 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 13 章 ビットサーチモジュール 13.2 ビットサーチモジュールのレジスタ MB91313A シリーズ 13.2 ビットサーチモジュールのレジスタ ビットサーチモジュールのレジスタの構成および機能について説明します。 ■ 0 検出用データレジスタ (BSD0) 書き込んだ値に対して 0 検出を行います。 0 検出用データレジスタ (BSD0) のレジスタ構成は , 以下のとおりです。 図 13.2-1 0 検出用データレジスタ (BSD0) のビット構成 bit31 bit0 アドレス:0003F0H リード / ライト 初期値 W XXXXXXXXH リセットによる初期値は不定です。読出し値は不定です。 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令は使わないでください ) 。 ■ 1 検出用データレジスタ (BSD1) 1 検出用データレジスタ (BSD1) のレジスタ構成は , 以下のとおりです。 図 13.2-2 1 検出用データレジスタ (BSD1) のビット構成 bit31 bit0 アドレス:0003F4H リード / ライト 初期値 R/W XXXXXXXXH データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令は使わないでください ) 。 • 書込み時 : 書き込んだ値に対して , "1" を検出します。 • 読出し時 : ビットサーチモジュールの内部状態の退避用データが読み出されます。割込みハン ドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避復帰すると きに使用します。 • 0 検出 , 変化点検出 , データレジスタにデータを書き込んだ場合でも , 1 検出用デー タレジスタのみ操作することで退避復帰できます。 リセットによる初期値は不定です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 269 第 13 章 ビットサーチモジュール 13.2 ビットサーチモジュールのレジスタ MB91313A シリーズ ■ 変化点検出用データレジスタ (BSDC) 書き込んだ値に対して , 変化点の検出を行います。 変化点検出用データレジスタ (BSDC) のレジスタ構成は , 以下のとおりです。 図 13.2-3 変化点検出用データレジスタ (BSDC) のビット構成 bit31 bit0 アドレス:0003F8H リード / ライト 初期値 W XXXXXXXXH リセットによる初期値は不定です。 読出し値は不定です。 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令は使わないでください ) 。 ■ 検出結果レジスタ (BSRR) 0 検出 , 1 検出または変化点検出の結果が読み出されます。 どの検出結果が読み出されるかは , 最後に書き込んだデータレジスタによって決定さ れます。 検出結果レジスタ (BSRR) のレジスタ構成は , 以下のとおりです。 図 13.2-4 検出結果レジスタ (BSRR) のビット構成 bit31 bit0 アドレス:0003FCH リード / ライト 初期値 270 R XXXXXXXXH FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 13.3 第 13 章 ビットサーチモジュール 13.3 ビットサーチモジュールの動作 ビットサーチモジュールの動作 ビットサーチモジュールの動作について説明します。 ■ 0 検出 0 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の "0" を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。検出した位置と , 返す数 値の関係は , 表 13.3-1 を参照してください。 "0" が存在しないとき ( すなわち FFFFFFFFH という数値のとき ) , 32 という値をサーチ 結果として返します。 【実行例】 書込みデータ 読出し値 (10 進 ) 11111111111111111111000000000000B (FFFFF000H) → 20 11111000010010011110000010101010B (F849E0AAH) → 5 10000000000000101010101010101010B (8002AAAAH) → 1 11111111111111111111111111111111B (FFFFFFFFH) → 32 ■ 1 検出 1 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の "1" を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。検出した位置と返す値と の関係は , 表 13.3-1 のとおりです。 "1" が存在しないとき ( すなわち 00000000H という数値のとき ) , 32 という値をサーチ 結果として返します。 【実行例】 書込みデータ CM71-10143-5 読出し値 (10 進 ) 00100000000000000000000000000000B (20000000H) → 2 00000001001000110100010101100111B (01234567H) → 7 00000000000000111111111111111111B (0003FFFFH) → 14 00000000000000000000000000000001B (00000001H) → 31 00000000000000000000000000000000B (00000000H) → 32 FUJITSU SEMICONDUCTOR LIMITED 271 第 13 章 ビットサーチモジュール 13.3 ビットサーチモジュールの動作 MB91313A シリーズ ■ 変化点検出 変化点検出用データレジスタに書き込まれたデータを bit30 から LSB へスキャンし , MSB の値と比較します。 最初に MSB と異なる値を検出した位置を返します。検出結果は , 検出結果レジスタを 読み出すことで得られます。 検出した位置と返す値は , 表 13.3-1 の示すとおりです。 変化点が存在しないときは 32 を返します。変化点検出では , 結果として "0" を返すこ とはありません。 【実行例】 書込みデータ 読出し値 (10 進 ) 00100000000000000000000000000000B (20000000H) → 2 00000001001000110100010101100111B (01234567H) → 7 00000000000000111111111111111111B (0003FFFFH) → 14 00000000000000000000000000000001B (00000001H) → 31 00000000000000000000000000000000B (00000000H) → 32 11111111111111111111000000000000B (FFFFF000H) → 20 11111000010010011110000010101010B (F849E0AAH) → 5 10000000000000101010101010101010B (8002AAAAH) → 1 11111111111111111111111111111111B (FFFFFFFFH) → 32 表 13.3-1 に , ビット位置と返す値 (10 進 ) を示します。 表 13.3-1 ビット位置と返す値 (10 進 ) 検出した ビット位置 返す値 検出した ビット位置 返す値 検出した ビット位置 返す値 検出した ビット位置 返す値 31 0 23 8 15 16 7 24 30 1 22 9 14 17 6 25 29 2 21 10 13 18 5 26 28 3 20 11 12 19 4 27 27 4 19 12 11 20 3 28 26 5 18 13 10 21 2 29 25 6 17 14 9 22 1 30 24 7 16 15 8 23 0 31 存在しない 32 272 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 13 章 ビットサーチモジュール 13.3 ビットサーチモジュールの動作 ■ 退避・復帰の処理 割込みハンドラ中で , ビットサーチモジュールを使う場合のように , ビットサーチモ ジュールの内部状態を退避・復帰させる必要がある場合は , 以下の手順に従ってくださ い。 1) 1 検出用データレジスタを読み出し , この内容を保存 ( 退避 ) 2) ビットサーチモジュールを使用 3) 1) で退避したデータを 1 検出用データレジスタに書込み ( 復帰 ) 以上の操作により , 次に検出結果レジスタを読み出したときに得られる値は , 1) 以前に ビットサーチモジュールに書き込まれた内容に応じたものとなります。 最後に書き込まれたデータレジスタが0検出用または変化点検出用であっても, 上記の 手順で正しく元に戻ります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 273 第 13 章 ビットサーチモジュール 13.3 ビットサーチモジュールの動作 274 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 14 章 10 ビット A/D コンバータ 10 ビット A/D コンバータの概要 , レジスタの構成 / 機能および動作について説明します。 14.1 10 ビット A/D コンバータの概要 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 275 第 14 章 10 ビット A/D コンバータ 14.1 10 ビット A/D コンバータの概要 14.1 MB91313A シリーズ 10 ビット A/D コンバータの概要 10 ビット逐次比較形 A/D コンバータで , ソフトによる変換起動と外部トリガによる 変換起動モードを有します。 ■ 特長 • 変換時間 : 約 7.94μs ( サンプリング 5.91μs, 変換 2.03μs) fch:@33MHz 時 • A/D 変換結果用レジスタ 各チャネルごとに用意 • チャネル・スキャン機能あり ■ レジスタ構成 アドレス bit15 000020H 276 bit0 ADCTH ADCTL A/D コンバータ制御レジスタ 000022H ADCH ソフト変換アナログ入力選択レジスタ 000024H ADAT0 A/D 変換結果レジスタ ch.0 000026H ADAT1 A/D 変換結果レジスタ ch.1 000028H ADAT2 A/D 変換結果レジスタ ch.2 00002AH ADAT3 A/D 変換結果レジスタ ch.3 00002CH ADAT4 A/D 変換結果レジスタ ch.4 00002EH ADAT5 A/D 変換結果レジスタ ch.5 000030H ADAT6 A/D 変換結果レジスタ ch.6 000032H ADAT7 A/D 変換結果レジスタ ch.7 000034H ADAT8 A/D 変換結果レジスタ ch.8 000036H ADAT9 A/D 変換結果レジスタ ch.9 000038H TEST A/D 変換部テストレジスタ ( アクセス禁止 ) FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 14 章 10 ビット A/D コンバータ 14.1 10 ビット A/D コンバータの概要 MB91313A シリーズ ■ ブロックダイヤグラム 図 14.1-1 A/D コンバータブロックダイヤグラム バッファ× 10 AN9 AN8 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 M P X D/A コンバータ Comparator 内 部 デ | タ バ ス 制御ロジック S/H A/D チャネル/ステータス 制御ロジック 外部端子 ATRG CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED IRQ 277 第 14 章 10 ビット A/D コンバータ 14.1 10 ビット A/D コンバータの概要 MB91313A シリーズ ■ A/D コンバータ制御レジスタ (ADCTH, ADCTL) 図 14.1-2 A/D コンバータ制御レジスタ (ADCTH, ADCTL) のビット構成 ADCTH アドレス bit 000020H 15 14 13 12 11 10 9 8 初期値 STR 00000000B − − − − − − TRG R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 初期値 ASS3 ASS2 ASS1 ASS0 BUSY − INT INTE 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ADCTL アドレス bit 000021H R/W : リード / ライト可能 − : 未使用 [bit15 ∼ bit10] 未使用ビット 常に "000000B" が読み出されます。 [bit9] TRG 0 外部端子トリガでの起動禁止 1 外部端子トリガでの起動 TRG=1 のとき外部端子 (ATRG) 入力の立上りエッジを検出して A/D 変換を起動し ます。 A/D 変換中にエッジ検出された場合は無視されます。 [bit8] STR A/D 変換スタートビットです。 0 影響なし 1 ソフト起動 / 再起動 ( 変換中の書込み ) このビットを読み出した場合 , 常に "0" が読み出されます。 [bit7 ∼ bit4] ASS3 ∼ ASS0 選択されているアナログチャネルが読み出せます。 BUSY = 1 のときに有効なデータが読み出せます。 0000B ∼ 1001B それ以外 278 選択チャネル 設定禁止 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 14 章 10 ビット A/D コンバータ 14.1 10 ビット A/D コンバータの概要 [bit3] BUSY A/D 変換中を示すフラグです。 0 変換中でない 1 変換中 [bit2] 未使用ビット 常に "0" が読み出されます。 [bit1] INT A/D 変換終了フラグです。 0 変換なし , または変換中 1 変換完了 [bit0] INTE A/D 変換割込み許可ビットです。 0 割込み禁止 1 割込み許可 INT=1 のとき INTE=1 なら割込み要求を発生します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 279 第 14 章 10 ビット A/D コンバータ 14.1 10 ビット A/D コンバータの概要 MB91313A シリーズ ■ ソフト変換アナログ入力選択レジスタ 図 14.1-3 ソフト変換アナログ入力選択レジスタ (ADCH) のビット構成 ADCH 15 アドレス bit 13 12 11 10 9 8 初期値 i8 00000000B R/W − − − − − − i9 R/W R/W R/W R/W R/W R/W R/W 000022H 14 7 6 5 4 3 2 1 0 初期値 i7 i6 i5 i4 i3 i2 i1 i0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W bit R/W : リード / ライト可能 − : 未使用 [bit15 ∼ bit10] 未使用ビット 常に "000000B" が読み出されます。 [bit9 ∼ bit0] i9 ∼ i0 ソフト変換用アナログ入力選択ビットです。 0 入力非選択 1 入力選択 複数の入力が選択されている場合には , 選択されている入力すべてに対し順次 , 変 換されます。 ■ A/D 変換結果レジスタ (0 チャネル∼ 9 チャネル ) 図 14.1-4 A/D 変換結果レジスタ (ADAT0 ∼ ADAT9) のビット構成 ADAT0 ∼ ADAT9 アドレス bit R − bit 15 14 13 12 11 10 9 8 初期値 − − − − − − d9 d8 00000000B R R R R R R R R 7 6 5 4 3 2 1 0 初期値 d7 d6 d5 d4 d3 d2 d1 d0 00000000B R R R R R R R R : リードオンリ : 未使用 [bit15 ∼ bit10] 未使用ビット 常に "000000B" が読み出されます。 [bit9 ∼ bit0] d9 ∼ d0 各チャネルに対応した A/D 変換結果が格納されます。 280 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 14 章 10 ビット A/D コンバータ 14.1 10 ビット A/D コンバータの概要 ■ ソフト変換による A/D 動作 ソフト変換による A/D 変換を行うには , まず , アナログ入力端子 AN0 ∼ AN9 の 10 本 のうちから必要なチャネルを選択します。ADCH レジスタの対応するビットに "1" を 書き込むことにより有効となります。 ① 単一チャネルの場合 変換用アナログ入力端子として 1 チャネルのみを選択した場合。ADCTH レジスタ の STR ビットに "1" を書き込むことにより , ソフト変換動作が開始され , ADCH レ ジスタの BUSY ビットは "1" にセットされます。 変換動作中に STR ビットに再度 "1" を書き込むと変換動作は初期化され , 再び変換 が開始されます。 A/D 変換動作が終了すると , ADCH レジスタの BUSY ビットは "0" にリセットされ , ADCTL レジスタの INT ビットは "1" にセットされます。これらのステータス・ビッ トを読むことにより変換動作の終了を判別することができます。また , 変換完了の 割込みを発生したい場合は , ADCTL レジスタの INTE ビットを "1" にしておきます。 ② 複数チャネルの場合 ( スキャン変換 ) 変換用アナログ入力端子として複数のチャネルを選択した場合 , 自動的に各チャネ ル選択の有無を調べ, 順次チャネル切換えとA/D変換の起動をし, 変換結果を各チャ ネルに対応したレジスタへ格納します。 変換したいチャネルを ADCH レジスタの対応ビットに "1" を書き込み , 選択をし ADCH レジスタの STR ビットに "1" を書き込むことにより , 変換動作を開始し , ADCTL レジスタの BUSY ビットは "1" にセットされます。変換チャネルは 0 から 9 の順で選択され , ADCH レジスタで選択されていないチャネルは変換を行わずに次 の選択されているチャネルの変換に移ります。 変換動作中に STR ビットに再度 "1" を書き込むと変換動作は初期化され , 再び ch.0 から ch.9 の順で選択されたチャネルの変換を開始します。 すべての選択したチャネルの A/D 変換動作が終了すると , ADCTL レジスタの BUSY ビットは "0" にリセットされ , ADCTL レジスタの INT ビットは "1" にセットされま す。また , 変換完了の割込みを発生したい場合は , ADCTL レジスタの INTE ビット を "1" にしておきます。 A/D 変換された結果は , 各チャネルのレジスタに格納されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 281 第 14 章 10 ビット A/D コンバータ 14.1 10 ビット A/D コンバータの概要 MB91313A シリーズ ■ 外部トリガ変換による A/D 動作 外部トリガ起動を許可した場合 (ADCTH:TRG=1) には , 外部端子 (ATRG) 入力の立上り エッジを検出して A/D 変換を開始します。外部トリガ許可の状態でソフト起動した場 合も起動します。また , A/D 起動中に再度 , 外部端子 (ATRG) 入力の立上りエッジを検 出した場合には変換動作は初期化され , 再び最初から変換を開始します。 <注意事項> 低消費電力モードのストップモードに入れる場合には , A/D 変換動作が停止しているとき に入れてください。 282 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース マルチファンクションシリアルインタフェースの 機能と動作について説明します。 15.1 マルチファンクションシリアルインタフェースの概要 15.2 UART ( 非同期マルチファンクションシリアルインタ フェース ) の機能 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 15.4 UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み 15.5 UART ( 非同期マルチファンクションシリアルインタ フェース ) の動作 15.6 UART 専用ボーレートジェネレータ 15.7 動作モード 0 ( 通常モード ) 設定手順とプログラムフロー 15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順と プログラムフロー 15.9 UART モードの注意事項 15.10 CSIO ( クロック同期マルチファンクションシリアルイ ンタフェース ) の概要 15.11 CSIO ( クロック同期マルチファンクションシリ アルインタフェース ) のレジスタ 15.12 CSIO ( クロック同期マルチファンクションシリアルイ ンタフェース ) の割込み 15.13 CSIO ( クロック同期マルチファンクションシリアルイ ンタフェース ) の動作 15.14 CSIO 専用ボーレートジェネレータ CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 283 第 15 章 マルチファンクション シリアルインタフェース MB91313A シリーズ 15.15 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) 設定手順と プログラムフロー 15.16 CSIO モードの注意事項 15.17 I2C インタフェースの概要 15.18 I2C インタフェースのレジスタ 15.19 I2C インタフェースの割込み 15.20 I2C インタフェース通信の動作 15.21 専用ボーレートジェネレータ 15.22 I2C のフローチャート例 15.23 I2C モードの注意事項 284 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.1 マルチファンクションシリアルインタフェースの概要 MB91313A シリーズ 15.1 マルチファンクションシリアルインタフェースの概要 マルチファンクションシリアルインタフェースの概要について説明します。 ■ インタフェースモード マルチファンクションシリアルインタフェースは動作モードの設定により以下のイン タフェースモードを選択できます。 • UART0 ( 非同期通常マルチファンクションシリアルインタフェース ) • UART1 ( 非同期マルチプロセッサマルチファンクションシリアルインタフェース ) • CSIO ( クロック同期マルチファンクションシリアルインタフェース ) (SPI に対応可 能) • I2C (I2C バスインタフェース ) ■ インタフェースモードの切換え 各マルチファンクションシリアルインタフェースで通信を行う場合には , 表 15.1-1 の レジスタで動作モードを設定してから通信を開始します。 図 15.1-1 シリアルモードレジスタ (SMR) のビット構成 SMR 7 bit 6 5 4 3 2 1 0 初期値 000-0000B MD2 MD1 MD0 − WUCR SBL SCKE SOE R/W R/W R/W − R/W R/W R/W R/W R/W: リード / ライト可能 表 15.1-1 インタフェースモードの切換え MD2 MD1 MD0 0 0 0 UART0 ( 非同期通常マルチファンクションシリアルインタフェース ) 0 0 1 UART1 ( 非同期マルチプロセッサマルチファンクションシリアルイン タフェース ) 0 1 0 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) (SPI に対応可能 ) 1 0 0 I2C (I2C バスインタフェース ) インタフェースモード ( 注意事項 ) 上記以外は設定禁止です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 285 第 15 章 マルチファンクション シリアルインタフェース 15.1 マルチファンクションシリアルインタフェースの概要 MB91313A シリーズ <注意事項> • 1 つのマルチファンクションシリアルインタフェースで送信あるいは受信動作中にモー ドの切換えを行った場合の送受信に関する動作の保証はできません。 • 動作モードを変更すると , ほかのレジスタは初期化されますので動作モードは最初に設 定してください。ただし , 16 ビット書込みで SCR と SMR を同時に書き込んだとき , SCR には書き込んだ内容が反映されます。 ■ 送受信 FIFO (ch.0, ch.1 および ch.2) ch.0, ch.1 と ch.2 には 16 バイトの送信用 FIFO と 16 バイトの受信用 FIFO を搭載してお ります。以降の説明における FIFO 段数は 16 バイトに読み換えてください。また , ch.0, ch.1 と ch.2 以外には FIFO は搭載されませんので , FIFO の説明は無視し , FIFO 未使用 時を参照してください。 286 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.2 第 15 章 マルチファンクション シリアルインタフェース 15.2 UART ( 非同期マルチファンクションシリアルインタ フェース ) の機能 UART ( 非同期マルチファンクションシリアルインタ フェース ) の機能 UART ( 非同期マルチファンクションシリアルインタフェース ) は , 外部装置と非同 期通信 ( 調歩同期 ) をするための汎用のシリアルデータ通信インタフェースです。双 方向通信機能 ( ノーマルモード ) , マスタ / スレーブ型通信機能 ( マルチプロセッサ モード : マスタ / スレーブ両方サポート ) をサポートしています。また , 送信 / 受信 用の FIFO を搭載しています。 ■ UART ( 非同期マルチファンクションシリアルインタフェース ) の機能 機能 • 全二重ダブルバッファ (FIFO 未使用時 ) • 送信 / 受信 FIFO ( サイズ最大各 16 バイト ) (FIFO 使用時 ) 1 データ 2 シリアル入力 3 転送形式 4 ボーレート 5 データ長 • 5 ∼ 9 ビット ( ノーマルモード時 ), 7, 8 ビット ( マルチプロセッサ モード時 ) 6 信号方式 NRZ (Non Return to Zero) , 反転 NRZ 7 スタートビット検出 8 9 10 11 受信エラー検出 割込み要求 3 回オーバサンプリングを行い , サンプリング値の多数決により受信値 を決定 非同期 • 専用ボーレートジェネレータ (15 ビットリロードカウンタ構成 ) • 外部クロック入力をリロードカウンタで調節可能。 • スタートビット立下りエッジに同期 (NRZ 方式の場合 ) • スタートビット立上りエッジに同期 ( 反転 NRZ 方式の場合 ) • フレーミングエラー • オーバランエラー • パリティエラー * • 受信割込み ( 受信完了 , フレーミングエラー , オーバランエラー , パリティエ ラー *) • 送信割込み ( 送信データエンプティ , 送信バスアイドル ) • 送信 FIFO 割込み ( 送信 FIFO がエンプティのとき ) • 送受信とも拡張インテリジェント I/O サービス (EI2OS), および DMA 機能あり マスタ / スレーブ型 1 ( マスタ ) 対 n ( スレーブ ) 間の通信が可能 通信機能 ( マルチプロ ( マスタとスレーブシステムの両方をサポート ) セッサモード ) FIFO オプション • 送受信 FIFO 搭載 ( 最大容量 : 送信 FIFO 16 バイト , 受信 FIFO 16 バ イト ) • 送信 FIFO と受信 FIFO を選択可能 • 送信データ再送可能 • 受信 FIFO 割込みタイミングをソフトで可変可能 • 独立して FIFO リセットサポート *: パリティエラーはノーマルモード時のみ。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 287 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 15.3 UART ( 非同期マルチファンクションシリアルインタフェース ) のレジスタ一覧を示 します。 ■ UART ( 非同期マルチファンクションシリアルインタフェース ) のレジスタ一覧 表 15.3-1 UART ( 非同期マルチファンクションシリアルインタフェース ) のレジスタ一覧 bit15 アドレス UART FIFO bit8 bit7 bit0 000X0H 000X1H SCR ( シリアル制御レジスタ ) 000X2H 000X3H SSR ( シリアルステータスレジスタ ) ESCR ( 拡張通信制御レジスタ ) 000X4H 000X5H RDR1/TDR1 ( 送受信データレジスタ 1) 000X6H 000X7H BGR1 BGR0 ( ボーレートジェネレータレジスタ 1) ( ボーレートジェネレータレジスタ 0) 000X8H 000X9H 000YAH 000YBH 000YCH 000YDH FBYTE2 (FIFO2 バイトレジスタ ) SMR ( シリアルモードレジスタ ) RDR0/TDR0 ( 送受信データレジスタ ) − − FCR1 (FIFO 制御レジスタ 1) FCR0 (FIFO 制御レジスタ 0) FBYTE1 (FIFO1 バイトレジスタ ) (X=06H, 07H, 08H, 09H, 0AH, 0BH, 1BH, 1CH, 1DH, 1EH, 1FH, Y=06H, 07H, 08H) 表 15.3-2 UART ( 非同期マルチファンクションシリアルインタフェース ) ビット配置 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 SCR/SMR UPCL − − RIE TIE TBIE RXE TXE MD2 MD1 MD0 − SSR/ESCR REC PE FRE ORE RDRF TDRE TBI − TDR (RDR) BGR1/BGR0 − EXT B14 B13 B12 B11 B10 − − − INV PEN D8(AD) D7 D6 D5 B8 B7 B6 B5 − FCR1/FCR0 FTST1 FTST0 FBYTE2/ FBYTE1 B9 SBL BDS SCKE SOE P L2 L1 L0 D4 D3 D2 D1 D0 B4 B3 B2 B1 B0 − − FLSTE FRIIE FDRQ FTIE FSEL − FLST FLD FSET FCL2 FCL1 FE2 FE1 FD15 FD14 FD13 FD12 FD11 FD10 FD9 FD8 FD7 FD6 FD5 FD4 FD3 FD2 FD1 FD0 ■ 動作モード UART ( 非同期マルチファンクションシリアルインタフェース ) は , 2 つの異なるモー ドで動作します。シリアルモードレジスタ (SMR) の MD2, MD1, MD0 によって決定さ れます。 288 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 表 15.3-3 UART ( 非同期マルチファンクションシリアルインタフェース ) の動作モード MB91313A シリーズ 動作モード MD2 MD1 MD0 種類 0 0 0 0 UART0 ( 非同期ノーマルモード ) 1 0 0 1 UART1 ( 非同期マルチプロセッサモード ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 289 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ シリアル制御レジスタ (SCR) 15.3.1 シリアル制御レジスタ (SCR) は , 送受信の許可 / 禁止 , 送受信割込みの許可 / 禁止 , 送信バスアイドル割込みの許可 / 禁止 , UART リセットをすることができます。 ■ シリアル制御レジスタ (SCR) 図 15.3-1 にシリアル制御レジスタ (SCR) のビット構成を , 表 15.3-4 に各ビットの機能 を示します。 図 15.3-1 シリアル制御レジスタ (SCR) のビット構成 SCR bit 15 ch.0 000060H UPCL ch.1 000070H ch.2 000080H R/W ch.3 000090H ch.4 0000A0H ch.5 0000B0H ch.6 0001B0H ch.7 0001C0H ch.8 0001D0H ch.9 0001E0H ch.A 0001F0H 14 13 12 11 10 9 8 - - RIE TIE TBIE RXE TXE - - R/W R/W R/W R/W R/W 初期値 0--00000B TXE 0 1 送信許可ビット 送信禁止 送信許可 RXE 0 1 受信許可ビット 受信禁止 受信許可 TBIE 0 1 送信バスアイドル割込み許可ビット 送信バスアイドル割込み禁止 送信バスアイドル割込み許可 TIE 0 1 送信割込み許可ビット 送信割込み禁止 送信割込み許可 RIE 0 1 受信割込み許可ビット 受信割込み禁止 受信割込み許可 未使用ビット 読出し時,値は不定です。書込み時、影響しません。 UPCL R/W :リード/ライト可能 0 1 プログラマブルクリアビット 書込み 読出し 影響なし 常に"0"を読出し プログラマブルクリア :初期値 290 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 表 15.3-4 シリアル制御レジスタ (SCR) の各ビットの機能説明 MB91313A シリーズ ビット名 機能 bit15 UART の内部状態を初期化するビットです。 "1" を設定した場合 : • UART を直接リセット ( ソフトウェアリセット ) します。ただし , レジ スタの設定は維持されます。その際 , 送受信状態のものは直ちに切断さ れます。 • ボーレートジェネレータは , BGR1/BGR0 レジスタの設定値をリロード し , 再スタートします。 UPCL : • すべての送受信割込み要因 (PE, FRE, ORE, RDRF, TDRE, TBI) は初期化 プログラマブル (000011B) されます。 クリアビット "0" を設定した場合 : 影響ありません。 読出し時は , 常に "0" が読み出されます。 ( 注意事項 ) • 割込み禁止に設定した後に , プログラマブルクリアを実行してくださ い。 • FIFO 使用時は , FIFO 禁止 (FE2, FE1=0) にしてからプログラマブルク リアを実行してください。 bit14, bit13 未使用ビット bit12 • CPU への受信割込み要求出力を許可 / 禁止するビットです。 RIE : • RIE ビットと受信データフラグビット (RDRF) が "1" の場合 , または エ 受信割込み許可 ラーフラグビット (PE, ORE, FRE) のいずれかが "1" の場合 , 受信割込み ビット 要求を出力します。 bit11 TIE : • CPU への送信割込み要求出力を許可 / 禁止するビットです。 送信割込み許可 • TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求を出力します。 ビット bit10 • CPU への送信バスアイドル割込み要求出力を許可 / 禁止するビットで TBIE : す。 送信バス アイドル割込み • TBIE ビットと TBI ビットが "1" のとき , 送信バスアイドル割込み要求 許可ビット を出力します。 読み出した場合 : 値は未定です。 書き込んだ場合 : 影響しません。 bit9 RXE : 受信動作許可 ビット UART の受信動作を許可 / 禁止します。 • "0" に設定した場合 : 受信動作が禁止されます。 • "1" に設定した場合 : 受信動作が許可されます。 ( 注意事項 ) • 受信動作許可 (RXE=1) にしても , スタートビットの立下りエッジ (NRZ フォーマット (INV=0) の場合 ) が入力されないと受信動作を開 始しません ( 反転 NRZ フォーマット (INV=1) の場合は , 立上りエッジ が入力されるまで受信動作を開始しません )。 • 受信中に受信動作を禁止 (RXE=0) した場合には , 直ちに受信動作を停 止します。 bit8 TXE : 送信動作許可 ビット UART の送信動作を許可 / 禁止します。 • "0" に設定した場合 : 送信動作が禁止されます。 • "1" に設定した場合 : 送信動作が許可されます。 ( 注意事項 ) 送信中に送信動作を禁止 (TXE=0) した場合には , 直ちに送信 動作を停止します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 291 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 15.3.2 MB91313A シリーズ シリアルモードレジスタ (SMR) シリアルモードレジスタ (SMR) は , 動作モードの設定 , 転送方向 , データ長 , ストッ プビット長の選択およびシリアルデータとクロックの端子への出力許可 / 禁止の設定 を行います。 ■ シリアルモードレジスタ (SMR) 図 15.3-2 にシリアルモードレジスタ (SMR) のビット構成を , 表 15.3-5 に各ビットの機 能を示します。 図 15.3-2 シリアルモードレジスタ (SMR) のビット構成 SMR bit 7 6 5 4 3 2 1 0 ch.0 000061H MD2 MD1 MD0 - SBL BDS SCKE SOE ch.1 000071H ch.2 000081H R/W R/W R/W R/W R/W R/W R/W R/W ch.3 000091H ch.4 0000A1H ch.5 0000B1H ch.6 0001B1H ch.7 0001C1H ch.8 0001D1H ch.9 0001E1H ch.A 0001F1H 初期値 000‐0000B SOE 0 1 シリアルデータ出力許可ビット SO出力禁止 SO出力許可 SCKE シリアルクロック出力許可ビット SCK出力禁止 または SCK入力許可 SCK出力許可 0 1 BDS 0 1 SBL 0 1 転送方向選択ビット LSBファースト(最下位ビットから転送) MSBファースト(最上位ビットから転送) ストップビット長選択ビット 1ビット 2ビット 未使用ビット 読出し時,値は不定です。書込み時,影響しません。 R/W :リード/ライト可能 :初期値 MD2 MD1 MD0 動作モード設定ビット 0 0 0 動作モード0(非同期ノーマルモード) 0 0 1 動作モード1(非同期マルチプロセッサモード) 0 1 0 動作モード2(クロック同期モード) 1 0 0 動作モード4(I2Cモード) (注意事項) 本章は動作モード0,動作モード1のレジスタおよび 動作について説明します。 292 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 表 15.3-5 シリアルモードレジスタ (SMR) の各ビットの機能説明 ビット名 機能 非同期マルチファンクションシリアルインタフェースの動作モードを設 定します。 "000B" : 動作モード 0 ( 非同期ノーマルモード ) に設定されます。 "001B" : 動作モード 1 ( 非同期マルチプロセッサモード ) に設定されます。 bit7 ∼ bit5 "010B" : 動作モード 2 ( クロック同期モード ) に設定されます。 MD2, MD1, "100B" : 動作モード 4 (I2C モード ) に設定されます。 MD0 : 動作モード設定 本章では動作モード 0 ( 非同期ノーマルモード ), 動作モード 1 ( 非同期マ ルチプロセッサモード ) のレジスタまたは動作について説明します。 ビット ( 注意事項 ) • 上記設定以外は禁止です。 • 動作モードを切り換える場合は , プログラマブルクリア実行 (SCR:UPCL=1) 後 , 動作モードを切り換えてください。 • 動作モード設定後 , 各レジスタを設定してください。 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 bit3 SBL : ストップ ビット長 選択ビット ストップビット ( 送信データのフレームエンドマーク ) のビット長を設 定します。 "0" に設定した場合 : ストップビットは , 1 ビットに設定されます。 "1" に設定した場合 : ストップビットは , 2 ビットに設定されます。 ( 注意事項 ) • 受信時は , 常にストップビットの 1 ビット目だけを検出します。 • 本ビットは送信が禁止 (TXE=0) のときに設定してください。 bit2 BDS : 転送方向選択 ビット 転送シリアルデータを最下位ビット側から先に転送するか (LSB ファー スト , BDS=0) 最上位ビット側から先に転送するか (MSB ファースト , BDS=1) を選択するビットです。 ( 注意事項 ) 本ビットは , 送受信が禁止 (TXE=RXE=0) のときに設定して ください。 bit1 SCKE: シリアル クロック出力 許可ビット シリアルクロックの入出力ポートを制御するビットです。 "0" に設定した場合 : SCK"H" 出力 , または SCK 入力許可となります。 SCK 入力として使う場合は汎用入出力ポートを入 力ポートに設定してください。また , 外部クロック 選択ビットによって外部クロックを選択 (BGR:EXT=1) してください "1" に設定した場合 : SCK 出力許可となります。 bit0 シリアルデータの出力を許可 / 禁止するビットです。 SOE: シリアルデータ "0" に設定した場合 : SO"H" 出力となります。 出力許可ビット "1" に設定した場合 : SO 出力許可となります。 bit4 <注意事項> 動作モードを変更すると , ほかのレジスタは初期化されますので動作モードは最初に設定 してください。ただし , 16 ビット書込みで SCR と SMR を同時に書き込んだとき , SCR には書き込んだ内容が反映されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 293 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 15.3.3 MB91313A シリーズ シリアルステータスレジスタ (SSR) シリアルステータスレジスタ (SSR) は , 送受信の状態の確認 , 受信エラーフラグの 確認 , また , 受信エラーフラグをクリアします。 ■ シリアルステータスレジスタ (SSR) 図 15.3-3 にシリアルステータスレジスタ (SSR) のビット構成を , 表 15.3-6 に各ビット の機能を示します。 図 15.3-3 シリアルステータスレジスタ (SSR) のビット構成 SSR bit 15 ch.0 000062H ch.1 000072H REC ch.2 000082H R/W ch.3 000092H ch.4 0000A2H ch.5 0000B2H ch.6 0001B2H ch.7 0001C2H ch.8 0001D2H ch.9 0001E2H ch.A 0001F2H 14 13 12 - PE FRE R R - 11 10 9 8 ORE RDRF TDRE TBI R R R 初期値 0-000011B R TBI 0 1 送信バスアイドルフラグビット 送信中 送信動作なし TDRE 0 1 送信データエンプティフラグビット 送信データレジスタTDRにデータが存在する 送信データレジスタがエンプティ RDRF 受信データフルフラグビット 受信データレジスタRDRがエンプティ 0 1 受信データレジスタRDRにデータが存在する ORE 0 1 オーバランエラーフラグビット オーバランエラーなし オーバランエラーあり FRE 0 1 フレーミングエラーフラグビット フレーミングエラーなし フレーミングエラーあり PE 0 1 パリティエラーフラグビット パリティエラーなし パリティエラーあり 未使用ビット 読出し時,値は不定です。書込み時,影響しません。 REC 0 R/W R - 294 :リード/ライト可能 :リードオンリ :未使用 :初期値 1 受信エラーフラグクリアビット 書込み 読出し 影響なし 常に"0"を読出し 受信エラーフラグ (PE,FRE,ORE)のクリア FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 表 15.3-6 シリアルステータスレジスタ (SSR) の各ビットの機能説明 (1 / 2) MB91313A シリーズ ビット名 機能 bit15 REC : 受信エラー フラグクリア ビット シリアルステータスレジスタ (SSR) の PE, FRE, ORE フラグをクリアす るビットです。 • "1" 書込みで , エラーフラグがクリアされます。 • "0" 書込みは , 影響しません。 読み出した場合 , 常に "0" が読み出されます。 bit14 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 PE : パリティエラー フラグビット ( 動作モード 0 のみ機能 ) • SMR : PEN=1 で受信時にパリティエラーが発生すると "1" にセット され , シリアルステータスレジスタ (SSR) の REC ビットに "1" を書 き込むとクリアされます。 • PE ビットと SCR : RIE ビットが "1" の場合 , 受信割込み要求を出力し ます。 • 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデー タは無効です。 • 受信 FIFO 使用時に本フラグがセットされた場合は , 受信 FIFO の許 可ビットがクリアされ , 受信データは受信 FIFO に格納されません。 FRE : フレーミング エラーフラグ ビット • 受信時にフレーミングエラーが発生すると "1" にセットされ , シリア ルステータスレジスタ (SSR) の REC ビットに "1" を書き込むとクリ アされます。 • FRE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力しま す。 • 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデー タは無効です。 • 受信 FIFO 使用時に本フラグがセットされた場合は , 受信 FIFO の許 可ビットがクリアされ , 受信データは受信 FIFO に格納されません。 ORE : オーバラン エラーフラグ ビット • 受信時にオーバランが発生すると "1" にセットされ , シリアルステー タスレジスタ (SSR) の REC ビットに "1" を書き込むとクリアされま す。 • ORE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力しま す。 • 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデー タは無効です。 • 受信 FIFO 使用時に本フラグがセットされた場合は , 受信 FIFO の許 可ビットがクリアされ , 受信データは受信 FIFO に格納されません。 bit13 bit12 bit11 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 295 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 表 15.3-6 シリアルステータスレジスタ (SSR) の各ビットの機能説明 (2 / 2) MB91313A シリーズ ビット名 bit10 bit9 bit8 296 機能 RDRF : 受信データ フルフラグ ビット • 受信データレジスタ (RDR) の状態を示すフラグです。 • RDR に受信データがロードされると "1" にセットされ , 受信データ レジスタ (RDR) を読み出すと "0" にクリアされます。 • RDRF ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力しま す。 • 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信すると RDRF が "1" にセットされます。 • 受信 FIFO 使用時に , 受信 FIFO アイドル検出許可ビット (FCR1:FRIIE) が "1", 受信 FIFO に所定のデータ数を受信せずに受信 FIFO にデータが残っている状態で受信アイドル状態がボーレートク ロックで 8 クロック以上続いた場合 , RDRF が "1" にセットされま す。8 クロックカウント中 , RDR を読み出すとそのカウンタは "0" に リセットされ , 再度 8 クロックをカウントします。 • 受信 FIFO 使用時は , 受信 FIFO がエンプティになると "0" にクリア されます。 TDRE : 送信データ エンプティ フラグビット • 送信データレジスタ (TDR) の状態を示すフラグです。 • TDR に送信データを書き込むと "0" になり , TDR に有効なデータが 存在していることを示します。データが送信シフトレジスタにロー ドされて送信が開始されると "1" になり , TDR に有効なデータが存 在していないことを示します。 • TDRE ビットと TIE ビットが "1" の場合 , 送信割込み要求を出力しま す。 • シリアル制御レジスタ (SCR) の UPCL ビットに "1" をセットすると TDRE ビットは "1" になります。 • 送信 FIFO 使用時の TDRE ビットのセット / リセットタイミングは , 「15.4.2 受信 FIFO 使用時の割込み発生とフラグセットのタイミング」 を参照してください。 TBI : 送信バスアイド ルフラグビット • UART が送信動作をしていないことを示すビットです。 • 送信データレジスタ (TDR) へ送信データを書き込んだ場合に本ビッ トは "0" になります。 • 送信データレジスタがエンプティ (TDRE=1) で , 送信動作をしていな い場合に本ビットが "1" になります。 • シリアル制御レジスタ (SCR) の UPCL ビットに "1" をセットすると TBI ビットは "1" になります。 • 本ビットが "1" で , 送信バスアイドル割込み許可 (SCR:TBIE=1) され ていると送信割込み要求を出力します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ 拡張通信制御レジスタ (ESCR) 15.3.4 拡張通信制御レジスタ (ESCR) は , 送受信データ長の設定 , パリティビットの許可 / 禁 止 , パリティビットの選択 , シリアルデータフォーマットの反転の設定ができます。 ■ 拡張通信制御レジスタ (ESCR) のビット構成 図 15.3-4 に拡張通信制御レジスタ (ESCR) のビット構成を , 表 15.3-7 に各ビットの機 能を示します。 図 15.3-4 拡張通信制御レジスタ (ESCR) のビット構成 ESCR ch.0 000063H ch.1 000073H ch.2 000083H ch.3 000093H ch.4 0000A3H ch.5 0000B3H ch.6 0001B3H ch.7 0001C3H ch.8 0001D3H ch.9 0001E3H ch.A 0001F3H bit 7 6 5 4 3 2 1 0 初期値 - - INV PEN P L2 L1 L0 --000000B - - R/W R/W R/W R/W R/W R/W L2 0 0 0 0 1 L1 0 0 1 1 0 データ長選択ビット 8ビット長 5ビット長 6ビット長 7ビット長 9ビット長 L0 0 1 0 1 0 P 0 1 パリティ選択ビット 偶数パリティ 奇数パリティ PEN 0 1 パリティ許可ビット パリティ禁止 パリティ許可 INV 0 1 反転シリアルデータフォーマットビット NRZフォーマット 反転NRZフォーマット 未使用ビット 読出し時,値は不定です。書込み時,影響しません。 R/W - CM71-10143-5 :リード/ライト可能 :未使用 :初期値 FUJITSU SEMICONDUCTOR LIMITED 297 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ 表 15.3-7 拡張通信制御レジスタ (ESCR) の各ビットの機能説明 ビット名 機能 bit7, bit6 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 bit5 INV : 反転シリアル データフォー マットビット シリアルデータフォーマットを NRZ フォーマット または反転 NRZ フォーマットを選択します。 bit4 PEN : パリティ許可 ビット ( 動作モード 0 のみ機能 ) パリティビットの付加 ( 送信時 ) と検出 ( 受信時 ) を行うかどうかを設 定します。 • "0" に設定した場合 : パリティビットは付加されません。 • "1" に設定した場合 : パリティビットは付加されます。 ( 注意事項 ) 動作モード 1 のときは , 本ビットは内部で "0" に固定され ます。 bit3 P: パリティ選択 ビット ( 動作モード 0 のみ機能 ) パリティあり (ESCR : PEN=1) に設定した場合に , 奇数パリティ "1" か偶 数パリティ "0" のいずれかに設定します。 • "0" に設定した場合 : 偶数パリティに設定されます。 • "1" に設定した場合 : 奇数パリティに設定されます。 送受信データのデータ長を指定します。 • "000B" に設定した場合 : データ長は , 8 ビットに設定されます。 • "001B" に設定した場合 : データ長は , 5 ビットに設定されます。 bit2 ∼ bit0 L2 ∼ L0: データ長選択 ビット • "010B" に設定した場合 : データ長は , 6 ビットに設定されます。 • "011B" に設定した場合 : データ長は , 7 ビットに設定されます。 • "100B" に設定した場合 : データ長は , 9 ビットに設定されます。 ( 注意事項 ) • 上記以外の設定は禁止です。 • 動作モード 1 では , データ長は , 7, 8 ビットに設定してください。そ の他の設定は禁止です。 298 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ 15.3.5 受信データレジスタ / 送信データレジスタ (RDR/TDR) 受信データと送信データレジスタは同一アドレスに配置されています。読み出した 場合は 受信データレジスタとして機能し , 書き込んだ場合は送信データレジスタと して機能します。 FIFO 動作許可の場合 , RDR/TDR アドレスは FIFO の読出し , 書込みアドレスとなり ます。 ■ 受信データレジスタ (RDR) 図 15.3-5 に受信データレジスタ (RDR) のビット構成を示します。 図 15.3-5 受信データレジスタ (RDR) のビット構成 RDR ch.0 ch.2 ch.4 ch.6 ch.8 ch.A 000064H 000084H 0000A4H 0001B4H 0001D4H 0001F4H ch.1 ch.3 ch.5 ch.7 ch.9 000074H bit15........... 000094H 0000B4H 0001C4H 0001E4H 8 D8 R 7 D7 R 6 D6 R 5 D5 R 4 D4 R 3 D3 R 2 D2 R 1 D1 R 0 初期値 D0 000000000B R R : リードオンリ 受信データレジスタ (RDR) は , シリアルデータ受信用の 9 ビットのデータバッファレ ジスタです。 • シリアル入力端子 (SIN 端子 ) に送られてきたシリアルデータ信号がシフトレジスタ で変換されて , 受信データレジスタ (RDR) に格納されます。 • データ長に応じ , 以下のように上位ビットに "0" が入ります。 データ長 D8 D7 D6 D5 D4 D3 D2 D1 D0 9 ビット X X X X X X X X X 8 ビット 0 X X X X X X X X 7 ビット 0 0 X X X X X X X 6 ビット 0 0 0 X X X X X X 5 ビット 0 0 0 0 X X X X X (X は受信データビット ) • 受信データが , 受信データレジスタ (RDR) に格納されると , 受信データフルフラグ ビット (SSR : RDRF) が "1" にセットされます。受信割込みが許可されている場合 (SSR : RIE=1) , 受信割込み要求が発生します。 • 受信データレジスタ (RDR) は , 受信データフルフラグビット (SSR : RDRF) が "1" の 状態で読み出してください。受信データフルフラグビット (SSR : RDRF) は , 受信 データレジスタ (RDR) を読み出すと自動的に "0" にクリアされます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 299 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ • 受信エラーが発生 (SSR : PE, ORE, FRE のいずれかが "1") した場合 , 受信データレジ MB91313A シリーズ スタ (RDR) のデータは無効となります。 • 動作モード 1 ( マルチプロセッサモード ) では , 7 ビット , 8 ビット長の動作となり , 受信した AD ビットは , D8 ビットに格納されます。 • 9 ビット長転送 および動作モード 1 の場合 , RDR の読出しは 16 ビットアクセスで 行います。 <注意事項> • 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信したら RDRF が "1" にセット されます。 • 受信 FIFO 使用時は , 受信 FIFO がエンプティになると RDRF が "0" にクリアされます。 • 受信 FIFO 使用時に , 受信エラーが発生 (SSR : PE, ORE, FRE のいずれかが "1") した 場合 , 受信 FIFO の許可ビットはクリアされ , 受信データは受信 FIFO に格納しません。 300 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ ■ 送信データレジスタ (TDR) 図 15.3-6 に送信データレジスタ (TDR) のビット構成を示します。 図 15.3-6 送信データレジスタ (TDR) のビット構成 TDR ch.0 ch.2 ch.4 ch.6 ch.8 ch.A 000064H 000084H 0000A4H 0001B4H 0001D4H 0001F4H ch.1 ch.3 ch.5 ch.7 ch.9 000074H bit15........... 000094H 0000B4H 0001C4H 0001E4H 8 D8 W 7 D7 W 6 D6 W 5 D5 W 4 D4 W 3 D3 W 2 D2 W 1 D1 W 0 初期値 D0 111111111B W W : ライトオンリ 送信データレジスタ (TDR) は , シリアルデータ送信用の 9 ビットデータバッファレジ スタです。 • 送信動作が許可されている場合に (SCR : TXE=1) , 送信するデータを送信データレ ジスタ (TDR) に書き込むと , 送信データが送信用シフトレジスタに転送されシリア ルデータに変換されて , シリアルデータ出力端子 (SOT 端子 ) から送出されます。 • データ長に応じ , 以下のように上位ビットから順に無効データとなります。 データ長 D8 D7 D6 D5 D4 D3 D2 D1 D0 9 ビット X X X X X X X X X 8 ビット 無効 X X X X X X X X 7 ビット 無効 無効 X X X X X X X 6 ビット 無効 無効 無効 X X X X X X 5 ビット 無効 無効 無効 無効 X X X X X • 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信データレジスタ (TDR) に書き込まれると , "0" クリアされます。 • 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信用シフトレジスタ へ転送され , 送信が開始されると送信 FIFO が禁止または送信 FIFO がエンプティの 場合 , "1" にセットされます。 • 送信データエンプティフラグ (SSR : TDRE) が "1" のとき , 送信データを書き込むこ とができます。送信割込みが許可されている場合には送信割込みが発生します。送 信データの書込みは , 送信割込みの発生によるか , 送信データエンプティフラグ (SSR : TDRE) が "1" の状態で行ってください。 • 送信データエンプティフラグ (SSR : TDRE) が "0" で送信 FIFO が禁止または送信 FIFO がフルのときは , 送信データを書き込むことはできません。 • 動作モード 1 ( マルチプロセッサモード ) では , 7 ビット , 8 ビット長の動作となり , AD ビットの送信は , D8 ビットへの書込みにより行います。 • 9 ビット長転送および動作モード 1 の場合 TDR への書込みは 16 ビットアクセスで 行います。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 301 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ <注意事項> • 送信データレジスタは書込み専用のレジスタで , 受信データレジスタは読出し専用の レジスタです。送受信レジスタは同一アドレスに配置されているため書込み値と読出 し値が異なります。したがって , INC/DEC 命令などリードモディファイライト (RMW) 系命令動作をする命令は使用できません。 • 送信 FIFO 使用時の送信データエンプティフラグ (SSR : TDRE) のセットタイミングは , 「15.4.2 受信 FIFO 使用時の割込み発生とフラグセットのタイミング」を参照してくだ さい。 302 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) 15.3.6 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) は , シリアルクロックの分周比 を設定します。また , リロードカウンタのクロックソースとして外部クロックを選 択できます。 ■ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 図 15.3-7 にボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成を示しま す。 図 15.3-7 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 BGR bit 15 ch.0 000066H EXT ch.1 000076H ch.2 000086H R/W ch.3 000096H ch.4 0000A6H ch.5 0000B6H ch.6 0001B6H ch.7 0001C6H ch.8 0001D6H ch.9 0001E6H ch.A 0001F6H R/W 14 13 B14 B13 R/W R/W 12 10 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 00000000B 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 00000000B :リード/ライト可能 9 8 初期値 11 7 6 5 4 3 2 1 0 ボーレートジェネレータレジスタ0 BGR0 書込み 読出し リロードカウンタビット0~7に書込み BGR1 書込み 読出し リロードカウンタビット8~14に書込み BGR0の設定値の読出し ボーレートジェネレータレジスタ1 EXT 0 1 BGR1の設定値の読出し 外部クロック選択ビット 内部クロック使用 外部クロック使用 :初期値 • ボーレートジェネレータレジスタはシリアルクロックの分周比を設定します。 • BGR1 は上位ビット , BGR0 は下位ビットに対応し , カウントするリロード値の書込 み , BGR1/BGR0 の設定値の読出しが可能です。 • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むとリ ロードカウンタはカウントを開始します。 • bit15 の EXT ビットで , リロードカウンタのクロックソースとして内部クロックを 使用するか , 外部クロックを使用するかを選択します。EXT=0 に設定した場合 , 内 部クロックを選択します。EXT=1 に設定した場合 , 外部クロックを選択します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 303 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ <注意事項> • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) への書込みは , 16 ビットアクセ スで行ってください。 • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) の設定値を変更した場合 , カウン タ値が "000000000000000B" になってから , 新しい設定値がリロードされます。した がって , 新しい設定値を即有効にしたい場合は , BGR1/BGR0 の設定値を変更した後 , プログラマブルクリア (UPCL) を実行してください。 • リロード値が偶数の場合 , 受信シリアルクロックの "H" 幅と "L" 幅は "L" 幅のほうがマ シンクロック 1 サイクル分長くなります。奇数の場合 , シリアルクロックの "H" 幅と "L" 幅は同じになります。 • BGR1/BGR0 へは , 4 以上の値を設定してください。ただし , ボーレートの誤差とリロー ド値の設定によって正常にデータを受信できないことがあります。 • ボーレートジェネレータ動作中に外部クロックの設定 (EXT=1) に変更する場合 , ボー レートジェネレータ 1, 0 (BGR1/BGR0) に "0" を書き込み , プログラムクリア (UPCL) 実行後 , 外部クロック (EXT=1) に設定してください。 304 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ FIFO 制御レジスタ 1 (FCR1) 15.3.7 FIFO 制御レジスタ (FCR1) は , FIFO のテスト設定 , 送受信 FIFO の選択 , 送信 FIFO 割込み許可の設定および割込みフラグの制御を行います。 ■ FIFO 制御レジスタ 1 (FCR1) のビット構成 図 15.3-8 に FIFO 制御レジスタ 1 (FCR1) のビット構成を , 表 15.3-8 に各ビットの機能 を示します。 図 15.3-8 FIFO 制御レジスタ 1 (FCR1) のビット構成 FCR1 bit 15 14 13 ch.0 00006AH FTST1 FTST0 - ch.1 00007AH ch.2 00008AH R/W R/W (-) 12 11 10 9 FLSTE FRIIE FDRQ FTIE R/W R/W R/W R/W 8 FSEL 初期値 00-00100B R/W FSEL 0 1 FIFO選択ビット 送信FIFO:FIFO1, 受信FIFO:FIFO2 送信FIFO:FIFO2, 受信FIFO:FIFO1 FTIE 0 1 送信FIFO割込み許可ビット 送信FIFO割込み禁止 送信FIFO割込み許可 FDRQ 送信FIFOデータ要求ビット 送信FIFOデータ要求なし 送信FIFOデータ要求あり 0 1 FRIIE 0 1 FLSTE 0 1 受信FIFOアイドル検出許可ビット 受信FIFOアイドル検出禁止 受信FIFOアイドル検出許可 再送データロスト検出許可ビット データロスト検出禁止 データロスト検出許可 未使用ビット 読出し時、値は不定です。書込み時、影響しません。 FTST1.0 00B 00B以外 R/W - CM71-10143-5 FIFOテストビット FIFOテスト禁止 設定禁止 :リード/ライト可能 :未使用 :初期値 FUJITSU SEMICONDUCTOR LIMITED 305 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ 表 15.3-8 FIFO 制御レジスタ 1 (FCR1) の各ビットの機能説明 ビット名 機能 bit15, bit14 FTST1, FTST0 : FIFO テスト ビット FIFO のテストビットです。 本ビットには必ず "0" を設定してください。 ( 注意事項 ) 本ビットに "1" を設定した場合 , FIFO のテストを行いま す。 bit13 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 bit12 FLSTE: 再送データ ロスト検出許可 ビット データロスト検出を許可するビットです。 "0" に設定した場合 : データロスト検出禁止 "1" に設定した場合 : データロスト検出許可 ( 注意事項 ) 本ビットに "1" を設定する場合 , FSET ビットに "1" を設定してから 本ビットに "1" を設定してください。 bit11 FRIIE: 受信 FIFO アイドル検出 許可ビット 受信 FIFO に有効なデータが存在した状態で 8 ビット時間以上の受信 アイドル状態を検出するかどうかを設定するビットです。受信割込み 許可 (SCR:RIE=1) されていると , 受信アイドル状態が検出されると受 信割込みが発生します。 "0" に設定した場合 : 受信 FIFO アイドル状態検出禁止 "1" に設定した場合 : 受信 FIFO アイドル状態検出許可 bit10 FDRQ : 送信 FIFO データ要求 ビット 送信 FIFO のデータ要求ビットです。 本ビットが "1" のとき , 送信データを要求していることを示します。こ のとき , 送信 FIFO 割込み許可 (FTIE=1) されていると , FIFO 送信割込 み要求を出力します。 FDRQ セット条件 FBYTE( 送信用 )=0 ( 送信 FIFO がエンプティ ) FDRQ リセット条件 • 本ビットへの "0" 書込み。 • 送信 FIFO がフルになった場合。 ( 注意事項 ) • 送信 FIFO 許可のときに "0" 書込みは有効です。 • FBYTE( 送信用 )=0 のときに本ビットへの "0" 書込みは禁止です。 • 本ビットに "1" を設定した場合 , 動作に影響を与えません。 • リードモディファイライト (RMW) 系命令時 , "1" が読み出されます。 bit9 FTIE : 送信 FIFO の割込み許可ビットです。本ビットに "1" を設定すると 送信 FIFO 割込み FDRQ ビットが "1" のときに割込みが発生します。 許可ビット bit8 送受信 FIFO を選択するビットです。 "0" に設定した場合 : 送信 FIFO : FIFO1, 受信 FIFO : FIFO2 に割り当てら れます。 "1" に設定した場合 : 送信 FIFO : FIFO2, 受信 FIFO : FIFO1 に割り当てら FSEL : れます。 FIFO 選択ビット ( 注意事項 ) • 本ビットは , FIFO リセット (FCL2, FCL1=1) ではクリアされませ ん。 • 本ビットを変更する場合は , FIFO 動作禁止 (FCR:FE2, FE1=0) にし てから行ってください。 <注意事項> 送信割込みには送信 FIFO 割込み要求と送信バッファ割込み要求があります。 306 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ MB91313A シリーズ FIFO 制御レジスタ 0 (FCR0) 15.3.8 FIFO 制御レジスタ 0 (FCR0) は , FIFO 動作の許可 / 禁止 , FIFO リセット , リードポ インタの保存 , 再送信設定を行います。 ■ FIFO 制御レジスタ 0 (FCR0) のビット構成 図 15.3-9 に FIFO 制御レジスタ 0 (FCR0) のビット構成を , 表 15.3-9 に各ビットの機能 を示します。 図 15.3-9 FIFO 制御レジスタ 0 (FCR0) のビット構成 FCR0 bit ch.0 00006BH ch.1 00007BH ch.2 00008BH 7 - (-) 6 5 4 3 2 1 FLST FLD FSET FCL2 FCL1 FE2 R R/W R/W R/W R/W R/W 初期値 0 FE1 00000000B R/W FE1 0 1 FIFO1動作許可ビット FIFO1動作禁止 FIFO1動作許可 FE2 0 1 FIFO2動作許可ビット FIFO2動作禁止 FIFO2動作許可 FCL1 0 1 FCL2 0 1 FSET 0 1 FIFO1リセットビット 書込み 読出し 影響なし 常に”0”を読出し FIFO1リセット FIFO2リセットビット 書込み 読出し 影響なし 常に"0"を読出し FIFO2リセット FIFOポインタ保存ビット 書込み 読出し 保存しない 常に"0"を読出し 保存実行 FLD 0 1 FIFOポインタリロードビット リロードしない リロード実行 FLST 0 1 FIFO再送データロストフラグビット データロストなし データロストあり 未使用ビット 読出し時、常に"0"を読出し。書込み時、常に"0"を書込み R/W :リード/ライト可能 R - :リードオンリ :未使用 :初期値 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 307 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 表 15.3-9 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (1 / 2) MB91313A シリーズ ビット名 機能 読み出した場合 : 常に "0" が読み出されます。 書き込んだ場合 : 常に "0" を書いてください。 bit7 未使用ビット bit6 送信 FIFO の再送データが失われたことを示すビットです。 FLST セット条件 FIFO 制御レジスタ 1 (FCR1) の FLSTE ビットが "1" で , 送信 FIFO の ライトポインタと FSET ビットによって保存 したリードポインタが一 致しているときに FIFO へ書き込んだ ( 上書きした ) 場合 FLST : FLST リセット条件 FIFO 再送データ • FIFO リセット (FCL への "1" 書込み ) ロストフラグ • FSET ビットへ "1" 書込み ビット 本ビットに "1" が設定されると FSET ビットで保存したリードポインタ が示すデータを上書きしてしまい , エラーが発生しても FLD ビットに よって再送の設定ができません。本ビットに "1" が設定された状態で再 送を行う場合には FIFO リセットを実施し , 再度 FIFO にデータを書き 込んでください。 bit5 FLD : FIFO ポインタ リロードビット 送信 FIFO に FSET ビットによって保存したデータをリードポインタに リロードするビットです。本ビットは通信エラーなどが発生し再送す るときに使用します。 再送設定が完了した場合 , 本ビットは "0" になります。 ( 注意事項 ) • 本ビットが "1" にセットされている間 , リードポインタへのリロー ド中なので FIFO リセット以外の書込みは行わないでください。 • FIFO 許可状態または送信中に本ビットに "1" を設定することは禁 止です。 • TIE ビットと TBIE ビットは "0" にしてから本ビットに "1" を書き込 み , 送信 FIFO 許可後 TIE ビットと TBIE ビットを "1" にしてくださ い。 FSET : FIFO ポインタ 保存ビット 送信 FIFO のリードポインタを保存するビットです。 通信前にリードポインタを保存すれば , 通信エラーなどが発生した 場合 , FLST ビットが "0" であれば , 再送可能となります。 "1" に設定した場合 : 現在のリードポインタの値を保存します。 "0" に設定した場合 : 影響しません。 ( 注意事項 ) 送信バイト数 (FBYTE) が "0" を示しているときに本ビッ トを "1" に設定してください。 FCL2 : FIFO2 リセット ビット FIFO2 をリセットするビットです。 本ビットを "1" に設定すると , FIFO2 の内部状態を初期化します。 FCR1:FLST ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビッ トは保持されます。 ( 注意事項 ) • 送受信を禁止してから , FIFO2 リセットを実行してください。 • 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。 • FBYTE2 レジスタの有効データ数は "0" になります。 bit4 bit3 308 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 表 15.3-9 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (2 / 2) MB91313A シリーズ ビット名 bit2 bit1 bit0 機能 FCL1 : FIFO1 リセット ビット FIFO1 をリセットするビットです。 本ビットを "1" に設定すると , FIFO1 の内部状態を初期化します。 FCR1:FLST ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビッ トは保持されます。 ( 注意事項 ) • 送受信を禁止してから , FIFO1 リセットを実行してください。 • 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。 • FBYTE1 レジスタの有効データ数は "0" になります。 FE2 : FIFO2 動作許可 ビット FIFO2 の動作を許可 / 禁止するビットです。 • FIFO2 を使用する場合 , 本ビットに "1" を設定してください。 • FIFO2 を送信 FIFO に設定し (FCR1:FSEL=1) , 本ビットに "1" を書き込 んだときに FIFO2 にデータが存在します。UART が送信許可 (TXE=1) のとき , 直ちに送信を開始します。TIE ビットと TBIE ビットは "0" にしてから本ビットに "1" を書き込み , TIE ビットと TBIE ビットを "1" にしてください。 • FSEL ビットで受信 FIFO として選択された場合 , 受信エラーが発生す ると本ビットは "0" にクリアされます。受信エラーがクリアされない 限り , 本ビットに "1" を設定することはできません。 • 送信 FIFO 使用時に送信バッファがエンプティ (TDRE=1) , 受信 FIFO 使用時に受信バッファがエンプティ (RDRF=0) の場合 , 本ビットをそ れぞれ "1" または "0" を設定してください。 • FIFO2 を禁止にしても FIFO2 の状態は保持されます。 FE1 : FIFO1 動作許可 ビット FIFO1 の動作を許可 / 禁止するビットです。 • FIFO1 を使用する場合 , 本ビットに "1" を設定してください。 • FIFO1 を送信 FIFO に設定し (FCR1:FSEL=0), 本ビットに "1" を書き込 んだときに FIFO1 にデータが存在します。UART が送信許可 (TXE=1) のとき , 直ちに送信を開始します。TIE ビットと TBIE ビットは "0" にしてから本ビットに "1" を書き込み , TIE ビットと TBIE ビットを "1" にしてください。 • FSEL ビットで受信 FIFO として選択された場合 , 受信エラーが発生す ると本ビットは "0" にクリアされます。受信エラーがクリアされない 限り , 本ビットに "1" を設定することはできません。 • 送信 FIFO 使用時に送信バッファがエンプティ (TDRE=1) , 受信 FIFO 使用時に受信バッファがエンプティ (RDRF=0) の場合 , 本ビットをそ れぞれ "1" または "0" を設定してください。 • FIFO1 を禁止にしても FIFO1 の状態は保持されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 309 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ 15.3.9 MB91313A シリーズ FIFO バイトレジスタ (FBYTE) FIFO バイトレジスタ (FBYTE) は , FIFO の有効なデータ数を示します。また , 受信 FIFO で所定のデータ数を受信したときに受信割込みを発生させるかを設定できま す。 ■ FIFO バイトレジスタ (FBYTE) のビット構成 図 15.3-10 に FIFO バイトレジスタ (FBYTE) のビット構成を示します。 図 15.3-10 FIFO バイトレジスタ (FBYTE) のビット構成 FBYTE bit 15 14 13 12 11 10 9 8 ch.0 00006CH ch.1 00007CH FD15 FD14 FD13 FD12 FD11 FD10 FD9 FD8 ch.2 00008CH R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 初期値 FD7 FD6 FD5 FD4 FD3 FD2 FD1 FD0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 00000000B FBYTE1 書込み 読出し FIFO1データ数表示ビット 転送数を設定 有効なデータ数を読出し FBYTE2 書込み 読出し FIFO2データ数表示ビット 転送数を設定 有効なデータ数を読出し R/W : リード/ライト可能 読出し(有効なデータ数) 送信時:FIFOに書き込まれ、送信されていないデータ数 受信時:FIFOに受信されたデータ数 書込み(転送数) 送信時:"00H"設定 受信時:受信割込み発生のデータ数設定 FIFO バイトレジスタ (FBYTE) は , FIFO に書込みまたは受信した有効なデータ数を示 し , FCR1:FSEL ビットの設定によって以下のようになります。 表 15.3-10 データ数表示 FSEL FIFO 選択 データ数表示 0 FIFO2 : 受信 FIFO, FIFO1 : 送信 FIFO FIFO2 : FBYTE2, FIFO1 : FBYTE1 1 FIFO2 : 送信 FIFO, FIFO1 : 受信 FIFO FIFO2 : FBYTE2, FIFO1 : FBYTE1 • FIFO バイトレジスタ (FBYTE) レジスタの転送数の初期値は "08H" です。 • 受信 FIFO の FBYTE に受信割込みフラグを発生させるデータ数を設定します。その 設定された転送数と FIFO バイトレジスタ (FBYTE) のデータ数表示が一致すると割 込みフラグ (SSR:RDRF) が "1" にセットされます。 310 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.3 UART ( 非同期マルチファンクションシリアルインタ フェース ) のレジスタ • 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数 MB91313A シリーズ が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以 上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 , RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信 FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま す。 <注意事項> • 送信 FIFO の FIFO バイトレジスタ (FBYTE) には "00H" を設定してください。 • 受信 FIFO の FBYTE は "1" 以上のデータを設定してください。 • 受信を禁止してから変更してください。 • 本レジスタはリードモディファイライト (RMW) 系命令を使用することはできません。 • FIFO 容量を超える設定は禁止です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 311 第 15 章 マルチファンクション シリアルインタフェース 15.4 UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み 15.4 MB91313A シリーズ UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み UART には , 送受信割込みがあります。次に示す要因で割込み要求を発生させるこ とができます。 • 受信データが受信データレジスタ (RDR) にセットされた場合 , または受信エラー が発生した場合 • 送信データが送信データレジスタ (TDR) から送信用シフトレジスタに転送され , 送信が開始された場合 • 送信バスアイドル ( 送信動作なし ) • 送信 FIFO データ要求 ■ UART の割込み UART の割込み制御ビットと割込み要因は表 15.4-1 のようになっています。 312 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.4 UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み MB91313A シリーズ 表 15.4-1 UART の割込み制御ビットと割込み要因 割込み の種類 割込み要求 動作モード フラグ フラグ レジスタ 0 1 ビット 割込み要因 割込み要因 許可ビット 割込み要求 フラグのクリア 受信データ (RDR) の 読出し 1 バイト受信 FBYTE 設定値分 受信 RDRF SSR ○ ○ FRIIE ビットが "1" で受信 FIFO に有効 なデータが存在した SCR:RIE 状態で 8 ビット時間 以上の受信アイドル 状態検出 ORE SSR ○ ○ オーバランエラー FRE SSR ○ ○ フレーミングエラー PE SSR ○ × パリティエラー 受信 TDRE SSR ○ ○ 送信レジスタが エンプティ 受信エラーフラグクリ アビット (SSR:REC) への "1" 書込み SCR:TIE 送信データ (TDR) へ の書込み , または送信 FIFO 動作許可ビット が "0" で送信 FIFO に 有効なデータが存在し ているときに送信 FIFO 動作許可ビット への "1" 書込み ( 送信 再送 ) * SCR:TBIE 送信データ (TDR) へ の書込み , または送信 FIFO 動作許可ビット が "0" で送信 FIFO に 有効なデータが存在し ているときに送信 FIFO 動作許可ビット への "1" 書込み ( 送信 再送 ) * FCR1:FTIE FIFO 送信データ要求 ビット (FCR1:FDRQ) への "0" 書込みまたは 送信 FIFO がフル 送信 TBI FDRQ SSR FCR1 ○ ○ ○ 送信動作なし ○ 送信 FIFO が エンプティ 受信 FIFO がエンプ ティになるまでの受信 データ (RDR) の読出 し *: TDRE ビットが "0" になってから TIE ビットを "1" にしてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 313 第 15 章 マルチファンクション シリアルインタフェース 15.4 UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み MB91313A シリーズ 受信割込み発生とフラグセットのタイミング 15.4.1 受信時の割込みとしては , 受信完了 (SSR:RDRF) および受信エラーの発生 (SSR : PE, ORE, FRE) があります。 ■ 受信割込み発生とフラグセットのタイミング 最初のストップビットの検出されることにより , 受信データが受信データレジスタ (RDR) に格納されます。受信が完了したとき (SSR:RDRF=1) または受信エラーが発生 (SSR:PE, ORE, FRE=1) すると各フラグがセットされます。そのとき , 受信割込みが許 可 (SSR:RIE=1) されていると受信割込みが発生します。 <注意事項> 受信エラーが発生した場合は , 受信データレジスタ (RDR) のデータは無効となります。 図 15.4-1 RDRF ( 受信データフル ) フラグビットのセットタイミング 受信データ ST D0 D1 D2 D5 D6 D7 SP ST RDRF 受信割込み発生 図 15.4-2 FRE ( フレーミングエラー ) フラグビットのセットタイミング 受信データ ST D0 D1 D2 D5 D6 D7 SP ST RDRF FRE 受信割込み発生 最初のストップビットが "L" レベルのとき , フレーミングエラーが発生します。 フレーミングエラーが発生しても ,RDRF は "1" にセットされデータは受信されますが , 受信データは無効です。 図 15.4-3 ORE ( オーバランエラー ) フラグビットのセットタイミング 受信データ ST D0 D1 D2 D3 D4 D5 D6 D7 SP ST D0 D1 D2 D3 D4 D5 D6 D7 SP RDRF ORE 受信データが読み出される前に (RDRF=1), 次のデータが転送されるとオーバランエ ラーが発生します。 314 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.4 UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み MB91313A シリーズ 15.4.2 受信 FIFO 使用時の割込み発生とフラグセットのタイ ミング 受信 FIFO 使用時の割込みは , FIFO バイトレジスタ (FBYTE) の設定値分受信すると 発生します。 ■ 受信 FIFO 使用時の受信割込み発生とフラグセットのタイミング 受信 FIFO 使用時の割込み発生は , FIFO バイトレジスタ (FBYTE) の設定値によって決 定されます。 • FIFO バイトレジスタ (FBYTE) の転送数設定分のデータを受信するとシリアルス テータスレジスタの受信データフルフラグ (SSR:RDRF) が "1" にセットされます。こ のとき , 受信割込み許可 (SCR:RIE) されていると受信割込みを発生します。 • 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数 が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以 上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 , RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信 FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま す。 • 受信 FIFO がエンプティになるまで受信データ (RDR) を読み出すと , 受信データフ ルフラグ (SSR:RDRF) はクリアされます。 • 受信有効データ数表示が FIFO 容量を示した状態で , 次のデータを受信するとオーバ ランエラー (SSR:ORE=1) が発生します。 図 15.4-4 受信 FIFO 使用時の受信割込み発生タイミング 受信データ ST 1バイト目 SP ST 2バイト目 SP Fバイト設定 (転送数) Fバイト読出し (有効バイト表示) ST 3バイト目 SP ST 4バイト目 SP ST 5バイト目 SP 3 0 1 2 3 2 1 0 1 2 RDRF RDRの読出し Fバイト設定(転送数)と受信データ数 一致したことにより割込み発生 CM71-10143-5 全受信データを読出し FUJITSU SEMICONDUCTOR LIMITED 315 第 15 章 マルチファンクション シリアルインタフェース 15.4 UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み 図 15.4-5 ORE ( オーバランエラー ) フラグビットのセットタイミング MB91313A シリーズ 受信データ ST 62バイト目 SP ST 63バイト目 SP Fバイト設定 (転送数) ST 64バイト目 SP ST 65バイト目 SP ST 66バイト目 SP 62 Fバイト読出し (有効バイト表示) 62 63 64 RDRF ORE オーバランエラー発生 Fバイト読出しがFIFO容量を示した状態で, 次のデータを受信するとオーバランエラー が発生します。 図 15.4-5 は , 64 バイトの FIFO 容量を使用した場合を示しています。 316 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.4 UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み MB91313A シリーズ 送信割込み発生とフラグセットのタイミング 15.4.3 送信時の割込みとしては , 送信データが 送信データレジスタ (TDR) から送信用シフ トレジスタに転送され (SSR : TDRE=1), 送信が開始された場合と送信動作をしてい ないとき (SSR : TBI=1) に発生します。 ■ 送信割込み発生とフラグセットのタイミング ● 送信データエンプティフラグ (TDRE) のセットタイミング 送信データレジスタ (TDR) に書き込まれたデータが送信シフトレジスタに転送される と , 次のデータの書込みが可能な状態 (SSR:TDRE=1) になります。そのとき , 送信割込 みが許可 (SCR:TIE=1) されていると 送信割込みが発生します。TDRE ビットはリード オンリビットなので , 送信データレジスタ (TDR) へのデータ書込みにより "0" にクリア されます。 図 15.4-6 送信データエンプティフラグ (TDRE) のセットタイミング 送信割込み発生 送信データ (モード0,モード1) ST D0 送信割込み発生 D1 D2 D3 D4 D5 D6 D7 SP ST D0 D1 D2 TDRE TDRへの書込み ST:スタートビット D0~D7:データビット SP:ストップビット ● 送信バスアイドルフラグ (TBI) のセットタイミング 送信データレジスタがエンプティ (TDRE=1) で送信動作をしていないとき , SSR : TBI ビットは"1"にセットされます。このとき, 送信バスアイドル割込み許可 (SCR : TBIE=1) されていると送信割込みが発生します。送信データレジスタ(TDR)に送信データをセッ トすると TBI ビットおよび送信割込み要求はクリアされます。 図 15.4-7 送信バスアイドルフラグ (TBI) のセットタイミング 送信データ ST D0 D1 D2 D3 D4 D5 D6 D7 SP ST D0 D1 D2 D3 D4 D5 D6 D7 TBI TBIビットによる 送信割込み発生 TDRE TDR書込み ST:スタートビット D0~D7:データビット SP:ストップビット CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 317 第 15 章 マルチファンクション シリアルインタフェース 15.4 UART ( 非同期マルチファンクションシリアルインタ フェース ) の割込み 15.4.4 MB91313A シリーズ 送信 FIFO 使用時の割込み発生とフラグセットの タイミング 送信 FIFO 使用時の割込みは , 送信 FIFO にデータが存在しないときに発生します。 ■ 送信 FIFO 使用時の送信割込み発生とフラグセットのタイミング • 送信 FIFO にデータが存在しない場合 , FIFO 送信データ要求ビット (FCR1 : FDRQ) が "1" にセットされます。 このとき , FIFO 送信割込み許可 (FCR1 : FTIE=1) されていると送信割込みが発生し ます。 • 送信割込みが発生して送信 FIFO に必要なデータを書き込んだら , FIFO 送信データ 要求ビット (FCR1 : FDRQ) に "0" 書込んで割込み要求をクリアしてください。 • 送信 FIFO がフルになると FIFO 送信データ要求ビット (FCR1:FDRQ) は "0" になり ます。 • 送信 FIFO データについての存在の確認は , FIFO バイトレジスタ (FBYTE) を読み出 すことで確認できます。 FBYTE=00H のときは , 送信 FIFO にデータが存在していないことを示します。 図 15.4-8 送信 FIFO 使用時の送信割込み発生タイミング 送信データ Fバイト ST 1バイト目 SP 0 1 2 1 ST 2バイト目SP 0 1 ST 3バイト目 ST 2 SP 4バイト目SP SP 5バイト目 0 1 FDRQ TDRE "0"書込みでクリア 送信割込み発生*1 送信FIFO(TDR) へ書込み "0"書込みでクリア 送信割込み発生*1 送信データレジスタがエンプティ*2 *1: 送信FIFOがエンプティのため、FDRQ=1にセットされる。 *2: 送信シフトレジスタと送信バッファレジスタにデータが存在しないため、TDRE=1にセットされる 318 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.5 第 15 章 マルチファンクション シリアルインタフェース 15.5 UART ( 非同期マルチファンクションシリアルインタ フェース ) の動作 UART ( 非同期マルチファンクションシリアルインタ フェース ) の動作 UART は , モード 0 の双方向シリアル非同期通信 , モード 1 のマスタ / スレーブマル チプロセッサ通信で動作します。 ■ UART の動作 ● 送受信データフォーマット • 送受信データは 必ずスタートビットから始まり , 指定されたデータビット長の送受 信が行われ , 少なくとも 1 ビットのストップビットで終了します。 • データ転送方向 (LSB ファーストまたは MSB ファースト ) は , シリアルモードレジ スタ (SMR) の BDS ビットで決定されます。パリティありの場合 , パリティビットは 常に最終データビットと最初のストップビットの間に置かれます。 • 動作モード 0 ( 通常モード ) では , パリティは , あり / なしの選択ができます。 • 動作モード 1 ( マルチプロセッサモード ) では , パリティは付加されず , AD ビット が付加されます。 図 15.5-1 に , 動作モード 0, 1 の送受信データフォーマットを示します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 319 第 15 章 マルチファンクション シリアルインタフェース 15.5 UART ( 非同期マルチファンクションシリアルインタ フェース ) の動作 図 15.5-1 送受信データフォーマット例 ( 動作モード 0, 1) MB91313A シリーズ [動作モード0] ST D0 D1 D2 D3 D4 D5 D6 D7 SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 D7 SP1 Pなし データ8ビット ST D0 D1 D2 D3 D4 D5 D6 D7 P SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 D7 P SP1 ST D0 D1 D2 D3 D4 D5 D6 SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 SP1 ST D0 D1 D2 D3 D4 D5 D6 P Pあり Pなし データ7ビット SP1 SP2 Pあり ST D0 D1 D2 D3 D4 D5 D6 P SP1 ST D0 D1 D2 D3 D4 D5 D6 D7 AD SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 D7 AD SP1 ST D0 D1 D2 D3 D4 D5 D6 AD SP1 SP2 [動作モード1] データ8ビット データ7ビット ST ST SP P AD D0~D7 D0 D1 D2 D3 D4 D5 D6 AD SP1 : スタートビット : ストップビット : パリティビット : アドレスビット : データビット <注意事項> • 図は , データ長 7, 8 ビットに設定した場合を示しています ( データ長は , 動作モード 0 の場合 , 5 ∼ 9 ビットまで設定できます )。 • シリアルモードレジスタ (SMR) の BDS ビットを "1" (MSB ファースト ) に設定した場 合 , ビットは D7, D6, D5,・・・, D1, D0 (P) の順で処理されます。 • データ長が , X ビット長に設定した場合 , 送受信データレジスタ (RDR/TDR) の下位 X ビットが有効になります。 320 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ ● 送信動作 第 15 章 マルチファンクション シリアルインタフェース 15.5 UART ( 非同期マルチファンクションシリアルインタ フェース ) の動作 • シリアルステータスレジスタ (SSR) の送信データエンプティフラグビット (TDRE) が "1" であれば , 送信データレジスタ (TDR) に送信データを書き込むことができま す ( 送信 FIFO が許可されている場合には TDRE=0 でも送信データを書くことは可 能 )。 • 送信データを送信データレジスタ (TDR) に書き込むと , 送信データエンプティフラ グビット (TDRE) は "0" になります。 • シリアル制御レジスタの送信動作許可ビット (SCR : TXE) を "1" に設定すると , 送信 データは送信シフトレジスタにロードされスタートビットから順に送信が開始さ れます。 • 送信が開始されると , 送信データエンプティフラグビット (TDRE) は再び "1" にセッ トされます。このとき , 送信割込みが許可 (SCR : TIE=1) されていれば , 送信割込み が発生します。割込み処理において , 次の送信データを送信データレジスタに書き 込むことができます。 <注意事項> • 送信データエンプティフラグビット (SSR : TDRE) は初期値が "1" のため , 送信割込み が許可 (SCR : TIE) されると直ちに送信割込みが発生します。 • FIFO 送信データ要求ビット (FCR1 : FDRQ) は初期値が "1" のため , FIFO 送信割込み が許可 (FCR1 : FTIE=1) されると直ちに送信割込みが発生します。 ● 受信動作 • 受信動作が許可 (SCR : RXE=1) されると , 受信動作を行います。 • スタートビットを検出すると , 拡張通信制御レジスタ (ESCR : PEN, P, L2, L1, L0), お よびシリアルモードレジスタ (SMR : BDS) に設定されているデータフォーマットに 従って 1 フレームデータの受信が行われます。 • 1 フレームの受信が完了すると , 受信データフルフラグビット (SSR : RDRF) が "1" にセットされます。このとき , 受信割込みが許可 (SCR : RIE=1) されている場合 , 受 信割込みが発生します。 • 受信データを読み出す際には , 1 フレームデータの受信完了後に受信データを読み 出し , シリアルステータスレジスタ (SSR) のエラーフラグの状態を確認してくださ い。受信エラーが発生している場合には , エラー処理を行ってください。 • 受信データの読出しで , 受信データフルフラグビット (SSR : RDRF) は "0" にクリア されます。 • 受信 FIFO が許可されている場合 , 受信 FBYTE に設定された分のフレームを受信す ると受信データフルフラグビット (SSR : RDRF) は "1" にセットされます。 • 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数 が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以 上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 , RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウントしま す。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信 FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 321 第 15 章 マルチファンクション シリアルインタフェース 15.5 UART ( 非同期マルチファンクションシリアルインタ フェース ) の動作 • 受信 FIFO が許可されている場合 , シリアルステータスレジスタ (SSR) のエラーフラ MB91313A シリーズ グが "1" にセットされると受信 FIFO にはそのエラーが発生したデータは受信 FIFO に格納しません。また , そのとき受信データフルフラグビット (SSR : RDRF) を "1" にセットしません ( ただし , オーバランエラーの場合は RDRF フラグは 1 にセット されます )。受信 FBYTE の表示はエラーが発生する前に正常に受信したデータ数を 示しています。シリアルステータスレジスタ (SSR) のエラーフラグが "0" にクリア されないと受信 FIFO は許可されません。 • 受信 FIFO が許可されている場合 , 受信 FIFO にデータがなくなると受信データフル フラグビット (SSR : RDRF) は "0" にクリアされます。 <注意事項> 受信データレジスタ (RDR) のデータは , 受信データレジスタフルフラグビット (SSR : RDRF) が "1" にセットされ , 受信エラーが発生しなかった場合 (SSR : PE, ORE, FRE=0) に有効となります。 ● クロック選択 • 内部クロック , または外部クロックを使用できます。 • 外部クロックを使用する場合は , SMR:EXT=1 に設定します。この場合 , 外部クロッ クが ボーレートジェネレータで分周されます。 ● スタートビット検出 • 非同期モード時は , SIN 信号の立下りエッジによってスタートビットを認識します。 このため , 受信動作許可 (SCR:RXE=1) しても SIN 信号の立下りエッジが入力されな いと 受信動作を開始しません。 • スタートビットの立下りエッジを検出すると , ボーレートジェネレータの受信リロー ドカウンタはリセットされ , 再リロードしカウントダウンを開始します。これに よって , 常にデータの中心でサンプリングします。 スタートビット データビット SIN SIN(OverSampled) SEDGE (内部信号) リロードカウンタ リセット データサンプリング 受信サンプリング クロック 1ビットタイム ● ストップビット • 1 ビットまたは 2 ビット長を選択できます。 • 受信データフルフラグビット (SSR : RDRF) は , 最初のストップビットを検出すると "1" にセットされます。 322 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.5 UART ( 非同期マルチファンクションシリアルインタ フェース ) の動作 MB91313A シリーズ ● エラー検出 • 動作モード 0 では , パリティエラー , オーバランエラー , フレームエラーが検出でき ます。 • 動作モード 1 では , オーバランエラー , フレームエラーが検出できます。パリティ エラーは検出できません。 ● パリティビット • パリティビットの付加は , 動作モード 0 の場合のみ設定できます。パリティ許可ビッ ト (ESCR : PEN) でパリティの有無を , パリティ選択ビット (ESCR : P) で偶数パリ ティ / 奇数パリティを設定できます。 • 動作モード 1 では , パリティを使用できません。 図 15.5-2 に , パリティ有効時の動作を示します。 図 15.5-2 パリティ有効時の動作 ST D0 D1 D2 D3 D4 D5 D6 D7 P SP 偶数パリティにて受信時 パリティエラー発生 (ESCR:P=0) 受信データ (モード0) SMR:PE 偶数パリティの送信 (ESCR:P=0) 送信データ (モード0) 奇数パリティの送信 (ESCR:P=1) 送信データ (モード0) ST:スタートビット SP:ストップビット パリティあり(ESCR:PEN=1)、8ビット長の場合 (注意事項) 動作モード1では、パリティは使用できません。 ● データ信号方式 拡張通信制御レジスタの INV ビットの設定によって , NRZ(Non Return to Zero) 信号方 式 (ESCR : INV=0) または反転 NRZ 信号方式 (ESCR : INV=1) を選択できます。 図 15.5-3 に , NRZ (Non Return to Zero) 信号方式 および反転 NRZ 信号方式を示します。 図 15.5-3 NRZ (Non Return to Zero) 信号方式 および反転 NRZ 信号方式 SIN (NRZ) INV = 0 ST D0 D1 D2 D3 D4 D5 D6 D7 SP SIN (反転NRZ) INV = 1 ST D0 D1 D2 D3 D4 D5 D6 D7 SP SOT (NRZ) INV = 0 ST D0 D1 D2 D3 D4 D5 D6 D7 SP SOT (反転NRZ) INV = 1 ST D0 D1 D2 D3 D4 D5 D6 D7 SP ● データ転送方式 データビット転送方法を LSB ファーストまたは MSB ファーストを選択できます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 323 第 15 章 マルチファンクション シリアルインタフェース 15.6 UART 専用ボーレートジェネレータ 15.6 MB91313A シリーズ UART 専用ボーレートジェネレータ UART の送受信クロックソースは , 次のいずれかを選択できます。 • 専用ボーレートジェネレータ ( リロードカウンタ ) • 外部クロックをボーレートジェネレータに入力 ( リロードカウンタ ) ■ UART ボーレート選択 ボーレートは次の 2 種類の中から 1 種類を選択できます。 ● 専用ボーレートジェネレータ ( リロードカウンタ ) で内部クロックを分周して得られるボー レート 2 つの内部リロードカウンタがあり , それぞれ送受信シリアルクロックに対応していま す。ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) で 15 ビットのリロード値を 設定することにより , ボーレートを選択できます。 リロードカウンタは , 設定された値で内部クロックを分周します。 クロックソースの設定は , 内部クロックを選択 (SMR:EXT=0) してください。 ● 専用ボーレートジェネレータ ( リロードカウンタ ) で外部クロックを分周して得られるボー レート リロードカウンタのクロックソースに外部クロックを使用します。 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) で 15 ビットのリロード値を設定 することによりボーレートを選択できます。 リロードカウンタは , 設定された値で外部クロックを分周します。 クロックソースの設定は , 外部クロックとボーレートジェネレータクロック使用を選 択 (SMR:EXT=1) してください。 本モードは特殊な周波数の発振子を分周して使用するケースを想定して用意されてい ます。 <注意事項> • 外部クロックの設定(EXT=1)は, リロードカウンタが停止した状態(BGR1/BGR0=15"H00) で行ってください。 • 外部クロックに設定 (EXT=1) した場合 , 外部クロックの "H" 幅 , "L" 幅は 2 マシンクロッ ク以上必要です。 324 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.6 UART 専用ボーレートジェネレータ ボーレート設定 15.6.1 ボーレートの設定を示します。また , シリアルクロック周波数の計算結果を示します。 ■ ボーレートの計算 2つの15ビットリロードカウンタは, ボーレートジェネレータレジスタ1, 0 (BGR1/BGR0) で設定します。 ボーレートの計算式を以下に示します。 (1) リロード値 V=φ/b−1 V : リロード値 b : ボーレート , φ : マシンクロック , 外部クロック周波数 (2) 計算例 マシンクロック 16MHz, 内部クロック使用 , ボーレート 19200bps に設定する場 合のリロード値は , 次のようになります。 リロード値 : V = (16 × 1000000)/19200 − 1 = 832 よって , ボーレートは b = (16 × 1000000)/(832 + 1) = 19208 bps (3) ボーレートの誤差 ボーレートの誤差は次の式によって求められます。 誤差 (%) = ( 計算値 - 目標値 )/ 目標値 × 100 ( 例 ) マシンクロック 20MHz, 目標ボーレート 153600bps に設定する場合 リロード値 = (20 × 1000000)/153600 − 1 = 129 ボーレート ( 計算値 ) = (20 × 1000000)/(129 + 1) = 153846 (bps) 誤 差 (%) = (153846 − 153600)/153600 × 100 = 0.16 (%) <注意事項> • リロード値を "0" に設定するとリロードカウンタは停止します。 • リロード値が偶数の場合 , 受信シリアルクロックの "H" 幅と "L" 幅は "L" 幅のほうがマ シンクロック 1 サイクル分長くなります。奇数の場合 , シリアルクロックの "H" 幅と "L" 幅は同じになります。 • リロード値は 4 以上を設定してください。ただし , ボーレートの誤差とリロード値の設 定によって正常にデータを受信できないことがあります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 325 第 15 章 マルチファンクション シリアルインタフェース 15.6 UART 専用ボーレートジェネレータ MB91313A シリーズ ■ 各マシンクロック周波数に対するリロード値とボーレート 表 15.6-1 リロード値とボーレート 8 MHz 10 MHz 16 MHz 20 MHz ボーレート (bps) Value ERR Value ERR Value ERR Value ERR 24 MHz 32MHz Value ERR Value ERR 4M − − − − − 0 4 0 5 0 7 0 2.5M − − − 0 − − − − − − − − 2M − 0 4 0 7 0 9 0 11 0 15 0 1M 7 0 9 0 15 0 19 0 23 0 31 0 500000 15 0 19 0 31 0 39 0 47 0 63 0 460800 − − − − − − − − 51 - 0.16 − − 250000 31 0 39 0 63 0 79 0 95 0 127 0 230400 − − − − − − − − 103 - 0.16 − − 153600 51 - 0.16 64 - 0.16 103 - 0.16 129 - 0.16 155 - 0.16 207 - 0.16 125000 63 0 79 0 127 0 159 0 191 0 255 0 115200 68 - 0.64 86 0.22 138 0.08 173 0.22 207 - 0.16 277 0.08 76800 103 - 0.16 129 - 0.16 207 - 0.16 259 - 0.16 311 - 0.16 416 0.08 57600 138 0.08 173 0.22 277 0.08 346 - 0.16 416 0.08 555 0.08 38400 207 - 0.16 259 - 0.16 416 0.08 520 0.03 624 0 832 - 0.04 28800 277 0.08 346 < 0.01 554 - 0.01 693 - 0.06 832 - 0.03 1110 - 0.01 19200 416 0.08 520 - 0.03 1041 0.03 1249 0 1666 0.02 10417 767 9600 832 0.03 832 < 0.01 959 < 0.01 1535 < 0.01 1919 < 0.01 2303 0.04 1041 0.03 1666 0.02 2083 0.03 2499 7200 1110 < 0.01 1388 < 0.01 2221 < 0.01 2777 < 0.01 3332 4800 1666 0.02 < 0.01 3071 0 < 0.01 3332 - 0.01 < 0.01 4443 - 0.01 2082 - 0.02 3332 < 0.01 4166 < 0.01 4999 0 6666 2400 3332 < 0.01 4166 < 0.01 6666 < 0.01 8332 < 0.01 9999 0 13332 < - 0.01 1200 6666 < 0.01 8334 0 26666 < 0.01 0.02 13332 < 0.01 16666 < 0.01 19999 < 0.01 600 13332 < 0.01 16666 < 0.01 26666 < 0.01 − − − − − − 300 26666 26666 < 0.01 − − − − − − − − − • Value : BGR1/BGR0 レジスタの設定値 (10 進 ) • ERR : ボーレート誤差 (%) 326 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.6 UART 専用ボーレートジェネレータ MB91313A シリーズ ■ 受信時の許容ボーレート範囲 以下に , 受信時の許容ボーレート範囲について示します。 受信時のボーレート誤差は , 下記に示す算出式を使用して , 必ず許容誤差範囲内になる ように設定してください。 図 15.6-1 受信時の許容ボーレート範囲 UARTの 転送レート サンプリング ▽ ▽ スタート ビット0 ▽ ▽ ビット1 ▽ ビット7 ▽ パリティ ストップ FL 1データ・フレーム (11×FL) 許容最小 転送レート スタート ビット0 ビット7 ビット1 パリティ ストップ FLmin 許容最大 転送レート スタート ビット0 ビット1 ビット7 パリティ ストップ FLmax 図に示すように , スタートビット検出後は BGR1/BGR0 レジスタで設定したカウンタに より , 受信データのサンプリングタイミングが決定されます。このサンプリングタイミ ングに最終データ ( ストップビット ) までが間に合えば正常に受信できます。 これを 11 ビット受信に当てはめると理論上 , 次のようになります。 サンプリング・タイミングのマージンをマシンクロック (φ) の 2 クロック分とすると , 許容最小転送レート (FLmin) は次のようになります。 FLmin = (11 ビット× (V + 1) − (V + 1)/2 + 3)/φ = (21V + 27)/2φ (s) V: リロード値 , φ : マシンクロック したがって , 受信可能な送信先の最大ボーレート (BGmax) は次のようになります。 BGmax = 11/FLmin = 22φ/(21V + 27) (bps) V: リロード値 , φ : マシンクロック 同様に , 許容最大転送レート (FLmax) を求めると , 次のようになります。 FLmax = (11 ビット× (V + 1) + (V + 1)/2 − 3)/φ = (23V + 17)/2φ (s) V : リロード値 , φ : マシンクロック したがって , 受信可能な送信先の最小ボーレート (BGmin) は次のようになります。 BGmin = 11/FLmax = 22φ/(23V + 17) (bps) CM71-10143-5 V : リロード値 , φ : マシンクロック FUJITSU SEMICONDUCTOR LIMITED 327 第 15 章 マルチファンクション シリアルインタフェース 15.6 UART 専用ボーレートジェネレータ MB91313A シリーズ 前述の最小 / 最大ボーレート値の算出式から , UART と送信先とのボーレートの許容誤 差を求めると次のようになります。 リロード値 (V) 許容最大ボーレート誤差 許容最小ボーレート誤差 3 0% 0 10 + 2.98% − 2.81% 50 + 4.37% − 4.02% 100 + 4.56% − 4.18% 200 + 4.66% − 4.26% 32767 + 4.76% − 4.35% ( 注意事項 ) 受信の精度は , 1 フレームのビット数 , マシンクロック , リロード値に依 存します。マシンクロックが高く , 分周比が高くなるほど精度は高くな ります。 ■ 外部クロック ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) の EXT ビットに "1" を書き込むと , ボーレートジェネレータで外部クロックを分周します。 <注意事項> 外部クロック信号は UART で内部クロックに同期します。したがって , 同期化不可能な外 部クロックの場合 , 動作が不安定になります。 ■ リロードカウンタの機能 リロードカウンタには , 送信リロードカウンタと受信リロードカウンタがあり , 専用 ボーレートジェネレータとして機能します。リロード値に対する 15 ビットレジスタか ら構成されており , 外部クロックまたは内部クロックより送受信クロックを生成しま す。 ■ カウントの開始 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むと , リ ロードカウンタはカウントを開始します。 ■ 再スタート リロードカウンタは下記の条件で再スタートします。 ● 送信 / 受信リロードカウンタ共通 プログラマブルリセットリセット (SCR:UPCL ビット ) ● 受信リロードカウンタ 非同期モードでのスタートビット立下りエッジ検出 328 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.7 第 15 章 マルチファンクション シリアルインタフェース 15.7 動作モード 0 ( 通常モード ) 設定手順とプログラムフロー 動作モード 0 ( 通常モード ) 設定手順とプログラム フロー 動作モード 0 では , 非同期シリアル双方向通信をすることができます。 ■ CPU 間接続 動作モード 0 ( 通常モード ) では , 双方向通信を選択します。図 15.7-1 に示すように 2 つの CPU を相互に接続します。 図 15.7-1 UART 動作モード 0 の双方向通信の接続例 SOT SOT SIN SIN SCK SCK CPU–1 (マスタ) CPU–2 (スレーブ) ■ フローチャート ● FIFO 未使用時 図 15.7-2 双方向通信フローチャートの例 (FIFO 未使用時 ) (送信側) (受信側) スタート スタート 動作モード設定 (モード0に設定) 動作モード設定 (送信側と合わす) データ送信 TDRに1バイトデータ をセットして通信 NO RDRF=1 YES NO RDRF=1 YES 受信データ読出しと 処理 CM71-10143-5 データ送信 受信データ読出しと 処理 (ANS) 1バイトデータ送信 FUJITSU SEMICONDUCTOR LIMITED 329 第 15 章 マルチファンクション シリアルインタフェース 15.7 動作モード 0 ( 通常モード ) 設定手順とプログラムフロー MB91313A シリーズ ● FIFO 使用時 図 15.7-3 双方向通信フローチャートの例 (FIFO 使用時 ) (送信側) (受信側) スタート スタート 動作モード設定 (モード0に設定) 動作モード設定 (モード0に設定) ・送受信FIFO許可 ・FBYTE設定 ・送受信FIFO許可 ・FBYTE設定 送信FIFOにNバイトを セット データ送信 NO RDRF=1 YES FDRQビットに"0"書込み FBYTE設定値分, 読出しと処理 データ返信 NO RDRF=1 送信FIFOにNバイトを セット YES FBYTE設定値分, 読出しと処理 330 FDRQビットに"0"書込み FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.8 第 15 章 マルチファンクション シリアルインタフェース 15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプロ グラムフロー 動作モード 1 ( マルチプロセッサモード ) 設定手順と プログラムフロー 動作モード 1 ( マルチプロセッサモード ) では , 複数 CPU のマスタ / スレーブ接続に よる通信が可能です。マスタ / スレーブとして使用できます。 ■ CPU 間接続 マスタ / スレーブ型通信では , 図に示すように 2 本の共通通信ラインに 1 つのマスタ CPU と複数のスレーブ CPU を接続して通信システムを構成します。UART はマスタま たはスレーブのどちらでも使用できます。 図 15.8-1 UART のマスタ / スレーブ型通信の接続例 SOT SIN マスタ CPU SOT SIN SOT スレーブ CPU #0 SIN スレーブ CPU #1 ■ 機能選択 マスタ / スレーブ型通信では , 表 15.8-1 に示すように動作モードとデータ転送方式を選 択してください。 表 15.8-1 マスタ / スレーブ型通信機能の選択 動作モード データ マスタ CPU アドレス 送受信 モード 1 (AD ビット 送信 ) データ 送受信 パリティ スレーブ CPU モード 1 (AD ビット 受信 ) AD = 1 + 7 ビットまたは 8 ビットアドレス AD = 0 + 7 ビットまたは 8 ビットデータ なし ストップ ビット ビット方向 1 ビット LSB ファースト または または 2 ビット MSB ファースト <注意事項> 動作モード 1 では送受信データ (TDR/RDR) はワードアクセスで行ってください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 331 第 15 章 マルチファンクション シリアルインタフェース 15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプロ グラムフロー ● 通信手順 MB91313A シリーズ 通信は , マスタ CPU がアドレスデータを送信することによって始まります。アドレス データとは D8 ビットを "1" としたデータで , 通信先となるスレーブ CPU を選択しま す。各スレーブ CPU はプログラムでアドレスデータを判断し , 割り当てられたアドレ スと一致した場合にマスタ CPU との通信 ( 通常データ ) をします。 図 15.8-2 , 図 15.8-3 に , マスタ / スレーブ型通信フローチャートの例を示します。 332 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ ■ フローチャート 第 15 章 マルチファンクション シリアルインタフェース 15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプロ グラムフロー ● FIFO 未使用時 図 15.8-2 マスタ / スレーブ型通信フローチャートの例 (FIFO 未使用時 ) (マスタCPU) (スレーブCPU) スタート スタート 動作モード設定 (モード1に設定) 動作モード設定 (モード1に設定) SIN端子をシリアルデータ 入力に設定 SOT端子をシリアルデータ 出力に設定 SIN端子をシリアルデータ 入力に設定 SOT端子をシリアルデータ 出力に設定 7または8データビット設定 1または2ストップビット 設定 7または8データビット設定 1または2ストップビット設定 D8ビットに"1"をセット 送受信動作許可 送受信動作許可 受信バイト NO スレーブアドレスを送信 D8ビット=1 YES D8ビットに"0"をセット スレーブ アドレスが一致 NO YES スレーブCPUと通信 マスタCPUと通信 通信終了? NO 通信終了? NO YES YES ほかのスレーブ CPUと通信 NO YES 送受信動作禁止 エンド CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 333 第 15 章 マルチファンクション シリアルインタフェース 15.8 動作モード 1 ( マルチプロセッサモード ) 設定手順とプロ グラムフロー ● FIFO 使用時 MB91313A シリーズ 図 15.8-3 マスタ / スレーブ型通信フローチャートの例 (FIFO 使用時 ) (マスタCPU) (スレーブCPU) スタート スタート 動作モード設定 (モード1に設定) 動作モード設定 (モード1に設定) ・送受信FIFO許可 ・FBYTE設定 送受信FIFO許可 ADビットに"1"をセット 送信FIFOにスレーブアド レスをセットし、FDRQ ビットに"0"書込み FBYTE=1に設定 スレーブアドレス送信 RDRF=1 NO YES AD=1 & スレーブアドレス が一致 ADビットに"0"をセット NO YES 送信FIFOにNバイトセットし, FDRQビットに"0"書込み データ送信 FBYTE=Nに設定 受信FIFOフル NO D8ビットに"0"をセット YES FBYTE設定値分, 読出しと処理 NO RDRF=1 YES FBYTE設定値分, 読出しと処理 334 データ送信 送信FIFOにNバイトセットし, FDRQビットに"0"書込み FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.9 第 15 章 マルチファンクション シリアルインタフェース 15.9 UART モードの注意事項 UART モードの注意事項 UART モードの注意事項を下記に示します。 • FIFO 付きチャネルで DMA 転送要求する場合 , FIFO は使用できません。FIFO 動作 禁止の設定としてください。 • DMA 転送要求する場合 , DMA のブロックサイズを 1 回に設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 335 第 15 章 マルチファンクション シリアルインタフェース 15.10 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の概要 15.10 MB91313A シリーズ CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の概要 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) は , 外部装置と 同期通信をするための , 汎用のシリアルデータ通信インタフェースです (SPI に対応し ます )。また , 送信 / 受信 ( 最大 各 16 バイト ) の FIFO を搭載しています。 ■ CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の機能 機能 1 データバッファ 2 転送形式 3 ボーレート 4 データ長 5 受信エラー検出 6 割込み要求 7 同期モード 8 端子アクセス 9 FIFO オプション • 全二重ダブルバッファ (FIFO 未使用時 ) • 送信 / 受信 FIFO ( 最大各 16 バイト ) * (FIFO 使用時 ) • クロック同期 ( スタートビット / ストップビットなし ) • マスタ / スレーブ機能 • SPI に対応 ( マスタ / スレーブ両方サポート ) • 専用ボーレートジェネレータあり (15 ビットリロードカウンタから構 成 , マスタ動作時 ) • 外部クロック入力可能 ( スレーブ動作時 ) • 5 ∼ 9 ビットに可変可能 • オーバランエラー • • • • 受信割込み ( 受信完了 , オーバランエラー ) 送信割込み ( 送信データエンプティ , 送信バスアイドル ) 送信 FIFO 割込み ( 送信 FIFO がエンプティのとき ) 送受信とも拡張インテリジェント I/O サービス (EI2OS), および DMA 転送サポート機能あり • マスタまたはスレーブ機能 • シリアルデータ出力端子を "1" 設定可能 • 送受信 FIFO 搭載 ( 最大容量 : 送信 FIFO 16 バイト , 受信 FIFO 16 バイト ) * • 送信 FIFO と受信 FIFO を選択可能 • 送信データ再送可能 • 受信 FIFO 割込みタイミングをソフトで可変可能 • 独立して FIFO リセットサポート * : FIFO 搭載は ch.0, ch.1 および ch.2 のみです ( 送受信各 16 バイト )。 336 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) のレジスタ 15.11 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) のレジスタ一 覧を示します。 ■ CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の レジスタ一覧 表 15.11-1 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) のレジスタ一覧 bit15 アドレス CSIO FIFO bit8 bit7 bit0 00X0H 00X1H SCR ( シリアル制御レジスタ ) 00X2H 00X3H SSR ( シリアルステータスレジスタ ) ESCR ( 拡張通信制御レジスタ ) 00X4H 00X5H RDR1/TDR1 ( 送受信データレジスタ 1) RDR0/TDR0 00X6H 00X7H BGR1 BGR0 00X8H 00X9H 00YAH 00YBH FCR1 (FIFO 制御レジスタ 1) FCR0 (FIFO 制御レジスタ 0) 00YCH 00YDH FBYTE2 (FIFO2 バイトレジスタ ) FBYTE1 (FIFO1 バイトレジスタ ) SMR ( シリアルモードレジスタ ) ( 送受信データレジスタ 0) ( ボーレートジェネレータレジスタ 1) ( ボーレートジェネレータレジスタ 0) − − (X=06H, 07H, 08H, 09H, 0AH, 0BH, 1BH, 1CH, 1DH, 1EH, 1FH, Y=06H, 07H, 08H) 表 15.11-2 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) ビット配置 bit15 bit14 bit13 bit12 bit11 bit10 SCR/SMR UPCL SSR/ ESCR REC MS SPI RIE − − − TDR/RDR BGR1/ BGR0 TBIE bit9 bit8 bit7 bit6 bit5 RXE TXE MD2 MD1 MD0 − TBI SOP − − − − D8 D7 D6 D5 D4 B8 B7 B6 B5 B4 ORE RDRF TDRE − − B14 B13 − FCR1/ FCR0 TIE B12 B11 B10 B9 bit4 − FTST1 FTST0 − CM71-10143-5 bit2 bit1 bit0 SCKE SOE L2 L1 L0 D3 D2 D1 D0 B3 B2 B1 B0 − FLSTE FRIIE FDRQ FTIE FBYTE2/ FD15 FD14 FD13 FD12 FD11 FD10 FBYTE1 bit3 SCINV BDS FD9 FSEL − FLST FLD FSET FCL2 FCL1 FE2 FE1 FD8 FD7 FD6 FD5 FD4 FD1 FD0 FUJITSU SEMICONDUCTOR LIMITED FD3 FD2 337 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 15.11.1 MB91313A シリーズ シリアル制御レジスタ (SCR) シリアル制御レジスタ (SCR) は , 送受信割込みの許可 / 禁止 , 送信アイドル割込みの 許可 / 禁止 , 送受信動作の許可 / 禁止の設定を行います。また , SPI に接続するため の設定 , CSIO をリセットすることが可能です。 ■ シリアル制御レジスタ (SCR) 図 15.11-1 にシリアル制御レジスタ (SCR) のビット構成を , 表 15.11-3 に各ビットの機 能を示します。 図 15.11-1 シリアル制御レジスタ (SCR) のビット構成 SCR bit 15 ch.0 000060H ch.1 000070H UPCL ch.2 000080H R/W ch.3 000090H ch.4 0000A0H ch.5 0000B0H ch.6 0001B0H ch.7 0001C0H ch.8 0001D0H ch.9 0001E0H ch.A 0001F0H 14 13 12 11 10 9 8 初期値 MS SPI RIE TIE TBIE RXE TXE 00000000B R/W R/W R/W R/W R/W R/W R/W TXE 0 1 送信許可ビット 送信禁止 送信許可 RXE 0 1 受信許可ビット 受信禁止 受信許可 TBIE 0 1 送信割込み許可ビット 送信割込み禁止 送信割込み許可 RIE 0 1 受信割込み許可ビット 受信割込み禁止 受信割込み許可 SPI 0 1 SPI対応ビット ノーマル同期転送 SPI対応 UPCL :リード/ライト可能 送信バスアイドル割込み許可 TIE 0 1 MS 0 1 R/W 送信バスアイドル割込み許可ビット 送信バスアイドル割込み禁止 0 1 マスタ/スレーブ機能選択ビット マスタモード スレーブモード プログラマブルクリアビット 書込み 読出し 影響なし 常に"0"を読出し プログラマブルクリア :初期値 338 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 表 15.11-3 シリアル制御レジスタ (SCR) の各ビットの機能説明 ビット名 機能 bit15 UPCL : プログラマブル クリアビット CSIO の内部状態を初期化するビットです。 "1" を設定した場合 : • CSIO を直接リセット ( ソフトウェアリセット ) します。ただし , レジスタの設定は保持されます。その際 , 送受信状態のものは直 ちに切断されます。 • ボーレートジェネレータは , BGR1/BGR0 レジスタの設定値をリ ロードし , 再スタートします。 • すべての送受信割込み要因 (TDRE, TBI, RDRF, ORE) は初期化さ れます。 • "0" を設定した場合 : 動作に影響を及ぼしません。 読出し時は , 常に "0" が読み出されます。 ( 注意事項 ) • 割込み禁止に設定した後に , プログラマブルクリアを実行してく ださい。 • FIFO 使用時は , FIFO 禁止 (FE2, FE1=0) にしてからプログラマブ ルクリアを実行してください。 bit14 MS : マスタ / スレーブ機能 選択ビット マスタまたはスレーブモードを選択します。 "0" に設定した場合 : マスタモードに設定されます。 "1" に設定した場合 : スレーブモードに設定されます。 ( 注意事項 ) スレーブモードを選択した場合 , SMR:SCKE=0 であれば , 外部クロックが直接入力されます。 bit13 SPI : SPI 対応ビット 本ビットは , SPI に対応した通信をさせるためのビットです。 "0" に設定した場合 : ノーマル同期通信を行います。 "1" に設定した場合 : SPI に対応します。 bit12 RIE : 受信割込み許可 ビット • CPU への受信割込み要求出力を許可 / 禁止するビットです。 • RIE ビットと受信データフラグビット (RDRF) が "0" の場合 , また は エラーフラグビット (ORE) のいずれかが "1" の場合 , 受信割込み 要求を出力します。 bit11 TIE : 送信割込み許可 ビット • CPU への送信割込み要求出力を許可 / 禁止するビットです。 • TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求を出力し ます。 bit10 TBIE : 送信バス アイドル割込み 許可ビット • CPU への送信バスアイドル割込み要求出力を許可 / 禁止するビット です。 • TBIE ビットと TBI ビットが "1" のとき , 送信バスアイドル割込み 要求を出力します。 bit9 RXE : 受信動作許可 ビット CSIO の受信動作を許可 / 禁止します。 • "0" に設定した場合 : データフレーム受信動作が禁止されます。 • "1" に設定した場合 : データフレーム受信動作が許可されます。 ( 注意事項 ) 受信中に受信動作を禁止 (RXE=0) した場合には , 直ちに 受信動作を停止します。 TXE : 送信動作許可 ビット CSIO の送信動作を許可 / 禁止します。 • "0" に設定した場合 : データフレーム送信動作が禁止されます。 • "1" に設定した場合 : データフレーム送信動作が許可されます。 ( 注意事項 ) 送信中に送信動作を禁止 (TXE=0) した場合には , 直ちに 送信動作を停止します。 bit8 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 339 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 15.11.2 MB91313A シリーズ シリアルモードレジスタ (SMR) シリアルモードレジスタ (SMR) は , 動作モードの設定 , 転送方向 , データ長 , シリア ルクロックの反転 およびシリアルデータとクロックの端子への出力許可 / 禁止の設 定を行います。 ■ シリアルモードレジスタ (SMR) 図 15.11-2 にシリアルモードレジスタ (SMR) のビット構成を , 表 15.11-4 に各ビットの 機能を示します。 図 15.11-2 シリアルモードレジスタ (SMR) のビット構成 SMR bit 7 6 5 4 3 2 1 0 ch.0 000061H MD0 MD2 MD1 - SCINV BDS SCKE SOE ch.1 000071H ch.2 000081H R/W R/W R/W R/W R/W R/W R/W R/W ch.3 000091H ch.4 0000A1H ch.5 0000B1H ch.6 0001B1H ch.7 0001C1H ch.8 0001D1H ch.9 0001E1H ch.A 0001F1H 初期値 000-0000B SOE 0 1 シリアルデータ出力許可ビット SOT出力禁止 SOT出力許可 SCKE シリアルクロック出力許可ビット SCK出力禁止 または SCK入力許可 SCK出力許可 0 1 BDS 0 1 SCINV 0 1 転送方向選択ビット LSBファースト(最下位ビットから転送) MSBファースト(最上位ビットから転送) シリアルクロック反転ビット マークレベル”H”フォーマット マークレベル”L”フォーマット 未使用ビット 読出し時、値は不定です。書込み時、影響しません。 R/W :リード/ライト可能 - :未使用 :初期値 MD2 MD1 MD0 動作モード設定ビット 0 0 0 動作モード0(非同期ノーマルモード) 0 0 1 動作モード1(非同期マルチプロセッサモード) 0 1 0 動作モード2(クロック同期モード) 1 0 0 動作モード4(I2Cモード) 注意事項:本章は動作モード2のレジスタおよび動作について説明します。 340 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 表 15.11-4 シリアルモードレジスタ (SMR) の各ビットの機能説明 ビット名 機能 動作モードを設定します。 "000B" : 動作モード 0 ( 非同期ノーマルモード ) に設定されます。 "001B" : 動作モード 1 ( 非同期マルチプロセッサモード ) に設定されます。 "010B" : 動作モード 2 ( クロック同期モード ) に設定されます。 bit7 ∼ bit5 MD2 ∼ MD0 : "100B" : 動作モード 4 (I2C モード ) に設定されます。 動作モード設定 ( 注意事項 ) ビット • 上記設定以外は禁止です。 • 動作モードを切り換える場合には , プログラマブルクリア実行 (SCR:UPCL=1) 後 , 動作モードを切り換えてください。 • 動作モード設定後 , 各レジスタを設定してください。 bit4 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 bit3 SCINV : シリアル クロック 反転ビット シリアルクロックフォーマットを反転するビットです。 "0" に設定した場合 : • シリアルクロック出力のマークレベルを "H" にします。 • 送信データは , ノーマル転送ではシリアルクロックの立下りエッジ , SPI 転送ではシリアルクロックの立上りエッジに同期して出力しま す。 • 受信データは , ノーマル転送ではシリアルクロックの立上りエッジ , SPI 転送ではシリアルクロックの立下りエッジでサンプリングしま す。 "1" に設定した場合 : • シリアルクロック出力のマークレベルを "L" にします。 • 送信データは , ノーマル転送ではシリアルクロックの立上りエッジ , SPI 転送ではシリアルクロックの立下りエッジに同期して出力しま す。 • 受信データは , ノーマル転送ではシリアルクロックの立下りエッジ , SPI 転送ではシリアルクロックの立上りエッジでサンプリングしま す。 ( 注意事項 ) 本ビットは , 送受信が禁止 (TXE=RXE=0) のときに設定し てください。 bit2 BDS : 転送方向選択 ビット 転送シリアルデータを最下位ビット側から先に転送するか (LSB ファー スト , BDS=0) 最上位ビット側から先に転送するか (MSB ファースト , BDS=1) を選択するビットです。 ( 注意事項 ) 本ビットは , 送受信が禁止 (TXE=RXE=0) のときに設定し てください。 bit1 SCKE: シリアル クロック出力 許可ビット シリアルクロックの入出力ポートを制御するビットです。 "0" に設定した場合 : SCK"H" 出力 , または SCK 入力許可となります。 SCK 入力として使う場合は汎用入出力ポートを入 力ポートに設定してください。 "1" に設定した場合 : SCK 出力許可となります。 bit0 シリアルデータの出力を許可 / 禁止するビットです。 SOE: シリアルデータ "0" に設定した場合 : SOT"H" 出力となります。 出力許可ビット "1" に設定した場合 : SOT 出力許可となります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 341 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ <注意事項> 動作モードを変更すると , ほかのレジスタは初期化されますので動作モードは最初に設定 してください。ただし , 16 ビット書込みで SCR と SMR を同時に書き込んだとき , SCR には書き込んだ内容が反映されます。 342 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ シリアルステータスレジスタ (SSR) 15.11.3 シリアルステータスレジスタ (SSR) は , 送受信状態の確認 , 受信エラーフラグの確 認また , 受信エラーフラグのクリアを行います。 ■ シリアルステータスレジスタ (SSR) 図 15.11-3 にシリアルステータスレジスタ (SSR) のビット構成を , 表 15.11-5 に各ビッ トの機能を示します。 図 15.11-3 シリアルステータスレジスタ (SSR) のビット構成 SSR bit 15 ch.0 000062H REC ch.1 000072H ch.2 000082H R/W ch.3 000092H ch.4 0000A2H ch.5 0000B2H ch.6 0001B2H ch.7 0001C2H ch.8 0001D2H ch.9 0001E2H ch.A 0001F2H 14 13 12 - - - - - - 11 10 9 8 ORE RDRF TDRE TBI R R R 初期値 0---0011B R TBI 0 1 TDRE 0 1 送信バスアイドルフラグビット 送信中 送信動作なし 送信データエンプティフラグビット 送信データレジスタTDRにデータが存在する 送信データレジスタが空 RDRF 受信データフルフラグビット 0 受信データレジスタRDRが空 1 受信データレジスタRDRにデータが存在する ORE 0 1 オーバランエラーフラグビット オーバランエラーなし オーバランエラーあり 未使用ビット 読出し時、値は不定です。書込み時、影響しません。 REC R/W R - CM71-10143-5 :リード/ライト可能 :リードオンリ :未使用 :初期値 0 1 受信エラーフラグクリアビット 書込み 読出し 影響なし 常に”0”を読出し 受信エラーフラグ (FRE, ORE)のクリア FUJITSU SEMICONDUCTOR LIMITED 343 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 表 15.11-5 シリアルステータスレジスタ (SSR) の各ビットの機能説明 MB91313A シリーズ ビット名 機能 bit15 シリアルステータスレジスタ (SSR) の ORE フラグをクリアするビットで REC : す。 受信エラー • "1" 書込みで , エラーフラグがクリアされます。 フラグクリア • "0" 書込みは , 影響しません。 ビット 読み出した場合 , 常に "0" が読み出されます。 bit14 ∼ bit12 未使用ビット bit11 • 受信時にオーバランが発生すると "1" にセットされ , シリアルステータ スレジスタ (SSR) の REC ビットに "1" を書き込むとクリアされます。 ORE : • ORE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。 オーバラン • 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデータは エラーフラグ 無効です。 ビット • 受信 FIFO 使用時に本フラグがセットされた場合は , 受信 FIFO の許可 ビットがクリアされ , 受信データは受信 FIFO に格納されません。 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 • 受信データレジスタ (RDR) の状態を示すフラグです。 • RDR に受信データがロードされると "1" にセットされ , 受信データレジ スタ (RDR) を読み出すと "0" にクリアされます。 • RDRF ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。 • 受信 FIFO 使用時 , 受信 FIFO に所定のデータ数を受信したら RDRF が "1" にセットされます。 • 受信 FIFO 使用時 , 受信 FIFO に所定のデータ数を受信せずに受信 FIFO にデータが残っている状態で受信アイドル状態がボーレートクロックで 8 クロック以上続いた場合 , RDRF が "1" にセットされます。8 クロック カウント中 , RDR を読み出すとそのカウンタは "0" にリセットされ , 再 度 8 クロックをカウントします。 • 受信 FIFO 使用時は , 受信 FIFO がエンプティになると "0" にクリアされ ます。 bit10 RDRF : 受信データ フルフラグ ビット bit9 • 送信データレジスタ (TDR) の状態を示すフラグです。 • TDR に送信データを書き込むと "0" となり , TDR に有効なデータが存在 していることを示します。データが送信シフトレジスタにロードされて 送信が開始されると "1" になり , TDR に有効なデータが存在していない TDRE : ことを示します。 送信データ • TDRE ビットと TIE ビットが "1" の場合 , 送信割込み要求を出力します。 エンプティ • シリアル制御レジスタ (SCR) の UPCL ビットに "1" をセットすると フラグビット TDRE ビットは "1" になります。 • 送信 FIFO 使用時の TDRE ビットのセット / リセットタイミングは , 「15.4.4 送信 FIFO 使用時の割込み発生とフラグセットの タイミング」 を参照してください。 bit8 • CSIO が送信動作をしていないことを示すビットです。 • 送信データレジスタ (TDR) へデータを書き込んだ場合に本ビットは "0" になります。 TBI : • 送信データレジスタ (TDR) がエンプティ (TDRE=1) で , 送信動作をして 送信バス いない場合に本ビットが "1" になります。 アイドル • シリアル制御レジスタ (SCR) の UPCL ビットに "1" をセットすると フラグビット TDRE ビットは "1" になります。 • 本ビットが "1" で , 送信バスアイドル割込み許可 (SCR:TBIE=1) されてい ると送信割込み要求を出力します。 344 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ 15.11.4 拡張通信制御レジスタ (ESCR) 拡張通信制御レジスタ (ESCR) は , 送受信データ長の設定 , シリアル出力を "H" 固定 の設定ができます。 ■ 拡張通信制御レジスタ (ESCR) のビット構成 図 15.11-4 に拡張通信制御レジスタ (ESCR) のビット構成を , 表 15.11-6 に各ビットの 機能を示します。 図 15.11-4 拡張通信制御レジスタ (ESCR) のビット構成 ESCR bit 7 ch.0 000063H SOP ch.1 000073H ch.2 000083H R/W ch.3 000093H ch.4 0000A3H ch.5 0000B3H ch.6 0001B3H ch.7 0001C3H ch.8 0001D3H ch.9 0001E3H ch.A 0001F3H 初期値 6 5 4 3 2 1 0 - - - - L2 L1 L0 - - - - R/W R/W R/W 0----000B L2 0 0 0 0 1 L1 0 0 1 1 0 L0 0 1 0 1 0 データ長選択ビット 8ビット長 5ビット長 6ビット長 7ビット長 9ビット長 未使用ビット 読出し時、値は不定です。書込み時、影響しません。 SOP R/W - CM71-10143-5 :リード/ライト可能 :未使用 :初期値 0 1 シリアル出力端子セットビット 読出し 書込み 影響なし 常に"0"を読出し SOT端子を"H"にセット FUJITSU SEMICONDUCTOR LIMITED 345 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ 表 15.11-6 拡張通信制御レジスタ (ESCR) の各ビットの機能説明 ビット名 機能 bit7 • シリアル出力端子を "H" レベルにセットするビットです。 • 読み出した場合 , 常に "0" が読み出されます。 SOP : シリアル出力 ( 注意事項 ) シリアルデータ送信中に , 本ビットの設定をしないでくださ 端子セット い。 ビット 本ビットの設定値は , シリアル制御レジスタ (SCR) の TXE ビットが "0" の場合のみ有効です。 bit6 ∼ bit3 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 送受信データのデータ長を指定します。 • "000B" に設定した場合 : データ長は , 8 ビットに設定されます。 bit2 ∼ bit0 • "001B" に設定した場合 : データ長は , 5 ビットに設定されます。 L2 ∼ L0: データ長選択 • "010B" に設定した場合 : データ長は , 6 ビットに設定されます。 ビット • "011B" に設定した場合 : データ長は , 7 ビットに設定されます。 • "100B" に設定した場合 : データ長は , 9 ビットに設定されます。 ( 注意事項 ) 上記設定以外は禁止です。 346 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ 15.11.5 受信データレジスタ / 送信データレジスタ (RDR/TDR) 受信データと送信データレジスタは同一アドレスに配置されています。読み出した 場合は 受信データレジスタとして機能し , 書き込んだ場合は送信データレジスタと して機能します。 ■ 受信データレジスタ (RDR) 図 15.11-5 に受信データレジスタ (RDR) のビット構成を示します。 図 15.11-5 受信データレジスタ (RDR) のビット構成 RDR ch.0 ch.2 ch.4 ch.6 ch.8 ch.A 000064H 000084H 0000A4H 0001B4H 0001D4H 0001F4H ch.1 ch.3 ch.5 ch.7 ch.9 000074H bit15........... 000094H 0000B4H 0001C4H 0001E4H 8 D8 R 7 D7 R 6 D6 R 5 D5 R 4 D4 R 3 D3 R 2 D2 R 1 D1 R 0 初期値 D0 000000000B R R : リードオンリ 受信データレジスタ (RDR) は , シリアルデータ受信用の 9 ビットのデータバッファレ ジスタです。 • シリアル入力端子 (SIN 端子 ) に送られてきたシリアルデータ信号がシフトレジスタ で変換されて , 受信データレジスタ (RDR) に格納されます。 • データ長に応じ , 以下のように上位ビットから順に "0" となります。 データ長 D8 D7 D6 D5 D4 D3 D2 D1 D0 9 ビット X X X X X X X X X 8 ビット 0 X X X X X X X X 7 ビット 0 0 X X X X X X X 6 ビット 0 0 0 X X X X X X 5 ビット 0 0 0 0 X X X X X • 受信データが受信データレジスタ (RDR) に格納されると , 受信データフルフラグ ビット (SSR : RDRF) が "1" にセットされます。受信割込みが許可されている場合は (SSR : RIE=1) , 受信割込み要求を発生します。 • 受信データレジスタ (RDR) は , 受信データフルフラグビット (SSR : RDRF) が "1" の 状態で読み出してください。受信データフルフラグビット (SSR : RDRF) は , シリア ル受信データレジスタ (RDR) を読み出すと自動的に "0" にクリアされます。 • 受信エラーが発生 (SSR : ORE) した場合 , 受信データレジスタ (RDR) のデータは無 効となります。 • 9 ビット長転送の場合 RDR の読出しは 16 ビットアクセスで行います。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 347 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ <注意事項> • 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信したら RDRF が "1" にセット されます。 • 受信 FIFO 使用時は , 受信 FIFO がエンプティになると RDRF が "0" にクリアされます。 • 受信 FIFO 使用時に , 受信エラーが発生 (SSR : ORE が "1") した場合 , 受信 FIFO の許 可ビットはクリアされ , 受信データは受信 FIFO に格納しません。 348 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ ■ 送信データレジスタ (TDR) 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 図 15.11-6 に送信データレジスタ (TDR) のビット構成を示します。 図 15.11-6 送信データレジスタ (TDR) のビット構成 TDR ch.0 ch.2 ch.4 ch.6 ch.8 ch.A 000064H 000084H 0000A4H 0001B4H 0001D4H 0001F4H ch.1 ch.3 ch.5 ch.7 ch.9 000074H bit15........... 000094H 0000B4H 0001C4H 0001E4H 8 D8 W 7 D7 W 6 D6 W 5 D5 W 4 D4 W 3 D3 W 2 D2 W 1 D1 W 0 初期値 D0 111111111B W W : ライトオンリ 送信データレジスタ (TDR) は , シリアルデータ送信用の 9 ビットデータバッファレジ スタです。 • 送信動作が許可されている場合に (SCR : TXE=1) , 送信するデータを送信データレ ジスタ (TDR) に書き込むと , 送信データが送信用シフトレジスタに転送されシリア ルデータに変換されて , シリアルデータ出力端子 (SOT 端子 ) から送出されます。 • データ長に応じ , 以下のように上位ビットから順に無効データとなります。 D8 D7 D6 D5 D4 D3 D2 D1 D0 9 ビット X X X X X X X X X 8 ビット 無効 X X X X X X X X 7 ビット 無効 無効 X X X X X X X 6 ビット 無効 無効 無効 X X X X X X 5 ビット 無効 無効 無効 無効 X X X X X データ長 • 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信データレジスタ (TDR) に書き込まれると "0" にクリアされます。 • 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信用シフトレジスタ へ転送され , 送信が開始されると送信 FIFO が禁止または送信 FIFO がエンプティの 場合 , "1" にセットされます。 • 送信データエンプティフラグ (SSR : TDRE) が "1" の場合は , 次の送信用データを書 き込むことができます。送信割込みが許可されている場合には送信割込みが発生し ます。次の送信データの書込みは , 送信割込みの発生によるか , 送信データエンプ ティフラグ (SSR : TDRE) が "1" の状態で行ってください。 • 送信データエンプティフラグ (SSR : TDRE) が "0" で送信 FIFO が禁止または送信 FIFO がフルのときは , 送信データレジスタ (TDR) に送信データを書き込むことはで きません。 • 9 ビット長転送の場合 TDR への書込みは 16 ビットアクセスで行います。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 349 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ <注意事項> • 送信データレジスタは書込み専用のレジスタで , 受信データレジスタは読出し専用の レジスタです。2 つのレジスタは同一アドレスに配置されているため書込み値と読出し 値が異なります。したがって , INC/DEC 命令などリードモディファイライト (RMW) 系 命令動作をする命令は使用できません。 • 送信 FIFO 使用時の送信データエンプティフラグ (SSR : TDRE) のセットタイミングは , 「15.4.4 送信 FIFO 使用時の割込み発生とフラグセットの タイミング」を参照してくだ さい。 350 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) 15.11.6 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) は , シリアルクロックの分周比 を設定します。 ■ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 図 15.11-7 にボーレートジェネレータレジスタ1,0 (BGR1/BGR0)のビット構成を示しま す。 図 15.11-7 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 BGR bit ch.0 000066H ch.1 000076H ch.2 000086H ch.3 000096H ch.4 0000A6H ch.5 0000B6H ch.6 0001B6H ch.7 0001C6H ch.8 0001D6H ch.9 0001E6H ch.A 0001F6H 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 初期値 - B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 - 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 -0000000B 00000000B ボーレートジェネレータレジスタ0 BGR0 書込み リロードカウンタビット0~7に書込み 読出し BGR1 書込み BGR0の設定値の読出し ボーレートジェネレータレジスタ1 リロードカウンタビット8~14に書込み 読出し BGR1の設定値の読出し 未使用ビット 読出しした場合,値は不定です。 書込みした場合,影響しません。 R/W :リード/ライト可能 • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) に値を設定します。 • BGR1 は上位ビット , BGR0 は下位ビットに対応し , カウントするリロード値の書込 み , BGR1/BGR0 の設定値の読出しが可能です。 • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むとリ ロードカウンタはカウントを開始します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 351 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ <注意事項> • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) への書込みは , 16 ビットアクセ スで行ってください。 • リロード値が偶数の場合 , シリアルクロックの "H" 幅と "L" 幅は SCINV ビットの設定 によって以下のようになります。奇数の場合 , シリアルクロックの "H" 幅と "L" 幅は同 じになります。 SCINV=0 のとき , シリアルクロックの "H" 幅がマシンクロック 1 サイクル分長くなり ます。 SCINV=1 のとき , シリアルクロックの "L" 幅がマシンクロック 1 サイクル分長くなり ます。 • リロード値は 1 以上を設定してください。ただし , 本 CSIO どうしをマスタとスレーブ に使用する場合には , マスタとなる CSIO のリロード値は 3 以上を設定してください。 • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) の設定値を変更した場合 , カウン タ値が "000000000000000B" になってから , 新しい設定値がリロードされます。した がって , 新しい設定値を即有効にしたい場合は , BGR1/BGR0 の設定値を変更した後 , CSIO リセット (UPCL) を実行してください。 • 受信 FIFO 使用時 , 受信 FIFO アイドル検出許可ビット (FCR1:FRIIE) を "1" に設定しス レーブモードで動作させる場合 , BGR1/BGR0 にボーレートを設定してください。 352 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ FIFO 制御レジスタ 1 (FCR1) 15.11.7 FIFO 制御レジスタ (FCR1) は , FIFO のテスト設定 , 送受信 FIFO の選択 , 送信 FIFO 割込み許可の設定および割込みフラグの制御を行います。 ■ FIFO 制御レジスタ 1 (FCR1) のビット構成 図 15.11-8 に FIFO 制御レジスタ 1 (FCR1) のビット構成を , 表 15.11-7 に各ビットの機 能を示します。 図 15.11-8 FIFO 制御レジスタ 1 (FCR1) のビット構成 FCR1 bit 15 14 ch.0 00006AH FTST1 FTST0 ch.1 00007AH ch.2 00008AH R/W R/W 13 - - 12 11 FLSTE FRIIE R/W R/W 10 9 FDRQ FTIE R/W R/W 8 FSEL 初期値 00-00100B R/W FSEL 0 1 FIFO選択ビット 送信FIFO:FIFO1, 受信FIFO:FIFO2 送信FIFO:FIFO2, 受信FIFO:FIFO1 FTIE 0 1 送信FIFO割込み許可ビット 送信FIFO割込み禁止 送信FIFO割込み許可 FDRQ 送信FIFOデータ要求ビット 送信FIFOデータ要求なし 送信FIFOデータ要求あり 0 1 FRIIE 0 1 受信FIFOアイドル検出許可ビット 受信FIFOアイドル検出禁止 受信FIFOアイドル検出許可 FLSTE 0 1 再送データロスト検出許可ビット データロスト検出禁止 データロスト検出許可 未使用ビット 読出し時, 値は不定です。書込み時, 影響しません。 R/W - :リード/ライト可能 :未使用 FTST1.0 00B 00B以外 FIFOテストビット FIFOテスト禁止 設定禁止 :初期値 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 353 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 表 15.11-7 FIFO 制御レジスタ 1 (FCR1) の各ビットの機能説明 ビット名 MB91313A シリーズ 機能 bit15, bit14 FTST1, FTST0 : FIFO テスト ビット FIFO のテストビットです。 本ビットには必ず "0" を設定してください。 ( 注意事項 ) 本ビットに "1" を設定した場合 , FIFO のテストを行いま す。 bit13 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 bit12 データロスト検出を許可するビットです。 FLSTE : "0" に設定した場合 : データロスト検出禁止 再送データ "1" に設定した場合 : データロスト検出許可 ロスト検出許可 ( 注意事項 ) 本ビットに "1" を設定する場合 , FSET ビットに "1" を設 ビット 定してから本ビットに "1" を設定してください。 bit11 FRIIE: 受信 FIFO アイドル検出 許可ビット 受信 FIFO に有効なデータが存在した状態で 8 ビット時間以上の受信ア イドル状態を検出するかどうかを設定するビットです。受信割込み許 可 (SCR:RIE=1) されていると , 受信アイドル状態が検出されると受信割 込みが発生します。 "0" に設定した場合 : 受信アイドル状態検出禁止 "1" に設定した場合 : 受信アイドル状態検出許可 bit10 FDRQ : 送信 FIFO データ要求 ビット 送信 FIFO のデータ要求ビットです。 本ビットが "1" のとき , 送信データを要求していることを示します。こ のとき , 送信 FIFO 割込み許可 (FTIE=1) されていると , 送信 FIFO 割込 み要求を出力されます。 FDRQ セット条件 • FBYTE( 送信用 )=0 ( 送信 FIFO がエンプティ ) • 送信 FIFO のリセット FDRQ リセット条件 • 本ビットへの "0" 書込み • 送信 FIFO がフルになった場合 ( 注意事項 ) • FBYTE( 送信用 )=0 のときに本ビットへの "0" 書込みは禁止です。 • 本ビットが "0" のときに FSEL ビットの変更は禁止です。 • 本ビットに "1" を設定した場合 , 動作に影響を与えません。 • リードモディファイライト (RMW) 系命令時 , "1" が読み出されます。 bit9 FTIE : 送信 FIFO 割込み許可 ビット 送信 FIFO の割込み許可ビットです。本ビットに "1" を設定すると FDRQ ビットが "1" のときに割込みが発生します。 FSEL : FIFO 選択 ビット 送受信 FIFO を選択するビットです。 "0" に設定した場合 : 送信 FIFO : FIFO1, 受信 FIFO : FIFO2 に割り当てられ ます。 "1" に設定した場合 : 送信 FIFO : FIFO2, 受信 FIFO : FIFO1 に割り当てられ ます。 ( 注意事項 ) • 本ビットは , FIFO リセット (FCL2, FCL1=1) ではクリアされません。 • 本ビットを変更する場合は , FIFO 動作禁止 (FE2, FE1=0) および送受 信禁止 (TXE=RXE=0) にしてから行ってください。 bit8 354 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ MB91313A シリーズ FIFO 制御レジスタ 0 (FCR0) 15.11.8 FIFO 制御レジスタ 0 (FCR0) は , FIFO 動作の許可 / 禁止 , FIFO リセット , リードポ インタの保存 , 再送信設定を行います。 ■ FIFO 制御レジスタ 0 (FCR0) のビット構成 図 15.11-9 に FIFO 制御レジスタ 0 (FCR0) のビット構成を , 表 15.11-8 に各ビットの機 能を示します。 図 15.11-9 FIFO 制御レジスタ 0 (FCR0) のビット構成 FCR0 bit 7 ch.0 00006BH - ch.1 00007BH ch.2 00008BH (-) 6 5 4 3 2 1 FLST FLD FSET FCL2 FCL1 FE2 R R/W R/W R/W R/W R/W 初期値 0 FE1 -0000000B R/W FE1 0 1 FIFO1動作許可ビット FIFO1動作禁止 FIFO0動作許可 FE2 0 1 FIFO2動作許可ビット FIFO2動作禁止 FIFO2動作許可 FCL1 0 1 FCL2 0 1 FSET 0 1 R/W R - :リード/ライト可能 :リードオンリ :未使用 FIFO1リセットビット 書込み 読出し 影響なし 常に"0"を読出し FIFO1リセット FIFO2リセットビット 書込み 読出し 影響なし 常に"0"を読出し FIFO2リセット FIFOポインタ保存ビット 書込み 読出し 保存しない 常に"0"を読出し 保存実行 FLD 0 1 FIFOポインタリロードビット リロードしない リロード実行 FLST 0 1 FIFO再送データロストフラグビット データロストなし データロストあり 未使用ビット 読出し時、常に"0"を読出し。書込み時、常に"0"を書込み :初期値 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 355 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 表 15.11-8 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (1 / 2) MB91313A シリーズ ビット名 機能 読み出した場合 : 常に "0" が読み出されます。 書き込んだ場合 : 常に "0" を書いてください。 bit7 未使用ビット bit6 送信 FIFO の再送データが失われたことを示すビットです。 FLST セット条件 • FIFO 制御レジスタ 1 (FCR1) の FLSTE ビットが "1" で , 送信 FIFO のライトポインタと FSET ビットによって保存 したリードポインタ が一致しているときに FIFO へ書き込んだ場合 FLST : FLST リセット条件 FIFO 再送データ • FIFO リセット (FCL への "1" 書込み ) ロストフラグ • FSET ビットへ "1" 書込み ビット 本ビットに "1" が設定されると FSET ビットで保存したリードポインタ が示すデータを上書きしてしまい , エラーが発生しても FLD ビットに よって再送の設定ができません。本ビットに "1" が設定された状態で再 送を行う場合には FIFO リセットを実施し , 再度 FIFO にデータを書き 込んでください。 bit5 FLD : FIFO ポインタ リロードビット 送信 FIFO に FSET ビットによって保存したデータをリードポインタに リロードするビットです。本ビットは通信エラーなどが発生し再送す るときに使用します。 再送設定が完了した場合 , 本ビットは "0" になります。 ( 注意事項 ) • 本ビットが "1" にセットされている間 , リードポインタへのリロー ド中なので FIFO リセット以外の書込みは行わないでください。 • FIFO 許可状態または送信中 , 本ビットに "1" を設定することは禁止 です。 • TIE ビット TBIE ビットは "0" にしてから本ビットに "1" を書き込ん でください。送信 FIFO 許可後 , TIE ビットと TBIE ビットを "1" に してください。 FSET : FIFO ポインタ 保存ビット 送信 FIFO のリードポインタを保存するビットです。 送信前にリードポインタを保存すれば , 通信エラーなどが発生した 場合 , FLST ビットが "0" であれば , 再送可能となります。 "1" に設定した場合 : 現在のリードポインタの値を保存します。 "0" に設定した場合 : 影響しません。 ( 注意事項 ) 送信バイト数 (FBYTE) が "0" を示しているときに本ビッ トを "1" に設定してください。 FCL2 : FIFO2 リセット ビット FIFO2 をリセットするビットです。 本ビットを "1" に設定すると , FIFO2 の内部状態を初期化します。 FCR1:FLST2 ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビッ トは保持されます。 ( 注意事項 ) • 送受信を禁止してから , FIFO2 リセットを実行してください。 • 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。 • FBYTE2 レジスタの有効データ数は "0" になります。 bit4 bit3 356 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 表 15.11-8 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (2 / 2) MB91313A シリーズ ビット名 bit2 bit1 bit0 機能 FCL1 : FIFO1 リセット ビット FIFO1 をリセットするビットです。 本ビットを "1" に設定すると , FIFO1 の内部状態を初期化します。 FCR1:FLST1 ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビッ トは保持されます。 ( 注意事項 ) • 送受信を禁止してから , FIFO1 リセットを実行してください。 • 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。 • FBYTE1 レジスタの有効データ数は "0" になります。 FE2 : FIFO2 動作許可 ビット FIFO2 の動作を許可 / 禁止するビットです。 • FIFO2 を使用する場合 , 本ビットに "1" を設定してください。 • FIFO2 を送信 FIFO に設定し (FCR1:FSEL=1), 本ビットに "1" を書き込 んだときに FIFO2 にデータが存在します。UART が送信許可 (TXE=1) のとき , 直ちに送信を開始します。このとき , TIE ビットと TBIE ビッ トは "0" にしてから本ビットに "1" を書き込み , TIE ビットと TBIE ビットを "1" にしてください。 • FSEL ビットによって受信 FIFO として選択された場合 , 受信エラーが 発生すると本ビットは "0" にクリアされます。受信エラーがクリアさ れない限り , 本ビットに "1" を設定することはできません。 • 送信 FIFO 使用時に送信バッファがエンプティ (TDRE=1), 受信 FIFO 使用時に受信バッファがエンプティ (RDRF=0) の場合 , 本ビットをそ れぞれ "1" または "0" を設定してください。 • FIFO2 を禁止にしても FIFO2 の状態は保持されます。 FE1 : FIFO1 動作許可 ビット FIFO1 の動作を許可 / 禁止するビットです。 • FIFO1 を使用する場合 , 本ビットに "1" を設定してください。 • FIFO1 を送信 FIFO に設定し (FCR1:FSEL=0), 本ビットに "1" を書き込 んだときに FIFO1 にデータが存在します。UART が送信許可 (TXE=1) のとき , 直ちに送信を開始します。このとき , TIE ビットと TBIE ビッ トは "0" にしてから本ビットに "1" を書き込み , TIE ビットと TBIE ビットを "1" にしてください。 • FSEL ビットによって受信 FIFO として選択された場合 , 受信エラーが 発生すると本ビットは "0" にクリアされます。受信エラーがクリアさ れない限り , 本ビットに "1" を設定することはできません。 • 送信 FIFO 使用時に送信バッファがエンプティ (TDRE=1), 受信 FIFO 使用時に受信バッファがエンプティ (RDRF=0) の場合 , 本ビットをそ れぞれ "1" または "0" を設定してください。 • FIFO1 を禁止にしても FIFO1 の状態は保持されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 357 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ 15.11.9 MB91313A シリーズ FIFO バイトレジスタ (FBYTE) FIFO バイトレジスタ (FBYTE) は , FIFO の有効なデータ数を示します。 ■ FIFO バイトレジスタ (FBYTE) のビット構成 図 15.11-10 に FIFO バイトレジスタ (FBYTE) のビット構成を示します。 図 15.11-10 FIFO バイトレジスタ (FBYTE) のビット構成 FBYTE bit 15 14 13 12 11 10 9 8 ch.0 00006CH ch.1 00007CH FD15 FD14 FD13 FD12 FD11 FD10 FD9 FD8 ch.2 00008CH R/W R/W R/W R/W R/W R/W R/W R/W R/W :リード/ライト可能 読出し(有効なデータ数) 送信時:FIFOに書き込まれ、送信されていないデータ数 受信時:FIFOに受信されたデータ数 書込み(転送数) 送信時:"00H"設定 受信時:受信割込み発生のデータ数設定 7 6 5 4 3 初期値 2 1 0 FD7 FD6 FD5 FD4 FD3 FD2 FD1 FD0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 00000000B FBYTE1 書込み 読出し FIFO1データ数表示ビット 転送数を設定 有効なデータ数を読出し FBYTE2 書込み 読出し FIFO2データ数表示ビット 転送数を設定 有効なデータ数を読出し FIFO バイトレジスタ (FBYTE) は FIFO の有効なデータ数を示し , FSEL ビットの設定に よって以下のようになります。 表 15.11-9 データ数表示 FSEL FIFO 選択 バイト数表示 0 FIFO2 : 受信 FIFO, FIFO1 : 送信 FIFO FIFO2 : FBYTE2, FIFO1 : FBYTE1 1 FIFO2 : 送信 FIFO, FIFO1 : 受信 FIFO FIFO2 : FBYTE2, FIFO1 : FBYTE1 • FIFO バイトレジスタ (FBYTE) の転送数の初期値は "08H" です。 • 受信 FIFO の FBYTE に受信割込みフラグを発生させるデータ数を設定します。その 設定された転送数と FIFO バイトレジスタ (FBYTE) のデータ表示が一致すると割込 みフラグ (RDRF) が "1" にセットされます。 • 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数 が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以 上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 , RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信 FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま す。 358 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.11 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) のレジスタ • マスタ動作で , データを受信する場合 ( マスタ受信 ), TIE ビットと TBIE ビットを "0" MB91313A シリーズ にし送信 FIFO の FBYTE レジスタに受信データ数を設定し , FDRQ ビットに "0" を 書きます。その後 , TXE ビットが "1" のとき設定データ分のシリアルクロックが出 力され , 設定値分データを受信することができます。TIE ビット , TBIE ビットに "1" を設定したい場合には FDRQ が "1" になった後に "1" に設定してください。 <注意事項> • マスタ動作で , データを受信するとき以外 , 送信 FIFO の FBYTE には "00H" を設定し てください。 • マスタ動作でデータを受信するときの送信データ数の設定は送信FIFOがエンプティで TIE ビット , TBIE ビットが "0" のときに行ってください。 • マスタ動作でデータを受信中に受信禁止 (RXE=0) にする場合には , 送信 FIFO を禁止 にしてから送受信を禁止にしてください。 • 受信 FIFO の FBYTE には "1" 以上のデータを設定してください。 • 受信 FIFO の FBYTE の変更は受信を禁止してから変更してください。 • 本レジスタはリードモディファイライト (RMW) 系命令を使用することはできません。 • FIFO 容量を超えた設定は禁止です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 359 第 15 章 マルチファンクション シリアルインタフェース 15.12 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の割込み 15.12 MB91313A シリーズ CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の割込み CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の割込みには , 受信割込みと送信割込みがあり , 次に示す要因で割込み要求を発生させることがで きます。 • 受信データが受信データレジスタ (RDR) にセットされた場合または受信エラーが 発生した場合 • 送信データが送信データレジスタ (TDR) から送信用シフトレジスタに転送され , 送信が開始された場合 • 送信バスアイドル ( 送信動作なし ) • 送信 FIFO データ要求 ■ CSIO の割込み CSIO の割込み制御ビットと割込み要因は表 15.12-1 のようになっています。 表 15.12-1 CSIO の割込み制御ビットと割込み要因 割込み の種類 割込み要求 フラグ フラグ レジスタ ビット 割込み要因 割込み要因 許可ビット 1 バイト受信 割込み要求 フラグのクリア 受信データ (RDR) の読出し FBYTE 設定値分受信 RDRF SSR ORE SSR 受信 TDRE SSR FRIIE ビットが "1" で受 信 FIFO に有効なデータ SCR:RIE が存在した状態で 8 ビット時間以上の受信 アイドル状態検出 オーバランエラー 受信エラーフラグクリアビット (SSR:REC) への "1" 書込み 送信レジスタが エンプティ SCR:TIE 送信データ (TDR) への書込み , また は送信 FIFO 動作許可ビットが "0" で 送信 FIFO に有効なデータが存在し ているときに送信 FIFO 動作許可 ビットへの "1" 書込み ( 送信再送 ) * 送信動作なし 送信データ (TDR) への書込み , また は送信 FIFO 動作許可ビットが "0" で SCR:TBIE 送信 FIFO に有効なデータが存在し ているときに送信 FIFO 動作許可 ビットへの "1" 書込み ( 送信再送 ) * 送信 TBI SSR FDRQ FCR1 受信 FIFO がエンプティになるまで の受信データ (RDR) の読出し FIFO 送信データ要求ビット FCR1:FTIE 送信 FIFO がエンプティ (FCR1:FDRQ) への "0" 書込みまたは送信 FIFO がフル *: TDRE ビットが "0" になってから TIE ビットを "1" にしてください。 360 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.12 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の割込み MB91313A シリーズ 受信割込み発生とフラグセットのタイミング 15.12.1 受信時の割込みとしては , 受信完了 (SSR:RDRF) および受信エラーの発生 (SSR : ORE) があります。 ■ 受信割込み発生とフラグセットのタイミング 最 終デー タビ ット が検 出さ れる こと によ り , 受 信デ ータ は受 信デー タレ ジス タ (RDR) に格納されます。受信が完了したとき (SSR:RDRF=1) または受信エラーが発 生 (SSR:ORE=1) すると各フラグがセットされます。そのとき , 受信割込みが許可 (SSR:RIE=1) されていると受信割込みが発生します。 <注意事項> 受信エラーが発生した場合は , 受信データレジスタ (RDR) のデータは無効となります。 図 15.12-1 受信動作とフラグセットのタイミング SCK D0 SIN D1 D2 D3 D4 D5 D6 D7 受信データ サンプリング RDRF 受信割込み発生 (注意事項) 図は, 以下の条件でのタイミングを表しています。 SCR :MS=1, SPI=0 ESCR :L2~L0=000B SMR : SCINV=0, BDS=0, SCKE=0, SOE=0 図 15.12-2 ORE( オーバランエラー ) フラグセットタイミング SCK SIN D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 受信データ サンプリング RDRF ORE (注意事項) 図は, 以下の条件でのタイミングを表しています。 SCR :MS=1, SPI=0 ESCR :L2~L0=000B SMR : SCINV=0, BDS=0, SCKE=0, SOE=0 オーバランエラー発生 受信データが読み出される前に (RDRF=1), 次のデータが転送されるとオーバランエ ラーが発生します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 361 第 15 章 マルチファンクション シリアルインタフェース 15.12 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の割込み 15.12.2 MB91313A シリーズ 受信 FIFO 使用時の割込み発生とフラグセットのタイ ミング 受信 FIFO 使用時の割込みは , FIFO バイトレジスタ (FBYTE) の設定値分受信すると 発生します。 ■ 受信 FIFO 使用時の受信割込み発生とフラグセットのタイミング 受信 FIFO 使用時の割込み発生は , FIFO バイトレジスタ (FBYTE) の設定値によって決 定されます。 • FIFO バイトレジスタ (FBYTE) の転送数設定分のデータを受信するとシリアルス テータスレジスタの受信データフルフラグ (SSR:RDRF) が "1" にセットされます。こ のとき , 受信割込み許可 (SCR:RIE) されていると受信割込みを発生します。 • 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数 が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以 上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 , RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信 FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま す。 • 受信 FIFO がエンプティになるまで受信データ (RDR) を読み出すと , 受信データフ ルフラグ (SSR:RDRF) はクリアされます。 • 受信有効データ数表示が FIFO 容量を示した状態で , 次のデータを受信するとオーバ ランエラー (SSR:ORE=1) が発生します。 図 15.12-3 受信 FIFO 使用時の受信割込み発生タイミング SCK 受信データ 1バイト目 2バイト目 3バイト目 FIFOバイト(受信) 有効バイト表示 4バイト目 5バイト目 6バイト目 7バイト目 3 0 1 2 3 2 1 0 1 2 3 2 1 0 1 RDRF RDRの読出し FIFOバイト設定(転送数)と受信データ数が 一致したことにより割込み発生 362 全受信データを読出し FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.12 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の割込み 図 15.12-4 ORE ( オーバランエラー ) フラグビットのセットタイミング MB91313A シリーズ SCK 1バイト目 受信データ 2バイト目 3バイト目 5バイト目 6バイト目 7バイト目 60 FIFOバイト(受信) 有効バイト表示 4バイト目 59 60 61 62 63 64 RDRF ORE FIFOバイト(受信)設定数+1と受信データ数が 一致したことにより割込み発生 オーバランエラー発生 FIFO 表示が FIFO 容量を示した状態で , 次のデータを受信すると , オーバランエラーが 発生します。 図 15.12-4 は , 64 バイトの FIFO 容量を使用した場合を示しています。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 363 第 15 章 マルチファンクション シリアルインタフェース 15.12 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の割込み 15.12.3 MB91313A シリーズ 送信割込み発生とフラグセットのタイミング 送信時の割込みとしては , 送信データが送信データレジスタ (TDR) から送信用シフ トレジスタに転送され (SSR : TDRE=1), 送信が開始された場合と送信動作をしてい ないとき (SSR : TBI=1) に発生します。 ■ 送信割込み発生とフラグセットのタイミング ● 送信データエンプティフラグ (TDRE) のセットタイミング 送信データレジスタ (TDR) に書き込まれたデータが送信シフトレジスタに転送される と次のデータの書込みが可能な状態 (SSR:TDRE=1) になります。そのとき , 送信割込み が許可 (SCR:TIE=1) されていると , 送信割込みが発生します。TDRE ビットはリードオ ンリビットなので , 送信データレジスタ (TDR) へのデータ書込みにより "0" にクリアさ れます。 図 15.12-5 送信データエンプティフラグ (TDRE) のセットタイミング SCK 送信データ D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 TDRE TDRへの書込み 送信割込み発生 ● 送信バスアイドルフラグ (TBI) のセットタイミング 送信データレジスタがエンプティ (TDRE=1) で送信動作をしていないとき , SSR : TBI ビットは"1"にセットされます。このとき, 送信バスアイドル割込み許可 (SCR : TBIE=1) されていると , 送信割込みが発生します。送信データレジスタ (TDR) に送信データを セットすると TBI ビットおよび送信割込み要求はクリアされます。 図 15.12-6 送信バスアイドルフラグ (TBI) のセットタイミング SCK 送信データ D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 TBI TDRE TDRへの 書込み 364 バスアイドルによる 送信割込み発生 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.12 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の割込み MB91313A シリーズ 15.12.4 送信 FIFO 使用時の割込み発生とフラグセットの タイミング 送信 FIFO 使用時の割込みは , 送信 FIFO にデータが存在しないときに発生します。 ■ 送信 FIFO 使用時の送信割込み発生とフラグセットのタイミング • 送信 FIFO にデータが存在しない場合 , FIFO 送信データ要求ビット (FCR1 : FDRQ) が "1" にセットされます。 このとき , FIFO 送信割込み許可 (FCR1 : FTIE=1) されていると送信割込みが発生し ます。 • 送信割込みが発生して送信 FIFO に必要なデータを書き込んだら , FIFO 送信データ 要求ビット (FCR1 : FDRQ) に "0" を書き込んで割込み要求をクリアしてください。 • 送信 FIFO がフルになると FIFO 送信データ要求ビット (FCR1:FDRQ) は "0" になり ます。 • 送信 FIFO のデータの存在は , FIFO バイトレジスタ (FBYTE) を読み出すことで確認 できます。 FBYTE=00H のときは , 送信 FIFO にデータが存在していないことを示します。 図 15.12-7 送信 FIFO 使用時の送信割込み発生タイミング SCK 送信データ FIFOバイト表示 1バイト目 0 1 2 1 2バイト目 0 1 3バイト目 4バイト目 0 FDRQ TDRE “0”書込みでクリア 送信割込み発生 *1 送信FIFO へ書込み 送信バッファがエンプティ*2 TXE *1: 送信FIFOがエンプティのため,FDRQ=1にセットされる *2: 送信バッファレジスタにデータが存在しないため,TDRE=1にセットされる CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 365 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 MB91313A シリーズ CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 15.13 転送方式はクロック同期式となります。 ■ CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の動作 (1) ノーマル転送 ( Ⅰ ) ● 特長 項目 説明 1 シリアルクロック (SCK) のマークレベル "H" 2 送信データ出力タイミング SCK の立下りエッジ 3 受信データのサンプリング SCK の立上りエッジ 4 データ長 5 ビット∼ 9 ビット ● レジスタ設定 ノーマル転送 ( Ⅰ ) に必要なレジスタの設定値を以下に示します。 表 15.13-1 ノーマル転送 ( Ⅰ ) レジスタ設定 SCR/ SMR SSR/ ESCR bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 UPCL MS SPI RIE TIE TBIE RXE TXE MD2 MD1 MD0 WUCR SCINV BDS 0 1/0 0 * * * * * 0 1 0 0 0 REC − − − TBI SOP − − − 0 − − − − 0 − − − D8 D7 D6 − * * TDR/ RDR BGR1/ BGR0 ORE RDRF TDRE − − − bit4 bit3 bit2 bit1 bit0 SCKE SOE * 1/0 1/0 − L2 L1 L0 − − * * * D5 D4 D3 D2 D1 D0 * * * * * * * − B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 − * * * * * * * * * * * * * * * 1 : "1" を設定 0 : "0" を設定 * : ユーザが決める設定 <注意事項> 上記ビットの設定値 (1/0) は , マスタ動作 , スレーブ動作で異なります。以下のように設定 してください。 マスタ送信時 マスタ受信時 スレーブ送信時 スレーブ受信時 366 : SCR:MS=0, SMR:SCKE=1, SOE=1 : SCR:MS=0, SMR:SCKE=1, SOE=0 : SCR:MS=1, SMR:SCKE=0, SOE=1 : SCR:MS=1, SMR:SCKE=0, SOE=0 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 ノーマル転送 ( Ⅰ ) タイミングチャート MB91313A シリーズ ● 1バイト目 ●送信動作 2バイト目 SCK SOUT D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 TDRE TDR RW TXE ●受信動作 SIN D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 Sampling RDRF RDR RD RXE ● 動作説明 [1] マスタ動作 (SCR:MS=0, SMR:SCKE=1 に設定します ) • 送信動作 ① シリアルデータ出力許可 (SMR:SOE=1), 送信動作許可 (SCR:TXE=1) および受信 動作禁止 (SCR:RXE=0) にし , TDR に送信データを書き込むと , SSR:TDRE=0 と なりシリアルクロック (SCK) 出力の立下りエッジに同期して , 送信データを出力 します。 ② 最初の 1 ビット目の送信データが出力されると , SSR:TDRE=1 となり , 送信割込 み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ イト目の送信データを書き込むことができます。 • 受信動作 ① シリアルデータ出力禁止 (SMR:SOE=0), 送信動作許可 (SCR:TXE=1) および受信 動作許可 (SCR:RXE=1) にし , TDR にダミーデータを書き込むとシリアルクロッ ク出力 (SCK) の立上りエッジで 受信データをサンプリングします。 ② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ れていると 受信割込み要求を出力します。 このとき , 受信データ (RDR) を読み出すことができます。 ③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。 <注意事項> • 受信動作のみを行う場合 , シリアルクロック (SCK) を出力させるために TDR にダミー データを書いてください。 • 送受信 FIFO 許可時は , 転送させたいフレーム分 FIFO バイトレジスタ (FBYTE) に設定 することで , 設定値分のフレームのシリアルクロック (SCK) が出力されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 367 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 [2] スレーブ動作 (SCR:MS=1, SMR:SCKE=0 に設定します ) MB91313A シリーズ • 送信動作 ① シリアルデータ出力許可 (SMR:SOE=1) および送信動作許可 (SCR:TXE=1) にし , TDR に送信データを書き込むと SSR:TDRE=0 となり , シリアルクロック (SCK) 入力の立下りエッジに同期して送信データを出力します。 ② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込 み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ イト目の送信データを書き込むことができます。 • 受信動作 ① シリアルデータ出力禁止 (SMR:SOE=0) および受信動作許可 (SCR:RXE=1) にする と , シリアルクロック入力 (SCK) の立上りエッジで受信データをサンプリングし ます。 ② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ れていると受信割込み要求を出力します。 このとき , 受信データ (RDR) を読み出すことができます。 ③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。 368 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 (2) ノーマル転送 ( Ⅱ ) ● 特長 項目 説明 1 シリアルクロック (SCK) のマークレベル "L" 2 送信データ出力タイミング SCK の立上りエッジ 3 受信データのサンプリング SCK の立下りエッジ 4 データ長 5 ビット∼ 9 ビット ● レジスタ設定 ノーマル転送 ( Ⅱ ) に必要なレジスタの設定値を以下に示します。 表 15.13-2 ノーマル転送 ( Ⅱ ) レジスタ設定 SCR/ SMR SSR/ ESCR bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 UPCL MS SPI RIE TIE TBIE RXE TXE MD2 MD1 MD0 WUCR SCINV BDS 0 1/0 0 * * * * * 0 1 0 0 1 REC − − − ORE TBI SOP − − − 0 − − − − − 0 − − − D8 D7 D6 − * * TDR/ RDR BGR1/ BGR0 RDRF TDRE − − bit4 bit3 bit2 bit1 bit0 SCKE SOE * 1/0 1/0 − L2 L1 L0 − − * * * D5 D4 D3 D2 D1 D0 * * * * * * * − B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 − * * * * * * * * * * * * * * * 1 : "1" を設定 0 : "0" を設定 * : ユーザが決める設定 <注意事項> 上記ビットの設定値 (1/0) は , マスタ動作 , スレーブ動作で異なります。以下のように設定 してください。 マスタ送信時 マスタ受信時 スレーブ送信時 スレーブ受信時 CM71-10143-5 : SCR:MS=0, SMR:SCKE=1, SOE=1 : SCR:MS=0, SMR:SCKE=1, SOE=0 : SCR:MS=1, SMR:SCKE=0, SOE=1 : SCR:MS=1, SMR:SCKE=0, SOE=0 FUJITSU SEMICONDUCTOR LIMITED 369 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 ● ノーマル転送 ( Ⅱ ) タイミングチャート 1バイト目 ●送信動作 MB91313A シリーズ マークレベル 2バイト目 SCK SOUT D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 TDRE TDR RW TXE ●受信動作 SIN D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 Sampling RDRF RDR RD RXE ● 動作説明 [1] マスタ動作 (SCR:MS=0, SMR:SCKE=1 に設定します ) • 送信動作 ① シリアルデータ出力許可 (SMR:SOE=1), 送信動作許可 (SCR:TXE=1) および受信 動作禁止 (SCR:RXE=0) にし , TDR に送信データを書き込むと , SSR:TDRE=0 と なりシリアルクロック (SCK) 出力の立上りエッジに同期して , 送信データを出力 します。 ② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込 み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ イト目の送信データを書き込むことができます。 • 受信動作 ① シリアルデータ出力禁止 (SMR:SOE=0), 送信動作許可 (SCR:TXE=1) および受信 動作許可 (SCR:RXE=1) にし , TDR にダミーデータを書き込むとシリアルクロッ ク出力 (SCK) の立下りエッジで , 受信データをサンプリングします。 ② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ れていると受信割込み要求を出力します。 このとき , 受信データ (RDR) を読み出すことができます。 ③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。 <注意事項> • 受信動作のみを行う場合 , シリアルクロック (SCK) を出力させるために TDR にダミー データを書いてください。 • 送受信 FIFO 許可時 , 転送させたいフレーム分 FIFO バイトレジスタ (FBYTE) に設定す ることで , 設定値分のフレームのシリアルクロック (SCK) が出力されます。 370 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 [2] スレーブ動作 (SCR:MS=1, SMR:SCKE=0 に設定します ) MB91313A シリーズ • 送信動作 ① シリアルデータ出力許可 (SMR:SOE=1) および送信動作許可 (SCR:TXE=1) にし , TDR に送信データを書き込むと SSR:TDRE=0 となり , シリアルクロック (SCK) 入力の立上りエッジに同期して送信データを出力します。 ② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込 み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ イト目の送信データを書き込むことができます。 • 受信動作 ① シリアルデータ出力禁止 (SMR:SOE=0) および受信動作許可 (SCR:RXE=1) にする と , シリアルクロック入力 (SCK) の立下りエッジで受信データをサンプリングし ます。 ② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ れていると受信割込み要求を出力します。 このとき , 受信データ (RDR) を読み出すことができます。 ③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 371 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 MB91313A シリーズ (3) SPI 転送 ( Ⅰ ) ● 特長 項目 説明 1 シリアルクロック (SCK) のマークレベル "H" 2 送信データ出力タイミング SCK の立上りエッジ 3 受信データのサンプリング SCK の立下りエッジ 4 データ長 5 ビット∼ 9 ビット ● レジスタ設定 SPI 転送 ( Ⅰ ) に必要なレジスタの設定値を以下に示します。 表 15.13-3 SPI 転送 ( Ⅰ ) レジスタ設定 SCR/ SMR SSR/ ESCR bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 UPCL MS SPI RIE TIE TBIE RXE TXE MD2 MD1 MD0 WUCR SCINV BDS 0 1/0 1 * * * * * 0 1 0 0 0 REC − − − ORE TBI SOP − − − 0 − − − − − 0 − − − D8 D7 D6 − * * TDR/ RDR BGR1/ BGR0 RDRF TDRE − − bit4 bit3 bit2 bit1 bit0 SCKE SOE * 1/0 1/0 − L2 L1 L0 − − * * * D5 D4 D3 D2 D1 D0 * * * * * * * − B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 − * * * * * * * * * * * * * * * 1 : "1" を設定 0 : "0" を設定 * : ユーザが決める設定 <注意事項> 上記ビットの設定値 (1/0) は , マスタ動作 , スレーブ動作で異なります。以下のように設定 してください。 マスタ送信時 マスタ受信時 スレーブ送信時 スレーブ受信時 372 : SCR:MS=0, SMR:SCKE=1, SOE=1 : SCR:MS=0, SMR:SCKE=1, SOE=0 : SCR:MS=1, SMR:SCKE=0, SOE=1 : SCR:MS=1, SMR:SCKE=0, SOE=0 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 SPI 転送 ( Ⅰ ) タイミングチャート MB91313A シリーズ ● 1バイト目 ●送信動作 SCK 2バイト目 *A SOUT D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D3 D4 D5 D6 D7 TDRE TDR RW TXE ●受信動作 SIN D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 Sampling RDRF RDR RD RXE *A:スレーブ送信時(MS=1, SCKE=0, SOE=1)、TDRに書いてから 4マシンサイクル以上の時間が必要。 ● 動作説明 [1] マスタ動作 (SCR:MS=0, SMR:SCKE=1 に設定します ) • 送信動作 ① シリアルデータ出力許可 (SMR:SOE=1), 送信動作許可 (SCR:TXE=1) および受信 動作禁止 (SCR:RXE=0) にし , TDR に送信データを書き込むと , SSR:TDRE=0 と なり 1 ビット目が出力されます。その後 , シリアルクロック (SCK) 出力の立上り エッジに同期して , 送信データを出力します。 ② 最初のシリアルクロックの立下りエッジの半サイクル前で SSR:TDRE=1 となり , 送信割込み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このと き , 2 バイト目の送信データを書き込むことができます。 • 受信動作 ① シリアルデータ出力禁止 (SMR:SOE=0), 送信動作許可 (SCR:TXE=1) および受信 動作許可 (SCR:RXE=1) にし , TDR にダミーデータを書き込むとシリアルクロッ ク出力 (SCK) の立下りエッジで 受信データをサンプリングします。 ② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ れていると受信割込み要求を出力します。 このとき , 受信データ (RDR) を読み出すことができます。 ③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 373 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 MB91313A シリーズ <注意事項> • 受信動作のみを行う場合 , シリアルクロック (SCK) を出力させるために TDR にダミー データを書いてください。 • 送受信 FIFO 許可時 , 転送させたいフレーム分 FIFO バイトレジスタ (FBYTE) に設定す ることで , 設定値分のフレームのシリアルクロック (SCK) が出力されます。 [2] スレーブ動作 (SCR:MS=1, SMR:SCKE=0 に設定します ) • 送信動作 ① シリアルデータ出力許可 (SMR:SOE=1) および送信動作許可 (SCR:TXE=1) にし , TDR に送信データを書き込むと SSR:TDRE=0 となり 1 ビット目が出力されます。 その後 , シリアルクロック (SCK) 出力の立上りエッジに同期して , 送信データを 出力します。 ② 最初のシリアルクロックの立下りエッジの半サイクル前で , SSR:TDRE=1 となり , 送信割込み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このと き , 2 バイト目の送信データを書き込むことができます。 • 受信動作 ① シリアルデータ出力禁止 (SMR:SOE=0) および受信動作許可 (SCR:RXE=1) にする と , シリアルクロック入力 (SCK) の立下りエッジで受信データをサンプリングし ます。 ② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ れていると受信割込み要求を出力します。 このとき , 受信データ (RDR) を読み出すことができます。 ③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。 374 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 (4) SPI 転送 ( Ⅱ ) ● 特長 項目 説明 1 シリアルクロック (SCK) のマークレベル "L" 2 送信データ出力タイミング SCK の立下りエッジ 3 受信データのサンプリング SCK の立上りエッジ 4 データ長 5 ビット∼ 9 ビット ● レジスタ設定 SPI 転送 ( Ⅱ ) に必要なレジスタの設定値を以下に示します。 表 15.13-4 SPI 転送 ( Ⅱ ) レジスタ設定 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 SCR/ SMR UPCL MS SPI RIE TIE TBIE RXE TXE MD2 MD1 MD0 WUCR SCINV BDS 0 1/0 1 * * * * * 0 1 0 0 1 SSR/ ESCR REC − − − ORE TBI SOP − − − 0 − − − − − 0 − − − D8 D7 D6 − * * TDR/ RDR BGR1/ BGR0 RDRF TDRE − − bit4 bit3 bit2 bit1 bit0 SCKE SOE * 1/0 1/0 − L2 L1 L0 − − * * * D5 D4 D3 D2 D1 D0 * * * * * * * − B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 − * * * * * * * * * * * * * * * 1 : "1" を設定 0 : "0" を設定 * : ユーザが決める設定 <注意事項> 上記ビットの設定値 (1/0) は , マスタ動作 , スレーブ動作で異なります。以下のように設定 してください。 マスタ送信時 マスタ受信時 スレーブ送信時 スレーブ受信時 CM71-10143-5 : SCR:MS=0, SMR:SCKE=1, SOE=1 : SCR:MS=0, SMR:SCKE=1, SOE=0 : SCR:MS=1, SMR:SCKE=0, SOE=1 : SCR:MS=1, SMR:SCKE=0, SOE=0 FUJITSU SEMICONDUCTOR LIMITED 375 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 ● SPI 転送 ( Ⅱ ) タイミングチャート 1バイト目 ●送信動作 SCK MB91313A シリーズ 2バイト目 *A SOUT D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 TDRE TDR RW TXE ●受信動作 SIN D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 Sampling RDRF RDR RD RXE *A:スレーブ送信時(MS=1, SCKE=0, SOE=1)、TDRに書いてから 4マシンサイクル以上の時間が必要。 ● 動作説明 [1] マスタ動作 (SCR:MS=0, SMR:SCKE=1 に設定します ) • 送信動作 ① シリアルデータ出力許可 (SMR:SOE=1), 送信動作許可 (SCR:TXE=1) および受信 動作禁止 (SCR:RXE=0) にし , TDR に送信データを書き込むと SSR:TDRE=0 とな り , シリアルクロック (SCK) 出力の立下りエッジに同期して送信データを出力し ます。 ② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込 み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ イト目の送信データを書き込むことができます。 • 受信動作 ① シリアルデータ出力禁止 (SMR:SOE=0), 送信動作許可 (SCR:TXE=1) および受信 動作許可 (SCR:RXE=1) にし , TDR にダミーデータを書き込むとシリアルクロッ ク出力 (SCK) の立上りエッジで受信データをサンプリングします。 ② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ れていると受信割込み要求を出力します。 このとき , 受信データ (RDR) を読み出すことができます。 ③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。 376 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.13 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) の動作 <注意事項> • 受信動作のみを行う場合 , シリアルクロック (SCK) を出力させるために TDR にダミー データを書いてください。 • 送受信 FIFO 許可時 , 転送させたいフレーム分 FIFO バイトレジスタ (FBYTE) に設定す ることで , 設定値分のフレームのシリアルクロック (SCK) が出力されます。 [2] スレーブ動作 (SCR:MS=1, SMR:SCKE=0 に設定します ) • 送信動作 ① シリアルデータ出力許可 (SMR:SOE=1) および送信動作許可 (SCR:TXE=1) にし , TDR に送信データを書き込むと SSR:TDRE=0 となり , シリアルクロック (SCK) 出力の立下りエッジに同期して送信データを出力します。 ② 最初の 1 ビット目の送信データが出力されると SSR:TDRE=1 となり , 送信割込 み許可 (SCR:TIE=1) されていると送信割込み要求を出力します。このとき , 2 バ イト目の送信データを書き込むことができます。 • 受信動作 ① シリアルデータ出力禁止 (SMR:SOE=0) および受信動作許可 (SCR:RXE=1) にする と , シリアルクロック入力 (SCK) の立上りエッジで受信データをサンプリングし ます。 ② 最後のビットを受信すると SSR:RDRF=1 となり , 受信割込み許可 (SCR:RIE=1) さ れていると受信割込み要求を出力します。 このとき , 受信データ (RDR) を読み出すことができます。 ③ 受信データ (RDR) を読み出すと , SSR:RDRF は "0" にクリアされます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 377 第 15 章 マルチファンクション シリアルインタフェース 15.14 CSIO 専用ボーレートジェネレータ 15.14 MB91313A シリーズ CSIO 専用ボーレートジェネレータ CSIO 専用ボーレートジェネレータは , マスタ動作時のみ機能します。ただし , 受信 FIFO を使用する場合にはスレーブ動作時でも専用ボーレートジェネレータを設定し てください。 ■ CSIO (クロック同期マルチファンクションシリアルインタフェース)ボーレート選 択 専用ボーレートジェネレータの設定は , マスタ動作時とスレーブ動作時では異なりま す。 ● マスタ動作時 専用ボーレートジェネレータで内部クロックを分周させてボーレートを選択します。 - 2 つの内部リロードカウンタがあり , それぞれ送受信シリアルクロックに対応し ています。ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) で 15 ビットのリ ロード値を設定することにより , ボーレートを選択できます。 - リロードカウンタは設定された値で内部クロックを分周します。 ● スレーブ動作時 スレーブ動作時 (SCR:MS=1) は , 専用ボーレートジェネレータは機能しません ( クロック入力端子 SCK から入力された外部クロックを直接使用します )。 <注意事項> 受信 FIFO を使用する場合にはスレーブ動作時でも専用ボーレートジェネレータを設定し てください。 378 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.14 CSIO 専用ボーレートジェネレータ ボーレート設定 15.14.1 ボーレートの設定を示します。また , シリアルクロック周波数の計算結果を示します。 ■ ボーレートの計算 2つの15ビットリロードカウンタは, ボーレートジェネレータレジスタ1, 0 (BGR1/BGR0) で設定します。 ボーレートの計算式を以下に示します。 (1) リロード値 V=φ/b−1 V : リロード値 , b : ボーレート , φ : マシンクロック周波数 (2) 計算例 マシンクロック 16MHz, 内部クロック使用 , ボーレート 19200bps に設定する場 合のリロード値は , 次のようになります。 リロード値 : V = (16 × 1000000)/19200 − 1 = 832 よって , ボーレートは , b = (16 × 1000000)/(832 + 1) = 19208 bps (3) ボーレートの誤差 ボーレートの誤差は次の式によって求められます。 誤差 (%) = ( 計算値 - 目標値 )/ 目標値 × 100 ( 例 ) マシンクロック 20MHz, 目標ボーレート 153600bps に設定する場合 リロード値 = (20 × 1000000)/153600 − 1 = 129 ボーレート ( 計算値 ) = (20 × 1000000)/(129 + 1) = 153846 (bps) 誤 差 (%) = (153846 − 153600)/153600 × 100 = 0.16 (%) <注意事項> • リロード値を "0" に設定するとリロードカウンタは停止します。 • リロード値が偶数の場合 , シリアルクロックの "H" 幅と "L" 幅は SCINV ビットの設定 によって以下のようになります。奇数の場合 , シリアルクロックの "H" 幅と "L" 幅は同 じになります。 SCINV=0 のとき , シリアルクロックの "H" 幅がマシンクロック 1 サイクル分長くなり ます。 SCINV=1 のとき , シリアルクロックの "L" 幅がマシンクロック 1 サイクル分長くなり ます。 • リロード値は 3 以上を設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 379 第 15 章 マルチファンクション シリアルインタフェース 15.14 CSIO 専用ボーレートジェネレータ MB91313A シリーズ ■ 各マシンクロック周波数に対するリロード値とボーレート 表 15.14-1 リロード値とボーレート ボーレート (bps) 8 MHz 10 MHz 16 MHz 20 MHz 24 MHz 32MHz Value ERR Value ERR Value ERR Value ERR Value ERR Value ERR 8M − − − − − − − − 0 − − − − − − − − − − − 4M − − 4 0 − 5 − 0 − 7 − 0 2M − 3 − 0 − 0 − 0 2.5M − 3 − 3 − 0 − 5M − 3 − 0 3 6M − 3 4 0 − 7 − 0 − 9 − 0 − 11 − 0 − 15 − 0 1M 7 0 9 0 15 0 19 0 23 0 31 0 500000 15 0 19 0 31 0 39 0 47 0 63 0 460800 − 31 − 0 − 39 − 0 − 63 − 0 − 79 − 0 51 − 0.16 250000 95 0 − 127 − 0 230400 − − − − − − − − 103 − 0.16 − − 153600 51 − 0.16 64 − 0.16 103 − 0.16 129 − 0.16 155 − 0.16 207 − 0.16 125000 63 0 79 0 127 0 159 0 191 0 255 0 115200 68 − 0.64 86 0.22 138 0.08 173 0.22 207 − 0.16 277 0.08 76800 103 − 0.16 129 − 0.16 207 − 0.16 259 − 0.16 311 − 0.16 416 0.08 57600 138 0.08 173 0.22 277 0.08 346 − 0.16 416 0.08 555 0.08 38400 207 − 0.16 259 − 0.16 416 0.08 520 0.03 624 0 832 − 0.04 28800 277 0.08 346 < 0.01 554 − 0.01 693 − 0.06 832 − 0.03 1110 − 0.01 19200 416 0.08 520 0.03 832 − 0.03 1041 0.03 1249 0 1666 0.02 10417 767 < 0.01 959 < 0.01 1535 < 0.01 1919 < 0.01 2303 < 0.01 3071 < 0.01 9600 832 0.04 1041 0.03 1666 0.02 2083 0.03 2499 0 3332 − 0.01 7200 1110 < 0.01 1388 < 0.01 2221 < 0.01 2777 < 0.01 3332 < 0.01 4443 − 0.01 4800 1666 0.02 2082 − 0.02 3332 < 0.01 4166 < 0.01 4999 0 6666 < 0.01 2400 3332 < 0.01 4166 < 0.01 6666 < 0.01 8332 < 0.01 9999 0 13332 <− 0.01 1200 6666 < 0.01 8334 0.02 13332 < 0.01 16666 < 0.01 19999 0 26666 < 0.01 600 13332 < 0.01 16666 < 0.01 26666 < 0.01 − − − − − − 300 26666 − − − − − − 26666 < 0.01 − − − ・Value : BGR1/BGR0 レジスタの設定値 ・ERR : ボーレート誤差 (%) 380 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.14 CSIO 専用ボーレートジェネレータ ■ リロードカウンタの機能 リロードカウンタには送信リロードカウンタと受信リロードカウンタがあり , 専用 ボーレートジェネレータとして機能します。リロード値に対する 15 ビットレジスタか ら構成されており , 内部クロックより送受信クロックを生成します。 ■ カウントの開始 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むと , リ ロードカウンタはカウントを開始します。 ■ 再スタート リロードカウンタは下記の条件で再スタートします。 ● 送信 / 受信リロードカウンタ共通 プログラマブルリセット (SCR:UPCL ビット ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 381 第 15 章 マルチファンクション シリアルインタフェース 15.15 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) 設定手順とプログラムフロー 15.15 MB91313A シリーズ CSIO ( クロック同期マルチファンクションシリアルイ ンタフェース ) 設定手順とプログラムフロー CSIO ( クロック同期マルチファンクションシリアルインタフェース ) では , シリア ル双方向同期通信をすることができます。 ■ CPU 間接続 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) では , 双方向通信 を選択します。図 15.15-1 に示すように 2 つの CPU を相互に接続します。 図 15.15-1 CSIO ( クロック同期マルチファンクションシリアルインタフェース ) の 双方向通信の接続例 SOT SOT SIN SIN SCK SCK CPU–1 (マスタ) CPU–2 (スレーブ) ■ フローチャート ● FIFO 未使用時 図 15.15-2 双方向通信フローチャートの例 (FIFO 未使用時 ) (マスタ側) (スレーブ側) スタート スタート 動作フォーマット設定 動作フォーマット設定 (マスタ側と合わせる) データ送信 TDRに1バイトデータを セットして通信 NO RDRF=1 YES NO RDRF=1 YES 受信データ読出しと 処理 382 データ送信 (ANS) 受信データ読出しと 処理 1バイトデータ送信 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ ● FIFO 使用時 第 15 章 マルチファンクション シリアルインタフェース 15.15 CSIO ( クロック同期マルチファンクションシリアルイン タフェース ) 設定手順とプログラムフロー 図 15.15-3 双方向通信フローチャートの例 (FIFO 使用時 ) (マスタ側) (スレーブ側) スタート スタート 動作フォーマット設定 動作フォーマット設定 (マスタ側と合わせる) 送受信FIFO許可 送受信FIFO許可 受信FBYTE設定 受信FBYTE設定 送信FIFOにNバイトを セットし,FDRQビット に"0"書込み データ送信 RDRF=1 YES データ送信 NO RDRF=1 YES NO (ANS) FIFOBYTE設定値分, 読出しと処理 送信FIFOにNバイトを セットし,FDRQビット に"0"書込み FBYTE設定値分, 読出しと処理 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 383 第 15 章 マルチファンクション シリアルインタフェース 15.16 CSIO モードの注意事項 15.16 MB91313A シリーズ CSIO モードの注意事項 CSIO モードの注意事項を下記に示します。 • FIFO 付きチャネルで DMA 転送要求する場合 , FIFO は使用できません。FIFO 動作 禁止の設定としてください。 • DMA 転送要求する場合 , DMA のブロックサイズを 1 回に設定してください。 • マスタ受信およびスレーブ受信時には , データ受信用の DMA 転送と , ダミーデータ 送信用の DMA 転送が必要なため , DMA を 2 チャネル使用する必要があります。 384 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.17 第 15 章 マルチファンクション シリアルインタフェース 15.17 I2C インタフェースの概要 I2C インタフェースの概要 I2C インタフェースは IC 間バスをサポートし , I2C バス上のマスタ / スレーブデバイス として動作します。また , 送信 / 受信 ( 最大 各 16 バイト ) の FIFO を搭載しています。 ■ I2C インタフェースの機能 I2C インタフェースには , 以下の機能があります。 • マスタ / スレーブ送受信機能 • 調停機能 • クロック同期機能 • 伝送方向検出機能 • 反復スタート条件の発生と検出機能 • バスエラー検出機能 • ゼネラルコールアドレッシング機能 • マスタおよびスレーブとしての 7 ビットアドレッシング • 伝送 , およびバスエラー時に割込み発生可能 • 10 ビットアドレッシング機能はプログラムで対応可能 • ノイズフィルタ搭載 ■ FIFO の機能 FIFO には , 以下の機能があります。 • 送受信 FIFO 搭載 ( 最大容量 : 送信 FIFO 16 バイト , 受信 FIFO 16 バイト ) • 送信 FIFO と受信 FIFO を選択可能 • 送信データの再送信が可能 • 受信 FIFO 割込みタイミングをソフトで可変可能 • 独立して FIFO リセットをサポート CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 385 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 15.18 MB91313A シリーズ I2C インタフェースのレジスタ I2C インタフェースのレジスタ一覧を示します。 ■ I2C インタフェースのレジスタ一覧 表 15.18-1 I2C インタフェースのレジスタ一覧 アドレス 00X0H 00X1H I2C FIFO 00X2H 00X4H 00X3H 00X5H 00X6H 00X7H 00X8H 00X9H 00YAH 00YCH 00YBH 00YDH bit15 bit8 bit7 bit0 SMR ( シリアルモードレジスタ ) IBCR (I2C バス制御レジスタ ) SSR ( シリアルステータスレジスタ ) IBSR (I2C バスステータスレジスタ ) RDR/TDR( 送受信データレジスタ ) − BGR1 BGR0 ( ボーレートジェネレータレジスタ 1) ( ボーレートジェネレータレジスタ 0) ISMK IBSA (7 ビットスレーブアドレスマスク (7 ビットスレーブアドレスレジスタ ) レジスタ ) FCR1 (FIFO 制御レジスタ 1) FCR0 (FIFO 制御レジスタ 0) FBYTE2 (FIFO2 バイトレジスタ ) FBYTE1 (FIFO1 バイトレジスタ ) (X=06H, 07H, 08H, 09H, 0AH, 0BH, 1BH, 1CH, 1DH, 1EH, 1FH, Y=06H, 07H, 08H) 表 15.18-2 I2C インタフェースのビット配置 bit15 bit14 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 IBCR/ SMR MSS ACT/ ACKE WSEL CNDE INTE SCC BER INT MD2 MD1 MD0 − RIE TIE SSR/ IBSR REC TSET − − ORE − FBT TRX AL RSC SPC BB TDR1/0 − − − − − − − − D7 D6 D5 D4 D3 D2 D1 D0 BGR1/ BGR0 − B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 ISMK/ ISBA EN SM6 SM5 SM4 SM3 SM2 SM1 SM0 SAEN SA6 SA5 SA4 SA3 SA2 SA1 SA0 FLSTE FRIIE FDRQ FTIE FSEL − FLST FLD FSET FCL2 FCL1 FE2 FE1 FD8 FD7 FD6 FD5 FD4 FD1 FD0 FCR1/ FTST1 FTST0 FCR0 FBYTE2/ FD15 FBYTE1 386 FD14 bit13 − FD13 bit12 FD12 bit11 FD11 RDRF TDRE FD10 FD9 RACK RSA FUJITSU SEMICONDUCTOR LIMITED FD3 FD2 bit1 bit0 ITST1 ITST0 CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ I2C バス制御レジスタ (IBCR) 15.18.1 I2C バス制御レジスタ (IBCR) は , マスタ / スレーブモード選択 , 反復スタート条件の 発生 , アクノリッジ許可 , 割込み許可を設定し , 割込みフラグを表示します。 ■ I2C バス制御レジスタ (IBCR) 図 15.18-1 に I2C バス制御レジスタ (IBCR) のビット構成を , 表 15.18-3 に各ビットの機 能を示します。 図 15.18-1 I2C バス制御レジスタ (IBCR) のビット構成 IBCR bit ch.0 000060H ch.1 000070H ch.2 000080H ch.3 000090H ch.4 0000A0H ch.5 0000B0H ch.6 0001B0H ch.7 0001C0H ch.8 0001D0H ch.9 0001E0H ch.A 0001F0H 15 14 13 12 MSS ACT/SCC ACKE WSEL R/W R/W R/W R/W 11 10 9 CNDE INTE BER INT R/W R/W R R/W R 00000000B 0 1 BER 0 1 バスエラー検出ビット エラーなし エラーを検出 INTE 0 1 割込み許可ビット 割込み禁止 割込み許可 CNDE 0 1 条件検出割込み許可ビット 反復スタートまたはストップ条件割込み禁止 反復スタートまたはストップ条件割込み許可 WSEL 0 1 ウェイト選択ビット アクノリッジ後ウェイト(9ビット) データ送受信完了後ウェイト(8ビット) アクノリッジ許可ビット アクノリッジ禁止 アクノリッジ許可 0 1 動作フラグ/反復スタート条件発生ビット 書込み 読出し 影響しません 動作なし 反復スタート条件発生 I2C動作中 MSS 0 1 マスタ/スレーブ選択ビット スレーブモード選択 マスタモード選択 ACT/SCC :リード/ライト可能 初期値 割込みフラグビット 書込み 読出し INTビットのクリア 割込み要求なし 影響しません 割込み要求あり INT ACKE 0 1 R/W 8 :リードオンリ :初期値 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 387 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 表 15.18-3 I2C バス制御レジスタ (IBCR) の各ビットの機能説明 (1 / 4) ビット名 機能 2 • 本ビットに "1" を設定すると I C バスがアイドル状態 (EN=1, BB=0) のとき , マスタモードとなります。 • IBSR レジスタの BB ビットが "1" のとき , このビットに "1" を設定すると BB ビットが "0" になるまでスタート条件の発生をウェイトします。その ウェイト中にスレーブアドレスが一致してスレーブとして動作する場合に は本ビットは "0" になり , IBSR レジスタの AL ビットが "1" になります。 • マスタ動作中 (MSS=1, ACT=1) で割込みフラグ (INT) が "1" のとき , 本ビッ トに "0" を書き込むとストップ条件が発生します。 MSS ビットは以下の条件でクリアされます。 (1) I2C インタフェースの禁止 (EN ビット =0) (2) アービトレーションロスト発生時 (3) バスエラー検出 (BER ビット =1) bit15 (4) INT=1 のとき , MSS ビットへの "0" 書込み MSS : マスタ / MSS ビットと ACT ビットの関係を以下に示します。 スレーブ 選択 MSS ビット ACT ビット 状態 ビット 0 0 アイドル 0 1 1 0 スレーブアドレス一致または予約アドレスに対し ACK 応答 * し , スレーブ動作中 ( スレーブモード ) マスタ動作待機中 1 1 マスタ動作中 ( マスタモード ) * : ACK 応答 : アクノリッジ区間に I2C バスの SDA が "L" であることを指し ます。 ( 注意事項 ) • MSS ビットが "1" に設定されていて MSS ビットを "0" に変更する場合 , MSS ビット =1, INT ビット =1 のときに行ってください。ACT ビットが "1" のときに MSS ビットに "0" を書き込むと INT ビットも "0" にクリアさ れます。 • マスタ動作中 , MSS ビットに "0" を書いても ACT ビットが "1" の間 , "1" が読み出されます。 388 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 表 15.18-3 I2C バス制御レジスタ (IBCR) の各ビットの機能説明 (2 / 4) ビット名 機能 このビットは , 読出しと書込みで意味が異なります。 bit14 読出し 書込み ACT ビット SCC ビット ACT ビットはマスタモードまたはスレーブモードとして動作していることを 示します。 ACT ビットのセット条件 : (1) スタート条件を I2C バスに出力したとき ( マスタモード ) (2) スレーブアドレスとマスタから送信されたアドレスが一致したとき ( ス レーブモード ) (3) 予約アドレスを検出し , それに対しアクノリッジ応答したとき (MSS=0 のときスレーブモードとなる ) ACT ビットのリセット条件 : <マスタモード> ACT/ (1) ストップ条件検出 SCC : (2) アービトレーションロスト検出 動作 (3) バスエラー検出 フラグ / (4) I2C インタフェースの禁止 (EN ビット =0) 反復 スタート <スレーブモード> (1) ( 反復 ) スタート条件検出 条件発生 (2) ストップ条件検出 ビット (3) 予約アドレス検出状態 (RSA=1) でアクノリッジ応答しなかったとき (4) I2C インタフェースの禁止 (EN ビット =0) (5) バスエラーの発生 (BER ビット =1) マスタモード時 , このビットに "1" を書き込むと反復スタートを実行します。 "0" 書込みは無効です。 ( 注意事項 ) • SCC ビットへの "1" 書込みは , マスタモードの割込み中 (MSS=1, ACT=1, INT=1) に行ってください。ACT ビットが "1" のときに SCC ビットに "1" を書き込むと INT ビットは "0" にクリアされます。 • スレーブモード (MSS=0, ACT=1) 時 , 本ビットに "1" を書くことは禁止で す。 • SCC ビットに "1", MSS ビットに "0" を書いた場合には , MSS ビットが優 先されます。 • リードモディファイライト (RMW) 系命令の読出しは SCC ビットが読み出 されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 389 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 表 15.18-3 I2C バス制御レジスタ (IBCR) の各ビットの機能説明 (3 / 4) ビット名 機能 • 本ビットに "1" を設定するとアクノリッジタイミングで "L" を出力します。 • ACT=1 のときに本ビットを変更する場合 , INT ビットが "1" のときに行って ください。 本ビットは以下の条件では無効となります。 (1) 予約アドレス以外のアドレスフィールドに対するアクノリッジ ( 自動生 成) (2) データ送信時 (RSA=0, TRX=1, FBT=0) (3) 受信 FIFO 許可でスレーブ受信時 (FE=1, MSS=0, ACT=1), 常に ACK 応答 します。 (4) 受信 FIFO 許可 , WSEL が "0", マスタ受信時 (FE=1, MSS=1, ACT=1, WSEL=0), TDRE ビットが "0" のとき ACK 応答し , TDRE ビットが "1" のとき NACK 応答します。(5) 受信 FIFO 許可 , WSEL=0, 予約アドレス 検出してスレーブ送信時 (RSA=1, TRX=1, FBT=1), 常に ACK 応答しま す。NACK 応答させる場合 , 予約アドレス検出後の割込み時 , 受信 FIFO を禁止にし , ACKE=0 にしてください。 (5) 受信 FIFO 許可 , WSEL が "1", マスタ受信で送信データレジスタにデー タがあるとき (FE=1, MSS=1, ACT=1, WSEL=1, TDRE=0) bit13 ACKE : データ バイト アクノ リッジ 許可 ビット bit12 • 本ビットはアクノリッジ前か後のどちらに割込み (INT=1) を発生させ , I2C バスをウェイトさせるか選択するビットです。 • WSEL ビットは以下の条件では無効になります。 (1) 第 1 バイト *1 に対する割込み発生時 (INT=1) WSEL : (2) 予約アドレス検出時 (FBT=1, RSA=1) ウェイト (3) FIFO 使用時のデータ転送途中での NACK 応答 *2 検出時 (FE=1, 選択 RACK=1, ACT=1) ビット (4) 受信 FIFO 使用時 , 受信 FIFO がフルになったとき *1: 第 1 バイト : ( 反復 ) スタート条件後のデータを指します。 *2:NACK 応答 : アクノリッジ期間 I2C バスの SDA が "H" であることを指しま す。 bit11 CNDE : 条件検出 割込み許 可ビット bit10 INTE : マスタモードまたはスレーブモード時 , データ送受信およびバスエラーに対す 割込み許 る割込み (INT=0) を許可するビットです。 可ビット bit9 本ビットは I2C バス上でエラーを検出したことを示します。 BER ビットのセット条件 : (1) 第 1 バイト * 転送中にスタート条件またはストップ条件を検出 (2) 第 2 バイト以降 , データの 2 ∼ 9( アクノリッジ ) ビット目で ( 反復 ) ス タート条件またはストップ条件を検出 BER ビットのリセット条件 : (1) BER=1 のときに INT ビットへの "0" 書込みした場合 (2) I2C インタフェースの禁止 (EN=0) の場合 *: 第 1 バイト : ( 反復 ) スタート条件後のデータを指します。 ( 注意事項 ) 割込みフラグ (INT ビット ) が "1" になったときにこのビットを 確認し , "1" になっていると正常に送受信ができていませんので 再送などの処理を行ってください。 390 BER: バス エラー 検出 ビット マスタモードまたはスレーブモード時 (ACT=1), ストップ条件または反復ス タート条件が検出された場合 , 割込みの発生を許可するビットです。IBSR レ ジスタの RSC または SPC ビットが "1" で本ビットが "1" のときに割込みが発 生します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 表 15.18-3 I2C バス制御レジスタ (IBCR) の各ビットの機能説明 (4 / 4) ビット名 bit8 INT : 割込み フラグ ビット CM71-10143-5 機能 本ビットはマスタモードまたはスレーブモード時 , データ送受信の 8 ビットま たは 9 ビット (ACK) 後 , またはバスエラー時にこのフラグを "1" にセットしま す。バスエラー時以外は , INT ビットが "1" になると SCL を "L" にし , INT ビットが "0" になると SCL の "L" の状態を解除します。 INT ビットのセット条件 : < 8 ビット目> (1) 第 1 バイトで予約アドレス検出した場合 (2) WSEL が "1", 第 2 バイト以降でアービトレーションロストを検出した場合 (3) WSEL が "1", マスタ動作中 , 第 2 バイト以降で TDRE ビットが "1" の場合 (4) WSEL が "1", スレーブ動作中 , 受信 FIFO 禁止 , 第 2 バイト以降で TDRE ビットが "1" の場合 (5) WSEL が "1", スレーブ送信中 , 第 2 バイト以降で TDRE ビットが "1" の 場合 < 9 ビット目> (1) 第 1 バイトでアービトレーションロストを検出した場合 (2) ストップ条件出力設定 ( マスタ動作中の MSS ビットへの 0 書込み ) 時 以外に NACK を受信した場合 (3) 第 1 バイトで予約アドレスを検出せずにマスタモードまたはスレーブ モードの送信方向 (TRX=1) で TDRE ビットが "1" の場合 (4) 第 1 バイトで予約アドレスを検出せずにマスタモードまたはスレーブ モードの受信方向 (TRX=0) で受信 FIFO 許可時に受信 FIFO にデータが ある場合 (5) 第 1 バイトで予約アドレスを検出せずにマスタモードまたはスレーブ モードの受信方向 (TRX=0) で受信 FIFO 禁止時に TDRE ビットが "1" の 場合 (6) WSEL=0 設定時 , 第 2 バイト以降でアービトレーションロストを検出し た場合 (7) WSEL=0 設定時 , マスタモード動作中に第 2 バイト以降で TDRE ビット が "1" の場合 (8) WSEL=0 設定時 , スレーブ送信中に第 2 バイト以降で TDRE ビットが "1" の場合 (9) WSEL=0 設定時 , 受信 FIFO 禁止でスレーブ受信の場合。ただし , 予約 アドレスを検出した第 1 バイトでのスレーブ受信では 9 ビット目では 割込みは発生しません。 (10)受信 FIFO 許可 , スレーブ受信のときに受信 FIFO がフルになった場合 <その他> (1) バスエラー検出 INT ビットのリセット条件 : (1) INT ビットへの "0" 書込み (2) INT ビットが "1", ACT ビットが "1" のときに MSS ビットへの "0" 書込み (3) INT ビットが "1", ACT ビットが "1" のときに SCC ビットへの "1" 書込み INT ビットへの "1" 書込みは無効です。 ( 注意事項 ) • EN ビットを "0" にした場合 , 受信タイミングによっては RDRF ビットと INT ビットが "1" になることがあります。この場合 , 受信データを読み出 し , INT ビットをクリアしてください。 • リードモディファイライト (RMW) 系命令の読出しは "1" が読み出されま す。 • 受信 FIFO 許可時 , マスタ受信動作で受信 FIFO がフルになっても INT ビットには "1" がセットされません。 FUJITSU SEMICONDUCTOR LIMITED 391 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 15.18.2 MB91313A シリーズ シリアルモードレジスタ (SMR) シリアルモードレジスタ (SMR) は , 動作モードの設定 , 送受信割込みの許可 / 禁止 の設定を行います。 ■ シリアルモードレジスタ (SMR) 図 15.18-2 にシリアルモードレジスタ (SMR) のビット構成を , 表 15.18-4 に各ビットの 機能を示します。 図 15.18-2 シリアルモードレジスタ (SMR) のビット構成 SMR bit 7 6 5 4 3 ch.0 000061H MD0 MD2 MD1 - RIE ch.1 000071H ch.2 000081H R/W R/W R/W R/W R/W ch.3 000091H ch.4 0000A1H ch.5 0000B1H ch.6 0001B1H ch.7 0001C1H ch.8 0001D1H ch.9 0001E1H ch.A 0001F1H 2 1 初期値 0 TIE ITST1 ITST0 000-0000B R/W R/W R/W ITST 0 1 I2Cテストビット I2Cテスト禁止 I2Cテスト許可 TIE 0 1 送信割込み許可ビット 送信割込み禁止 送信割込み許可 RIE 0 1 受信割込み許可ビット 受信割込み禁止 受信割込み許可 未使用ビット 読出し時、値は不定です。書込み時、影響しません。 R/W - :リード/ライト可能 :未使用 :初期値 392 MD2 MD1 MD0 動作モード設定ビット 0 0 0 動作モード0(非同期ノーマルモード) 0 0 1 動作モード1(非同期マルチプロセッサモード) 0 1 0 動作モード2(クロック同期モード) 1 0 0 動作モード4(I2Cモード) (注意事項) 本章は、動作モード4のレジスタおよび動作について説明 します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 表 15.18-4 シリアルモードレジスタ (SMR) の各ビットの機能説明 ビット名 機能 動作モードを設定します。 "000B" : 動作モード 0 ( 非同期ノーマルモード ) に設定されます。 "001B" : 動作モード 1 ( 非同期マルチプロセッサモード ) に設定されま す。 "010B" : 動作モード 2 ( クロック同期モード ) に設定されます。 bit7 ∼ bit5 MD2 ∼ MD0 : 動作モード設定 ビット bit4 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 RIE : 受信割込み許可 ビット • CPU への受信割込み要求出力を許可 / 禁止するビットです。 • RIE ビットと受信データフラグビット (RDRF) が "1" の場合 , または エラーフラグビット (ORE) のいずれかが "1" の場合 , 受信割込み要 求を出力します。 ( 注意事項 ) I2C バス制御レジスタ (IBCR) の INT ビットを使用して データを受信する場合 , 本ビットは "0" にしてください。 bit2 TIE : 送信割込み許可 ビット • CPU への送信割込み要求出力を許可 / 禁止するビットです。 • TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求を出力し ます。 ( 注意事項 ) I2C バス制御レジスタ (IBCR) の INT ビットを使用して データを送信する場合 , 本ビットは "0" にしてください。 bit1, bit0 ITST1, ITST0: I2C テストビット I2C テストビットです。 本ビットには必ず "0" を設定してください。 ( 注意事項 ) 本ビットに "1" を設定した場合 , I2C のテストを行います。 bit3 "100B" : 動作モード 4 (I2C モード ) に設定されます。 ( 注意事項 ) • 上記設定以外は禁止です。 • 動作モードを切り換える場合は , I2C 禁止 (ISMK:EN=0) 後 , 動作 モードを切り換えてください。 • 動作モード設定後 , 各レジスタを設定してください。 <注意事項> 動作モードを変更すると , ほかのレジスタは初期化されるので動作モードは最初に設定し てください。ただし , 16 ビット書込みで IBCR と SMR を同時に書き込んだとき , IBCR に は書き込んだ内容が反映されます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 393 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ シリアルステータスレジスタ (SSR) 15.18.3 シリアルステータスレジスタ (SSR) は , 送受信状態の確認を行います。 ■ シリアルステータスレジスタ (SSR) 図 15.18-3 にシリアルステータスレジスタ (SSR) のビット構成を , 表 15.18-5 に各ビッ トの機能を示します。 図 15.18-3 シリアルステータスレジスタ (SSR) のビット構成 SSR bit 15 14 ch.0 000062H REC TSET ch.1 000072H ch.2 000082H R/W R/W ch.3 000092H ch.4 0000A2H ch.5 0000B2H ch.6 0001B2H ch.7 0001C2H ch.8 0001D2H ch.9 0001E2H ch.A 0001F2H 13 12 - - - - 11 10 9 ORE RDRF TDRE R R R 8 初期値 - 00--001-B - 未使用ビット 読出し時、値は不定です。書込み時、影響しません TDRE 送信データエンプティフラグビット 0 送信データレジスタTDRにデータが存在する 送信データレジスタがエンプティ 1 RDRF 受信データフルフラグビット 0 受信データレジスタRDRがエンプティ 1 受信データレジスタRDRにデータが存在する ORE 0 1 オーバランエラーフラグビット オーバランエラーなし オーバランエラーあり 未使用ビット 読出し時、値は不定です。書込み時、影響しません TSET 0 1 REC R/W :リード/ライト可能 R :リードオンリ - :未使用 :初期値 394 0 1 送信データエンプティフラグセットビット 書込み 読出し 影響なし 常に"0"を読出し TDREビットセット 受信エラーフラグクリアビット 書込み 読出し 影響なし 常に"0"を読出し 受信エラーフラグ (ORE)のクリア FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 表 15.18-5 シリアルステータスレジスタ (SSR) の各ビットの機能説明 (1 / 2) ビット名 機能 bit15 REC : 受信エラー フラグクリア ビット シリアルステータスレジスタ (SSR) の ORE ビットをクリアするビット です。 • "1" 書込みで , ORE ビットがクリアされます。 • "0" 書込みは , 影響しません。 読み出した場合 , 常に "0" が読み出されます。 bit14 TSET : 送信バッファ エンプティ フラグセット ビット シリアルステータスレジスタ (SSR) の TDRE ビットをセットするビット です。 • "1" 書込みで , TDRE ビットがセットされます。 • "0" 書込みは , 影響しません。 読み出した場合 , 常に "0" が読み出されます。 bit13, bit12 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 ORE : オーバラン エラーフラグ ビット • 受信時にオーバランが発生すると "1" にセットされ , シリアルステー タスレジスタ (SSR) の REC ビットに "1" を書き込むとクリアされま す。 • ORE ビットと RIE ビットが "1" の場合 , 受信割込み要求を出力します。 • 本フラグがセットされた場合 , 受信データレジスタ (RDR) は無効で す。 • 受信 FIFO 使用時 , 本フラグがセットされた場合には受信データは受信 FIFO に格納されません。 RDRF : 受信データ フルフラグ ビット • 受信データレジスタ (RDR) の状態を示すフラグです。 • RIE ビットと受信データフラグビット (RDRF) が "1" の場合 , 受信割込 み要求を出力します。 • RDR に受信データがロードされると "1" にセットされ , 受信データレ ジスタ (RDR) を読み出すと "0" にクリアされます。 • データの 8 ビット目の SCL 立下りタイミングでセットされます。 • NACK 応答 * でもセットされます。 • 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信したら RDRF が "1" にセットされます。 • 受信 FIFO 使用時は , 受信 FIFO がエンプティになると "0" にクリアされ ます。 • 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信せずに受信 FIFO にデータが残っていて受信アイドル状態が受信ボーレートクロッ クで 8 クロック以上続き , BER ビットが "0" のとき RDRF が "1" に セットされます。8 クロックカウント中 , RDR を読み出すとそのカウ ンタは "0" にリセットされ , 再度 8 クロックをカウントします。 *: NACK 応答 : アクノリッジ期間 I2C バスの SDA が "H" であることを指し ます。 bit11 bit10 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 395 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 表 15.18-5 シリアルステータスレジスタ (SSR) の各ビットの機能説明 (2 / 2) ビット名 396 機能 bit9 TDRE : 送信データ エンプティ フラグビット • 送信データレジスタ (TDR) の状態を示すフラグです。 • TIE ビットと TDRE ビットが "1" の場合 , 送信割込み要求を出力しま す。 • TDR に送信データを書き込むと "0" となり , TDR に有効なデータが存 在していることを示します。データが送信シフトレジスタにロードさ れて送信が開始されると "1" となり , TDR に有効なデータが存在して いないことを示します。 • シリアルステータスレジスタ (SSR) の TSET ビットに "1" を書き込む とセットされます。アービトレーションロスト , バスエラーなどを検 出した場合 , TDRE ビットを "1" にセットしたいときに使用します。 bit8 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 15.18.4 I2C バスステータスレジスタ (IBSR) I2C バスステータスレジスタ (IBSR) は , 反復スタート , アクノリッジ , データ方向 , アービトレーションロスト , ストップ条件 , I2C バス状態 , バスエラーを検出したこ とを示します。 ■ I2C バスステータスレジスタ (IBSR) 図 15.18-4 に I2C バスステータスレジスタ (IBSR) のビット構成を , 表 15.18-6 に各ビッ トの機能を示します。 図 15.18-4 I2C バスステータスレジスタ (IBSR) のビット構成 IBSR bit 7 6 5 ch.0 000063H FBT RACK RSA ch.1 000073H ch.2 000083H R R R ch.3 000093H ch.4 0000A3H ch.5 0000B3H ch.6 0001B3H ch.7 0001C3H ch.8 0001D3H ch.9 0001E3H ch.A 0001F3H 4 3 0 初期値 TRX AL RSC SPC BB 00000000B R R R/W R/W R 2 1 バス状態ビット バスアイドル状態 BB 0 1 バス送受信状態 SPC 0 1 マスタ スレーブ R/W R :リード/ライト可能 ストップ条件確認ビット ストップ条件未検出 ストップ条件検出またはストップ条件出 力時のアービトレーションロスト発生 ストップ条件検出 RSC 0 1 反復スタート条件確認ビット 反復スタート条件未検出 反復スタート条件検出 AL 0 1 アービトレーションロストビット アービトレーションロスト発生なし アービトレーションロスト発生 TRX 0 1 データ方向ビット 受信方向 送信方向 RSA 0 1 予約アドレス検出ビット 予約アドレス未検出 予約アドレス検出 RACK 0 1 アクノリッジフラグビット “L”受信 “H”受信 FBT 0 1 ファーストバイトビット ファーストバイト以外 ファーストバイト送受信中 :リードオンリ :初期値 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 397 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 表 15.18-6 I2C バスステータスレジスタ (IBSR) の各ビットの機能説明 (1 / 3) ビット名 機能 bit7 ファーストバイトを示すビットです。 FBT ビットのセット条件 : (1) ( 反復 ) スタート条件を検出した場合 FBT: FBT ビットのクリア条件 : ファースト (1) 2 バイト目の送受信 バイトビット (2) ストップ条件検出 (3) I2C インタフェースの禁止 (EN ビット =0) (4) バスエラー検出 (BER ビット =1) bit6 ファーストバイト , マスタモード時またはスレーブモード時に受信したア クノリッジをこのビットに示します。 RACK ビットの更新条件 (1) ファーストバイト時のアクノリッジ RACK : (2) マスタモードまたはスレーブモード時のデータのアクノリッジ アクノリッジ フラグビット RACK ビットのクリア条件 (RACK ビット =0) (1) ( 反復 ) スタート条件検出 (2) I2C インタフェースの禁止 (EN ビット =0) (3) バスエラー検出 (BER ビット =1) 本ビットは予約アドレスを検出したことを示すビットです。 RSA ビットのセット条件 (RSA=1) (1) 第 1 バイト目が (0000XXXXB) または (1111XXXXB)。"X" は "0" また bit5 398 は "1" を示します。 RSA ビットのリセット条件 (RSA=0) (1) ( 反復 ) スタート条件検出 (2) ストップ条件検出 (3) I2C インタフェースの禁止 (EN ビット =0) (4) バスエラー検出 (BER ビット =1) 第 1 バイトで RSA ビットが "1" になるとその第 1 バイトの 8 ビット目の RSA : SCL の立下りで , FIFO 許可 , 禁止に関係なく割込みフラグ (INT) を "1" に 予約アドレス して SCL を "L" にします。このとき受信データを読み出し , スレーブとし 検出ビット て動作させる場合には ACKE を "1" に設定し , 割込みフラグ (INT) を "0" に クリアします。その後 , TRX ビットが "0" であれば , スレーブとしてデー タを受信します。途中でデータを受信させない場合には ACKE ビットを "0" にします。それ以降 , データを受信しません。 ( 注意事項 ) • データ転送中に ACKE を "0" にした場合には , ストップ条件または反 復スタート条件を検出するまで ACKE を "1" にすることは禁止です。 • 予約アドレス検出による割込み時 , スレーブ送信を確認した場合 , 受信 FIFO が許可になっていると ACK 応答しますので受信 FIFO を禁止にし ACKE=0 にしてください。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 表 15.18-6 I2C バスステータスレジスタ (IBSR) の各ビットの機能説明 (2 / 3) ビット名 機能 本ビットはデータの方向を示すビットです。 TRX ビットのセット条件 : (1) マスタモードで ( 反復 ) スタート条件を送信 (2) スレーブモードで第 1 バイトの 8 ビット目が "1" の場合 ( スレーブ として送信方向 ) TRX ビットのリセット条件 : (1) アービトレーションロスト発生 (AL=1) (2) スレーブモードでファーストバイトの 8 ビット目が "0" の場合 ( ス レーブとして受信方向 ) (3) マスタモードでファーストバイトの 8 ビット目が "1" の場合 ( マス タとして受信方向 ) (4) ストップ条件検出 (5) マスタモード以外で ( 反復 ) スタート条件検出 (6) I2C インタフェースの禁止 (EN ビット =0) (7) バスエラー検出 (BER ビット =1) bit4 TRX: データ方向 ビット bit3 本ビットはアービトレーションロストを示します。 AL ビットのセット条件 : (1) マスタモード時 , 出力しているデータと受信したデータが異なる場 合 (2) MSS ビットに "1" を設定したが , スレーブとして動作している場合 (3) マスタモード時 , 第 2 バイト目以降のデータの 1 ビット目で反復ス タート条件を検出した場合 (4) マスタモード時 , 第 2 バイト目以降のデータの 1 ビット目でストッ AL: プ条件を検出した場合 アービトレー (5) マスタモード時 , 反復スタート条件を発生させようとして発生でき ションロスト ない場合 ビット (6) マスタモード時 , ストップ条件を発生させようとして発生できない 場合 AL ビットのリセット条件 : (1) MSS ビットへの "1" 書込み (2) INT ビットへの "0" 書込み (3) AL ビット =1, SPC ビット =1 のときに SPC ビットへの "0" 書込み (4) I2C インタフェースの禁止 (EN ビット =0) (5) バスエラー検出 (BER ビット =1) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 399 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 表 15.18-6 I2C バスステータスレジスタ (IBSR) の各ビットの機能説明 (3 / 3) ビット名 機能 bit2 マスタモードまたはスレーブモード時に反復スタート条件を検出したこと を示すビットです。 RSC ビットのセット条件 : (1) スレーブモードまたはマスタモードで動作中にアクノリッジ後 , 反 復スタート条件が検出された場合 RSC ビットのリセット条件 : (1) RSC ビットへの "0" 書込み RSC : (2) MSS ビットへの "1" 書込み 反復スタート (3) I2C インタフェースの禁止 (EN ビット =0) 条件確認 ビット 本ビットへの "1" 書込みは無効となります。 ( 注意事項 ) • 予約アドレス検出によってスレーブモードとして受信動作中 , アクノ リッジ応答しなかった場合 , スレーブモードを終了しますので次に反 復スタート条件を検出しても本ビットに "1" はセットされません。 • リードモディファイライト (RMW) 系命令の読出しは "1" が読み出され ます。 bit1 マスタモードまたはスレーブモード時にストップ条件を検出したことを示 すビットです。 SPC ビットのセット条件 : (1) スレーブモードまたはマスタモードで動作中にストップ条件が検出 された場合 (2) マスタモード時 , ストップ条件発生動作でアービトレーションロス トが発生した場合 SPC ビットのリセット条件 : SPC : (1) 本ビットへの "0" 書込み ストップ条件 (2) MSS ビットへの "1" 書込み 確認ビット (3) I2C インタフェースの禁止 (EN ビット =0) 本ビットへの "1" 書込みは無効です。 ( 注意事項 ) • 予約アドレス検出によってスレーブモードとして受信動作中 , アクノ リッジ応答しなかった場合 , スレーブモードを終了しますので次にス トップ条件を検出しても本ビットに "1" はセットされません。 • リードモディファイライト (RMW) 系命令の読出しは "1" が読み出され ます。 bit0 400 BB: バス状態 ビット 本ビットはバスの状態を示します。 BB ビットのセット条件 : (1) I2C バスの SDA または SCL で "L" を検出した場合 BB ビットのリセット条件 : (1) ストップ条件を検出した場合 (2) I2C インタフェースの禁止 (EN ビット =0) (3) バスエラー検出 (BER ビット =1) FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 受信データレジスタ / 送信データレジスタ (RDR/TDR) 15.18.5 受信データレジスタと送信データレジスタは同一アドレスに配置されています。読 み出した場合は , 受信データレジスタとして機能し , 書き込んだ場合は送信データレ ジスタとして機能します。 ■ 受信データレジスタ (RDR) 図 15.18-5 に受信データレジスタ (RDR) のビット構成を示します。 図 15.18-5 受信データレジスタ (RDR) のビット構成 RDR ch.0 ch.2 ch.4 ch.6 ch.8 ch.A 000064H 000084H 0000A4H 0001B4H 0001D4H 0001F4H ch.1 ch.3 ch.5 ch.7 ch.9 000074H bit15........... 000094H 0000B4H 0001C4H 0001E4H 7 D7 R 6 D6 R 5 D5 R 4 D4 R 3 D3 R 2 D2 R 1 D1 R 0 初期値 D0 00000000B R R : リードオンリ 受信データレジスタ (RDR) は, シリアルデータ受信用のデータバッファレジスタです。 • シリアルデータライン (SDA 端子 ) に送られてきたシリアルデータ信号がシフトレ ジスタで変換されて , 受信データレジスタ (RDR) に格納されます。 • 第 1 バイト * を受信した場合 , 最下位ビット (RDR:D0) がデータ方向ビットとなりま す。 • 受信データが , 受信データレジスタ (RDR) に格納されると , 受信データフルフラグ ビット (SSR : RDRF) が "1" にセットされます。 • 受信データフルフラグビット (SSR : RDRF) は , 受信データレジスタ (RDR) を読み 出すと自動的に "0" にクリアされます。 *: 第 1 バイト : ( 反復 ) スタート条件後のデータを指します。 <注意事項> • 受信 FIFO 使用時は , 受信 FIFO に所定のデータ数を受信したら RDRF が "1" にセット されます。 • 受信 FIFO 使用時は , 受信 FIFO がエンプティになると RDRF が "0" にクリアされます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 401 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ ■ 送信データレジスタ (TDR) 図 15.18-6 に送信データレジスタ (TDR) のビット構成を示します。 図 15.18-6 送信データレジスタ (TDR) のビット構成 TDR ch.0 ch.2 ch.4 ch.6 ch.8 ch.A 000064H 000084H 0000A4H 0001B4H 0001D4H 0001F4H ch.1 ch.3 ch.5 ch.7 ch.9 000074H bit15........... 000094H 0000B4H 0001C4H 0001E4H 7 D7 W 6 D6 W 5 D5 W 4 D4 W 3 D3 W 2 D2 W 1 D1 W 0 D0 W 初期値 11111111B W : ライトオンリ 送信データレジスタ (TDR) は , シリアルデータ送信用のデータバッファレジスタです。 • 送信データレジスタ (TDR) の値の MSB ファーストでシリアルデータライン (SDA 端 子 ) に出力します。 • 第1バイトを送信する場合, 最下位ビット(TDR:D0)がデータ方向ビットになります。 • 送信データエンプティフラグ (SSR : TDRE) は , 送信データが送信データレジスタ (TDR) に書き込まれると "0" にクリアされます。 • 送信データエンプティフラグ (SSR : TDRE) は , 送信用シフトレジスタへ転送される と "1" にセットされます。 • 次の送信データの書込みは , 以下の条件のときに行ってください。 • 割込みフラグ (INT ビット ) が "1" • バスエラーが発生していない (BER ビット =0) • アクノリッジが ACK 応答 ( アクノリッジとして 0 受信 ) • 送信 FIFO 禁止時 , データエンプティフラグ (SSR : TDRE) が "0" のときは送信デー タレジスタ (TDR) に送信データを書き込むことはできません。 • 送信 FIFO 使用時 , データエンプティフラグ (SSR:TDRE) が "0" であっても送信 FIFO の容量まで送信データを書き込むことが可能です。 <注意事項> 送信データレジスタは書込み専用のレジスタで , 受信データレジスタは読出し専用のレジ スタです。2 つのレジスタは同一アドレスに配置されているため書込み値と読出し値が異 なります。したがって , INC/DEC 命令などリードモディファイライト (RMW) 系命令動作 をする命令は使用できません。 402 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) 15.18.6 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) は , シリアルクロックの分周比 を設定します。 ■ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 図 15.18-7 にボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成を示し ます。 図 15.18-7 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 BGR bit 15 ch.0 000066H - ch.1 000076H ch.2 000086H (-) ch.3 000096H ch.4 0000A6H ch.5 0000B6H ch.6 0001B6H ch.7 0001C6H ch.8 0001D6H ch.9 0001E6H ch.A 0001F6H 14 13 12 11 10 9 8 7 6 5 4 3 2 1 初期値 0 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 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 -0000000B 00000000B BGR0 書込み 読出し ボーレートジェネレータレジスタ0 リロードカウンタビット0~7に書き込み BGR0の設定値が読み出されます BGR1 書込み 読出し ボーレートジェネレータレジスタ1 リロードカウンタビット8~14に書き込み BGR1の設定値が読み出されます 未使用ビット 読出し時、値は不定です。書込み時、影響しません R/W :リード/ライト可能 - :未使用 ボーレートジェネレータレジスタはシリアルクロックの分周比を設定します。 BGR1 は上位ビット , BGR0 は下位ビットに対応し , カウントするリロード値の書込み , BGR1/BGR0 の設定値の読出しが可能です。 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むとリロー ドカウンタはカウントを開始します。 <注意事項> • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) への書込みは , 16 ビットアクセ スで行ってください。 • ISMK レジスタの EN ビットが "0" のときにボーレートジェネレータレジスタの設定を 行ってください。 • マスタモード , スレーブモードに関係なく , ボーレートを設定してください。 • 動作モード 4 (I2C モード ) ではマシンクロックは 8MHz 以上で使用し , 400kbps を超え るボーレートジェネレータの設定は禁止です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 403 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 7 ビットスレーブアドレスマスクレジスタ (ISMK) 15.18.7 7 ビットスレーブアドレスマスクレジスタ (ISMK) は , スレーブアドレスの各ビット の比較をするか設定するレジスタです。 ■ 7 ビットスレーブアドレスマスクレジスタ (ISMK) 図 15.18-8 に 7 ビットスレーブアドレスレジスタ (ISMK) のビット構成を , 表 15.18-7 に 各ビットの機能を示します。 図 15.18-8 7 ビットスレーブマスクレジスタ (ISMK) のビット構成 ISMK bit ch.0 000068H ch.1 000078H ch.2 000088H ch.3 000098H ch.4 0000A8H ch.5 0000B8H ch.6 0001B8H ch.7 0001C8H ch.8 0001D8H ch.9 0001E8H ch.A 0001F8H R/W 15 EN R/W 14 13 12 11 10 9 8 SM6 SM5 SM4 SM3 SM2 SM1 SM0 R/W R/W R/W R/W :リード/ライト可能 R/W R/W R/W 初期値 01111111B SM6~SM0 0 1 7ビットスレーブアドレスマスクビット ビット比較しない ビット比較する EN 0 1 I2Cインタフェース許可ビット 禁止 許可 :初期値 404 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 表 15.18-7 7 ビットスレーブマスクレジスタ (ISMK) の各ビットの機能説明 ビット名 bit15 bit14 ∼ bit8 EN : I2C インタ フェース 許可ビット 機能 I2C インタフェースの動作を許可 / 禁止するビットです。 "0" に設定した場合 : I2C インタフェースは動作禁止状態になります。 "1" に設定した場合 : I2C インタフェースが動作可能となります。 ( 注意事項 ) • IBSR レジスタの BER ビットが "1" にセットされても , 本ビットは "0" にクリアされません。 • 本ビットが "0" のときにボーレートジェネレータを設定してくださ い。 • 本ビットが "0" のときに 7 ビットスレーブアドレスおよび 7 ビットス レーブマスクレジスタを設定してください。 • 送信中に EN ビットを "0" にすると I2C バスの SDA/SCL にパルスが 発生することがあります。 • FIFO 許可の場合 , FIFO 禁止にして EN ビットに "0" を書いてくださ い。 7 ビットスレーブアドレスと受信したアドレスに対し , 比較対象外にする SM6 ∼ SM0 : かどうかを設定するビットです。 スレーブ "1" を設定したビット : 比較する アドレス "0" を設定したビット : 一致したものとして処理する マスクビット ( 注意事項 ) EN ビットが "0" のときに本レジスタを設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 405 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 15.18.8 MB91313A シリーズ 7 ビットスレーブアドレスレジスタ (ISBA) 7 ビットスレーブアドレスレジスタ (ISBA) は , スレーブアドレスを設定するレジス タです。 ■ 7 ビットスレーブアドレスレジスタ (ISBA) 図 15.18-9 に 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成を , 表 15.18-8 に 各ビットの機能を示します。 図 15.18-9 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成 ISBA bit 7 6 5 4 3 2 1 0 初期値 ch.0 000069H SA5 SA4 SA3 SA2 SA1 SA0 SA6 SAEN 00000000 B ch.1 000079H ch.2 000089H R/W R/W R/W R/W R/W R/W R/W R/W ch.3 000099H ch.4 0000A9H ch.5 0000B9H ch.6 0001B9H ch.7 0001C9H SA ch.8 0001D9H ch.9 0001E9H 6~0 ch.A 0001F9H R/W :リード/ライト可能 SAEN 0 1 スレーブアドレス設定ビット 7ビットスレーブアドレス スレーブアドレス許可ビット 禁止 許可 :初期値 表 15.18-8 7 ビットスレーブアドレスレジスタ (ISBA) の各ビットの機能説明 ビット名 bit7 bit6 ∼ bit0 406 機能 SAEN : スレーブ アドレス許可 ビット スレーブアドレスの検出許可ビットです。 "0" を設定した場合 : スレーブアドレスを検出しません。 "1" を設定した場合 : ISBA, ISMK の設定と受信した第 1 バイトとの比較 を行います。 SA6~SA0 : 7 ビット スレーブ アドレス • 7 ビットスレーブアドレスレジスタ (ISBA) は , スレーブアドレス検出 許可 (SAEN=1) されていれば , ( 反復 ) スタート条件検出後に受信した 7 ビットのデータが本レジスタと比較し , 全ビットが一致すればスレー ブモードとして動作し , ACK を出力します。そのとき , 受信したス レーブアドレスは本レジスタにセットされます (SAEN=0 であれば , ACK を出力しません )。 • ISMK レジスタに "0" を設定したアドレスビットは比較対象外となりま す。 ( 注意事項 ) • 予約アドレスの設定は禁止です。 • 本レジスタは ISMK レジスタの EN ビットが "0" のときに設定してく ださい。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ FIFO 制御レジスタ 1 (FCR1) 15.18.9 FIFO 制御レジスタ (FCR1) は , FIFO のテスト設定 , 送受信 FIFO の選択 , 送信 FIFO 割込み許可の設定および割込みフラグの制御を行います。 ■ FIFO 制御レジスタ 1 (FCR1) のビット構成 図 15.18-10 に FIFO 制御レジスタ 1 (FCR1) のビット構成を , 表 15.18-9 に各ビットの機 能を示します。 図 15.18-10 FIFO 制御レジスタ 1 (FCR1) のビット構成 FCR1 bit 15 14 13 ch.0 00006AH FTST1 FTST0 - ch.1 00007AH ch.2 00008AH R/W R/W (-) 12 11 10 9 FLSTE FRIIE FDRQ FTIE R/W R/W R/W R/W 8 初期値 FSEL 00-00100B R/W FSEL 0 1 FIFO選択ビット 送信FIFO:FIFO1, 受信FIFO:FIFO2 送信FIFO:FIFO2, 受信FIFO:FIFO1 FTIE 0 1 送信FIFO割込み許可ビット 送信FIFO割込み禁止 送信FIFO割込み許可 FDRQ 送信FIFOデータ要求ビット 送信FIFOデータ要求なし 送信FIFOデータ要求あり 0 1 FRIIE 0 1 FLSTE 0 1 受信FIFOアイドル検出許可ビット 受信FIFOアイドル検出禁止 受信FIFOアイドル検出許可 再送データロスト検出許可ビット データロスト検出禁止 データロスト検出許可 未使用ビット 読出し時、値は不定です。書込み時、影響しません。 R/W - CM71-10143-5 :リード/ライト可能 :未使用 :初期値 FTST1,0 00B 00B以外 FUJITSU SEMICONDUCTOR LIMITED FIFOテストビット FIFOテスト禁止 設定禁止 407 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 表 15.18-9 FIFO 制御レジスタ 1 (FCR1) の各ビットの機能説明 ビット名 機能 bit15, bit14 FTST1, FTST0: FIFO テスト ビット FIFO のテストビットです。 本ビットには必ず "0" を設定してください。 ( 注意事項 ) 本ビットに "1" を設定した場合 , FIFO のテストを行います。 bit13 未使用ビット 読み出した場合 : 値は不定です。 書き込んだ場合 : 影響しません。 bit12 FLSTE : 再送データ ロスト検出 許可ビット データロスト検出を許可するビットです。 "0" に設定した場合 : データロスト検出禁止 "1" に設定した場合 : データロスト検出許可 ( 注意事項 ) 本ビットに "1" を設定する場合 , FSET ビットに "1" を設定し てから本ビットに "1" を設定してください。 bit11 受信 FIFO に有効なデータが存在した状態で 8 ビット時間以上の受信アイ FRIIE: ドル状態を検出するかどうかを設定するビットです。受信割込み許可 (SMR:RIE=1) されていると , 受信アイドル状態が検出されると受信割込み 受信 FIFO アイドル検出 が発生します。 "0" に設定した場合 : 受信アイドル状態検出禁止 許可ビット "1" に設定した場合 : 受信アイドル状態検出許可 bit10 FDRQ : 送信 FIFO データ 要求ビット 送信 FIFO のデータ要求ビットです。 本ビットが "1" のとき , 送信データを要求していることを示します。この とき , 送信割込み許可 (FTIE=1) されていると , 送信 FIFO 割込み要求を出 力されます。 FDRQ セット条件 • FBYTE( 送信用 )=0 ( 送信 FIFO がエンプティ ) • 送信 FIFO のリセット FDRQ リセット条件 ・本ビットへの "0" 書込み ・送信 FIFO がフルになった場合 ( 注意事項 ) • FBYTE( 送信用 )=0 のときに本ビットへの "0" 書込みは禁止です。 • 本ビットが "0" のときに FSEL ビットの変更は禁止です。 • 本ビットに "1" を設定した場合 , 動作に影響を与えません。 • リードモディファイライト (RMW) 系命令時 "1" が読み出されます。 bit9 FTIE : 送信 FIFO 割込み 許可ビット 送信 FIFO の割込み許可ビットです。本ビットに "1" を設定すると FDRQ ビットが "1" のときに割込みが発生します。 FSEL : FIFO 選択 ビット 送受信 FIFO を選択するビットです。 "0" に設定した場合 : 送信 FIFO : FIFO1, 受信 FIFO : FIFO2 に割り当てられ ます。 "1" に設定した場合 : 送信 FIFO : FIFO2, 受信 FIFO : FIFO1 に割り当てられ ます。 ( 注意事項 ) • 本ビットは , FIFO リセット (FCL2, FCL1=1) ではクリアされません。 • 本ビットを変更する場合は , FIFO 動作禁止 (FE2, FE1=0) および送受信 禁止 (TXE=RXE=0) にしてから行ってください。 bit8 408 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 15.18.10 FIFO 制御レジスタ 0 (FCR0) FIFO 制御レジスタ 0 (FCR0) は , FIFO 動作の許可 / 禁止 , FIFO リセット , リードポ インタの保存 , 再送信設定を行います。 ■ FIFO 制御レジスタ 0 (FCR0) のビット構成 図 15.18-11 に FIFO 制御レジスタ 0 (FCR0) のビット構成を , 表 15.18-10 に各ビットの 機能を示します。 図 15.18-11 FIFO 制御レジスタ 0 (FCR0) のビット構成 FCR0 bit ch.0 00006BH ch.1 00007BH ch.2 00008BH 7 - (-) 6 5 4 3 2 1 FLST FLD FSET FCL2 FCL1 FE2 R R/W R/W R/W R/W R/W 0 R/W FE1 0 1 FIFO1動作許可ビット FIFO1動作禁止 FIFO0動作許可 FE2 0 1 FIFO2動作許可ビット FIFO2動作禁止 FIFO2動作許可 FCL1 0 1 FCL2 0 1 R/W :リード/ライト可能 R :リードオンリ - :未使用 初期値 FE1 00000000B FIFO1リセットビット 書込み 読出し 影響なし 常に"0"を読出し FIFO1リセット FIFO2リセットビット 書込み 読出し 影響なし 常に"0"を読出し FIFO2リセット FSET 0 1 FIFOポインタ保存ビット 保存しない 保存実行 FLD 0 1 FIFOポインタリロードビット リロードしない リロード実行 FLST 0 1 FIFO再送データロストフラグビット データロストなし データロストあり 未使用ビット 読出し時、常に"0"を読出し。書込み時、常に"0"を書込み :初期値 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 409 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 表 15.18-10 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (1 / 3) ビット名 機能 読み出した場合 : 常に "0" が読み出されます。 書き込んだ場合 : 常に "0" を書いてください。 bit7 未使用ビット bit6 送信 FIFO の再送データが失われたことを示すビットです。 FLST セット条件 • FIFO 制御レジスタ 1 (FCR1) の FLSTE ビットが "1" で , 送信 FIFO のラ イトポインタと FSET ビットによって保存 したリードポインタが一致し ているときに FIFO へ書き込んだ場合 FLST : FLST リセット条件 FIFO 再送 • FIFO リセット (FCL への "1" 書込み ) データロスト • FSET ビットへ "1" 書込み フラグビット 本ビットに "1" が設定されると FSET ビットで保存したリードポインタが 示すデータを上書きしてしまい , エラーが発生しても FLD ビットによって 再送の設定ができません。本ビットに "1" が設定された状態で再送を行う 場合には FIFO リセットを実施し , 再度 FIFO にデータを書き込んでくださ い。 bit5 FLD : FIFO ポインタ リロード ビット 送信 FIFO に FSET ビットによって保存したデータをリードポインタにリ ロードするビットです。本ビットは通信エラーなどが発生し再送するとき に使用します。 再送設定が完了した場合 , 本ビットは "0" になります。 ( 注意事項 ) • 本ビットが "1" にセットされている間 , リードポインタへのリロード 中なので FIFO リセット以外の書込みは行わないでください。 • FIFO 許可状態または送信中 , 本ビットに "1" を設定することは禁止で す。 • TIE ビットは "0" にしてから本ビットに "1" を書き込み , 送信 FIFO 許 可後 , TIE ビットを "1" にしてください。 FSET : FIFO ポインタ 保存ビット 送信 FIFO のリードポインタを保存するビットです。 送信前にリードポインタを保存すれば , 通信エラーなどが発生した場合 , FLST ビットが "0" であれば , 再送可能となります。 "1" に設定した場合 : 現在のリードポインタの値を保存します。 "0" に設定した場合 : 影響しません。 ( 注意事項 ) 送信バイト数 (FBYTE) が "0" を示しているときに本ビット を "1" に設定してください。 FCL2 : FIFO2 リセット ビット FIFO2 をリセットするビットです。 本ビットを "1" に設定すると , FIFO2 の内部状態を初期化します。 FCR0:FLST ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビット は保持されます。 ( 注意事項 ) • FIFO2 を禁止してから , FIFO2 リセットを実行してください。 • 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。 • FBYTE2 レジスタの有効データ数は "0" になります。 bit4 bit3 410 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ 表 15.18-10 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (2 / 3) ビット名 bit2 bit1 機能 FCL1 : FIFO1 リセット ビット FIFO1 をリセットするビットです。 本ビットを "1" に設定すると , FIFO1 の内部状態を初期化します。 FCR0:FLST ビットのみ初期化され , FCR1/FCR0 レジスタのほかのビット は保持されます。 ( 注意事項 ) • FIFO1 を禁止してから , FIFO1 リセットを実行してください。 • 送信 FIFO 割込み許可ビットを "0" にしてから実行してください。 • FBYTE1 レジスタの有効データ数は "0" になります。 FE2 : FIFO2 動作 許可ビット FIFO2 の動作を許可 / 禁止するビットです。 • FIFO2 を使用する場合 , 本ビットに "1" を設定してください。 • FSEL ビットによって受信 FIFO として選択された場合 , 受信エラーが発 生すると本ビットは "0" にクリアされ , 受信エラーがクリアされない限 り , 本ビットに "1" を設定することはできません。 • 送信 FIFO で使用する場合には送信データがエンプティ (TDRE=1), 受信 FIFO で使用する場合には受信データがエンプティ (RDRF=0) のときに本 ビットに "1" または "0" を設定してください。 • FIFO2 を禁止にしても FIFO2 の状態は保持されます。 ( 注意事項 ) • BB ビットが "0" または INT ビットが "1" のときに許可 / 禁止の変更を 行ってください。 • 受信 FIFO として選択されていて予約アドレスを検出し , スレーブ送信 として動作する場合 , 予約アドレス検出による割込みで本ビットを "0" にし , ACKE=0 にしてください。 • 受信 FIFO として使用していて本ビットを "1" から "0" に変更したとき に SSR の RDRF ビットが "1" になっていると "0" になるまで受信 FIFO は禁止になりません。 • 送信 FIFO として使用していて FIFO2 にデータが存在し , 本ビットを "0" から "1" に変更する場合 , TIE ビットを "0" にしてから本ビットに "1" を書き込み , TIE ビットを "1" にしてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 411 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 表 15.18-10 FIFO 制御レジスタ 0 (FCR0) の各ビットの機能説明 (3 / 3) ビット名 bit0 412 FE1 : FIFO1 動作 許可ビット 機能 FIFO1 の動作を許可 / 禁止するビットです。 • FIFO1 を使用する場合 , 本ビットに "1" を設定してください。 • FSEL ビットによって受信 FIFO として選択された場合 , 受信エラーが発 生すると本ビットは "0" にクリアされ , 受信エラーがクリアされない限 り , 本ビットに "1" を設定することはできません。 • 送信 FIFO で使用する場合には送信データがエンプティ (TDRE=1), 受信 FIFO で使用する場合には受信データがエンプティ (RDRF=0) のときに本 ビットに "1" または "0" を設定してください。 • FIFO1 を禁止にしても FIFO1 の状態は保持されます。 ( 注意事項 ) • BB ビットが "0" または INT ビットが "1" のときに許可 / 禁止の変更を 行ってください。 • 受信 FIFO として選択されていて予約アドレスを検出し , スレーブ送信 として動作する場合 , 予約アドレス検出による割込みで本ビットを "0" にし , ACKE=0 にしてください。 • 受信 FIFO として使用していて本ビットを "1" から "0" に変更したとき に SSR の RDRF ビットが "1" になっていると "0" になるまで受信 FIFO は禁止になりません。 • 送信 FIFO として使用していて FIFO1 にデータが存在し , 本ビットを "0" から "1" に変更する場合 , TIE ビットを "0" にしてから本ビットに "1" を書き込み , TIE ビットを "1" にしてください。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ 15.18.11 FIFO バイトレジスタ (FBYTE) FIFO バイトレジスタ (FBYTE) は , FIFO の有効なデータ数を示します。また , 受信 FIFO で所定のデータ数を受信したときに受信割込みを発生させるかを設定できま す。 ■ FIFO バイトレジスタ (FBYTE) のビット構成 図 15.18-12 に FIFO バイトレジスタ (FBYTE) のビット構成を示します。 図 15.18-12 FIFO バイトレジスタ (FBYTE) のビット構成 FBYTE bit 15 14 13 12 11 10 9 ch.0 00006CH ch.1 00007CH FD15 FD14 FD13 FD12 FD11 FD10 FD9 ch.2 00008CH R/W R/W R/W R/W R/W R/W R/W 8 7 6 5 4 3 2 1 0 FD8 FD7 FD6 B5 FD4 FD3 FD2 FD1 FD0 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W :リード/ライト可能 読出し(有効なデータ数) 送信時:FIFOに書き込まれ、送信されていないデータ数 受信時:FIFOに受信されたデータ数 書込み(転送数) 送信時:"00H"設定 受信時:受信割込み発生のデータ数設定 FBYTE1 書込み 読出し FIFO1データ数表示ビット 転送数を設定 有効なデータ数を読出し FBYTE2 書込み 読出し FIFO2データ数表示ビット 転送数を設定 有効なデータ数を読出し 初期値 00000000B 00000000B FIFO バイトレジスタ (FBYTE) は , FIFO の有効なデータ数を示し , FCR1:FSEL ビット の設定によって以下のようになります。 表 15.18-11 データ数表示 FSEL FIFO 選択 データ数表示 0 FIFO2 : 受信 FIFO, FIFO1 : 送信 FIFO FIFO2 : FBYTE2, FIFO1 : FBYTE1 1 FIFO2 : 送信 FIFO, FIFO1 : 受信 FIFO FIFO2 : FBYTE2, FIFO1 : FBYTE1 • FIFO バイトレジスタ (FBYTE) の転送数の初期値は "08H" です。 • 受信 FIFO の FBYTE に受信割込みフラグを発生させるデータ数を設定します。その 設定された転送数と FIFO バイトレジスタ (FBYTE) のデータ表示が一致すると割込 みフラグ (RDRF) が "1" にセットされます。 • 受信 FIFO アイドル検出許可ビット (FRIIE) が "1" で受信 FIFO に存在するデータ数 が転送数に達しない場合 , 受信アイドル状態がボーレートクロックで 8 クロック以 上続くと割込みフラグ (RDRF) が "1" にセットされます。8 クロックカウント中 , RDR を読み出すとそのカウンタは "0" にリセットされ , 再度 8 クロックをカウント します。受信 FIFO が禁止されるとそのカウンタは "0" にリセットされます。受信 FIFO にデータが残っている状態で受信 FIFO を許可すると再度 カウントを開始しま す。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 413 第 15 章 マルチファンクション シリアルインタフェース 15.18 I2C インタフェースのレジスタ MB91313A シリーズ • マスタ動作で データを受信する場合 ( マスタ受信 ), TIE ビットを "0" にし送信 FIFO の FIFO バイトレジスタ (FBYTE) に受信データ数を設定し , FDRQ ビットに "0" を書 きます。設定データ分の SCL のクロックが出力され , その後 , INT ビットが "1" に なります。TIE ビットに "1" を設定したい場合には FDRQ が "1" になった後に "1" に 設定してください。 <注意事項> • マスタ動作で , データを受信するとき以外 , 送信 FIFO の FBYTE は "00H" を設定して ください。 • マスタ動作でデータを受信するときの送信データ数の設定は送信FIFOがエンプティで TIE ビットが "0" のときに行ってください。 • マスタ動作でデータを受信中に I2C インタフェースを禁止 (EN=0) にする場合には , 送 受信 FIFO を禁止にしてから禁止してください。 • 受信 FIFO の FBYTE には "1" 以上のデータを設定してください。 • 送受信を禁止してから変更してください。 • 本レジスタはリードモディファイライト (RMW) 系命令を使用することはできません。 • FIFO 容量を超えた設定は禁止です。 414 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.19 第 15 章 マルチファンクション シリアルインタフェース 15.19 I2C インタフェースの割込み I2C インタフェースの割込み I2C インタフェースの割込みは , 次に示す要因で割込み要求を発生させることができ ます。 • 第 1 バイト送受信後 / データ送受信後 • ストップ条件 • 反復スタート条件 • FIFO 送信データ要求 • FIFO 受信データ完了 ■ I2C インタフェースの割込み I2C インタフェースの割込み制御ビットと割込み要因は表 15.19-1 のようになっていま す。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 415 第 15 章 マルチファンクション シリアルインタフェース 15.19 I2C インタフェースの割込み MB91313A シリーズ 表 15.19-1 I2C インタフェースの割込み制御ビットと割込み要因 割込み の種類 割込み要求 フラグ フラグ レジスタ ビット 割込み要因 割込み要因 許可ビット 割込み要求 フラグのクリア 第 1 バイト送受信後 *1 データ送受信後 *1 割込みフラグビット (IBCR:INT) への "0" 書込み バスエラー検出 INT IBCR アービトレーションロ スト検出 IBCR:INTE FBYTE 設定値分受信 受信 FIFO がエンプティになるまで の受信データ (RDR) の読出し後 , 割込みフラグビット (IBCR:INT) へ "0" 書込み FRIIE ビットが "1" で 受信 FIFO に有効な データが存在した状態 で 8 ビット時間以上の 受信アイドル状態検出 受信 予約アドレス検出 RDRF SSR 受信データ (RDR) の読出し データ受信後 FBYTE 設定値分受信 SMR : RIE 受信 FIFO がエンプティになるまで の受信データ (RDR) の読出し ORE SSR オーバランエラー 受信エラーフラグビット (SSR:REC) への "1" 書込み SPC IBSR ストップ条件 ストップ条件検出ビットへの "0" 書込み IBCR:CNDE RSC IBSR 反復スタート検出フラグビット (IBSR : RSC) への "0" 書込み 反復スタート条件 送信レジスタが エンプティ TDRE SSR FDRQ FCR1 送信 送信バッファエンプ SMR : TIE ティフラグセットビッ ト (SSR:TSET) への "1" 書込み 送信 FIFO が エンプティ 送信データ (TDR) への書込み , ま たは送信 FIFO 動作許可ビットが "0" で送信 FIFO に有効なデータが 存在しているときに送信 FIFO 動 作許可ビットへの "1" 書込み ( 送 信再送 ) *2 FIFO 送信データ要求ビットへの FCR1:FTIE "0" 書込み , または送信 FIFO がフ ル *1: 正常なデータを送受信でき TDRE が "0" の場合 , 割込みは発生しません。これは DMA 転送をサ ポートするためです。 データ送受信時に INT フラグを発生させたい場合には INT フラグがセットされるタイミングより 前に TDRE ビットが "1" である必要があります。 *2: TDRE ビットが "0" になってから TIE ビットを "1" にしてください。 416 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.20 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 I2C インタフェース通信の動作 I2C インタフェースは , 2 本の双方向バスライン , シリアルデータライン (SDA) およ びシリアルクロックライン (SCL) を使用して通信を行います。 ■ I2C バススタート条件 I2C バスの起動条件を以下に示します。 図 15.20-1 スタート条件 SDA SCL スタート条件 ■ I2C バスストップ条件 I2C バスのストップ条件を以下に示します。 図 15.20-2 ストップ条件 SDA SCL ストップ条件 ■ I2C バス反復スタート条件 I2C バスの反復スタート条件を以下に示します。 図 15.20-3 反復スタート条件 SDA SCL ACK 反復スタート条件 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED ACK:アクノリッジ 417 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ マスタモード 15.20.1 マスタモードは , I2C バスにスタート条件を発生させ , I2C バスにクロックを出力し ます。I2C バスがアイドル状態 (SCL="H", SDA="H") のとき , IBCR レジスタの MSS ビットに "1" を設定するとマスタモードになり , IBCR レジスタの ACT ビット が "1" になります。 ■ スタート条件生成 以下の条件でスタート条件が出力されます。 • SDA="H", SCL="H", EN=1, BB=0 のとき , MSS ビットへ "1" 書込み , I2C バスへスター ト条件を出力すると ACT ビットに "1" をセットします。その後 , スタート条件を受 信すると BB ビットが "1" にセットされ , I2C バスは通信中であることを示します ( 図 15.20-4 を参照 )。 図 15.20-4 スタート条件出力および各ビットの関係 スタート条件 SDA A6 A5 SCL 1 2 BBビット MSSビット "1"書込み ACTビット TRXビット FBTビット TDREビット <注意事項> 動作モード 4 (I2C モード ) ではマシンクロックは 8MHz 以上で使用し , 400kbps を超える ボーレートジェネレータの設定は禁止です。 418 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ ■ スレーブアドレス出力 スタート条件を出力すると TDR レジスタに設定されたデータを bit7 からアドレスとし て出力します。FIFO 許可の場合 , 最初に書いた TDR レジスタのデータを出力します。 bit0 はデータ方向ビット (R/W) として使用され , データ方向ビット (R/W) が "0" のとき , データはライト方向 ( マスタ→スレーブ ) を示します。TDR レジスタへのアドレス設 定は , MSS=1 または SCC=1 を書く前に行ってください。 アドレスおよびデータ方向の出力タイミングについて , 図 15.20-5 , 図 15.20-6 に示しま す。 図 15.20-5 アドレスおよびデータ方向 (FIFO 禁止の場合 ) 1 2 3 4 5 6 7 8 SCL SDA A6(D7) A5(D6) A4(D5) A3(D4) A2(D3) A1(D2) A0(D1) R/W(D0) ACK BBビット MSSビット* TDREビット INTビット <予約アドレス検出> RSAビット RDRFビット INTビット INTが"1"の間SCLは"L"になる A6~A0:アドレス D7~D0:TDRレジスタビット R/W :データ方向("L"でライト方向) ACK :アクノリッジ("L"でアクノリッジ,スレーブから出力) *:MSSビットに"1"書込み前にTDRレジスタにアドレスをセットしておく CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 419 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-6 アドレスおよびデータ方向 ( 送受信 FIFO 許可 ) 1 2 3 4 5 6 7 8 SCL SDA A6(D7) A5(D6) A4(D5) A3(D4) A2(D3) A1(D2) A0(D1) R/W(D0) ACK BBビット MSSビット*1 INTビット*2 <予約アドレス検出> RSAビット RDRFビット INTビット A6~A0:アドレス INTが"1"の間SCLは"L"になる D7~D0:TDRレジスタビット R/W :データ方向("L"でライト方向) ACK :アクノリッジ("L"でアクノリッジ,スレーブから出力) *1:MSSビットに"1"書込み前にTDRレジスタにアドレスをセットしておく *2:アクノリッジが"L"でR/W="L"のとき,送信FIFOにデータが存在する,またはアクノリッジが "L"でR/W="H"のとき,受信FIFOにデータが存在していない場合,INTビットは"1"にならない 420 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 ■ ファーストバイト送信によるアクノリッジ受信 データ方向ビット (R/W) を出力すると I2C インタフェースは , スレーブからのアクノ リッジを受信します。FIFO 許可と FIFO 禁止では , 以下の動作になります。 表 15.20-1 アクノリッジ受信後の動作 (RSA ビット =0) 送信 受信 送信 FIFO FIFO FIFO 状態 受信 FIFO データ方向ビット (R/W) 状態 0 禁止 禁止 − − 1 データなし 0 禁止 許可 − 1 0 許可 禁止 − − 1 データなし 0 許可 許可 − CM71-10143-5 アクノリッジが NACK TDRE ビットが "1" であ れば INT ビットを "1" にしてウェイト。TDRE INT ビットを "1" ビットが "0" であれば , にしてウェイト INT ビットは "0" のまま でウェイトなし TDRE ビットが "1" であ れば INT ビットを "1" にしてウェイト。TDRE ビットが "0" であれば , INT ビットは "0" のまま でウェイトなし TDRE ビットが "1" であ れば INT ビットを "1" にしてウェイト。TDRE ビットが "0" であれば , INT ビットは "0" のまま でウェイトなし TDRE ビットが "1" であ れば INT ビットを "1" にしてウェイト。TDRE INT ビットを "1" ビットが "0" であれば , にしてウェイト INT ビットは "0" のまま でウェイトなし TDRE ビットが "1" であ れば INT ビットを "1" にしてウェイト。TDRE ビットが "0" であれば , INT ビットは "0" のまま でウェイトなし INT ビットを "1" にして INT ビットを "1" ウェイト にしてウェイト データあり − アクノリッジが ACK INT ビットを "1" にして INT ビットを "1" ウェイト にしてウェイト データあり − アクノリッジ受信直後の動作 1 TDRE ビットが "1" であ れば INT ビットを "1" にしてウェイト。TDRE ビットが "0" であれば , INT ビットは "0" のまま でウェイトなし FUJITSU SEMICONDUCTOR LIMITED 421 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ ● FIFO 禁止 ( 送信 FIFO, 受信 FIFO 両方とも禁止 ) • RSA ビットが "0" の場合 , アクノリッジ受信後 , TDRE ビットが "1" であれば割込み フラグ (INT) を "1" にセットし , SCL を "L" に保持してウェイトします。ウェイトは 割込みフラグに "0" を書くと割込みフラグが "0" になってウェイトを解除します。 TDRE ビットが "0" であれば ACK を受信すれば割込みフラグを "1" にセットせずに SCL にクロックを発生します。 • RSAビットが"1"の場合, 予約アドレス受信後(アクノリッジ前), 割込みフラグ(INT) を "1" にセットし , SCL を "L" に保持してウェイトします。RDR レジスタ読出し後 , ACKE ビット , 送信データを設定し , 割込みフラグに "0" を書くと割込みフラグが "0" になってウェイトを解除します。 • 受信したアクノリッジは RACK ビットにセットされます。ウェイト中に RACK ビッ トを確認し , NACK であれば , MSS ビットに "0" または SCC ビットに "1" を書いて ストップ条件または反復スタート条件を発生させます。このとき , INT ビットは自 動的に "0" にクリアされます。 ● FIFO 許可 • MSS ビットに "1" を設定する前に FIFO に以下の設定をする必要があります。 - スレーブへ送信する場合 ( データ方向ビット = 0), スレーブアドレスなどを含む データを送信 FIFO に設定 - スレーブからデータを受信する場合 ( データ方向ビット =1), FIFO バイト数レジ スタに受信数を設定し , スレーブアドレスおよびデータ方向ビットと受信したい データ数分ダミーで送信データレジスタに書込みを行う。 • RSA ビットが "0" の場合 , アクノリッジ受信後 , ACK であれば割込みフラグ (INT) は "1" にセットせず , データ方向ビットに従ってデータを送受信します ( ウェイトな し ) 。NACK であれば , 割込みフラグ (INT) を "1" にセットし , SCL を "L" に保持し てウェイトします。 • 受信したアクノリッジは RACK ビットに格納されます。ウェイト中に RACK ビッ トを確認し , NACK であれば , MSS ビットに "0" または SCC ビットに "1" を書いて ストップ条件または反復スタート条件を発生させます。このとき , INT ビットは自 動的に "0" にクリアされます。 422 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-7 アクノリッジ (FIFO 禁止 , RSA=0, ACK 応答の場合 ) INTビットにより"L" Data SCL SDA R/W ACK "0"書込み INTビット RACKビット FBTビット TDRレジスタへ書込み TDREビット アドレスに対するウェイトは • RSA ビットが "0" の場合 , アクノリッジ受信後 • RSA ビットが "1" の場合 , アクノリッジ受信前 になります。WSEL の設定には依存しません。 図 15.20-8 アクノリッジ (FIFO 禁止 , RSA=0, NACK 応答の場合 ) INTビットにより"L" SCL SDA R/W NACK "0"書込み ストップ条件 INTビット MSSビット RACKビット FBTビット CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 423 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-9 アクノリッジ (FIFO 禁止 , RSA=1, ACK 応答の場合 ) INTビットにより"L" Data SCL SDA R/W ACK "0"書込み INTビット RACKビット FBTビット RSAビット RDRレジスタ読出し RDRFビット 図 15.20-10 アクノリッジ (FIFO 禁止 , RSA=1, NACK 応答の場合 ) INTビットにより"L" SCL SDA R/W NACK "0"書込み ストップ条件 INTビット MSSビット RACKビット FBTビット RSAビット RDRレジスタの読出し RDRFビット 424 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 図 15.20-11 アクノリッジ (FIFO 許可 , 送信 FIFO データあり , 受信 FIFO データなし , RSA=0, ACK 応答の場合 ) Data SCL SDA R/W ACK INTビット RACKビット FBTビット TDREビット ■ マスタによるデータ送信 データ方向ビット (R/W) が "0" の場合 , データはマスタから送信します。1 バイト送信 ごとにスレーブから ACK または NACK の応答があります。 WSEL ビットの設定によってウェイトの発生する場所が以下のようになります。 表 15.20-2 マスタデータ送信時の WSEL ビット WSEL ビット 動作 0 第 2 バイト以降 , TDRE ビットが "1" またはアービトレーションロスト検出でアクノリッ ジ後 , 割込みフラグ (INT) を "0", SCL を "L" にしてウェイト状態にします。FIFO 許可の場 合アクノリッジ後 , アービトレーションロスト検出または送信データレジスタに有効な データがなくなった (TDRE=1) ときにアクノリッジ後 , 割込みフラグ (INT) を "1" にして ウェイト状態にします。 1 第 2 バイト以降 , TDRE ビットが "1" またはアービトレーションロスト検出でマスタが 1 バイトのデータを送信後 , 割込みフラグ (INT) を "1", SCL を "L" にしてウェイト状態にし ます。FIFO 許可の場合 , アービトレーションロスト検出または送信データレジスタに有効 なデータがなくなった (TDRE=1) ときにデータ送信後 , 割込みフラグ (INT) を "1" にして ウェイト状態にします。 ただし , 以下の場合 , WSEL の設定に依存せずにアクノリッジ後に割込みフラグ (INT) をセットします。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 425 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ ストップ条件設定 (MSS=0, ACT=1) 時以外に NACK を受信した場合 スレーブへデータを送信する場合の手順の一例を以下に示します。 ● 予約アドレス以外への送信の場合 • 送信 FIFO が禁止されている場合 ① スレーブアドレス ( データ方向ビットも含む ) を TDR レジスタにセットし , MSS ビットに "1" を書きます。 ② スレーブアドレス送信後 ACK を受信し , 割込みフラグ (INT) が "1" になります。 ③ TDR レジスタに送信するデータを書きます。 ④ WSEL ビット更新とともに割込みフラグ (INT) に "0" を書き込み , I2C バスのウェ イトを解除します。 ⑤ 1 バイト送信後 WSEL=0 の場合アクノリッジ受信後 , WSEL=1 の場合 1 バイト送 信直後割込みフラグを "1" にして I2C バスをウェイトします。所定のデータ数を 送信するまで②∼④を繰り返します。ただし , WSEL=1 のときウェイト解除後 , NACK を受信した場合にはアクノリッジ受信後にもう 1 度割込みが発生し , バス をウェイトします。 ⑥ MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ条件または反復 スタート条件を発生させます。 • 送信 FIFO が許可されている場合 ① スレーブアドレス ( データ方向ビットも含む ), 送信データを TDR レジスタに書 きます。 ② WSEL ビット設定とともに MSS ビットに "1" を書きます。 ③ 送信中に NACK 受信した場合 , その直後に割込みフラグ (INT) を "1" にし I2C バ スをウェイトします。すべて ACK 応答を受信した場合 , 最終バイト送信後 WSEL の設定に従って割込みフラグを "1" にして I2C バスをウェイトします。 ④ MSS ビットに "0" を書いてストップ条件を生成させます。 ● 予約アドレスへの送信の場合 • 送信 FIFO が禁止されている場合 ① スレーブアドレスとして予約アドレスを TDR レジスタにセットし , MSS ビット に "1" を書きます。 ② スレーブアドレス送信後 , 割込みフラグ (INT) が "1" になります。 ③ RDR レジスタを読み出し , 予約アドレスを確認します。* ④ TDR レジスタに送信するデータを書きます。 ⑤ WSEL ビット更新とともに割込みフラグ (INT) に "0" を書き込み , I2C バスのウェ イトを解除します。 ⑥ 1 バイト送信後 WSEL=0 の場合アクノリッジ受信後 , WSEL=1 の場合 1 バイト送 信直後割込みフラグを "1" にして I2C バスをウェイトします。所定のデータ数を 送信するまで④∼⑥を繰り返します。ただし , WSEL=1 のときウェイト解除後 , NACK を受信した場合にはアクノリッジ受信後にもう 1 度割込みが発生し , バス をウェイトします。 ⑦ MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ条件または反復 スタート条件を発生させます。 426 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 • 送信 FIFO が許可されている場合 ① スレーブアドレスとして予約アドレスを TDR レジスタにセットし , MSS ビット に "1" を書きます。 ② スレーブアドレス送信後 , 割込みフラグ (INT) が "1" になります。 ③ RDR レジスタを読み出し , 予約アドレスを確認します。* ④ TDR レジスタに全送信データ ( 送信 FIFO がフルとなる場合にはその状態になる まで ) を書きます。 ⑤ 送信中に NACK 受信した場合 , その直後に割込みフラグ (INT) を "1" にし I2C バ スをウェイトします。すべて ACK 応答を受信した場合 , 最終バイト送信後 WSEL の設定に従って割込みフラグを "1" にして I2C バスをウェイトします。 ⑥ MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ条件または反復 スタート条件を発生させます。 * : マルチマスタで予約アドレスがゼネラルコールの場合 , アービトレーションロス トが発生してスレーブとして動作する可能性がある場合 , ACKE ビットを "1", WSEL ビットを "1" にして次のデータでマスタとして動作するのか , スレーブとし て動作するのか確認する必要があります。 <注意事項> • 送受信中に IBCR レジスタを変更する場合 , 割込みフラグ (INT) が "1" のときに変更し てください。 • WSEL ビットを変更した場合 , 次のデータの割込みフラグ (INT) の発生条件に使用され ます。 • データ送信中で TDRE が "1" のときに TDR レジスタへ送信データを書き込み , ACK 応 答を検出すると割込みフラグ (INT) は "1" にならずにその書き込まれたデータが送信さ れます。 • データ受信中に TDRE が "1" のときに TDR レジスタへ送信データを書き込み ACK 応 答した場合 , 割込みフラグ (INT) は "1" にならずに RDRF のみ "1" になります ( 受信 FIFO 許可の場合 , FIFO バイトレジスタ (FBYTE) 設定分受信した場合 )。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 427 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-12 FIFO 禁止によるマスタの割込み 1 (WSEL=0, RSA=0) S スレーブアドレス W ACK Data ACK △ ① Data ACK △ ② Data ACK P or Sr △ ② △▲ ③ S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生 - TDRレジスタに送信データ書込み後,INT=0書込み ② 1バイト送信+アクノリッジ受信により,割込み発生 - TDRレジスタに送信データ書込み後,INT=0書込み ③ 1バイト送信+アクノリッジ受信により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 (注意事項) 割込みフラグ(INT)発生時,TDREビットは "1" 図 15.20-13 FIFO 禁止によるマスタ送信の割込み 2 (WSEL=1, RSA=0, ACK 応答 ) S スレーブアドレス W ACK △ ① Data ACK △ ② Data ACK △ ② Data ACK P or Sr △ ③ ▲ S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生 - TDRレジスタに送信データを書込み後,INT=0書込み ② 1バイト送信により,割込み発生 - TDRレジスタに送信データを書込み後,INT=0書込み ③ 1バイト送信により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 (注意事項) 割込みフラグ(INT)発生時,TDREビットは "1" 428 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-14 FIFO 禁止によるマスタ送信の割込み 3 (WSEL=1, RSA=0, NACK 応答 ) S スレーブアドレス W ACK Data △ ① ACK Data △ ② ACK Data △ ② NACK △ ③ P or Sr ▲ S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生 - TDRレジスタに送信データを書込み後,INT=0書込み ② 1バイト送信により,割込み発生 - TDRレジスタに送信データを書込み後,INT=0書込み ③ 1バイト送信により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 (注意事項) 割込みフラグ(INT)発生時,TDREビットは "1" 図 15.20-15 FIFO 禁止によるマスタ送信の割込み 4 (WSEL=1, RSA=0, 途中 NACK 応答 ) S スレーブアドレス W ACK △ ① Data ACK △ ② Data ACK △ ② Data NACK △ ② P or Sr △▲ ③ S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生 - TDRレジスタに送信データを書込み後,INT=0書込み ② 1バイト送信により,割込み発生 - TDRレジスタに送信データを書込み後,INT=0書込み ③ NACK応答により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 (注意事項) 割込みフラグ(INT)発生時,TDREビットは "1" CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 429 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-16 FIFO 禁止によるマスタ送信の割込み 5 (WSEL=1 -> 0, RSA= 0, ACK 応答 ) S スレーブアドレス W ACK Data △ ① ACK Data △ ② ACK Data ACK P or Sr △ ② △▲ ③ S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生 - 送信バッファに送信データを書込み後,INT=0書込み ② 1バイト送信により,割込み発生 - 送信バッファに送信データを書込み後,WSEL=0, INT=0書込み ③ 1バイト送信により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 (注意事項) 割込みフラグ(INT)発生時,TDREビットは "1" 図 15.20-17 FIFO 禁止によるマスタの割込み 6 (WSEL=0, RSA=1) S スレーブアドレス W ACK △ ① Data ACK △ ② Data ACK Data ACK P or Sr △ ② △▲ ③ S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレス(予約アドレス)送信+方向ビット送信+アクノリッジ受信 により割込み発生 - TDRレジスタに送信データを書込み後,INT=0書込み ② 1バイト送信+アクノリッジ受信により,割込み発生 - TDRレジスタに送信データを書込み後,INT=0書込み ③ 1バイト送信+アクノリッジ受信により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 (注意事項) 割込みフラグ(INT)発生時,TDREビットは "1" 430 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 図 15.20-18 FIFO 許可によるマスタ送信の割込み 7 (WSEL=0, RSA=0, ACK 応答 ) S スレーブアドレス W ACK Data ACK Data ACK Data △ ① ACK P or Sr △▲ ② S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① 送信FIFOがエンプティにより割込み発生 - 送信FIFOに送信データを書込み後,INT=0書込み ② 最終バイト送信(送信FIFOがエンプティ)+アクノリッジ受信により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 図 15.20-19 FIFO 許可によるマスタ送信の割込み 8 (WSEL=1, RSA=0 ) S スレーブアドレス W ACK Data ACK Data ACK △ ① Data ACK P or Sr △ ▲ ② S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① 送信FIFOがエンプティにより,割込み発生 - 送信FIFOに送信データを書込み後,INT=0書込み ② 最終バイト送信(送信FIFOがエンプティ)により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 431 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-20 FIFO 許可によるマスタ送信の割込み 9 (WSEL=1, RSA=0, NACK 応答 ) S スレーブアドレス W ACK Data ACK Data ACK △ ① Data NACK P or Sr △▲ ② S:スタート条件 W:データ方向ビット(ライト方向) P:ストップ条件 Sr:反復スタート条件 △:INTE=1による割込み ▲:CNDE=1による割込み ① 送信FIFOがエンプティにより,割込み発生 - 送信FIFOに送信データを書込み後,INT=0書込み ② NACK応答により,割込み発生 - MSS=0またはMSS=1, SCC=1を設定 432 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 ■ マスタによるデータ受信 データ方向ビット (R/W) が "1" の場合 , スレーブから送信されたデータを受信します。 FIFO 禁止の場合 , マスタは TDRE ビットが "1" であれば 1 バイト受信ごとにウェイト を発生 (INT=1, RDRF=1) し , WSEL ビットに従って IBCR レジスタの ACKE ビットの 設定で ACK または NACK 応答します。TDRE ビットが "0" であれば , IBCR レジスタ の ACKE ビットの設定で ACK 応答であればウェイトは発生せず (INT=0) に次のデータ を受信し , NACK 応答であればウェイトが発生します (INT=1) 。 FIFO 許可の場合 , 受信バイト数設定と同じバイト数分を受信すると RDRF ビットが セットされます。割込みフラグは TDRE ビットが "1" のときにセットし , I2C バスを ウェイトします。WSEL=0 の場合 , TDRE ビットが "1" になると NACK 応答して割込 みフラグを "1" にします。WSEL=1 の場合 , 最終バイト受信後ウェイトが発生しますの でそのウェイト中にACKEビットを設定し, 割込みフラグを"0"にクリアした後, ACKE の設定に従って ACK または NACK 応答します。NACK 出力した場合でも受信データ として受信 FIFO に格納します。 割込みによるウェイトは以下を参照してください。 表 15.20-3 マスタデータ受信時の WSEL ビット WSEL ビット 動作 0 第 2 バイト以降 , TDRE ビットが "1" でアクノリッジ後 , 割込みフラグ (INT) を "1", SCL を "L" にしてウェイト状態にします。 1 第 2 バイト以降 , TDRE ビットが "1" でマスタが 1 バイトのデータを受信後 , 割込みフラ グ (INT) を "1", SCL を "L" にしてウェイト状態にします。 スレーブからデータを受信する場合の手順の一例を以下に示します。 • 受信 FIFO が禁止されている場合 ① スレーブアドレス ( データ方向ビットも含む ) を TDR レジスタにセットし , MSS ビットに "1" を書きます。 ② スレーブアドレス送信後 ACK を受信し , 割込みフラグ (INT) が "1" になります。 ③ WSEL ビット更新とともに割込みフラグビット (INT) に "0" を書き込み , I2C バ スのウェイトを解除します。 ④ 1 バイト受信後 WSEL= 0 の場合アクノリッジ送信後 , WSEL=1 の場合 1 バイト 受信直後割込みフラグを "1" にして I2C バスをウェイトします。所定のデータ数 を受信するまで②∼④を繰り返します。 ⑤ 最終データ受信後 , NACK を出力し , MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ条件または反復スタート条件を発生させます。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 433 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ • 送受信 FIFO が許可されている場合 ① スレーブアドレス ( データ方向ビットも含む ) を TDR レジスタに書きます。 ② FBYTE レジスタに受信数を設定します。 ③ MSS ビットに "1" を書きます。 ④ TDRE ビットが "0" の間 , ACK 応答し , 受信し続けます。その受信中に FBYTE に設定数分受信すると RDRF を "1" にします。RDRF が "1" になったところで RDR レジスタを読み出します。 ⑤ TDRE ビットが "1" になると WSEL=0 の場合 NACK 出力後 , WSEL=1 の場合 1 バイト受信直後割込みフラグを "1" にして I2C バスをウェイトします。 ⑥ WSEL=1 の場合 , ACKE ビットを "0" に設定し , WSEL= 0 の場合 ACKE ビットの 設定は必要なく , MSS ビットに "0" または SCC ビットに "1" を設定し , ストップ 条件または反復スタート条件を発生させます。 <注意事項> • TDRE が "0" のとき , オーバランエラーが発生しても ACKE ビットの設定に従ってアク ノリッジを出力し , 次の処理を行います。 • 送受信中に IBCR レジスタを変更する場合 , 割込みフラグ (INT) が "1" のときに変更し てください。 • マスタ受信時 , TDR レジスタにダミーデータを書き込み , 割込みフラグ (INT) が "1" に なるタイミングで TDRE ビットが "0" の場合 , 割込みフラグ (INT) は "0" のままで次の データを受信します。 • 受信 FIFO が許可 , WSEL=0 のときにデータを受信する場合 , 最終ビット受信後 RDRF ビットが "1" となり , ACK 送信後割込みフラグ (INT) が "1" となります。 図 15.20-21 FIFO 禁止によるマスタ受信の割込み 1 (WSEL=0, RSA=0) S スレーブアドレス R ACK △ Data ACK △ ① Data ACK Data △ ② NACK P or Sr △▲ ③ △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生 - INT=0書込みにより割込みが0にクリア ② 1バイト受信+アクノリッジ送信により割込み発生 - 受信データを読み出し後、ACKE=0に設定し、INT=0書込み ③ 1バイト受信+アクノリッジ送信したことにより割込み発生 - MSS=0またはMSS=1,SCC=1を設定 (注意事項) 割込みフラグ(INT)発生時、TDREビットは"1" 434 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-22 FIFO 禁止によるマスタ受信の割込み 2 (WSEL=1, RSA= 0) S スレーブアドレス R ACK Data △ ① ACK Data △ ② ACK Data △ ② P or Sr NACK △ ③ ▲ △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレス送信+方向ビット送信+アクノリッジ受信により割込み発生 - INT=0書込みにより割込みが0にクリア ② 1バイト受信により割込み発生 - 受信データを読み出し後、INT=0書込み ③ 1バイト受信により割込み発生 - 受信データを読み出し後、ACKE=0に設定し、MSS=0 またはMSS=1,SCC=1を設定 (注意事項) 割込みフラグ(INT)発生時、TDREビットは"1" 図 15.20-23 FIFO 許可によるマスタ受信の割込み 3 (WSEL=0, ACKE=0, RSA=0) S スレーブアドレス R ACK Data ACK Data ACK Data P or Sr NACK △▲ ① △:INTE=1による割込み ▲:CNDE=1による割込み ① TDRE=1により割込み発生 - 受信FIFOから全データを読み出し後、MSS=0またはMSS=1,SCC=1を設定 図 15.20-24 FIFO 許可によるマスタ受信の割込み 4 (WSEL=1, RSA=0) S スレーブアドレス R ACK Data ACK Data ACK Data NACK △ ① P or Sr ▲ △:INTE=1による割込み ▲:CNDE=1による割込み ① TDRE=1により割込み発生 - 受信FIFOから全データを読み出し後、ACKE=0, MSS=0 またはMSS=1,SCC=1を設定 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 435 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ ■ アービトレーションロスト マスタがほかのマスタからのデータとデータが衝突し , 送信したデータと異なるデー タを受信した場合 , アービトレーションロストと判断し MSS ビットを "0", AL ビット を "1" にしてスレーブモードとして動作可能となります。 AL ビットは , 以下の条件で "0" にクリアすることができます。 • MSS ビットへの "1" 書込み • INT ビットへの "0" 書込み • AL ビット =1, SPC ビット =1 のときに SPC ビットへの "0" 書込み • I2C インタフェースの禁止 (EN ビット =0) アービトレーションロストが発生すると WSEL の設定に従って割込みフラグ (INT) を "1" にし , I2C バスの SCL を "L" にします。 ■ マスタモードのウェイト BB ビットが "1" のときに MSS ビットに "1" を設定するとスレーブモードとして動作し ていなければ BB ビットが "1" の間 , マスタモードをウェイトし , BB ビットが "0" に なってからスタート条件を送信します。マスタモードがウェイト中かどうかは MSS ビットと ACT ビットで判断できます (MSS=1, ACT=0 であればウェイト状態 ) 。MSS ビットに "1" を設定後 , スレーブモードとして動作する場合 , AL ビットを "1", MSS ビッ トを "0", ACT ビットを "1" にします。 436 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 15.20.2 スレーブモード スレーブモードは ( 反復 ) スタート条件を検出し , ISBA レジスタと ISMK レジスタ との組合せと受信したアドレスが一致すると ACK 応答し , スレーブモードとして動 作します。 ■ スレーブアドレス一致検出 ( 反復 ) スタート条件を検出すると次のデータの 7 ビットがアドレスとして受信します。 ISMK レジスタで "1" がセットされているビットについて ISBA レジスタと受信アドレ スの各ビットを比較し , 一致した場合 ACK を出力します。 表 15.20-4 スレーブアドレスに対するアクノリッジ出力直後の動作 送信 送信 受信 FIFO FIFO FIFO 状態 受信 FIFO 状態 データ 方向ビット (R/W) 0 禁止 禁止 − − 1 データ なし 0 データ あり 禁止 許可 1 0 許可 禁止 − − 1 データ なし 許可 許可 CM71-10143-5 アクノリッジが ACK アクノリッジが NACK TDRE ビットが "1" であれば INT ビットを "1" にしてウェイト。 INT ビットは "0" のま TDRE ビットが "0" であれば , INT までウェイトなし ビットは "0" のままでウェイトな し INT ビットは "0" のままでウェイ トなし INT ビットを "1" にしてウェイト − − アクノリッジ直後の動作 0 INT ビットは "0" のま TDRE ビットが "1" であれば INT までウェイトなし ビットを "1" にしてウェイト。 TDRE ビットが "0" であれば , INT ビットは "0" のままでウェイトな し TDRE ビットが "1" であれば , INT ビットを "1" にしてウェイト。 INT ビットは "0" のま TDRE ビットが "0" であれば , INT までウェイトなし ビットは "0" のままでウェイトな し INT ビットは "0" のままでウェイ トなし データ あり INT ビットを "1" にしてウェイト − TDRE ビットが "1" であれば INT ビットを "1" にしてウェイト。TDRE ビットが "0" であれば , INT ビットは "0" のままでウェイトなし − 1 FUJITSU SEMICONDUCTOR LIMITED INT ビットは "0" のま までウェイトなし 437 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ • 予約アドレス検出 第 1 バイト目で予約アドレス ("0000XXXXB" または "1111XXXXB") と一致した場合 , 送受信 FIFO の許可に依存せずに 8 ビット目のデータ受信後 , INT ビットを "1" にし て I2C バスをウェイトします。このとき受信データを読み出し , スレーブとして動 作させたい場合には ACKE を "1" にセットして INT ビットをクリアします。その後 , スレーブとして動作します。ACKE を "0" にした場合には , アクノリッジ出力後ス レーブとして動作を行いません。 ■ データ方向ビット アドレス受信後 , データの送受信を決めるデータ方向ビットを受信します。このビット が "0" のときマスタからの送信を示し , スレーブとしてはデータを受信します。 ■ スレーブによる受信 スレーブアドレスが一致しデータ方向ビットが "0" のとき , スレーブモードによる受信 を示します。スレーブモードによる受信手順の一例は以下のようになります。 • 受信 FIFO が禁止されている場合 ① ACK 送信後 , 割込みフラグ (INT) を "1" にして I2C バスをウェイトします。MSS ビット , ACT ビットと FBT ビットでスレーブアドレス一致による割込みと判断 し , ACKE ビットに "1", 割込みフラグ (INT) に "0" を書いて I2C バスのウェイト を解除します ( 表 15.20-4 を参照 )。 ② 1 バイトのデータを受信後 , WSEL の設定に従って割込みフラグ (INT) を "1" に して I2C バスをウェイトします。 ③ RDR レジスタから受信したデータを読み出し , ACKE ビットを設定後割込みフ ラグ (INT) に "0" を書いて I2C バスのウェイトを解除します。 ④ ストップ条件または反復スタート条件を検出するまで② , ③を繰り返します。 • 受信 FIFO が許可されている場合 ① NACK の検出または 受信 FIFO がフルになると割込みフラグ (INT) は "1" になり , I2C バスをウェイトします。 ストップ条件 , 反復スタート条件を検出した場合 , SPC ビット , RSC ビットを "1" にして割込みフラグ (INT) は "1" になりません (I2C バス のウェイトなし )。受信 FIFO は FIFO バイトレジスタ (FBYTE) の設定値と受信し たデータ数が一致すると RDRF ビットを "1" にします。そのとき , RIE ビットが "1" になっていると受信割込みが発生します。 ② 割込みフラグ (INT) が "1" になった場合 , RDR レジスタから受信したデータを読 み出し , すべてのデータを読み出し後割込みフラグに "0" を書いて I2C バスの ウェイトを解除します。ストップ条件または反復スタート条件を検出した場合 , 受信したデータを RDR レジスタからすべて読み出し , SPC ビットまたは RSC ビットを "0" にクリアします。 438 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-25 FIFO 禁止によるスレーブ受信の割込み 1 (WSEL=0, RSA=0) S スレーブアドレス W ACK Data ACK △ ① Data ACK △ ② Data P or Sr NACK △ ② △▲ ③ △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレスが一致したのでACK出力し、割込み発生 - ACKE=1, INT=0書込み ② 1バイト受信+ACK応答により割込み発生 - 受信データを受信バッファから読出し後、INT=0書込み ③ 1バイト受信+NACK応答により割込み発生 - 受信データを受信バッファから読出しINT=0書込み 図 15.20-26 FIFO 禁止によるスレーブ受信の割込み 2 (WSEL=1, RSA=0) S スレーブアドレス W ACK Data △ ① ACK Data △ ② ACK Data △ ② ACK △ ③ P or Sr ▲ △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレスが一致したのでACK出力し、割込み発生 - ACKE=1, INT=0書込み ② 1バイト受信により割込み発生 - 受信データを受信バッファから読出し後、INT=0書込み ③ 1バイト受信により割込み発生 - 受信データを受信バッファから読出し後、INT=0書込み 図 15.20-27 FIFO 禁止によるスレーブ受信の割込み 3 (WSEL=1, RSA=0) S スレーブアドレス W ACK △ ① Data ACK △ ② Data ACK △ ② Data △ ② NACK △ ② P or Sr △▲ ③ △:INTE=1による割込み ▲:CNDE=1による割込み ① スレーブアドレスが一致したのでACK出力し、割込み発生 - ACKE=1, INT=0書込み ② 1バイト受信により割込み発生 - 受信データを受信バッファから読出し後、INT=0書込み ③ NACK応答により割込み発生 - INT=0書込み CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 439 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 MB91313A シリーズ 図 15.20-28 受信 FIFO 許可によるスレーブ受信の割込み 4 (RSA=0) S スレーブアドレス W ACK Data ACK Data ACK Data ACK P or Sr ▲ ① △:INTE=1による割込み ▲:CNDE=1による割込み ① ストップ条件または反復スタート条件検出により割込み発生 - 受信FIFOから全データの読出し 図 15.20-29 受信 FIFO 許可によるスレーブ受信の割込み 5 (RSA=0) S スレーブアドレス W ACK Data ACK Data ACK Data ACK P or Sr △▲ ① △:INTE=1による割込み ▲:CNDE=1による割込み ① 受信FIFOがフルになったことにより割込み発生 - 受信FIFOから全データを読み出し、INT=0書込み 図 15.20-30 FIFO 禁止によるスレーブ受信の割込み 6(WSEL=0, RSA=1) S スレーブアドレス W ACK △ ① Data ACK △ ② Data ACK Data △ ② ACK P or Sr △▲ ③ △:INTE=1による割込み ▲:CNDE=1による割込み ① 予約アドレス("0000XXXX"または"1111XXXX")が一致したので割込み発生 - 受信データを読み出し、ACKE=1, INT=0書込み ② 1バイト受信+アクノリッジ出力により割込み発生 - INT=0書込み ③ 1バイト受信+アクノリッジ出力により割込み発生 - INT=0書込みにより割込み ■ スレーブによる送信 スレーブアドレスが一致しデータ方向ビットが "1" のとき , スレーブによる送信を示し ます。FIFO 禁止の場合 , WSEL の設定により , 1 バイト送信後またはアクノリッジ応答 後に割込みフラグ (INT) を "1" にし , ウェイトを発生します ( 表 15.20-4 を参照 ) 。 RACK ビットによってマスタから出力されたアクノリッジを確認することができ , マ スタから NACK 応答時 , マスタが正しく受信できなかったか , データ受信の終了を示 します。WSEL=1 のときに NACK を検出した場合 , 割込みが発生しウェイトします。 440 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 15.20.3 第 15 章 マルチファンクション シリアルインタフェース 15.20 I2C インタフェース通信の動作 バスエラー I2C バス上でデータの送受信中にストップ条件 , ( 反復 ) スタート条件を検出すると バスエラーとして取り扱います。 ■ バスエラー発生条件 バスエラーは以下の条件で BER ビットを "1" にします。 • 第 1 バイト転送中に ( 反復 ) スタート条件またはストップ条件を検出 • データの 2 ∼ 9 ( アクノリッジ ) ビット目で ( 反復 ) スタート条件またはストップ条 件を検出 ■ バスエラー動作 送受信による割込みフラグ (INT) が "1" になったときに BER ビットを確認し , BER ビッ トが "1" の場合エラー処理を行ってください。BER ビットは INT ビットに "0" を書く ことによってクリアされます。 バスエラーによって INT ビットは "1" にセットされますが , I2C バスの SCL を "L" にし てウェイト状態にはしません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 441 第 15 章 マルチファンクション シリアルインタフェース 15.21 専用ボーレートジェネレータ 15.21 MB91313A シリーズ 専用ボーレートジェネレータ 専用ボーレートジェネレータは , シリアルクロックの周波数の設定を行います。 ■ ボーレート選択 ● 専用ボーレートジェネレータ ( リロードカウンタ ) で内部クロックを分周して得られるボー レート 2 つの内部リロードカウンタがあり , それぞれ送受信シリアルクロックに対応していま す。ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) で 15 ビットのリロード値を 設定することにより , ボーレートを選択できます。 リロードカウンタは , 設定された値で内部クロックを分周します。 ■ ボーレートの計算 2 つの 15 ビットリロードカウンタは , ボーレートジェネレータレジスタ 1, 0 (BGR1/ BGR0) で設定します。 ボーレートの計算式を以下に示します。 (1) リロード値 : V=φ/b−1 V : リロード値 , b : ボーレート , φ : マシンクロック周波数 ただし , I2C バスの SCL の立上り時間によっては設定したボーレートが発生し ませんのでリロード値を調整してください。 (2) 計算例 マシンクロック 16MHz, ボーレート 400kbps に設定する場合のリロード値は , 次のようになります。 リロード値 : V = (16 × 1000000)/400000 − 1 = 39 よって , ボーレートは , b = (16 × 1000000)/(38 + 2) = 400 kbps <注意事項> • ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) への書込みは , 16 ビットアクセ スで行ってください。 • ISMK レジスタの EN ビットが "0" のときにボーレートジェネレータレジスタの設定を 行ってください。 • 動作モード 4 (I2C モード ) ではマシンクロックは 8MHz 以上で使用し , 400kbps を超え るボーレートジェネレータの設定は禁止です。 • リロード値を "0" に設定するとリロードカウンタは停止します。 442 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.21 専用ボーレートジェネレータ MB91313A シリーズ ■ 各マシンクロック周波数に対するリロード値とボーレート 表 15.21-1 リロード値とボーレート ボーレート [bps] 8 MHz 10 MHz 16 MHz 20 MHz 24 MHz 32MHz 400000 19 24 39 49 59 79 200000 39 49 79 99 119 159 100000 79 99 159 199 239 319 ( 注意事項 ) 表は Value 値 (BGR1/BGR0 レジスタの設定値 ) を示します。 上記数値は I2C バスの SCL 立上りが "0" の場合です。I2C バスの SCL 立上りが遅い場 合には上記数値より遅いボーレートになります。 ■ リロードカウンタの機能 リロード値に対する 15 ビットレジスタから構成されており , 内部クロックより送受信 クロックを生成します。また , 送信リロードカウンタのカウント値をボーレートジェネ レータレジスタ 1, 0 (BGR1/BGR0) より読み出すことができます。 ■ カウントの開始 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) にリロード値を書き込むと , リ ロードカウンタはカウントを開始します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 443 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 15.22 MB91313A シリーズ I2C のフローチャート例 I2C の通信フローチャート例を示します。 ■ I2C マスタ受信 / スレーブ送信 FIFO 通信フロー 図 15.22-1 マスタ受信メイン設定 スタート マスタ受信初期設定 エラーフラグ=1 通信エラー? NO YES I2C停止(ISMK:EN=0) エンド ISMK:7ビットスレーブアドレスマスクレジスタ (ISMK) 444 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-2 マスタ受信初期設定 スタート 初期設定: I2Cモード設定 (SMR) ボーレート設定 (BGR) FIFO設定: FIFO制御レジスタ1設定 (FCR1) FIFO制御レジスタ0設定 (FCR0) INT割込み許可(IBCR:INTE=1) FIFO制御レジスタ1の I2C許可設定 (ISMK:EN=1) FSEL値によって受信 FIFO受信バイト数設定 FIFOが異なります。 (FBYTE1=xx FBYTE2=00 or FBYTE1=00 FBYTE2=xx) FIFOバッファ書込み: スレーブアドレス + 通信方向 (Read) ダミーデータFIFO格納 (TDR) バスビジー? YES IBSR:BB=1 NO エラー 動作モード設定: マスター (IBCR:MSS =1 ) エンド SMR BGR ISBA ISMK FCR1 FCR0 IBCR IBSR FBYTE1 FBYTE2 TDR CM71-10143-5 :シリアルモードレジスタ (SMR) :ボーレートジェネレータレジスタ (BGR) :7ビットスレーブアドレスレジスタ (ISBA) :7ビットスレーブアドレスマスクレジスタ (ISMK) :FIFO 制御レジスタ1 (FCR1) :FIFO 制御レジスタ0 (FCR0) :I2Cバス制御レジスタ (IBCR) :I2Cバスステータスレジスタ (IBSR) :FIFO1バイトレジスタ (FBYTE1) :FIFO2バイトレジスタ (FBYTE2) :送信データレジスタ (TDR) FUJITSU SEMICONDUCTOR LIMITED 445 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-3 マスタ受信割込み処理 ( 続く ) 受信割込み処理 バスエラー? YES IBCR:BER=1 NO アービトレーションエラー? YES IBSR:AL=1 NO NO SSR:RDRF=1 FIFO END? (受信完了) YES FIFO受信データ読出し(RDR) 3 IBCR IBSR SSR RDR 1 エラー 2 :I2Cバス制御レジスタ (IBCR) :I2Cバスステータスレジスタ (IBSR) :シリアルステータスレジスタ (SSR) :受信データレジスタ (RDR) * 実際のエラー処理は,各ステータスエラーフラグの判断および各エラーの処理を,お客様のシステムを 考慮して行ってください。 * FIFO受信を連続して行う場合の最終ACK処理について, WSEL=1に設定した場合, 最終データ受信後に ウェイトが発生します。このウェイト中にIBSR.RACK=1に設定し, NACKで応答してください。 446 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-3 マスタ受信割込み処理 ( 続き) 1 IBCR:MSS=1 かつ I2C/マスタ動作確認 IBCR:ACT=1 NO YES 受信データ数(ダミーデー タライト数)分すべて 全データ転送終了? NO 受信されたかをソフト で判断。 YES 反復スタート? NO YES WSEL=1の場合は,ユーザ による NACK送信設定が必 FIFOバッファ書込み 要です。NACK送信後 I NTフ スレーブアドレス+ 通信方向(Read) ラグが"1"になります。 ダミーデータFIFO格納(TDR) 反復スタート条件設定(IBCR:SCC=1) 2 WSEL=1の場合は, ユーザ 3 による NACK送信設定が必 要です。 割込みクリア(IBCR:INT=0) Stop Condition (IBCR:MSS=0) エンド IBCR : I2Cバス制御レジスタ(IBCR) TDR : 送信データレジスタ(TDR) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 447 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-4 スレーブ送信メイン設定 スタート スレーブ送信初期設定 エラーフラグ=1 通信エラー? NO YES 2 I C停止(ISMK:EN=0) エンド ISMK:7ビットスレーブアドレスマスクレジスタ (ISMK) 448 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 図 15.22-5 スレーブ送信初期設定 スタート 初期設定: I2Cモード設定 (SMR) ボーレート設定 (BGR) スレーブアドレス設定 (ISBA) スレーブマスク設定 (ISMK) 反復スタート割込み許可 (IBCR:CNDE=1) INT割込み許可 (IBCR:INTE=1) I2C許可設定 (ISMK:EN=1) スレーブ設定 (IBCR:MSS=0) FIFO設定: FIFO制御レジスタ1設定 (FCR1) FIFO制御レジスタ0設定 (FCR0) FIFOバッファ書込み: 送信データFIFO格納 (TDR) エンド SMR BGR ISBA ISMK IBCR FCR1 FCR0 TDR :シリアルモードレジスタ (SMR) :ボーレートジェネレータレジスタ (BGR) :7ビットスレーブアドレスレジスタ (ISBA) :7ビットスレーブアドレスマスクレジスタ (ISMK) :I2Cバス制御レジスタ (IBCR) :FIFO 制御レジスタ1 (FCR1) :FIFO 制御レジスタ0 (FCR0) :送信データレジスタ (TDR) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 449 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-6 スレーブ送信割込み処理 送信割込み処理 バスエラー? YES IBCR:BER=1 送受信を中断し た場合もマスタ NO からNACKが YES 出力されます。 反復スタート検出? (IBSR:RSC=1) FIFOバッファ書込み: NO 送信データFIFO格納 (TDR) 割込みフラグのクリア NO (IBSR:RSC=0) 最終データ時NACK応答? (IBSR:RACK=1) 送受信が中断さ エラー れたかをFIFOの YES YES FIFOにデータが存在する? データの有無で 判断します。 (SSR:TDRE=0) FIFO動作禁止 (FCR0=0x00) FIFOリセット (FCR0:FCL=1) NO 送信データエンプティプラグ の設定 (SSR:TSET=1) FIFO動作許可 (FCR0=0x03) 書込みクリア (IBCR:INT=0) エンド IBSR TDR SSR FCR0 IBCR :I2Cバスステータスレジスタ (IBSR) :送信データレジスタ (TDR) :シリアルステータスレジスタ (SSR) :FIFO 制御レジスタ0 (FCR0) :I2Cバス制御レジスタ (IBCR) * 実際のエラー処理は, 各ステータスエラーフラグの判断および各エラーの処理を,お客様のシステムを 考慮して行ってください。 450 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 ■ I2C マスタ送信 / スレーブ受信 FIFO 通信フロー 図 15.22-7 マスタ送信メイン設定 スタート マスタ送信初期設定 エラーフラグ=1 通信エラー? NO YES I2C停止 (ISMK:EN=0) エンド ISMK:7ビットスレーブアドレスマスクレジスタ (ISMK) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 451 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-8 マスタ送信初期設定 スタート 初期設定: I2Cモード設定 (SMR) ボーレート設定 (BGR) FIFO設定: FIFO制御レジスタ1設定 (FCR1) FIFO制御レジスタ0設定 (FCR0) INT割込み許可 (IBCR:INTE=1) I2C許可設定 (ISMK:EN=1) FIFOバッファ書込み: スレーブアドレス + 通信方向 (Write) 送信データFIFO格納 (TDR) バスビジー? YES IBSR:BB=1 NO エラー 動作モード設定: マスタ (IBCR:MSS =1 ) エンド SMR BGR ISBA ISMK FCR1 FCR0 IBCR IBSR TDR 452 :シリアルモードレジスタ (SMR) :ボーレートジェネレータレジスタ (BGR) :7ビットスレーブアドレスレジスタ (ISBA) :7ビットスレーブアドレスマスクレジスタ (ISMK) :FIFO 制御レジスタ1 (FCR1) :FIFO 制御レジスタ0 (FCR0) :I2Cバス制御レジスタ (IBCR) :I2Cバスステータスレジスタ (IBSR) :送信データレジスタ (TDR) FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-9 マスタ送信割込み処理 ( 続く ) 送信割込み処理 バスエラー? YES IBCR:BER=1 NO アービトレーションエラー? YES IBSR:AL=1 NO NACKエラー? YES IBSR:RACK=1 エラー NO 1 2 IBCR:I2Cバス制御レジスタ (IBCR) IBSR:I2Cバスステータスレジスタ (IBSR) * 実際のエラー処理は, 各ステータスエラーフラグの判断および各エラーの処理を, お客様のシステムを考慮して行ってください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 453 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-9 マスタ送信割込み処理 ( 続き ) 1 I 2C/マスタ動作確認 NO IBCR:MSS=1 かつ IBCR:ACT=1 全データ転送終了は, YES 送信データ数をすべて NO 送信バッファに書いた SSR:TDRE=1 かつ かソフトで判断。 全データ転送終了? YES システム全体の反復 NO パケット動作要求の 反復スタート要求? 判断。 YES 反復動作イニシャル設定 FIFOバッファ書込み: スレーブアドレス+ 通 信方向( Write) 送信データ FIFO格納(TDRx) 反復スタート条件設定(IBCR:SCC=1) 2 割込みクリア(IBCR:INT=0) Stop Condition (IBCR:MSS=0) エンド IBCR : I2Cバス制御レジスタ(IBCR) TDR : 送信データレジスタ(TDR) SSR : シリアルステータスレジスタ(SSR) * 実際のエラー処理は, 各ステータスエラーフラグの判断および各エラーの処理を お客様のシステムを考慮して行ってください。 454 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 図 15.22-10 スレーブ受信メイン設定 スタート スレーブ受信初期設定 エラーフラグ=1 通信エラー? NO YES I2C停止 (ISMK:EN=0) エンド ISMK:7ビットスレーブアドレスマスクレジスタ (ISMK) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 455 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-11 スレーブ受信初期設定 スタート 初期設定: I2Cモード設定 (SMR) ボーレート設定 (BGR) スレーブアドレス設定 (ISBA) スレーブマスク設定 (ISMK) INT割込み許可 (IBCR:INTE=1) I2C許可設定 (ISMK:EN=1) スレーブ設定 (IBCR:MSS =0 ) FIFO設定: FIFO制御レジスタ1設定 (FCR1) FIFO制御レジスタ1の FIFO制御レジスタ0設定 (FCR0) FSEL値によって受信 FIFOが異なります。 FIFO受信バイト数設定 (FBYTE1=xx FBYTE2=00 or FBYTE1=00 FBYTE2=xx) エンド SMR :シリアルモードレジスタ (SMR) BGR :ボーレートジェネレータレジスタ (BGR) ISBA :7ビットスレーブアドレスレジスタ (ISBA) ISMK :7ビットスレーブアドレスマスクレジスタ (ISMK) IBCR :I2Cバス制御レジスタ (IBCR) FCR1 :FIFO 制御レジスタ1 (FCR1) FCR0 :FIFO 制御レジスタ0 (FCR0) FBYTE1:FIFO1バイトレジスタ (FBYTE1) FBYTE2:FIFO2バイトレジスタ (FBYTE2) 456 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 15 章 マルチファンクション シリアルインタフェース 15.22 I2C のフローチャート例 MB91313A シリーズ 図 15.22-12 スレーブ受信割込み処理 受信割込み処理 バスエラー? YES IBCR:BER=1 NO FIFO END? (受信完了) SSR:RDRF=1 NO YES エラー FIFO受信データ読出し(RDR) 割込みクリア(IBCR:INT=0) エンド IBSR SSR RDR IBCR :I2Cバスステータスレジスタ (IBSR) :シリアルステータスレジスタ (SSR) :受信データレジスタ (RDR) :I2Cバス制御レジスタ (IBCR) * 実際のエラー処理は, 各ステータスエラーフラグの判断および各エラーの処理を, お客様のシステムを考慮して行ってください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 457 第 15 章 マルチファンクション シリアルインタフェース 15.23 I2C モードの注意事項 15.23 MB91313A シリーズ I2C モードの注意事項 I2C モードの注意事項を下記に示します。 • FIFO 付きチャネルで DMA 転送要求する場合 , FIFO は使用できません。FIFO 動作 禁止の設定としてください。 • DMA 転送要求する場合 , DMA のブロックサイズを 1 回に設定してください。 • マスタ受信およびスレーブ受信時には , データ受信用の DMA 転送と , ダミーデータ 送信用の DMA 転送が必要なため , DMA を 2 チャネル使用する必要があります。 • I2C モードでは , 送信レジスタ (TDR) に有効なデータがなく , 送信データエンプティ フラグビット (TDRE) が "1" の状態で , I2C バス上のデータが 9 ビット目 (WSEL=0 時 ) または 8 ビット目 (WSEL=1 時 ) まで送信された場合 , 図 15.23-1 のように割込みフ ラグ (INT) が "1" となります。DMA 転送中に割込みフラグ (INT) が "1" になると , ソフトで "0" クリアしない限り , DMA 転送が継続できません。( マスタ送信 , スレー ブ送信 , マスタ受信 , スレーブ受信共 ) 図 15.23-1 I2C の INT ビット変化タイミング (WSEL=0 時 ) SCL SDA DATA ACK DATA ACK TDRE bit TDRへの DMA転送 INT bit 上記のような仕様のため , I2C モードで DMA 転送する場合には , 割込みフラグ (INT) が "1" となる前に , TDR への DMA 転送が行われるように対応してください。I2C の DMA 転送を優先するには , 以下のような対応があります。 - 優先度が高い ( チャネル番号が小さい ) DMA を使用する。優先順位設定ビットを 固定 (AT=0) で使用する場合に有効。 - DMA 転送抑止割込みレベルビット (DILVR レジスタの LVL4-LVL0 ビット ) を可 能な限り小さい値にする。 458 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 15 章 マルチファンクション シリアルインタフェース 15.23 I2C モードの注意事項 • 送信データエンプティフラグ (SSR:TDRE) が "1" になって送信データレジスタ (TDR) に送信データを DMA 転送によって書くか , またはソフトによって送信データエン プティフラグ (SSR:TDRE) を確認して書く場合 , 送信データエンプティフラグ (SSR:TDRE) が "0" にならない場合があるため , ACK フィールドの SCL が立下がる までに送信データを書いてください。ソフトによって割込みフラグ (IBCR:INT) が "1" になってから送信データを書く場合は特に制限はありません。 DMA 転送時またはソフトにて送信データエンプティフラグ (SSR:TDRE) による送信 処理を行うとき , ACK フィールドの SCL が立ち下がるまでに送信データを書くのが 遅れる場合には以下の設定および手順にしてください。 - 設定 割込みフラグ (IBCR:INT) が "1" になるタイミングを 8 ビット目に設定 (WSEL=1) する。 - 手順 マスタで送受信を行う場合 , 以下の手順で処理してください。スレーブで送受信 を行う場合には , 下記手順は必要ありません。 1. ソフトにて第一バイト ( スレーブアドレス ) を送信データレジスタに書く。 2. マスタ起動 (IBCR:MSS="1" ライト ) と同時にウエイト選択を 8 ビットに設定 (IBCR:WSEL="1" ライト ) する。 3. 第一バイト送信後 , 割込みフラグ (IBCR:INT) が "1" になるので ACK 応答 (IBSR:RACK="0") を確認後 , 第二バイト目をソフトによって送信データレジ スタ (TDR) に書いてから DMAC の設定を行い , DMA 転送を起動し , 割込み フラグ (IBCR:INT) に "0" を書く。 4. 送受信が終了した場合 , マスタの終了 (IBCR:MSS="0" ライト ) または再起動 (IBCR:SCC="1" ライト ) を行います。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 459 第 15 章 マルチファンクション シリアルインタフェース 15.23 I2C モードの注意事項 460 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) DMA コントローラ (DMAC) の概要 , レジスタの構 成および動作について説明します。 16.1 DMA コントローラの概要 16.2 DMA コントローラの動作 16.3 転送要求の設定 16.4 転送シーケンス 16.5 動作フローチャート 16.6 データバス CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 461 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 16.1 MB91313A シリーズ DMA コントローラの概要 本モジュールは , FR ファミリデバイスにて DMA (Direct Memory Access) 転送を 実現するためのモジュールです。 本モジュールの制御による DMA 転送により , CPU を介さずに各種データ転送を高 速に行うことが可能となり , システムのパフォーマンスを増加させます。 ■ ハードウェア構成 本モジュールは , 主に以下のものより構成されます。 • 独立した DMA チャネル× 5 チャネル • 5 チャネル独立アクセス制御回路 • 20 ビットアドレスレジスタ ( リロード指定可能 : ch.0 ∼ ch.3) • 24 ビットアドレスレジスタ ( リロード指定可能 : ch.4) • 16 ビット転送回数レジスタ ( リロード指定可能 : 各チャネル 1 本 ) • 4 ビットブロック回数レジスタ ( 各チャネル 1 本 ) • 2 サイクル転送 ■ 主要機能 本モジュールによるデータ転送には主に以下のような機能があります。 • 複数チャネルの独立したデータ転送が可能 (5 チャネル ) • 優先順位 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4) • ch.0 と ch.1 間にて順位回転が可能 • DMAC 起動要因 - 内蔵周辺要求 - ソフトウェア要求 ( レジスタ書込み ) • 転送モード - バースト転送 / ステップ転送 / ブロック転送 - アドレッシングモード 20 ビット (24 ビット ) アドレス指定 ( 増加 / 減少 / 固定 ) ( アドレス増減幅は± 1, 2, 4 固定 ) - データの種類バイト / ハーフワード / ワード長 - シングルショット / リロード選択可能 462 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ ■ DMA コントローラのレジスタ 図 16.1-1 DMA コントローラのレジスタ bit 31 ch.0 コントロール / ステータスレジスタ A DMACA0 000200H ch.0 コントロール / ステータスレジスタ B DMACB0 000204H ch.1 コントロール / ステータスレジスタ A DMACA1 000208H ch.1 コントロール / ステータスレジスタ B DMACB1 00020CH ch.2 コントロール / ステータスレジスタ A DMACA2 000210H ch.2 コントロール / ステータスレジスタ B DMACB2 000214H ch.3 コントロール / ステータスレジスタ A DMACA3 000218H ch.3 コントロール / ステータスレジスタ B DMACB3 00021CH ch.4 コントロール / ステータスレジスタ A DMACA4 000220H ch.4 コントロール / ステータスレジスタ B DMACB4 000224H 全体制御レジスタ DMACR 000240H ch.0 転送元アドレスレジスタ DMASA0 bit 31 001000H ch.0 転送先アドレスレジスタ DMADA0 001004H ch.1 転送元アドレスレジスタ DMASA1 001008H ch.1 転送先アドレスレジスタ DMADA1 00100CH ch.2 転送元アドレスレジスタ DMASA2 001010H ch.2 転送先アドレスレジスタ DMADA2 001014H ch.3 転送元アドレスレジスタ DMASA3 001018H ch.3 転送先アドレスレジスタ DMADA3 00101CH ch.4 転送元アドレスレジスタ DMASA4 bit 31 001020H ch.4 転送先アドレスレジスタ DMADA4 001024H CM71-10143-5 0 20 24 23 FUJITSU SEMICONDUCTOR LIMITED 19 0 0 463 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ ■ ブロックダイヤグラム カウンタ バスコントローラへ DMA転送要求 バッファ セレクタ ライトバック 図 16.1-2 ブロックダイヤグラム DMA起動要因 選択回路 & 要求受付け 制御 DTC2段レジスタ DTCR ペリフェラル起動要求/停止入力 カウンタ DSS[2:0] バッファ リード ライト リード/ライト 制御 優先度回路 割込みコントローラへ IRQ[4:0] 周辺割込みクリア MCLREQ ERIE,EDIR セレクタ BLKレジスタ 464 バス制御部 カウンタバッファ セレクタ セレクタ アドレス DMAコントロール カウンタバッファ アクセス アドレスカウンタ バスコン トローラ へ バス制御部 状態遷移回路 DMASA2段レジスタ SADM,SASZ[7:0] SADR DMADA2段レジスタ DADM,DASZ[7:0] X-bus TYPE,MOD,WS ライトバック DADR ライトバック FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ ■ レジスタ設定時の注意 DMAC の設定をする場合 , DMA が停止しているときに行う必要があるビットがありま す。動作中 ( 転送中 ) に設定した場合 , 正常な動作は保証されません。 * マークは DMA 転送中に設定すると動作に影響するビットです。このビットの書換え は DMA 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってください。 DMA 転送の起動禁止状態 (DMACR:DMAE=0 または DMACA:DENB=0 のとき ) で設定 した場合 , 起動許可後に設定は有効になります。 DMA 転送の一時停止状態 (DMACR:DMAH[3:0] ≠ 0000B または DMACA:PAUS=1 のと き ) で設定した場合は , 一時停止解除後に設定は有効になります。 ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ A [DMACA0 ∼ DMACA4] DMAC 各チャネルの動作制御を行うレジスタで , 各チャネルごとに独立して存在しま す。各ビット機能は以下に示すとおりです。 図 16.1-3 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ A [DMACA0 ∼ DMACA4] bit 31 30 29 28 27 DENB PAUS STRG bit 15 14 13 26 25 24 23 22 IS4~IS0 11 11 10 21 20 19 8 7 6 17 16 BLK3~BLK0 予約 9 18 5 4 3 2 1 0 DTC15~DTC0 ( 初期値 : 00000000H) [bit31] DENB (Dma ENaBle) : DMA 動作許可ビット 各転送チャネルに対応し , DMA 転送の起動許可 / 禁止を行います。 起動されたチャネルは, 転送要求が発生し受け付けられるとDMA転送を開始します。 起動許可されていないチャネルに対して発生した転送要求は , すべて無効となりま す。 起動されたチャネルの転送が指定回数分すべて終了した場合 , 本ビットは "0" にな り , 転送は停止します。 本ビットに "0" を書き込むと強制停止しますが , 必ず PAUS ビット [DMACA:bit30] で DMA を一時停止状態にしてから強制停止 (0 書込み ) してください。一時停止し ないで強制停止した場合は DMA は停止しますが転送データは保証されません。停 止の確認は DSS[2:0] ビット (DMACB:bit18 ∼ bit16) で行ってください。 DENB CM71-10143-5 機能 0 対応チャネル DMA 動作禁止 ( 初期値 ) 1 対応チャネル DMA 動作許可 FUJITSU SEMICONDUCTOR LIMITED 465 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ • リセット時 , 停止要求が受け付けられた場合 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 • DMAC 全体制御レジスタ DMACR の bit15:DMAE ビットにより , 全チャネルの動 作が禁止されている場合 , 本ビットへの "1" 書込みは無効となり停止状態を維持 します。また , 本ビットにより動作が許可されている状態にて前記ビットにより 動作が禁止された場合 , 本ビットは "0" となり , 転送は中断します ( 強制停止 ) 。 [bit30] PAUS (PAUSe) : 一時停止指示 対応するチャネルの DMA 転送の一時停止制御を行います。本ビットがセットされ ると , 再び本ビットがクリアされるまでの間は , DMA 転送を行いません (DMA が停 止中は DSS ビットが "1XXB" になります ) 。 起動前に本ビットをセットしてから起動した場合 , 一時停止状態のままとなります。 本ビットがセットされている間に新たに発生した転送要求は受け付けられますが , 本ビットをクリアしないと転送は開始しません (「■ 転送要求の受付けと転送」を 参照 )。 PAUS 機能 0 対応チャネル DMA 動作許可 ( 初期値 ) 1 対応チャネル DMA 一時停止 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit29] STRG (Software TRiGger) : 転送要求 対応するチャネルの DMA 転送要求を生成します。本ビットに "1" を書き込むと , レ ジスタへの書込みが終了した時点より転送要求が発生し , 対応チャネルの転送を開 始します。ただし , 対応するチャネルが起動されていない場合は , 本ビットへの操 作は無効となります。 ( 注意事項 ) DMAE ビットの書込みによる起動と同時に本ビットによる転送要求が 同時の場合 , 転送要求は有効となり , 転送を開始します。また , PAUS ビットへの"1"書込みと同時である場合, 転送要求は有効となりますが, PAUS ビットを "0" に戻すまで DMA 転送は開始しません。 STRG 機能 0 無効 1 DMA 起動要求 • リセット時 : "0" に初期化されます。 • 読出し値は常に "0" となります。 • 書込み値は "1" のみ有効で , "0" は動作に影響を与えません。 466 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ [bit28 ∼ bit24] IS4 ∼ IS0 (Input Select)* : 転送要因選択 転送要求の要因を以下のように選択します。ただし , STRG ビット機能によるソフ トウェア転送要求は本設定にかかわらず有効となります。 IS 機能 00000B ソフトウェア転送要求のみ 00001B ∼ 01111B 設定禁止 10000B UART0 ( 受信完了 ) 10001B UART1 ( 受信完了 ) 10010B UART2 ( 受信完了 ) 10011B UART0 ( 送信完了 ) 10100B UART1 ( 送信完了 ) 10101B UART2 ( 送信完了 ) 10110B 設定禁止 10111B 設定禁止 11000B 設定禁止 11001B 設定禁止 11010B 設定禁止 11011B 設定禁止 11100B PPG0 11101B PPG1 11110B PPG2 11111B PPG3 転送停止要求 なし あり なし • リセット時 : "00000B" に初期化されます。 • 読出しおよび書込みが可能です。 ( 注意事項 ) ・ 周辺機能の割込みによる DMA 起動を設定した場合 (IS=1XXXXB), 選 択した機能は , ICR レジスタで割込みを禁止状態にしてください。 ・ また , 周辺機能の割込みによる DMA 起動を設定した状態で , ソフト ウェア転送要求により DMA 転送を起動すると , 転送終了後 , 該当す る周辺に対して要因クリアを行います。このため , 本来の転送要求 をクリアしてしまう可能性がありますので , 周辺機能の割込みによ る DMA 起動を設定した状態では , ソフトウェア転送要求による起動 を行わないでください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 467 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ [bit23 ∼ bit20] 予約 : 予約ビット 読出し値は "0000B" 固定です。書込みは無効となります。 [bit19 ∼ bit16] BLK3 ∼ BLK0 (BLocK size) : ブロックサイズ指定 対応するチャネルのブロック転送時のブロックサイズを指定します。本ビットに設 定した値が 1 回の転送単位におけるワード数 ( 正確には , データ幅設定の繰返し回 数 ) となります。ブロック転送を行わない場合は 0001B ( サイズ 1) を設定してくだ さい。 BLK XXXXB 機能 対応チャネルのブロックサイズ指定 • リセット時 : "0000B" に初期化されます。 • 読出しおよび書込みが可能です。 • 全ビット "0" を指定した場合 , ブロックサイズは 16 ワードとなります。 • 読出し時は , 常にブロックサイズ ( リロード値 ) が読み出されます。 [bit15 ∼ bit0] DTC15~DTC0 (Dma Terminal Count register) * : 転送回数レジスタ 転送回数を格納するレジスタです。各レジスタは 16 ビット長で構成されています。 すべてのレジスタは , 専用のリロードレジスタを持っています。転送回数レジスタ のリロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設 定値をレジスタに戻します。 DTC XXXXH 機能 対応チャネルの転送回数指定 DMA 転送が起動すると , 本レジスタのデータを DMA 専用転送回数カウンタのカウ ンタバッファに格納して 1 転送単位ごとに− 1 カウントします ( 減算 ) 。DMA 転送 終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は終了し ます。よって DMA 動作中の転送回数指定値を読み出すことはできません。 • リセット時 : "0000H" に初期化されます。 • 読出しおよび書込みが可能です。DTC のアクセスは , 必ずハーフワード長または ワード長にてアクセスしてください。 • 読出し時の値は , カウント値となります。リロード値の読出しはできません。 468 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ B [DMACB0 ∼ DMACB4] DMAC 各チャネルの動作制御を行うレジスタで , 各チャネルごとに独立して存在しま す。各ビット機能は以下に示すとおりです。 図 16.1-4 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ B [DMACB0 ∼ DMACB4] アドレス ch.0 ch.1 ch.2 ch.3 ch.4 bit 31 30 29 28 27 26 TYPE1,TYPE 0 MOD1,MOD0 WS1,WS0 000204H 00020CH 000214H 00021CH bit 15 14 13 11 11 10 000224H SASZ7~SASZ0 25 24 23 22 21 20 19 18 SADM DADM DTCR SADR DADR ERIE EDIE 9 8 7 6 5 4 3 17 16 DSS2~DSS0 2 1 0 DASZ7~DASZ0 ( 初期値 : 00000000H) [bit31, bit30] TYPE1, TYPE0 (TYPE) * : 転送タイプ設定 対応チャネルの動作タイプを以下のように設定します。 2 サイクル転送モード : 転送元アドレス (DMASA) と転送先アドレス (DMADA) を設 定して読出し動作と書込み動作を転送回数分繰り返して転 送するモードです。 TYPE1, TYPE0 機能 00B 2 サイクル 転送 ( 初期値 ) 01B 設定禁止 10B 設定禁止 11B 設定禁止 • リセット時 : "00B" に初期化されます。 • 読出しおよび書込みが可能です。 • 必ず "00B" に設定してください。 [bit29, bit28] MOD1, MOD0 (MODe)* : 転送モード設定 対応チャネルの動作モードを以下のように設定します。 MOD1, MOD0 機能 00B ブロック / ステップ転送モード ( 初期値 ) 01B バースト転送モード 10B 設定禁止 11B 設定禁止 • リセット時 : "00B" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 469 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ [bit27, bit26] WS1, WS0 (Word Size) : 転送データ幅選択 対応チャネルの転送データ幅を選択します。本レジスタに設定したデータ幅単位で 指定回数分の転送を行います。 WS1, WS0 機能 00B バイト単位で転送 ( 初期値 ) 01B ハーフワード単位で転送 10B ワード幅単位で転送 11B 設定禁止 • リセット時 : "00B" に初期化されます。 • 読出しおよび書込みが可能です。 [bit25] SADM (Source-ADdr. count-Mode select) * : 転送元アドレスカウントモード 指定 対応するチャネルの転送元アドレスの 1 転送ごとのアドレス処理を指定します。 アドレス増加 / 減少は , 設定された転送元アドレスカウント幅 (SASZ) に従って 1 転 送後に加算 / 減算され , 転送終了時に次回アクセス用アドレスが対応するアドレス レジスタ (DMASA) に書き込まれます。 よって , DMA 転送が終了されるまで転送元アドレスレジスタは更新されません。 アドレス固定にする場合は , 本ビットを "0" または "1" に指定してアドレスカウン ト幅 (SASZ, DASZ) を "0" としてください。 SADM 機能 0 転送元アドレスは増加します。( 初期値 ) 1 転送元アドレスは減少します。 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 470 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ [bit24] DADM (Destination-ADdr. Count-Mode select) * : 転送先アドレス カウントモード指定 対応するチャネルの転送先アドレスの 1 転送ごとのアドレス処理を指定します。 アドレス増加 / 減少は , 設定された転送先アドレスカウント幅 (DASZ) に従って 1 転 送後に加算 / 減算され , 転送終了時に次回アクセス用アドレスが対応するアドレス レジスタ (DMADA) に書き込まれます。 よって , DMA 転送が終了されるまで転送先アドレスレジスタは更新されません。 アドレス固定にする場合は , 本ビットを "0" または "1" に指定してアドレスカウン ト幅 (SASZ, DASZ) を "0" としてください。 DADM 機能 0 転送先アドレスは増加します。( 初期値 ) 1 転送先アドレスは減少します。 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit23] DTCR (DTC-reg. Reload) * : 転送回数レジスタリロード指定 対応するチャネルの転送回数レジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に回数レジスタ値 を初期設定値に戻して停止し , 転送要求 (STRG または IS 設定による起動要求 ) 待 ち状態になります ( 本ビットが 1 の場合 , DENB ビットはクリアされません )。 DENB=0, または DMAE=0 を設定すると強制停止します。 回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード 指定をしていても , 転送終了にて停止するシングルショット動作となります。この 場合 , DENB ビットはクリアされます。 DTCR 機能 0 転送回数レジスタリロードを禁止 ( 初期値 ) 1 転送回数レジスタリロードを許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 471 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ [bit22] SADR (Source-ADdr.-reg. Reload) *: 転送元アドレスレジスタリロード指定 対応するチャネルの転送元アドレスレジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に転送元アドレス レジスタ値を初期設定値に戻します。 回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード 指定をしていても , 転送終了にて停止するシングルショット動作となります。この 場合 , アドレスレジスタ値は初期設定値がリロードされた状態で停止します。 本ビットによりリロード動作が禁止されている場合は , 転送終了時のアドレスレジ スタ値は最終アドレスの次のアクセスアドレスとなります ( アドレス増加を指定し ている場合は , 増加したアドレスとなります ) 。 SADR 機能 0 転送元アドレスレジスタリロード禁止 ( 初期値 ) 1 転送元アドレスレジスタリロード許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit21] DADR (Dest.-ADdr.-reg. Reload) * : 転送先アドレスレジスタリロード指定 対応するチャネルの転送先アドレスレジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に転送先アドレス レジスタ値を初期設定値に戻します。 その他 , 機能の詳細は bit22:SADR の内容と等価になります。 DADR 機能 0 転送先アドレスレジスタリロード禁止 ( 初期値 ) 1 転送先アドレスレジスタリロード許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit20] ERIE (ERror Interrupt Enable) * : エラー割込み出力許可 エラー発生による終了時の割込み発生を制御します。発生したエラーの内容は DSS2 ∼ DSS0 にて示されます。すべての終了要因で本割込みが発生するのではな く , 特定の終了要因の際のみ割込みが発生することに注意してください (DSS2 ∼ DSS0 ビット説明を参照 ) 。 ERIE 機能 0 エラー割込み要求出力禁止 ( 初期値 ) 1 エラー割込み要求出力許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 472 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ [bit19] EDIE (EnD Interrupt Enable) * : 終了割込み出力許可 正常終了時の割込み発生を制御します。 EDIE 機能 0 終了割込み要求出力禁止 ( 初期値 ) 1 終了割込み要求出力許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit18 ∼ bit16] DSS2 ∼ DSS0 (Dma Stop Status)* : 転送停止要因表示 対応するチャネルの DMA 転送停止 / 終了の要因を示す 3 ビットのコード ( 終了コー ド ) を表示します。終了コードの内容は以下のとおりです。 DSS2 機能 割込み発生 0 初期値 なし 1 DMA 一時停止中 (DMAH, PAUS ビット , 割込みなど ) なし DSS1, DSS0 00B 機能 初期値 01B 割込み発生 なし ― なし 10B 転送停止要求 エラー 11B 正常終了 終了 転送停止要求は , 周辺回路からの要求を使用した場合のみセットされます。 ( 注意事項 ) 「割込み発生」欄は , 発生可能な割込み要求の種類を示します。 • リセット時 : "000B" に初期化されます。 • "000B" を書き込むことによりクリアされます。 • 読出しおよび書込みが可能ですが , 本ビットへの書込みは "000B" のみ有効とな ります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 473 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ [bit15 ∼ bit8] SASZ7 ∼ SASZ0 (Source Addr count SiZe) * : 転送元アドレス カウントサイズ指定 対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減幅を指定します。 本ビットに設定した値が 1 回の転送単位におけるアドレス増減幅となります。アド レスの増減は転送元アドレスカウントモード (SADM) の指定に従います。 SASZ7 ∼ SASZ0 機能 00H アドレス固定 01H バイト単位で転送 02H ハーフワード単位で転送 04H ワード単位で転送 上記以外 設定禁止 • リセット時 : "00H" に初期化されます。 • 読出しおよび書込みが可能です。 • アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位のみ設定 可能です。 [bit7 ∼ bit0] DASZ7 ∼ DASZ0 (Des Addr count SiZe) * : 転送先アドレス カウントサイズ指定 対応するチャネルの 1 転送ごとの転送先アドレス (DMADA) の増減幅を指定します。 本ビットに設定した値が 1 回の転送単位におけるアドレス増減幅となります。アド レスの増減は転送先アドレスカウントモード (DADM) の指定に従います。 DASZ7 ∼ DASZ0 機能 00H アドレス固定 01H バイト単位で転送 02H ハーフワード単位で転送 04H ワード単位で転送 上記以外 設定禁止 • リセット時 : "00H" に初期化されます。 • 読出しおよび書込みが可能です。 • アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位のみ設定 可能です。 474 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ [DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4] DMAC 各チャネルの動作制御を行うレジスタで , 各チャネルごとに独立して存在しま す。各ビット機能は以下に示すとおりです。 図 16.1-5 DMAC 転送元 / 転送先アドレス設定レジスタ アドレス : ch.0 001000H ch.1 001008H ch.2 001010H ch.3 001018H bit 31 30 29 28 27 26 25 24 23 22 21 20 15 14 13 12 11 10 18 17 16 DMASA0 ∼ DMASA3 [19 : 16] − bit 19 9 8 7 6 5 4 3 2 1 0 21 20 19 18 17 16 DMASA0 ∼ DMASA3 [15 : 0] ( 初期値 : 00000000H) アドレス : ch.0 001004H ch.1 00100CH ch.2 001014H ch.3 00101CH bit 31 30 29 28 27 26 25 24 23 22 DMADA0 ∼ DMADA3 [19 : 16] − bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 19 18 17 16 DMADA0 ∼ DMADA3[15 : 0] ( 初期値 : 00000000H) 図 16.1-6 DMAC 転送元 / 転送先アドレス設定レジスタ アドレス : bit 31 30 29 28 ch.4 001020H 27 26 25 24 23 22 15 14 13 12 20 DMASA4 [23 : 16] − bit 21 11 10 9 8 7 6 5 4 3 2 1 0 22 21 20 19 18 17 16 1 0 DMASA4[15 : 0] ( 初期値 : 00000000H) アドレス : bit 31 30 29 28 ch.4 001024H 27 26 25 24 23 DMADA4 [23 : 16] − bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 DMADA4[15 : 0] ( 初期値 : 00000000H) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 475 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ 転送元 / 転送先アドレスを格納するレジスタ群です。ch.0 ∼ ch.3 は 20 ビット長 , ch.4 は 24 ビット長で構成されています。 [bit31 ∼ bit0] DMASA (DMA Source Addr) * : 転送元アドレス設定 転送元アドレスの設定を行います。 [bit31 ∼ bit0] DMADA (DMA Destination Addr) * : 転送先アドレス設定 転送先アドレスの設定を行います。 DMA 転送が起動すると , 本レジスタのデータを DMA 専用アドレスカウンタのカウ ンタバッファに格納して 1 転送ごとに設定に従いアドレスカウントします。DMA の転送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は 終了します。よって , DMA 動作中のアドレスカウンタ値を読み出すことはできませ ん。 すべてのレジスタは , 専用のリロードレジスタを持っています。転送元 / 転送先ア ドレスレジスタのリロードを許可しているチャネルに使用した場合 , 転送終了時に 自動的に初期設定値をレジスタに戻します。この際 , ほかのアドレスレジスタには 影響を与えません。 • リセット時 : "00000000H" に初期化されます。 • 読出しおよび書込みが可能です。本レジスタは , 必ず 32 ビットデータでアクセ スしてください。 • 読出し時の値は , 転送中は転送前のアドレス値 , 転送終了時には次のアクセスア ドレス値となります。リロード値の読出しはできません。よって , 転送アドレス をリアルタイムで読み出すことはできません。 • 存在しない上位ビットには , "0" を設定してください。 <注意事項> 本レジスタにて DMAC 自身のレジスタを設定しないでください。DMAC 自身のレジスタ に DMA 転送を行うことはできません。 476 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4DMAC 全体制御レジスタ [DMACR] DMAC5 チャネル分全体の動作制御を行うレジスタです。本レジスタは必ずバイト長で アクセスしてください。 各ビット機能は以下に示すとおりです。 図 16.1-7 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4DMAC 全体制御レジスタ [DMACR] アドレス : bit 000240H 31 30 29 28 DMAE 予約 予約 PM01 bit 15 14 13 12 27 26 25 24 DMAH 3 ∼ DMAH0 11 10 9 23 22 21 20 19 18 17 16 予約 予約 予約 予約 予約 予約 予約 予約 8 7 6 5 4 3 2 1 0 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 予約 ( 初期値 : 0XX00000 XXXXXXXX XXXXXXXX XXXXXXXXB) [bit31] DMAE (DMA Enable) : DMA 動作許可 DMA 全チャネルの動作制御を行います。 本ビットにより DMA 動作が禁止されている場合 , 各チャネルごとの起動 / 停止の設 定や動作状態にかかわらず , 全チャネルの転送動作が禁止されます。転送中であっ たチャネルは要求を取り下げ , ブロック境界にて転送を停止します。禁止状態にて , 各チャネルに対して行われる起動操作は , すべて無効となります。 本ビットにより DMA 動作が許可されている場合 , 各チャネルごとに起動 / 停止操 作が有効となります。本ビットで DMA 動作許可を行ったのみでは , 各チャネルに 対する起動は行われません。 本 ビ ッ ト に "0" を 書 き 込 む と 強 制 停 止 し ま す が , 必 ず DMAH[3:0] ビ ッ ト (DMACR:bit27 ∼ bit24) で DMA を一時停止状態にしてから強制停止 (0 書込み ) し てください。一時停止しないで強制停止した場合は DMA は停止しますが転送デー タは保証されません。停止の確認は DSS[2:0] ビット (DMACB:bit18 ∼ bit16) で行っ てください。 DMAE 機能 0 全チャネル DMA 動作禁止 ( 初期値 ) 1 全チャネル DMA 動作許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 477 第 16 章 DMAC (DMA コントローラ ) 16.1 DMA コントローラの概要 MB91313A シリーズ [bit28] PM01 (Priority Mode ch.0, ch.1 robin) : チャネル優先度回転 ch.0, ch.1 の優先度を転送ごとに順位を回転させるときに設定します。 PM01 機能 0 優先順位固定 (ch.0 > ch.1) ( 初期値 ) 1 優先順位回転 (ch.1 > ch.0) • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit27 ∼ bit24] DMAH3 ∼ DMAH0 (DMA Halt) : DMA 一時停止 DMA 全チャネルの一時停止制御を行います。本ビットがセットされると , 再び本 ビットがクリアされるまでの間は全チャネルの DMA 転送を行いません。 起動前に本ビットをセットしてから起動した場合 , 全チャネルが一時停止のままと なります。 本ビットがセットされている間に DMA 転送が許可 (DENB=1) されているチャネル に発生した転送要求はすべて有効となり , 本ビットをクリアすることにより転送を 開始します。 DMAH3 ∼ DMAH0 0000B 0000B 以外 機能 全チャネル DMA 動作許可 ( 初期値 ) 全チャネル DMA 一時停止 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit30, bit29, bit23 ∼ bit0] 予約 : 予約ビット • 読出し値は不定です。 478 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 16.2 第 16 章 DMAC (DMA コントローラ ) 16.2 DMA コントローラの動作 DMA コントローラの動作 CPU の命令動作を介することなく高速にデータ転送を制御する多機能 DMA コント ローラの動作について説明します。 ■ 主要動作 • 各転送チャネルは , 独立に各種機能を設定します。 • 各チャネルは起動許可後 , 設定した転送要求を検出するまでは転送動作を行いませ ん。 • 転送要求検出で , バスコントローラに対し DMA 転送要求を出力し , バスコントロー ラの制御でバス権を取得して転送を開始します。 • 転送は各チャネルごとに独立に設定されたモード設定に従ったシーケンスで行わ れます。 ■ 転送モード DMA の各チャネルは , それぞれの DMACB レジスタの MOD[1:0] ビットで設定された 転送モードに従って転送動作を行います。 ● ブロック / ステップ転送 1 回の転送要求で 1 ブロック転送単位のみ転送を行い , その後次の転送要求が受け付け られるまでは DMA はバスコントローラに対し転送要求を停止します。 1 ブロック転送単位 : 設定されたブロックサイズ分 (DMACA:BLK[3:0]) ● バースト転送 1 回の転送要求にて指定転送回数終了まで連続して転送を行います。 指定転送回数 : ブロックサイズ分×転送回数分 (DMACA:BLK[3:0] × DMACA:DTC[15:0]) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 479 第 16 章 DMAC (DMA コントローラ ) 16.2 DMA コントローラの動作 MB91313A シリーズ ■ 転送タイプ ● 2 サイクル転送 ( 通常転送 ) DMA コントローラの動作は , 読出し動作と書込み動作を 1 つの単位として動作を行い ます。 転送元レジスタのアドレスからデータを読み出して転送先レジスタのアドレスへデー タを書込みます。 ■ 転送アドレス アドレッシングには以下のようなものがあり , 各チャネル転送元 / 転送先ごとに独立に 設定します。 ● 2 サイクル転送でのアドレスの指定 あらかじめアドレスを設定してあるレジスタ (DMASA, DMADA) から読み出した値を アドレスとしてアクセスします。 転送要求を受け付けたら DMA はレジスタからアドレスを一時記憶バッファに格納し て転送を開始します。 1 回の転送 ( アクセス ) ごとにアドレスカウンタにて次回アクセスアドレスを生成 ( 加 算 / 減算 / 固定選択可能 ) して , 一時記憶バッファに戻します。この一時記憶バッファ の内容は 1 ブロック転送単位終了ごとにレジスタ (DMASA, DMADA) へライトバック されます。 よって , アドレスレジスタ (DMASA, DMADA) 値は , 1 ブロック転送単位ごとにしか更 新されませんので転送中のアドレスをリアルタイムに知ることはできません。 ■ 転送回数と転送終了 ● 転送回数 1 ブロック転送単位終了ごとに , 転送回数レジスタをデクリメント ( − 1) します。転送 回数レジスタが "0" になると指定転送回数終了となり , 終了コードを表示して停止また は再起動します。 転送回数レジスタ値はアドレスレジスタと同様に 1 ブロック転送単位ごとにしか更新 されません。 転送回数レジスタリロード禁止に設定している場合は転送を終了します。許可されて いる場合はレジスタ値を初期化して転送待ち状態になります (DMACB:DTCR)。 ● 転送終了 転送終了要因には , 以下のようなものがあり , 終了時は終了コードとして要因が表示さ れます (DMACB:DSS[2:0])。 • 指定転送回数の終了 (DMACA:BLK[3:0] × DMACA:DTC[15:0]) → 正常終了 • 周辺回路からの転送停止要求の発生 → エラー • リセットの発生 → リセット 各終了要因に対応して , 転送停止要因表示 (DSS) され転送終了割込み / エラー割込みを 発生可能です。 480 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 16.3 第 16 章 DMAC (DMA コントローラ ) 16.3 転送要求の設定 転送要求の設定 DMA 転送を起動する転送要求は , 以下の 2 種類があります。ソフトウェア要求につ いては , ほかの要求の設定にかかわらず常に使用することができます。 ■ 内蔵周辺要求 内蔵周辺回路の割込み発生により , 転送要求を発生します。 チャネルごとに , どの周辺の割込みにより転送要求を発生するかを設定します (DMACA : IS[4:0]=1XXXXB)。 <注意事項> 転送要求に使用した割込み要求は, CPUへの割込み要求としても見えますので割込みコン トローラの設定を割込み禁止に設定してください (ICR レジスタ )。 ■ ソフトウェア要求 レジスタのトリガビットへの書込みにより , 転送要求を発生します (DMACA:STRG)。 上記の転送要求とは独立で , 常に使用することができます。 起動 ( 転送許可 ) と同時にソフトウェア要求を行った場合 , 直後にバスコントローラに 対し DMA 転送要求を出力し転送を開始します。 <注意事項> 内蔵周辺要求を設定したチャネルに対してソフトウェア要求を行うと , 転送終了後 , 該当 する周辺に対して要因クリアを行います。このため , 本来の転送要求をクリアしてしまう 可能性がありますので , ソフトウェア要求を行わないでください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 481 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス 16.4 MB91313A シリーズ 転送シーケンス 各チャネルごとに , DMA 転送起動後の動作シーケンスなどを決定する転送タイプと 転送モードを独立して設定することができます (DMACB:TYPE[1:0], MOD[1:0] の設 定 )。 ■ 転送シーケンスの選択 レジスタの設定により以下のシーケンスが選択可能です。 バースト 2 サイクル転送 ブロック / ステップ 2 サイクル転送 ■ バースト 2 サイクル転送 1 回の転送要因にて指定転送回数の転送を続けて行います。2 サイクル転送の場合は転 送元 / 転送先アドレスは ch.0 ∼ ch.3 では 20 ビット , ch.4 では 24 ビット指定可能です。 転送要因は , 周辺転送要求 / ソフトウェア転送要求を選択できます。 [ バースト転送の特長 ] • 転送要求を 1 回受け付けると , 転送回数レジスタが "0" になるまで連続して転送を 行います。 転 送 回 数 は ブ ロ ッ ク サ イ ズ 分 × 転 送 回 数 分 に な り ま す (DMACA:BLK[3:0] × DMACA:DTC[15:0])。 • 転送中に再度要求が発生した場合 , 要求は無視されます。 • 転送回数レジスタのリロード機能が有効である場合 , 転送終了後より次の転送要求 を受け付けます。 • 転送中により高い優先順位のほかチャネルの転送要求を受け付けた場合 , ブロック 転送単位の境目でチャネルを切り換え , そのチャネルの転送要求がクリアされるま で復帰しません。 図 16.4-1 バースト転送の転送シーケンス 周辺転送要求 バス動作 転送回数 CPU SA DA 4 SA DA 3 SA DA 2 SA CPU DA 1 0 転送終了 ( 内部 ) ( 周辺転送要求 , ブロック数= 1, 転送回数= 4 のときのバースト転送例 ) 482 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス MB91313A シリーズ ■ ステップ / ブロック転送 2 サイクル転送 ステップ / ブロック転送 (1 転送要求ごとに指定ブロック回数分のみ転送を行う ) の場 合は転送元 / 転送先アドレスは , ch.0 ∼ ch.3 では 20 ビット , ch.4 では 24 ビット指定可 能です。 ● ステップ転送 ブロックサイズに "1" を設定すると , ステップ転送シーケンスとなります。 [ ステップ転送の特長 ] • 転送要求を 1 回受け付けると , 1 回の転送を行った後 , 転送要求をクリアして転 送を停止します ( バスコントローラに対し DMA 転送要求を取り下げる ) 。 • 転送中に再度 , 要求が発生した場合 , 要求は無視されます。 • 転送中により高い優先順位の他チャネルの転送要求を受け付けた場合, 転送停止 後にチャネルを切り換えて続けて転送を開始します。ステップ転送における優先 順位は , 転送要求が同時に発生した場合のみ意味を持ちます。 ● ブロック転送 ブロックサイズに "1" 以外を設定すると , ブロック転送シーケンスとなります。 [ ブロック転送の特長 ] 1 転送単位が複数回 ( ブロック数 ) の転送サイクルから構成されること以外は , ス テップ転送と全く同じ動作となります。 図 16.4-2 ブロック転送の転送シーケンス 周辺転送要求 バス動作 CPU ブロック数 転送回数 SA DA SA 2 DA 1 CPU 0 2 SA DA SA 2 DA 1 1 転送終了 ( 内部 ) ( 周辺転送要求 , ブロック数= 2, 転送回数= 2 のときのブロック転送例 ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 483 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス MB91313A シリーズ ■ DMA 転送全般 ● ブロックサイズ • 転送データの 1 転送単位はブロックサイズ指定レジスタに設定した数 ( ×データ幅 ) のデータの集合となります。 • 1 転送サイクルにて転送されるデータは , データ幅指定の値に固定されるため , 1 転 送単位はブロックサイズ指定値分の転送サイクル数より構成されることになりま す。 • 転送中により高位の優先順位の転送要求が受け付けられた場合または転送の一時 停止要求が発生した場合において , ブロック転送時においても 1 転送単位の境界に ならないと停止しません。これにより分割・一時停止を希望しないデータブロック のデータ保護が可能ですが , ブロックサイズが大きい場合はレスポンスを低下させ る原因となります。 • リセット発生の場合のみ即時に停止しますが , 転送中であったデータの内容などは 保証されません。 ● リロード動作 本モジュールでは , 各チャネルごとに以下の 3 種類のリロード機能の設定が可能です。 (1) 転送回数レジスタリロード機能 指定回数の転送が終了した後 , 転送回数レジスタに初期設定値を再設定して起動受 付け待ちします。 全転送シーケンスを繰り返し行う際に設定します。 リロード指定をしない場合 , 指定回数の転送終了後は回数レジスタ値が "0" のまま となり , 以降の転送は行われません。 (2) 転送元アドレスレジスタリロード機能 指定回数の転送が終了した後 , 転送元アドレスレジスタに初期設定値を再設定しま す。 転送元アドレス領域内で固定領域から繰り返し転送する場合に設定します。 リロード指定をしない場合 , 指定回数の転送終了後は転送元アドレスレジスタ値が 終了時の次のアドレスとなります。アドレス領域を固定しない場合に使用します。 (3) 転送先アドレスレジスタリロード機能 指定回数の転送が終了した後 , 転送先アドレスレジスタに初期設定値を再設定しま す。 転送先アドレス領域内で固定領域へ繰り返し転送する場合に設定します。 ( 以下 (2) と同じ ) • 転送元 / 転送先レジスタのリロード機能を有効にしたのみでは , 指定回数転送終了 後の再起動は行われず , 各アドレスレジスタ値が再設定されるのみとなります。 ( 注意事項 ) 動作モードとリロード動作の特殊な例 • 転送終了にていったん停止し , 再度入力検出から行いたい場合は , リロード指定を 行わないようにしてください。 • バースト / ブロック / ステップ転送モードで転送している場合では , 転送終了となる とリロード後いったん転送を中断し , あらためて転送要求入力が検出されるまで転 送を行いません。 484 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス MB91313A シリーズ ■ アドレッシングモード 各転送チャネルの転送先および転送元アドレスは , それぞれ独立に指定します。 指定方法には下記の方法があります。転送シーケンスによって設定してください。 ● アドレスレジスタ指定 2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) には転送元アドレ スを,転送先アドレス設定レジスタ(DMADA)には転送先アドレスを設定してください。 [ アドレスレジスタの特長 ] ch.0 ∼ ch.3 は 20 ビット長 , ch.4 は 24 ビット長のレジスタです。 [ アドレスレジスタの機能 ] • アクセス時に読み出され , アドレスバスへ放出されます。 • 同時にアドレスカウンタにて次回アクセス時のアドレス計算が行われ, 計算結果 のアドレスにてアドレスレジスタを更新します。 • アドレス計算は , 各チャネル / 転送先 / 転送元それぞれ独立に加算 / 減算の内よ り選択します。アドレスの増減幅はアドレスカウントサイズ指定レジスタ値によ ります (DMACB:SASZ, DASZ)。 • 転送終了時のアドレスレジスタには , リロード機能を有効にしていない場合 , 最 終アドレスにアドレス計算をした結果のアドレスが残されます。 • リロード機能を有効にしている場合 , アドレスの初期値がリロードされます。 <注意事項> • 20 ビットまたは 24 ビット長フルアドレス計算の結果 , オーバフロー / アンダフローが 発生した場合でも , そのチャネルの転送は継続されます。オーバフロー / アンダフロー が発生しないように各チャネルを設定してください。 • アドレスレジスタに DMAC 自身のレジスタのアドレスを設定しないでください。 ■ データの種類など 1 回の転送で転送されるデータ長 ( データ幅 ) は , 以下の内から選択します。 • バイト • ハーフワード • ワード DMA 転送においても , ワードバウンダリ仕様が守られるため , 転送先 / 転送元アドレ ス指定においてデータ長と食い違うアドレスが設定された場合 , 異なる下位ビットは 無視されます。 ・ワード … 実際のアクセスアドレスは下位 2 ビットが "00B" から始まる 4 バイ トとなります。 ・ハーフワード … 実際のアクセスアドレスは下位 1 ビットが "0B" から始まる 2 バイ トとなります。 ・バイト CM71-10143-5 … 実際のアクセスアドレスとアドレス指定が一致します。 FUJITSU SEMICONDUCTOR LIMITED 485 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス MB91313A シリーズ 転送元アドレスと転送先アドレスの下位ビットが食い違っている場合 , 内部アドレス バス上には設定そのままのアドレスが出力されますが , バス上の各転送対象において , 上記のきまりに従ってアドレスが修正されてアクセスが行われます。 ■ 転送回数制御 転送回数は , 最大で 16 ビット長の範囲内 (1 回∼ 65536 回 ) で指定します。転送回数指 定値は転送回数レジスタ (DMACA:DTC) に設定します。 レジスタ値は転送開始時に一時記憶バッファに格納され , 転送回数カウンタにより減 算されます。このカウンタ値が "0" となったとき , 指定回数の転送終了として検出され , そのチャネルの転送停止または再起動受付け待ち ( リロード指定時 ) が行われます。 [ 転送回数レジスタ群の特長 ] • 各レジスタ 16 ビット長です。 • すべてのレジスタはそれぞれ専用リロードレジスタを持ちます。 • レジスタ値が "0" のときに起動すると , 65536 回の転送を行います。 [ リロード動作 ] • リロード機能を持つレジスタで, リロード機能が許可されている場合にのみ有効 です。 • 転送起動時に , 回数レジスタの初期値をリロードレジスタに退避します。 • 転送回数カウンタにてカウントを行った際 , "0" になると転送終了を通知すると ともに, リロードレジスタより初期値を読み出し, 回数レジスタに書き込みます。 486 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス ■ CPU 制御 DMA 転送要求が受け付けられると , DMA はバスコントローラに対し転送要求を発行 します。 バスコントローラはバス動作の切れ目にて内部バス使用権をDMAにあけわたし, DMA 転送が開始されます。 ● DMA 転送と割込み • DMA 転送中は , 基本的には転送終了まで割込みの受付けは停止します。また , 割込 み処理動作中に DMA 転送要求があった場合 , 転送要求は受け付けられ , 転送終了ま で割込み処理動作は停止します。 • 例外として , 割込みコントローラにて設定されたホールド抑止レベルより高いレベ ルの割込要求が発生した場合には , DMAC は転送単位 (1 ブロック ) の境界にてバス コントローラへの転送要求を一時取り下げ , 割込み要求がクリアされるまでは転送 を一時停止状態にします。この間 , 転送要求は内部で保持されます。割込み要求が クリアされた後に再度 DMAC はバスコントローラへ転送要求を発行してバス使用 権を取得し , DMA 転送を再開します。 ● DMA 抑止 • FR ファミリは DMA 転送中に , より優先度の高い割込み要因が発生すると DMA 転 送を中断して該当割込みルーチンへ分岐します。この機構は割込み要求がある限り 有効ですが , 割込み要因をクリアすると抑止機構が働かなくなり , 割込み処理ルー チン内で DMA 転送を再開します。このため , DMA 転送を中断するレベルの割込み 要因の処理ルーチン内で , 割込み要因クリア後の DMA 再転送開始を抑止したいと きは , DMA 抑止機能を使用します。DMA 抑止機能は , DMA 全体制御レジスタの DMAH[3:0] ビットに "0000B" 以外の値を書くことで起動し , "0000B" を書くことで停 止します。 • 本機能は主として割込み処理ルーチン内で使用します。割込み処理ルーチンで割込 み要因をクリアする前に DMA 抑止レジスタの内容を 1 つ増加させます。このよう にすると , 以降 , DMA 転送は行いません。割込み処理への対応を行った後 , 復帰す る前に DMAH[3:0] ビットの内容を 1 つ減少させます。もし , 多重割込みであれば DMAH[3:0] ビットの内容は , まだ "0000B" にならないため , 引き続いて DMA 転送は 抑止されます。また , 多重割込みでなければ , DMAH[3:0] ビットの内容は "0000B" に なるため , その後すぐに DMA 要求を有効にします。 ● 注意事項 • レジスタのビット数は 4 ビットですので , 15 レベルを超える多重割込みで本機能を 使用することができません。 • DMA タスクの優先順位は必ずほかの割込みレベルより 15 レベルは上に置いてくだ さい。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 487 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス MB91313A シリーズ ■ 動作開始 DMA 転送の開始は , 各チャネルごとに独立に制御しますが , その前に全チャネルの動 作を許可しておく必要があります。 ● 全チャネル動作許可 DMAC 各チャネルに起動を行う前に , DMA 動作許可ビット (DMACR:DMAE) にてあら かじめ全チャネルの動作を許可する必要があります。許可されていない状態にて行っ た起動設定 , および発生した転送要求はすべて無効となります。 ● 転送起動 各チャネルの制御レジスタにある動作許可ビットにて , 転送動作を起動します。起動さ れたチャネルに対する転送要求が受け付けられると , 設定されたモードにて DMA 転送 動作が開始されます。 ● 一時停止状態からの起動 各チャネルまたは全チャネル制御にて , 起動前に一時停止状態にしてあった場合 , 転送 動作を起動しても一時停止状態を維持しています。この間に転送要求が発生した場合 は , 要求を受け付け保持します。一時停止を解除した時点より転送を開始します。 ■ 転送要求の受付けと転送 • 起動後より , 各チャネルに対し設定した転送要求のサンプリングが開始されます。 • 周辺割込み起動を選択した場合は , 転送要求がクリアされるまで DMAC は転送を続 けますがクリアされたら 1 転送単位で転送を停止します ( 周辺割込み起動 ) 。 周辺割込みはレベル検出扱いとなりますので割込みは DMA による割込みクリアで 行うようにしてください。 • 転送要求は , 他チャネルの要求が受け付けられて転送が行われている間でも常に受 け付けられており , 優先順位の判断を行って , 1 転送単位ごとに転送するチャネルを 決定しています。 ■ DMA による周辺割込みクリア • 本 DMA には周辺割込みをクリアする機能があります。この機能は DMA 起動要因 に周辺割込みを選択したときに機能します (IS[4:0]=1XXXXB のとき )。 • 周辺割込みのクリアは設定された起動要因にのみ行われます。つまり IS[4:0] で設定 された周辺機能のみクリアされます。 ● 割込みクリアの発生タイミング • 転送モードにより発生するタイミングが違います (「16.5 動作フローチャート」を 参照 )。 [ ブロック / ステップ転送 ] ブロック転送を選択した場合 , 1 ブロック ( ステップ ) 転送ごとにクリア信号は発生 します。 [ バースト転送 ] バースト転送を選択した場合は , 指定転送回数がすべて終了したらクリア信号は発 生します。 488 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス ■ 一時停止 DMA 転送は , 以下の場合に一時停止します。 ● 制御レジスタへの書込みによる一時停止の設定 ( 各チャネル独立または全チャネル同時に 設定 ) 一時停止ビットにより一時停止を設定すると , 一時停止解除設定を再度設定するまで の間 , 対応するチャネルの転送は停止します。一時停止の確認は DSS ビットで行って ください。 一時停止を解除すると , 転送を再開します。 ● ホールド抑止レベル割込み処理中 ホールド抑止レベルより高いレベルの割込み要求が発生した場合 , 転送中のチャネル はすべて転送単位の境界にて一時停止し , バス権を開放して割込み処理を優先させま す。また , 割込み処理中に受け付けられた転送要求はそのまま保持されます。 要求が保持されたチャネルは , 割込み処理が終了した後に転送を再開します。 ■ 動作終了 / 停止 DMA 転送の終了は , 各チャネルごとに独立に制御しますが , 全チャネルの動作を禁止 することも可能です。 ● 転送終了 リロード動作が有効でない場合 , 転送回数レジスタが "0" になると転送を停止し , 終了 コードにて『正常終了』を表示した後 , 以降の転送要求は無効となります (DMACA:DENB ビットをクリアする )。 リロード動作が有効である場合 , 転送回数レジスタが "0" になると初期値をリロードし , 終了コードにて『正常終了』を表示した後 , 再度転送要求待ちとなります (DMACA:DENB ビットをクリアしない )。 ● 全チャネル動作禁止 DMA 動作許可ビット DMAE にて全チャネルの動作を禁止すると , 動作中であったチャ ネルも含め DMAC のすべての動作が停止します。以降 , 再度全チャネル DMA 動作を 許可しても , チャネルごとに再起動しないと転送は行われません。この場合 , 割込みは 一切発生しません。 ■ エラーによる停止 指定回数の転送終了による正常終了以外の要因で停止する場合として , 各種エラー発 生による停止および強制停止があります。 ● 周辺回路よりの転送停止要求の発生 転送要求を出力する周辺回路によっては , 異常を検出した際などに転送停止要求を発 生するものがあります ( 例 : 通信系周辺における受信 / 送信エラーなど ) 。 この転送停止要求を受け取った DMAC は , 終了コードにて『転送停止要求』を表示し て対応するチャネルの転送を停止します。 周辺回路の転送停止要求の有無については , DMACA レジスタの bit28 ∼ bit24(IS4 ∼ IS0) 転送要因選択ビットの説明を参照してください。 各転送停止要求の発生条件についての詳細は , 各周辺回路の仕様を参照してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 489 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス MB91313A シリーズ ■ DMAC 割込み制御 転送要求となる周辺割込みとは独立に , DMAC 各チャネルごとに以下の割込みを出力 することが可能です。 • 転送終了割込み … 正常終了した場合のみ発生する。 • エラー割込み … 周辺回路よりの転送停止要求 ( 周辺に起因するエラー ) これら割込みはすべて終了コードの内容に従って出力されます。 割込み要求のクリアは , DMACS の DSS2 ∼ DSS0 ( 終了コード ) に "000B" を書き込む ことにより行います。 なお , 終了コードは再起動する際には必ず "000B" を書き込んでクリアしてください。 リロード動作が有効である場合は自動的に再起動しますが , この際には終了コードは クリアされず , 次の転送終了による新しい終了コードの書込み時まで保持されます。 終了コードにて表示できる終了要因は1種類のみですので, 複数の要因が同時に発生し た場合は優先判断を行った結果を表示します。この際に発生する割込みは , 表示されて いる終了コードに従います。 終了コードの表示の優先順位を以下に示します ( 上から優先度の高い順 ) 。 • リセット • "000B" 書込みによるクリア • 周辺停止要求 • 正常終了 • チャネル選択と制御 ■ スリープ中の DMA 転送 • DMAC は , スリープモード中でも動作させることができます。 • スリープモードでの動作を期待する場合 , 次のことに注意する必要があります。 (1) CPU は停止状態なので DMAC のレジスタを書き換えることはできません。ス リープモードに入る前に設定は済ませておいてください。 (2) スリープモードは , 割込みで解除されますので DMA 起動要因で周辺での割込み を選択した場合は , 割込みコントローラで割込みを禁止する必要があります。 同様に DMA 終了割込みでスリープモードを解除したくない場合は割込みを禁止にし てください。 490 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス MB91313A シリーズ ■ チャネル選択と制御 転送チャネルの数は 5 チャネルまで同時設定が可能です。各チャネルは基本的に各機 能を独立に設定することが可能です。 ● チャネル間優先順位 DMA 転送は同時に 1 チャネルのみ可能なため , 各チャネル間には優先順位が設定され ます。 順位設定には, 固定/回転の2モードがありチャネルグループ (後述) ごとに選択します。 • 固定モード チャネル番号の小さい順に固定されます。 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4) 転送中により高い優先度の転送要求が受け付けられた場合, 1転送単位 (ブロックサ イズ指定レジスタに設定した数×データ幅 ) の転送が終了した時点で , 転送チャネ ルが高優先度側に切り換わります。 高優先度側の転送が終了すると , 元のチャネルの転送を再開します。 図 16.4-3 固定モード時の DMA 転送 ch.0 転送要求 ch.1 転送要求 バス動作 CPU SA 転送チャネル DA SA ch.1 DA SA ch.0 DA SA ch.0 DA CPU ch.1 ch.0 転送終了 ch.1 転送終了 • 回転モード (ch.0 ∼ ch.1 間のみ ) 動作許可後の初期状態は (1) と同じ順位に設定されますが , 1 転送終了ごとにその チャネルの優先度は逆転します。よって , 同時に転送要求が出力されている場合 , 1 転送単位ごとにチャネルが切り換わります。 連続 / バースト転送を設定した場合に効果のあるモードです。 図 16.4-4 回転モード時の DMA 転送 ch.0 転送要求 ch.1 転送要求 バス動作 転送チャネル CPU SA DA ch.1 SA DA ch.0 SA DA ch.1 SA DA CPU ch.0 ch.0 転送終了 ch.1 転送終了 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 491 第 16 章 DMAC (DMA コントローラ ) 16.4 転送シーケンス MB91313A シリーズ ● チャネルグループ 優先順位の選択は , 以下の単位で設定します。 モード 優先度 備考 固定 ch.0 > ch.1 − ch.0 > ch.1 回転 ↑↓ ch.0 < ch.1 492 初期状態は上側の順位です。 上側が転送されると反転します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.5 動作フローチャート MB91313A シリーズ 16.5 動作フローチャート 次の動作モードにおける動作フローチャートを示します。 • ブロック転送 • バースト転送 ■ ブロック転送 図 16.5-1 ブロック転送の動作フローチャート DMA停止 DENB→0 DENB=1 リロード許可 起動要求待機 起動要求 initial アドレス,転送回数, ブロック数ロード 転送元アドレスアクセス アドレス演算 転送先アドレスアクセス アドレス演算 ブロック数-1 BLK=0 転送回数-1 周辺割込み起動要因選択時のみ アドレス,転送回数, ブロック数,ライトバック 割込みクリア 割込みクリア発生 DTC=0 DMA転送終了 DMA割込み発生 ブロック転送 ・すべての起動要因で起動できる(選択) ・すべての領域へのアクセスができる ・ブロック数の設定可能 ・ブロック数終了で割込みクリア発行 ・指定転送回数終了でDMA割込みを発行 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 493 第 16 章 DMAC (DMA コントローラ ) 16.5 動作フローチャート MB91313A シリーズ ■ バースト転送 図 16.5-2 バースト転送の動作フローチャート DMA停止 DENB→0 DENB=1 起動要求待機 リロード許可 initial アドレス,転送回数, ブロック数ロード 転送元アドレスアクセス アドレス演算 転送先アドレスアクセス アドレス演算 ブロック数-1 BLK=0 転送回数-1 DTC=0 アドレス,転送回数, ブロック数,ライトバック 割込みクリア 周辺割込み起動要因選択時のみ 割込みクリア発生 DMA転送終了 DMA割込み発生 バースト転送 ・すべての起動要因で起動できる(選択) ・すべての領域へのアクセスができる ・ブロック数の設定可能 ・指定転送回数終了で割込みクリア,DMA割込みを発行 494 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 16 章 DMAC (DMA コントローラ ) 16.6 データバス MB91313A シリーズ 16.6 データバス データバスの転送例を示します。 ■ 2 サイクル転送時のデータの動き 図 16.6-1 サイクル転送時のデータの動き 外部領域 → 外部領域 転送 CPU I-bus X-bus バスコントローラ D-bus データバッファ ライトサイクル I-bus CPU リードサイクル X-bus バスコントローラ D-bus 外部バスI/F DMAC 外部バスI/F DMAC データバッファ F-bus F-bus RAM I/O RAM I/O 外部領域 → 内部RAM領域 転送 CPU I-bus X-bus バスコントローラ D-bus データバッファ ライトサイクル I-bus CPU リードサイクル X-bus バスコントローラ D-bus データバッファ F-bus RAM 外部バスI/F DMAC 外部バスI/F DMAC F-bus I/O RAM I/O X-bus バスコントローラ D-bus データバッファ I-bus X-bus バスコントローラ D-bus データバッファ F-bus RAM I/O 外部バスI/F CPU I-bus DMAC ライトサイクル CPU DMAC リードサイクル 外部バスI/F 外部領域 → 内蔵I/O領域 転送 F-bus RAM I/O ( 続く ) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 495 第 16 章 DMAC (DMA コントローラ ) 16.6 データバス MB91313A シリーズ ( 続き ) X-bus バスコントローラ D-bus データバッファ I-bus X-bus バスコントローラ D-bus F-bus F-bus RAM 外部バスI/F CPU I-bus DMAC ライトサイクル CPU DMAC リードサイクル 外部バスI/F 内蔵I/O領域 → 内部RAM領域 転送 I/O RAM I/O CPU I-bus X-bus バスコントローラ D-bus データバッファ I-bus X-bus バスコントローラ D-bus データバッファ F-bus F-bus RAM 外部バスI/F リードサイクル DMAC ライトサイクル CPU DMAC 外部バスI/F 内部RAM領域 → 外部領域 転送 I/O RAM I/O 内部RAM領域 → 内蔵I/O領域 転送 CPU I-bus X-bus バスコントローラ D-bus データバッファ ライトサイクル X-bus I-bus CPU リードサイクル バスコントローラ D-bus データバッファ F-bus RAM 496 I/O FUJITSU SEMICONDUCTOR LIMITED 外部バスI/F DMAC 外部バスI/F DMAC F-bus RAM I/O CM71-10143-5 第 17 章 リモコン受信 HDMI-CEC 受信・ACK 自動応答 , リモコン受信の 機能と動作について説明します。 17.1 リモコン受信の概要 17.2 リモコン受信のレジスタ 17.3 リモコン受信の動作説明と設定手順例 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 497 第 17 章 リモコン受信 17.1 リモコン受信の概要 17.1 MB91313A シリーズ リモコン受信の概要 本製品には , HDMI-CEC 受信・ACK 自動応答 , リモコン受信の機能が搭載されてい ます。 ■ リモコン受信のブロックダイヤグラム 図 17.1-1 リモコン受信のブロックダイヤグラム カウント クロック オーバフロー カウンタ "H"幅設定レジスタ スタートビット検出 RCIN エッジ 検出 立上り/立下り ノイズ フィルタ ラッチ Comp "1" 検出 "0" 検出 *1 ACK RCACK データ格納レジスタ エンディアン 変換 シフタ *1 : 擬似オープンドレイン 498 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ MB91313A シリーズ 17.2 リモコン受信のレジスタ リモコン受信で使用するレジスタの構成と機能について説明します。 ■ リモコン受信のレジスタ構成 リモコン受信のレジスタ一覧を表 17.2-1 に示します。 表 17.2-1 リモコン受信のレジスタ一覧 アドレス レジスタ略称 000X0H RCCR リモコン受信制御レジスタ *1 000X1H RCST リモコン受信割込み制御レジスタ *1 000X2H RCSHW 000X3H RCDAHW "H" 幅設定レジスタ A *1 000X4H RCDBHW "H" 幅設定レジスタ B *1 000X5H 予約 000X6H RCADR1 デバイスアドレス設定レジスタ 1 *1 000X7H RCADR2 デバイスアドレス設定レジスタ 2 *1 000X8H RCDTHH データ格納レジスタ HH 000X9H RCDTHL データ格納レジスタ HL 000XAH RCDTLH データ格納レジスタ LH 000XBH RCDTLL データ格納レジスタ LL RCCKD クロック分周レジスタ *2 000XCH 000XDH レジスタ名 スタートビット "H" 幅設定レジスタ *1 X = 18H ( : ch.0), 19H ( : ch.1) *1 : 8 ビットアクセスのみ可能 *2 : 16 ビットアクセスのみ可能 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 499 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ 17.2.1 MB91313A シリーズ リモコン受信制御レジスタ (RCCR) リモコン受信制御レジスタ (RCCR) のビット構成を図 17.2-1 に示します。 ■ リモコン受信制御レジスタ (RCCR) 図 17.2-1 リモコン受信制御レジスタ (RCCR) のビット構成 bit 7 6 5 4 3 2 1 0 THSEL 予約 予約 予約 ADRCE MOD1 MOD0 EN 0 0 0 R/W 属性 初期値 0 − − 0 − R/W:リード / ライト可能 < 注意事項 > 本レジスタは , 8 ビットアクセスのみ可能です。 [bit 7]:THSEL しきい値選択ビットです。 初期値は "0" です。 "H" 幅設定レジスタ A/B によって "0", "1" を判定する基準を設定します。 THSEL 状態 0 1 W>幅A W<幅B "0" データ "1" データ W>幅A W≧幅B "1" データ "0" データ [bit 6 ∼ bit 4]:予約ビット 書込み時 無効です。 読出し時 "0" が読み出されます。 [bit 3]:ADRCE アドレス比較許可ビットです。 初期値は "0"( 比較禁止 ) で , "1" にすると受信アドレスとデバイスアドレスの比較が許 可されます。 比較許可の場合 , アドレスが一致したときのみ ACK/OVF 割込みが発生します。 CEC モードの場合 , アドレス一致を検出すると ACK 応答を返します。ブロードキャス トアドレスの場合は一致とみなしますが , ACK 応答は行いません。 SIRCS モード・HDMI-CEC モード以外のときは "0" に設定してください。 500 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ MB91313A シリーズ [bit 2, bit 1]:MOD1, MOD0 リモコン受信の動作モードを設定します。 MOD1 MOD0 機能 0 0 SIRCS モード [ 初期値 ] 0 1 設定禁止 1 0 NEC/ 家電協モード ( リピート信号未対応 ) 1 1 HDMI-CEC モード SIRCS モード以外 (MOD1=1 のとき ) は , 入力信号を内部で反転して処理しています。 High 幅比較は Low 幅に対して適用されます。 [bit 0]:EN 動作許可ビットです。 本ビットを "1" にすると , リモコン受信動作が開始されます。 初期値は "0"( 停止 ) です。 本ビットが"1"のとき(動作中)は,下記の設定レジスタ・ビットは変更しないでください。 RCCR レジスタの THSEL ビット , ADRCE ビット , MOD ビット RCST レジスタの OVFSEL ビット RCSHW, RCDAHW, RCDBHW, RCADR1, RCADR2, RCCKD レジスタ CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 501 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ 17.2.2 MB91313A シリーズ リモコン受信割込み制御レジスタ (RCST) リモコン受信割込み制御レジスタ (RCST) のビット構成を図 17.2-2 に示します。 ■ リモコン受信割込み制御レジスタ (RCST) 図 17.2-2 リモコン受信割込み制御レジスタ (RCST) のビット構成 bit 7 6 5 4 3 2 1 0 STIE ACKIE OVFIE OVFSEL ST ACK EOM OVF R/W 属性 0 初期値 R/W:リード / ライト可能 < 注意事項 > 本レジスタは , 8 ビットアクセスのみ可能です。 [bit 7]:STIE スタートビット割込みを許可するビットです。 値 説明 0 割込み禁止 1 割込み許可 [bit 6]:ACKIE ACK 割込みを許可するビットです。 値 説明 0 割込み禁止 1 割込み許可 CEC モードのみ有効です。 [bit 5]:OVFIE カウンタオーバフロー割込みを許可するビットです。 値 説明 0 割込み禁止 1 割込み許可 本割込みは,スタートビットが検出された後にオーバフローが発生した場合のみ発生し ます。 スタートビット未検出の状態では割込みは発生しません。 502 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ MB91313A シリーズ [bit 4]:OVFSEL オーバフロー検出の条件を設定するビットです。 値 説明 0 カウンタが 128 クロックカウントするとオーバフローが発生します。 1 カウンタが 256 クロックカウントするとオーバフローが発生します。 [bit 3]:ST スタートビット検出を示すビットです。 値 説明 0 スタートビット未検出 1 スタートビット検出 "0" 書込みでクリアされます。 STIE ビットが "1" のとき , スタートビットを検出すると割込みが発生します。 [bit 2]:ACK ACK 検出を示すビットです。 値 説明 0 ACK 未検出 1 ACK 検出 "0" 書込みでクリアされます。 ACKIE ビットが "1" のとき , ACK を検出すると割込みが発生します。 アドレス比較許可の場合は , アドレス一致した場合のみ割込みが発生します。 CEC モードのみ有効です。 [bit 1]:EOM EOM 検出を示すビットです。 値 説明 0 EOM 未検出 1 EOM 検出 "0" 書込みでクリアされます。 CEC モードのみ有効です。 [bit 0]:OVF カウンタオーバフローの検出を示すビットです。 値 説明 0 カウンタオーバフロー未検出 1 カウンタオーバフロー検出 アドレス比較許可の場合は , アドレス一致した場合のみ割込みが発生します。 "0" 書込みでクリアされます。 SIRCS モード時は , 2 バイト目を受信するまでは OVF フラグはセットされません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 503 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ 17.2.3 MB91313A シリーズ デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2) デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2) のビット構成を図 17.2-3 に示します。 ■ デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2) 図 17.2-3 デバイスアドレス設定レジスタ 1, 2 (RCADR1, RCADR2) のビット構成 bit 7 6 5 4 3 1 0 0 0 RCADR1, 2 予約 R/W 属性 初期値 2 − − − 0 0 0 R/W:リード / ライト可能 < 注意事項 > 本レジスタは , 8 ビットアクセスのみ可能です。 [bit 7 ∼ bit 5]:予約ビット 書込み時 無効です。 読出し時 "0" が読み出されます。 [bit 4 ∼ bit 0]:RCADR1, 2 デバイス側 ( 受信側 ) のアドレスを設定するレジスタです。 本レジスタに設定したアドレスが , リモコン受信したデバイスアドレスや HDMI-CEC のデスティネーションと比較されます。 HDMI-CEC モード時は , 本レジスタに 0FH( ブロードキャストアドレス ) を設定しない でください。 504 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ MB91313A シリーズ スタートビット "H" 幅設定レジスタ (RCSHW) 17.2.4 スタートビット "H" 幅設定レジスタ (RCSHW) のビット構成を図 17.2-4 に示しま す。 ■ スタートビット "H" 幅設定レジスタ (RCSHW) 図 17.2-4 スタートビット "H" 幅設定レジスタ (RCSHW) のビット構成 bit 7 0 RCSHW R/W 属性 0 初期値 R/W:リード / ライト可能 < 注意事項 > 本レジスタは , 8 ビットアクセスのみ可能です。 スタートビットの "H" 期間を設定するレジスタです。 設定値を超える幅の "H" が受信されると , スタートビットと認識します。 受信した信号の "H" 幅が設定値未満の場合 , スタートビット未検出となり , 再度スター トビット "H" の検出待ち状態となります。 OVFSEL=0 のときは RCSHW ≦ 127( オーバフロー検出を超えない値 ) としてください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 505 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ 17.2.5 MB91313A シリーズ "H" 幅設定レジスタ A (RCDAHW) "H" 幅設定レジスタ A (RCDAHW) のビット構成を図 17.2-5 に示します。 ■ "H" 幅設定レジスタ A (RCDAHW) 図 17.2-5 "H" 幅設定レジスタ A (RCDAHW) のビット構成 bit 7 0 RCDAHW R/W 属性 0 初期値 R/W:リード / ライト可能 < 注意事項 > 本レジスタは , 8 ビットアクセスのみ可能です。 "H" 期間を設定するレジスタ A です。 本レジスタに設定する値は , 2 ≦ RCDAHW < RCDBHW となるようにしてください。 また , CEC モード時は , RCDAHW < 46 となるようにしてください (ACK 応答パルス 幅未満 )。 506 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ MB91313A シリーズ "H" 幅設定レジスタ B (RCDBHW) 17.2.6 "H" 幅設定レジスタ B (RCDBHW) のビット構成を図 17.2-6 に示します。 ■ "H" 幅設定レジスタ B (RCDBHW) 図 17.2-6 "H" 幅設定レジスタ B (RCDBHW) のビット構成 bit 7 0 RCDBHW R/W 属性 0 初期値 R/W:リード / ライト可能 < 注意事項 > 本レジスタは , 8 ビットアクセスのみ可能です。 "H" 期間を設定するレジスタ B です。 RCCDAHW より小さい値は設定しないでください。 必ず RCCDAHW < RCCDBHW < RCSHW となるように設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 507 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ 17.2.7 MB91313A シリーズ データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL) データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL) のビット構成を図 17.2-7 に示します。 ■ データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL) 図 17.2-7 データ格納レジスタ (RCDTHH, RCDTHL, RCDTLH, RCDTLL) のビット構成 bit 31 24 23 RCDTHH 16 15 RCDTHL 8 7 RCDTLH 属性 R 初期値 0 0 RCDTLL R:リードオンリ 受信したデータを格納するレジスタです。 CEC モードの場合は RCDTHH に受信データが格納されます。 リモコンモードの場合は , 8 ビット受信するごとに RCDTHH から順に格納されます。 カウンタオーバフロー割込み発生時は , それまで受信されたビットが MSB 詰めで格納 されます。 RCCR レジスタの EN ビットが "0" のときは , 本レジスタからは不定が読み出されます。 4 バイト分を超える信号が入力された場合 , 超過分は無視され , レジスタには反映され ません。 508 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 17 章 リモコン受信 17.2 リモコン受信のレジスタ MB91313A シリーズ クロック分周設定レジスタ (RCCKD) 17.2.8 クロック分周設定レジスタ (RCCKD) のビット構成を図 17.2-8 に示します。 ■ クロック分周設定レジスタ (RCCKD) 図 17.2-8 クロック分周設定レジスタ (RCCKD) のビット構成 bit 15 13 属性 12 11 0 予約 R/W CKSEL CKDIV R/W R/W − 0 0 初期値 R/W:リード / ライト可能 < 注意事項 > 本レジスタは , 16 ビットアクセスのみ可能です。 [bit 15 ∼ bit 13]:予約ビット 書込み時 無効です。 読出し時 "0" が読み出されます。 [bit 12]:CKSEL 動作クロックを選択します。 値 説明 0 リソースクロックを分周したクロックが選択されます。 1 原発振クロック (32kHz) が選択されます。 クロック分周レジスタ (RCCKD) の CKSEL ビットでサブクロックを選択する場合 , ク ロックソース制御レジスタ (CLKR) の PLL2EN ビットに "1" を書き込んでサブクロック を発振させてください。 [bit 11 ∼ bit 0]:CKDIV リソースクロックの分周比を設定します。 分周比は CKDIV + 1 となります。 1 分周 ( 非分周 ) ∼ 4096 分周まで設定できます (CKSEL=1 の時は分周されません )。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 509 第 17 章 リモコン受信 17.3 リモコン受信の動作説明と設定手順例 17.3 MB91313A シリーズ リモコン受信の動作説明と設定手順例 リモコン受信の動作について説明します。また , 各動作状態を設定するための設定 例も示します。 ■ リモコン受信の動作フローチャート ● HDMI-CEC 受信 図 17.3-1 HDMI-CEC 受信の動作フローチャート HDMI-CEC スタートビット検出 ? NO YES データ受信 (8ビット) EOM検出 ? NO YES ACK処理 ACK処理 終了 b7 Start bit Initiator MSB 510 b0 Destination EOM ACK Data EOM ACK LSB FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 17 章 リモコン受信 17.3 リモコン受信の動作説明と設定手順例 MB91313A シリーズ ● リモコン受信 図 17.3-2 リモコン受信の動作フローチャート リモコン スタートビット検出 ? NO YES データ受信 オーバフロー ? NO YES 終了 b0 スタート ビット b6 b0 コマンド LSB b0 b0 b2 b0 Ext.+3 MSB LSB b15 b0 LSB CM71-10143-5 デバイス MSB LSB カスタムコード リーダ コード b4 MSB LSB b7 b0 データコード MSB LSB Ext.+5 b7 データコード MSB LSB FUJITSU SEMICONDUCTOR LIMITED スタート ビット ストップ ビット リーダ コード MSB 511 第 17 章 リモコン受信 17.3 リモコン受信の動作説明と設定手順例 MB91313A シリーズ ■ リモコン受信の設定例 表 17.3-1 HDMI-CEC 時の設定例 レジスタ 設定値 備考 リモコン受信制御レジスタ MOD=11, THSEL=1, ADRCE=1 リモコン受信割込み制御レジスタ ACKIE=1, OVFSEL=1, OVFIE=1 (7.8 ms) スタートビット "H" 幅設定レジスタ 114 3.5 ms "H" 幅設定レジスタ A 13 0.4 ms "H" 幅設定レジスタ B 42 1.3 ms 表 17.3-2 リモコン (SIRCS) 時の設定例 レジスタ 設定値 備考 リモコン受信制御レジスタ MOD=00, THSEL=0, ADRCE=1 リモコン受信割込み制御レジスタ ACKIE=0, OVFSEL=0, OVFIE=1 3.9 ms スタートビット "H" 幅設定レジスタ 76 2.3 ms "H" 幅設定レジスタ A 17 0.52 ms "H" 幅設定レジスタ B 37 1.1 ms 表 17.3-3 リモコン (NEC) 時の設定例 レジスタ 設定値 備考 リモコン受信制御レジスタ MOD=10, THSEL=0 リモコン受信割込み制御レジスタ ACKIE=0, OVFSEL=1, OVFIE=1 7.8 ms スタートビット "H" 幅設定レジスタ 144 4.4 ms "H" 幅設定レジスタ A 15 0.46 ms "H" 幅設定レジスタ B 52 1.6 ms 512 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ フラッシュメモリの概要 , レジスタの構成 / 機能お よび動作について説明します。 18.1 フラッシュメモリの概要 18.2 フラッシュメモリのレジスタ 18.3 フラッシュメモリのアクセスモード 18.4 フラッシュメモリ自動アルゴリズム 18.5 自動アルゴリズム実行状態の確認 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 18.7 データポーリングフラグ (DQ7) の制約事項と 誤判定回避方法 18.8 制限および注意事項 管理番号 : CM71-00512-2 固有箇所 : 514, 514, 515, 515, 516, 519, 521, 525, 536, 540, 546 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 513 第 18 章 フラッシュメモリ 18.1 フラッシュメモリの概要 18.1 MB91313A シリーズ フラッシュメモリの概要 本製品は 544K バイト (4M ビット ) の容量で , 全セクタ一括消去およびセクタ単位 での消去と , FR-CPU によるハーフワード (16 ビット ) 単位での書込みが可能なフ ラッシュメモリを内蔵しています。 ■ フラッシュメモリの概要 内蔵の 3 V 動作 544K バイトフラッシュメモリです。 このフラッシュメモリは , 単体フラッシュメモリと同様に ROM ライタによるデバイス 外部からの書込みも可能です。また, 単体フラッシュメモリ相当の機能に加え, FR-CPU の内蔵 ROM として使用する場合には , ワード (32 ビット ) 単位での命令 / データ読出し が可能であり , デバイスの高速動作を実現できます。 本製品では, フラッシュメモリマクロとFR-CPUインタフェース回路の組み合わせによ り , 以下の機能を実現します。 • CPU のプログラム / データ格納用メモリとして機能 - ROM として使用する際は 32 ビットバス幅でアクセス可能 - CPU による読出し / 書込み / 消去 ( 自動アルゴリズム *) が可能 • 単体フラッシュメモリ製品相当の機能 - ROM ライタによる読出し / 書込み / 消去 ( 自動アルゴリズム *) が可能 *: 自動アルゴリズム = Embedded Algorithm ここでは , FR-CPU から本フラッシュメモリを使用する場合について記載しています。 ROMライタから本フラッシュメモリを使用する場合の詳細につきましては, 別途ROM ライタの取り扱い説明書を参照ください。 514 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ 18.1 フラッシュメモリの概要 MB91313A シリーズ ■ フラッシュメモリのブロックダイヤグラム 図 18.1-1 に , フラッシュメモリのブロックダイヤグラムを示します。 図 18.1-1 フラッシュメモリのブロックダイヤグラム 立上りエッジ検出 RDY/BUSYX RESETX BYEX OEX フラッシュメモリ 制御信号生成 544KB WEX CEX RDY WE バ ス 制 御 信 号 FA 19-0 DI 15-0 アドレスバッファ DO 15-0 データバッファ FA 19-0 FD 31-0 FR F-bus (instruction/data) ■ フラッシュメモリのメモリマップ 図 18.1-2 に , フラッシュメモリのメモリマップを示します。 図 18.1-2 フラッシュメモリのメモリマッピング 0000_0000 0007_8000 544Kバイト FLASH 0010_0000 FFFF_FFFF CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 515 第 18 章 フラッシュメモリ 18.1 フラッシュメモリの概要 MB91313A シリーズ ■ フラッシュメモリのセクタアドレス表 フラッシュメモリのセクタ配置は , フラッシュモードと CPU モードで異なります。 ● CPU モード時のセクタマップ 078000H SA4 (64kB) 088000H SA5 (64kB) 098000H SA6 (64kB) 0A8000H SA7 (64kB) 0B8000H SA8 (64kB) 0C8000H SA9 (64kB) 0D8000H SA10 (64kB) 0E8000H SA11 (64kB) 0F8000H 0FA000H 0FC000H 0FE000H 100000H SA0 (8kB) SA1 (8kB) SA2 (8kB) SA3 (8kB) 32ビット 516 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ 18.1 フラッシュメモリの概要 MB91313A シリーズ ● フラッシュモード時のセクタマップ 078000H 07A000H 07C000H 07E000H 080000H SA0 (8kB) SA1 (8kB) SA2 (8kB) SA3 (8kB) SA4 (64kB) 090000H SA5 (64kB) 0A0000H SA6 (64kB) 0B0000H SA7 (64kB) 0C0000H SA8 (64kB) 0D0000H SA9 (64kB) 0E0000H SA10 (64kB) 0F0000H SA11 (64kB) 100000H 16ビット CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 517 第 18 章 フラッシュメモリ 18.2 フラッシュメモリのレジスタ MB91313A シリーズ フラッシュメモリのレジスタ 18.2 フラッシュメモリにはフラッシュコントロールステータスレジスタ (FLCR) とウェ イトレジスタ (FLWC) の 2 つのレジスタがあります。 ■ フラッシュメモリのレジスタ一覧 図 18.2-1 に , フラッシュメモリのレジスタ一覧を示します。 図 18.2-1 フラッシュメモリのレジスタ一覧 bit 7 0 フラッシュコントロールステータスレジスタ (FLCR) ウェイトレジスタ (FLWC) 518 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ 18.2 フラッシュメモリのレジスタ MB91313A シリーズ 18.2.1 フラッシュコントロールステータスレジスタ (FLCR) フラッシュメモリの動作状態を示すレジスタです。 ■ フラッシュコントロールステータスレジスタ (FLCR) (CPU モード ) の構成 フラッシュメモリへの書込み制御などを行います。 CPU モードでのみアクセスすることが可能です。本レジスタは , リードモディファイ ライト系命令ではアクセスしないでください。 図 18.2-2 FLCR のビット構成 FLCR 7 アドレス bit 007000H 予約 R 6 予約 R 5 予約 R 4 3 予約 R RDY R 2 1 0 予約 R WE R/W 予約 R 初期値 0000X000B R/W :リード / ライト可能 R :リードオンリ [bit7 ∼ bit4] 予約 : 予約ビット 予約ビットです。 読出し値は常に "0000B" です。 [bit 3] RDY: レディビット 自動アルゴリズム ( データ書込み / 消去 ) の動作状態を表示します。 読み出したデータはフラッシュメモリのステータスを示します。 0 データ書込み / 消去動作中で , データの読出しやデータ書込み / 消去コマンド の受付はできません。また , フラッシュメモリ領域からデータを読み出せま せん。 1 データの読出しおよびデータ書込み / 消去コマンドの受付が可能です。 • リセット時 :"0" に初期化されません。 • 読出しのみ可能です。書込みは本ビット値に影響を与えません。 [bit 2] 予約ビット 予約ビットです。必ず "0" を設定してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 519 第 18 章 フラッシュメモリ 18.2 フラッシュメモリのレジスタ MB91313A シリーズ [bit 1] WE: 書込み許可ビット CPU モードにおけるフラッシュメモリへのデータおよびコマンドの書込みを制御 します。 フラッシュメモリモードにおいては , 本ビットの状態に関わらず書込み動作が有効 となります。 • 0 フラッシュメモリへの書込み禁止(無効), および読出しの倍速化 (32 ビットアクセス) 1 フラッシュメモリへの書込み許可(有効), および読出しの低速化 (16 ビットアクセス) リセット時 :"0" に初期化されます。 <注意事項> • 本ビットの書換えは必ず RDY ビットにより自動アルゴリズムが停止していることを確 認してから行ってください。RDY ビットが "0" の間本ビットを書換えることはできま せん。 • WE=1 のときは命令アクセス要求には応答せず , データアクセス要求にのみ応答しま す。 [bit 0] 予約ビット 予約ビットです。必ず "0" を設定してください。 520 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ 18.2 フラッシュメモリのレジスタ MB91313A シリーズ 18.2.2 ウェイトレジスタ (FLWC) ウェイトレジスタ (FLWC) は , CPU モードにおいてフラッシュメモリアクセスのウェイト制 御を行います。 ■ ウェイトレジスタ (FLWC) のビット構成 ウェイトレジスタ (FLWC) のビット構成は , 以下のとおりです。 図 18.2-3 ウェイトレジスタのビット構成 FLWC 7 アドレス bit 007004H FAC1 R/W 6 5 4 3 2 1 0 FAC0 WTW2 WTW1 WTW0 WTC2 WTC1 WTC0 R/W R/W R/W R/W R/W R/W R/W 初期値 01011011B R/W :リード / ライト可能 [bit7, bit6] FAC1, FAC0 : アクセス制御ビット フラッシュ制御の内部パルス生成を制御するための設定ビットです。これらのビッ トの設定により , ATDIN/EQIN パルスの幅を設定することができます。 必ずリードアクセスのウェイトサイクル設定 (WTC2 ∼ WTC0) と合わせた値を設定 してください。 FAC1 FAC0 CM71-10143-5 ATDIN EQIN 備考 0 0 0.5 クロック 1.0 クロック 読出し1ウェイト 0 1 1.0 クロック 1.5 クロック 読出し 2, 3 ウェイト [ 初期値 ] 1 0 1.5 クロック 2.0 クロック 設定禁止 1 1 2.0 クロック 2.5 クロック 設定禁止 FUJITSU SEMICONDUCTOR LIMITED 521 第 18 章 フラッシュメモリ 18.2 フラッシュメモリのレジスタ MB91313A シリーズ [bit5 ∼ bit3] WTW2 ∼ WTW0: ライトウェイトサイクルビット WTW2 WTW1 WTW0 ウェイトサイクル 備考 0 0 0 − 設定禁止 0 0 1 1 設定禁止 0 1 0 2 設定禁止 0 1 1 3 初期値 1 0 0 4 設定禁止 1 0 1 5 設定禁止 1 1 0 6 設定禁止 1 1 1 7 設定禁止 • リセット時 , "011B" に初期化されます。 • "011B" 以外を設定しないでください。 [bit2 ∼ bit0] WTC2 ∼ WTC0 : ウェイトサイクルビット WTC2 WTC1 WTC0 ウェイトサイクル 備考 0 0 0 − 設定禁止 0 0 1 1 − 0 1 0 2 − 0 1 1 3 初期値 1 0 0 4 設定禁止 1 0 1 5 設定禁止 1 1 0 6 設定禁止 1 1 1 7 設定禁止 • リセット時 , "011B" に初期化されます。 522 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 18.3 第 18 章 フラッシュメモリ 18.3 フラッシュメモリのアクセスモード フラッシュメモリのアクセスモード FR-CPU によりアクセスする場合 , 以下の 2 種類のアクセスモードが存在します。 • FR-CPU ROM モード ワード (32 ビット ) 長データを一括で読み出すことができますが , 書込みはできま せん。 • FR-CPU プログラミングモード ワード (32 ビット ) 長アクセスは禁止されていますが , ハーフワード (16 ビット ) 長での読出し / 書込みが可能になります。 ■ FR-CPU ROM モード (32 ビット , 読出しのみ ) FR-CPU の内蔵 ROM として機能するモードです。ワード (32 ビット ) 長データの一括 読出しが可能となりますが , フラッシュメモリへの書込み , 自動アルゴリズムの起動は できません。 ● モードの指定方法 • フラッシュコントロールステータスレジスタ (FLCR) の WE ビットが "0" のとき , 本 モードとなります。 • CPU 動作時でのリセット解除後は常に本モードになります。 • CPU 動作時以外では本モードにすることができません。 ● 動作内容 フラッシュメモリ領域の読出し時 , メモリよりワード (32 ビット ) 長データを一括で読 み出します。 ● 制限事項 • ROM ライタ書込み時とはアドレスの与え方 , およびエンディアンが異なります。 • 本モードでは , フラッシュメモリへのコマンド / データともに書込みはできません。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 523 第 18 章 フラッシュメモリ 18.3 フラッシュメモリのアクセスモード MB91313A シリーズ ■ FR-CPU プログラミングモード (16 ビット , 読出し / 書込み ) データの消去 / 書込みが可能になるモードです。ワード (32 ビット ) 長データの一括ア クセスは不可能ですので , 本モードで動作している間はフラッシュメモリ上のプログ ラムの実行を禁止します。 ● モードの指定方法 • フラッシュコントロールステータスレジスタ (FLCR) の WE ビットが "1" のとき本 モードとなります。 • CPU 動作時でのリセット解除後は WE ビットが "0" になっています。本モードにす るためには "1" を書き込んでください。再度 "0" を書き込むか , またはリセットの発 生により WE ビットが "0" になると FR-CPU ROM モードに戻ります。 • フラッシュコントロールステータスレジスタ (FLCR) の RDY ビットが "0" の期間は WE ビットを書き換えることができません。RDY ビットが "1" になったことを確認 してから WE ビットを書き換えてください。 ● 動作内容 • フラッシュメモリ領域の読出し時 , メモリよりハーフワード (16 ビット ) 長データを 一括で読み出します。 • フラッシュメモリへのコマンド書込みにより , 自動アルゴリズムを起動できます。 自動アルゴリズムの起動により , フラッシュメモリの消去 / 書込みが可能となりま す。自動アルゴリズムの詳細については , 「18.4 フラッシュメモリ自動アルゴリズ ム」を参照してください。 ● 制限事項 • ROM ライタ書込み時とはアドレスの与え方 , およびエンディアンが異なります。 • 本モードではワード (32 ビット ) 長でデータを読み出すことを禁止します。 ■ 自動アルゴリズム実行状態 FR-CPU プログラミングモードにて自動アルゴリズムを起動した場合には , フラッシュ コントロールステータスレジスタ (FLCR) の RDY ビットで自動アルゴリズムの動作状 態を確認できます。 RDY ビットが "0" の期間は , 自動アルゴリズムによるデータ書込み , または消去が行わ れており , 新たな書込み , または消去コマンドを受け付けることはできません。また , フ ラッシュメモリアドレスからのデータ読出しはできません。 RDY ビットが "0" の期間に読み出したデータは , フラッシュメモリのステータスを示 すハードウェアシーケンスフラグとなっています。 524 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ 18.4 フラッシュメモリ自動アルゴリズム MB91313A シリーズ フラッシュメモリ自動アルゴリズム 18.4 フラッシュメモリの自動アルゴリズムを起動するコマンドには , リセット , 書込み , チップ消去 , セクタ消去の 4 種類があり , セクタ消去については一時停止と再開の制 御が可能です。 ■ コマンドシーケンス 自動アルゴリズムを起動するには , フラッシュメモリに対し , 1 回∼ 6 回のハーフワー ド (16 ビット ) データの連続書込みを実行します。これをコマンドとよびます。 不正なアドレスとデータを書き込んだり , 誤った順番でアドレスとデータを書き込ん だりすると , フラッシュメモリは読出しモードにリセットされます。 表 18.4-1 コマンドシーケンス表にフラッシュメモリの書込み / 消去時に使用するコマ ンドの一覧を示します。 表 18.4-1 コマンドシーケンス表 コマンド アクセ シーケンス ス回数 第 1 書込み サイクル 第 2 書込み サイクル データ F0F0H アドレス 第 3 書込み サイクル 第 4 書込み サイクル 第 5 書込み サイクル 第 6 書込み サイクル リセット 1 アドレス XXXXH データ アドレス データ アドレス データ アドレス データ アドレス データ − DAAA8H − F0F0H − − − − DAAA8H AAAAH − 5555H − 3 − D5554H − リセット データ 書込み チップ消去 − − − − − − 4 DAAA8H AAAAH D5554H 5555H DAAA8H A0A0H PA PD − − − − 5555H DAAA8H 8080H DAAA8H AAAAH D5554H 5555H DAAA8H XX10H DAAA8H AAAAH D5554H 6 DAAA8H AAAAH D5554H 3030H 5555H DAAA8H 8080H DAAA8H AAAAH D5554H 5555H 6 SA セクタ消去 セクタ消去一時停 アドレス = XXXX , データ = B0B0 の入力でセクタ消去中の一時停止 H H 止 アドレス = XXXX , データ = 3030 セクタ消去再開 H H の入力でセクタ消去中の一時停止後 , 消去再開 連続モード 3 DAAA8H AAAAH D5554H 5555H DAAA8H 2020H − − − − − − 連続書込み 2 XXXXXH A0A0H PA − − − − − − − − 連続モード リセット PD F0F0H 2 XXXXXH XXXXXH または 0000H − − − − − − − − RA: PA: SA: RD: PD: 9090H 読出しアドレス 書込みアドレス セクタアドレス ( セクタ内の任意の 1 アドレスを指定 ) 読出しデータ 書込みデータ ● リセットコマンド フラッシュメモリを読出し / リセットモードにセットします。フラッシュメモリは , ほ かのコマンドが入力されるまで読出し状態を保ちます。フラッシュメモリは , 電源投入 時自動的に読出し / リセットモードにセットされます。この場合は , リセットコマンド は必要ありません。 タイミングリミット超過から読出し / リセットモードへ復帰するには , リセットコマン ドシーケンスを発行することで行います。読出しサイクルでフラッシュメモリから データを読み出します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 525 第 18 章 フラッシュメモリ 18.4 フラッシュメモリ自動アルゴリズム MB91313A シリーズ ● プログラム ( データ書込み ) FR-CPU プログラミングモードでは , ハーフワード単位を基本として書込みを行いま す。データ書込みは 4 回のバス動作で行われます。コマンドシーケンスの最後の書込 みサイクルでメモリへの書込みが開始されます。 データ書込みの自動アルゴリズム実行後は , フラッシュメモリはそれ以上の外部から の制御を必要としません。フラッシュメモリは , 自動的に内部で作られた適切な書込み パルスを発生し , 書き込まれたセルのマージンを検証します。自動書込み動作は , デー タポーリング機能により , データポーリングフラグ (DQ7) がこのビットに書き込んだ データに一致したとき終了し (「18.5 自動アルゴリズム実行状態の確認」の「■ ハー ドウェアシーケンスフラグ」を参照してください。), このときをもって読出し / リセッ トモードに戻り , これ以上書込みアドレスは受け付けなくなります。この結果 , フラッ シュメモリはこの時点で次の有効アドレスを要求します。このようにデータポーリン グは , メモリが書込み中であることを示します。 書込み中はフラッシュメモリに書き込まれたすべてのコマンドが無視されます。もし 書込み中にハードウェアリセットが起動されると書き込んでいるアドレスのデータは 保証されません。 書込みはどのようなアドレスの順番でも , またセクタの境界を超えても可能です。書込 みによって , データ 0 をデータ 1 に戻すことはできません。データ 0 にデータ 1 を書き 込むと , データポーリングアルゴリズムにより , 素子が不良と判定されるか , あるいは 見かけ上データ 1 が書き込まれたように見えるかのどちらかです。しかし , 読出し / リ セットモードでデータを読み出すとデータは "0" のままです。消去動作のみが "0" デー タを "1" データにすることができます。 ● チップ消去 チップ消去 ( 全セクタの一括消去 ) は , 6 回のバス動作で行われます。チップ消去では , 消去前にユーザがフラッシュメモリに書込みを行う必要はありません。チップ消去の 自動アルゴリズム実行中にはフラッシュメモリは自動的にすべてのセルを消去する前 に "0" のパターンに書き込んで検証します ( プリプログラム )。 この動作中には , フラッ シュメモリは外部からの制御は必要としません。 チップ消去の自動アルゴリズムはコマンドシーケンス中の書込みで開始され , データ ポーリングフラグ (DQ7) が "1" になったときに終了し , このときフラッシュメモリは読 出し / リセットモードに戻ります。チップ消去時間は「セクタ消去時間×全セクタ数 + チップ書込み時間 ( プリプログラム )」となります。 526 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 18 章 フラッシュメモリ 18.4 フラッシュメモリ自動アルゴリズム ● セクタ消去 セクタ消去は , 6 回のバス動作で行われます。コマンドシーケンスの最後(6 サイクル 目)にセクタ消去コマンドを入力することによりセクタ消去が始まります。最後のセ クタ消去コマンドの書込みから 40 μs ∼ 160 μs のタイムアウト期間中 , 次のセクタ消去 コマンドの受け付けが可能です。 複数のセクタ消去は前述のコマンドシーケンスを書き込むことで同時に受け付け可能 となります。このシーケンスは同時に消去するセクタのアドレスにセクタ消去コマン ド (3030H) を引き続き書き込むことで行います。最後 (6 サイクル目 ) のセクタ消去コ マンドの書込みから 40 μs ∼ 160μs のタイムアウト期間終了により , セクタ消去が開始 されます。つまり , 複数のセクタを同時に消去する場合には , 次の消去セクタをそれぞ れ 40 μs 以内に入力する必要があり , それ以降ではコマンドは受け付けられないことが あります。引き続くセクタ消去コマンドが有効かどうかはセクタ消去タイマフラグ (DQ3) にてモニタ可能です (「18.5 自動アルゴリズム実行状態の確認」の「■ ハード ウェアシーケンスフラグ」を参照してください。)。 タイムアウト期間中はセクタ消去コマンドと消去一時停止以外のコマンドはすべて読 出しにリセットし , その前のコマンドシーケンスは無視します。この場合は , そのセク タを再度消去することにより消去が完了します。セクタ消去バッファへのセクタアド レス入力は , セクタのどのような組み合わせや数 (0 ∼ 6) からでも実行可能です。 セクタ消去では , 消去前にユーザがフラッシュメモリに書込みを行う必要はありませ ん。フラッシュメモリは自動的に消去されるセクタ内のすべてのセルに書込みを行い ます ( プリプログラム )。また , セクタ消去中はほかの消去されないセクタは何の影響 も受けません。これらの動作中 , フラッシュメモリは外部からの制御は必要としませ ん。 自動セクタ消去は , 最後のセクタ消去コマンドの書込みから 40 μs ∼ 160 μs のタイム アウト期間の後に開始され , データポーリングフラグ (DQ7) のデータが "1" になったと き終了し , フラッシュメモリは読出し / リセットモードに戻ります。ほかのコマンドは 無視されます。データポーリングは消去されたセクタ内のどのアドレスでも働きます。 複数セクタ消去時間は「( セクタ消去時間 + セクタ書込み時間 ( プリプログラム )) ×消 去セクタ数」となります。 ● 消去一時停止 消去一時停止コマンドは , ユーザがセクタ消去中にフラッシュメモリの自動アルゴリ ズムを一時停止して消去中でないセクタからのデータ読出しと書込みを可能にするも のです。このコマンドはセクタ消去中のみ有効で , チップ消去や書込みの動作中は無視 されます。消去一時停止コマンド (B0B0H) はセクタ消去コマンド (3030H) 後のセクタ 消去タイムアウト期間を含むセクタ消去動作中にのみ有効です。このコマンドがタイ ムアウト期間中に入力されるとただちにタイムアウトを終了し , 消去動作を中断しま す。消去再開コマンドが書き込まれると消去動作が再開されます。消去一時停止 , 消去 再開コマンドの入力の際のアドレスは任意であってかまいません。 セクタ消去動作中に消去一時停止コマンドが入力されると , フラッシュメモリが消去 動作を停止するのに最大 20 μs の時間がかかります。フラッシュメモリが消去一時停止 モードに入ると , FLCR レジスタの RDY ビットとデータポーリングフラグ (DQ7) が "1" を出力し , トグルビットフラグ (DQ6) のトグル動作が停止します。消去しているセク タのアドレスを入力しトグルビットフラグ (DQ6) とデータポーリングフラグ (DQ7) の 読出し値をモニタすることによって , 消去動作を停止しているかどうかを確かめられ CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 527 第 18 章 フラッシュメモリ 18.4 フラッシュメモリ自動アルゴリズム MB91313A シリーズ ます。消去一時停止中の消去一時停止コマンドの書込みは無視されます。 消去動作が停止したとき , フラッシュメモリは消去一時停止読出しモードになります。 このモードでのデータの読出しはデータが消去一時停止していないセクタに有効とな りますが , それ以外は標準的な読出しと同じです。 消去一時停止読出しモードに入った後 , ユーザは書込みのコマンドシーケンスを書き 込むことによりフラッシュメモリに書込みができます。この書込みモードは , 消去一時 停止書込みモードとなります。このモードでの書込みは , データが消去一時停止してい ないセクタに有効となりますが , それ以外は通常のバイト書込みと同じです。消去一時 停止書込みモードは , トグルビットフラグ (DQ6) によって検出できます。 使用上の注意として , トグルビットフラグ (DQ6) はどんなアドレスに対しても読出し 可能ですが , データポーリングフラグ (DQ7) は書込みアドレスに対して読出しを行わ なければなりません。 セクタ消去動作を再開するためには , 消去再開コマンド (3030H) を入力する必要があり ます。消去再開コマンドを入力後 , 再度消去再開コマンドを入力しても , 2 度目のコマ ンド入力は無視されます。また , 消去一時停止コマンドはフラッシュメモリが消去を再 開後 , 入力できます。 528 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ 18.5 自動アルゴリズム実行状態の確認 MB91313A シリーズ 18.5 自動アルゴリズム実行状態の確認 フラッシュメモリは , データ書込み / 消去のフローを自動アルゴリズムで行います。 この自動アルゴリズムの実行状態は , ハードウェアシーケンスフラグと RDY ビット によって確認できます。 ■ RDY ビット フラッシュメモリ内部の自動アルゴリズムが実行中か終了したかを知らせる手段とし て , ハードウェアシーケンスフラグの他に , フラッシュメモリステータスレジスタ (FLCR) の RDY があります。 RDY ビットの読出し値が "0" のとき , フラッシュメモリはデータ書込み , あるいは消去 動作中です。このときはデータ書込みコマンドも消去コマンドも受け付けません。RDY ビットの読出し値が "1" のときフラッシュメモリは読出し / データ書込み , あるいは消 去動作待ちの状態です。 ■ ハードウェアシーケンスフラグ ハードウェアシーケンスフラグは , 自動アルゴリズム実行中にフラッシュメモリの任 意のアドレス ( バイトアクセス時は奇数アドレス ) を読み出すことによりデータとして 得られます。データのうち , 有効ビットは 5 ビットで , それぞれが自動アルゴリズムの 状態を示します。 ROM1 の自動アルゴリズム実行中は ROM1 の任意のアドレスを , ROM2 の自動アルゴ リズム実行中は ROM2 の任意のアドレスを指定してください。 bit 15 ハーフワード読出し時 8 7 ( 不定 ) 0 ハードウェアシーケンスフラグ bit 7 バイト読出し時 ( 奇数アドレスのみ ) 0 ハードウェアシーケンスフラグ ( 注意事項 ) ワード読出しは禁止。(FR-CPU プログラミングモードのみ使用してください。) CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 529 第 18 章 フラッシュメモリ 18.5 自動アルゴリズム実行状態の確認 MB91313A シリーズ 図 18.5-1 ハードウェアシーケンスフラグの構成 bit ( ハーフワード, バイトアクセス時 ) 7 6 5 4 3 2 DPOLL TOGGLE TLOVER ( 不定 ) SETIMR ( 不定 ) 1 0 ( 不定 ) ( 不定 ) なお , これらのフラグについては FR-CPU ROM モード時に意味を持ちません。必ず FR-CPU プログラミングモードのみで , ハーフワードまたはバイト読出しを行ってくだ さい。 表 18.5-1 ハードウェアシーケンスフラグ状態一覧 DPOLL 状態 実行中 反転データ トグル 0 0 0 トグル 0 1 タイムアウト期間 1 トグル 0 0 消去期間 0 トグル 0 1 1 1 0 0 データ データ データ データ 反転データ トグル * 0 0 反転データ トグル 1 0 0 トグル 1 1 0 トグル 1 1 データ書込み チップ消去 セクタ 消去 TOGGLE TLOVER SETIMR 消去 読出し 一時停止 ( 消去一時停止しているセクタ ) モード 読出し ( 消去一時停止していないセクタ ) データ書込み ( 消去一時停止していないセクタ ) データ書込み タイム リミット チップ / セクタ消去 超過 消去一時停止時の書込み動作 *: どんなアドレスからの連続的な読出し時でも , TOGGLE はトグル動作をします。 それぞれについては , 以下に簡単に説明します。 [bit 7] DPOLL : データポーリングフラグ (DQ7) データポーリングフラグは , 自動アルゴリズム実行が進行中もしくは終了状態であ ることをデータポーリング機能によって知らせるためのフラグです。 データ書込み動作時 データ書込みの自動アルゴリズム実行中に読出しアクセスすると , フラッ シュメモリはアドレスの指し示す番地によらず , 最後に書き込まれたデータ の bit 7 の反転データを出力します。自動書込みアルゴリズム終了時に読出し アクセスすると , フラッシュメモリはアドレスの指し示す番地の読出し値の bit 7 を出力します。 チップ消去動作時 チップ消去の自動アルゴリズム実行中に読出しアクセスすると , アドレスの 指し示す番地に関係なく , フラッシュメモリは "0" を出力します。同様に終 了時には "1" を出力します。 530 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 18 章 フラッシュメモリ 18.5 自動アルゴリズム実行状態の確認 セクタ消去動作時 セクタ消去の自動アルゴリズムを実行中に消去しているセクタに読出しアク セスすると , フラッシュメモリは "0" を出力します。 本シリーズは機能上の制約により , セクタ消去コマンド発行後 , 40μs ∼ 160μs の期間 "1" を出力してから "0" を出力します。セクタ消去が完了するとフラッ シュメモリは "1" を出力します。 セクタ消去動作時のデータポーリングフラグ (DQ7) の , 制約事項の内容とセ クタ消去完了の誤判定回避方法については「18.7 データポーリングフラグ (DQ7) の制約事項と 誤判定回避方法」を参照してください。 セクタ消去一時停止時 セクタ消去一時停止時に読出しアクセスすると , フラッシュメモリはアドレ スの指し示す番地が消去中のセクタであれば "1" を出力し , 消去中のセクタ でなければアドレスの指し示す番地の読出し値の bit 7 を出力します。トグル ビットフラグとともに参照することで, 現在セクタ一時停止状態であるか, ど のセクタが消去中であるかの判定が可能です。 <注意事項> 自動アルゴリズム起動時は指定したアドレスへの読出しアクセスは無視されます。データ の読出しは , データポーリングフラグの終了を受けてほかのビットの出力が可能となりま す。このため自動アルゴリズム終了後のデータの読出しは , データポーリング終了を確認 した読出しアクセスの次に行うようにしてください。 [bit 6] TOGGLE : トグルビットフラグ (DQ6) トグルビットフラグはデータポーリングフラグと同様に , 主に自動アルゴリズム実 行が進行中 , もしくは終了状態であることをトグルビット機能によって知らせるた めのフラグです。 書込み / チップ・セクタ消去時 データ書込みやチップ / セクタ消去の自動アルゴリズム実行中に , 連続した 読出しアクセスを行うと , フラッシュメモリはアドレスの指し示す番地によ らず , 読出しごとに "1" と "0" を交互に出力します ( トグル状態 )。書込み , チップ / セクタ消去の自動アルゴリズム終了時に連続した読出しアクセスを 行うとフラッシュメモリは bit 6 のトグル動作を止め , アドレスの指し示す番 地の読出し値の bit 6(DATA:6) を出力します。 書込みの際 , 書き込もうとしているセクタが書換え保護されているセクタの 場合は , 約 2 μs のトグル動作をした後 , データを書き換えることなくトグル 動作を終わります。消去の際 , 選択されたすべてのセクタが書換え保護され ている場合トグルビットは約 100 μs のトグル動作をし , その後データを書き 換えないで読出し / リセット状態に戻ります。 セクタ消去一時停止時 セクタ消去一時停止時に読出しアクセスすると , フラッシュメモリはアドレスの 指し示す番地が消去中のセクタに属するならば , "1" を出力します。消去中のセ クタに属さないのであれば , アドレスの指し示す番地の読出し値の bit 6(DATA:6) を出力します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 531 第 18 章 フラッシュメモリ 18.5 自動アルゴリズム実行状態の確認 MB91313A シリーズ [bit 5] TLOVER : タイミングリミット超過フラグ (DQ5) タイミングリミット超過フラグは , 自動アルゴリズムの実行がフラッシュメモリ内 部に規定された時間 ( 内部パルス回数 ) を超えてしまったことを知らせるフラグで す。 書込み / チップ・セクタ消去時 書込みまたは , チップ・セクタ消去自動アルゴリズム起動後に読出しアクセ スすると , 規定時間 ( 書込み / 消去に要する時間 ) 内であれば "0" を , 規定時 間を超えてしまっている場合は "1" を出力します。これは , 自動アルゴリズ ムが実行中か終了状態にあるか無関係ですので , データ書込み / 消去が成功 したか失敗したかの判定が可能です。すなわち , このフラグが "1" を出力し た時 , データポーリング機能もしくはトグルビット機能により自動アルゴリ ズムがまだ実行中であれば , 書込みが失敗していると判断することができま す。例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き 込もうとするとフェイルが発生します。この場合フラッシュメモリはロック され , 自動アルゴリズムは終了しません。まれに "1" が書き込めたように,正 常終了する場合もあります。したがって , データポーリングフラグから有効 なデータが出力されません。またトグルビットフラグはトグル動作を止めず , タイムリミットを超え , タイミングリミット超過フラグは "1" を出力します。 この状態はフラッシュメモリが不良ではなく , 正しく使用されなかったとい うことを表しています。この状態が発生した時は , リセットコマンドを実行 してください。 [bit 3] SETIMR : セクタ消去タイマフラグ (DQ3) セクタ消去タイマフラグは , セクタ消去コマンド起動後セクタ消去タイムアウト期 間中であるか否かを知らせるフラグです。 セクタ消去動作時 セクタ消去コマンド起動後に読出しアクセスすると , フラッシュメモリはコ マンドを発行したセクタのアドレス信号の指し示す番地によらず , セクタ消 去タイムアウト期間中であれば "0" を , セクタ消去タイムアウト期間を超え てしまっている場合は "1" を出力します。 データポーリング機能やトグルビット機能により消去アルゴリズムが実行中 を示している場合, このフラグが"1"であれば内部で制御される消去が始まっ ています。続けてのセクタ消去コードの書込み , または消去一時停止以外の コマンドは , 消去が終了されるまで無視されます。このフラグが "0" であれ ばフラッシュメモリは, 追加のセクタ消去コードの書込みを受け付けます。こ のことを確認するために , 引き続くセクタ消去コードの書込みに先立ちこの フラグの状態をチェックすることを推奨します。もし 2 回目の状態チェック で "1" であったなら追加セクタの消去コードは受け付けられてない可能性が あります。 セクタ消去動作時 セクタ消去一時停止中に読出しアクセスすると , フラッシュメモリはアドレ スの指し示す番地が , 消去中のセクタに属するならば "1" を出力します。消 去中のセクタに属さないのであれば , アドレスの指し示す番地の読出し値の bit 3(DATA:3) を出力します。 532 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 18.6 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 フラッシュメモリデータ書込み / 消去の詳細説明 自動アルゴリズムを起動するコマンドを発行し , フラッシュメモリへの下記それぞ れの動作を行うための手順について説明します。 ・リセット ・データ書込み ・チップ消去 ・セクタ消去 ・セクタ消去一時停止 ・セクタ消去再開 ■ フラッシュメモリデータ書込み / 消去 フラッシュメモリの自動アルゴリズム ( データ書込み , チップ消去 , セクタ消去 , セク タ消去一時停止 , 消去再開 ) は , コマンドシーケンスをバスへ書き込むことで起動でき ます。それぞれのバスへの書込みサイクルは必ず続けて行う必要があります。また , 自 動アルゴリズムはデータポーリング機能 , トグルビット機能などで終了時を知ること ができます。正常終了後は読出し / リセット状態に戻ります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 533 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 18.6.1 MB91313A シリーズ 読出し / リセット状態 リセットコマンドを発行し , フラッシュメモリを読出し / リセット状態にする手順に ついて説明します。 ■ 読出し / リセット状態 コマンドシーケンス表のリセットコマンドをフラッシュメモリ内の対象セクタに続け て送ると , フラッシュメモリを読出し / リセット状態にできます。 リセットコマンドには 1 回と 3 回のバス動作を行う 2 とおりのコマンドシーケンスが ありますが , これらの本質的な違いはありません。 リセット状態はフラッシュメモリの初期状態であり , 電源投入時 , コマンドの正常終了 時は常に読出し / リセット状態になります。読出し / リセット状態はほかのコマンドの 入力待ち状態です。読出し / リセット状態では通常の読出しアクセスでデータを読み 出せます。マスク ROM と同様に CPU からのプログラムアクセスが可能です。通常読 出しでのデータ読出しにこのコマンドは必要ありません。何らかの理由でコマンドが 正常に終了しなかった時など , 自動アルゴリズムを初期化する場合に主にこのコマン ドを使用します。 534 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 18.6.2 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 データ書込み 書込みコマンドを発行し , フラッシュメモリにデータ書込みを行う手順について説 明します。 ■ データ書込み コマンドシーケンス表の書込みコマンドをフラッシュメモリ内の対象セクタに続けて 送ると , データ書込み自動アルゴリズムを起動できます。4 サイクル目に目的のアドレ スへのデータ書込みが終了した時点で , 自動アルゴリズムが起動され自動書込みが開 始します。 ● アドレス指定方法 書込みデータサイクルの中で指定する書込みアドレスは , 偶数アドレスのみが可能で す。奇数アドレスを指定すると正しく書き込むことができません。つまり , 偶数アドレ スへのハーフワードデータ単位での書込みが必要となります。 書込みはどのようなアドレスの順番でも , また , セクタの境界を超えても可能ですが , 1 回の書込みコマンドによって書き込まれるデータは 1 ハーフワードのみです。 ● データ書込み上の注意 書込みによって , データ 0 をデータ 1 に戻すことはできません。データ 0 にデータ 1 を 書き込むと , データポーリングアルゴリズムまたは , トグル動作が終了せず , フラッ シュメモリ素子が不良と判定され , 書込み規定時間を超えタイミングリミット超過フ ラグがエラーと判定するか, あるいは見かけ上データ1が書き込まれたように見えるか のどちらかとなります。しかし , 読出し / リセット状態でデータを読み出すとデータは "0" のままです。消去動作のみが "0" データを "1" にすることができます。自動書込み 実行中はすべてのコマンドが無視されます。書込み中にハードウェアリセットが起動 されると , 書き込んでいるアドレスのデータは保証されませんので注意が必要です。 ● フラッシュメモリ書込み手順 図 18.6-1 にフラッシュメモリ書込みの手順の例を示します。ハードウェアシーケンス フラグを用いることでフラッシュメモリ内部の自動アルゴリズムの状態判定が可能で す。ここでは , 書込み終了の確認にデータポーリングフラグ (DQ7) を用いています。 フラグチェックのために読み込むデータは最後に書込みを行ったアドレスからの読み 込みとなります。 データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に変 わるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもデータポーリ ングフラグ (DQ7) は再チェックする必要があります。 トグルビットフラグ (DQ6) でも同様にタイミングリミット超過フラグ (DQ5) が "1" に 変わるのと同時にトグル動作を止めるので , トグルビットフラグ (DQ6) を再チェック する必要があります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 535 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 MB91313A シリーズ 図 18.6-1 フラッシュメモリ書込み手順の例 書込み開始 FLCR : WE(bit1) フラッシュメモリ書込み許可 書込みコマンドシーケンス AAAAH D5557H 5555H CAAABH A0A0H D5557H 書込みアドレス 書込みデータ 内部アドレス読出し データポーリング (DQ7) 次アドレス Data Data 0 タイムリミット (DQ5) 1 内部アドレス読出し Data データポーリング (DPOLL) Data 書込みエラー 最終アドレス NO YES FLCR : WE(bit1) フラッシュメモリ書込み禁止 ハードウェアシーケンス フラグによる確認 書込み完了 536 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 18.6.3 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 データ消去 ( チップ消去 ) チップ消去コマンドを発行し , フラッシュメモリの全データ消去を行う手順につい て説明します。 ■ データ消去 ( チップ消去 ) コマンドシーケンス表のチップ消去コマンドをフラッシュメモリ内の対象セクタに続 けて送ると , フラッシュメモリからすべてのデータを消去できます。 チップ消去コマンドは 6 回のバス動作で行われます , 6 サイクル目の書込みが完了した 時点でチップ消去動作が開始します。チップ消去では , 消去前にユーザがフラッシュメ モリに書込みを行う必要はありません。自動消去アルゴリズム実行中には , フラッシュ メモリは自動的にすべてのセルを消去する前に "0" を書き込んで検証します。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 537 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 18.6.4 MB91313A シリーズ データ消去 ( セクタ消去 ) セクタ消去コマンドを発行し , フラッシュメモリの任意のセクタ消去を行う手順に ついて説明します。セクタごとの消去が可能であり , 複数のセクタを同時に指定す ることも可能です。 ■ データ消去 ( セクタ消去 ) コマンドシーケンス表のセクタ消去コマンドをフラッシュメモリ内の対象セクタに続 けて送ると , 任意のセクタを消去できます。 ● セクタ指定方法 セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目に目的のセクタ内の アクセス可能な任意の偶数の 1 アドレスへ , セクタ消去コード (3030H) を書き込むこと により 40 μs ∼ 160 μs のセクタ消去タイムアウトが開始します。複数のセクタ消去を 行う場合は , 上記の処理に引き続き消去する目的のセクタ内のアドレスに消去コード (3030H) を書き込みます。 ● 複数のセクタを指定する時の注意 最後のセクタ消去コードの書込みから 40 μs ∼ 160 μs のセクタ消去タイムアウト期間 終了により消去が開始します。つまり , 複数のセクタを同時に消去する場合は , 次の消 去セクタのアドレスと消去コード ( コマンドシーケンス 6 サイクル目 ) をそれぞれ 40 μs 以内に入力する必要があり , それ以降では受け付けられないことがあります。引き続 くセクタ消去コードの書込みが有効かどうかはセクタ消去タイマフラグ (DQ3) によっ て調べることができます。なおこの時 , セクタ消去タイマを読み出すアドレスは , 消去 しようとしているセクタを指すようにします。 ● セクタ消去手順 ハードウェアシーケンスフラグを用いることでフラッシュメモリ内部の自動アルゴリ ズムの状態判定が可能です。図 18.6-2 にフラッシュメモリセクタ消去の手順の例を示 します。ここでは , 消去終了の確認にトグルビットフラグ (DQ6) を用いています。フ ラグチェックのために読み込むデータは , 消去しようとしているセクタからの読込み となりますので , 注意が必要です。 トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変わる のと同時にトグル動作を止めるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもトグルビットフラグ (DQ6) は再チェックする必要があります。 データポーリングフラグ (DQ7) でも同様に , タイミングリミット超過フラグ (DQ5) と 同時に変わるので , データポーリングフラグ (DQ7) を再チェックする必要があります。 538 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 ■ データポーリングフラグ (DQ7) の制約事項 本シリーズでは , 機能上の制約により , セクタ消去コマンド発行後にデータポーリング フラグ (DQ7) は 40μs ∼ 160μs の期間 "1" を示してから , "0" に変化します。セクタ消去 が終了するとデータポーリングフラグ (DQ7) は "1" を示します。 セクタ消去のときのデータポーリングフラグ (DQ7) の制約事項の内容とセクタ消去完 了の誤判定回避方法については「18.7 データポーリングフラグ (DQ7) の制約事項と 誤 判定回避方法」を参照してください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 539 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 MB91313A シリーズ 図 18.6-2 セクタ消去手順の例 消去開始 FLCR:WE(bit1) フラッシュメモリ 消去許可 消去コマンドシーケンス ① DAAA8H ← AAAAH ② D5554H ← 5555H ③ DAAA8H ← 8080H ④ DAAA8H ← AAAAH ⑤ D5554H ← 5555H ⑥消去セクタへコード入力 (3030H) YES 消去セクタが ほかにあるか NO 内部アドレスリード 内部アドレスリード1 0 内部アドレスリード2 セクタ消去タイマ(DQ3) トグルビット(TOGGLE) データ1 = データ2 ? 1 消去指定の追加が40μs 以内になされなかった。 残りをやり直すフラグを 立て,いったん消去を終える。 YES NO 0 タイミングリミット (TLOVER) 1 内部アドレスリード1 内部アドレスリード2 :ハードウェアシーケンスフラグによる確認 NO トグルビット(TOGGLE) データ1 = データ2 ? YES 消去エラー 残りやり直し フラグ? YES NO FLCR:WE(bit1) フラッシュメモリ 消去禁止 TOGGLE : トグルビットフラグ(DQ6) TLOVER : タイミングリミット超過フラグ(DQ5) 540 消去完了 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 18.6.5 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 セクタ消去の一時停止 セクタ消去一時停止コマンドを発行し , フラッシュメモリセクタ消去の一時停止を 行う手順について説明します。消去中でないセクタから , データを読み出すことが 可能です。 ■ セクタ消去の一時停止 コマンドシーケンス表のセクタ消去一時停止コマンドをフラッシュメモリ内の対象セ クタに送ると , セクタ消去を一時停止できます。 セクタ消去一時停止コマンドは , セクタ消去中に , 消去を一時停止し消去中でないセク タからのデータ読出しを可能にするものです。この状態では読出しのみが可能で書込 みはできません。このコマンドは消去タイムアウト時間を含むセクタ消去中のみ有効 で , チップ消去中や書込み動作中は無視されます。 消去一時停止コード (B0B0H) の書き込むことで実施されますが , この時アドレスはフ ラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止での再度の消 去一時停止コマンドは無視されます。 セクタ消去タイムアウト期間中に , セクタ消去一時停止コマンドが入力されると , 直ち にセクタ消去タイムアウトを終了し , 消去動作を中断して消去停止状態になります。セ クタ消去タイムアウト期間後のセクタ消去動作中にセクタ消去一時停止コマンドが入 力されると , 最大 20 μs の時間の後 , 消去一時停止状態に入ります。セクタ消去一時停 止コマンドは,セクタ消去コマンドあるいはセクタ消去再開コマンド発行後,20μs 以 上後に行ってください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 541 第 18 章 フラッシュメモリ 18.6 フラッシュメモリデータ書込み / 消去の詳細説明 18.6.6 MB91313A シリーズ セクタ消去の再開 セクタ消去再開コマンドを発行し , 一時停止したフラッシュメモリセクタ消去を再 開する手順について説明します。 ■ セクタ消去の再開 コマンドシーケンス表のセクタ消去再開コマンドをフラッシュメモリ内の対象セクタ に送ると , 一時停止中のセクタ消去を再開できます。 このコマンドは消去再開コード (3030H) を書き込むことで実施されますが , この時のア ドレスはフラッシュメモリ領域内の任意のアドレスを指すようにします。なお , セク タ消去中のセクタ消去再開コマンドの発行は無視されます。 542 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 18.7 第 18 章 フラッシュメモリ 18.7 データポーリングフラグ (DQ7) の制約事項と 誤判定回避 方法 データポーリングフラグ (DQ7) の制約事項と 誤判定回避方法 本シリーズでは , セクタ消去時の自動アルゴリズム実行時のデータポーリングフラ グ (DQ7) の使用方法に制約があります。本節では , 制約事項の内容とセクタ消去完 了の誤判定回避方法について説明します。 ■ 制約事項による不具合内容 データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状態 であることを , データポーリング機能によって知らせるためのフラグです。この DQ7 の本来の動作は , 図 18.7-1 に示すとおり , 自動アルゴリズム起動時にセクタ消去コマン ド発行後 , "0" を出力し , 消去完了後 "1" に戻ります。DQ7 のポーリングアルゴリズム では , この "1" 出力をもって消去完了を示します。 本シリーズでは , DQ7 はセクタ消去コマンド発行後から 40μs ∼ 160μs の間 "1" を出力 し続け , その後に "0" を出力し , 消去完了後 "1" に戻ります。このために , セクタ消去 のポーリングを , セクタ消去コマンド発行直後の "1" 出力期間内から始めると , 実際は 消去開始前であるにもかかわらず, 消去が完了したように誤判定する可能性があります。 セクタ消去コマンド受付後 , DQ7 が "1" から "0" になるタイミングは , セクタ消去タイ ムアウト期間を示すセクタ消去タイマフラグ (DQ3) が "0" から "1" になるタイミングと 同じです。 図 18.7-1 データポーリングフラグ (DQ7) の実際の動作 セクタ消去コマンドの 最後の3030Hをライト 消去完了 内部の書込み 信号 直後のリードから DQ7 (本来) 40~160 μ s DQ7(不具合) DQ3 消去が完了したように誤判定した結果 , 誤判定後の不具合動作の例としては , 以下が考 えられます。 (1) CPU が命令 / データをフェッチしようとしてもフラッシュメモリからはシーケン スフラグの値が読み出されるため , 正常にプログラムの値が読めず , 暴走や異常動 作を起こす可能性があります。 (2) 誤ってセクタ消去完了判定した後 , 次のコマンドを発行すると , 最初のコマンドが キャンセルされて読出し状態に戻ったり , 次のコマンドが受け付けられない可能性 があります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 543 第 18 章 フラッシュメモリ 18.7 データポーリングフラグ (DQ7) の制約事項と 誤判定回避 方法 MB91313A シリーズ ■ 不具合の回避方法 以下のいずれかの方法で不具合を回避してください。 ● トグルビットフラグ (DQ6) を用いたポーリング 「18.6.4 データ消去 ( セクタ消去 )」の図 18.6-2 に示しますように , DQ6 を使用して自 動アルゴリズムの状態を判定してください。 トグルビットフラグ (DQ6) は, データポーリングフラグ (DQ7) と同様に, 主に自動アル ゴリズム実行が進行中 , もしくは終了状態であることをトグルビット機能によって知 らせるためのフラグです。 ● セクタ消去タイムアウト期間が過ぎた後で DQ7 のポーリングを開始 セクタ消去コマンド発行後 , ソフトウェアにて 160μs 以上待つか , DQ3=1 ( セクタ消去 タイムアウト期間終了 ) を待ってから DQ7 のポーリングを開始してください。図 18.72 に , セクタ消去コマンド発行後に DQ3 を使用した場合の判定方法を示します。 図 18.7-2 セクタ消去タイマフラグ (DQ3) による不具合回避方法 P 内部アドレスリード 0 セクタ消去タイマ フラグDQ3は? 1 内部アドレスリード データポーリング フラグDQ7は? 1 0 0 タイミングリミット 超過フラグDQ5は? 1 内部アドレスリード 0 データポーリング フラグDQ7は? 1 消去エラー 544 セクタ消去終了 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ 18.7 データポーリングフラグ (DQ7) の制約事項と 誤判定回避 方法 ハードウェアシーケンスフラグの 8 ビットを使用したデータポーリング MB91313A シリーズ ● DQ7 だけのポーリングを使って判定する代わりに , ハードウェアシーケンスフラグの 8 ビットを使ったデータポーリングによって判定してください。 図 18.7-3 に , セクタ消去コマンド発行後に 8 ビットデータポーリングを使用した場合 の判定方法を示します。 図 18.7-3 8 ビットデータポーリングによる不具合回避方法 P 内部アドレスリード Data (DQ0~DQ7)? FFH FFH以外 0 タイミングリミット 超過フラグDQ5は? 1 内部アドレスリード FFH以外 Data (DQ0~DQ7)? FFH 消去エラー CM71-10143-5 セクタ消去終了 FUJITSU SEMICONDUCTOR LIMITED 545 第 18 章 フラッシュメモリ 18.8 制限および注意事項 18.8 MB91313A シリーズ 制限および注意事項 フラッシュメモリのプログラミングに関する注意事項について説明します。 ■ 制限および注意事項 (1) 以下の領域 (I-bus) に対しての書込みアクセスは行わないでください。 0000_0300H ∼ 0000_037FH 0000_03E4H ∼ 0000_03E7H 0000_8000H ∼ 0000_BFFFH 0001_0000H ∼ 0001_FFFFH (2) FMCS レジスタの WE="0" の状態でフラッシュメモリへの書込みアクセスを行わな いでください。 (3) FMCSレジスタのWE="1"の状態でフラッシュメモリに対しての書込み連続アクセ スを行わないでください。その場合 , 必ず "NOP"1 命令以上あけるようにしてくだ さい。 例 ) フラッシュへのコマンド書込み ( コマンドシーケンス ) ⇒フラッシュ読出し ldi ldi ldi ldi ldi ldi ldi sth #0xAAAA, r0 #0x5555, r1 #0xAAAAA, r6 #0xA5555, r7 #0xA0A0, r8 # PA, r2 # PD, r3 r0, @r6 nop sth r1, @r7 nop sth r8, @r6 nop sth r3, @r2 : 必ず "NOP"1 命令以上あけてください。 : 必ず "NOP"1 命令以上あけてください。 : 必ず "NOP"1 命令以上あけてください。 nop : 必ず "NOP"1 命令以上あけてください。 (4) CPU モード時 , フラッシュメモリへの書込みアクセスはハーフワードのみ可能で す。バイト書込みアクセスは行わないでください。 (5) FLCR レジスタの WE, FIXE, BIRE を書き換えた直後にフラッシュメモリ領域への 分岐命令を実行しないでください。 フラッシュ領域に分岐する際には , 下記プログラム例に従い , 一度 FLCR レジスタ の値を読み出してから分岐してください。 STB R1, @R2 // WE=OFF LDUB @R2, R1 // FMCS 値ダミー読出し BRA _flash_address // フラッシュ領域への分岐 (6) セクタプロテクトは使用できません。 (7) フラッシュ書込み直後の読み出された値は保証できません。 書込み後読み出す場合は , 以下のように必ずダミー読出しを入れてから読み出し てください。 546 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 18 章 フラッシュメモリ 18.8 制限および注意事項 MB91313A シリーズ CM71-10143-5 STH r0, @r1 // フラッシュ書込み LDUH @r2, r4 // ダミー読み込み LDUH @r3, r4 // ポーリングデータ読み込み FUJITSU SEMICONDUCTOR LIMITED 547 第 18 章 フラッシュメモリ 18.8 制限および注意事項 548 MB91313A シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 19 章 MB91313A シリアル書込み接続 MB91313A のシリアル書込み接続について説明し ます。 19.1 シリアル書込み基本構成 19.2 シリアル書込み接続例 19.3 フラッシュマイコンプログラマのシステム構成 19.4 その他の注意事項 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 549 第 19 章 MB91313A シリアル書込み接続 19.1 シリアル書込み基本構成 19.1 MB91313A シリーズ シリアル書込み基本構成 MB91313A ではフラッシュ ROM のシリアルオンボード書込み ( 富士通標準 ) をサ ポートしています。その仕様について以下に解説します。 ■ シリアル書込み接続の基本構成 富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ製 AF420/ AF320/AF220/AF210/AF120/AF110 フラッシュマイコンプログラマを使用します。下図 に MB91313A シリアル書込み接続の基本構成について示します。 ホストインタフェースケーブル RS232C AF420/AF320/ AF220/AF210/ AF120/AF110 フラッシュマイ コンプログラマ + メモリカード 汎用共通ケーブル(AZ210) CLK同期シリアル MB91313A ユーザシステム スタンドアロンで動作可能 <注意事項> フラッシュマイコンプログラマの機能・操作方法および接続用汎用共通ケーブル (AZ210), コネクタにつきましては , 横河ディジタルコンピュータ株式会社にお問い合わせくださ い。 550 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 第 19 章 MB91313A シリアル書込み接続 19.1 シリアル書込み基本構成 MB91313A シリーズ ■ 富士通標準シリアルオンボード書込みに使用する端子 端子 機能 補足説明 MD2, MD1, MD0 モード端子 書込みモードに制御します Flash シリアル書込みモード :MD2, MD1, MD0=H, L, L P54/ASX P55/RDX 書込みプログラム 起動端子 Flash シリアル書換え時に P54="L", P55="H" ( クロック同期モード ) に設定します。 INITX, TRSTX リセット端子 ICD3 (SIN0) シリアルデータ入力端子 ICS0 (SOT0) シリアルデータ出力端子 ICD2 (SCK0) シリアルクロック入力端子 VCC 電源電圧供給端子 書込み電圧をユーザシステムから供給してください。 VSS GND 端子 フラッシュマイコンプログラマの GND と共通にしま す。 − UART の ch.0 リソースを DSU 端子経由でシリアルオン ボード書込み通信用のインタフェースとして使用しま す。 AF420/AF320/ AF220/AF210/ AF120/AF110 書込み制御端子 AF420/AF320/ AF220/AF210/ AF120/AF110 /TICS端子 MB91313A 書込み制御端子 10kΩ ユーザ <注意事項> • Pxx, ICD3, ICS0, ICD2 端子をユーザシステムでも使用する場合には , 上図の制御回路 が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル書込 み中はユーザ回路を切り離すことができます )。 • フラッシュマイコンプログラマとの接続はユーザ電源がOFFの状態で行ってください。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 551 第 19 章 MB91313A シリアル書込み接続 19.2 シリアル書込み接続例 19.2 MB91313A シリーズ シリアル書込み接続例 シリアル書込み接続例を示します。 ■ シリアル書込み接続例 図 19.2-1 にシリアル書込み接続例を示します。 図 19.2-1 MB91313A シリアル書込み接続例 フラッシュマイコン プログラマ ユーザシステム MB91313A コネクタ DX10-28S TAUX3 (19) シリアル書換え時 1 MD2 ≧4.7kΩ MD1 MD0 ユーザ回路 P54 シリアル書換え時0 ≧4.7kΩ シリアル書換え時1 ≧4.7kΩ P55 ユーザ回路 ≧4.7kΩ TRSTX /TRES (5) INITX TTXD (13) (27) ICD3 (SIN0)* ICS0 (SOT0)* (6) ICD2 (SCK0)* (2) VCC TRXD TCK TVcc GND (7,8, 14,15, 21,22 1,28) 3,4,9,10,11,12,16, 17,18,20,23,24,25, 26ピンはOPEN ユーザ電源(3.3V) 14ピン VSS 1ピン DX10-28S 28ピン 15ピン コネクタ(ヒロセ電機製)のピン配列 DX10-28S :ライトアングルタイプ *:シリアル書き込みモード時のみ,UARTのch.0リソースとなります。 552 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 MB91313A シリーズ 第 19 章 MB91313A シリアル書込み接続 19.3 フラッシュマイコンプログラマのシステム構成 フラッシュマイコンプログラマのシステム構成 19.3 フラッシュマイコンプログラマ ( 横河ディジタルコンピュータ株式会社製 ) のシステ ム構成を示します。 ■ フラッシュマイコンプログラマのシステム構成 型格 本 体 機能 AF220 /AC4P イーサネットインタフェースモデル /100V ∼ 220V 電源アダプタ AF210 /AC4P スタンダードモデル /100V ∼ 220V 電源アダプタ AF120 /AC4P 単キーイーサネットインタフェースモデル /100V ∼ 220V 電源アダプタ AF110 /AC4P 単キーモデル /100V ∼ 220V 電源アダプタ 問合せ先 : 横河ディジタルコンピュータ株式会社 電話 : 042-333-6224 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 553 第 19 章 MB91313A シリアル書込み接続 19.4 その他の注意事項 19.4 MB91313A シリーズ その他の注意事項 MB91313A のシリアル書込み接続時の注意事項を示します。 ■ 注意事項 シリアルライタを用いてフラッシュメモリ書込み時のポート状態は,書込みに使用して いる端子を除きリセット状態と同じです。 554 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 I/O マップ , 割込みベクタ , CPU ステートでの端子 状態 , リトルエンディアン領域を利用するときの注 意事項および命令一覧について , 本文に記載できな かった細かいところや , プログラミングするときに 参照することがらを記載しています。 付録 A I/O マップ 付録 B ベクタテーブル 付録 C 各 CPU ステートにおける端子状態 付録 D 命令一覧表 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 555 付録 付録 A I/O マップ 付録 A MB91313A シリーズ I/O マップ メモリ空間領域と周辺リソースの各レジスタの対応を示します。 ■ I/O マップの読み方 アドレス 000000H レジスタ ブロック +0 +1 +2 +3 PDR0 [R/W]B PDR1 [R/W]B PDR2 [R/W]B PDR3 [R/W]B T-unit XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ポートデータ レジスタ リード/ライト属性 リセット後のレジスタ初期値 レジスタ名 (1コラムのレジスタが4n番地, 2コラムが4n+2番地...) 最左のレジスタ番地 (ワードでアクセスした際は, 1コラム目のレジスタがデータのMSB側となる。) レジスタのビット値は , 以下のように初期値を表します。 "1" : 初期値 "1" "0" : 初期値 "0" "X" : 初期値 " 不定 " "-" : その位置に物理的にレジスタがない。 556 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (1 / 9) アドレス 000000H 000004H レジスタ 0 PDR0 [R/W] XXXXXXXX PDR4 [R/W] XXXXXXXX 1 PDR1 [R/W] XXXXXXXX PDR5 [R/W] XXXXXXXX PDRC [R/W] XXXXXXXX PDRD [R/W] XXXXXXXX 000008H 00000CH 2 PDR2 [R/W] XXXXXXXX PDR6 [R/W] --XXXXXX 3 PDR3 [R/W] XXXXXXXX PDRE [R/W] XXXXXXXX PDRF [R/W] XXXXXXXX 予約 予約 ブロック ポートデータ レジスタ 000010H ∼ 00001CH 000020H 000024H 000028H 00002CH 000030H 000034H 予約 ADCTH [R/W] ADCTL [R/W] 00000000 00000000 ADAT0 [R] XXXXXX00 00000000 ADAT2 [R] XXXXXX00 00000000 ADAT4 [R] XXXXXX00 00000000 ADAT6 [R] XXXXXX00 00000000 ADAT8 [R] XXXXXX00 00000000 000038H, 00003CH ADCH [R/W] 00000000 00000000 ADAT1 [R] XXXXXX00 XXXXXXXX ADAT3 [R] XXXXXX00 00000000 ADAT5 [R] XXXXXX00 00000000 ADAT7 [R] XXXXXX00 00000000 ADAT9 [R] XXXXXX00 00000000 予約 000048H EIRR0 [R/W] ENIR0 [R/W] 00000000 00000000 DICR [R/W] HRCL [R,R/W] -------0 ---11111 TMRLR0 [W] XXXXXXXX XXXXXXXX 00004CH 予約 000050H TMRLR1 [W] XXXXXXXX XXXXXXXX 000040H 000044H 000054H 予約 000058H TMRLR2 [W] XXXXXXXX XXXXXXXX 00005CH 予約 000060H 000064H 000068H 00006CH 予約 SCR0 [R,R/W] SMR0 [W,R/W] 0--00000 000-0000 RDR0/TRD0 [R/W] -------- 00000000 : RDR0 -------- 11111111 : TDR0 ISMK0 [R/W] IBSA [R/W] 01111110 00000000 FBYTE01 [R/W] FBYTE00 [R/W] 00000000 00000000 CM71-10143-5 10 ビット A/D コンバータ 予約 ELVR0 [R/W] 00000000 00000000 外部割込み 0 ∼ 7 予約 遅延 / I- ユニット TMR0 [R] XXXXXXXX XXXXXXXX TMCSR0 [R,RW] 00000000 00000000 TMR1 [R] XXXXXXXX XXXXXXXX TMCSR1 [R,RW] 00000000 00000000 TMR2 [R] XXXXXXXX XXXXXXXX TMCSR2 [R,RW] 00000000 00000000 SSR0 [R,R/W] ESCR0 [R/W] 0-000011 --000000 BGR01 [R/W] 00000000 BGR00 [R/W] 00000000 FCR01 [R/W] 00-00100 FCR00 [R/W] 00000000 リロードタイマ 0 リロードタイマ 1 リロードタイマ 2 マルチ ファンクション シリアル インタフェース 0 FIFO 0 予約 FUJITSU SEMICONDUCTOR LIMITED 557 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (2 / 9) アドレス レジスタ 0 1 2 3 SCR1 [R,R/W] SMR1 [W,R/W] SSR1 [R,R/W] ESCR1 [R/W] 000070H 0--00000 000-0000 0-000011 --000000 RDR1/TDR1 [R/W] BGR11 [R/W] BGR10 [R/W] 000074H -------- 00000000 : RDR1 00000000 00000000 -------- 11111111 : TDR1 ISMK1 [R/W] IBSA1 [R/W] FCR11 [R/W] FCR10 [R/W] 000078H 01111110 00000000 00-00100 00000000 FBYTE10 [R/W] FBYTE00 [R/W] 00007CH 予約 00000000 00000000 SCR2 [R,R/W] SMR2 [W,R/W] SSR2 [R,R/W] ESCR2 [R/W] 000080H 0--00000 000-0000 0-000011 --000000 RDR2/TDR2 [R/W] BGR21 [R/W] BGR20 [R/W] 000084H -------- 00000000 : RDR2 00000000 00000000 -------- 11111111 : TDR2 ISMK2 [R/W] IBSA2 [R/W] FCR21 [R/W] FCR20 [R/W] 000088H 01111110 00000000 00-00100 00000000 FBYTE21 [R/W] FBYTE20 [R/W] 00008CH 予約 00000000 00000000 SCR3 [R,R/W] SMR3 [W,R/W] SSR3 [R,R/W] ESCR3 [R/W] 000090H 0--00000 000-0000 0-000011 --000000 RDR3/TDR3 [R/W] BGR31 [R/W] BGR30 [R/W] 000094H -------- 00000000 : RDR3 00000000 00000000 -------- 11111111 : TDR3 ISMK3 [R/W] IBSA3 [R/W] 000098H 予約 01111110 00000000 00009CH 予約 SCR4 [R,R/W] SMR4 [W,R/W] SSR4 [R,R/W] ESCR4 [R/W] 0000A0H 0--00000 000-0000 0-000011 --000000 RDR4/TDR4 [R/W] BGR41 [R/W] BGR40 [R/W] 0000A4H -------- 00000000 : RDR4 00000000 00000000 -------- 11111111 : TDR4 ISMK4 [R/W] IBSA4 [R/W] 0000A8H 予約 01111110 00000000 0000ACH 予約 SCR5 [R,R/W] SMR5 [W,R/W] SSR5 [R,R/W] ESCR5 [R/W] 0000B0H 0--00000 000-0000 0-000011 --000000 RDR5/TDR5 [R/W] BGR51 [R/W] BGR50 [R/W] 0000B4H -------- 00000000 : RDR5 00000000 00000000 -------- 11111111 : TDR5 ISMK5 [R/W] IBSA5 [R/W] 0000B8H 予約 01111110 00000000 0000BCH 予約 EIRR1 [R/W] ENIR1 [R/W] ELVR1 [R/W] 0000C0H 00000000 00000000 00000000 00000000 EIRR2 [R/W] ENIR2 [R/W] ELVR2 [R/W] 0000C4H 00000000 00000000 00000000 00000000 0000C8H ∼ 0000CCH 558 予約 FUJITSU SEMICONDUCTOR LIMITED ブロック マルチ ファンクション シリアル インタフェース 1 FIFO 1 マルチ ファンクション シリアル インタフェース 2 マルチ ファンクション シリアル インタフェース 3 マルチ ファンクション シリアル インタフェース 4 マルチ ファンクション シリアル インタフェース 5 外部割込み 8 ∼ 15 外部割込み 16 ∼ 23 予約 CM71-10143-5 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (3 / 9) アドレス 0000D0H 0000D4H 0000D8H 0000DCH レジスタ 0 1 PWCCL [R/W] PWCCH [R/W] 0000--00 0--00000 PWCD [R] XXXXXXXX XXXXXXXX PWCC2 [R/W] 000----PWCUD [R/W] XXXXXXXX XXXXXXXX 2 3 ブロック 予約 予約 PWC 予約 予約 0000E0H ∼ 0000ECH 0000F0H 0000F4H 0000F8H 0000FCH 000100H 000104H 000108H 00010CH 000110H 予約 T0LPCR [R/W] T0CCR [R/W] -----000 0-000000 T0DRR [R/W] XXXXXXXX XXXXXXXX T1LPCR [R/W] T1CCR [R/W] -----000 0-000000 T1DRR [R/W] XXXXXXXX XXXXXXXX T2LPCR [R/W] T2CCR [R/W] -----000 0-000000 T2DRR [R/W] XXXXXXXX XXXXXXXX T3LPCR [R/W] T3CCR [R/W] -----000 0-000000 T3DRR [R/W] XXXXXXXX XXXXXXXX TMODE [R/W] 00000000 00000000 予約 T0TCR [R/W] T0R [R/W] 00000000 ---00000 T0CRR [R/W] XXXXXXXX XXXXXXXX T1TCR [R/W] T1R [R/W] 00000000 ---00000 T1CRR [R/W] XXXXXXXX XXXXXXXX T2TCR [R/W] T2R [R/W] 00000000 ---00000 T2CRR [R/W] XXXXXXXX XXXXXXXX T3TCR [R/W] T3R [R/W] 00000000 ---00000 T3CRR [R/W] XXXXXXXX XXXXXXXX 多機能タイマ 予約 000114H ∼ 00011CH 000120H 000124H 000128H 00012CH 000130H 000134H 000138H 00013CH 予約 PDUT0 [W] XXXXXXXX XXXXXXXX PTMR0 [W] 11111111_11111111 PDUT1 [W] XXXXXXXX XXXXXXXX PTMR1 [W] 11111111_11111111 PDUT2 [W] XXXXXXXX XXXXXXXX PTMR2 [W] 11111111_11111111 PDUT3 [W] XXXXXXXX XXXXXXXX PTMR3 [W] 11111111_11111111 予約 PCSR0 [W] XXXXXXXX XXXXXXXX PCNH0 [R/W] PCNL0 [R/W] 0000000000000-0 PCSR1 [W] XXXXXXXX XXXXXXXX PCNH1 [R/W] PCNL1 [R/W] 0000000000000-0 PCSR2 [W] XXXXXXXX XXXXXXXX PCNH2 [R/W] PCNL2 [R/W] 0000000000000-0 PCSR3 [W] XXXXXXXX XXXXXXXX PCNH3 [R/W] PCNL3 [R/W] 0000000000000-0 PPG0 PPG1 PPG2 PPG3 000140H ∼ 000144H CM71-10143-5 予約 FUJITSU SEMICONDUCTOR LIMITED 予約 559 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (4 / 9) アドレス レジスタ 0 1 000148H TMRLR3 [W] XXXXXXXX XXXXXXXX 00014CH 予約 000150H TMRLR4 [W] XXXXXXXX XXXXXXXX 000154H 予約 000158H TMRLR5 [W] XXXXXXXX XXXXXXXX 00015CH 予約 2 3 TMR3 [R] XXXXXXXX XXXXXXXX TMCSR3 [R,RW] 00000000 00000000 TMR4 [R] XXXXXXXX XXXXXXXX TMCSR4 [R,RW] 00000000 00000000 TMR5 [R] XXXXXXXX XXXXXXXX TMCSR5 [R,RW] 00000000 00000000 ブロック リロードタイマ 3 リロードタイマ 4 リロードタイマ 5 000160H ∼ 00017CH 000180H 000184H 000188H 00018CH 000190H 000194H 000198H 00019CH 予約 RCCR0 [R/W] RCST0 [R/W] 0---0000 00000000 RCDBHW0 [R/W] 予約 00000000 RCDT0HH [R] RCDT0HL [R] 00000000 00000000 RCCKD0 [R/W] 00000000 00000000 RCCR1 [R/W] RCST1 [R/W] 0---0000 00000000 RCDBHW1 [R/W] 予約 00000000 RCDT1HH [R] RCDT1HL [R] 00000000 00000000 RCCKD1 [R/W] 00000000 00000000 予約 RCSHW0 [R/W] RCDAHW0 [R/W] 00000000 00000000 RCADR01 [R/W] RCADR02 [R/W] 00000000 00000000 RCDT0LH [R] RCDT0LL [R] 00000000 00000000 リモコン 0 予約 RCSHW1 [R/W] RCDAHW1 [R/W] 00000000 00000000 RCADR11 [R/W] RCADR12 [R/W] 00000000 00000000 RCDT1LH [R] RCDT1LL [R] 00000000 00000000 リモコン 1 予約 0001A0H ∼ 0001ACH 0001B0H 0001B4H 0001B8H 0001BCH 0001C0H 0001C4H 0001C8H 0001CCH 560 予約 SCR6 [R,R/W] SMR6 [W,R/W] SSR6 [R,R/W] ESCR6 [R/W] 0--00000 000-0000 0-000011 --000000 RDR6/TDR6 [R/W] BGR61 [R/W] BGR60 [R/W] -------- 00000000 : RDR6 00000000 00000000 -------- 11111111 : TDR6 ISMK6 [R/W] IBSA6 [R/W] 予約 01111110 00000000 予約 SCR7 [R,R/W] SMR7 [W,R/W] SSR7 [R,R/W] ESCR7 [R/W] 0--00000 000-0000 0-000011 --000000 RDR7/TDR7 [R/W] BGR71 [R/W] BGR70 [R/W] -------- 00000000 : RDR7 00000000 00000000 -------- 11111111 : TDR7 ISMK7 [R/W] IBSA7 [R/W] 予約 01111110 00000000 予約 FUJITSU SEMICONDUCTOR LIMITED 予約 マルチ ファンクション シリアル インタフェース 6 マルチ ファンクション シリアル インタフェース 7 CM71-10143-5 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (5 / 9) アドレス 0001D0H 0001D4H 0001D8H 0001DCH 0001E0H 0001E4H 0001E8H 0001ECH 0001F0H 0001F4H 0001F8H 0001FCH 000200H 000204H 000208H 00020CH 000210H 000214H 000218H 00021CH 000220H 000224H レジスタ 0 1 2 3 SCR8 [R,R/W] SMR8 [W,R/W] SSR8 [R,R/W] ESCR8 [R/W] 0--00000 000-0000 0-000011 --000000 RDR8/TDR8 [R/W] BGR81 [R/W] BGR80 [R/W] -------- 00000000 : RDR8 00000000 00000000 -------- 11111111 : TDR8 ISMK8 [R/W] IBSA8 [R/W] 予約 01111110 00000000 予約 SCR9 [R,R/W] SMR9 [W,R/W] SSR9 [R,R/W] ESCR9 [R/W] 0--00000 000-0000 0-000011 --000000 RDR9/TDR9 [R/W] BGR91 [R/W] BGR90 [R/W] -------- 00000000 : RDR9 00000000 00000000 -------- 11111111 : TDR9 ISMK9 [R/W] IBSA9 [R/W] 予約 01111110 00000000 予約 SCRA [R,R/W] SMRA [W,R/W] SSRA [R,R/W] ESCRA [R/W] 0--00000 000-0000 0-000011 --000000 RDRA/TDRA [R/W] BGRA1 [R/W] BGRA0 [R/W] -------- 00000000 : RDRA 00000000 00000000 -------- 11111111 : TDRA ISMKA [R/W] IBSAA [R/W] 予約 01111110 00000000 予約 DMACA0 [R/W] 00000000 00000000 00000000 00000000 DMACB0 [R/W] 00000000 00000000 00000000 00000000 DMACA1 [R/W] 00000000 00000000 00000000 00000000 DMACB1 [R/W] 00000000 00000000 00000000 00000000 DMACA2 [R/W] 00000000 00000000 00000000 00000000 DMACB2 [R/W] 00000000 00000000 00000000 00000000 DMACA3 [R/W] 00000000 00000000 00000000 00000000 DMACB3 [R/W] 00000000 00000000 00000000 00000000 DMACA4 [R/W] 00000000 00000000 00000000 00000000 DMACB4 [R/W] 00000000 00000000 00000000 00000000 ブロック マルチ ファンクション シリアル インタフェース 8 マルチ ファンクション シリアル インタフェース 9 マルチ ファンクション シリアル インタフェース 10 DMAC 000228H ∼ 00023CH 000240H CM71-10143-5 予約 DMACR [R/W] 0XX00000 XXXXXXXX XXXXXXXX XXXXXXXX FUJITSU SEMICONDUCTOR LIMITED 561 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (6 / 9) アドレス レジスタ 0 1 2 3 ブロック 000244H ∼ 0003ECH 0003F0H 0003F4H 0003F8H 0003FCH 000400H 000404H 000408H 00040CH 000410H 000414H 予約 BSD0 [W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX BSD1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX BSDC [W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX BSRR [R] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX DDR0 [R/W] B,H DDR1 [R/W] B,H DDR2 [R/W] B,H DDR3 [R/W] B,H 00000000 00000000 00000000 00000000 DDR4 [R/W] B,H DDR5 [R/W] B,H DDR6 [R/W] B,H 予約 00000000 00000000 --000000 予約 DDRC [R/W] B,H DDRD [R/W] B,H DDRE [R/W] B,H DDRF [R/W] B,H 00000000 00000000 00000000 00000000 予約 ∼ 00041CH 000420H 000424H 予約 PFR0 [R/W] B,H 00000000 PFR4 [R/W] B,H 00000000 000428H 00042CH 000430H 000434H ∼ 00043CH 562 予約 PFRC [R/W] B,H 00000000 PFR1 [R/W] B,H PFR2 [R/W] B,H 00000000 00000000 PFR5 [R/W] B,H PFR6 [R/W] B,H 00000000 --000000 予約 PFRD [R/W] B,H PFRE [R/W] B,H 00000000 00000000 予約 ビットサーチ モジュール データ方向 レジスタ 予約 PFR3 [R/W] B,H 00000000 予約 PFRF [R/W] B,H 00000000 予約 FUJITSU SEMICONDUCTOR LIMITED ポート ファンクション レジスタ 予約 CM71-10143-5 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (7 / 9) アドレス 000440H 000444H 000448H 00044CH 000450H 000454H 000458H 00045CH 000460H 000464H 000468H 00046CH レジスタ 0 ICR00 [R,R/W] -11111 ICR04 [R,R/W] -11111 ICR08 [R,R/W] -11111 ICR12 [R,R/W] -11111 ICR16 [R,R/W] -11111 ICR20 [R,R/W] -11111 ICR24 [R,R/W] -11111 ICR28 [R,R/W] -11111 ICR32 [R,R/W] -11111 ICR36 [R,R/W] -11111 ICR40 [R,R/W] -11111 ICR44 [R,R/W] -11111 1 ICR01 [R,R/W] -11111 ICR05 [R,R/W] -11111 ICR09 [R,R/W] -11111 ICR13 [R,R/W] -11111 ICR17 [R,R/W] -11111 ICR21 [R,R/W] -11111 ICR25 [R,R/W] -11111 ICR29 [R,R/W] -11111 ICR33 [R,R/W] -11111 ICR37 [R,R/W] -11111 ICR41 [R,R/W] -11111 ICR45 [R,R/W] -11111 2 ICR02 [R,R/W] -11111 ICR06 [R,R/W] -11111 ICR10 [R,R/W] -11111 ICR14 [R,R/W] -11111 ICR18 [R,R/W] -11111 ICR22 [R,R/W] -11111 ICR26 [R,R/W] -11111 ICR30 [R,R/W] -11111 ICR34 [R,R/W] -11111 ICR38 [R,R/W] -11111 ICR42 [R,R/W] -11111 ICR46 [R,R/W] -11111 3 ICR03 [R,R/W] -11111 ICR07 [R,R/W] -11111 ICR11 [R,R/W] -11111 ICR15 [R,R/W] -11111 ICR19 [R,R/W] -11111 ICR23 [R,R/W] -11111 ICR27 [R,R/W] -11111 ICR31 [R,R/W] -11111 ICR35 [R,R/W] -11111 ICR39 [R,R/W] -11111 ICR43 [R,R/W] -11111 ICR47 [R,R/W] -11111 ブロック 割込み コントロール ユニット 000470H ∼ 00047CH 000480H 000484H 予約 RSRR [R,R/W] 10000000 CLKR [R/W] 00000000 000488H 00048CH 000490H STCR [R/W] 00110011 WPR [W] XXXXXXXX TBCR [R/W] 00XXXX00 DIVR0 [R/W] 00000011 OSCCR [R/W] XXXXXXX0 予約 WPCR [R/W] 00000000 OSCR [R/W] 00000000 予約 CTBR [W] XXXXXXXX DIVR1 [R/W] 00000000 予約 予約 OSCT [R/W] 00000000 クロック コントロール ユニット クロックタイマ 安定待ちタイマ 予約 000494H ∼ 0004FCH 予約 000500H PCR0 [R/W] 00000000 000504H 予約 PCR1 [R/W] 00000000 PCR5 [R/W] 00000000 予約 予約 PCR6 [R/W] --000000 000508H ∼ 000510H 000514H 予約 ∼ 00051CH 予約 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 予約 ポート プルアップ制御 レジスタ 予約 563 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (8 / 9) アドレス 000520H 000524H レジスタ 0 EPFR0 [R/W] 00000000 EPFR4 [R/W] 11111111 1 EPFR1 [R/W] 00000000 EPFR5 [R/W] 11111111 EPFRC [R/W] 00000000 EPFRD [R/W] 00000000 000528H 00052CH 予約 ∼ 00056CH 予約 EPFRE [R/W] 00000000 EPFRF [R/W] 00000000 予約 ブロック 外部ポート ファンクション レジスタ 予約 ADER [R/W] 00000011 11111111 000574H 000578H 3 EPFR3 [R/W] 11111111 予約 000530H 000534H 000570H 2 EPFR2 [R/W] 11111111 EPFR6 [R/W] --001000 予約 予約 EXT/I2C/AD 予約 I C ノイズ フィルタ 2 NSF [R/W] -----000 00000000 予約 00057CH ∼ 00063CH 000640H 000644H 000648H 00064CH 予約 ASR0 [R/W] 00000000 00000000 ASR1 [R/W] 00000000 XXXXXXXX ASR2 [R/W] 00000000 XXXXXXXX ASR3 [R/W] 00000000 XXXXXXXX 予約 ACR0 [R/W] 00110X00 00000000 ACR1 [R/W] 00XX0X00 00X0XXXX ACR2 [R/W] 00XX0X00 00X0XXXX ACR3 [R/W] 00XX0X00 00X0XXXX 000650H ∼ 00065C H 000660 H 000664 H 予約 AWR0 [R/W] 01110000 01011011 AWR2 [R/W] 0XXX0000 0X0X1XXX AWR1 [R/W] 0XXX0000 0X0X1XXX AWR3 [R/W] 0XXX0000 0X0X1XXX 外部バス インタフェース 000668 H ∼ 00067C H 000680 H 予約 CSER[R/W] 00000001 予約 000684 H 000688 H 予約 ∼ 0007F8 H − 0007FC H 予約 MODR [W] XXXXXXXX 未使用 予約 モードレジスタ 000800 H ∼ 000AFC H 564 − FUJITSU SEMICONDUCTOR LIMITED 未使用 CM71-10143-5 付録 付録 A I/O マップ MB91313A シリーズ 付表 A-1 I/O マップ (9 / 9) レジスタ アドレス 0 1 2 3 ブロック 000B00H ∼ 000FFCH 001000H 001004H 001008H 00100CH 001010H 001014H 001018H 00101CH 001020H 001024H 予約 予約 DMASA0 [R/W] 00000000 00000000 00000000 00000000 DMADA0 [R/W] 00000000 00000000 00000000 00000000 DMASA1 [R/W] 00000000 00000000 00000000 00000000 DMADA1 [R/W] 00000000 00000000 00000000 00000000 DMASA2 [R/W] 00000000 00000000 00000000 00000000 DMADA2 [R/W] 00000000 00000000 00000000 00000000 DMASA3 [R/W] 00000000 00000000 00000000 00000000 DMADA3 [R/W] 00000000 00000000 00000000 00000000 DMASA4 [R/W] 00000000 00000000 00000000 00000000 DMADA4 [R/W] 00000000 00000000 00000000 00000000 DMAC 予約 予約 001028H ∼ 006FFCH 007000H 007004H FLCR[R/W] 0000X000 FLWC[R/W] 00011011 CM71-10143-5 予約 Flash I/F 予約 FUJITSU SEMICONDUCTOR LIMITED 565 付録 付録 B ベクタテーブル 付録 B MB91313A シリーズ ベクタテーブル 割込みベクタテーブルを示します。 付表 B-1 割込みベクタ (1 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフセット TBR デフォルト のアドレス RN DMAC STOP 要因 リセット 0 0 - 3FCH 000FFFFCH - - モードベクタ 1 1 - 3F8H 000FFFF8H - - システム予約 2 2 - 3F4H 000FFFF4H - - システム予約 3 3 - 3F0H 000FFFF0H - - システム予約 4 4 - 3ECH 000FFFECH - - システム予約 5 5 - 3E8H 000FFFE8H - - システム予約 6 6 - 3E4H 000FFFE4H - - コプロセッサ不在 トラップ 7 7 - 3E0H 000FFFE0H - - コプロセッサエラー トラップ 8 8 - 3DCH 000FFFDCH - - INTE 命令 9 9 - 3D8H 000FFFD8H - - システム予約 10 0A - 3D4H 000FFFD4H - - システム予約 11 0B - 3D0H 000FFFD0H - - ステップトレース トラップ 12 0C - 3CCH 000FFFCCH - - NMI 要求 (tool) 13 0D - 3C8H 000FFFC8H - - 未定義命令例外 14 0E - 3C4H 000FFFC4H - - システム予約 15 0F 15( FH) 固定 3C0H 000FFFC0H - - 外部割込み 0 16 10 ICR00 3BCH 000FFFBCH - - 外部割込み 1 17 11 ICR01 3B8H 000FFFB8H - - - - 外部割込み 2 18 12 ICR02 3B4H 000FFFB4H 外部割込み 3 19 13 ICR03 3B0H 000FFFB0H - - 外部割込み 4 20 14 ICR04 3ACH 000FFFACH - - 外部割込み 5 21 15 ICR05 3A8H 000FFFA8H - - 外部割込み 6 22 16 ICR06 3A4H 000FFFA4H - - 外部割込み 7 23 17 ICR07 3A0H 000FFFA0H - - リロードタイマ 0 24 18 ICR08 39CH 000FFF9CH - - リロードタイマ 1 25 19 ICR09 398H 000FFF98H - - リロードタイマ 2 26 1A ICR10 394H 000FFF94H - - UART0 RX/I2C ステータス 27 1B ICR11 390H 000FFF90H 0 STOP UART0 TX 28 1C ICR12 38CH 000FFF8CH 3 - 566 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 B ベクタテーブル MB91313A シリーズ 付表 B-1 割込みベクタ (2 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル TBR デフォルト オフセット のアドレス RN DMAC STOP 要因 UART1 RX/I2C ステータス 29 1D ICR13 388H 000FFF88H 1 STOP UART1 TX 30 1E ICR14 384H 000FFF84H 4 - UART2 RX/I2C ステータス 31 1F ICR15 380H 000FFF80H 2 STOP UART2 TX 32 20 ICR16 37CH 000FFF7CH 5 - UART3 RX/UART3 TX/ I2C ステータス 33 21 ICR17 378H 000FFF78H - - UART4 RX/UART4 TX/ I2C ステータス 34 22 ICR18 374H 000FFF74H - - UART5 RX/UART5 TX/ I2C ステータス 35 23 ICR19 370H 000FFF70H - - UART6 RX/UART6 TX / I2C ステータス 36 24 ICR20 36CH 000FFF6CH - - UART7 RX/UART7 TX / I2C ステータス 37 25 ICR21 368H 000FFF68H - - UART8 RX/UART8 TX/ I2C ステータス 38 26 ICR22 364H 000FFF64H - - UART9 RX/UART9 TX/ I2C ステータス 39 27 ICR23 360H 000FFF60H - - UART10 RX/UART10 TX/ I2C ステータス 40 28 ICR24 35CH 000FFF5CH - - A/D Converter 41 29 ICR25 358H 000FFF58H - - PPG0 42 2A ICR26 354H 000FFF54H 12 - PWC 43 2B ICR27 350H 000FFF50H - - HDMI-CEC/ リモコン 0, 1 44 2C ICR28 34CH 000FFF4CH - - 時計タイマ 45 2D ICR29 348H 000FFF48H - - メイン発振待ち 46 2E ICR30 344H 000FFF44H - - タイムベースタイマ 47 2F ICR31 340H 000FFF40H - - リロードタイマ 3 48 30 ICR32 33CH 000FFF3CH - - リロードタイマ 4 49 31 ICR33 338H 000FFF38H - - リロードタイマ 5 50 32 ICR34 334H 000FFF34H - - PPG1 51 33 ICR35 330H 000FFF30H - - PPG2 52 34 ICR36 32CH 000FFF2CH - - PPG3 53 35 ICR37 328H 000FFF28H - - DMA0 54 36 ICR38 324H 000FFF24H - - DMA1 55 37 ICR39 320H 000FFF20H - - DMA2 56 38 ICR40 31CH 000FFF1CH - - DMA3 57 39 ICR41 318H 000FFF18H - - DMA4 58 3A ICR42 314H 000FFF14H - - 外部割込み 8 ∼ 15 59 3B ICR43 310H 000FFF10H - - CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 567 付録 付録 B ベクタテーブル MB91313A シリーズ 付表 B-1 割込みベクタ (3 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル TBR デフォルト オフセット のアドレス RN DMAC STOP 要因 外部割込み 16 ∼ 23 60 3C ICR44 30CH 000FFF0CH - - 多機能タイマ 0, 1 61 3D ICR45 308H 000FFF08H - - 多機能タイマ 2, 3 62 3E ICR46 304H 000FFF04H - - 遅延割込み 63 3F ICR47 300H 000FFF00H - - システム予約 (REALOS にて使用 ) 64 40 - 2FCH 000FFEFCH - - システム予約 (REALOS にて使用 ) 65 41 - 2F8H 000FFEF8H - - システム予約 66 42 - 2F4H 000FFEF4H - - システム予約 67 43 - 2F0H 000FFEF0H - - システム予約 68 44 - 2ECH 000FFEECH - - システム予約 69 45 - 2E8H 000FFEE8H - - システム予約 70 46 - 2E4H 000FFEE4H - - システム予約 71 47 - 2E0H 000FFEE0H - - システム予約 72 48 - 2DCH 000FFEDCH - - システム予約 73 49 - 2D8H 000FFED8H - - システム予約 74 4A - 2D4H 000FFED4H - - システム予約 75 4B - 2D0H 000FFED0H - - システム予約 76 4C - 2CCH 000FFECCH - - システム予約 77 4D - 2C8H 000FFEC8H - - システム予約 78 4E - 2C4H 000FFEC4H - - システム予約 79 4F - 2C0H 000FFEC0H - - 50 ∼ FF 2BCH 000FFEBCH INT 命令で使用 80 ∼ 255 - 568 ∼ 000H ∼ 000FFC00H FUJITSU SEMICONDUCTOR LIMITED - - CM71-10143-5 MB91313A シリーズ 付録 C 付録 付録 C 各 CPU ステートにおける端子状態 各 CPU ステートにおける端子状態 各 CPU ステートにおける端子状態について記載されています。 ■ 各 CPU ステートにおける端子状態 端子の状態に対する語句は以下の意味を持ちます。 • 入力可能 入力機能が使用可能な状態であることを意味する。 • 入力 0 固定 端子からすぐの入力ゲートで外部入力を遮断して内部へ "0" を伝えている状態。 • 出力 Hi-Z 端子駆動用トランジスタを駆動禁止状態にし , 端子をハイインピーダンスにする ことを意味する。 • 出力保持 本モードになる直前に出力していた状態をそのまま出力することを意味する。 つまり , 出力のある内蔵周辺が動作中であればその内蔵周辺に従い出力を行い , ポートなどとして出力している場合にはその出力を保持する。 • 直前の状態を保持 本モードになる直前に出力していた状態をそのまま出力 , あるいは入力であれば 入力可能を意味する。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 569 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-1 シングルチップモード ( 内部ベクタモード ) 時の端子状態 (1 / 3) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 機能名 3 P23 SIN1 P23 4 P24 SOT1/SDA1 P24 5 P25 SCK1/SCL1 P25 6 P26 SIN2 P26 7 P27 SOT2 P27 8 P30 SCK2 P30 9 P31 TOT0 P31 10 P32 TOT1 P32 11 P33 TOT2 P33 12 P34 TIN0 P34 13 P35 TIN1 P35 14 P36 TIN2 P36 15 P37 RIN P37 16 P40 TMO0/INT16 P40 17 P41 TMO1/INT17 P41 18 P42 TMO2/INT18 P42 19 P43 TMO3/INT19 P43 20 P44 TMI0/INT20 P44 21 P45 TMI1/INT21/SIN10 P45 22 P46 TMI2/INT22/ SOT10/SDA10 P46 23 P47 TMI3/INT23/ SCK10/SCL10 P47 24 P60 TOT3/TRG2 P60 25 P61 TOT4/TRG3 P61 26 P62 TOT5 P62 27 P63 TIN3 P63 28 P64 TIN4 P64 29 P65 TIN5 P65 32 PF0 PF0/RCIN0 PF0 33 PF1 PF1/RCIN1 PF1 34 PF2 PF2/RCACK0 PF2 35 PF3 PF3/RCACK1 PF3 36 PF4 ⎯ PF4 37 PF5 ⎯ PF5 570 ストップ時 * スリープ時 * HIZ=0 初期値 HIZ=1 出力 Hi-Z/ 入力 0 固定 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力 0 固定 直前状態保持 直前状態保持 ( 外部割込み 許可時のみ 入力可能 ) FUJITSU SEMICONDUCTOR LIMITED 出力 Hi-Z/ 入力 0 固定 CM71-10143-5 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-1 シングルチップモード ( 内部ベクタモード ) 時の端子状態 (2 / 3) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 機能名 初期値 出力 Hi-Z/ 入力可能 38 PF6 ⎯ PF6 39 PF7 ⎯ PF7 45 PD0 AN0 AN0 46 PD1 AN1 AN1 47 PD2 AN2 AN2 48 PD3 AN3 AN3 49 PD4 AN4 AN4 50 PD5 AN5 AN5 51 PD6 AN6 AN6 52 PD7 AN7 AN7 53 PE0 AN8/INT0 AN8 54 PE1 AN9/PPG0/INT1 AN9 55 PE2 PPG1/INT2/ATRG PE2 56 PE3 PPG2/INT3 PE3 58 ⎯ INITX INITX 65 ⎯ MD0 MD0 66 ⎯ MD1 MD1 67 ⎯ MD2 MD2 68 PE4 PPG3/INT4 PE4 69 PE5 SIN8/INT5 PE5 70 PE6 SOT8/SDA8/INT6 PE6 71 PE7 SCK8/SCL8/INT7 PE7 72 PC0 SIN9 PC0 73 PC1 SOT9/SDA9 PC1 74 PC2 SCK9/SCL9 PC2 75 PC3 ⎯ PC3 76 PC4 PPGA PC4 77 PC5 PPGB PC5 78 PC6 TRG0 PC6 79 PC7 TRG1 PC7 80 ⎯ TRSTX TRSTX 81 ⎯ ICD0 ICD0 82 ⎯ ICD1 ICD1 83 ⎯ ICD2 ICD2 84 ⎯ ICD3 ICD3 85 ⎯ ICS0 ICS0 CM71-10143-5 ストップ時 * スリープ時 * HIZ=0 HIZ=1 出力 Hi-Z/ 入力 0 固定 出力 Hi-Z/ 入力 0 固定 直前状態保持 直前状態保持 出力 Hi-Z/ 入力 0 固定 ( 外部割込み 許可時のみ 入力可能 ) 出力 Hi-Z/ 入力可能 入力可能 入力可能 入力可能 入力可能 出力 Hi-Z/ 入力 0 固定 ( 外部割込み 許可時のみ 入力可能 ) 出力 Hi-Z/ 入力可能 直前状態保持 直前状態保持 出力 Hi-Z/ 入力 0 固定 入力可能 出力 Hi-Z/ 入力可能 "H" 出力 入力可能 入力可能 入力可能 直前状態保持 直前状態保持 直前状態保持 "L" 出力 FUJITSU SEMICONDUCTOR LIMITED "L" 出力 "L" 出力 571 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-1 シングルチップモード ( 内部ベクタモード ) 時の端子状態 (3 / 3) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 機能名 初期値 ストップ時 * スリープ時 * HIZ=0 HIZ=1 86 ⎯ ICS1 ICS1 "L" 出力 "L" 出力 "L" 出力 "L" 出力 87 ⎯ ICS2 ICS2 "L" 出力 "L" 出力 "L" 出力 "L" 出力 88 ⎯ ICLK ICLK 不定出力 "H" 出力 "H" 出力 "H" 出力 89 ⎯ IBREAK IBREAK 入力可能 入力可能 入力可能 入力可能 93 P00 SIN3/INT8 P00 94 P01 SOT3/SDA3/INT9 P01 95 P02 SCK3/SCL3/INT10 P02 96 P03 SIN4/INT11 P03 97 P04 SOT4/SDA4/INT12 P04 98 P05 SCK4/SCL4/INT13 P05 99 P06 SIN5/INT14 P06 100 P07 SOT5/SDA5/INT15 P07 101 P10 SCK5/SCL5 P10 102 P11 SIN6 P11 103 P12 SOT6/SDA6 P12 104 P13 SCK6/SCL6 P13 105 P14 SIN7 P14 106 P15 SOT7/SDA7 P15 107 P16 SCK7/SCL7 P16 108 P17 ⎯ P17 109 P50 PPG0 P50 110 P51 PPG1 P51 111 P52 PPG2 P52 112 P53 PPG3 P53 113 P54 ⎯ P54 114 P55 ⎯ P55 115 P56 ⎯ P56 116 P57 ⎯ P57 117 P20 SIN0 P20 118 P21 SOT0/SDA0 P21 119 P22 SCK0/SCL0 P22 出力 Hi-Z/ 入力 0 固定 ( 外部割込み 許可時のみ 入力可能 ) 出力 Hi-Z/ 入力可能 直前状態保持 直前状態保持 出力 Hi-Z/ 入力 0 固定 *:P: 汎用ポート選択時 F: 指定機能選択時 572 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-2 内 ROM 外バスモード ( 内部ベクタモード ) 時の端子状態 (1 / 4) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 機能名 3 P23 SIN1 P23 4 P24 SOT1/SDA1 P24 5 P25 SCK1/SCL1 P25 6 P26 SIN2 P26 7 P27 SOT2 P27 8 P30 SCK2 P30 9 P31 TOT0 P31 10 P32 TOT1 P32 11 P33 TOT2 P33 12 P34 TIN0 P34 13 P35 TIN1 P35 14 P36 TIN2 P36 15 P37 RIN P37 16 P40 TMO0/INT16 P40 17 P41 TMO1/INT17 P41 18 P42 TMO2/INT18 P42 19 P43 TMO3/INT19 P43 20 P44 TMI0/INT20 P44 21 P45 TMI1/INT21/SIN10 P45 22 P46 TMI2/INT22/ SOT10/SDA10 P46 23 P47 TMI3/INT23/ SCK10/SCL10 P47 24 P60 TOT3/TRG2 P60 25 P61 TOT4/TRG3 P61 26 P62 CM71-10143-5 TOT5/RDY P62 ストップ時 * スリープ時 * HIZ=0 初期値 HIZ=1 出力 Hi-Z/ 入力 0 固定 直前状態保持 直前状態保持 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力 0 固定 ( 外部割込み 許可時のみ 入力可能 ) P: 直前状態 保持 F: 直前状態 保持 (TOT5) CLK 出力 (CLK) FUJITSU SEMICONDUCTOR LIMITED P: 直前状態 保持 出力 Hi-Z/ F: 直前状態 入力 0 固定 保持 (TOT5) H または L 出力 (CLK) 573 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-2 内 ROM 外バスモード ( 内部ベクタモード ) 時の端子状態 (2 / 4) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 機能名 27 P63 TIN3/CLK P63 28 P64 TIN4 P64 29 P65 TIN5 P65 32 PF0 PF0/RCIN0 PF0 33 PF1 PF1/RCIN1 PF1 34 PF2 PF2/RCACK0 PF2 35 PF3 PF3/RCACK1 PF3 36 PF4 ⎯ PF4 37 PF5 ⎯ PF5 38 PF6 ⎯ PF6 39 PF7 ⎯ PF7 45 PD0 AN0 AN0 46 PD1 AN1 AN1 47 PD2 AN2 AN2 48 PD3 AN3 AN3 49 PD4 AN4 AN4 50 PD5 AN5 AN5 51 PD6 AN6 AN6 52 PD7 AN7 AN7 53 PE0 AN8/INT0 AN8 54 PE1 AN9/PPG0/INT1 AN9 55 PE2 PPG1/INT2/ATRG PE2 56 PE3 PPG2/INT3 PE3 58 ⎯ INITX INITX 65 ⎯ MD0 MD0 66 ⎯ MD1 MD1 67 ⎯ MD2 MD2 574 ストップ時 * スリープ時 * HIZ=0 初期値 HIZ=1 P: 直前状態 P: 直前状態 保持 保持 F: 直前状態 F: 直前状態 保持 保持 (TIN3) (TIN3) 直前状態 RDY 入力 保持 (RDY) (RDY) 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力 0 固定 直前状態保持 直前状態保持 出力 Hi-Z/ 入力 0 固定 出力 Hi-Z/ 入力 0 固定 ( 外部割込み 許可時のみ 入力可能 ) 出力 Hi-Z/ 入力可能 入力可能 入力可能 FUJITSU SEMICONDUCTOR LIMITED 入力可能 入力可能 CM71-10143-5 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-2 内 ROM 外バスモード ( 内部ベクタモード ) 時の端子状態 (3 / 4) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 機能名 ストップ時 * スリープ時 * HIZ=0 初期値 HIZ=1 68 PE4 PPG3/INT4 PE4 69 PE5 SIN8/INT5 PE5 70 PE6 SOT8/SDA8/INT6 PE6 71 PE7 SCK8/SCL8/INT7 PE7 72 PC0 SIN9 PC0 73 PC1 SOT9/SDA9 PC1 74 PC2 SCK9/SCL9 PC2 75 PC3 ⎯ PC3 76 PC4 PPGA PC4 77 PC5 PPGB PC5 78 PC6 TRG0 PC6 79 PC7 TRG1 PC7 80 ⎯ TRSTX TRSTX 81 ⎯ ICD0 ICD0 82 ⎯ ICD1 ICD1 83 ⎯ ICD2 ICD2 84 ⎯ ICD3 ICD3 85 ⎯ ICS0 ICS0 "H" 出力 "L" 出力 "L" 出力 "L" 出力 86 ⎯ ICS1 ICS1 "L" 出力 "L" 出力 "L" 出力 "L" 出力 87 ⎯ ICS2 ICS2 "L" 出力 "L" 出力 "L" 出力 "L" 出力 88 ⎯ ICLK ICLK 不定出力 "H" 出力 "H" 出力 "H" 出力 89 ⎯ IBREAK IBREAK 入力可能 入力可能 入力可能 入力可能 93 P00 AD00 P00 94 P01 AD01 P01 95 P02 AD02 P02 96 P03 AD03 P03 97 P04 AD04 P04 98 P05 AD05 P05 99 P06 AD06 P06 100 P07 AD07 P07 出力 Hi-Z/ 入力可能 101 P10 AD08 P10 P: 直前状態 保持 F: 出力保持 または Hi-Z P: 直前状態 保持 F: 出力保持 または Hi-Z 102 P11 AD09 P11 103 P12 AD10 P12 104 P13 AD11 P13 105 P14 AD12 P14 106 P15 AD13 P15 CM71-10143-5 出力 Hi-Z/ 入力 0 固定 ( 外部割込み 許可時のみ 入力可能 ) 出力 Hi-Z/ 入力可能 直前状態保持 直前状態保持 出力 Hi-Z/ 入力 0 固定 入力可能 出力 Hi-Z/ 入力可能 入力可能 入力可能 入力可能 直前状態保持 直前状態保持 直前状態保持 FUJITSU SEMICONDUCTOR LIMITED 出力 Hi-Z/ 入力 0 固定 575 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-2 内 ROM 外バスモード ( 内部ベクタモード ) 時の端子状態 (4 / 4) 端子 番号 ポー ト名 機能 イニシャライズ時 (INITX=0) 機能名 107 P16 AD14 P16 108 P17 AD15 P17 109 P50 CS0X/PPG0 P50 110 P51 CS1X/PPG1 P51 111 P52 CS2X/PPG2 P52 112 P53 CS3X/PPG3 P53 113 P54 ASX P54 114 P55 RDX P55 115 P56 WR0X P56 116 P57 WR1X P57 117 P20 SIN0 P20 118 P21 SOT0/SDA0 P21 119 P22 SCK0/SCL0 P22 ストップ時 * スリープ時 * HIZ=0 初期値 出力 Hi-Z/ 入力可能 P: 直前状態 保持 F: 出力保持 または Hi-Z P: 直前状態 保持 F: 出力保持 または Hi-Z P: 直前状態 保持 F: H 出力 P: 直前状態 保持 F:H 出力 HIZ=1 出力 Hi-Z/ 入力 0 固定 直前状態保持 直前状態保持 *:P: 汎用ポート選択時 F: 指定機能選択時 576 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-3 シリアル書込みモード時の端子状態 (1 / 3) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 機能名 3 P23 SIN1 P23 4 P24 SOT1/SDA1 P24 5 P25 SCK1/SCL1 P25 6 P26 SIN2 P26 7 P27 SOT2 P27 8 P30 SCK2 P30 9 P31 TOT0 P31 10 P32 TOT1 P32 11 P33 TOT2 P33 12 P34 TIN0 P34 13 P35 TIN1 P35 14 P36 TIN2 P36 15 P37 RIN P37 16 P40 TMO0/INT16 P40 17 P41 TMO1/INT17 P41 18 P42 TMO2/INT18 P42 19 P43 TMO3/INT19 P43 20 P44 TMI0/INT20 P44 21 P45 TMI1/INT21/SIN10 P45 22 P46 TMI2/INT22/ SOT10/SDA10 P46 23 P47 TMI3/INT23/ SCK10/SCL10 P47 24 P60 TOT3/TRG2 P60 25 P61 TOT4/TRG3 P61 26 P62 TOT5 P62 27 P63 TIN3 P63 28 P64 TIN4 P64 29 P65 TIN5 P65 32 PF0 PF0/RCIN0 PF0 33 PF1 PF1/RCIN1 PF1 34 PF2 PF2/RCACK0 PF2 35 PF3 PF3/RCACK1 PF3 36 PF4 ⎯ PF4 37 PF5 ⎯ PF5 38 PF6 ⎯ PF6 39 PF7 ⎯ PF7 CM71-10143-5 P54="L" * 初期値 P55="H" P55="L" 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 FUJITSU SEMICONDUCTOR LIMITED 577 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-3 シリアル書込みモード時の端子状態 (2 / 3) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 機能名 45 PD0 AN0 AN0 46 PD1 AN1 AN1 47 PD2 AN2 AN2 48 PD3 AN3 AN3 49 PD4 AN4 AN4 50 PD5 AN5 AN5 51 PD6 AN6 AN6 52 PD7 AN7 AN7 53 PE0 AN8/INT0 AN8 54 PE1 AN9/PPG0/INT1 AN9 55 PE2 PPG1/INT2/ATRG PE2 56 PE3 PPG2/INT3 PE3 58 ⎯ INITX INITX 65 ⎯ MD0 MD0 66 ⎯ MD1 MD1 67 ⎯ MD2 MD2 68 PE4 PPG3/INT4 PE4 69 PE5 SIN8/INT5 PE5 70 PE6 SOT8/SDA8/INT6 PE6 71 PE7 SCK8/SCL8/INT7 PE7 72 PC0 SIN9 PC0 73 PC1 SOT9/SDA9 PC1 74 PC2 SCK9/SCL9 PC2 75 PC3 ⎯ PC3 76 PC4 PPGA PC4 77 PC5 PPGB PC5 78 PC6 TRG0 PC6 79 PC7 TRG1 PC7 80 ⎯ TRSTX TRSTX 81 ⎯ ICD0 ICD0 82 ⎯ ICD1 ICD1 83 ⎯ SCK0 SCK0 84 ⎯ SIN0 SIN0 85 ⎯ SOT0 SOT0 86 ⎯ ICS1 87 ⎯ ICS2 578 P54="L" * 初期値 P55="H" P55="L" 出力 Hi-Z/ 入力 0 固定 出力 Hi-Z/ 入力 0 固定 出力 Hi-Z/ 入力 0 固定 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 入力可能 入力可能 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 入力可能 入力可能 入力可能 直前状態保持 直前状態保持 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 "H" 出力 出力状態 出力状態 ICS1 "L" 出力 "L" 出力 "L" 出力 ICS2 "L" 出力 "L" 出力 "L" 出力 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 C 各 CPU ステートにおける端子状態 MB91313A シリーズ 表 C-3 シリアル書込みモード時の端子状態 (3 / 3) 端子 番号 ポー ト名 イニシャライズ時 (INITX=0) 機能 P54="L" * 機能名 初期値 P55="H" P55="L" 88 ⎯ ICLK ICLK 不定出力 "H" 出力 "H" 出力 89 ⎯ IBREAK IBREAK 入力可能 入力可能 入力可能 93 P00 SIN3/INT8 P00 94 P01 SOT3/SDA3/INT9 P01 95 P02 SCK3/SCL3/INT10 P02 96 P03 SIN4/INT11 P03 97 P04 SOT4/SDA4/INT12 P04 98 P05 SCK4/SCL4/INT13 P05 99 P06 SIN5/INT14 P06 100 P07 SOT5/SDA5/INT15 P07 101 P10 SCK5/SCL5 P10 102 P11 SIN6 P11 103 P12 SOT6/SDA6 P12 104 P13 SCK6/SCL6 P13 105 P14 SIN7 P14 106 P15 SOT7/SDA7 P15 107 P16 SCK7/SCL7 P16 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 出力 Hi-Z/ 入力可能 108 P17 ⎯ P17 109 P50 PPG0 P50 110 P51 PPG1 P51 111 P52 PPG2 P52 112 P53 PPG3 P53 113 P54 ⎯ P54 114 P55 ⎯ P55 115 P56 ⎯ P56 116 P57 ⎯ P57 117 P20 ⎯ P20 118 P21 ⎯ P21 119 P22 ⎯ P22 *:P: 汎用ポート選択時 F: 指定機能選択時 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 579 付録 付録 D 命令一覧表 付録 D MB91313A シリーズ 命令一覧表 FR ファミリの命令一覧表です。 ■ 命令一覧表 [ 命令一覧表の読み方 ] ニーモニック ADD Rj, Rj *ADD #s5, Rj , , (1) (2) 型 A C , , OP AG A4 , , CYC 1 1 , , NZVC CCCC CCCC , , (3) (4) (5) (6) 動 Ri + Rj -> Rj Ri + s5 -> Ri , , 作 備考 (7) (1) 命令名が示されています。 * 印は , CPU 仕様にはなくアセンブラで命令を拡張または追加した拡張命令です。 (2) オペランドに指定可能なアドレッシングモードを記号で示されています。 記号の意味は , 「・アドレッシングモードの記号 ( 次項 ) 」を参照してください。 (3) 命令フォーマットが示されています。 (4) 命令コードが 16 進数表示されています。 (5) マシンサイクル数を表しています。 a: メモリアクセスサイクルであり , Ready 機能により延びる可能性があります。 b: メモリアクセスサイクルであり , Ready 機能により延びる可能性があります。 ただし, LD動作の対象となるレジスタを直後の命令が参照する場合には, イン タロックがかかり , 実行サイクル数が+ 1 増加します。 c: 直後の命令が , R15 または SSP または USP に対し , 読出しあるいは書込みを行 う命令であるとき , あるいは命令フォーマット A の命令であるとき , インタ ロック がかかり , 実行サイクル数は+ 1 増加して 2 となります。 d; 直後の命令が MDH/MDL を参照する場合 , インタロックがかかり , 実行サイク ル数は増加して 2 となります。 a, b, c, d とも最小は 1 サイクルです。 (6) フラグ変化を表しています。 フラグ変化 C 0 1 ・・・ 変化する ・・・ 変化しない ・・・ クリア ・・・ セット N Z V C フラグの意味 ネガティブフラグ ・・・ ・・・ ゼロフラグ ・・・ オーバフラグ ・・・ キャリフラグ (7) 命令動作が表記されています。 580 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 D 命令一覧表 MB91313A シリーズ ● アドレッシングモードの記号 Ri : レジスタ直接 (R0 ∼ R15, AC, FP, SP) Rj : レジスタ直接 (R0 ∼ R15, AC, FP, SP) R13 : レジスタ直接 (R13, AC) Ps : レジスタ直接 ( プログラムステータスレジスタ ) Rs : レジスタ直接 (TBR,RP, SSP, USP, MDH, MDL) Cri : レジスタ直接 (CR0 ∼ CR15) CRj : レジスタ直接 (CR0 ∼ CR15) #i8 : 符号なし 8 ビット即値 ( − 128 ∼ 255) ( 注意事項 ) − 128 ∼− 1 は , 128 ∼ 255 として扱います。 : 符号なし 20 ビット即値 (-0X80000 ∼ 0XFFFFF) #i20 ( 注意事項 ) -0X7FFFF ∼ -1 は , 0X7FFFF ∼ 0XFFFFF として扱います。 : 符号なし 32 ビット即値 (-0X80000000 ∼ 0XFFFFFFFF) #i32 ( 注意事項 ) -0X80000000 ∼ -1 は , 0X80000000 ∼ 0XFFFFFFFF とし て扱います。 CM71-10143-5 #s5 : 符号付き 5 ビット即値 (-16 ∼ 15) #s10 : 符号付き 10 ビット即値 (-512 ∼ 508 4 の倍数のみ ) #u4 : 符号なし 4 ビット即値 (0 ∼ 15) #u5 : 符号なし 5 ビット即値 (0 ∼ 31) #u8 : 符号なし 8 ビット即値 (0 ∼ 255) #u10 : 符号なし 10 ビット即値 (0 ∼ 1020 4 の倍数のみ ) @dir8 : 符号なし 8 ビット直接アドレス (0 ∼ 0XFF) @dir9 : 符号なし 9 ビット直接アドレス (0 ∼ 0X1FE 2 の倍数のみ ) @dir10 : 符号なし 10 ビット直接アドレス (0 ∼ 0X3FC 4 の倍数のみ ) label9 : 符号付き 9 ビット分岐アドレス (-0X100 ∼ 0XFC 2 の倍数のみ ) label12 : 符号付き 12 ビット分岐アドレス (-0X800 ∼ 0X7FC 2 の倍数のみ ) label20 : 符号付き 20 ビット分岐アドレス (-0X80000 ∼ 0X7FFFF) label32 : 符号付き 32 ビット分岐アドレス (-0X80000000 ∼ 0X7FFFFFFF) @Ri : レジスタ間接 (R0 ∼ R15, AC, FP, SP) @Rj : レジスタ間接 (R0 ∼ R15, AC, FP, SP) @(R13,Rj) : レジスタ相対間接 (Rj: R0 ∼ R15, AC, FP, SP) @(R14,disp10) : レジスタ相対間接 (disp10: -0X200 ∼ 0X1FC 4 の倍数のみ ) @(R14,disp9) : レジスタ相対間接 (disp9: -0X100 ∼ 0XFE 2 の倍数のみ ) @(R14,disp8) : レジスタ相対間接 (disp8: -0X80 ∼ 0X7F) @(R15,udisp6) : レジスタ相対間接 (udisp6: 0 ∼ 60 4 の倍数のみ ) @Ri+ : ポストインクリメント付きレジスタ間接 (R0 ∼ R15, AC, FP, SP) @R13+ : ポストインクリメント付きレジスタ間接 (R13, AC) @SP+ : スタックポップ @-SP : スタックプッシュ (reglist) : レジスタリスト FUJITSU SEMICONDUCTOR LIMITED 581 付録 付録 D 命令一覧表 MB91313A シリーズ ● 命令フォーマット 図 D-1 命令フォーマット MSB LSB ┌───── 16ビット ───── ┐ A B OP Rj Ri 8 4 4 OP i8/O8 Ri 4 8 4 C OP u4/m4 Ri 8 4 4 ADD,ADDN,CMP,LSL,LSR,ASR命令のみ *C ’ OP 7 D F 5 4 8 OP SUB-OP Ri 8 4 4 OP rel11 5 582 Ri u8/rel8/dir/ reglist 8 OP E s5/u5 FUJITSU SEMICONDUCTOR LIMITED 11 CM71-10143-5 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-1 加減算 ニーモニック ADD Rj, Ri *ADD #s5, Ri 型 A C’ OP CYCLE NZVC A6 A4 1 1 動作 CCCC Ri+Rj->Ri CCCC Ri+s5->Ri ADD #u4, Ri ADD2 #u4, Ri ADDN Rj, Ri ADDN Rj, Ri *ADDN #s5, Ri C C A A C’ A4 A5 A7 A2 A0 1 1 1 1 1 CCCC CCCC CCCC ------- Ri+extu(i4)->Ri Ri+extu(i4)->Ri Ri+Rj+c->Ri Ri+Rj->Ri Ri+s5->Ri ADDN #u4, Ri ADDN2 #u4, Ri SUB Rj, Ri SUBC Rj, Ri SUBN Rj, Ri C C A A A A0 A1 AC AD AE 1 1 1 1 1 ------CCCC CCCC ---- Ri+extu(i4)->Ri Ri+extu(i4)->Ri Ri-Rj->Ri Ri-Rj-c->Ri Ri-Rj->Ri ニーモニック CMP Rj, Ri *CMP #s5, Ri 型 A C’ OP AA A8 1 1 CCCC Ri-Rj CCCC Ri-s5 アセンブラでは上位 1 ビットを符号と見る CMP #u4, Ri CMP2 #u4, Ri C C A8 A9 1 1 CCCC Ri-extu(i4) CCCC Ri-extu(i4) ゼロ拡張 マイナス拡張 備考 アセンブラでは上位 1 ビットを符号と見る ゼロ拡張 マイナス拡張 キャリ付き加算 アセンブラでは上位 1 ビットを符号と見る ゼロ拡張 マイナス拡張 キャリ付き減算 付表 D-2 比較演算 CM71-10143-5 CYCLE NZVC 動作 FUJITSU SEMICONDUCTOR LIMITED 備考 583 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-3 論理演算 ニーモニック AND Rj, Ri AND Rj, @Ri ANDH Rj, @Ri ANDB Rj, @Ri OR Rj, Ri OR Rj, @Ri ORH Rj, @Ri ORB Rj, @Ri EOR Rj, Ri EOR Rj, @Ri EORH Rj, @Ri EORB Rj, @Ri 型 A A A A A A A A A A A A OP 82 84 85 86 92 94 95 96 9A 9C 9D 9E CYCLE NZVC 1 1+2a 1+2a 1+2a 1 1+2a 1+2a 1+2a 1 1+2a 1+2a 1+2a CC-CC-CC-CC-CC-CC-CC-CC-CC-CC-CC-CC-- RMW 動作 Ri & = Rj (Ri) & = Rj (Ri) & = Rj (Ri) & = Rj Ri | = Rj (Ri) | = Rj (Ri) | = Rj (Ri) | = Rj Ri ^ = Rj (Ri) ^ = Rj (Ri) ^ = Rj (Ri) ^ = Rj ○ ○ ○ ○ ○ ○ ○ ○ ○ 備考 ワード ワード ハーフワード バイト ワード ワード ハーフワード バイト ワード ワード ハーフワード バイト 付表 D-4 ビット操作命令 ニーモニック BANDL #u4, @Ri BANDH #u4, @Ri *BAND #u8, @Ri *1 BORL #u4, @Ri BORH #u4, @Ri *BOR #u8, @Ri *2 BEORL #u4, @Ri BEORH #u4, @Ri *BEOR #u8, @Ri *3 BTSTL #u4, @Ri BTSTH #u4, @Ri 型 OP CYCLE NZVC 動作 C 80 1+2a ---- (Ri)&=(0xF0+u4) C 81 1+2a ---- (Ri)&=((u4<<4)+0x0F) ---- (Ri)&=u8 RMW ○ ○ - 備考 下位 4 ビットを操作 上位 4 ビットを操作 C C 90 91 1+2a 1+2a ---------- (Ri) | = u4 (Ri) | = (u4<<4) (Ri) | = u8 ○ ○ - 下位 4 ビットを操作 上位 4 ビットを操作 C C 98 99 1+2a 1+2a ---------- (Ri) ^ = u4 (Ri) ^ = (u4<<4) (Ri) ^ = u8 ○ ○ - 下位 4 ビットを操作 上位 4 ビットを操作 C C 88 89 2+a 2+a 0C-- (Ri) & u4 CC-- (Ri) & (u4<<4) - 下位 4 ビットをテスト 上位 4 ビットをテスト *1: アセンブラは , u8&0x0F でビットが立っていれば , BANDL を生成し , u8&0xF0 でビットが立ってい れば , BANDH を生成する。BANDL, BANDH 両方を生成する場合もある。 *2: アセンブラは , u8&0x0F でビットが立っていれば , BORL を生成し , u8&0xF0 でビットが立っていれ ば , BORH を生成する。BORL, BORH 両方を生成する場合もある。 *3: アセンブラは , u8&0x0F でビットが立っていれば , BEORL を生成し , u8&0xF0 でビットが立ってい れば , BEORH を生成する。BEORL, BEORH 両方を生成する場合もある。 584 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-5 乗除算 型 OP MUL Rj,Ri MULU Rj,Ri MULH Rj,Ri MULUH Rj,Ri A A A A AF AB BF BB 5 5 3 3 CCCCCCCC-CC-- DIV0S Ri DIV0U Ri DIV1 Ri DIV2 Ri DIV3 DIV4S *DIV Ri E E E E E E 97-4 97-5 97-6 97-7 9F-6 9F-7 1 1 d 1 1 1 36 ---ステップ演算 ---32bit/32bit=32bit -C-C -C-C -------C-C MDL / Ri -> MDL , MDL % Ri -> MDH ニーモニック CYCLE NZVC *1 *DIVU Ri -C-C *2 動作 備考 Ri * Rj -> MDH, MDL Ri * Rj -> MDH, MDL Ri * Rj -> MDL Ri * Rj -> MDL 32bit*32bit=64bit 符号なし 16bit*16bit=32bit 符号なし MDL / Ri -> MDL , MDL % Ri -> MDH 付表 D-6 シフト 型 OP LSL Rj, Ri *LSL #u5, Ri(u5:0 ∼ 31) LSL #u4, Ri LSL2 #u4, Ri A C’ C C B6 B4 B4 B5 1 1 1 1 CC-C CC-C CC-C CC-C Ri << Rj -> Ri Ri << u5 -> Ri Ri << u4 -> Ri Ri <<(u4+16) -> Ri 論理シフト LSR Rj, Ri *LSR #u5, Ri(u5:0 ∼ 31) LSR #u4, Ri LSR2 #u4, Ri A C’ C C B2 B0 B0 B1 1 1 1 1 CC-C CC-C CC-C CC-C Ri >> Rj -> Ri Ri >> u5 -> Ri Ri >> u4 -> Ri Ri >>(u4+16) -> Ri 論理シフト ASR Rj, Ri *ASR #u5, Ri (u5:0 ∼ 31) ASR #u4, Ri ASR2 #u4, Ri A C’ C C BA B8 B8 B9 1 1 1 1 CC-C CC-C CC-C CC-C Ri >> Rj -> Ri Ri >> u5 -> Ri Ri >> u4 -> Ri Ri >>(u4+16) -> Ri 算術シフト ニーモニック CYCLE NZVC 動作 備考 付表 D-7 即値セット /16 ビット /32 ビット即値転送命令 ニーモニック 型 OP LDI:32 #i32, Ri LDI:20 #i20, Ri LDI:8 #i8, Ri *LDI # {i8|i20|i32} ,Ri E C B 9F-8 9B C0 *3 CYCLE NZVC 3 2 1 ---------- 動作 i32 -> Ri i20 -> Ri i8 -> Ri 備考 上位 12bit はゼロ拡張 上位 24bit はゼロ拡張 {i8 | i20 | i32} -> Ri *1 DIV0S, DIV1 × 32, DIV2, DIV3, DIV4S を生成する。命令コード長は , 72 バイトとなる。 *2 DIV0U, DIV1 × 32 を生成する。命令コード長は , 66 バイトとなる。 *3 即値が絶対値の場合は , i8, i20, i32 の選択はアセンブラが自動的に行う。 即値が , 相対値または外部参照シンボルを含む場合は , i32 が選択される。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 585 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-8 メモリロード 型 OP A A B C E E E 04 00 2 03 07-0 07-8 07-9 b b b b b b 1+a+b ------------------CCCC LDUH @Rj, Ri LDUH @(R13,Rj), Ri LDUH @(R14,disp9), Ri A A B 05 01 4 b b b LDUB @Rj, Ri LDUB @(R13,Rj), Ri LDUB @(R14,disp8), Ri A A B 06 02 6 b b b ニーモニック LD LD LD LD LD LD LD @Rj, Ri @(R13,Rj), Ri @(R14,disp10),Ri @(R15,udisp6),Ri @R15+, Ri @R15+, Rs @R15+, PS CYCLE NZVC 動作 備考 (Rj)->Ri (R13+Rj)->Ri (R14+disp10)->Ri (R15+udisp6)->Ri (R15)->Ri,R15+=4 (R15)->Rs,R15+=4 (R15)->PS, R15+=4 Rs: 特殊レジスタ * ---------- (Rj)->Ri (R13+Rj)->Ri (R14+disp9)->Ri ゼロ拡張 ゼロ拡張 ゼロ拡張 ---------- (Rj)->Ri (R13+Rj)->Ri (R14+disp8)->Ri ゼロ拡張 ゼロ拡張 ゼロ拡張 *: ハード仕様の o8, o4 のフィールドには , 次のようにアセンブラが計算して値を設定します。 disp10/4->o8, disp9/2->o8, disp8->o8, disp10, disp9, disp8 は符号付き , udisp6/4->o4 udisp6 は符号なし。 付表 D-9 メモリストア ニーモニック ST Ri,@Rj ST Ri,@(R13,Rj) ST Ri,@(R14,disp10) ST Ri,@(R15,udisp6) ST Ri,@-R15 ST Rs,@-R15 ST PS,@-R15 STH Ri,@Rj STH Ri,@(R13,Rj) STH Ri,@(R14,disp9) STB Ri,@Rj STB Ri,@(R13,Rj) STB Ri,@(R14,disp8) 型 A A B C E E E A A B A A B OP 14 10 3 13 17-0 17-8 17-9 15 11 5 16 12 7 CYCLE NZVC 動作 備考 a ---- Ri->(Rj) ワード a ---- Ri->(R13+Rj) ワード a ---- Ri->(R14+disp10) ワード a ---- Ri->(R15+udisp6) a ---- R15-=4,Ri->(R15) a ---- R15-=4, Rs->(R15) Rs 特殊レジスタ a ---- R15-=4, PS->(R15) * a ---- Ri->(Rj) ハーフワード a ---- Ri->(R13+Rj) ハーフワード a ---- Ri->(R14+disp9) ハーフワード a ---- Ri->(Rj) バイト a ---- Ri->(R13+Rj) バイト a ---- Ri->(R14+disp8) バイト *: ハード仕様の o8, o4 のフィールドには , 次のようにアセンブラが計算して値を設定します。 disp10/4->o8, disp9/2->o8, disp8->o8, disp10, disp9, disp8 は符号付き , udisp6/4->o4 udisp6 は , 符号な し。 付表 D-10 レジスタ間転送 MOV MOV MOV MOV MOV ニーモニック Rj, Ri Rs, Ri Ri, Rs PS, Ri Ri, PS 型 A A E E E OP 8B B7 B3 17-1 07-1 CYCLE NZVC 動作 1 ---- Rj -> Ri 1 ---- Rs -> Ri 1 ---- Ri -> Rs 1 ---- PS -> Ri c CCCC Ri -> PS 備考 汎用レジスタ間転送 Rs: 特殊レジスタ Rs: 特殊レジスタ * *: 特殊レジスタ Rs : TBR,RP, USP, SSP, MDH, MDL 586 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-11 通常分岐 ( 遅延なし ) ニーモニック JMP @Ri CALL label12 CALL @Ri RET INT #u8 型 E E F E D OP 97-0 D0 97-1 97-2 1F CYCLE NZVC 動作 備考 2 ---- Ri -> PC 2 ---- PC+2->RP , PC+2+(label12-PC-2)->PC 2 ---- PC+2->RP ,Ri->PC 2 ---- RP -> PC リターン 3+3a ---- SSP-=4, PS->(SSP), SSP-=4, PC+2->(SSP), 0->I フラグ , 0->S フラグ , (TBR+0x3FC-u8 × 4)->PC 3+3a ---- SSP-=4, PS->(SSP), SSP-=4, PC+2->(SSP), 0->S フラグ ,(TBR+0x3D8)->PC INTE E 9F-3 RETI BRA label9 BNO label9 BEQ label9 E D D D 97-3 E0 E1 E2 2+2A 2 1 2/1 CCCC ---------- BNE label9 BC label9 BNC label9 BN label9 BP label9 BV label9 BNV label9 BLT label9 BGE label9 BLE label9 BGT label9 BLS label9 BHI label9 D D D D D D D D D D D D D E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 ---------------------------------------- エミュレータ用 (R15)->PC,R15-=4,(R15)->PS,R15-=4 PC+2+(label9-PC-2)->PC 非分岐 if(Z==1) then PC+2+(label9-PC-2)->PC ↑ s/Z==0 ↑ s/C==1 ↑ s/C==0 ↑ s/N==1 ↑ s/N==0 ↑ s/V==1 ↑ s/V==0 ↑ s/V xor N==1 ↑ s/V xor N==0 ↑ s/(V xor N) or Z==1 ↑ s/(V xor N) or Z==0 ↑ s/C or Z==1 ↑ s/C or Z==0 <注意事項> • CYCLE 数の「2/1」は , 分岐するとき "2", 分岐しないとき "1" であることを示します。 • ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を 設定します。 (label12-PC-2)/2->rel11, (label9-PC-2)/2->rel8, label12, label9 は符号付き。 • CM71-10143-5 RETI 命令を実行するときは S フラグが "0" であることが必要です。 FUJITSU SEMICONDUCTOR LIMITED 587 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-12 遅延分岐 ニーモニック JMP:D @Ri CALL:D label12 CALL:D @Ri RET:D BRA:D label9 BNO:D label9 BEQ:D label9 型 E F E E D D D OP 9F-0 D8 9F-1 9F-2 F0 F1 F2 BNE:D label9 BC:D label9 BNC:D label9 BN:D label9 BP:D label9 BV:D label9 BNV:D label9 BLT:D label9 BGE:D label9 BLE:D label9 BGT:D label9 BLS:D label9 BHI:D label9 D D D D D D D D D D D D D F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF CYCLE NZVC 動作 備考 1 ---- Ri -> PC 1 ---- PC+4->RP , PC+2+(label12-PC-2)->PC 1 ---- PC+4->RP ,Ri->PC 1 ---- RP -> PC リターン 1 ---- PC+2+(label9-PC-2)->PC 1 ---- 非分岐 1 ---- if(Z==1) then PC+2+(label9-PC-2)->PC 1 ---- ↑ s/Z==0 1 ---- ↑ s/C==1 1 ---- ↑ s/C==0 1 ---- ↑ s/N==1 1 ---- ↑ s/N==0 1 ---- ↑ s/V==1 1 ---- ↑ s/V==0 1 ---- ↑ s/V xor N==1 1 ---- ↑ s/V xor N==0 1 ---- ↑ s/(V xor N) or Z==1 1 ---- ↑ s/(V xor N) or Z==0 1 ---- ↑ s/C or Z==1 1 ---- ↑ s/C or Z==0 <注意事項> • ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を 設定します。 (label12-PC-2)/2->rel11, (label9-PC-2)/2->rel8, label12, label9 は符号付き。 • 遅延分岐は必ず次の命令 ( 遅延スロット ) を実行してから分岐します。 • 遅延スロットに置くことができる命令は , すべての 1 サイクル , a, b, c, d サイクル 命令です。複数サイクル命令は置けません。 588 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-13 その他 ニーモニック NOP ANDCCR #u8 ORCCR #u8 STILM #u8 ADDSP #s10*1 EXTSB Ri EXTUB Ri EXTSH Ri EXTUH Ri LDM0 (reglist) 型 E D D D D E E E E D OP 9F-A 83 93 87 A3 97-8 97-9 97-A 97-B 8C LDM1 (reglist) D 8D *LDM (reglist) *2 STM0 (reglist) D 8E STM1 (reglist) D 8F *STM (reglist) *3 ENTER #u10 D 0F *4 LEAVE E 9F-9 XCHB @Rj, Ri A 8A CYCLE NZVC 動作 1 ---- 何も変化しない c cccc CCR and u8 -> CCR c cccc CCR or u8 -> CCR 1 ---- i8 -> ILM 1 ---- R15 += s10 ---- 符号拡張 8->32bit 1 1 ---- ゼロ拡張 8->32bit 1 ---- 符号拡張 16->32bit ---- ゼロ拡張 16->32bit 1 ---- (R15)->reglist, R15 インクリメント ---- (R15)->reglist, R15 インクリメント ---- (R15)->reglist, R15 インクリメント ---- R15 デクリメント , reglist->(R15) ---- R15 デクリメント , reglist->(R15) ---- R15 デクリメント , reglist->(R15) 1+a ---- R14 -> (R15 - 4), R15 - 4 -> R14, R15 - u10 -> R15 b ---- R14 + 4 -> R15, (R15 - 4) -> R14 2a ---- Ri -> TEMP (Rj) -> Ri TEMP -> (Rj) RMW 備考 ILM 即値セット ADD SP 命令 ロードマルチ R0-R7 - ロードマルチ R8-R15 - ロードマルチ R0-R15 - ストアマルチ R0-R7 - ストアマルチ R8-R15 - ストアマルチ R0-R15 - 関数の入口処理 - 関数の出口処理 ○ セマフォ管理用 バイトデータ *1: s10 はアセンブラが , s10/4 を計算して s8 にして値を設定する。s10 は符号付き。 *2: reglist で , R0 ∼ R7 のいずれかの指定があれば , LDM0 を生成し , R8 ∼ R15 のいずれかの指定があ れば , LDM1 を生成する。LDM0, LDM1 両方を生成する場合もある。 *3: reglist で , R0 ∼ R7 のいずれかの指定があれば , STM0 を生成し , R8 ∼ R15 のいずれかの指定があ れば , STM1 を生成する。STM1, STM0 両方を生成する場合もある。 *4: u10 はアセンブラが , u10/4 を計算して u8 にして値を設定する。u10 は符号なし。 <注意事項> • LDM0 (reglist) , LDM1 (reglist) の実行サイクル数は , 指定されたレジスタ数が n の とき , a × (n-1)+b+1 サイクルとなります。 • STM0 (reglist), STM1 (reglist) の実行サイクル数は , 指定されたレジスタ数が n のと き , a × n+1 サイクルとなります。 CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 589 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-14 20 ビット通常分岐マクロ命令 ニーモニック *CALL20 label20,Ri *BRA20 label20,Ri *BEQ20 label20,Ri *BNE20 label20,Ri *BC20 label20,Ri *BNC20 label20,Ri *BN20 label20,Ri *BP20 label20,Ri *BV20 label20,Ri *BNV20 label20,Ri *BLT20 label20,Ri *BGE20 label20,Ri *BLE20 label20,Ri *BGT20 label20,Ri *BLS20 label20,Ri *BHI20 label20,Ri 動作 次の命令のアドレス ->RP, label20->PC label20->PC if(Z==1) then label20->PC ↑ s/Z==0 ↑ s/C==1 ↑ s/C==0 ↑ s/N==1 ↑ s/N==0 ↑ s/V==1 ↑ s/V==0 ↑ s/V xor N==1 ↑ s/V xor N==0 ↑ s/(V xor N) or Z==1 ↑ s/(V xor N) or Z==0 ↑ s/C or Z==1 ↑ s/C or Z==0 備考 Ri: テンポラリレジスタ 参考 1 参照 Ri: テンポラリレジスタ 参考 2 参照 Ri: テンポラリレジスタ 参考 3 参照 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ [ 参考 1] CALL20 (1) label20-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL label12 (2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:20 #label20,Ri CALL @Ri [ 参考 2] BRA20 (1) label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA label9 (2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:20 #label20,Ri JMP @Ri [ 参考 3] Bcc20 (1) label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc label9 (2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 Bxcc false xcc は cc の背反条件 LDI:20 #label20,Ri JMP @Ri false: 590 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-15 20 ビット遅延分岐マクロ命令 ニーモニック *CALL20:D label20,Ri 動作 次の命令のアドレス +2->RP, label20->PC label20->PC if(Z==1) then label20->PC ↑ s/Z==0 ↑ s/C==1 ↑ s/C==0 ↑ s/N==1 ↑ s/N==0 ↑ s/V==1 ↑ s/V==0 ↑ s/V xor N==1 ↑ s/V xor N==0 ↑ s/(V xor N) or Z==1 ↑ s/(V xor N) or Z==0 ↑ s/C or Z==1 ↑ s/C or Z==0 *BRA20:D label20,Ri *BEQ20:D label20,Ri *BNE20:D label20,Ri *BC20:D label20,Ri *BNC20:D label20,Ri *BN20:D label20,Ri *BP20:D label20,Ri *BV20:D label20,Ri *BNV20:D label20,Ri *BLT20:D label20,Ri *BGE20:D label20,Ri *BLE20:D label20,Ri *BGT20:D label20,Ri *BLS20:D label20,Ri *BHI20:D label20,Ri 備考 Ri: テンポラリレジスタ 参考 1 参照 Ri: テンポラリレジスタ 参考 2 参照 Ri: テンポラリレジスタ 参考 3 参照 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ [ 参考 1] CALL20:D (1) label20-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL:D label12 (2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:20 #label20,Ri CALL:D @Ri [ 参考 2] BRA20:D (1) label20-PC-2 が ,-0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA:D label9 (2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:20 #label20,Ri JMP:D @Ri [ 参考 3] Bcc20:D (1) label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc:D label9 (2) label20-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 Bxcc false xcc は , cc の背反条件 LDI:20 #label20,Ri JMP:D @Ri false: CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 591 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-16 32 ビット通常分岐マクロ命令 ニーモニック *CALL32 label32,Ri 動作 次の命令のアドレス ->RP, label32->PC label32->PC if(Z==1) then label32->PC ↑ s/Z==0 ↑ s/C==1 ↑ s/C==0 ↑ s/N==1 ↑ s/N==0 ↑ s/V==1 ↑ s/V==0 ↑ s/V xor N==1 ↑ s/V xor N==0 ↑ s/(V xor N) or Z==1 ↑ s/(V xor N) or Z==0 ↑ s/C or Z==1 ↑ s/C or Z==0 *BRA32 label32,Ri *BEQ32 label32,Ri *BNE32 label32,Ri *BC32 label32,Ri *BNC32 label32,Ri *BN32 label32,Ri *BP32 label32,Ri *BV32 label32,Ri *BNV32 label32,Ri *BLT32 label32,Ri *BGE32 label32,Ri *BLE32 label32,Ri *BGT32 label32,Ri *BLS32 label32,Ri *BHI32 label32,Ri 備考 Ri: テンポラリレジスタ 参考 1 参照 Ri: テンポラリレジスタ 参考 2 参照 Ri: テンポラリレジスタ 参考 3 参照 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ [ 参考 1] CALL32 (1) label32-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL label12 (2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:32 #label32,Ri CALL @Ri [ 参考 2] BRA32 (1) label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA label9 (2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:32 #label32,Ri JMP @Ri [ 参考 3] Bcc32 (1) label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc label9 (2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 Bxcc false xcc は , cc の背反条件 LDI:32 #label32,Ri JMP @Ri false: 592 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-17 32 ビット遅延分岐マクロ命令 ニーモニック *CALL32D label32,Ri *BRA32:D label32,Ri *BEQ32:D label32,Ri *BNE32:D label32,Ri *BC32:D label32,Ri *BNC32:D label32,Ri *BN32:D label32,Ri *BP32:D label32,Ri *BV32:D label32,Ri *BNV32:D label32,Ri *BLT32:D label32,Ri *BGE32:D label32,Ri *BLE32:D label32,Ri *BGT32:D label32,Ri *BLS32:D label32,Ri *BHI32:D label32,Ri 動作 次の命令のアドレス +2->RP, label32->PC label32->PC if(Z==1) then label32->PC ↑ s/Z==0 ↑ s/C==1 ↑ s/C==0 ↑ s/N==1 ↑ s/N==0 ↑ s/V==1 ↑ s/V==0 ↑ s/V xor N==1 ↑ s/V xor N==0 ↑ s/(V xor N) or Z==1 ↑ s/(V xor N) or Z==0 ↑ s/C or Z==1 ↑ s/C or Z==0 備考 Ri: テンポラリレジスタ 参考 1 参照 Ri: テンポラリレジスタ 参考 2 参照 Ri: テンポラリレジスタ 参考 3 参照 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ [ 参考 1] CALL32:D (1) label32-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL:D label12 (2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:32 #label32,Ri CALL:D @Ri [ 参考 2] BRA32:D (1) label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA:D label9 (2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:32 #label32,Ri JMP:D @Ri [ 参考 3] Bcc32:D (1) label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc:D label9 (2) label32-PC-2 が , (1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 Bxcc false xcc は , cc の背反条件 LDI:32 #label32,Ri JMP:D @Ri false: CM71-10143-5 FUJITSU SEMICONDUCTOR LIMITED 593 付録 付録 D 命令一覧表 MB91313A シリーズ 付表 D-18 ダイレクトアドレッシング ニーモニック DMOV @dir10, R13 DMOV R13, @dir10 DMOV @dir10, @R13+ DMOV @R13+, @dir10 DMOV @dir10, @-R15 DMOV @R15+, @dir10 DMOVH @dir9, R13 DMOVH R13, @dir9 DMOVH @dir9, @R13+ DMOVH @R13+, @dir9 DMOVB @dir8, R13 DMOVB R13, @dir8 DMOVB @dir8, @R13+ DMOVB @R13+, @dir8 型 D D D D D D D D D D D D D D OP 08 18 0C 1C 0B 1B 09 19 0D 1D 0A 1A 0E 1E CYCLE NZVC 動作 b ---- (dir10)-> R13 a ---- R13 ->(dir10) 2a ---- (dir10)->(R13),R13+=4 2a ---- (R13)->(dir10),R13+=4 2a ---- R15-=4,(R15)->(dir10) 2a ---- (R15)->(dir10),R15+=4 ---- (dir9)-> R13 b ---- R13 ->(dir9) a ---- (dir9)->(R13),R13+=2 2a 2a ---- (R13)->(dir9),R13+=2 b ---- (dir8)-> R13 ---- R13 ->(dir8) a ---- (dir8)->(R13),R13++ 2a ---- (R13)->(dir8),R13++ 2a 備考 ワード ワード ワード ワード ワード ワード ハーフワード ハーフワード ハーフワード ハーフワード バイト バイト バイト バイト ( 注意事項 ) dir8, dir9, dir10 フィールドには , 次のようにアセンブラが計算して値を設定します。 dir8->dir, dir9/2->dir, dir10/4->dir dir8, dir9, dir10 は符号なし。 付表 D-19 リソース命令 ニーモニック LDRES @Ri+, #u4 型 C OP BC STRES #u4, @Ri+ C BD CYCLE NZVC 動作 a ---- (Ri)->u4 のリソース Ri+=4 a ---- u4 のリソース ->(Ri) Ri+=4 備考 u4: チャネル番号 u4: チャネル番号 ( 注意事項 ) MB91313A シリーズでは , チャネル番号を持つリソースを搭載していないので , 使用でき ません。 付表 D-20 コプロセッサ制御命令 {CRi | CRj} := CR0 | CR1 | CR2 | CR3 | CR4 | CR5 | CR6 | CR7 | CR8 | CR9 | CR10 | CR11 | CR12 | CR13 | CR14 || CR15 u4: := チャネル指定 u8: := コマンド指定 ニーモニック 型 OP CYCLE NZVC 動作 備考 COPOP #u4, #u8, CRj, Cri E 9F-C 2+a ---- 演算指示 COPLD #u4, #u8, Rj, Cri E 9F-D 1+2a ---- Rj -> CRi エラートラップなし COPST #u4, #u8, CRj, Ri E 9F-E 1+2a ---- CRj -> Ri COPSV #u4, #u8, CRj, Ri E 9F-F 1+2a ---- CRj -> Ri ( 注意事項 ) MB91313A シリーズでは , コプロセッサを搭載していないため使用できません。 594 FUJITSU SEMICONDUCTOR LIMITED CM71-10143-5 索引 Numerics A 0 検出 0 検出 ......................................................................271 0 検出用データレジスタ 0 検出用データレジスタ (BSD0) ........................269 10 ビット A/D コンバータ 10 ビット A/D コンバータ .......................................3 16 ビットタイマレジスタ 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................178 16 ビットリロードタイマ 16 ビットリロードタイマ (REALOS 用 1 チャネル含 ) .............................3 16 ビットリロードタイマの概要 ........................172 16 ビットリロードタイマのレジスタ一覧 ........173 16 ビットリロードレジスタ 16 ビットリロードレジスタ (TMRLR) の ビット構成 ......................................................179 1 検出 1 検出 ......................................................................271 1 検出用データレジスタ 1 検出用データレジスタ (BSD1) ........................269 2 サイクル転送 2 サイクル転送時のデータの動き ......................495 ステップ / ブロック転送 2 サイクル転送 .........483 バースト 2 サイクル転送 .....................................482 32 ビット←→ 16 ビットバスコンバータ 32 ビット←→ 16 ビットバスコンバータ ............30 7 ビットスレーブアドレスマスクレジスタ 7 ビットスレーブアドレスマスクレジスタ (ISMK) ..............................................................404 7 ビットスレーブアドレスレジスタ 7 ビットスレーブアドレスレジスタ (ISBA) ..........................................................................406 A/D コンバータ 10 ビット A/D コンバータ ......................................3 A/D コンバータ制御レジスタ A/D コンバータ制御レジスタ (ADCTH,ADCTL) ........................................................................... 278 A/D 動作 外部トリガ変換による A/D 動作 .......................282 ソフト変換による A/D 動作 ............................... 281 A/D 変換結果レジスタ A/D 変換結果レジスタ (0 チャネル∼ 9 チャネル ) ..........................................................................280 ACR ACR0 ∼ ACR3 (Area Configuration Register) ..........................................................................122 ADCTH A/D コンバータ制御レジスタ (ADCTH,ADCTL) ..........................................................................278 ADCTL A/D コンバータ制御レジスタ (ADCTH,ADCTL) ..........................................................................278 ADER ADER : 外バス ,I2C ブリッジ ,ADER 制御レジスタ ..........................................................................168 Area Configuration Register ACR0 ∼ ACR3 (Area Configuration Register) ..........................................................................122 Area Select Register ASR0 ∼ ASR3 (Area Select Register) .................. 121 Area Wait Register AWR0 ∼ AWR3 (Area Wait Register) ................. 126 ASR ASR0 ∼ ASR3 (Area Select Register) .................. 121 AVCC 端子 AVCC 端子について .............................................. 21 AWR AWR0 ∼ AWR3 (Area Wait Register) ................. 126 CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH) ...................137 two-cycle 転送 (I/O →外部 ) (TYP[3:0]=0000B, AWR=0008H) ................................................... 140 two-cycle 転送 ( 外部→ I/O) (TYP[3:0]=0000B, AWR=0008H) ................................................... 139 外部ウェイトあり (TYP[3:0]=0101B, AWR=1008H) ..........................................................................136 外部ウェイトなし (TYP[3:0]=0100B, AWR=0008H) ..........................................................................134 B BGR ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 .........303, 351, 403 BSD 0 検出用データレジスタ (BSD0) ........................ 269 595 1 検出用データレジスタ (BSD1) ........................269 BSDC 変化点検出用データレジスタ (BSDC) ..............270 BSRR 検出結果レジスタ (BSRR) ...................................270 BUSYX レディ / ビジー信号 (RDY/BUSYX) ...................529 C CCR CCR (Condition Code Register) ...............................36 Chip Select Enable Register CSER (Chip Select Enable Register) ......................131 CLKB CPU クロック (CLKB) ............................................78 CLKP 周辺クロック (CLKP) .............................................78 CLKR CLKR : クロックソース制御レジスタ .................92 CLKT 外部バスクロック (CLKT) ....................................79 Condition Code Register CCR (Condition Code Register) ...............................36 CPU CPU ...........................................................................29 CPU 間接続 ............................................329, 331, 382 CPU クロック (CLKB) ............................................78 CPU 制御 ................................................................487 FR CPU .......................................................................2 各 CPU ステートにおける端子状態 ...................569 フラッシュコントロールステータスレジスタ (FLCR)(CPU モード ) の構成 ........................519 CPU 間接続 CPU 間接続 ............................................329, 331, 382 CPU クロック CPU クロック (CLKB) ............................................78 CPU ステート 各 CPU ステートにおける端子状態 ...................569 CSER CSER (Chip Select Enable Register) ......................131 CSIO CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の機能 ...........................336 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の動作 ...........................366 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) のレジスタ一覧 ...........337 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) ボーレート選択 ...........378 CSIO の割込み .......................................................360 CSnX CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH) ...................137 CTBR CTBR : タイムベースカウンタクリアレジスタ ............................................................................91 D DDR データ方向レジスタ (DDR) の構成 ...................147 596 DICR DICR ( 遅延割込みモジュールレジスタ ) ......... 265 DICR の DLYI ビット .......................................... 266 DIVR DIVR0 : 基本クロック分周設定レジスタ 0 ........ 96 DIVR1 : 基本クロック分周設定レジスタ 1 ........ 99 DLYI ビット DICR の DLYI ビット .......................................... 266 DMA DMA による周辺割込みクリア .......................... 488 スリープ中の DMA 転送 .....................................490 DMAC DMAC (DMA コントローラ ) ................................. 3 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先 アドレス設定レジスタ [DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4] ............... 475 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4DMAC 全体制御 レジスタ [DMACR] ........................................ 477 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ステータスレジスタ A[DMACA0 ∼ DMACA4] ........................................................ 465 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ステータスレジスタ B[DMACB0 ∼ DMACB4] ..........................................................................469 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アド レス設定レジスタ [DMASA0 ∼ DMASA4/ DMADA0 ∼ DMADA4] ................................. 475 DMAC 割込み制御 ............................................... 490 DMAC 全体制御レジスタ DMAC-ch.0,ch.1,ch.2,ch.3,ch.4DMAC 全体制御 レジスタ [DMACR] ........................................ 477 DMAC 割込み DMAC 割込み制御 ............................................... 490 DMAC 割込み制御 DMAC 割込み制御 ............................................... 490 DMA コントローラ DMAC (DMA コントローラ ) ................................. 3 DMA コントローラのレジスタ .......................... 463 DMA 転送 DMA 転送全般 ......................................................484 スリープ中の DMA 転送 .....................................490 E EIRR 外部割込み要因レジスタ (EIRR) ........................ 257 EIT EIT からの復帰 ....................................................... 49 EIT の特長 ...............................................................49 EIT の割込みレベル ...............................................50 EIT ベクタテーブル ...............................................54 EIT 要因 ................................................................... 49 EIT 要因受理の優先度 ...........................................58 ELVR 外部割込み要求レベル設定レジスタ (ELVR) ..........................................................................258 ENIR 割込み許可レジスタ (ENIR) ............................... 256 ESCR 拡張通信制御レジスタ (ESCR) の ビット構成 ..............................................297, 345 F I FBYTE FIFO バイトレジスタ (FBYTE) の ビット構成 ......................................310, 358, 413 FCR FIFO 制御レジスタ 0 (FCR0) のビット構成 ..........................................................307, 355, 409 FIFO 制御レジスタ 1 (FCR1) のビット構成 ..........................................................305, 353, 407 FIFO FIFO 制御レジスタ 0 (FCR0) のビット構成 ..........................................................................307 FIFO 制御レジスタ 1 (FCR1) のビット構成 ..........................................................................407 FIFO 制御レジスタ 1(FCR1) のビット構成 .......305 FIFO の機能 ...........................................................385 FIFO バイトレジスタ (FBYTE) のビット構成 ..........................................................................413 受信 FIFO 使用時の受信割込み発生と フラグセットのタイミング ..................315, 362 送受信 FIFO (ch.0,ch.1 および ch.2) ....................286 送信 FIFO 使用時の送信割込み発生と フラグセットのタイミング ..................318, 365 FIFO 制御レジスタ FIFO 制御レジスタ 0 (FCR0) のビット構成 ..........................................................307, 355, 409 FIFO 制御レジスタ 1 (FCR1) のビット構成 ..........................................................305, 353, 407 FIFO バイトレジスタ FIFO バイトレジスタ (FBYTE) のビット構成 ..........................................................310, 358, 413 FLCR フラッシュコントロールステータスレジスタ (FLCR)(CPU モード ) の構成 ........................519 FLWC ウェイトレジスタ (FLWC) のビット構成 .........521 FR FR CPU .......................................................................2 FR-CPU FR-CPU ROM モード (32 ビット , 読出しのみ ) ...........................................................................523 FR ファミリ FR ファミリメモリマップ .....................................26 I/O ピン I/O ピン .................................................................. 119 I/O ポート I/O ポート .................................................................. 4 I/O マップ I/O マップの読み方 .............................................. 556 I2C I2C バススタート条件 .......................................... 417 I2C バスストップ条件 .......................................... 417 I2C バス反復スタート条件 ..................................417 2 I C インタフェース I2C インタフェースの機能 ..................................385 I2C インタフェースのレジスタ一覧 .................. 386 I2C インタフェースの割込み ..............................415 2C バススタート条件 I I2C バススタート条件 .......................................... 417 2C バスステータスレジスタ I I2C バスステータスレジスタ (IBSR) ................. 397 2C バスストップ条件 I I2C バスストップ条件 .......................................... 417 I2C バス制御レジスタ I2C バス制御レジスタ (IBCR) ............................. 387 2C バス反復スタート条件 I I2C バス反復スタート条件 ..................................417 I2C 用ノイズフィルタ制御レジスタ NSF: I2C 用ノイズフィルタ制御レジスタ ........169 IBCR I2C バス制御レジスタ (IBCR) ............................. 387 IBSR I2C バスステータスレジスタ (IBSR) ................. 397 ICR ICR ビット構成 ....................................................... 52 ICR マッピング ....................................................... 52 割込み制御レジスタ (ICR) ..................................246 ILM ILM ........................................................................... 51 ILM (Interrupt Level Mask Register) .......................39 INIT 設定初期化リセット (INIT) ................................... 65 設定初期化リセット (INIT) 解除シーケンス ............................................................................68 INITX 端子 INITX 端子入力 ( 設定初期化リセット端子 ) ............................................................................66 Interrupt Level Mask Register ILM (Interrupt Level Mask Register) .......................39 INTE 命令 INTE 命令の動作 ....................................................61 INT 命令 INT 命令の動作 ....................................................... 61 ISBA 7 ビットスレーブアドレスレジスタ (ISBA) ..........................................................................406 ISMK 7 ビットスレーブアドレスマスクレジスタ (ISMK) .............................................................404 I フラグ I フラグ .................................................................... 51 H HDMI-CEC HDMI-CEC/ リモコン受信 .......................................4 HRCL ホールドリクエスト取下げ要求レジスタ (HRCL) ..........................................................................247 HRCR ホールドリクエスト取下げ要求機能 (HRCR) の 使用例 ..............................................................250 "H" 幅設定レジスタ "H" 幅設定レジスタ A (RCDAHW) ....................506 "H" 幅設定レジスタ B (RCDBHW) .....................507 597 L LPF LPF のサンプリング間隔について .....................209 M MB91313A シリーズ MB91313A シリーズの端子機能説明 ....................8 MB91313A シリーズの端子配列図 ........................6 MB91313A シリーズのブロックダイヤグラム ..............................................................................5 MB91313A シリーズのメモリマップ ..................27 MD モード端子 (MD0 ∼ MD2) について ...................19 MDH MDH,MDL (Multiply & Divide register: 乗除算結果 レジスタ ) ..........................................................42 MDL MDH,MDL (Multiply & Divide register: 乗除算結果 レジスタ ) ..........................................................42 Multiply & Divide register MDH,MDL (Multiply & Divide register: 乗除算結果 レジスタ ) ..........................................................42 N NMI ユーザ割込み・NMI の動作 ..................................60 割込み・NMI に対するレベルマスク ..................51 NSF NSF: I2C 用ノイズフィルタ制御レジスタ .........169 O OSCCR OSCCR : 発振制御レジスタ ................................101 P PC PC (Program Counter) ..............................................40 PCSR PCSR (PPG 周期設定レジスタ ) ..........................194 PDR ポートデータレジスタ (PDR) の構成 ................146 PDUT PDUT (PPG デューティ設定レジスタ ) .............194 PLL PLL 逓倍率 ...............................................................75 PLL 逓倍率変更後の待ち時間 ..............................76 PLL 動作許可 ...........................................................74 PLL 動作許可後の待ち時間 ..................................76 PLL クロック PLL クロック選択時の注意について ..................21 PLL 逓倍率変更後 PLL 逓倍率変更後の待ち時間 ..............................76 PLL 動作許可後 PLL 動作許可後の待ち時間 ..................................76 PPG PPG .............................................................................4 598 PPG 出力オール "L" または , オール "H" の 出力方法例 ......................................................198 PPG タイマの特長 ................................................188 割込み要因とタイミングチャート (PPG 出力は通常極性 ) ..................................198 PPG 周期設定レジスタ PCSR (PPG 周期設定レジスタ ) .......................... 194 PPG タイマ PPG タイマの特長 ................................................188 PPG タイマレジスタ PTMR (PPG タイマレジスタ ) ............................195 PPG デューティ設定レジスタ PDUT (PPG デューティ設定レジスタ ) ............. 194 Program Counter PC (Program Counter) .............................................. 40 Program Status PS (Program Status) ..................................................35 PS PS (Program Status) ..................................................35 PTMR PTMR (PPG タイマレジスタ ) ............................195 PWC PWC ............................................................................4 PWCC PWC 制御レジスタ 2 (PWCC2) ........................... 206 PWCCH PWC 制御レジスタ (PWCCH) ............................. 204 PWCCL PWC 制御レジスタ (PWCCL) ............................. 203 PWCD PWC データレジスタ (PWCD) ........................... 205 PWCUD PWC 上限値設定レジスタ (PWCUD) ................. 207 PWC 上限値設定レジスタ PWC 上限値設定レジスタ (PWCUD) ................. 207 PWC 制御レジスタ PWC 制御レジスタ (PWCCH) ............................. 204 PWC 制御レジスタ (PWCCL) ............................. 203 PWC 制御レジスタ 2 (PWCC2) ........................... 206 PWC データレジスタ PWC データレジスタ (PWCD) ........................... 205 PWM PWM 動作タイミングチャート .......................... 196 R RAM two-cycle 転送 ( 内部 RAM →外部 I/O,RAM, 外部 I/O,RAM →内部 RAM もタイミングは同じ ) (TYP[3:0]=0000B, AWR=0008H) .................... 138 RCADR デバイスアドレス設定レジスタ 1,2 (RCADR1,RCADR2) .......................................504 RCCKD クロック分周設定レジスタ (RCCKD) ............... 509 RCCR リモコン受信制御レジスタ (RCCR) .................. 500 RCDAHW "H" 幅設定レジスタ A (RCDAHW) .................... 506 RCDBHW "H" 幅設定レジスタ B (RCDBHW) .................... 507 RCDTHH データ格納レジスタ (RCDTHH,RCDTHL,RCDTLH,RCDTLL) ..........................................................................508 RCDTHL データ格納レジスタ (RCDTHH,RCDTHL,RCDTLH,RCDTLL) ..........................................................................508 RCDTLH データ格納レジスタ (RCDTHH,RCDTHL,RCDTLH,RCDTLL) ..........................................................................508 RCDTLL データ格納レジスタ (RCDTHH,RCDTHL,RCDTLH,RCDTLL) ..........................................................................508 RCSHW スタートビット "H" 幅設定レジスタ (RCSHW) .........................................................505 RCST リモコン受信割込み制御レジスタ (RCST) .......502 RDR 受信データレジスタ (RDR) .................299, 347, 401 RDX CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH) ...................137 RDY レディ / ビジー信号 (RDY/BUSYX) ...................529 RDY ビット RDY ビット ...........................................................529 REALOS 16 ビットリロードタイマ (REALOS 用 1 チャネル含 ) .............................3 ビットサーチモジュール (REALOS 使用 ) ...........3 RETI 命令 RETI 命令の動作 .....................................................63 Return Pointer RP (Return Pointer) ...................................................40 ROM バスモード 1 ( 内 ROM 外バスモード ) .............115 RP RP (Return Pointer) ...................................................40 RSRR RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ........................................82 RST 動作初期化リセット (RST) ....................................65 動作初期化リセット (RST) 解除シーケンス .......68 S SCR SCR (System Condition code Register) ....................38 シリアル制御レジスタ (SCR) .....................290, 338 SMR シリアルモードレジスタ (SMR) ........292, 340, 392 SRST ビット STCR:SRST ビット書込み ( ソフトウェアリセット ) ...............................66 SSP SSP (System Stack Pointer) ......................................41 システムスタックポインタ (SSP) ........................53 SSR シリアルステータスレジスタ (SSR) ..........................................................294, 343, 394 STCR STCR : スタンバイ制御レジスタ .........................85 STCR:SRST ビット書込み ( ソフトウェアリセット ) ..............................66 System Condition code Register SCR (System Condition code Register) .................... 38 System Stack Pointer SSP (System Stack Pointer) ...................................... 41 T Table Base Register TBR (Table Base Register) .......................................40 TBCR TBCR : タイムベースカウンタ制御レジスタ ............................................................................88 TBR TBR (Table Base Register) .......................................40 テーブルベースレジスタ (TBR) ...........................54 TDR 送信データレジスタ (TDR) ................. 301, 349, 402 TMCSR コントロールステータスレジスタ (TMCSR) の ビット構成 ......................................................174 TMODE TMODE .................................................................. 221 TMR 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................178 TMRLR 16 ビットリロードレジスタ (TMRLR) の ビット構成 ......................................................179 two-cycle 転送 two-cycle 転送 (I/O →外部 ) (TYP[3:0]=0000B, AWR=0008H) ................................................... 140 two-cycle 転送 ( 外部→ I/O) (TYP[3:0]=0000B,AWR=0008H) .....................139 two-cycle 転送 ( 内部 RAM →外部 I/O,RAM, 外部 I/O,RAM →内部 RAM もタイミングは同じ ) (TYP[3:0]=0000B, AWR=0008H) .................... 138 TxCCR TxCCR ( キャプチャ制御レジスタ ) .................. 215 TxCRR TxCRR ( キャプチャデータレジスタ ) ..............220 TxDRR TxDRR ( タイマコンペアデータレジスタ ) ...... 220 TxLPCR TxLPCR ( ローパスフィルタ制御レジスタ ) ..........................................................................214 TxR TxR ( タイマ全体制御レジスタ ) ........................ 219 TxTCR TxTCR ( タイマ設定レジスタ ) .......................... 217 TYP CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH) ...................137 two-cycle 転送 (I/O →外部 ) (TYP[3:0]=0000B, AWR=0008H) ................................................... 140 two-cycle 転送 ( 外部→ I/O) (TYP[3:0]=0000B, AWR=0008H) ................................................... 139 599 外部ウェイトあり (TYP[3:0]=0101B, AWR=1008H) ..........................................................................136 外部ウェイトなし (TYP[3:0]=0100B, AWR=0008H) ..........................................................................134 U UART UART ( 非同期マルチファンクションシリアル インタフェース ) の機能 ...............................287 UART ( 非同期マルチファンクションシリアル インタフェース ) のレジスタ一覧 ...............288 UART の動作 .........................................................319 UART の割込み .....................................................312 UART ボーレート選択 .........................................324 User Stack Pointer USP (User Stack Pointer) ..........................................41 USP USP (User Stack Pointer) ..........................................41 V VDDE 端子 VDDI 端子 ( 内部電源 1.8 V 系 ) と VDDE 端子 ( 外部端子電源 3.3 V 系 ) の電源投入 / 切断時 の注意事項 ........................................................20 VDDI 端子 VDDI 端子 ( 内部電源 1.8 V 系 ) と VDDE 端子 ( 外部端子電源 3.3 V 系 ) の電源投入 / 切断時 の注意事項 ........................................................20 W WPR WPR : ウォッチドッグリセット発生延期レジスタ ............................................................................95 WRnX CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH) ...................137 あ アービトレーションロスト アービトレーションロスト ................................436 アクノリッジ受信 ファーストバイト送信によるアクノリッジ受信 ..........................................................................421 アドレス一致検出 スレーブアドレス一致検出 ................................437 アドレッシング アドレッシングモード ........................................ 485 ダイレクトアドレッシング ..................................32 ダイレクトアドレッシング領域 .......................... 26 アドレッシングモード アドレッシングモード ........................................ 485 アンダフロー アンダフロー動作 ................................................181 い 一時停止 一時停止 ................................................................ 489 セクタ消去の一時停止 ........................................ 541 イベントカウント 外部イベントカウント動作 ................................182 イベントカウントモード イベントカウントモード .................................... 223 インターバル時間 時計タイマのインターバル時間 ........................ 235 メイン発振安定待ちタイマのインターバル時間 ..........................................................................228 インターバルタイマ インターバルタイマ機能の動作 ................232, 239 その他のインターバルタイマ ................................4 インターバルタイマモード インターバルタイマモード ................................222 インタフェース CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の機能 ........................... 336 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の動作 ........................... 366 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) のレジスタ一覧 ........... 337 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) ボーレート選択 ........... 378 UART ( 非同期マルチファンクションシリアル インタフェース ) の機能 ............................... 287 UART ( 非同期マルチファンクションシリアル インタフェース ) のレジスタ一覧 ............... 288 簡易外バスインタフェース ....................................2 マルチファンクションシリアルインタフェース ..............................................................................3 インタフェースモード インタフェースモード ........................................ 285 インタフェースモードの切換え ........................ 285 う ウェイトレジスタ ウェイトレジスタ (FLWC) のビット構成 ......... 521 600 ウォッチドッグタイマ制御レジスタ RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ........................................82 ウォッチドッグリセット ウォッチドッグリセット .......................................67 ウォッチドッグリセット発生延期レジスタ WPR : ウォッチドッグリセット発生延期レジスタ ............................................................................95 内 ROM バスモード 1 ( 内 ROM 外バスモード ) .............115 え エミュレータ エミュレータを使用しない場合の注意に ついて ................................................................21 エラー エラーによる停止 .................................................489 バスエラー発生条件 .............................................441 エラートラップ コプロセッサエラートラップ ...............................63 お オーダリング バイトオーダリング ...............................................43 ビットオーダリング ...............................................43 オール H PPG 出力オール "L" または , オール "H" の 出力方法例 ......................................................198 オール L PPG 出力オール "L" または , オール "H" の 出力方法例 ......................................................198 か 解除シーケンス 設定初期化リセット (INIT) 解除 シーケンス ........................................................68 動作初期化リセット (RST) 解除 シーケンス ........................................................68 回避方法 不具合の回避方法 .................................................544 外部 I/O two-cycle 転送 ( 内部 RAM →外部 I/O,RAM, 外部 I/O,RAM →内部 RAM もタイミングは同じ ) (TYP[3:0]=0000B, AWR=0008H) ....................138 外部イベントカウント 外部イベントカウント動作 .................................182 外部ウェイト 外部ウェイトあり (TYP[3:0]=0101B, AWR=1008H) ....................136 外部ウェイトなし (TYP[3:0]=0100B, AWR=0008H) ....................134 外部クロック 外部クロック .........................................................328 外部クロック使用時の注意について ...................20 外部端子電源 VDDI 端子 ( 内部電源 1.8 V 系 ) と VDDE 端子 ( 外部端子電源 3.3 V 系 ) の電源投入 / 切断時 の注意事項 ........................................................20 外部トリガ変換 外部トリガ変換による A/D 動作 .......................282 外部バスクロック 外部バスクロック (CLKT) ....................................79 外部割込み 外部割込みの動作 ................................................260 外部割込みの動作手順 ........................................ 260 外部割込み要求レベル ........................................ 261 外部割込み制御部 外部割込み制御部のブロックダイヤグラム ..........................................................................254 外部割込み制御部のレジスタ一覧 .................... 254 外部割込み制御部のレジスタ詳細 .................... 255 外部割込み要因レジスタ 外部割込み要因レジスタ (EIRR) ........................ 257 外部割込み要求レベル 外部割込み要求レベル ........................................ 261 外部割込み要求レベル設定レジスタ 外部割込み要求レベル設定レジスタ (ELVR) ..........................................................................258 概要 フラッシュメモリの概要 .................................... 514 カウンタ カウンタの動作状態 ............................................ 184 カウントクロック カウントクロックの選択 .................................... 209 書込み 富士通標準シリアルオンボード書込みに 使用する端子 ..................................................551 フラッシュメモリ書込み / 消去 .........................533 拡張通信制御レジスタ 拡張通信制御レジスタ (ESCR) の ビット構成 ..............................................297, 345 簡易外バスインタフェース 簡易外バスインタフェース ....................................2 き 基本クロック分周設定レジスタ DIVR0 : 基本クロック分周設定レジスタ 0 ........ 96 DIVR1 : 基本クロック分周設定レジスタ 1 ........ 99 基本構成 シリアル書込み接続の基本構成 ........................ 550 基本プログラミングモデル 基本プログラミングモデル ..................................33 基本ブロックダイヤグラム ポート基本ブロックダイヤグラム .................... 144 キャプチャ制御レジスタ TxCCR ( キャプチャ制御レジスタ ) .................. 215 キャプチャデータレジスタ TxCRR ( キャプチャデータレジスタ ) ..............220 キャプチャモード キャプチャモード ................................................224 許容ボーレート 受信時の許容ボーレート範囲 ............................327 く クロック CPU クロック (CLKB) ...........................................78 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の機能 ........................... 336 601 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の動作 ...........................366 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) のレジスタ一覧 ...........337 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) ボーレート選択 ...........378 PLL クロック選択時の注意について ..................21 外部クロック .........................................................328 外部クロック使用時の注意について ...................20 外部バスクロック (CLKT) ....................................79 カウントクロックの選択 .....................................209 各マシンクロック周波数に対するリロード値と ボーレート ......................................326, 380, 443 クロック供給機能の動作 .............................233, 239 サブクロックからメインクロック切換え後の 待ち時間 ............................................................77 周辺クロック (CLKP) .............................................78 ソースクロックの選択 ...........................................73 内部クロック動作 .................................................180 内部動作クロックの生成 .......................................73 クロック供給 クロック供給機能の動作 .............................233, 239 クロック生成制御部 クロック生成制御部のブロックダイヤグラム ............................................................................81 クロックソース制御レジスタ CLKR : クロックソース制御レジスタ .................92 クロック同期マルチファンクションシリアル インタフェース CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) のレジスタ一覧 ...........337 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) ボーレート選択 ...........378 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の機能 ...........................336 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の動作 ...........................366 クロック分周設定レジスタ クロック分周設定レジスタ (RCCKD) ...............509 け 検出 0 検出 ......................................................................271 1 検出 ......................................................................271 スレーブアドレス一致検出 .................................437 変化点検出 .............................................................272 検出結果レジスタ 検出結果レジスタ (BSRR) ...................................270 原発振入力 電源投入時の原発振入力について .......................20 こ コプロセッサ コプロセッサエラートラップ ...............................63 コプロセッサ不在トラップ ...................................63 コプロセッサエラートラップ コプロセッサエラートラップ ...............................63 コプロセッサ不在トラップ コプロセッサ不在トラップ ...................................63 602 コマンドシーケンス コマンドシーケンス ............................................ 525 コントロール / ステータスレジスタ DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス テータスレジスタ A[DMACA0 ∼ DMACA4] ..........................................................................465 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス テータスレジスタ B[DMACB0 ∼ DMACB4] ........................................................................... 469 コントロールステータスレジスタ コントロールステータスレジスタ .................... 191 コントロールステータスレジスタ (TMCSR) の ビット構成 ......................................................174 さ 再開 セクタ消去の再開 ................................................542 再スタート 再スタート ....................................................328, 381 サブクロック サブクロックからメインクロック切換え後の 待ち時間 ............................................................ 77 算術演算 算術演算 .................................................................. 31 サンプリング LPF のサンプリング間隔について .................... 209 し システム構成 フラッシュマイコンプログラマのシステム構成 ..........................................................................553 システムスタックポインタ システムスタックポインタ (SSP) ........................ 53 自動アルゴリズム 自動アルゴリズム実行状態 ................................524 周波数 各マシンクロック周波数に対するリロード値と ボーレート ......................................326, 380, 443 周辺クロック 周辺クロック (CLKP) ............................................ 78 周辺割込み DMA による周辺割込みクリア .......................... 488 受信 FIFO 受信 FIFO 使用時の受信割込み発生と フラグセットのタイミング .......................... 362 受信データレジスタ 受信データレジスタ (RDR) ................299, 347, 401 受信割込み 受信 FIFO 使用時の受信割込み発生と フラグセットのタイミング .......................... 362 受信割込み発生とフラグセットのタイミング ..................................................................314, 361 出力端子機能 出力端子機能の動作 ............................................ 183 主要動作 主要動作 ................................................................ 479 消去 フラッシュメモリ書込み / 消去 .........................533 使用時の注意事項 時計タイマ使用時の注意事項 ............................240 メイン発振安定待ちタイマ使用時の注意事項 ..........................................................................234 使用上の注意事項 使用上の注意事項 .........................................142, 185 乗除算結果レジスタ MDH,MDL (Multiply & Divide register: 乗除算結果 レジスタ ) ..........................................................42 初期化 INITX 端子入力 ( 設定初期化リセット端子 ) ............................................................................66 設定初期化後の待ち時間 .......................................76 設定初期化リセット (INIT) ...................................65 設定初期化リセット (INIT) 解除シーケンス ......68 動作初期化リセット (RST) ....................................65 動作初期化リセット (RST) 解除シーケンス .......68 分周比設定の初期化 ...............................................80 リセット ( デバイス初期化 ) の概要 ....................64 シリアルオンボード 富士通標準シリアルオンボード書込みに 使用する端子 ..................................................551 シリアル書込み シリアル書込み接続の基本構成 .........................550 シリアル書込み接続例 .........................................552 シリアル書込み接続 シリアル書込み接続の基本構成 .........................550 シリアル書込み接続例 シリアル書込み接続例 .........................................552 シリアルステータスレジスタ シリアルステータスレジスタ (SSR) ..........................................................294, 343, 394 シリアル制御レジスタ シリアル制御レジスタ (SCR) .....................290, 338 シリアルモードレジスタ シリアルモードレジスタ (SMR) ........292, 340, 392 シングルチップモード バスモード 0 ( シングルチップモード ) ............115 す 水晶発振回路 水晶発振回路について ...........................................19 スタート条件生成 スタート条件生成 .................................................418 スタートビット "H" 幅設定レジスタ スタートビット "H" 幅設定レジスタ (RCSHW) .........................................................505 スタック 割込みスタック .......................................................53 スタンバイ 通常スタンバイ動作と同期スタンバイ動作 ..........................................................................114 スタンバイ制御レジスタ STCR : スタンバイ制御レジスタ .........................85 スタンバイモード スタンバイモード ( ストップ / スリープ ) からの 復帰 ..................................................................249 ステータスレジスタ フラッシュコントロールステータスレジスタ (FLCR)(CPU モード ) の構成 ........................519 ステップ / ブロック転送 ステップ / ブロック転送 2 サイクル転送 .........483 ステップトレーストラップ ステップトレーストラップの動作 ...................... 62 ストア ロードとストア ......................................................31 ストップ スタンバイモード ( ストップ / スリープ ) からの 復帰 .................................................................. 249 ストップモード ストップモード ....................................................112 ストップモード復帰後の待ち時間 ...................... 77 ストップモード復帰後 ストップモード復帰後の待ち時間 ...................... 77 スリープ スタンバイモード ( ストップ / スリープ ) からの 復帰 .................................................................. 249 スリープ中の DMA 転送 .....................................490 スリープモード スリープモード ....................................................110 スレーブ スレーブアドレス一致検出 ................................437 スレーブによる受信 ............................................ 438 スレーブによる送信 ............................................ 440 スレーブアドレス スレーブアドレス出力 ........................................ 419 スレーブアドレス一致検出 スレーブアドレス一致検出 ................................437 せ 制限 制限および注意事項 ............................................ 546 制限事項 制限事項 .................................................................. 21 遅延スロット付き動作の制限事項 ...................... 47 制約事項 制約事項による不具合内容 ................................543 セクタアドレス フラッシュメモリのセクタアドレス表 ............516 セクタ消去 セクタ消去の一時停止 ........................................ 541 セクタ消去の再開 ................................................542 データ消去 ( セクタ消去 ) ...........................538, 539 接続例 シリアル書込み接続例 ........................................ 552 設定初期化 設定初期化後の待ち時間 ...................................... 76 設定初期化後 設定初期化後の待ち時間 ...................................... 76 設定初期化リセット INITX 端子入力 ( 設定初期化リセット端子 ) ............................................................................66 設定初期化リセット (INIT) ................................... 65 設定初期化リセット (INIT) 解除シーケンス ...... 68 設定例 チップセレクト領域の設定例 ............................132 リモコン受信の設定例 ........................................ 512 セットアップ設定 CSnX → RDX/WRnX セットアップ設定 (TYP[3:0]=0101B, AWR=100BH) ...................137 603 そ 送受信 FIFO 送受信 FIFO (ch.0,ch.1 および ch.2) ....................286 送信 FIFO 送信 FIFO 使用時の送信割込み発生と フラグセットのタイミング ..................318, 365 送信データレジスタ 送信データレジスタ (TDR) .................301, 349, 402 送信割込み 送信 FIFO 使用時の送信割込み発生と フラグセットのタイミング ..................318, 365 送信割込み発生とフラグセットのタイミング ..................................................................317, 364 ソースクロック ソースクロックの選択 ...........................................73 外バス ,I2C ブリッジ ,ADER 制御レジスタ ADER : 外バス ,I2C ブリッジ ,ADER 制御レジスタ ..........................................................................168 ソフトウェア要求 ソフトウェア要求 .................................................481 ソフトウェアリセット STCR:SRST ビット書込み ( ソフトウェアリセット ) ...............................66 ソフト変換 ソフト変換による A/D 動作 ................................281 ソフト変換アナログ入力選択レジスタ ソフト変換アナログ入力選択レジスタ .............280 た 退避 退避・復帰の処理 .................................................273 タイマコンペアデータレジスタ TxDRR ( タイマコンペアデータレジスタ ) ......220 タイマ設定レジスタ TxTCR ( タイマ設定レジスタ ) ...........................217 タイマ全体制御レジスタ TxR ( タイマ全体制御レジスタ ) ........................219 タイマレジスタ 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................178 タイミング two-cycle 転送 ( 内部 RAM →外部 I/O, RAM, 外部 I/O, RAM →内部 RAM もタイミングは 同じ ) (TYP[3:0]=0000B, AWR=0008H) .........138 受信 FIFO 使用時の受信割込み発生と フラグセットのタイミング ..................315, 362 受信割込み発生とフラグセットのタイミング ..................................................................314, 361 送信 FIFO 使用時の送信割込み発生と フラグセットのタイミング ..................318, 365 送信割込み発生とフラグセットのタイミング ..................................................................317, 364 タイミングチャート PWM 動作タイミングチャート ..........................196 割込み要因とタイミングチャート (PPG 出力は 通常極性 ) ........................................................198 ワンショット動作タイミングチャート .............197 タイムベースカウンタ タイムベースカウンタ .........................................102 604 タイムベースカウンタクリアレジスタ CTBR : タイムベースカウンタクリアレジスタ ............................................................................91 タイムベースカウンタ制御レジスタ TBCR : タイムベースカウンタ制御レジスタ ............................................................................88 ダイレクトアドレッシング ダイレクトアドレッシング ..................................32 ダイレクトアドレッシング領域 .......................... 26 多機能タイマ 多機能タイマ ............................................................ 4 端子 AVCC 端子について .............................................. 21 INITX 端子入力 ( 設定初期化リセット端子 ) ............................................................................66 VDDI 端子 ( 内部電源 1.8 V 系 ) と VDDE 端子 ( 外部端子電源 3.3 V 系 ) の電源投入 / 切断時 の注意事項 ........................................................20 出力端子機能の動作 ............................................ 183 電源端子について ..................................................19 入力端子機能の動作 ( 内部クロックモード時 ) ..........................................................................182 富士通標準シリアルオンボード書込みに使用する 端子 .................................................................. 551 未使用入力端子の処理について .......................... 19 モード端子 (MD0 ∼ MD2) について ................... 19 端子機能説明 MB91313A シリーズの端子機能説明 .................... 8 端子状態 各 CPU ステートにおける端子状態 ...................569 端子配列図 MB91313A シリーズの端子配列図 ........................ 6 ち 遅延スロット 遅延スロット付き動作の制限事項 ...................... 47 遅延スロット付き動作の動作説明 ...................... 46 遅延スロット付き動作の命令 ..............................46 遅延スロットなし動作の動作説明 ...................... 48 遅延スロットなし動作の命令 ..............................48 遅延割込みモジュール 遅延割込みモジュールのブロックダイヤグラム ..........................................................................264 遅延割込みモジュールのレジスタ一覧 ............264 遅延割込みモジュールレジスタ DICR ( 遅延割込みモジュールレジスタ ) ......... 265 チップ消去 データ消去 ( チップ消去 ) ................................... 537 チップセレクト チップセレクト領域の設定例 ............................132 チャネル選択 チャネル選択と制御 ............................................ 491 注意事項 制限および注意事項 ............................................ 546 つ 通常アクセス 通常アクセスおよびアドレス / データマルチプ レックスアクセス .......................................... 127 通常極性 割込み要因とタイミングチャート (PPG 出力は 通常極性 ) ........................................................198 通常スタンバイ 通常スタンバイ動作と同期スタンバイ動作 ..........................................................................114 通常リセット 通常リセット動作 ...................................................71 て 停止 動作終了 / 停止 ......................................................489 逓倍率 PLL 逓倍率 ...............................................................75 PLL 逓倍率変更後の待ち時間 ..............................76 データ書込み データ書込み .........................................................535 データ格納レジスタ データ格納レジスタ (RCDTHH,RCDTHL,RCDTLH,RCDTLL) ..........................................................................508 データ受信 マスタによるデータ受信 .....................................433 データ消去 データ消去 ( セクタ消去 ) ...........................538, 539 データ消去 ( チップ消去 ) ...................................537 データ送信 マスタによるデータ送信 .....................................425 データ方向ビット データ方向ビット .................................................438 データ方向レジスタ データ方向レジスタ (DDR) の構成 ...................147 データマルチプレックスアクセス 通常アクセスおよびアドレス / データマルチプ レックスアクセス ..........................................127 テーブルベースレジスタ テーブルベースレジスタ (TBR) ...........................54 デバイス デバイス状態 .........................................................106 デバイスの動作状態 .............................................107 デバイスアドレス設定レジスタ デバイスアドレス設定レジスタ 1,2 (RCADR1,RCADR2) .......................................504 デバイス初期化 リセット ( デバイス初期化 ) の概要 ....................64 電源 VDDI 端子 ( 内部電源 1.8 V 系 ) と VDDE 端子 ( 外部端子電源 3.3 V 系 ) の電源投入 / 切断時 の注意事項 ........................................................20 電源端子 電源端子について ...................................................19 電源投入 / 切断時 VDDI 端子 ( 内部電源 1.8 V 系 ) と VDDE 端子 ( 外部端子電源 3.3 V 系 ) の電源投入 / 切断時 の注意事項 ........................................................20 電源投入後 電源投入後の待ち時間 ...........................................76 電源投入時 電源投入時について ...............................................20 電源投入時の原発振入力について .......................20 転送 2 サイクル転送時のデータの動き .....................495 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アド レス設定レジスタ [DMASA0 ∼ DMASA4/ DMADA0 ∼ DMADA4] ................................. 475 DMA 転送全般 ......................................................484 two-cycle 転送 (I/O →外部 ) (TYP[3:0]=0000B, AWR=0008H) ................................................... 140 two-cycle 転送 ( 外部→ I/O) (TYP[3:0]=0000B, AWR=0008H) ................................................... 139 two-cycle 転送 ( 内部 RAM →外部 I/O,RAM, 外部 I/O,RAM →内部 RAM もタイミングは同じ ) (TYP[3:0]=0000B, AWR=0008H) .................... 138 ステップ / ブロック転送 2 サイクル転送 ......... 483 スリープ中の DMA 転送 .....................................490 転送アドレス ........................................................ 480 転送回数制御 ........................................................ 486 転送回数と転送終了 ............................................ 480 転送シーケンスの選択 ........................................ 482 転送タイプ ............................................................ 480 転送モード ............................................................ 479 転送要求の受付けと転送 .................................... 488 バースト 2 サイクル転送 .................................... 482 バースト転送 ........................................................ 494 ブロック転送 ........................................................ 493 転送アドレス 転送アドレス ........................................................ 480 転送回数 転送回数と転送終了 ............................................ 480 転送回数制御 転送回数制御 ........................................................ 486 転送シーケンス 転送シーケンスの選択 ........................................ 482 転送タイプ 転送タイプ ............................................................ 480 転送モード 転送モード ............................................................ 479 転送元 / 転送先アドレス設定レジスタ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先 アドレス設定レジスタ [DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4] ............... 475 転送要求 転送要求の受付けと転送 .................................... 488 と 同期スタンバイ 通常スタンバイ動作と同期スタンバイ動作 ..........................................................................114 同期リセット 同期リセット動作 ..................................................71 動作終了 動作終了 / 停止 ..................................................... 489 動作初期化リセット 動作初期化リセット (RST) ................................... 65 動作初期化リセット (RST) 解除シーケンス ...... 68 動作モード 動作モード ....................................................115, 288 時計タイマ 時計タイマ使用時の注意事項 ............................240 時計タイマのインターバル時間 ........................ 235 時計タイマの動作 ................................................240 605 時計タイマのブロックダイヤグラム .................236 時計タイマのレジスタ .........................................237 時計割込み 時計割込み .............................................................238 トラップ コプロセッサエラートラップ ...............................63 コプロセッサ不在トラップ ...................................63 ステップトレーストラップの動作 .......................62 トレース ステップトレーストラップの動作 .......................62 な 内蔵周辺要求 内蔵周辺要求 .........................................................481 内蔵メモリ 内蔵メモリ .................................................................2 内部 RAM two-cycle 転送 ( 内部 RAM →外部 I/O,RAM, 外部 I/O,RAM →内部 RAM もタイミングは同じ ) (TYP[3:0]=0000B, AWR=0008H) ....................138 内部アーキテクチャ 内部アーキテクチャの構造 ...................................29 内部アーキテクチャの特長 ...................................28 内部クロック 内部クロック動作 .................................................180 内部クロックモード 入力端子機能の動作 ( 内部クロックモード時 ) ..........................................................................182 内部電源 VDDI 端子 ( 内部電源 1.8 V 系 ) と VDDE 端子 ( 外部端子電源 3.3 V 系 ) の電源投入 / 切断時 の注意事項 ........................................................20 内部動作クロック 内部動作クロックの生成 .......................................73 に 入出力回路形式 入出力回路形式 .......................................................16 入力端子機能 入力端子機能の動作 ( 内部クロックモード時 ) ..........................................................................182 は バースト 2 サイクル転送 バースト 2 サイクル転送 .....................................482 バースト転送 バースト転送 .........................................................494 ハードウェア構成 ハードウェア構成 .................................................462 割込みコントローラのハードウェア構成 .........242 ハードウェアシーケンスフラグ ハードウェアシーケンスフラグ .........................529 ハーバード←→プリンストン バスコンバータ ハーバード←→プリンストン バスコンバータ ............................................................................30 バイトオーダリング バイトオーダリング ...............................................43 606 バスインタフェース 簡易外バスインタフェース ....................................2 バスエラー バスエラー動作 ....................................................441 バスエラー発生条件 ............................................ 441 バスコンバータ 32 ビット←→ 16 ビットバスコンバータ ........... 30 ハーバード←→プリンストン バスコンバータ ............................................................................30 バススタート条件 I2C バススタート条件 .......................................... 417 バスストップ条件 I2C バスストップ条件 .......................................... 417 バス反復スタート条件 I2C バス反復スタート条件 ..................................417 バスモード バスモード 0 ( シングルチップモード ) ............115 バスモード 1 ( 内 ROM 外バスモード ) ............. 115 発振安定待ち 発振安定待ち発生要因 .......................................... 69 発振安定待ち時間 発振安定待ち時間の選択 ...................................... 70 発振制御レジスタ OSCCR : 発振制御レジスタ ................................101 反復スタート条件 I2C バス反復スタート条件 ..................................417 汎用レジスタ 汎用レジスタ .......................................................... 34 ひ ビットオーダリング ビットオーダリング .............................................. 43 ビット構成 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................178 16 ビットリロードレジスタ (TMRLR) の ビット構成 ......................................................179 FIFO 制御レジスタ 0 (FCR0) のビット構成 ..........................................................307, 355, 409 FIFO 制御レジスタ 1 (FCR1) のビット構成 ..........................................................305, 353, 407 FIFO バイトレジスタ (FBYTE) のビット構成 ..........................................................310, 358, 413 ICR ビット構成 ....................................................... 52 ウェイトレジスタ (FLWC) のビット構成 ......... 521 拡張通信制御レジスタ (ESCR) のビット構成 ..................................................................297, 345 コントロールステータスレジスタ (TMCSR) の ビット構成 ......................................................174 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 ........ 303, 351, 403 ビットサーチモジュール ビットサーチモジュール (REALOS 使用 ) ........... 3 ビットサーチモジュールのブロック ダイヤグラム ..................................................268 ビットサーチモジュールのレジスタ一覧 ........268 ビット操作 論理演算とビット操作 .......................................... 32 非同期マルチファンクションシリアル インタフェース UART ( 非同期マルチファンクションシリアル インタフェース ) の機能 ...............................287 UART ( 非同期マルチファンクションシリアル インタフェース ) のレジスタ一覧 ...............288 ふ ファーストバイト送信 ファーストバイト送信によるアクノリッジ受信 ..........................................................................421 不具合 不具合の回避方法 .................................................544 不具合内容 制約事項による不具合内容 .................................543 不在トラップ コプロセッサ不在トラップ ...................................63 富士通標準 富士通標準シリアルオンボード書込みに 使用する端子 ..................................................551 富士通標準シリアルオンボード書込み 富士通標準シリアルオンボード書込みに使用する 端子 ..................................................................551 復帰 退避・復帰の処理 .................................................273 フラグ I フラグ ....................................................................51 フラグセット 受信 FIFO 使用時の受信割込み発生と フラグセットのタイミング ..................315, 362 受信割込み発生とフラグセットのタイミング ..................................................................314, 361 送信 FIFO 使用時の送信割込み発生とフラグセッ トのタイミング ......................................318, 365 送信割込み発生とフラグセットのタイミング ..................................................................317, 364 フラッシュコントロール フラッシュコントロールステータスレジスタ (FLCR)(CPU モード ) の構成 ........................519 フラッシュマイコンプログラマ フラッシュマイコンプログラマのシステム構成 ..........................................................................553 フラッシュメモリ フラッシュメモリ書込み / 消去 .........................533 フラッシュメモリの概要 .....................................514 プルアップ制御 プルアップ制御 .....................................................167 ポートプルアップ制御レジスタ .........................167 フローチャート フローチャート .....................................329, 333, 382 リモコン受信の動作フローチャート .................510 プログラミングモデル 基本プログラミングモデル ...................................33 ブロックダイヤグラム MB91313A シリーズのブロックダイヤグラム ..............................................................................5 外部割込み制御部のブロックダイヤグラム ..........................................................................254 クロック生成制御部のブロックダイヤグラム ............................................................................81 遅延割込みモジュールのブロックダイヤグラム ..........................................................................264 時計タイマのブロックダイヤグラム ................ 236 ビットサーチモジュールのブロック ダイヤグラム ..................................................268 フラッシュメモリのブロックダイヤグラム ..........................................................................515 ブロックダイヤグラム .................................................119, 172, 190, 202, 213, 277, 464 ポート基本ブロックダイヤグラム .................... 144 メイン発振安定待ちタイマの ブロックダイヤグラム ..................................229 リモコン受信のブロックダイヤグラム ............498 割込みコントローラのブロックダイヤグラム ..........................................................................244 ブロック転送 ブロック転送 ........................................................ 493 分岐 分岐 ..........................................................................31 分岐命令 分岐命令の概要 ......................................................45 分周比 分周比設定の初期化 .............................................. 80 分周比の設定 .......................................................... 80 へ ベクタテーブル EIT ベクタテーブル ...............................................54 変化点検出 変化点検出 ............................................................ 272 変化点検出用データレジスタ 変化点検出用データレジスタ (BSDC) ..............270 変換 外部トリガ変換による A/D 動作 .......................282 ソフト変換による A/D 動作 ............................... 281 ほ ポート ポートの一般的な仕様 ........................................ 145 ポート 0 ポート 0 ................................................................. 148 ポート 1 ポート 1 ................................................................. 150 ポート 2 ポート 2 ................................................................. 152 ポート 3 ポート 3 ................................................................. 154 ポート 4 ポート 4 ................................................................. 156 ポート 5 ポート 5 ................................................................. 158 ポート 6 ポート 6 ................................................................. 159 ポート C ポート C ................................................................. 160 ポート D ポート D ................................................................. 161 ポート E ポート E ................................................................. 163 607 ポート F ポート F .................................................................165 ポート基本ブロックダイヤグラム ポート基本ブロックダイヤグラム .....................144 ポートデータレジスタ ポートデータレジスタ (PDR) の構成 ................146 ポートプルアップ制御レジスタ ポートプルアップ制御レジスタ .........................167 ホールドリクエスト取下げ要求 ホールドリクエスト取下げ要求 .........................248 ホールドリクエスト取下げ要求機能 ホールドリクエスト取下げ要求機能 (HRCR) の 使用例 ..............................................................250 ホールドリクエスト取下げ要求レジスタ ホールドリクエスト取下げ要求レジスタ (HRCL) ..........................................................................247 ボーレート CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) ボーレート選択 ...........378 UART ボーレート選択 .........................................324 各マシンクロック周波数に対するリロード値と ボーレート ......................................326, 380, 443 受信時の許容ボーレート範囲 .............................327 ボーレート選択 .....................................................442 ボーレートの計算 .................................325, 379, 442 ボーレートジェネレータレジスタ ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 .........303, 351, 403 ま マシンクロック 各マシンクロック周波数に対するリロード値と ボーレート ......................................326, 380, 443 マスタ マスタによるデータ受信 .....................................433 マスタによるデータ送信 .....................................425 マスタモードのウェイト .....................................436 マスタモード マスタモードのウェイト .....................................436 待ち時間 PLL 逓倍率変更後の待ち時間 ..............................76 PLL 動作許可後の待ち時間 ..................................76 サブクロックからメインクロック切換え後の 待ち時間 ............................................................77 ストップモード復帰後の待ち時間 .......................77 設定初期化後の待ち時間 .......................................76 電源投入後の待ち時間 ...........................................76 マッピング ICR マッピング .......................................................52 マルチファンクションシリアルインタフェース マルチファンクションシリアルインタフェース ..............................................................................3 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の機能 ...........................336 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) の動作 ...........................366 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) のレジスタ一覧 ...........337 CSIO ( クロック同期マルチファンクションシリア ルインタフェース ) ボーレート選択 ...........378 608 UART ( 非同期マルチファンクションシリアル インタフェース ) の機能 ............................... 287 UART ( 非同期マルチファンクションシリアル インタフェース ) のレジスタ一覧 ............... 288 み 未使用入力端子 未使用入力端子の処理について .......................... 19 未定義命令 未定義命令例外の動作 .......................................... 62 め 命令 INTE 命令の動作 ....................................................61 INT 命令の動作 ....................................................... 61 RETI 命令の動作 ....................................................63 その他の命令概要 ..................................................32 遅延スロット付き動作の命令 ..............................46 遅延スロットなし動作の命令 ..............................48 分岐命令の概要 ......................................................45 未定義命令例外の動作 .......................................... 62 命令一覧表 ............................................................ 580 命令一覧表 命令一覧表 ............................................................ 580 メインクロック サブクロックからメインクロック切換え後の 待ち時間 ............................................................ 77 メイン発振安定待ち メイン発振安定待ち割込み ................................232 メイン発振安定待ちタイマ メイン発振安定待ちタイマ使用時の注意事項 ..........................................................................234 メイン発振安定待ちタイマのインターバル時間 ..........................................................................228 メイン発振安定待ちタイマの動作 .................... 233 メイン発振安定待ちタイマの ブロックダイヤグラム ..................................229 メイン発振安定待ちタイマのレジスタ説明 ..........................................................................230 メイン発振安定待ち割込み メイン発振安定待ち割込み ................................232 メモリ 内蔵メモリ ................................................................ 2 メモリマップ FR ファミリメモリマップ ....................................26 MB91313A シリーズのメモリマップ .................. 27 フラッシュメモリのメモリマップ .................... 515 も モード アドレッシングモード ........................................ 485 イベントカウントモード .................................... 223 インターバルタイマモード ................................222 インタフェースモード ........................................ 285 インタフェースモードの切換え ........................ 285 キャプチャモード ................................................224 スタンバイモード ( ストップ / スリープ ) からの 復帰 .................................................................. 249 ストップモード .....................................................112 ストップモード復帰後の待ち時間 .......................77 スリープモード .....................................................110 転送モード .............................................................479 動作モード .....................................................115, 288 入力端子機能の動作 ( 内部クロックモード時 ) ..........................................................................182 バスモード 0 ( シングルチップモード ) ............115 バスモード 1 ( 内 ROM 外バスモード ) .............115 マスタモードのウェイト .....................................436 モード設定 .............................................................115 モード端子 (MD0 ∼ MD2) について ...................19 モード端子 モード端子 (MD0 ∼ MD2) について ...................19 ゆ ユーザ割込み ユーザ割込み・NMI の動作 ..................................60 優先順位 優先順位判定 .........................................................248 優先順位判定 優先順位判定 .........................................................248 優先度 EIT 要因受理の優先度 ...........................................58 よ 要因受理 EIT 要因受理の優先度 ...........................................58 読出し 読出し / リセット状態 .........................................534 ら ラッチアップ ラッチアップ防止のために ...................................19 り リセット INITX 端子入力 ( 設定初期化リセット端子 ) ............................................................................66 STCR:SRST ビット書込み ( ソフトウェアリセット ) ...............................66 ウォッチドッグリセット .......................................67 設定初期化リセット (INIT) ...................................65 設定初期化リセット (INIT) 解除シーケンス ............................................................................68 通常リセット動作 ...................................................71 同期リセット動作 ...................................................71 動作初期化リセット (RST) ....................................65 動作初期化リセット (RST) 解除シーケンス .......68 リセット ( デバイス初期化 ) の概要 ....................64 リセット状態 読出し / リセット状態 .........................................534 リセット要因レジスタ RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ........................................82 リモコン受信 HDMI-CEC/ リモコン受信 .......................................4 リモコン受信の設定例 ........................................ 512 リモコン受信の動作フローチャート ................ 510 リモコン受信のブロックダイヤグラム ............498 リモコン受信のレジスタ構成 ............................499 リモコン受信制御レジスタ リモコン受信制御レジスタ (RCCR) .................. 500 リモコン受信割込み制御レジスタ リモコン受信割込み制御レジスタ (RCST) ....... 502 リロードカウンタ リロードカウンタの機能 ..........................................328, 381, 328, 381, 443 リロードタイマ 16 ビットリロードタイマ (REALOS 用 1 チャネル含 ) .............................. 3 16 ビットリロードタイマの概要 .......................172 16 ビットリロードタイマのレジスタ一覧 ....... 173 リロード値 各マシンクロック周波数に対するリロード値と ボーレート ......................................326, 380, 443 リロードレジスタ 16 ビットリロードレジスタ (TMRLR) の ビット構成 ......................................................179 れ 例外 未定義命令例外の動作 .......................................... 62 レジスタ 0 検出用データレジスタ (BSD0) ........................ 269 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................178 1 検出用データレジスタ (BSD1) ........................ 269 7 ビットスレーブアドレスマスクレジスタ (ISMK) .............................................................404 7 ビットスレーブアドレスレジスタ (ISBA) ..........................................................................406 A/D コンバータ制御レジスタ (ADCTH,ADCTL) ..........................................................................278 A/D 変換結果レジスタ (0 チャネル∼ 9 チャネル ) ..........................................................................280 ADER : 外バス ,I2C ブリッジ ,ADER 制御レジスタ ..........................................................................168 CLKR : クロックソース制御レジスタ ................. 92 CTBR : タイムベースカウンタクリアレジスタ ............................................................................91 DICR ( 遅延割込みモジュールレジスタ ) ......... 265 DIVR0 : 基本クロック分周設定レジスタ 0 ........ 96 DIVR1 : 基本クロック分周設定レジスタ 1 ........ 99 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ A[DMACA0 ∼ DMACA4] ........................................................ 465 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先 アドレス設定レジスタ [DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4] ............... 475 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4DMAC 全体制御 レジスタ [DMACR] ........................................ 477 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス テータスレジスタ B[DMACB0 ∼ DMACB4] ..........................................................................469 FIFO 制御レジスタ 0 (FCR0) のビット構成 ..........................................................307, 355, 409 609 FIFO 制御レジスタ 1 (FCR1) のビット構成 ..........................................................305, 353, 407 FIFO バイトレジスタ (FBYTE) のビット構成 ..........................................................310, 358, 413 "H" 幅設定レジスタ A (RCDAHW) ....................506 "H" 幅設定レジスタ B (RCDBHW) .....................507 I2C バスステータスレジスタ (IBSR) .................397 I2C バス制御レジスタ (IBCR) .............................387 MDH, MDL(Multiply & Divide register: 乗除算結果レジスタ ) ......................................42 NSF: I2C 用ノイズフィルタ制御レジスタ .........169 OSCCR : 発振制御レジスタ ................................101 PCSR (PPG 周期設定レジスタ ) ..........................194 PDUT (PPG デューティ設定レジスタ ) .............194 PTMR (PPG タイマレジスタ ) .............................195 PWC 上限値設定レジスタ (PWCUD) .................207 PWC 制御レジスタ (PWCCH) .............................204 PWC 制御レジスタ (PWCCL) ..............................203 PWC 制御レジスタ 2 (PWCC2) ...........................206 PWC データレジスタ (PWCD) ............................205 RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ........................................82 STCR : スタンバイ制御レジスタ .........................85 TBCR : タイムベースカウンタ制御レジスタ ............................................................................88 TxCCR ( キャプチャ制御レジスタ ) ..................215 TxCRR ( キャプチャデータレジスタ ) ..............220 TxDRR ( タイマコンペアデータレジスタ ) ......220 TxLPCR ( ローパスフィルタ制御レジスタ ) ..........................................................................214 TxR ( タイマ全体制御レジスタ ) ........................219 TxTCR ( タイマ設定レジスタ ) ...........................217 WPR : ウォッチドッグリセット発生延期レジスタ ............................................................................95 ウェイトレジスタ (FLWC) のビット構成 .........521 外部割込み要因レジスタ (EIRR) ........................257 外部割込み要求レベル設定レジスタ (ELVR) ..........................................................................258 拡張通信制御レジスタ (ESCR) のビット構成 ..................................................................297, 345 クロック分周設定レジスタ (RCCKD) ...............509 検出結果レジスタ (BSRR) ...................................270 コントロールステータスレジスタ .....................191 コントロールステータスレジスタ (TMCSR) の ビット構成 ......................................................174 受信データレジスタ (RDR) .................299, 347, 401 シリアルステータスレジスタ (SSR) ..........................................................294, 343, 394 シリアル制御レジスタ (SCR) .....................290, 338 シリアルモードレジスタ (SMR) ........292, 340, 392 スタートビット "H" 幅設定レジスタ (RCSHW) .........................................................505 送信データレジスタ (TDR) .................301, 349, 402 ソフト変換アナログ入力選択レジスタ .............280 データ格納レジスタ (RCDTHH,RCDTHL,RCDTLH,RCDTLL) ..........................................................................508 データ方向レジスタ (DDR) の構成 ...................147 テーブルベースレジスタ (TBR) ...........................54 デバイスアドレス設定レジスタ 1,2 (RCADR1,RCADR2) .......................................504 汎用レジスタ ...........................................................34 610 フラッシュコントロールステータスレジスタ (FLCR)(CPU モード ) の構成 ........................ 519 変化点検出用データレジスタ (BSDC) ..............270 ポートデータレジスタ (PDR) の構成 ................ 146 ポートプルアップ制御レジスタ ........................ 167 ホールドリクエスト取下げ要求レジスタ (HRCL) ..........................................................................247 ボーレートジェネレータレジスタ 1, 0 (BGR1/BGR0) のビット構成 .........303, 351, 403 リモコン受信制御レジスタ (RCCR) .................. 500 リモコン受信割込み制御レジスタ (RCST) ....... 502 レジスタの設定手順 ............................................ 141 割込み許可レジスタ (ENIR) ............................... 256 割込み制御レジスタ (ICR) ..................................246 レジスタ一覧 16 ビットリロードタイマのレジスタ一覧 ....... 173 I2C インタフェースのレジスタ一覧 .................. 386 UART ( 非同期マルチファンクションシリアル インタフェース ) のレジスタ一覧 ............... 288 外部割込み制御部のレジスタ一覧 .................... 254 遅延割込みモジュールのレジスタ一覧 ............264 ビットサーチモジュールのレジスタ一覧 ........268 レジスタ一覧 ........................................ 120, 189, 212 割込みコントローラのレジスタ一覧 ................ 243 レベルマスク 割込み・NMI に対するレベルマスク .................. 51 ろ ロード ロードとストア ......................................................31 ローパスフィルタ ローパスフィルタについて ................................225 ローパスフィルタ制御レジスタ TxLPCR ( ローパスフィルタ制御レジスタ ) ..........................................................................214 論理演算 論理演算とビット操作 .......................................... 32 わ ワードアライメント ワードアライメント .............................................. 44 割込み CSIO の割込み ......................................................360 DMAC 割込み制御 ............................................... 490 DMA による周辺割込みクリア .......................... 488 EIT の割込みレベル ...............................................50 I2C インタフェースの割込み ..............................415 UART の割込み ..................................................... 312 外部割込みの動作 ................................................260 外部割込みの動作手順 ........................................ 260 外部割込み要求レベル ........................................ 261 受信 FIFO 使用時の受信割込み発生と フラグセットのタイミング ..................315, 362 受信割込み発生とフラグセットのタイミング ..................................................................314, 361 送信 FIFO 使用時の送信割込み発生と フラグセットのタイミング ..................318, 365 送信割込み発生とフラグセットのタイミング ..................................................................317, 364 時計割込み ............................................................ 238 メイン発振安定待ち割込み .................................232 ユーザ割込み・NMI の動作 ..................................60 割込みスタック .......................................................53 割込み番号 .............................................................266 割込み要因とタイミングチャート (PPG 出力は通常極性 ) .................................198 割込み要求発生 .....................................................210 割込み・NMI に対するレベルマスク ..................51 割込み許可レジスタ 割込み許可レジスタ (ENIR) ................................256 割込みコントローラ 割込みコントローラ .................................................3 割込みコントローラの主要機能 .........................242 割込みコントローラのハードウェア構成 .........242 割込みコントローラのブロックダイヤグラム ..........................................................................244 割込みコントローラのレジスタ一覧 ................ 243 割込みコントローラのレジスタ詳細 ................ 245 割込み制御レジスタ 割込み制御レジスタ (ICR) ..................................246 割込み要因 割込み要因とタイミングチャート (PPG 出力は通常極性 ) ................................. 198 割込みレベル EIT の割込みレベル ...............................................50 ワンショット動作 ワンショット動作タイミングチャート ............197 611 612 CM71-10143-5 富士通セミコンダクター • CONTROLLER MANUAL FR60 32 ビット・マイクロコントローラ MB91313A Series ハードウェアマニュアル 2010 年 8 月 第 5 版発行 発行 富士通セミコンダクター株式会社 編集 企画部 プロモーション推進部