7.7MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM44-10129-6
2
®
F MC -16LX
16 ビット・マイクロコントローラ
MB90330A Series
ハードウェアマニュアル
F2MC®-16LX
16 ビット・マイクロコントローラ
MB90330A Series
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。
「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思わ
れるチェック項目をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
富士通マイクロエレクトロニクス製品につきまして , 平素より格別のご愛顧を賜り厚
くお礼申し上げます。
MB90330A シリーズは , パソコン周辺機器などの USB 通信が要求される用途向けに設
計された 16 ビットマイクロコントローラです。USB 機能は , 12 Mbps の Function 動作
ばかりでなく , 簡易的な Host 動作が可能です。ディスプレイやオーディオなどのパソ
コン周辺機器や USB 通信対応の携帯機器制御などに適した機能を搭載しています。
本書は , 実際に MB90330A シリーズを使用して製品を開発される技術者を対象に ,
MB90330A シリーズの機能や動作について解説したものです。本書をご一読ください。
なお , 各種命令の詳細については , 『インストラクション・マニュアル』をご参照くだ
さい。
■ 商標
F2MCは, FUJITSU Flexible Microcontrollerの略で富士通マイクロエレクトロニクス株式
会社の登録商標です。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商
標です。
■ サンプルプログラム
F2MC-16LXにファミリの周辺機能を動作させるためのサンプルプログラムを無償で提
供しております。当社マイコンの動作仕様や使用方法の確認などにお役立てください。
マイコンサポート情報
http://edevice.fujitsu.com/micom/jp-support/
* サンプルプログラムについては , 予告なしに変更することがあります。本ソフトは ,
標準的な動作や使い方を示したものですので , お客様のシステム上でご使用の際には
十分評価の上でご使用ください。また , これらの使用に起因し生じた損害については ,
当社は一切その責任を負いません。
i
■ 本書の全体構成
このマニュアルは , 以下に示す 27 の章および付録から構成されています。
第 1 章 概要
この章では , MB90330A シリーズの特長 , ブロックダイヤグラム , 機能概要など全体を
知るための基本的なことがらについて説明します。
第 2 章 CPU
この章では , MB90330A シリーズの機能を知るために , 仕様 , メモリおよびレジスタの
機能について説明します。
第 3 章 割込み
この章では, MB90330Aシリーズの割込みと拡張インテリジェントI/Oサービス(EI2OS),
ダイレクトメモリアクセスコントローラ (μDMAC) について説明します。
第 4 章 リセット
この章では , MB90330A シリーズのリセットについて説明します。
第 5 章 クロック
この章では , MB90330A シリーズのクロックについて説明します。
第 6 章 低消費電力モード
この章では , MB90330A シリーズの低消費電力モードについて説明します。
第 7 章 モード設定
この章では , モード設定と外部メモリアクセスについて説明します。
第 8 章 I/O ポート
この章では , I/O ポートで使用するレジスタの構成および機能について説明します。
第 9 章 タイムベースタイマ
この章では , タイムベースタイマの機能と動作について説明します。
第 10 章 ウォッチドッグタイマ
この章では , ウォッチドッグタイマの機能と動作について説明します。
第 11 章 時計タイマ
この章では , 時計タイマの概要 , レジスタの構成 / 機能および時計タイマの動作につい
て説明します。
ii
第 12 章 16 ビット入出力タイマ
この章では , 16 ビット入出力タイマの概要 , レジスタの構成 / 機能および 16 ビット入
出力タイマの動作について説明します。
第 13 章 USB ファンクション
この章では , USB ファンクションの機能と概要について説明します。
第 14 章 USB ホスト
この章では , USB ホストの機能と動作について示します。
第 15 章 PWC タイマ
この章では , PWC タイマの概要 , レジスタの構成 / 機能 , PWC タイマの動作および PWC
タイマの使用上の注意について説明します。
第 16 章 16 ビットリロードタイマ
この章では , 16 ビットリロードタイマの概要 , レジスタの構成 / 機能および 16 ビット
リロードタイマの動作について説明します。
第 17 章 8/16 ビット PPG タイマ
この章では , 8/16 ビット PPG タイマの概要 , レジスタの構成 / 機能および 8/16 ビット
PPG タイマの動作について説明します。
第 18 章 DTP/ 外部割込み
この章では , DTP/ 外部割込みの概要 , レジスタの構成 / 機能および DTP/ 外部割込みの
動作について説明します。
第 19 章 8/10 ビット A/D コンバータ
この章では , 8/10 ビット A/D コンバータの機能と動作について説明します。
第 20 章 拡張 I/O シリアルインタフェース
この章では , 拡張 I/O シリアルインタフェースの概要 , レジスタの構成 / 機能および拡
張 I/O シリアルインタフェースの動作について説明します。
第 21 章 UART
この章では , UART の機能と動作について説明します。
第 22 章 I2C インタフェース
この章では , I2C インタフェースの概要 , レジスタの構成 / 機能および I2C インタフェー
スの動作について説明します。
iii
第 23 章 ROM ミラー機能選択モジュール
この章では , ROM ミラー機能選択モジュールの機能について説明します。
第 24 章 アドレス一致検出機能
この章では , アドレス一致検出機能の機能と動作について説明します。
第 25 章 フラッシュメモリ
この章では , 3M/4M ビットフラッシュメモリの機能や動作について説明します。
第 26 章 シリアル書込み接続例 ( 横河ディジタルコンピュータ株式会社製フラッシュ
マイコンプログラマ )
この章では , 横河ディジタルコンピュータ株式会社製フラッシュマイコンプログラマ
を用いた場合の , シリアル書込み接続例について説明します。
第 27 章 シリアル書込み接続例 ( 富士通マイクロエレクトロニクス製 シリアルプログ
ラマ )
本章では , フラッシュメモリのシリアル書込みについて , 富士通マイクロエレクトロニ
クス製シリアルプログラマを用いた場合の基本構成を説明します。
付録
付録では , メモリマップおよび F2MC-16LX に使用している命令について , 説明します。
iv
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途 ( 原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう ), ならびに極めて高い信頼性
が要求される用途 ( 海底中継器 , 宇宙衛星をいう ) に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2005-2009 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
v
vi
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
1.7
第2章
概要 ............................................................................................................ 1
MB90330A シリーズの特長.................................................................................................... 2
ブロックダイヤグラム............................................................................................................ 6
外形寸法図.............................................................................................................................. 8
端子配列図............................................................................................................................ 10
端子機能 ............................................................................................................................... 11
入出力回路形式 .................................................................................................................... 18
デバイス使用上の注意.......................................................................................................... 21
CPU.......................................................................................................... 25
2.1 CPU の概要 .......................................................................................................................... 26
2.2 メモリ空間............................................................................................................................ 27
2.3 リニア方式によるアドレス指定 ........................................................................................... 30
2.4 バンク方式によるアドレス指定 ........................................................................................... 31
2.5 メモリ空間における多バイト長データ................................................................................. 33
2.6 レジスタ ............................................................................................................................... 34
2.6.1
アキュムレータ (A)..................................................................................................... 37
2.6.2
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) ....................... 38
2.6.3
プロセッサステータス (PS) ....................................................................................... 39
2.6.4
プログラムカウンタ (PC)........................................................................................... 42
2.6.5
バンクレジスタ (PCB, DTB, USB, SSB, ADB) .......................................................... 43
2.6.6
ダイレクトページレジスタ (DPR) ............................................................................. 44
2.7 レジスタバンク .................................................................................................................... 45
2.8 プリフィックスコード.......................................................................................................... 46
2.9 割込み抑止命令 .................................................................................................................... 49
第3章
割込み ...................................................................................................... 51
3.1 割込みの概要 ........................................................................................................................ 52
3.2 割込み要因と割込みベクタ................................................................................................... 55
3.3 割込み制御レジスタと周辺機能 ........................................................................................... 59
3.3.1
割込み制御レジスタ (ICR00 ∼ ICR15) ...................................................................... 61
3.3.2
割込み制御レジスタの機能 ........................................................................................ 63
3.4 ハードウェア割込み ............................................................................................................. 66
3.4.1
ハードウェア割込みの動作 ........................................................................................ 69
3.4.2
ハードウェア割込みの動作フロー.............................................................................. 71
3.4.3
ハードウェア割込みの使用手順 ................................................................................. 72
3.4.4
多重割込み ................................................................................................................. 74
3.4.5
ハードウェア割込みの処理時間 ................................................................................. 76
3.5 ソフトウェア割込み ............................................................................................................. 78
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み................................................. 80
3.6.1
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD).......................... 82
3.6.2
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の各レジスタ ... 83
3.6.3
拡張インテリジェント I/O サービス (EI2OS) の動作 ................................................. 86
3.6.4
拡張インテリジェント I/O サービス (EI2OS) の使用手順 .......................................... 87
3.6.5
拡張インテリジェント I/O サービス (EI2OS) 処理時間.............................................. 88
vii
3.7 例外処理割込み .................................................................................................................... 91
3.8 μDMAC による割込み........................................................................................................... 92
3.8.1
μDMAC の機能 ........................................................................................................... 93
3.8.2
μDMAC のレジスタ .................................................................................................... 94
3.8.2.1
DMA ディスクリプタチャネル指定レジスタ (DCSR)........................................... 95
3.8.2.2
DMA ステータスレジスタ (DSRH/DSRL) ............................................................. 97
3.8.2.3
DMA ストップステータスレジスタ (DSSR) ......................................................... 98
3.8.2.4
DMA 許可レジスタ (DERH/DERL)...................................................................... 100
3.8.3
DMA ディスクリプタウィンドウレジスタ (DDWR)................................................. 101
3.8.3.1
DMA データカウンタ (DDCTH/DDCTL) ............................................................. 102
3.8.3.2
DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) ........................................ 103
3.8.3.3
DMA コントロールレジスタ (DMACS) ............................................................... 104
3.8.3.4
DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) .............................. 106
3.8.4
μDMAC の動作説明 .................................................................................................. 107
3.9 例外 .................................................................................................................................... 109
3.10 割込み処理のスタック動作................................................................................................. 110
3.11 割込み処理のプログラム例................................................................................................. 112
3.12 遅延割込み発生モジュール................................................................................................. 116
3.12.1
遅延割込み発生モジュールの動作............................................................................ 117
第4章
4.1
4.2
4.3
4.4
4.5
4.6
第5章
5.1
5.2
5.3
5.4
5.5
5.6
第6章
リセット................................................................................................. 119
リセットの概要 .................................................................................................................. 120
リセット要因と発振安定待ち時間...................................................................................... 122
外部リセット端子 ............................................................................................................... 124
リセット動作 ...................................................................................................................... 125
リセット要因ビット ........................................................................................................... 127
リセットによる各端子の状態 ............................................................................................. 129
クロック................................................................................................. 131
クロックの概要 .................................................................................................................. 132
クロック発生部のブロックダイヤグラム ........................................................................... 135
クロック選択レジスタ (CKSCR)........................................................................................ 137
クロックモード .................................................................................................................. 140
発振安定待ち時間 ............................................................................................................... 144
振動子と外部クロックの接続 ............................................................................................. 145
低消費電力モード .................................................................................. 147
6.1 低消費電力モードの概要 .................................................................................................... 148
6.2 低消費電力制御回路のブロックダイヤグラム.................................................................... 151
6.3 低消費電力モード制御レジスタ (LPMCR) ......................................................................... 153
6.4 CPU 間欠動作モード .......................................................................................................... 156
6.5 スタンバイモード ............................................................................................................... 157
6.5.1
スリープモード ........................................................................................................ 158
6.5.2
タイムベースタイマモード ...................................................................................... 160
6.5.3
時計モード ............................................................................................................... 162
6.5.4
ストップモード ........................................................................................................ 164
6.6 状態遷移図.......................................................................................................................... 166
6.7 スタンバイモード , ホールド , リセット時の端子状態....................................................... 168
6.8 低消費電力モード使用上の注意 ......................................................................................... 177
viii
第7章
モード設定 ............................................................................................. 181
7.1 モード設定.......................................................................................................................... 182
7.2 モード端子 (MD2 ∼ MD0).................................................................................................. 183
7.3 モードデータ ...................................................................................................................... 184
7.4 外部メモリアクセス ........................................................................................................... 188
7.4.1
自動レディ機能選択レジスタ (ARSR) ..................................................................... 190
7.4.2
外部アドレス出力制御レジスタ (HACR).................................................................. 191
7.4.3
バス制御信号選択レジスタ (EPCR) ......................................................................... 192
7.5 モード設定の各モードにおける動作 .................................................................................. 194
7.5.1
外部メモリアクセス制御信号................................................................................... 195
7.5.2
レディ機能 ............................................................................................................... 198
7.5.3
ホールド機能 ............................................................................................................ 201
第8章
I/O ポート............................................................................................... 205
8.1 I/O ポートの機能 ................................................................................................................ 206
8.2 I/O ポートのレジスタ ......................................................................................................... 207
8.2.1
ポートデータレジスタ (PDR0 ∼ PDRB) ................................................................. 208
8.2.2
ポート方向レジスタ (DDR0 ∼ DDRB) .................................................................... 210
8.2.3
その他のレジスタ..................................................................................................... 212
第9章
9.1
9.2
9.3
9.4
9.5
9.6
9.7
タイムベースタイマ............................................................................... 215
タイムベースタイマの概要................................................................................................. 216
タイムベースタイマの構成................................................................................................. 218
タイムベースタイマ制御レジスタ (TBTC) ......................................................................... 220
タイムベースタイマの割込み ............................................................................................. 222
タイムベースタイマの動作................................................................................................. 223
タイムベースタイマ使用上の注意...................................................................................... 225
タイムベースタイマのプログラム例 .................................................................................. 227
第 10 章
10.1
10.2
10.3
10.4
10.5
10.6
第 11 章
11.1
11.2
11.3
11.4
ウォッチドッグタイマ ........................................................................... 229
ウォッチドッグタイマの概要 ............................................................................................. 230
ウォッチドッグタイマ制御レジスタ (WDTC) .................................................................... 232
ウォッチドッグタイマの構成 ............................................................................................. 234
ウォッチドッグタイマの動作 ............................................................................................. 236
ウォッチドッグタイマ使用上の注意 .................................................................................. 238
ウォッチドッグタイマのプログラム例............................................................................... 239
時計タイマ ............................................................................................. 241
時計タイマの概要 ............................................................................................................... 242
時計タイマの構成 ............................................................................................................... 243
時計タイマ制御レジスタ (WTC)......................................................................................... 244
時計タイマの動作 ............................................................................................................... 246
第 12 章
16 ビット入出力タイマ .......................................................................... 249
12.1 16 ビット入出力タイマの概要............................................................................................ 250
12.2 16 ビット入出力タイマのレジスタ .................................................................................... 252
12.2.1
16 ビットフリーランタイマ ..................................................................................... 253
12.2.2
アウトプットコンペア ............................................................................................. 259
12.2.3
インプットキャプチャ ............................................................................................. 264
ix
12.3 16 ビット入出力タイマの動作............................................................................................ 268
12.3.1
16 ビットフリーランタイマの動作 .......................................................................... 269
12.3.2
16 ビットアウトプットコンペアの動作 ................................................................... 270
12.3.3
16 ビットインプットキャプチャの動作 ................................................................... 272
12.3.4
16 ビットフリーランタイマのタイミング ............................................................... 273
12.3.5
アウトプットコンペアのタイミング ........................................................................ 274
12.3.6
インプットキャプチャの入力タイミング................................................................. 275
第 13 章
USB ファンクション.............................................................................. 277
13.1 USB ファンクションの概要 ............................................................................................... 278
13.2 USB ファンクションのブロックダイヤグラム................................................................... 279
13.3 USB ファンクションのレジスタ ........................................................................................ 280
13.3.1
UDC 制御レジスタ (UDCC)...................................................................................... 284
13.3.2
EP0 制御レジスタ (EP0C)........................................................................................ 287
13.3.3
EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)............................................................. 289
13.3.4
タイムスタンプレジスタ (TMSP)............................................................................. 293
13.3.5
UDC ステータスレジスタ (UDCS) ........................................................................... 294
13.3.6
UDC 割込み許可レジスタ (UDCIE) .......................................................................... 297
13.3.7
EP0I ステータスレジスタ (EP0IS) ........................................................................... 299
13.3.8
EP0O ステータスレジスタ (EP0OS) ....................................................................... 301
13.3.9
EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) .................................................. 304
13.3.10
EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT)..................................................... 308
13.4 USB ファンクションの動作説明 ........................................................................................ 309
13.4.1
接続検出と切断検出 ................................................................................................. 312
13.4.2
コマンド応答時の各レジスタ動作............................................................................ 314
13.4.3
STALL 応答と解除.................................................................................................... 316
13.4.4
サスペンド機能 ........................................................................................................ 321
13.4.5
ウェイクアップ機能 ................................................................................................. 322
13.4.6
DMA 転送機能 .......................................................................................................... 323
13.4.7
NULL 転送機能 ......................................................................................................... 327
第 14 章
USB ホスト ............................................................................................ 329
14.1 USB ホストの特長.............................................................................................................. 330
14.2 USB ホストの制限事項....................................................................................................... 331
14.3 USB ホストのブロックダイヤグラム ................................................................................. 332
14.4 USB ホストのレジスタ....................................................................................................... 334
14.4.1
ホストコントロールレジスタ 0, 1(HCNT0/HCNT1) ................................................ 337
14.4.2
ホスト割込みレジスタ (HIRQ) ................................................................................. 341
14.4.3
ホストエラーステータスレジスタ (HERR) .............................................................. 344
14.4.4
ホスト状態ステータスレジスタ (HSTATE).............................................................. 346
14.4.5
SOF 割込み FRAME 比較レジスタ (HFCOMP)........................................................ 348
14.4.6
リトライタイマ設定レジスタ (HRTIMER) ............................................................... 349
14.4.7
ホストアドレスレジスタ (HADR) ............................................................................ 350
14.4.8
EOF 設定レジスタ (HEOF) ...................................................................................... 351
14.4.9
FRAME 設定レジスタ (HFRAME) ............................................................................ 352
14.4.10
ホストトークンエンドポイントレジスタ (HTOKEN) .............................................. 353
14.5 USB ホストの動作.............................................................................................................. 355
14.5.1
デバイスの接続 ........................................................................................................ 356
14.5.2
USB バスのリセット ................................................................................................ 358
x
14.5.3
トークンパケット..................................................................................................... 359
14.5.4
データパケット ........................................................................................................ 362
14.5.5
ハンドシェークパケット .......................................................................................... 363
14.5.6
リトライ機能 ............................................................................................................ 364
14.5.7
SOF 割込み .............................................................................................................. 365
14.5.8
エラーステータス..................................................................................................... 367
14.5.9
パケット終了 ............................................................................................................ 368
14.5.10
サスペンド・レジューム .......................................................................................... 369
14.5.11
デバイスの切断 ........................................................................................................ 372
14.6 USB ホストの各トークンフローチャート.......................................................................... 373
第 15 章
PWC タイマ ........................................................................................... 375
15.1 PWC タイマの概要............................................................................................................. 376
15.2 PWC タイマのレジスタ...................................................................................................... 378
15.2.1
PWC コントロールステータスレジスタ (PWCSR).................................................. 379
15.2.2
PWC データバッファレジスタ (PWCR) .................................................................. 384
15.2.3
PWC 分周比制御レジスタ (DIVR) ............................................................................ 385
15.3 PWC タイマの動作............................................................................................................. 386
15.3.1
タイマ機能の動作..................................................................................................... 387
15.3.2
パルス幅測定機能の動作 .......................................................................................... 388
15.3.3
カウントクロックおよび動作モードの選択 ............................................................. 389
15.3.4
タイマ / パルス幅測定の起動と停止......................................................................... 391
15.3.5
タイマモードの動作 ................................................................................................. 393
15.3.6
パルス幅測定モードの動作 ...................................................................................... 396
15.4 PWC タイマの使用上の注意 .............................................................................................. 401
第 16 章
16 ビットリロードタイマ ...................................................................... 403
16.1 16 ビットリロードタイマの概要 ........................................................................................ 404
16.1.1
16 ビットリロードタイマの機能.............................................................................. 405
16.1.2
16 ビットリロードタイマのブロックダイヤグラム ................................................. 407
16.2 16 ビットリロードタイマのレジスタ................................................................................. 408
16.2.1
タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) ............................... 409
16.2.2
16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/
16 ビットリロードレジスタ 0 ∼ 2(TMRLR0 ∼ TMRLR2)413
16.3 16 ビットリロードタイマの動作 ........................................................................................ 415
16.3.1
カウンタ動作の状態遷移 .......................................................................................... 416
16.3.2
内部クロックモード ( リロードモード ) の動作 ....................................................... 417
16.3.3
内部クロックモード ( ワンショットモード ) の動作 ................................................ 419
16.3.4
イベントカウントモード .......................................................................................... 421
第 17 章
8/16 ビット PPG タイマ ........................................................................ 423
17.1 8/16 ビット PPG タイマの概要 .......................................................................................... 424
17.1.1
8/16 ビット PPG タイマのブロックダイヤグラム ................................................... 425
17.2 8/16 ビット PPG タイマのレジスタ................................................................................... 427
17.2.1
PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) ................ 428
17.2.2
PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) ................ 430
17.2.3
PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) ................................... 433
17.2.4
PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) ............................... 435
17.3 8/16 ビット PPG タイマの動作 .......................................................................................... 436
xi
第 18 章
18.1
18.2
18.3
18.4
DTP/ 外部割込み .................................................................................... 441
DTP/ 外部割込みの概要...................................................................................................... 442
DTP/ 外部割込みのレジスタ............................................................................................... 443
DTP/ 外部割込みの動作...................................................................................................... 446
DTP/ 外部割込み使用上の注意 ........................................................................................... 448
第 19 章
8/10 ビット A/D コンバータ................................................................... 451
19.1 8/10 ビット A/D コンバータの概要 .................................................................................... 452
19.2 8/10 ビット A/D コンバータの構成 .................................................................................... 453
19.3 8/10 ビット A/D コンバータのレジスタ ............................................................................. 455
19.3.1
A/D 制御ステータスレジスタ上位 (ADCS1)............................................................. 456
19.3.2
A/D 制御ステータスレジスタ下位 (ADCS0)............................................................. 459
19.3.3
A/D 変換チャネル設定レジスタ (ADMR).................................................................. 461
19.3.4
A/D データレジスタ (ADCR1/ADCR0)..................................................................... 463
19.4 8/10 ビット A/D コンバータの動作説明 ............................................................................. 465
19.4.1
μDMAC または EI2OS を使用した変換動作............................................................. 468
19.4.2
A/D 変換データ保護機能 .......................................................................................... 469
19.5 8/10 ビット A/D コンバータ使用上の注意.......................................................................... 471
19.6 8/10 ビット A/D コンバータのプログラム例 -1( 単発モードの EI2OS 起動例 ) ................. 472
19.7 8/10 ビット A/D コンバータのプログラム例 -2( 連続モードの EI2OS 起動例 ) ................. 475
19.8 8/10 ビット A/D コンバータのプログラム例 -3( 停止モードの EI2OS 起動例 ) ................. 478
第 20 章
拡張 I/O シリアルインタフェース.......................................................... 481
20.1 拡張 I/O シリアルインタフェースの概要............................................................................ 482
20.2 拡張 I/O シリアルインタフェースのレジスタ .................................................................... 483
20.2.1
シリアルモードコントロールステータスレジスタ (SMCS)..................................... 484
20.2.2
シリアルデータレジスタ (SDR) ............................................................................... 489
20.2.3
通信プリスケーラ制御レジスタ (SDCR).................................................................. 490
20.3 拡張 I/O シリアルインタフェースの動作............................................................................ 491
20.3.1
シフトクロックモード ............................................................................................. 492
20.3.2
シリアル I/O の動作状態 .......................................................................................... 493
20.3.3
シフト動作のスタート / ストップタイミングと入出力のタイミング ...................... 495
20.3.4
割込み機能 ............................................................................................................... 497
第 21 章
UART ..................................................................................................... 499
21.1 UART の概要 ...................................................................................................................... 500
21.2 UART のブロックダイヤグラム ......................................................................................... 502
21.3 UART の端子 ...................................................................................................................... 505
21.4 UART のレジスタ ............................................................................................................... 506
21.4.1
シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) ........................................................ 507
21.4.2
シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3).................................................... 509
21.4.3
シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3).............................................. 511
21.4.4
シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3),
シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3)........................................ 514
21.4.5
UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3),
UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) ..................... 516
21.5 UART の割込み................................................................................................................... 518
21.5.1
受信割込み発生とフラグセットのタイミング.......................................................... 520
21.5.2
送信割込み発生とフラグセットのタイミング.......................................................... 522
xii
21.6 UART のボーレート ........................................................................................................... 524
21.6.1
UART 内部クロックの専用ボーレートジェネレータによるボーレート .................. 525
21.6.2
外部クロックの専用ボーレートジェネレータによるボーレート............................. 526
21.6.3
外部クロック (1 対 1 モード ) によるボーレート ..................................................... 527
21.7 UART の動作説明 ............................................................................................................... 528
21.7.1
非同期モード ( 動作モード 0, 1) 時の動作................................................................ 530
21.7.2
同期モード ( 動作モード 2) 時の動作 ....................................................................... 533
21.7.3
双方向通信機能 ( ノーマルモード ) .......................................................................... 536
21.7.4
マスタ / スレーブ型通信機能 ( マルチプロセッサモード )....................................... 538
21.8 UART 使用上の注意 ........................................................................................................... 541
21.9 UART のプログラム例........................................................................................................ 542
第 22 章
I2C インタフェース ................................................................................ 545
22.1 I2C インタフェースの概要.................................................................................................. 546
22.2 I2C インタフェースのレジスタ .......................................................................................... 548
22.2.1
I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) ............................................. 549
22.2.2
I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) ......................................... 551
22.2.3
I2C バスクロックコントロールレジスタ 0 ∼ 2 (ICCR0 ∼ ICCR2) ......................... 557
22.2.4
I2C バスアドレスレジスタ 0 ∼ 2(IADR0 ∼ IADR2) ................................................ 559
22.2.5
I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2).................................................... 560
22.3 I2C インタフェースの動作.................................................................................................. 561
22.3.1
I2C インタフェースの転送フロー............................................................................. 564
22.3.2
I2C インタフェースのモードフロー ......................................................................... 566
22.3.3
I2C インタフェースの動作フロー............................................................................. 567
第 23 章
ROM ミラー機能選択モジュール........................................................... 569
23.1 ROM ミラー機能選択モジュールの概要 ............................................................................ 570
23.2 ROM ミラー機能選択レジスタ (ROMM) ............................................................................ 571
第 24 章
アドレス一致検出機能 ........................................................................... 573
24.1 アドレス一致検出機能の概要 ............................................................................................. 574
24.2 アドレス一致検出機能のブロックダイヤグラム ................................................................ 575
24.3 アドレス一致検出機能のレジスタ構成............................................................................... 576
24.3.1
プログラムアドレス検出制御ステータスレジスタ (PACSR)................................... 577
24.3.2
プログラムアドレス検出レジスタ (PADR0, PADR1) .............................................. 579
24.4 アドレス一致検出機能の動作説明...................................................................................... 581
24.4.1
アドレス一致検出機能の使用例 ............................................................................... 582
24.5 アドレス一致検出機能のプログラム例............................................................................... 586
第 25 章
フラッシュメモリ .................................................................................. 589
25.1 フラッシュメモリの概要 .................................................................................................... 590
25.2 フラッシュメモリのセクタ構成 ......................................................................................... 591
25.3 フラッシュメモリコントロールステータスレジスタ (FMCS) ........................................... 593
25.4 フラッシュメモリの自動アルゴリズム起動方法 ................................................................ 595
25.5 自動アルゴリズム実行状態の確認...................................................................................... 597
25.5.1
データポーリングフラグ (DQ7) ............................................................................... 599
25.5.2
トグルビットフラグ (DQ6) ...................................................................................... 601
25.5.3
タイミングリミット超過フラグ (DQ5) .................................................................... 602
25.5.4
セクタ消去タイマフラグ (DQ3) ............................................................................... 603
xiii
25.6 フラッシュメモリの書込み / 消去....................................................................................... 604
25.6.1
フラッシュメモリの読出し / リセット状態 .............................................................. 605
25.6.2
フラッシュメモリのデータ書込み............................................................................ 606
25.6.3
フラッシュメモリの全データ消去 ( チップ消去 ) .................................................... 608
25.6.4
フラッシュメモリの任意のデータ消去 ( セクタ消去 ) ............................................. 609
25.6.5
フラッシュメモリのセクタ消去を一時停止 ............................................................. 611
25.6.6
フラッシュメモリのセクタ消去を再開 .................................................................... 612
第 26 章
シリアル書込み接続例 ( 横河ディジタルコンピュータ株式会社製
フラッシュマイコンプログラマ )........................................................... 613
26.1 基本構成 ............................................................................................................................. 614
26.2 発振クロック周波数とシリアルクロック入力周波数について........................................... 616
26.3 フラッシュマイコンプログラマのシステム構成 ................................................................ 617
26.4 シリアル書込み接続例........................................................................................................ 618
26.4.1
シングルチップモード時の接続例 ( ユーザ電源使用時 ).......................................... 619
26.4.2
フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )............. 621
第 27 章
シリアル書込み接続例 ( 富士通マイクロエレクトロニクス製
シリアルプログラマ )............................................................................. 623
27.1 富士通マイクロエレクトロニクス製シリアルプログラマ.................................................. 624
27.1.1
使用する端子 ............................................................................................................ 628
付録
付録 A
付録 B
B.1
B.2
B.3
B.4
B.5
B.6
B.7
B.8
B.9
索引
............................................................................................................... 629
メモリマップ ................................................................................................................. 630
命令 ............................................................................................................................... 643
命令の種類 .................................................................................................................. 644
アドレッシング ........................................................................................................... 645
直接アドレッシング.................................................................................................... 647
間接アドレッシング.................................................................................................... 654
実行サイクル数 ........................................................................................................... 661
実効アドレスフィールド ............................................................................................ 663
命令一覧表の読み方.................................................................................................... 665
F2MC-16LX 命令一覧表.............................................................................................. 668
命令マップ .................................................................................................................. 682
............................................................................................................... 705
xiv
本版での主な変更内容
ページ
変更内容 ( 詳細は本文を参照してください。)
-
-
レジスタ名を統一
インタラプトレベルマスクレジスタ (ILM) → 割込みレベル
マスクレジスタ (ILM)
-
-
USB を変更
USB Mini-Host → USB ホスト
2, 4
第 1 章 概要
1.1 MB90330A
シリーズの特長
23
第 1 章 概要
1.7 デバイス使用上の注
意
「● シリアル通信について」の項目を追加
26
第 2 章 CPU
2.1 CPU の概要
■ CPU の概要
「● 最小命令実行時間」の説明を変更
・41.7 ns / 6 MHz 原発振 4 逓倍
( 内部動作 24 MHz / 3.3 V ± 0.3 V 時 )
・PLL クロック逓倍方式
→
・41.7 ns ( マシンクロック 24 MHz のとき )
・マシンクロックの周波数は , 品種によって異なります。
最小命令実行時間を訂正
41.6 ns → 41.7 ns
「● CPU に依存しない自動転送機能」の説明を変更
・最大 16 チャネルまでの μDMAC →
・DMA 転送 (μDMAC) は , 品種により内蔵していない場合が
あります。
41
43
第 2 章 CPU
2.6 レジスタ
表 2.6-1 の「許可される割込みレベル」を訂正
2.6.5 項のタイトルと内容を訂正
46
第 2 章 CPU
2.8 プリフィックス
コード
表 2.8-1 の PC 空間のバンクセレクトプリフィックスを訂正
PCC → PCB
94
第 3 章 割込み
3.8.2 μDMAC のレジスタ
図 3.8-1 の DMA ストップステータスレジスタ (DSSR) を
訂正
bit8 ∼ bit15 → STP15 ∼ STP8
bit0 ∼ bit7 → STP7 ∼ STP0
99
第 3 章 割込み
3.8.2.3 DMA ストップス
テータスレジスタ
(DSSR)
<注意事項>を訂正
bit8 ∼ bit15 → STP15 ∼ STP8
bit0 ∼ bit7 → STP7 ∼ STP0
210
第 8 章 I/O ポート
8.2.2 ポート方向
レジスタ
(DDR0 ∼ DDRB)
図 8.2-2 のレジスタ名を訂正
PDR0, PDRA, PDRB → DDR0 ∼ DDR9, DDRA, DDRB
211
「● 各端子がポートとして機能している場合」の説明を訂正
xv
ページ
変更内容 ( 詳細は本文を参照してください。)
331
第 14 章 USB ホスト
14.2 USB ホストの
制限事項
説明を変更
USB HOST との相違点 → USB ホストの制限事項
433
第 17 章 8/16 ビット PPG
タイマ
17.2 8/16 ビット PPG タイ
マのレジスタ
■ PPG0 ∼ PPG5 出力制御
レジスタ (PPG01/PPG23/
PPG45)
[bit7 ∼ bit5] PCS2 ∼ PCS0 ( カウントクロック選択 ) の表の
動作モード欄を訂正
41.6 ns → 41.7 ns
434
[bit4 ∼ bit2] PCM2 ∼ PCM0 ( カウントクロック選択 ) の表の
動作モード欄を訂正
41.6 ns → 41.7 ns
597,
598, 603
第 25 章 フラッシュ
メモリ
25.5 自動アルゴリズム
実行状態の確認
610
第 25 章 フラッシュ
メモリ
25.6.4 フラッシュ
メモリの任意のデータ
消去 ( セクタ消去 )
図 25.6-2 のフローチャートを訂正
649
B.3 直接アドレッシング
● I/O 直接 (io)
図 B.3-5 を変更。
MOVW A, i : 0C0H → MOVW A, I:0C0H
「トグルビット 2 フラグ (DQ2)」の記述を削除
図 B.3-5 に ( 注意事項 ) を追加。
650
B.3 直接アドレッシング
● 短縮直接アドレス (dir)
図 B.3-6 に ( 注意事項 ) を追加。
651
B.3 直接アドレッシング
● I/O 直接ビットアドレ
ス (io: bp)
図 B.3-8 を変更。
SETB i : 0C1H : 0 → SETB I:0C1H:0
B.3 直接アドレッシング
● 短縮直接ビットアドレ
ス (dir: bp)
図 B.3-9 に ( 注意事項 ) を追加。
B.4 間接アドレッシング
● プログラムカウンタ相
対分岐アドレス (rel)
説明を変更。
ディスプレースメント → オフセット
B.4 間接アドレッシング
● レジスタリスト (rlst)
図 B.4-9 を変更。
POPW, RW0, RW4 → POPW RW0, RW4
657
658
図 B.3-8 に ( 注意事項 ) を追加。
図 B.4-7 を変更。
BRA 10H → BRA 3C32H
実行後 PC : 3C20 → 3C32
xvi
ページ
683
684
変更内容 ( 詳細は本文を参照してください。)
B.9 命令マップ
■ 命令マップの構造
表 B.9-1 の命令欄を変更。
@RW2+d8, #8, rel → CBNE @RW2+d8, #8, rel
表 B.9-2 の E0 列 , +0 行 のオペランドを変更。
#4 → #vct4
表 B.9-2 の D0 列 , +0 行 のニーモニックを変更。
MOV → MOVN
表 B.9-2 の B0 列 , +0 行 のニーモニックを変更。
MOV → MOVX
表 B.9-2 の B0 列 , +8 行 のニーモニックを変更。
MOV → MOVW
686
表 B.9-4 の E0 列 , +0 行 のニーモニックを変更。
FILSI → FILSWI
687
表 B.9-5 の 70 列 , +A 行 のニーモニックを変更。
DIVU → DIV
688
表 B.9-6 の F0 列 , +E, +F 行 のオペランドを変更。
,#8, rel → #8, rel
691
表 B.9-9 の 50 列 , +8 ∼ +E 行 のオペランドを変更。
@@ → @
表 B.9-9 の 20 列 , +0 ∼ +7 行 のオペランドを変更。
RWi → @RWi
692
表 B.9-10 の E0 列 , F0 列 のオペランドを変更。
,r → ,rel
693
表 B.9-11 の 70 列 のオペランドを変更。
NEG A, → NEG
694
表 B.9-12 の E0 列 , F0 列 のオペランドを変更。
,r → ,rel
702
表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH) を
変更。
( 項目「A」を「A0」に変更 ,
+A の行の「W2+d16,[email protected]+d16」に変更 )
変更箇所は , 本文中のページ左側の│によって示しています。
xvii
xviii
第1章
概要
この章では , MB90330A シリーズの特長 , ブロッ
クダイヤグラム , 機能概要など全体を知るための基
本的なことがらについて説明します。
1.1 MB90330A シリーズの特長
1.2 ブロックダイヤグラム
1.3 外形寸法図
1.4 端子配列図
1.5 端子機能
1.6 入出力回路形式
1.7 デバイス使用上の注意
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
1
第 1 章 概要
1.1 MB90330A シリーズの特長
1.1
MB90330A シリーズ
MB90330A シリーズの特長
MB90330A シリーズは , パソコン周辺機器などの USB 通信が要求される用途向けに
設計された 16 ビットマイクロコントローラです。USB 機能は , 12 Mbps の
Function 動作ばかりでなく , 簡易的な Host 動作が可能です。ディスプレイやオー
ディオなどのパソコン周辺機器や USB 通信対応の携帯機器制御などに適した機能を
搭載しています。
■ MB90330A シリーズの特長
MB90330A シリーズには , 以下の特長があります。
● PLL クロック逓倍回路内蔵
• 原発振の 2 分周もしくは原発振の 1 逓倍 , 2 逓倍 , 4 逓倍
原発振 6 MHz 時 , 3 MHz ∼ 24 MHz の動作クロック (PLL クロック ) を選択可能
USB 用クロックは 48 MHz
• 最小命令実行時間 : 41.7 ns ( 原発振 6 MHz, PLL クロック 4 逓倍 , Vcc=3.3 V 動作時 )
● 最大メモリ空間 : 16 M バイト
● コントロール用途に最適化された命令体系
• 取扱い可能なデータタイプ : ビット / バイト / ワード / ロングワード
• 標準アドレッシングモード : 23 種類
• 32 ビットアキュムレータの採用による高精度演算の強化
• 符号付き乗除算 , 拡張 RETI 命令
● 高級言語 (C 言語 ) マルチタスクに対応をとった命令体系
• システムスタックポイントの採用
• 命令セットの対称性とバレルシフト命令
● ノンマルチバス / マルチバス対応
● 実行速度の向上 : 4 バイトのキュー
● 強力な割込み機能 ( プライオリティがプログラマブルに 8 レベル設定可能 ) : 外部割込み 8 本
● データ転送機能
• μDMAC: 最大 16 チャネル
• 拡張インテリジェント I/O サービス : 最大 16 チャネル
● 内蔵 ROM 容量と ROM タイプ
• マスク ROM: 256 K バイト , 384 K バイト
• フラッシュ ROM: 384 K バイト
2
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 1 章 概要
1.1 MB90330A シリーズの特長
● 内蔵 RAM
• 量産品 : 16 K バイト , 24 K バイト
• フラッシュ品 : 24 K バイト , 30K バイト
• エバリュエーションチップ : 28 K バイト
● プロセス :CMOS テクノロジ
● 低消費電力 ( スタンバイ ) モード
• スリープモード (CPU 動作クロックを停止するモード )
• ストップモード ( 原発振を停止するモード )
• CPU 間欠動作モード
● パッケージ
• LQFP-120 (FPT-120P-M24: 0.4 mm ピンピッチ )
• LQFP-120 (FPT-120P-M21: 0.5 mm ピンピッチ )
● 動作保証温度 : − 40 ℃∼+ 85 ℃ (USB 使用時 : 0 ℃∼+ 70 ℃ )
● 汎用ポート : 最大 94 本
汎用入出力 (CMOS) : 56 本
汎用入出力 ( 入力プルアップ抵抗設定可能 ) : 16 本
汎用入出力 ( 出力オープンドレイン / 5 V 耐圧 I/O) : 22 本
● タイマ : タイムベースタイマ / ウォッチドッグタイマ / 時計タイマ : 1 チャネル
● 16 ビット入出力タイマ
• 16 ビットフリーランタイマ : 1 チャネル
• インプットキャプチャ (ICU) : 4 チャネル
• アウトプットコンペア (OCU) : 4 チャネル
● 8/16 ビット PPG タイマ : 8 ビット× 6 チャネルまたは 16 ビット× 3 チャネル
● 16 ビットリロードタイマ : 3 チャネル
● 16 ビット PWC タイマ : 1 チャネル
● UART: 4 チャネル
● I/O 拡張シリアルインタフェース : 1 チャネル
● I2C インタフェース : 3 チャネル
● 8/10 ビット A/D コンバータ (RC 逐次比較型 ) : 16 チャネル
● DTP/ 外部割込み : 8 チャネル
● USB
• USB ファンクション (USB Full Speed 対応 ) : 1 チャネル
• USB ホスト : 1 チャネル
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
3
第 1 章 概要
1.1 MB90330A シリーズの特長
MB90330A シリーズ
■ 品種構成
表 1.1-1 MB90330A シリーズ品種構成一覧 (1 / 2)
MB90V330A*
品種名
MB90F335A
フラッシュメモリ品
MB90333A
分類
評価用品
ROM 容量
搭載なし
384 K バイト
512 K バイト
256 K バイト
RAM 容量
28 K バイト
24 K バイト
30 K バイト
16 K バイト
あり
―
―
―
エミュレータ専用電源
CPU 機能
基本命令数
命令ビット長
最小命令実行時間
アドレッシング種類
最大メモリ空間
: 351 命令
: 8 ビット , 16 ビット
: 41.7 ns / 24 MHz
: 23 種類
: 16 M バイト
ポート
入出力ポート (CMOS)
: 94 本
16ビット
入出力
タイマ
4
MB90F334A
マスク ROM 品
16 ビット
フリーランタイマ
チャネル数 : 1
オーバフロー割込み
アウトプット
コンペア (OCU)
チャネル数 : 4
端子入力要因 : コンペアレジスタの一致信号による
インプット
キャプチャ (ICU)
チャネル数 : 4
端子入力 ( 立上り , 立下り , 両エッジ ) によるレジスタの書換え
8/16 ビット PPG タイマ
チャネル数 : 8 ビット× 6 チャネル , 16 ビット× 3 チャネル
モード切換え機能付き
8 ビットまたは 16 ビットの PPG 動作
任意周期 , 任意デューティのパルス波出力可能
16 ビット リロードタイマ
チャネル数 : 3
16 ビットリロードタイマ動作
イベントカウンタ付き
16 ビット PWC タイマ
チャネル数 : 1
タイマ機能 (3 つの内部クロックからカウンタのクロックを選択 )
パルス幅測定機能 (3 つの内部クロックからカウンタのクロックを
選択 )
UART
チャネル数 : 4
クロック同期 / 非同期の選択可能
専用ボーレートジェネレータ内蔵
クロック同期 LSB, MSB 切換え可能
I/O 拡張
シリアルインタフェース
チャネル数 : 1
クロック同期転送
LSB ファースト /MSB ファースト
I2C バス通信
チャネル数 : 3
Inter IC BUS をサポートするシリアル I/O
8/10 ビット A/D コンバータ
10 ビット分解能アナログ入力
16 チャネル
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 1 章 概要
1.1 MB90330A シリーズの特長
MB90330A シリーズ
表 1.1-1 MB90330A シリーズ品種構成一覧 (2 / 2)
品種名
MB90V330A*
MB90F334A
MB90F335A
MB90333A
DTP/ 外部割込み
入力本数 : 8 本
割込み要因 : 立上りエッジ / 立下りエッジ /"L" レベル /"H" レベル
選択可
USB
USB ファンクション (USB Full Speed 対応 )
Full speed をサポート
Endpoint を最大 6 つまで指定可能
転送タイプ : Control, Interrupt, Bulk, Isochronous 転送可能
デュアルポート RAM(FIFO モードもサポート )
USB ホスト 機能
μDMAC
対応
外部バスインタフェース
あり ( マルチ / ノンマルチ対応 )
その他
5 V 耐圧 I/O 22 本 (I2C 兼用端子を含む )
パッケージ
PGA299
動作電圧
3.3 V ± 0.3 V
LQFP120
*: エミュレータ (MB2147-01) をご使用いただく際のジャンパスイッチ (TOOL VCC) の設定です。
詳細につきましては , MB2147-01 または MB2147-20 ハードウェアマニュアル 「3.3
(
エミュレータ専
用電源切換え」) を参照してください。
<注意事項>
Flash への書込みは , 必ず , V CC=3.13 V ∼ 3.60 V 以上で行ってください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
5
第 1 章 概要
1.2 ブロックダイヤグラム
1.2
MB90330A シリーズ
ブロックダイヤグラム
図 1.2-1 に , MB90330A シリーズのブロックダイヤグラムを示します。
■ MB90330A シリーズのブロックダイヤグラム
図 1.2-1 MB90330A シリーズのブロックダイヤグラム
X0,X1
X0A,X1A
RST
クロック
制御回路
CPU
F2MC-16LXコア
ポート6
RAM(28 Kバイト)*
16ビットPWC
タイマ
割込みコントローラ
PB6/PPG5
PB5/PPG4
PB4
PB3/SDA2
PB2/SCL2
PB1/SDA1
PB0/SCL1
P67/INT7/SDA0
P66/INT6/SCL0
P65/INT5/PWC
P64/INT4/SCK
P63/INT3/SOT
P62/INT2/SIN
P61/INT1
P60/INT0
外部割込み
(ch.0~ch.7)
ROM(384 Kバイト)*
拡張I/Oシリアル
インタフェース
ポートB
8/16ビットPPG
タイマ(ch.2)
I2Cインタフェース
(ch.0)
P57/CLK
P56/RDY
P55/HAK
P54/HRQ
P53/WRH
P52/WRL
P51/RD
P50/ALE
2
I Cインタフェース
(ch.1,ch.2)
ポート5
ポートA
P96/ADTG/FRCK
P95/SCK3
P94/SOT3
P93/SIN3
P92/SCK2
P91/SOT2
P90/SIN2
P87~P80/
AN15~AN8
AVcc,AVss
AVRH
P77~P70/
AN7~AN0
DVP
DVM
HVP
HVM
HCON
UTEST
16ビット
インプット
キャプチャ
(ch.1,ch.2,ch.3)
16ビットアウト
プットコンペア
(ch.1,ch.2,ch.3)
16ビットフリー
ランタイマ
ポート4
F2MC-16LX バス
PA7/OUT3
PA6/OUT2
PA5/OUT1
PA4/OUT0
PA3/IN3
PA2/IN2
PA1/IN1
PA0/IN0
P47/A15/SCK1
P46/A14/SOT1
P45/A13/SIN1
P44/A12/SCK0
P43/A11/SOT0
P42/A10/SIN0
P41/A09/TOT0
P40/A08/TIN0
UART(ch.0,ch.1)
16ビットリロード
タイマ(ch.0)
P37/A07
P36/A06
P35/A05
P34/A04
P33/A03/TOT2
P32/A02/TIN2
P31/A01/TOT1
P30/A00/TIN1
ポート3
UART(ch.2,ch.3)
ポート9
16ビットリロード
タイマ(ch.1,ch.2)
ポート8
A/Dコンバータ
(16チャネル)
P27/A23/PPG3
P26/A22/PPG2
P25/A21/PPG1
P24/A20/PPG0
P23/A19
P22/A18
P21/A17
P20/A16
P17~P10/
AD15~AD08/
D15~D08
ポート2
8/16bit PPG
(ch.0,ch.1)
ポート7
USBホスト
ポート1
USBファンクション
P07~P00/
AD07~AD00/
D07~D00
ポート0
その他の端子
外部バス
インタフェース
Vss
Vcc
MD0
MD1
MD2
*:最大値
6
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 1 章 概要
1.2 ブロックダイヤグラム
<注意事項>
図 1.2-1 において , I/O ポートは内蔵の各機能ブロックと端子を共用しています。内蔵モ
ジュールの端子として使用する場合は , I/O ポートとしては使えません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
7
第 1 章 概要
1.3 外形寸法図
1.3
MB90330A シリーズ
外形寸法図
MB90330A シリーズには , 2 種類のパッケージが用意されています。
■ 外形寸法図 (LQFP-120)
プラスチック・LQFP, 120 ピン
リードピッチ
0.40 mm
パッケージ幅×
パッケージ長さ
14.0 mm × 14.0 mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70 mm MAX
コード(参考)
P-L FQFP120-14×14-0.40
(FPT-120P-M24)
プラスチック・LQFP, 120 ピン
(FPT-120P-M24)
注 1)* 印寸法はレジン残りを含まず。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
16.00±0.20(.630±.008)SQ
* 14.00±0.10(.551±.004)SQ
90
61
91
60
0.08(.003)
Details of "A" part
+0.20
1.50 –0.10
+.008
(Mounting height)
.059 –.004
INDEX
120
31
"A"
0~8˚
LEAD No.
1
0.40(.016)
30
0.16±0.05
(.006±.002)
0.07(.003)
M
0.145±0.055
(.006±.002)
0.50±0.20
(.020±.008)
0.60±0.15
(.024±.006)
©2006-2008
FUJITSU MICROELECTRONICS LIMITED F120036S-c-1-2
C
2006 FUJITSU LIMITED F120036S-c-1-1
0.10±0.10
(.004±.004)
(Stand off)
0.25(.010)
単位:mm (inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記 URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
8
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 1 章 概要
1.3 外形寸法図
MB90330A シリーズ
■ 外形寸法図 (LQFP-120)
プラスチック・LQFP, 120 ピン
(FPT-120P-M21)
リードピッチ
0.50mm
パッケージ幅×
パッケージ長さ
16.0 × 16.0mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70mm MAX
質量
0.88g
コード(参考)
P-LFQFP120-16×16-0.50
プラスチック・LQFP, 120 ピン
(FPT-120P-M21)
注 1)* 印寸法はレジン残りを含む。
レジン残りは、片側 +0.25(.010)MAX。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
18.00±0.20(.709±.008)SQ
+0.40
* 16.00 –0.10 .630 +.016
–.004 SQ
90
61
60
91
0.08(.003)
Details of "A" part
+0.20
1.50 –0.10
+.008
(Mounting height)
.059 –.004
INDEX
0~8˚
120
LEAD No.
"A"
31
1
30
0.50(.020)
0.22±0.05
(.009±.002)
+0.05
0.08(.003)
M
0.145 –0.03
+.002
.006 –.001
0.60±0.15
(.024±.006)
©2002-2008 FUJITSU MICROELECTRONICS LIMITED F120033S-c-4-6
C
2002 FUJITSU LIMITED F120033S-c-4-4
0.10±0.05
(.004±.002)
(Stand off)
0.25(.010)
単位:mm (inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記 URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
9
第 1 章 概要
1.4 端子配列図
1.4
MB90330A シリーズ
端子配列図
図 1.4-1 に , MB90330A シリーズの端子配列図を示します。
■ 端子配列図 (LQFP-120)
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
P27/A23/PPG3
P26/A22/PPG2
P25/A21/PPG1
P24/A20/PPG0
P23/A19
P22/A18
P21/A17
P20/A16
P17/AD15/D15
P16/AD14/D14
P15/AD13/D13
P14/AD12/D12
X0
X1
Vss
Vcc
P13/AD11/D11
P12/AD10/D10
P11/AD09/D09
P10/AD08/D08
P07/AD07/D07
P06/AD06/D06
P05/AD05/D05
P04/AD04/D04
P03/AD03/D03
P02/AD02/D02
P01/AD01/D01
P00/AD00/D00
P57/CLK
P56/RDY
図 1.4-1 MB90330A シリーズの端子配列図 (LQFP-120)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
MB90330Aシリーズ
TOP VIEW
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
RST
MD0
MD1
MD2
P55/HAK
P54/HRQ
P53/WRH
P52/WRL
P51/RD
P50/ALE
HCON
Vcc
HVP
HVM
Vss
Vcc
DVP
DVM
Vss
UTEST
PB6/PPG5
PB5/PPG4
PB4
PB3/SDA2
PB2/SCL2
PB1/SDA1
PB0/SCL1
PA7/OUT3
PA6/OUT2
PA5/OUT1
P92/SCK2
P93/SIN3
P94/SOT3
P95/SCK3
P96/ADTG/FRCK
AVcc
AVRH
AVss
P70/AN0
P71/AN1
P72/AN2
P73/AN3
P74/AN4
P75/AN5
P76/AN6
P77/AN7
Vss
P80/AN8
P81/AN9
P82/AN10
P83/AN11
P84/AN12
P85/AN13
P86/AN14
P87/AN15
PA0/IN0
PA1/IN1
PA2/IN2
PA3/IN3
PA4/OUT0
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
P30/A00/TIN1
P31/A01/TOT1
P32/A02/TIN2
P33/A03/TOT2
P34/A04
P35/A05
P36/A06
P37/A07
P40/A08/TIN0
P41/A09/TOT0
P42/A10/SIN0
P43/A11/SOT0
X0A
X1A
Vcc
Vss
P44/A12/SCK0
P45/A13/SIN1
P46/A14/SOT1
P47/A15/SCK1
P60/INT0
P61/INT1
P62/INT2/SIN
P63/INT3/SOT
P64/INT4/SCK
P65/INT5/PWC
P66/INT6/SCL0
P67/INT7/SDA0
P90/SIN2
P91/SOT2
10
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 1 章 概要
1.5 端子機能
MB90330A シリーズ
端子機能
1.5
表 1.5-1 に , MB90330A シリーズの端子機能について説明します。
■ 端子機能
表 1.5-1 端子機能 (1 / 7)
端子番号
端子名
回路形式
107
X1
A
発振端子です。
108
X0
A
発振端子です。
13
X0A
A
32 kHz 発振端子です。
14
X1A
A
32 kHz 発振端子です。
90
RST
F
リセット入力端子です。
93 ∼ 100
P00 ∼ P07
H
汎用入出力ポートです。
プルアップ抵抗設定レジスタ (RDR0) により , プルアッ
プ抵抗を付加 (RD00 ∼ RD07=1) に設定できます ( 出力
設定時は無効 ) 。
101 ∼ 104
109 ∼ 112
CM44-10129-6
機能説明
AD00 ∼
AD07
マルチプレクスモード時 , 外部アドレス / データバス下
位入出力端子として機能します。
D00 ∼ D07
ノンマルチプレクスモード時 , 外部データバス下位入
出力端子として機能します。
H
P10 ∼ P13
汎用入出力ポートです。
プルアップ抵抗設定レジスタ (RDR1) により , プルアッ
プ抵抗を付加 (RD10 ∼ RD13=1) に設定できます ( 出力
設定時は無効 ) 。
AD08 ∼
AD11
マルチプレクスモード時 , 外部アドレス / データバス上
位入出力端子として機能します。
D08 ∼ D11
ノンマルチプレクスモード時 , 外部データバス上位入
出力端子として機能します。
H
P14 ∼ P17
汎用入出力ポートです。
プルアップ抵抗設定レジスタ (RDR1) により , プルアッ
プ抵抗を付加 (RD14 ∼ RD17=1) に設定できます ( 出力
設定時は無効 ) 。
AD12 ∼
AD15
マルチプレクスモード時 , 外部アドレス / データバス上
位入出力端子として機能します。
D12 ∼ D15
ノンマルチプレクスモード時 , 外部データバス上位入
出力端子として機能します。
FUJITSU MICROELECTRONICS LIMITED
11
第 1 章 概要
1.5 端子機能
MB90330A シリーズ
表 1.5-1 端子機能 (2 / 7)
端子番号
端子名
回路形式
機能説明
113 ∼ 116
P20 ∼ P23
D
汎用入出力ポートです。外バスモード時は , 外部アド
レス出力制御レジスタ (HACR) の対応するビットが "1"
のとき , 汎用入出力ポートとして機能します。
117 ∼ 120
1
2
3
4
12
A16 ∼ A19
マルチプレクスモード時 , 外部アドレス出力制御レジ
スタ (HACR) の対応するビットが "0" のとき , アドレス
上位出力端子 (A16 ∼ A19) として機能します。
A16 ∼ A19
ノンマルチプレクスモード時 , 外部アドレス出力制御
レジスタ (HACR) の対応するビットが "0" のとき , アド
レス上位出力端子 (A16 ∼ A19) として機能します。
D
P24 ∼ P27
汎用入出力ポートです。外バスモード時は , 外部アド
レス出力制御レジスタ (HACR) の対応するビットが "1"
のとき , 汎用入出力ポートとして機能します。
A20 ∼ A23
マルチプレクスモード時 , 外部アドレス出力制御レジ
スタ (HACR) の対応するビットが "0" のとき , アドレス
上位出力端子 (A20 ∼ A23) として機能します。
A20 ∼ A23
ノンマルチプレクスモード時 , 外部アドレス出力制御
レジスタ (HACR) の対応するビットが "0" のとき , アド
レス上位出力端子 (A20 ∼ A23) として機能します。
PPG0 ∼ PPG3
PPG タイマ ch.0 ∼ ch.3 出力端子として機能します。
P30
D
汎用入出力ポートです。
A00
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
TIN1
16 ビットリロードタイマ ch.1 のイベント入力端子とし
て機能します。
P31
D
汎用入出力ポートです。
A01
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
TOT1
16 ビットリロードタイマ ch.1 の出力端子として機能し
ます。
P32
D
汎用入出力ポートです。
A02
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
TIN2
16 ビットリロードタイマ ch.2 のイベント入力端子とし
て機能します。
P33
D
汎用入出力ポートです。
A03
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
TOT2
16 ビットリロードタイマ ch.2 の出力端子として機能し
ます。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 1 章 概要
1.5 端子機能
MB90330A シリーズ
表 1.5-1 端子機能 (3 / 7)
端子番号
端子名
回路形式
5∼8
P34 ∼ P37
D
A04 ∼ A07
9
10
11
12
P40
G
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
TIN0
16 ビットリロードタイマ ch.0 のイベント入力端子とし
て機能します。
P41
G
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
TOT0
16 ビットリロードタイマ ch.0 の出力端子として機能し
ます。
P42
G
汎用入出力ポートです。
A10
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
SIN0
UART ch.0 データ入力端子として機能します。
P43
G
P44
P45
汎用入出力ポートです。
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
UART ch.0 データ出力端子として機能します。
G
汎用入出力ポートです。
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
SCK0
UART ch.0 クロック入出力端子として機能します。
G
汎用入出力ポートです。
A13
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
SIN1
UART ch.1 データ入力端子として機能します。
P46
A14
SOT1
CM44-10129-6
汎用入出力ポートです。
A09
A12
19
汎用入出力ポートです。
A08
SOT0
18
汎用入出力ポートです。
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
A11
17
機能説明
G
汎用入出力ポートです。
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
UART ch.1 データ出力端子として機能します。
FUJITSU MICROELECTRONICS LIMITED
13
第 1 章 概要
1.5 端子機能
MB90330A シリーズ
表 1.5-1 端子機能 (4 / 7)
端子番号
端子名
回路形式
20
P47
G
A15
UART ch.1 クロック入出力端子として機能します。
P50
L
ALE
82
P51
L
P52
L
P53
L
P54
L
P55
L
P56
L
P57
L
汎用入出力ポートです。
外バスモード時 , マシンサイクルクロック出力 (CLK)
端子として機能します。EPCR レジスタの CKE ビット
が "0" のとき , 汎用入出力ポートとして機能します。
P60, P61
C
INT0, INT1
14
汎用入出力ポートです。
外バスモード時 , 外部レディ入力 (RDY) 端子として機
能します。EPCR レジスタの RYE ビットが "0" のとき ,
汎用入出力ポートとして機能します。
CLK
21, 22
汎用入出力ポートです。
外バスモード時 , ホールドアクノリッジ出力 (HAK) 端
子として機能します。EPCR レジスタの HDE ビットが
"0" のとき , 汎用入出力ポートとして機能します。
RDY
92
汎用入出力ポートです。
外バスモード時 , ホールド要求入力 (HRQ) 端子として
機能します。EPCR レジスタの HDE ビットが "0" のと
き , 汎用入出力ポートとして機能します。
HAK
91
汎用入出力ポートです。
バス幅 16 ビットの外バスモード時 , 上位側データライ
トストローブ出力(WRH)端子として機能します。
EPCR
レジスタの WRE ビットが "0" のとき , 汎用入出力ポー
トとして機能します。
HRQ
86
汎用入出力ポートです。
外バスモード時 , 下位側データライトストローブ出力
(WRL) 端子として機能します。EPCR レジスタの WRE
ビットが "0" のとき , 汎用入出力ポートとして機能し
ます。
WRH
85
汎用入出力ポートです。
外バスモード時 , リードストローブ出力 (RD) 端子とし
て機能します。
WRL
84
汎用入出力ポートです。
外バスモード時 , アドレス取込み許可信号 (ALE) 端子
として機能します。
RD
83
汎用入出力ポートです。
ノンマルチバスモード時 , 外部アドレス端子として機
能します。
SCK1
81
機能説明
汎用入出力ポートです (5 V 耐圧 ) 。
外部割込み ch.0, ch.1 入力端子として機能します。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 1 章 概要
1.5 端子機能
MB90330A シリーズ
表 1.5-1 端子機能 (5 / 7)
端子番号
端子名
回路形式
23
P62
C
24
25
26
27
28
39 ∼ 46
外部割込み ch.2 入力端子として機能します。
SIN
拡張シリアル I/O データ入力端子です。
P63
C
外部割込み ch.3 入力端子として機能します。
SOT
拡張シリアル I/O データ出力端子です。
P64
C
外部割込み ch.4 入力端子として機能します。
SCK
拡張シリアル I/O クロック入出力端子です。
P65
C
汎用入出力ポートです (5 V 耐圧 ) 。
INT5
外部割込み ch.5 入力端子として機能します。
PWC
PWC 入力端子として機能します。
P66
C
汎用入出力ポートです (5 V 耐圧 ) 。
INT6
外部割込み ch.6 入力端子として機能します。
SCL0
I2C インタフェース ch.0 クロック入出力端子として機
能します。
I2C インタフェース動作中は , ポート出力を Hi-Z とし
てください。
P67
C
汎用入出力ポートです (5 V 耐圧 ) 。
INT7
外部割込み ch.7 入力端子として機能します。
SDA0
I2C インタフェース ch.0 データ入出力端子として機能
します。
I2C インタフェース動作中は , ポート出力を Hi-Z とし
てください。
I
P70 ∼ P77
P90
P91
汎用入出力ポートです。
アナログ ch.0 ∼ ch.7 入力端子として機能します。
I
P80 ∼ P87
SOT2
CM44-10129-6
汎用入出力ポートです (5 V 耐圧 ) 。
INT4
汎用入出力ポートです。
アナログ ch.8 ∼ ch.15 入力端子として機能します。
D
SIN2
30
汎用入出力ポートです (5 V 耐圧 ) 。
INT3
AN8 ∼ AN15
29
汎用入出力ポートです (5 V 耐圧 ) 。
INT2
AN0 ∼ AN7
48 ∼ 55
機能説明
汎用入出力ポートです。
UART ch.2 データ入力端子として機能します。
D
汎用入出力ポートです。
UART ch.2 データ出力端子として機能します。
FUJITSU MICROELECTRONICS LIMITED
15
第 1 章 概要
1.5 端子機能
MB90330A シリーズ
表 1.5-1 端子機能 (6 / 7)
端子番号
端子名
回路形式
31
P92
D
SCK2
32
P93
D
P94
D
56 ∼ 59
P95
D
P96
C
A/D コンバータ使用時に外部トリガ入力端子として機
能します。
FRCK
フリーランタイマ使用時の外部クロック入力端子とし
て機能します。
PA0 ∼ PA3
C
PA4 ∼ PA7
PB0
PB1
C
PB2
C
PB3
SDA2
16
汎用入出力ポートです (5 V 耐圧 ) 。
I2C インタフェース ch.1 クロック入出力端子として機
能します。I2C インタフェース動作中は , ポート出力を
Hi-Z としてください。
C
汎用入出力ポートです (5 V 耐圧 ) 。
I2C インタフェース ch.1 データ入出力端子として機能
します。I2C インタフェース動作中は , ポート出力を
Hi-Z としてください。
C
汎用入出力ポートです (5 V 耐圧 ) 。
I2C インタフェース ch.2 クロック入出力端子として機
能します。I2C インタフェース動作中は , ポート出力を
Hi-Z としてください。
SCL2
67
汎用入出力ポートです (5 V 耐圧 ) 。
アウトプットコンペア ch.0 ∼ ch.3 イベント出力端子と
して機能します。
SDA1
66
汎用入出力ポートです (5 V 耐圧 ) 。
インプットキャプチャch.0 ∼ ch.3 のトリガ入力として
取り込まれます。
SCL1
65
汎用入出力ポートです (5 V 耐圧 ) 。
ADTG
OUT0 ∼
OUT3
64
汎用入出力ポートです。
UART ch.3 クロック入出力端子として機能します。
IN0 ∼ IN3
60 ∼ 63
汎用入出力ポートです。
UART ch.3 データ出力端子として機能します。
SCK3
35
汎用入出力ポートです。
UART ch.3 データ入力端子として機能します。
SOT3
34
汎用入出力ポートです。
UART ch.2 クロック入出力端子として機能します。
SIN3
33
機能説明
C
汎用入出力ポートです (5 V 耐圧 ) 。
I2C インタフェース ch.2 データ入出力端子として機能
します。I2C インタフェース動作中は , ポート出力を
Hi-Z としてください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 1 章 概要
1.5 端子機能
MB90330A シリーズ
表 1.5-1 端子機能 (7 / 7)
端子番号
端子名
回路形式
68
PB4
C
汎用入出力ポートです (5 V 耐圧 ) 。
69
PB5
D
汎用入出力ポートです。
PPG4
70
機能説明
PPG タイマ ch.4 出力端子として機能します。
PB6
D
PPG5
汎用入出力ポートです。
PPG タイマ ch.5 出力端子として機能します。
71
UTEST
C
USB テスト用端子です。通常使用時は , プルダウン接
続願います。
73
DVM
K
USB ファンクション D −端子です。
74
DVP
K
USB ファンクション D +端子です。
77
HVM
K
USB ホスト D −端子です。
78
HVP
K
USB ホスト D +端子です。
80
HCON
E
外付けプルアップ抵抗接続端子です。
36
AVcc
−
A/D コンバータ電源端子です。
37
AVRH
J
38
AVss
−
A/D コンバータ電源端子です。
87 ∼ 89
MD2 ∼ MD0
B
動作モード指定用入力端子です。
15, 17,
79, 105
Vcc
−
電源端子です。
16, 47, 72,
76, 106
Vss
−
電源端子 (GND) です。
CM44-10129-6
A/D コンバータ外部基準電源端子です。
FUJITSU MICROELECTRONICS LIMITED
17
第 1 章 概要
1.6 入出力回路形式
1.6
MB90330A シリーズ
入出力回路形式
表 1.6-1 に , MB90330A シリーズの各端子の入出力回路形式を示します。
■ 入出力回路形式
表 1.6-1 入出力回路形式 (1 / 3)
分類
回路
備考
・発振帰還抵抗 : X1, X0 約 1 MΩ
X1A, X0A 10 MΩ
・スタンバイコントロール付き
X1,X1A
クロック入力
P-ch N-ch
A
X0,X0A
スタンバイ制御信号
・CMOS ヒステリシス入力
CMOSヒステリシス入力
B
・CMOS ヒステリシス入力
・N-ch オープンドレイン出力
N-ch
N-chオープンドレイン出力
C
CMOSヒステリシス入力
スタンバイ制御信号
・CMOS 出力
・CMOS ヒステリシス入力
・スタンバイコントロール付き
P-ch
N-ch
D
CMOSヒステリシス入力
スタンバイ制御信号
18
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 1 章 概要
1.6 入出力回路形式
MB90330A シリーズ
表 1.6-1 入出力回路形式 (2 / 3)
分類
回路
備考
・CMOS 出力
E
F
P-ch
Pout
N-ch
Nout
・プルアップ付きCMOSヒステリシス
入力
・抵抗 : 約 50 kΩ
R
CMOSヒステリシス入力
P-ch
オープンドレイン制御信号
N-ch
G
・CMOS 出力
・CMOS ヒステリシス入力
・オープンドレインコントロール
付き
・スタンバイコントロール付き
CMOSヒステリシス入力
スタンバイ制御信号
コントロール信号
P-ch
H
・CMOS 出力
・CMOS 入力
・入力プルアップ抵抗制御付き
・抵抗 : 約 50 kΩ
・スタンバイコントロール付き
N-ch
CMOS入力
スタンバイ制御信号
・CMOS 出力
・CMOS ヒステリシス入力
・スタンバイコントロール付き
・アナログ入力
P-ch
N-ch
I
アナログ入力
CMOSヒステリシス入力
スタンバイ制御信号
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
19
第 1 章 概要
1.6 入出力回路形式
MB90330A シリーズ
表 1.6-1 入出力回路形式 (3 / 3)
分類
回路
備考
・A/D コンバータ電圧入力端子
P-ch
J
N-ch
アナログ入力
・USB 入出力端子
D+入力
D-入力
D+
差動入力
D-
Full D+出力
Full D-出力
K
Low D+出力
Low D-出力
方向
スピード
P-ch
Pout
N-ch
Nout
・CMOS 出力
・CMOS 入力
( スタンバイコントロール付き )
L
入力信号
スタンバイ制御信号
20
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
1.7
第 1 章 概要
1.7 デバイス使用上の注意
デバイス使用上の注意
デバイス使用上の注意について説明します。
■ デバイス使用上の注意
● ラッチアップの防止 , 電源投入について
CMOS IC では , 次に示すような場合にラッチアップ現象を生じることがあります。
• 入力端子や出力端子に VCC より高い電圧や VSS より低い電圧が印加された場合
• VCC 端子∼ VSS 端子間に定格を超える電圧が印加された場合
• VCC の電圧より , AVCC の電源が先に供給された場合
アナログ系の電圧印加は , 必ず VCC と同時に行うか , デジタル電源の投入後に行って
ください ( 電源 OFF の場合は , アナログ系電源を先に落とすか , 同時に落としてくださ
い)。
ラッチアップが起きると電源電流が激増し , 素子の熱破壊に至ることがあります。使用
に際しては , 十分に注意してください。
● 未使用端子の処理
入力に用いる未使用端子を開放のままにしておくと,誤動作およびラッチアップによる
永久破壊の原因になることがあります。使用していない入力端子は , 2 kΩ 以上の抵抗
を介して , プルアップまたはプルダウンの処置をしてください。使用していない入出力
端子は , 出力状態に設定して開放とするか , 入力状態に設定して入力端子と同じ処理を
してください。使用していない出力端子は開放としてください。
● A/D コンバータ未使用時の端子処理
A/D コンバータを使用しない場合は , AVCC = AVRH = VCC, AVSS = VSS となるよう
に接続してください。
● 電源端子 (VCC/VSS) の取扱い
VCC または VSS が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を防止
するためにデバイス内部で同電位にすべきもの同士を接続してあります。不要輻射の
低減 , グランドレベルの上昇によるストローブ信号の誤動作の防止 , 総出力電流規格を
遵守などのため , 必ずすべての VCC と VSS を外部で電源およびグランドに接続してく
ださい。また , 電源供給源と本デバイスの VCC 端子と VSS 端子は低インピーダンスで
接続してください。
本デバイスの近くで , VCC と VSS の間に 0.1 μF 程度のセラミックコンデンサをバイパ
スコンデンサとして接続することをお勧めします。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
21
第 1 章 概要
1.7 デバイス使用上の注意
MB90330A シリーズ
● 水晶発振回路
X0/X1 端子および X0A/X1A 端子の近くにノイズがあると , デバイスの誤動作の原因と
なる可能性があります。X0/X1, X0A/X1A, 水晶発振子 ( またはセラミック発振子 ) およ
びグランドへのバイパスコンデンサをできるだけデバイスの近くに配置するようにプ
リント板を設計してください。
グランドで X0/X1 端子および X0A/X1A 端子を取り囲むようにプリント板アートワー
クを設計すると , 安定した動作が得られますので , この設計を強く推奨します。
各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。
● 外部クロック使用時の注意
外部クロックをご使用になる場合は , 外部端子を図 1.7-1 のように接続してください。
図 1.7-1 に外部クロック使用方法を示します (f=7 MHz 以下 ) 。
図 1.7-1 外部クロック使用方法
X0
開放
X1
● 供給電源の安定化
VCC 電源電圧の動作範囲内においても , 電源電圧の急激な変化があると誤動作を生じ
ることがあります。安定化の基準として , 商用周波数 (50 Hz / 60 Hz) での VCC リップ
ル変動 (P-P 値 ) は , 標準 VCC 値の 10% 以下になるように , また 電源の切換え時などの
瞬時変化においては , 過渡変動率が 0.1 V/ms 以下になるように電源電圧を安定させて
ください。
● 低電圧使用時の水晶発振回路
2.0 V 以下の電圧でご使用の場合には , 電源 ON 時に外部の水晶発振子が発振しない場
合があります。このため , 外部クロックの使用を推奨致します。
● 2 系統品を 1 系統で使用する場合
2 系統である MB90330A シリーズを 1 系統で使用する場合 , X0A=VSS : X1A= 開放とし
て使用してください。
● フラッシュメモリへの書込みについて
フラッシュメモリへのシリアル書込みは , 必ず , 動作電圧 :VCC=3.13 V ∼ 3.6 V 内で行っ
てください。
フラッシュメモリへの通常書込みは , 必ず , 動作電圧 :VCC=3.0 V ∼ 3.6 V 内で行ってく
ださい。
● PLL クロックモード動作中の注意について
本マイコンで PLL クロックを選択しているときに発振子が外れたり , あるいはクロッ
ク入力が停止した場合 , 本マイコンは PLL 内部の自励発振回路の自走周波数で動作を
継続する場合があります。この動作は保証外の動作です。
22
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 1 章 概要
1.7 デバイス使用上の注意
● シリアル通信について
シリアル通信においては,ノイズなどにより間違ったデータを受信する可能性がありま
す。そのため , ノイズを抑えるボードの設計をしてください。
また , 万が一ノイズなどの影響により誤ったデータを受信した場合を考慮し , 最後に
データのチェックサムなどを付加してエラー検出を行ってください。エラーが検出さ
れた場合には , 再送を行うなどの処理をしてください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
23
第 1 章 概要
1.7 デバイス使用上の注意
24
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第2章
CPU
CPU の機能と動作について説明します。
2.1 CPU の概要
2.2 メモリ空間
2.3 リニア方式によるアドレス指定
2.4 バンク方式によるアドレス指定
2.5 メモリ空間における多バイト長データ
2.6 レジスタ
2.7 レジスタバンク
2.8 プリフィックスコード
2.9 割込み抑止命令
管理番号 : CM44-00101-2
固有箇所 : 26, 26
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
25
第 2 章 CPU
2.1 CPU の概要
2.1
MB90330A シリーズ
CPU の概要
F2MC-16LX CPU コアは , 民生用・車載用機器などの高速リアルタイム処理が要求さ
れる用途向けに設計された 16 ビット CPU です。F2MC-16LX の命令セットはコン
トローラ用途向けに設計されており , 各種制御の高速・高効率処理が可能です。
■ CPU の概要
F2MC-16LX CPU コアは 16 ビットデータ処理はもちろん , 内部に 32 ビットアキュム
レータを塔載しているため 32 ビットデータ処理も可能です。メモリ空間は最大 16M バ
イト ( 拡張可能 ) , リニア方式およびバンク方式のいずれかにてアクセス可能です。ま
た , 命令体系は F2MC-8L の A-T アーキテクチャをベースに , 高級言語対応命令の追加・
アドレッシングモードの拡張・乗除算命令の強化・ビット処理の充実化により命令が
強化されています。
以下に , F2MC-16LX CPU の特長を示します。
● 最小命令実行時間
• 41.7 ns ( マシンクロック 24 MHz のとき )
• マシンクロックの周波数は , 品種によって異なります。
● 最大メモリ空間
16M バイト , リニア / バンク方式にてアクセス
● コントローラ用途に最適化された命令体系
• 豊富なデータタイプビット / バイト / ワード / ロングワード
• 拡張されたアドレッシングモード 23 種類
• 32 ビットアキュムレータの採用による高精度演算 (32 ビット長 ) の強化
● 強力な割込み機能
8 つの優先順位 ( プログラマブル )
● CPU に依存しない自動転送機能
• 最大 16 チャネルまでの拡張インテリジェント I/O サービス (EI2OS)
• 最大 16 チャネルまでの DMA 転送 (μDMAC)
• DMA 転送 (μDMAC) は , 品種により内蔵していない場合があります。
● 高級言語 (C 言語 ) / マルチタスクに対応した命令体系
システムスタックポイントの採用 / 命令セットの対称性 / バレルシフト命令
● 実行速度の向上
4 バイトのキュー
26
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 2 章 CPU
2.2 メモリ空間
MB90330A シリーズ
メモリ空間
2.2
F2MC-16LX CPU は , 16M バイトのメモリ空間を持ちます。
■ CPU メモリ空間の概要
F2MC-16LX CPU が管理するデータ・プログラム・I/O はすべて F2MC-16LX CPU の 16M
バイトのメモリ空間のいずれかに配置されます。CPU は 24 ビットのアドレスバスでこ
れらのアドレスを示すことにより , 各リソースにアクセスできます。
図 2.2-1 に , F2MC-16LX システムとメモリマップの関係例を示します。
図 2.2-1 F2MC-16LX システムとメモリマップの関係例
F2MC-16LXデバイス
FFFFFFH
FFFC00H
プログラム
FF0000H*1
ベクタテーブル領域
プログラム領域
ROM 領域
100000H
外部領域*3
010000H
周辺回路
008000H
2
F MC-16LX
CPU
内部データバス
007900H
001900H*2
データ
EI2OS
000380H
000180H
000100H
ROM領域
(FFバンクのイメージ)
周辺機能制御
レジスタ領域
データ領域
汎用レジスタ
EI2OS
ディスクリプタ領域
I/O 領域
RAM 領域
外部領域*3
周辺回路
割込み
周辺回路
0000F0H
0000C0H
0000B0H
000020H
汎用ポート
000000H
周辺機能制御
レジスタ領域
割込み制御
レジスタ領域
周辺機能制御
レジスタ領域
I/Oポート制御
レジスタ領域
I/O 領域
*1: 品種によって , 内蔵 ROM の容量が異なります。
*2: 品種によって , 内蔵 RAM の容量が異なります。
*3: シングルチップモードの場合には , アクセスなしとします。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
27
第 2 章 CPU
2.2 メモリ空間
MB90330A シリーズ
■ ROM 領域
● ベクタテーブル領域 ( アドレス : FFFC00H ∼ FFFFFFH)
• リセットと割込みおよび CALLV ベクタに対応したベクタテーブルです。
• ROM 領域の最上位に割り当てられており , それぞれのベクタテーブルのアドレス
に , 対応する処理ルーチンの開始アドレスをデータとして設定します。
● プログラム領域 ( アドレス : ∼ FFFBFFH)
• 内部プログラム領域として ROM が内蔵されています。
• 内部 ROM 容量は , 品種によって異なります。
■ RAM 領域
● データ領域 ( アドレス : 000100H ∼ 0018FFH (6 K バイトの場合 ) )
• 内部データ領域として , スタティック RAM が内蔵されています。
• 内部 RAM 容量は , 品種によって異なります。
● 汎用レジスタ領域 ( アドレス : 000180H ∼ 00037FH)
• 8 ビット , 16 ビット , 32 ビットの演算や転送に使用する補助的なレジスタを配置し
ます。
• RAM 領域の一部に割り当てられており , 通常の RAM として使用することもできま
す。
• 汎用レジスタとして使用すると , 汎用レジスタアドレッシングによって短い命令で
高速にアクセスできます。
● 拡張インテリジェント I/O サービス (El2OS) ディスクリプタ領域
( アドレス 0000100H ∼ 00017FH)
• 転送モード , I/O のアドレス , 転送数およびバッファアドレスを保持します。
• RAM 領域の一部に割り当てられており , 通常の RAM として使用することもできま
す。
■ I/O 領域
● 割込み制御レジスタ領域 ( アドレス : 0000B0H ∼ 0000BFH)
割込み制御レジスタ (ICR00∼ICR15) は, 割込み機能を持つすべての周辺機能に対応し,
割込みレベルの設定 , および拡張インテリジェント I/O サービス (EI2OS) の制御を行い
ます。
● 周辺機能制御レジスタ領域
( アドレス : 000020H ∼ 0000AFH, 0000C0H ∼ 0000EFH, 007900H ∼ 007FFFH)
周辺機能およびデータの入出力を制御します。
● I/O ポート制御レジスタ領域 ( アドレス : 000000H ∼ 00001FH)
I/O ポートおよびデータの入出力を制御します。
28
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 2 章 CPU
2.2 メモリ空間
■ アドレス作成の方式
F2MC-16LX のアドレス指定には , 以下に示す 2 つの方式があります。
● リニア方式
24 ビットアドレスを命令により指定する方式
● バンク方式
アドレス上位 8 ビットを用途に応じたバンクレジスタで , アドレス下位 16 ビットを命
令により指定する方式
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
29
第 2 章 CPU
2.3 リニア方式によるアドレス指定
2.3
MB90330A シリーズ
リニア方式によるアドレス指定
リニア方式には以下に示す 2 つの方式があります。
• 24 ビットオペランド指定………オペランドにて直接 24 ビットのアドレスを指定
する方式
• 32 ビットレジスタ間接指定……32 ビットの汎用レジスタの内容の下位 24 ビット
をアドレスとして使用する方式
■ 24 ビットオペランド指定
図 2.3-1 にリニア方式 (24 ビットオペランド指定 ) の例を , 図 2.3-2 にリニア方式 (32
ビットレジスタ間接指定 ) の例を示します。
図 2.3-1 リニア方式 (24 ビットオペランド指定 ) の例
JMPP 123456H
17452DH
旧プログラムカウンタ
17
+ プログラムバンク
452D
JMPP 123456H
123456H
次の命令
新プログラムカウンタ
12
+ プログラムバンク
3456
図 2.3-2 リニア方式 (32 ビットレジスタ間接指定 ) の例
MOV A,@RL1+7
旧 AL
090700H
XXXX
3AH
7
RL1
240906F9H
( 上位 8 ビットは無視 )
新 AL
30
003A
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
2.4
第 2 章 CPU
2.4 バンク方式によるアドレス指定
バンク方式によるアドレス指定
バンク方式は 16M バイトの空間を 64 K バイトごとの 256 個のバンクに分割し , 以
下に示す 5 つのバンクレジスタで各空間に対応するバンクを指定します。
• プログラムカウンタバンクレジスタ (PCB)
• データバンクレジスタ (DTB)
• ユーザスタックバンクレジスタ (USB)
• システムスタックバンクレジスタ (SSB)
• アディショナルデータバンクレジスタ (ADB)
■ バンク方式によるアドレス指定
● プログラムカウンタバンクレジスタ (PCB) による指定
プログラムカウンタバンクレジスタ (PCB) によって指定される 64 K バイトのバンクを
プログラム (PC) 空間とよび , 主として命令コードやベクタテーブル , 即値データなど
が存在します。
● データバンクレジスタ (DTB) による指定
データバンクレジスタ (DTB) によって指定される 64 K バイトのバンクをデータ (DT)
空間とよび , 主として読み書き可能なデータや内外リソースの制御 / データレジスタな
どが存在します。
● ユーザスタックバンクレジスタ (USB)・システムスタックバンクレジスタ (SSB) による指定
ユーザスタックバンクレジスタ (USB) またはシステムスタックバンクレジスタ (SSB)
によって指定される 64 K バイトのバンクをスタック (SP) 空間とよび , プッシュ / ポッ
プ命令や割込みのレジスタ退避などのときにスタックアクセスが発生したときにアク
セスされる領域です。どちらの空間が使用されるかはコンディションコードレジスタ
中の S フラグの値に依存します。
● アディショナルデータバンクレジスタ (ADB) による指定
アディショナルデータバンクレジスタ (ADB) によって指定される 64 K バイトのバンク
をアディショナル (AD) 空間とよび , 主として DT 空間に入りきらなかったデータなど
が存在します。
表 2.4-1 に示すように , 命令のコード効率を向上させるために各アドレッシングモード
で使用されるデフォルト空間が事前に決められています。また , あるアドレッシングを
使用したときにデフォルト以外の空間を使用したいときは , 各バンクに対応している
プリフィックスコードを命令に先行して指定することにより , そのプリフィックス
コードに対応した任意のバンク空間をアクセスできます。
DTB, USB, SSB, ADB はリセットにより "00H" に初期化され , PCB はリセットベクタに
より指定された値に初期化されます。リセット後 , DT, SP, AD の各空間はバンク "00H"
(000000H ∼ 00FFFFH) に配置され , PC 空間はリセットベクタにより指定されたバンク
に配置されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
31
第 2 章 CPU
2.4 バンク方式によるアドレス指定
MB90330A シリーズ
表 2.4-1 デフォルト空間
デフォルト空間
プログラム空間
アドレッシング
PC 間接 , プログラムアクセス , 分岐系
データ空間
@RW0,@RW1,@RW4,@RW5 を使用したアドレッシング ,
@A,addr16,dir
スタック空間
PUSHW, POPW,@RW3,@RW7 を使用したアドレッシング
アディショナル空間
@RW2,@RW6 を使用したアドレッシング
図 2.4-1 に , レジスタバンクに分割されたメモリ空間の物理アドレス例を示します。
図 2.4-1 各空間の物理アドレス例
FFFFFFH
プログラム空間
FF0000H
FFH
:PCB( プログラムカウンタバンクレジスタ )
B3H
:ADB( アディショナルデータバンクレジスタ )
92H
:USB ( ユーザスタックバンクレジスタ )
68H
:DTB ( データバンクレジスタ )
4BH
:SSB ( システムスタックバンクレジスタ )
B3FFFFH
アディショナル空間
B30000H
物
理
ア
ド
レ
ス
92FFFFH
ユーザスタック空間
920000H
68FFFFH
データ空間
680000H
4BFFFFH
システムスタック空間
4B0000H
000000H
32
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 2 章 CPU
2.5 メモリ空間における多バイト長データ
MB90330A シリーズ
メモリ空間における多バイト長データ
2.5
多バイト長のデータは , データの LSB 側のバイトから MSB 側のバイトの順番で ,
メモリ空間の下位アドレスから上位アドレスに配置されます。
■ メモリ空間における多バイト長データの配置
メモリへの書込みはアドレスの低い方から順に行われます。したがって , 32 ビット長
データの場合には下位 16 ビットが先に転送され , 続いて上位 16 ビットが転送されま
す。
なお , 下位データの書込み直後にリセット信号を入力すると上位データが書き込まれ
ないことがあります。
図 2.5-1 に , メモリにおける多バイト長データの構成を示します。データは下位 8 ビッ
トが n 番地に , 以下 n+1 番地 , n+2 番地 , n+3 番地・・・の順に配置されます。
図 2.5-1 メモリにおける多バイト長データの配置の例
MSB
"H"
LSB
01010101B
11001100B
11111111B
00010100B
01010101B
11001100B
11111111B
00010100B
n 番地
"L"
■ 多バイト長データのアクセス
アクセスはすべてバンク内を基本にして行われますので , 多バイト長のデータをアク
セスする命令では , FFFFH 番地の次のアドレスは同じバンクの 0000H 番地になります。
図 2.5-2 に , 多バイト長データのアクセス命令の例を示します。
図 2.5-2 MOVW A, FFFFH の実行
"H"
80FFFFH
実行前の AL
??
??
実行後のAL
23H
01H
01H
·
·
·
800000H
23H
"L"
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
33
第 2 章 CPU
2.6 レジスタ
2.6
MB90330A シリーズ
レジスタ
F2MC-16LX のレジスタは大別して , 専用レジスタと汎用レジスタの 2 種類に分ける
ことができます。
専用レジスタは , CPU の内部に専用ハードウェアとして存在し , 使用する用途が
CPU のアーキテクチャ上で限定されています。
汎用レジスタは , 通常のメモリと同じく , 使用する用途をユーザが指定することがで
きます。CPU のアドレス空間上に RAM と共存し , アドレスを指定しないでアクセ
スできるという点では専用レジスタと同じです。
■ 専用レジスタ
F2MC-16LX CPU コアの専用レジスタは以下に示す 11 本があります。
• アキュムレータ (A=AH:AL).................................... 16 ビット× 2 本のアキュムレータ
(合計32ビットのアキュムレータと
しても使用可能 )
• ユーザスタックポインタ (USP).............................. ユーザスタック領域を示す 16 ビッ
トのポインタ
• システムスタックポインタ (SSP) .......................... システムスタック領域を示す16ビッ
トのポインタ
• プロセッサステータス (PS)..................................... システムの状態を示す 16 ビットの
レジスタ
• プログラムカウンタ (PC) ........................................ プログラムが格納されているアド
レスを持つ 16 ビットのレジスタ
• プログラムカウンタバンクレジスタ (PCB) ......... PC 空間を示す 8 ビットのレジスタ
• データバンクレジスタ (DTB) ................................. DT 空間を示す 8 ビットのレジスタ
• ユーザスタックバンクレジスタ (USB) ................. ユーザスタック空間を示す8ビット
のレジスタ
• システムスタックバンクレジスタ (SSB).............. システムスタック空間を示す8ビッ
トのレジスタ
• アディショナルデータバンクレジスタ (ADB)..... AD 空間を示す 8 ビットのレジスタ
• ダイレクトページレジスタ (DPR) ......................... ダイレクトページを示す8ビットの
レジスタ
図 2.6-1 に , 専用レジスタの構成を示します。
34
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 2 章 CPU
2.6 レジスタ
MB90330A シリーズ
図 2.6-1 専用レジスタ
アキュムレータ
AL
AH
USP
ユーザスタックポインタ
SSP
システムスタックポインタ
PS
プロセッサステータス
PC
プログラムカウンタ
DPR
ダイレクトページレジスタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
USB
ユーザバンクレジスタ
SSB
システムスタックバンクレジスタ
ADB
アディショナルデータバンクレジスタ
8ビット
16ビット
32ビット
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
35
第 2 章 CPU
2.6 レジスタ
MB90330A シリーズ
■ 汎用レジスタ
図 2.6-2 に示すように , F2MC-16LX の汎用レジスタは主記憶の 000180H ∼ 00037FH ( 最大
の場合 ) に存在し , レジスタバンクポインタ (RP) によって先に述べたアドレスのどの部分
が現在使用中のレジスタバンクであるかを指定します。各バンクには以下に示す 3 種類の
レジスタが存在します。これらは独立ではなく , 以下に示すような関係があります。
• R0 ∼ R7
:8 ビットの汎用レジスタ
• RW0 ∼ RW7 :16 ビットの汎用レジスタ
• RL0 ∼ RL3
:32 ビットの汎用レジスタ
図 2.6-2 汎用レジスタ
MSB
LSB
16 ビット
000180H RP × 10 H
RW0
下位
RL0
汎用レジスタの先頭アドレス
RW1
RW2
RL1
RW3
R1
R0
RW4
R3
R2
RW5
R5
R4
RW6
R7
R6
RW7
RL2
RL3
上位
バイトレジスタとワードレジスタの上位 / 下位バイトの関係は ,
RW(i+4)=R(i × 2+1) × 256 + R(i × 2) [i=0 ∼ 3]
という式で表すことができ , RLi の上位・下位と RW の関係は
RL(i)=RW(i × 2+1) × 65536 + RW(i × 2) [i=0 ∼ 3]
という式で表すことができます。
36
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 2 章 CPU
2.6 レジスタ
MB90330A シリーズ
2.6.1
アキュムレータ (A)
アキュムレータ (A) レジスタは , 2 つの 16 ビット長の演算用レジスタ AH および AL
で構成され , 演算などを行ったときの結果やデータ転送の一時記憶などに使用され
ます。
■ アキュムレータ (A)
アキュムレータ (A) レジスタでは , 図 2.6-3 に示すように , 32 ビットデータ処理時は AH
と AL を連結して使用します。また , 図 2.6-4 に示すように , 16 ビットデータ処理のワー
ド処理や 8 ビットデータ処理のバイト処理のときは AL のみが使用されます。A レジ
スタ中のデータはメモリ / レジスタ (Ri, RWi, RLi) 中のデータと各種演算ができ , F2MC8L と同様 , F2MC-16LX でも基本的にワード長以下のデータを AL へ転送すると , 転送
前の AL 中のデータが自動的に AH に転送されます ( データ保持機能 ) 。したがって ,
データ保持機能と AL-AH 間演算において各種処理効率を上げることが可能になりま
す。
AL へのバイト長以下のデータの転送時は , データは符号拡張またはゼロ拡張され 16
ビット長となり AL へ格納されます。AL 中のデータは , ワード長としてもバイト長と
しても扱えます。AL にバイト処理の算術演算命令を実行すると , 演算前の AL の上位
8 ビットは無視されて演算結果の上位 8 ビットがすべて "0" になります。A レジスタは ,
リセットでは初期化されず , リセット直後は不定値になります。
図 2.6-3 32 ビットデータ転送例
MOVL A,@RW1+6
実行前の A
XXXXH
MSB
XXXXH
DTB
実行後の A
A6H
8F74H
2B52H
AH
AL
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
RW1
図 2.6-4 AL-AH 転送例
MSB
MOVW A,@RW1+6
実行前の A
XXXXH
1234H
DTB
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
A6H
+6
実行後の A
CM44-10129-6
1234H
2B52H
RW1
FUJITSU MICROELECTRONICS LIMITED
37
第 2 章 CPU
2.6 レジスタ
2.6.2
MB90330A シリーズ
ユーザスタックポインタ (USP) とシステムスタック
ポインタ (SSP)
ユーザスタックポインタ (USP) およびシステムスタックポインタ (SSP) は , 16 ビッ
トのレジスタであり , プッシュ / ポップ命令およびサブルーチン実行時のデータ退避 /
復帰のメモリアドレスを示します。
■ ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP)
図 2.6-5 に示すように , ユーザスタックポインタ (USP) とシステムスタックポインタ
(SSP) は , スタック系の命令により使用されますが , プロセッサステータス中の S フラ
グが "0" のときは USP レジスタが有効になり , S フラグが "1" のときは SSP レジスタが
有効になります。また , 割込みが受け付けられると S フラグがセットされるため , 割込
み時のレジスタ退避は必ず SSP の示すメモリ中に行われます。割込みルーチンでのス
タック処理は SSP で , 割込みルーチン以外のスタック処理には USP が使用されます。
スタック空間を分ける必要のない場合には SSP だけを使用してください。
スタック時のアドレスの上位 8 ビットは , SSP → SSB, USP → USB により示されます。
また , USP および SSP は , リセットでは初期化されず , 不定値になります。
図 2.6-5 スタック操作命令とスタックポインタ
S フラグが "0" のときの PUSHW A の例
実行前
AL
S フラグ
実行後
AL
S フラグ
MSB
C6F326H
LSB
A624H
USB
C6H
USP
F328H
0
SSB
56H
SSP
1234H
A624H
USB
C6H
USP
F326H
0
SSB
56H
SSP
1234H
C6F326H
A6H
24H
A624H
USB
C6H
USP
F328H
561232H
XX
XX
1
SSB
56H
SSP
1234H
A624H
USB
C6H
USP
F328H
561232H
A6H
24H
1
SSB
56H
SSP
1232H
XX
XX
S フラグが "0" であるため
システムスタックを使用
S フラグが "1" のときの PUSHW A の例
AL
S フラグ
AL
S フラグ
S フラグが "1" であるため
システムスタックを使用
< 注意事項 >
スタックポインタに設定する値は , 原則として偶数アドレスを使用してください。
38
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 2 章 CPU
2.6 レジスタ
MB90330A シリーズ
プロセッサステータス (PS)
2.6.3
プロセッサステータス (PS) は , CPU の動作を制御するビットと CPU の状態を示す
ビットより構成されています。
■ プロセッサステータス (PS)
図 2.6-6 に示すように , プロセッサステータス (PS) の上位バイトはレジスタバンクの先
頭アドレスを示す割込みレベルマスクレジスタ (ILM) およびレジスタバンクポインタ
(RP) より構成されます。PS の下位バイトは命令実行結果および割込み発生などにより
セット / リセットされる各種フラグで構成されているコンディションコードレジスタ
(CCR) となります。
図 2.6-6 プロセッサステータス (PS) の構造
bit
15
13
PS
12
8
ILM
7
0
RP
CCR
■ コンディションコードレジスタ (CCR)
図 2.6-7 に , コンディションコードレジスタ (CCR) の構造を示します。
図 2.6-7 コンディションコードレジスタ (CCR) の構成
bit
初期値
7
6
5
4
3
2
1
0
-
I
S
T
N
Z
V
C
: CCR
-
0
1
*
*
*
*
*
* : 不定値
● 割込み許可フラグ (I)
ソフトウェア割込み以外のすべての割込み要求に対して I が "1" のときには割込みが許
可され, "0"のときには割込みが禁止されます。リセットによって"0"にクリアされます。
● スタックフラグ (S)
S が "0" のときはスタック操作用ポインタとして USP が有効 , "1" のときは SSP が有効
になります。割込み受付け時およびリセット時には "1" にセットされます。
● スティッキィビットフラグ (T)
論理右 / 算術右シフト命令を実行後にキャリによってシフトアウトされたデータに 1 つ
以上 "1" がある場合には "1", それ以外は "0" となります。シフト量がゼロの場合も "0"
となります。
● ネガティブフラグ (N)
演算結果の MSB が "1" の場合には N フラグは "1" にセットされ , それ以外は "0" にク
リアされます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
39
第 2 章 CPU
2.6 レジスタ
MB90330A シリーズ
● ゼロフラグ (Z)
演算結果がすべて "0" の場合には "1" にセットされ , それ以外は "0" にクリアされます。
● オーバフローフラグ (V)
演算の実行により符号付き数値としてオーバフローが発生すると "1" にセットされ , 発
生しないと "0" にクリアされます。
● キャリフラグ (C)
演算の実行により MSB より桁上り / 桁下りが発生すると "1" にセットされ , 発生しな
いと "0" にクリアされます。
■ レジスタバンクポインタ (RP)
図 2.6-8 に示すように , レジスタバンクポインタ (RP) は , F2MC-16LX の汎用レジスタ
とそれが存在する内部 RAM のアドレスとの関係を示すレジスタで , 現在使用中のレジ
スタバンクの先頭のメモリアドレスを [000180H+(RP)× 10H] という変換式で示します。
RP は 5 ビットにより構成されており "00H" ∼ "1FH" までの値をとることができ , 000180H ∼
00037FH のメモリ中にレジスタバンクを配置できます。ただし , この範囲内であっても
内部RAM以外の場合には汎用レジスタとして使用することはできません。
RPはリセッ
トによりすべて "0" に初期化されます。命令上では RP に 8 ビットの即値を転送できま
すが , 実際に使用されるのはそのデータの下位 5 ビットのみです。
図 2.6-8 レジスタバンクポインタ (RP)
初期値
B4
B3
B2
B1
B0
0
0
0
0
0
: RP
■ 割込みレベルマスクレジスタ (ILM)
図 2.6-9 に示すように , 割込みレベルマスクレジスタ (ILM) は 3 ビットから構成されて
おり , CPU の割込みマスクのレベルを示します。この 3 ビットにより示されるレベル
より強いレベルの割込み要求のみが受け付けられます。図 2.6-1 に示すように , レベル
の強弱は "0" が最強で , "7" が最弱と定義されています。したがって , 割込みが受け付
けられるためには , 現状の ILM の保持値より小さい値の要求でなければなりません。
割込みが受け付けられるとその割込みのレベル値が ILM に設定され , これ以降の同じ
かそれより低い優先順位の割込みは受け付けられなくなります。ILM はリセットによ
りすべて "0" に初期化されます。命令上では ILM に 8 ビットの即値を転送できますが ,
実際に使用されるのはそのデータの下位 3 ビットのみです。
図 2.6-9 割込みレベルマスクレジスタ (ILM)
初期値
40
ILM2
ILM1
ILM0
0
0
0
: ILM
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 2 章 CPU
2.6 レジスタ
MB90330A シリーズ
表 2.6-1 割込みレベルマスクレジスタ (ILM) で示されるレベルの強弱
ILM2
ILM1
ILM0
レベル値
0
0
0
0
割込み禁止
0
0
1
1
1 より小さい値のレベル (0 のみ )
0
1
0
2
2 より小さい値のレベル (0, 1)
0
1
1
3
3 より小さい値のレベル (0, 1, 2)
1
0
0
4
4 より小さい値のレベル (0, 1, 2, 3)
1
0
1
5
5 より小さい値のレベル (0, 1, 2, 3, 4)
1
1
0
6
6 より小さい値のレベル (0, 1, 2, 3, 4, 5)
1
1
1
7
7 より小さい値のレベル (0, 1, 2, 3, 4, 5, 6)
CM44-10129-6
許可される割込みレベル
FUJITSU MICROELECTRONICS LIMITED
41
第 2 章 CPU
2.6 レジスタ
2.6.4
MB90330A シリーズ
プログラムカウンタ (PC)
プログラムカウンタ (PC) は , CPU が実行すべき命令コードのメモリアドレスの下位
16 ビットを示します。
■ プログラムカウンタ (PC)
プログラムカウンタ (PC) は , 16 ビットのカウンタであり , CPU が実行すべき命令コー
ドのメモリアドレスの下位 16 ビットを示します。上位 8 ビットアドレスは PCB によ
り示されます。PC は条件分岐命令 , サブルーチンコール命令 , 割込み , リセットなどに
より内容が更新されます。また , オペランドアクセス時のベースポインタとして使用す
ることもできます。
図 2.6-10 に , プログラムカウンタを示します。
図 2.6-10 プログラムカウンタ
PCB
FEH
PC
ABCDH
次に実行する命令
FEABCDH
42
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
2.6.5
第 2 章 CPU
2.6 レジスタ
バンクレジスタ (PCB, DTB, USB, SSB, ADB)
バンクレジスタは , プログラム空間 , データ空間 , ユーザスタック空間 , システムス
タック空間 , アディショナル空間の配置されるメモリバンクを示します。
■ バンクレジスタ (PCB, DTB, USB, SSB, ADB)
バンクレジスタには , 以下に示す 5 つのレジスタがあります。
• プログラムカウンタバンクレジスタ (PCB) < 初期値 : リセットベクタ中の値 >
• データバンクレジスタ (DTB) < 初期値 :00H>
• ユーザスタックバンクレジスタ (USB) < 初期値 :00H>
• システムスタックバンクレジスタ (SSB) < 初期値 :00H>
• アディショナルデータバンクレジスタ (ADB)< 初期値 :00H>
各バンクレジスタは , PC, DT, SP( ユーザ ), SP( システム ), AD の各空間が配置されるメ
モリバンクを示します。
すべてのバンクレジスタは 1 バイト長であり , リセットにより PCB は "00H" に初期化
されます。PCB 以外のバンクレジスタは読出しのみができます。PCB も読出しできま
すが , 書込みはできません。
16M バイト全空間に分岐する JMPP, CALLP, RETP, RETI, RETF 命令実行中 , または割
込み発生時に PCB は更新されます。各レジスタの動作は ,「2.2 メモリ空間」を参照し
てください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
43
第 2 章 CPU
2.6 レジスタ
2.6.6
MB90330A シリーズ
ダイレクトページレジスタ (DPR)
ダイレクトページレジスタ (DPR) は , ダイレクトアドレッシングモードのアドレス
8 ∼アドレス 15 を指定します。
■ ダイレクトページレジスタ (DPR) < 初期値 :01H>
ダイレクトページレジスタ (DPR) は , 図 2.6-11 に示すように , ダイレクトアドレッシン
グモードでの命令オペランドのアドレス 8 ∼アドレス 15 を指定します。DPR は 8 ビッ
ト長であり , リセットにより "01H" に初期化されます。また , 命令により読出し / 書込
みができます。
図 2.6-11 に , ダイレクトアドレッシングモードにおける物理アドレスの生成を示しま
す。
図 2.6-11 ダイレクトアドレッシングモードにおける物理アドレスの生成
DTBレジスタ
ααααααααα
DPRレジスタ
ββββββββ
命令中のダイレクトアドレス
γγγγγγγγ
MSB
LSB
24ビット
物理アドレス
αααααααααββββββββγγγγγγγγ
44
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 2 章 CPU
2.7 レジスタバンク
MB90330A シリーズ
2.7
レジスタバンク
レジスタバンクは 8 ワードで構成され , バイトレジスタ (R0 ∼ R7), ワードレジスタ
(RW0 ∼ RW7), ロングワードレジスタ (RL0 ∼ RL3) の汎用レジスタとして各種演算 ,
ポインタとして各種命令に使用できます。(RL0 ∼ RL3) は , メモリ空間の全空間を直
接アクセスするリニアポインタとしても使用できます。
■ レジスタバンク
表 2.7-1 に , 各レジスタの機能を , 表 2.7-2 に各レジスタの関係を示します。
レジスタバンクの内容は , 通常の RAM 同様にリセットでは初期化されず , リセット前
の状態が保持されます。ただし , パワーオン時は不定値になります。
表 2.7-1 各レジスタの機能
R0 ∼ R7
各種命令のオペランドとして使用
( 注意事項 ) R0 はバレルシフトのカウンタおよびノーマライズ命
令のカウンタとしても使用
RW0 ∼ RW7
ポインタ , 各種命令のオペランドとして使用
( 注意事項 ) RW0 はストリング命令のカウンタとしても使用
RL0 ∼ RL3
ロングポインタ , 各種命令のオペランドとして使用
表 2.7-2 各レジスタの関係
アドレス
バイトレジスタ
000180H + RP × 10H + 0
ワードレジスタ
ロングワードレジスタ
RW0
000180H + RP × 10H + 1
RL0
000180H + RP × 10H + 2
RW1
000180H + RP × 10H + 3
000180H + RP × 10H + 4
RW2
000180H + RP × 10H + 5
RL1
000180H + RP × 10H + 6
RW3
000180H + RP × 10H + 7
000180H + RP × 10H + 8
R0
000180H + RP × 10H + 9
R1
000180H + RP × 10H + 10
R2
000180H + RP × 10H + 11
R3
000180H + RP × 10H + 12
R4
000180H + RP × 10H + 13
R5
000180H + RP × 10H + 14
R6
000180H + RP × 10H + 15
R7
CM44-10129-6
RW4
RL2
RW5
RW6
RL3
RW7
FUJITSU MICROELECTRONICS LIMITED
45
第 2 章 CPU
2.8 プリフィックスコード
2.8
MB90330A シリーズ
プリフィックスコード
命令の前にプリフィックスコードを置くことで , 命令動作の一部を変更することが
できます。プリフィックスコードには , バンクセレクトプリフィックス , コモンレジ
スタバンクプリフィックス , フラグ変化抑止プリフィックスの 3 種類があります。
■ バンクセレクトプリフィックス
データアクセスのときに使用されるメモリ空間はアドレッシングごとに定められてい
ます。バンクセレクトプリフィックスを命令の前に置くことで , 命令によるデータアク
セスのメモリ空間をアドレッシングモードとは無関係に任意に選択することができま
す。
表 2.8-1 に , バンクセレクトプリフィックスと選択されるメモリ空間を示します。
表 2.8-1 バンクセレクトプリフィックス
バンクセレクト
プリフィックス
選択される空間
PCB
PC 空間
DTB
データ空間
ADB
AD 空間
SPB
そのときのスタックフラグの内容により SSP 空間 , USP 空間の
どちらかが使用されます。
ただし , 以下に示す命令に対しては注意してください。
● ストリング命令 [MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW]
プリフィックスの有無にかかわらず , オペランド指定されたバンクレジスタを使用し
ます。
● スタック操作命令 [PUSHW / POPW]
プリフィックスの有無にかかわらず , S フラグに応じて SSB または USB を使用します。
● I/O アクセス命令
MOV A,io
MOVW io,A
MOVB io:bp,A
BBS io:bp,rel
MOV io,A
MOV io,#imm8
SETB io:bp
WBTC
MOVX A,io
MOVW io,#imm16
CLRB io:bp
WBTS
MOVW A,io
MOVB A,io:bp
BBC io:bp,rel
プリフィックスの有無にかかわらず , バンクの I/O 空間を使用します。
● フラグ変更命令 [AND CCR,#imm8 / OR CCR,#imm8]
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
46
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 2 章 CPU
2.8 プリフィックスコード
● POPW PS
プリフィックスの有無にかかわらず , S フラグに応じて SSB または USB を使用します。
プリフィックスの効果が次の命令まで及びます。
● MOV ILM,#imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● RETI
プリフィックスの有無にかかわらず , SSB を使用します。
■ コモンレジスタバンクプリフィックス (CMR)
複数のタスク間でのデータ交換を容易にするには , RP がどのような値であっても同一の
レジスタバンクを簡単にアクセスできる手段が必要です。コモンレジスタバンクプリ
フィックス (CMR) をレジスタバンクにアクセスする命令の前に置くことで , 現在の RP
の値とは関係なくその命令のレジスタアクセスをすべて 000180H ∼ 00018FH にあるコモ
ンバンク (RP=0 のときに選択されるレジスタバンク ) に変更することができます。た
だし , 以下に示す命令に対しては注意してください。
● ストリング命令 [MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW]
プリフィックスコードを付加したストリング命令実行中に割込み要求が発生すると ,
割込み復帰後のストリング命令に対しては , プリフィックスが無効であるため誤動作
となります。上記のストリング命令に対しては CMR プリフィックスを付加しないでく
ださい。
● フラグ変更命令 [AND CCR,#imm8 / OR CCR,#imm8 / POPW PS]
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● MOV ILM,#imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
■ フラグ変化抑止プリフィックス (NCC)
フラグ変化を抑止するには , フラグ変化抑止プリフィックスコード (NCC) を使用しま
す。不要フラグ変化を抑止する命令の前に置くことで , 命令実行に伴うフラグ変化を抑
止可能です。ただし , 以下に示す命令に対しては注意してください。
● ストリング命令 [MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW]
プリフィックスコードを付加したストリング命令の実行中に割込み要求が発生すると,
割込み復帰後のストリング命令に対してはプリフィックスが無効であるために誤動作
となります。上記のストリング命令には NCC プリフィックスを付加しないでください。
● フラグ変更命令 [AND CCR,#imm8 / OR CCR,#imm8 / POPW PS]
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● 割込み命令 [INT #vct8 / INT9 / INT addr16 / INTP addr24 / RETI]
プリフィックスの有無にかかわらず , CCR は命令の仕様どおり変化します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
47
第 2 章 CPU
2.8 プリフィックスコード
MB90330A シリーズ
● JCTX @A
プリフィックスの有無にかかわらず , CCR は命令の仕様どおり変化します。
● MOV ILM,imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
48
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 2 章 CPU
2.9 割込み抑止命令
MB90330A シリーズ
2.9
割込み抑止命令
以下に示す 10 種類の命令については , 割込み要求が受け付けられません。
MOV ILM, #imm8
AND CCR, #imm8
PCB
ADB
SPB
CMR
OR CCR, #imm8
POPW PS
NCC
DTB
■ 割込み抑止命令
図 2.9-1 に示すように,この命令実行中に有効なハードウェア割込み要求が発生しても,
割込み処理が行われるのは , この命令以降にこの種類以外の命令が実行された後にな
ります。
図 2.9-1 割込み抑止命令
割込み抑止命令
••••••••
•••
(a)
(a) 普通の命令
割込み要求発生
割込み受付け
■ 割込み抑止命令とプリフィックス命令に関する制約
図 2.9-2 に示すように , 割込み抑止命令の前にプリフィックスコードを付加した場合 ,
プリフィックスコードの効果は , プリフィックスコード後の最初の〔割込み抑止命令以
外の命令〕まで及びます。
図 2.9-2 割込み抑止命令とプリフィックスコード
割込み抑止命令
MOV A, FFH
NCC
••••
MOV ILM,#imm8
ADD A,01H
CCR:XXX10XXB
CCR:XXX10XXB
NCC により CCR は変化しません。
■ プリフィックスコードが連続している場合
図 2.9-3 に示すように , 競合するプリフィックスコードが連続していた場合には後方の
ものが有効になります。
競合するプリフィックスコードとは PCB, ADB, DTB, SPB のことを意味します。
図 2.9-3 プリフィックスコードの連続
プリフィックスコード
•••••
ADB
DTB
PCB
ADD A,01H
•••••
プリフィックスコードは
PCB が有効になります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
49
第 2 章 CPU
2.9 割込み抑止命令
50
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第3章
割込み
この章では , MB90330A シリーズの割込みと拡張
インテリジェント I/O サービス (EI2OS), ダイレク
トメモリアクセスコントローラ (μDMAC) について
説明します。
3.1 割込みの概要
3.2 割込み要因と割込みベクタ
3.3 割込み制御レジスタと周辺機能
3.4 ハードウェア割込み
3.5 ソフトウェア割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込
み
3.7 例外処理割込み
3.8 μDMAC による割込み
3.9 例外
3.10 割込み処理のスタック動作
3.11 割込み処理のプログラム例
3.12 遅延割込み発生モジュール
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
51
第 3 章 割込み
3.1 割込みの概要
3.1
MB90330A シリーズ
割込みの概要
F2MC-16LX にはイベントなどが発生したとき , 現在実行中の処理を中断して , 別に
定義したプログラムへ制御を移す以下の 5 つの割込み機能があります。
• ハードウェア割込み
• ソフトウェア割込み
• 拡張インテリジェント I/O サービス (EI2OS) による割込み
• μDMAC による割込み
• 例外処理
■ 割込みの種類と機能
● ハードウェア割込み
周辺機能からの割込み要求に対して , ユーザの定義した割込み処理用プログラムへ制
御を移行する機能です。
図 3.1-1 ハードウェア割込みの概要
F2MC-16LX バス
マイクロコード
F2MC-16LX
I
PS
レジスタファイル
IR
ILM
チェック
比較器
PS
I
ILM
IR
: プロセッサステータス
: 割込み許可フラグ
: 割込みレベルマスクレジスタ
: インストラクションレジスタ
CPU
周辺
割
込
み
レ
ベ
ル
IL
レ
ベ
ル
比
較
器
許可 FF
AND
要因 FF
割込み
コントローラ
● ソフトウェア割込み
ソフトウェア割込み専用の命令 (INT 命令など ) の実行によって , ユーザの定義した割
込み処理用プログラムへ制御を移行する機能です。
F2MC-16LX バス
図 3.1-2 ソフトウェア割込みの概要
レジスタ
ファイル
PS
S
ILM
B ユニット
マイクロ
コード
F2MC-16LX
I
IR
キュー
CPU
フェッチ
PS
: プロセッサステータス
I
: 割込み許可フラグ
S
: スタックフラグ
ILM : 割込みレベルマスクレジスタ
IR
: インストラクションレジスタ
B ユニット : Bus interface ユニット
退避
命令系バス
RAM
52
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.1 割込みの概要
MB90330A シリーズ
● 拡張インテリジェント I/O サービス (EI2OS) による割込み
EI2OS は周辺機能とメモリ間の自動データ転送機能です。従来 , 割込み処理プログラム
で行っていたデータ転送を DMA( ダイレクトメモリアクセス ) のように行うことがで
きます。指定回数のデータ転送処理が終了すると , 自動的に割込み処理プログラムを実
行します。
EI2OS による割込みは , ハードウェア割込みの一種です。
図 3.1-3 拡張インテリジェント I/O サービス (EI2OS) の概要
メモリ空間
IOA
I/O レジスタ
I/O レジスタ
周辺
割込み要求
CPU
③
ISD
割込み制御レジスタ
②
③
①
ICS
割込みコントローラ
BAP
④
バッファ
DCT
① I/O が転送を要求します。
② 割込みコントローラがディスクリプタ
を選択します。
③ 転送元 / 先をディスクリプタから読み出し
ます。
④ I/O とメモリ間で転送が行われます。
● μDMAC による割込み
μDMAC は周辺機能とメモリ間の自動データ転送機能です。従来 , 割込み処理プログラ
ムで行っていたデータ転送を DMA 転送で行います。指定回数のデータ転送処理が終
了すると , 自動的に割込み処理プログラムを実行します。
μDMAC による割込みはハードウェア割込みの一種です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
53
第 3 章 割込み
3.1 割込みの概要
MB90330A シリーズ
図 3.1-4 ダイレクト・メモリアクセス (DMA) の概要
メモリ空間
IOA
I/O レジスタ
I/O レジスタ
(4)(a)
周辺機能
ディスクリプタ用
RAM
( I/O )
(1)
(2)
(3)
DMA コントローラ
(2)
(4)(b)
BAP
バッファ
CPU
DMA
ディスクリプタ
割込み
コントローラ
DCT
IOA:I/O アドレスポインタ
DER:DMA 許可レジスタ
BAP:バッファアドレスポインタ
DCT:データカウンタ
(1) 周辺リソース (I/O) が DMA 転送を要求します。
(2) DMA 許可レジスタ (DER) の対応するビットが "1" の場合に , DMAC コントローラ
は転送データ ( 転送元アドレス・転送先アドレス・転送チャネル ) をディスクリプタから読み出します。
(3) I/O とメモリ空間で DMA データ転送を開始する。
(4) 1 つのアイテム ( バイト・データまたはワード・データのいずれかの ) 転送後に
(a) 転送終了でないとき (DCT=0 でない ) : 周辺リソースへ DMA 転送要求をクリアすることを要求します。
(b) 転送終了時 (DCT=0 のとき ) : DMA 転送終了後 , DMA ステータスレジスタに転送終了のフラグをセットし ,
割込み要求を割込みコントローラへ出力します。
( 注意事項 ) 内部レジスタ (DSRH, DSRL, DSSR, DERH, DERL) への書込みを行う場合 , リードモディファイライ
ト (RMW) 系の命令を使用してください。
● 例外処理
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項 ( 未定義命令
の実行 ) が発生したことを検出した段階で , 通常処理を中断して行われます。ソフト
ウェア割込み命令の "INT10" と等価です。
54
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.2 割込み要因と割込みベクタ
MB90330A シリーズ
割込み要因と割込みベクタ
3.2
F2MC-16LX には , 256 種類の割込み要因に対応する機能があり , メモリの最上位ア
ドレスに 256 組の割込みベクタテーブルを割り当てています。この割込みベクタは ,
すべての割込みで共有します。
ソフトウェア割込みは , このすべての割込み (INT0 ∼ INT255) を使用できますが , 一
部の割込みベクタはハードウェア割込みや例外処理割込みで共有されています。ま
た , ハードウェア割込みでは , 各周辺機能に対し , 割込みベクタと割込み制御レジス
タ (ICR) が固定されています。
■ 割込みベクタ
割込み処理の際に参照する割込みベクタテーブルは , メモリ領域の最上位アドレス
(FFFC00H ∼FFFFFFH)に割り当てられています。また, 割込みベクタは, EI2OS, μDMAC,
ハードウェア割込み , ソフトウェア割込みおよび例外処理で同じ領域を共有していま
す。割込み番号と割込みベクタの割当てを表 3.2-1 に示します。
表 3.2-1 割込みベクタ一覧表
ソフトウェア
割込み命令
ベクタ
アドレス L
ベクタ
アドレス M
ベクタ
アドレス H
モードデータ
割込み No
ハードウェア
割込み
INT0
FFFFFCH
FFFFFDH
FFFFFEH
未使用
#0
なし
:
:
:
:
:
:
:
INT7
FFFFE0H
FFFFE1H
FFFFE2H
未使用
#7
なし
INT8
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDFH
#8
RESET ベクタ
INT9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
#9
なし
INT10
FFFFD4H
FFFFD5H
FFFFD6H
未使用
#10
< 例外処理 >
INT11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
#11
ハードウェア
割込み #0
INT12
FFFFCCH
FFFFCDH
FFFFCEH
未使用
#12
ハードウェア
割込み #1
INT13
FFFFC8H
FFFFC9H
FFFFCAH
未使用
#13
ハードウェア
割込み #2
INT14
FFFFC4H
FFFFC5H
FFFFC6H
未使用
#14
ハードウェア
割込み #3
:
:
:
:
:
:
:
INT254
FFFC04H
FFFC05H
FFFC06H
未使用
#254
なし
INT255
FFFC00H
FFFC01H
FFFC02H
未使用
#255
なし
<参考>
使われない割込みベクタも , 例外処理などのアドレスに設定することを推奨します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
55
第 3 章 割込み
3.2 割込み要因と割込みベクタ
MB90330A シリーズ
■ 割込み要因と割込みベクタ / 割込み制御レジスタ
表 3.2-2 に , ソフトウェア割込みを除く割込み要因と割込みベクタおよび割込み制御レ
ジスタの関係を示します。
表 3.2-2 割込み要因と割込みベクタ / 割込み制御レジスタ (1 / 2)
割込み要因
EI2OS
対応
割込み制御
レジスタ
割込みベクタ
μDMAC
対応
番号
優先度 *2
アドレス
ICR
アドレス
リセット
×
×
#08
08H
FFFFDCH
―
―
INT9 命令
×
×
#09
09H
FFFFD8H
―
―
例外処理
×
×
#10
0AH
FFFFD4H
―
―
USB ファンクション 1
×
0, 1
#11
0BH
FFFFD0H
ICR00
#12
0CH
FFFFCCH
0000B0H *1
ICR01
0000B1H *1
ICR02
0000B2H *1
ICR03
0000B3H *1
ICR04
0000B4H *1
ICR05
0000B5H *1
ICR06
0000B6H *1
ICR07
0000B7H *1
ICR08
0000B8H *1
*3
USB ファンクション 2
×
2∼6
USB ファンクション 3
×
×
#13
0DH
FFFFC8H
USB ファンクション 4
×
×
#14
0EH
FFFFC4H
USB ホスト 1
×
×
#15
0FH
FFFFC0H
10H
FFFFBCH
11H
FFFFB8H
USB ホスト 2
×
×
#16
I2C ch.0
×
×
#17
DTP/ 外部割込み ch.0/ ch.1
○
×
#18
12H
FFFFB4H
I2C ch.1
×
×
#19
13H
FFFFB0H
14H
FFFFACH
15H
FFFFA8H
DTP/ 外部割込み ch.2/ ch.3
○
×
#20
I2C ch.2
×
×
#21
DTP/ 外部割込み ch.4/ ch.5
○
×
#22
16H
FFFFA4H
PWC・リロードタイマ ch.0
△
14
#23
17H
FFFFA0H
DTP/ 外部割込み ch.6/ ch.7
△
×
#24
18H
FFFF9CH
インプットキャプチャ
ch.0/ch.1
△
7
#25
19H
FFFF98H
リロードタイマ ch.1
△
×
#26
1AH
FFFF94H
インプットキャプチャ
ch.2/ch.3
△
8
#27
1BH
FFFF90H
リロードタイマ ch.2
56
△
×
#28
1CH
高い
FFFF8CH
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.2 割込み要因と割込みベクタ
MB90330A シリーズ
表 3.2-2 割込み要因と割込みベクタ / 割込み制御レジスタ (2 / 2)
割込み要因
EI2OS
対応
番号
○
PPG ch.0/ch.1
×
×
#30
1EH
FFFF84H
アウトプットコンペア
ch.2/ch.3
○
×
#31
1FH
FFFF80H
PPG ch.2/ch.3
×
×
#32
20H
FFFF7CH
UART 送信完了 ch.2/ch.3
○
11
#33
21H
FFFF78H
#29
×
×
#34
22H
FFFF74H
UART 受信完了 ch.2/ch.3
◎
10
#35
23H
FFFF70H
FFFF6CH
A/D 変換・フリーラン
タイマ
△
15
#36
24H
UART 送信完了 ch.0/ch.1
○
13
#37
25H
FFFF68H
拡張シリアル I/O
×
9
#38
26H
FFFF64H
UART 受信完了 ch.0/ch.1
◎
12
#39
27H
FFFF60H
タイムベースタイマ・時計
タイマ
×
×
#40
28H
FFFF5CH
フラッシュメモリ書込み /
消去
×
×
#41
29H
FFFF58H
遅延割込み発生モジュール
×
#42
アドレス
ICR09
0000B9H *1
ICR10
0000BAH *1
ICR11
0000BBH *1
ICR12
0000BCH *1
ICR13
0000BDH *1
ICR14
0000BEH *1
ICR15
0000BFH *1
FFFF88H
1DH
PPG ch.4/ch.5
×
ICR
アドレス
アウトプットコンペア
ch.0/ch.1
×
割込み制御
レジスタ
割込みベクタ
μDMAC
対応
2AH
FFFF54H
優先度 *2
低い
◎ : 使用可能 EI2OS 停止機能付 ( 割込みクリア信号で , 割込み要求フラグはクリアされます。ストップ
要求あり ) 。
○ : 使用可能 ( 割込みクリア信号で , 割込み要求フラグはクリアされます )。
△ : ICR を共有する割込み要因を使用しない場合に使用可能
× : 使用不可
*1: ICR を共用している周辺機能は , 割込みレベルが同一になります。
*2: 同時に同じレベルの割込みが発生した場合の優先度です。
*3: ch.2, ch.3 は USB ホスト動作時でも使用できます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
57
第 3 章 割込み
3.2 割込み要因と割込みベクタ
MB90330A シリーズ
<注意事項>
• 同一割込み番号に 2 つの割込み要因があった場合は , リソースは両方の割込み要求フラ
グが μDMAC 割込みクリア信号でクリアされます。したがって , 2 要因のどちらか 1 つ
が μDMAC 機能を使用すると , もう 1 つの割込み機能は使用できません。該当リソース
の割込み要求許可ビットを "0" にして , ソフトウェアポーリング処理で対処してくださ
い。
• 同一割込み制御レジスタ (ICR) に 2 つの割込み要因がある場合は EI2OS の使用を許可
した場合 , どち らかの割込み要因を検出すると EI2OS が起動されます。EI2OS 起動中
は起動要因以外の割込みはマスク されますので , EI2OS 使用時はどちらかの割込み要
求をマスクして使用されることを推奨致します。
• 同一割込み制御レジスタ (ICR) に 2 つの割込み要因があるリソースは , 割込みフラグが
EI2OS 割込みクリア信号でクリアされます。
■ USB 割込みの種類と機能
USB 割込み要因
詳細内容
USB ファンクション 1
End Point0-IN EndPoint0-OUT
USB ファンクション 2
End Point1 ∼ 5*
USB ファンクション 3
SUSP SOF BRST WKUP CONF
USB ファンクション 4
SPK
USB ホスト 1
DIRQ CNNIRQ URIRQ RWKIRQ
USB ホスト 2
SOFIRQ CMPIRQ
* : End Point 1, 2 は , USB ホスト動作時でも使用できます。
58
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90330A シリーズ
3.3
割込み制御レジスタと周辺機能
割込み制御レジスタ (ICR00 ∼ ICR15) は , 割込みコントローラ内にあり , 割込み機
能を持つすべての周辺機能に対応して存在します。このレジスタは , 割込みと拡張
インテリジェント I/O サービス (EI2OS) の制御を行います。
■ 割込み制御レジスタ一覧
表 3.3-1 に , 割込み制御レジスタと対応する周辺機能の一覧を示します。
表 3.3-1 割込み制御レジスタ一覧
アドレス
レジスタ
略称
0000B0H
割込み制御レジスタ 00
ICR00
USB ファンクション 1,
USB ファンクション 2
0000B1H
割込み制御レジスタ 01
ICR01
USB ファンクション 3,
USB ファンクション 4
0000B2H
割込み制御レジスタ 02
ICR02
USB ホスト 1, USB ホスト 2
0000B3H
割込み制御レジスタ 03
ICR03
I2C ch.0, DTP 外部割込み ch.0/ch.1
0000B4H
割込み制御レジスタ 04
ICR04
I2C ch.1, DTP 外部割込み ch.2/ch.3
0000B5H
割込み制御レジスタ 05
ICR05
I2C ch.2, DTP 外部割込み ch.4/ch.5
0000B6H
割込み制御レジスタ 06
ICR06
PWC, リロードタイマ ch.0,
DTP 外部割込み ch.6/ch.7
0000B7H
割込み制御レジスタ 07
ICR07
インプットキャプチャ ch.0/ch.1,
リロードタイマ ch.1
0000B8H
割込み制御レジスタ 08
ICR08
インプットキャプチャ ch.2/ch.3,
リロードタイマ ch.2
0000B9H
割込み制御レジスタ 09
ICR09
アウトプットコンペアch.01, PPGch.0/ch.1
0000BAH
割込み制御レジスタ 10
ICR10
アウトプットコンペア ch.2/ch.3,
PPGch.2/ch.3
0000BBH
割込み制御レジスタ 11
ICR11
UART 送信 ch.2/ch.3, PPGch.4/ch.5
0000BCH
割込み制御レジスタ 12
ICR12
UART 受信 ch.2/ch.3, AD 変換 ,
フリーランタイマ
0000BDH
割込み制御レジスタ 13
ICR13
UART 送信 ch.0/ch.1, 拡張シリアル I/O
0000BEH
割込み制御レジスタ 14
ICR14
UART受信ch.0/ch.1, タイマベースタイマ,
時計タイマ
0000BFH
割込み制御レジスタ 15
ICR15
フラッシュ書込み ,
遅延割込み発生モジュール
CM44-10129-6
対応する周辺機能
FUJITSU MICROELECTRONICS LIMITED
59
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90330A シリーズ
■ 割込み制御レジスタの機能
割込み制御レジスタ (ICR) には , それぞれ次に示す 4 つの機能があります。
• 対応する周辺機能の割込みレベルの設定
• 対応する周辺機能の割込みを通常割込みにするか , 拡張インテリジェント I/O サー
ビス (EI2OS) にするかの選択
• 拡張インテリジェント I/O サービス (EI2OS) のチャネルの選択
• 拡張インテリジェント I/O サービス (EI2OS) ステータスの表示
割込み制御レジスタ (ICR) は , 図 3.3-1 と図 3.3-2 に示すように , 書込み時と読出し時で
一部機能が異なります。
<注意事項>
割込み制御レジスタ (ICR) に対するリードモディファイライト (RMV) 系命令でのアクセ
スは , 誤動作を引き起こしますので行わないでください。
60
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90330A シリーズ
割込み制御レジスタ (ICR00 ∼ ICR15)
3.3.1
割込み制御レジスタ (ICR00 ∼ ICR15) は , 割込み機能を持つすべての周辺機能に対
応し , 割込み要求発生時の処理を制御します。このレジスタは , 書込み時と読出し時
では , 一部の機能が異なります。
■ 割込み制御レジスタ (ICR00 ∼ ICR15)
図 3.3-1 割込み制御レジスタ (ICR00 ∼ ICR15) 書込み時
書込み時
アドレス
0000B0H
~
0000BFH
MSB
ICS3 ICS2 ICS1 ICS0
ISE
IL2
IL1
IL2
0
LSB
初期値
IL0
00000111B
割込みレベル設定ビット
割込みレベル0(最強)
IL1 IL0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
割込みレベル7(割込みなし)
ISE
2
EI OS許可ビット
0
割込み発生時に割込みシーケンスを起動
1
割込み発生時にEI2OSを起動
ICS3 ICS2 ICS1 ICS0
MSB : 最上位ビット
LSB : 最下位ビット
:初期値
CM44-10129-6
EI2OSチャネル選択ビット
チャネル ディスクリプタアドレス
0
0
0
0
0
0
0
1
0
000100H
1
0
0
1
0
2
000108H
000110H
0
0
1
1
3
000118H
0
1
0
0
4
000120H
0
1
0
1
5
000128H
0
1
1
0
6
000130H
0
1
1
1
7
000138H
1
0
0
0
8
000140H
1
0
0
1
9
000148H
1
0
1
0
10
000150H
1
0
1
1
11
000158H
1
1
0
0
12
1
1
0
1
13
000160H
000168H
1
1
1
0
14
000170H
1
1
1
1
15
000178H
FUJITSU MICROELECTRONICS LIMITED
61
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90330A シリーズ
図 3.3-2 割込み制御レジスタ (ICR00 ∼ ICR15) 読出し時
読出し時
アドレス
0000B0H
~
0000BFH
MSB
-
LSB
-
S1
S0
ISE
IL2
IL1
IL2
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
1
- : 未定義
: 初期値
62
IL1 IL0
0
ISE
0
MSB : 最上位ビット
LSB : 最下位ビット
IL0
初期値
- - 000111 B
割込みレベル設定ビット
割込みレベル0(最強)
割込みレベル7(割込みなし)
EI2OS許可ビット
割込み発生時に割込みシーケンスを起動
割込み発生時にEI2OSを起動
EI2OSステータス
S1
S0
0
0
0
1
EI2OS動作中あるいは非起動時
カウント終了による停止状態
1
0
予約
1
1
周辺機能からの要求による停止状態
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90330A シリーズ
割込み制御レジスタの機能
3.3.2
割込み制御レジスタ (ICR00 ∼ ICR15) は , 次に示す 4 つの機能を持つビットで構成
されています。
• 割込みレベル設定ビット (IL2 ∼ IL0)
• 拡張インテリジェント I/O サービス (EI2OS) 許可ビット (ISE)
• 拡張インテリジェント I/O サービス (EI2OS) チャネル選択ビット (ICS3 ∼ ICS0)
• 拡張インテリジェント I/O サービス (EI2OS) ステータス (S1, S0)
■ 割込み制御レジスタ (ICR) の構成
図 3.3-3 に , 割込み制御レジスタ (ICR) のビット構成図を示します。
図 3.3-3 割込み制御レジスタ (ICR) の構成
割込み制御レジスタ (ICR) 書込み時
アドレス
0000B0H ∼ 0000BFH
MSB
ICS3
LSB
ICS2
ICS1
ICS0
ISE
IL2
IL1
S1
S0
ISE
IL2
IL1
IL0
初期値
00000111B
割込み制御レジスタ (ICR) 読出し時
アドレス
0000B0H ∼ 0000BFH
MSB
-
LSB
-
IL0
初期値
--000111B
MSB : 最上位ビット
LSB : 最下位ビット
- : 未定義
<参考>
•
ICS3 ∼ ICS0 ビットは , 拡張インテリジェント I/O サービス (EI2OS) を起動する場合
だけ有効となります。EI2OS を起動する場合は ISE ビットを "1" に設定し , 起動しない
場合は ISE ビットを "0" に設定してください。EI2OS を起動しない場合は , ICS3 ∼
ICS0 を設定しなくてもかまいません。
•
ICS1 と ICS0 は書込み時だけ , S1 と S0 は読出し時だけ , それぞれ有効です。
<注意事項>
上位 2 ビットの読出し値は不定です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
63
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90330A シリーズ
■ 割込み制御レジスタの機能
● 割込みレベル設定ビット (IL2 ∼ IL0)
対応する周辺機能の割込みレベルを指定します。リセットによりレベル 7( 割込みなし )
に初期化されます。割込みレベル設定ビットと各割込みレベルとの関係を , 表 3.3-2 に
示します。
表 3.3-2 割込みレベル設定ビットと割込みレベルの対応
IL2
IL1
IL0
割込みレベル
0
0
0
0 ( 最強割込 )
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
6 ( 最弱割込 )
1
1
1
7 ( 割込なし )
● 拡張インテリジェント I/O サービス (EI2OS) 許可ビット (ISE)
割込み要求の発生時に ISE ビットが "1" であると EI2OS が起動され , "0" のときは割込
みシーケンスが起動されます。また , EI2OS の終了条件が成立 (S1, S0 ビットが "00B" 以
外 ) したとき , ISE ビットはクリアされます。対応する周辺機能に EI2OS の機能がない
ときには , ソフトウェアで ISE ビットを "0" にしておく必要があります。ISE ビットは
リセットで "0" に初期化されます。
● 拡張インテリジェント I/O サービス (EI2OS) チャネル選択ビット (ICS3 ∼ ICS0)
書込み専用のビットで, EI2OSのチャネルを指定します。ここで設定された値によって,
EI2OS ディスクリプタのアドレスが決定します。ICS ビットはリセットで , "0000B" に
初期化されます。表 3.3-3 に EI2OS チャネル選択ビットとディスクリプタアドレスの対
応を示します。
64
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.3 割込み制御レジスタと周辺機能
MB90330A シリーズ
表 3.3-3 EI2OS チャネル選択ビットとディスクリプタアドレスの対応
ICS3
ICS2
ICS1
ICS0
セレクトされる
チャネル
ディスクリプタ
アドレス
0
0
0
0
0
000100H
0
0
0
1
1
000108H
0
0
1
0
2
000110H
0
0
1
1
3
000118H
0
1
0
0
4
000120H
0
1
0
1
5
000128H
0
1
1
0
6
000130H
0
1
1
1
7
000138H
1
0
0
0
8
000140H
1
0
0
1
9
000148H
1
0
1
0
10
000150H
1
0
1
1
11
000158H
1
1
0
0
12
000160H
1
1
0
1
13
000168H
1
1
1
0
14
000170H
1
1
1
1
15
000178H
● 拡張インテリジェント I/O サービス (EI2OS) ステータスビット (S1, S0)
読出し専用のビットです。EI2OS 終了時にこの値を調べると , 動作状態や終了状態を判
別できます。リセットで "00B" に初期化されます。表 3.3-4 に , S0, S1 ビットと EI2OS
ステータスの関係について示します。
表 3.3-4 EI2OS ステータスビットと EI2OS ステータスの関係
CM44-10129-6
S1
S0
0
0
EI2OS 動作中あるいは非起動時
0
1
カウント終了による停止状態
1
0
予約
1
1
周辺機能からの要求による停止状態
EI2OS ステータス
FUJITSU MICROELECTRONICS LIMITED
65
第 3 章 割込み
3.4 ハードウェア割込み
3.4
MB90330A シリーズ
ハードウェア割込み
ハードウェア割込みは , 周辺機能からの割込み要求信号に対応して , CPU がそれま
で実行していたプログラムの実行を一時中断し , ユーザの定義した割込み処理用プ
ログラムに制御を移行する機能です。また , 拡張インテリジェント I/O サービス
(EI2OS) や μDMAC, 外部割込みなどもハードウェア割込みの一種として実行されま
す。
■ ハードウェア割込みの機能
● ハードウェア割込みの機能
ハードウェア割込みは , 周辺機能が出力する割込み要求信号の割込みレベルと , CPU の
プロセッサステータス (PS) 内の割込みレベルマスクレジスタ (ILM) の比較およびプロ
セッサステータス (PS) 内の I フラグの内容をハードウェアで参照し , 割込みが受け付
けられるかどうかを判定します。
ハードウェア割込みが受け付けられると , 自動的に CPU 内部のレジスタ類をシステム
スタックへ退避し, 割込みレベルマスクレジスタ(ILM)に現在要求している割込みレベ
ルを格納したあと , 対応する割込みベクタへ分岐します。
● 多重割込み
ハードウェア割込みは , 多重に起動できます。
● 拡張インテリジェント I/O サービス (EI2OS)
EI2OS, メモリと I/O 間の自動転送機能ですが , 転送完了時に , ハードウェア割込みが起
動されます。なお , EI2OS は多重に起動されることはなく , ある EI2OS の処理中は , ほ
かの割込み要求および μDMAC 要求はすべて保留されます。
● μDMAC
μDMAC は , メモリと I/O 間の自動転送機能ですが , 転送完了時に , ハードウェア割込み
が起動されます。なお , μDMAC は多重に起動されることはなく , ある μDMAC の処理
中は , ほかの割込み要求および EI2OS 要求はすべて保留されます。
● 外部割込み
外部割込み ( ウェイクアップ割込みを含む ) は , 周辺機能 ( 割込み要求検出回路 ) を通
じて , ハードウェア割込みとして受付けられます。
● 割込みベクタ
割込み処理の際に参照する割込みベクタテーブルは , メモリ FFFC00H ∼ FFFFFFH に割
り当ててあり , ソフトウェア割込みと共用しています。割込み番号と割込みベクタの割
当てについては , 「 3.2 割込み要因と割込みベクタ 」を参照してください。
66
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.4 ハードウェア割込み
MB90330A シリーズ
■ ハードウェア割込みの構造
ハードウェア割込みに関連する機構は , 表 3.4-1 に示す 4 つの部分に分かれて存在しま
す。ハードウェア割込みを使用する場合はあらかじめ , プログラムでこの 4 箇所を設定
する必要があります。
表 3.4-1 ハードウェア割込みに関連する機構
ハードウェア割込み
に関する機構
周辺機能
割込みコントローラ
CPU
メモリ上の
FFFC00H ∼ FFFFFFH
機能
割込み許可ビット , 割込み要求
ビット
周辺機能からの割込み要求の制御
割込み制御レジスタ (ICR)
割込みレベルの設定
割込み許可フラグ (I)
割込み許可状態の識別
割込みレベルマスクレジスタ
(ILM)
要求割込みレベルと現割込みレベルの
比較
マイクロコード
割込み処理ルーチンの実行
割込みベクタテーブル
割込み処理時の分岐先アドレスを格納
■ ハードウェア割込み抑止
ハードウェア割込みは , 以下の条件のとき割込み要求の受付けが抑止されます。
● 周辺機能制御レジスタ領域への書込み中のハードウェア割込み抑止
周辺機能制御レジスタ領域への書込み中は , ハードウェア割込み要求を受け付けませ
ん。これは各リソースの割込み制御レジスタ関係の書換えを行っている最中の割込み
要求に対して , CPU が割込み関係で誤動作を起こすことを避けるためです。周辺機能
制御レジスタ領域とは , 000000H ∼ 0000FFH の I/O アドレッシング領域のことではなく ,
周辺機能制御レジスタの制御レジスタおよびデータレジスタに割り当てられている領
域のことを示します。
図 3.4-1 に , 周辺機能制御レジスタ領域へ書込み中のハードウェア割込み動作について
示します。
図 3.4-1 周辺機能制御レジスタ領域へ書込み中のハードウェア割込み要求
周辺機能制御レジスタ領域への書込み命令
MOV
A,#08
MOV
io,A
ここで割込み
要求発生
CM44-10129-6
MOV A,2000H
割込みに
分岐しない
FUJITSU MICROELECTRONICS LIMITED
割込み処理
割込みに
分岐する
67
第 3 章 割込み
3.4 ハードウェア割込み
MB90330A シリーズ
● 割込み抑止命令のハードウェア割込み抑止
ハードウェア割込み抑止命令を表 3.4-2 に示します。ハードウェア割込み抑止命令を実
行中にハードウェア割込み要求が発生した場合は , ハードウェア割込み抑止命令処理
後 , ほかの命令が実行された後に割込み処理が行われます。
表 3.4-2 ハードウェア割込み抑止命令
プリフィッ
クスコード
割込みやホールド要求
を受け付けない命令
PCB
DTB
ADB
SPB
CMR
NCC
割込み / ホールド抑止命令
( プリフィックスコードの効果を遅延させる命令 )
MOV ILM, #imm8
OR CCR, #imm8
AND CCR, #imm8
POPW PS
● ソフトウェア割込み実行中のハードウェア割込み抑止
ソフトウェア割込みを起動すると , I フラグを "0" にクリアするために , ほかの割込み
要求は受け付けられません。
68
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 3 章 割込み
3.4 ハードウェア割込み
ハードウェア割込みの動作
3.4.1
ハードウェア割込み要求発生から , 割込み処理完了までの動作について説明します。
■ ハードウェア割込みの起動
● 周辺機能の動作 ( 割込み要求の発生 )
ハードウェア割込み要求の機能を持つ周辺機能は , 割込みの要求のあり / なしを示す
「割込み要求フラグ」と , CPU への割込み要求の許可 / 禁止を選択する「割込み許可フ
ラグ」を持っています。割込み要求フラグは , 周辺機能固有のイベントの発生によって
セットされ , 割込み許可フラグが「許可」であったときに , 割込みコントローラへ割込
み要求を発生します。
● 割込みコントローラの動作 ( 割込み要求の制御 )
割込みコントローラは , 同時に受け取った割込み要求の割込みレベル (IL) どうしを比
較し , 最も高いレベルの要求 (IL の値の最も小さいもの ) を採択して CPU へ通知しま
す。同一レベルの要求が複数あった場合には , 割込み番号が小さいものを優先します。
● CPU の動作 ( 割込み要求の受付けと割込み処理 )
CPU は受け取った割込みレベル (ICR の IL2 ∼ IL0) と割込みレベルマスクレジスタ
(ILM) とを比較し , IL <ILM で , なおかつ割込みが許可 (CCR の I=1) されている場合に ,
現在実行中の命令が終了後 , 割込み処理マイクロコードを起動し , 割込み処理を実行し
ます。
割込み処理では , まず , システムスタック (SSB と SSP の示すシステムスタック空間 )
へ専用レジスタ (A, DPR, ADB, DTB, PCB, PC, PS の 12 バイト ) の内容を退避します。
次に , 割込みベクタのプログラムカウンタ (PCB, PC) へのロード , ILM の更新 , スタッ
クフラグ (S) の設定 (CCR の S=1 とし , システムスタックを有効にする ) を行います。
■ ハードウェア割込みからの復帰
割込み処理プログラムの中で , 割込み要因となった周辺機能の割込み要求フラグをク
リアして , RETI 命令を実行すると , システムスタックに退避している 12 バイトデータ
を専用レジスタに戻し , 割込み分岐前に実行していた処理に復帰します。割込み要求フ
ラグをクリアすることで , 周辺機能が割込みコントローラへ出力していた割込み要求
は自動的に取り下げられます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
69
第 3 章 割込み
3.4 ハードウェア割込み
MB90330A シリーズ
■ ハードウェア割込みの動作
図 3.4-2 に , ハードウェア割込みの発生から割込み処理完了までの動作を示します。
図 3.4-2 ハードウェア割込みの動作
内部バス
PS,PC
PS
(7)
I
ILM
IR
マイクロコード
(6)
チェック
F2MC-16LX CPU
比較器
(5)
(4)
(3)
ほかの周辺機能
割込み要求を発生した周辺機能
レベル
比較器
許可FF
割込み
レベルIL
AND
要因FF
(8)
(2)
(1)
割込みコントローラ
RAM
IL :割込み制御レジスタ(ICR)の割込みレベル設定ビット
PS :プロセッサステータス
I :割込み許可フラグ
ILM:割込みレベルマスクレジスタ
IR :インストラクションレジスタ
FF :フリップフロップ
(1) 周辺機能の内部で割込み要因が発生します。
(2) 周辺機能の割込み許可ビットを参照し , 割込み許可になっていれば , 周辺から割込
みコントローラへ割込み要求を出力します。
(3) 割込み要求を受け取った割込みコントローラは , 同時に要求のあった割込みの優先
順位を判定したうえで , 該当する割込み要求に対応する割込みレベル (IL) を CPU へ
転送します。
(4) CPU は , 割込みコントローラから要求のあった割込みレベル (IL) を , 割込みレベル
マスクレジスタ (ILM) と比較します。
(5) 比較の結果が現在の割込み処理レベルより優先順位が高い場合,コンディションコー
ドレジスタ (CCR) の I フラグの内容をチェックします。
(6) (5) のチェックの結果 , I フラグが割込み許可 (I=1) の場合 , 現在実行中の命令の実行
が終了するまで待ち , 終了時点で ILM に要求されたレベル (IL) を設定します。
(7) レジスタを退避し , 割込み処理ルーチンへ分岐します。
(8) 割込み処理ルーチン内のソフトウェアによって , (1) で発生した割込み要因をクリア
し , RETI 命令を実行することによって割込み処理が終了します。
70
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.4 ハードウェア割込み
MB90330A シリーズ
3.4.2
ハードウェア割込みの動作フロー
周辺機能から割込み要求が発生すると , 割込みコントローラは割込みレベルを CPU
に伝達し , CPU が割込みを受付けられる状態であれば , 現在実行中の命令を一時中
断して割込み処理ルーチンの実行または 拡張インテリジェント I/O サービス
(EI2OS) μDMAC の起動を行います。また , INT 命令によるソフトウェア割込みが発
生した場合は , CPU の状態にかかわらず割込み処理ルーチンを実行します。このと
き , ハードウェア割込みは禁止されます。
■ ハードウェア割込みの動作フロー
図 3.4-3 に , 割込み動作時の処理フローを示します。
図 3.4-3 割込み動作時の処理フロー
START
NO
ENx = 1
YES
YES
I & IF & IE = 1
AND
ILM > IL
指定回数終了か?
または,周辺機能からの
終了要求があるか?
YES
NO
ISE = 1
YES
NO
次の命令の取込みとデコード
PS,PC,PCB,DTB,DPR,Aを
SSPのスタックへ退避
その後ILM=IL
INT命令
NO
拡張インテリジェント
I/Oサービス処理
2
(EI OS処理)
YES
NO
通常命令実行
NO
PS,PC,PCB,DTB,ADB,DPR,A,
をSSPのスタックへ退避
その後,I=O,ILM=IL
ストリング系
命令の繰返し完了
YES
PCの更新
S←1
割込みベクタ取込み
I :コンディションコードレジスタ(CCR)の割込み許可フラグ
IF :周辺機能の割込み要求フラグ
IE :周辺機能の割込み許可フラグ
ILM:CPUレジスタレベル
2
ISE:割込み制御レジスタ(ICR)のEI OS許可フラグ
IL :割込み制御レジスタ(ICR)の割込みレベル設定ビット
CM44-10129-6
S :コンディションコードレジスタ(CCR)の
スタックフラグ
ENx:DMA許可レジスタのDMA起動要求フラグ
FUJITSU MICROELECTRONICS LIMITED
71
第 3 章 割込み
3.4 ハードウェア割込み
MB90330A シリーズ
ハードウェア割込みの使用手順
3.4.3
ハードウェア割込みを使用するには , システムスタック領域 , 周辺機能および割込み
制御レジスタ (ICR) などの設定が必要です。
■ ハードウェア割込みの使用手順
ハードウェア割込みの使用手順の一例を , 図 3.4-4 に示します。
図 3.4-4 ハードウェア割込みの使用手順例
スタート
(1)
システムスタック領域の設定
(2)
周辺機能の初期設定
(3)
割込みコントローラ内の
ICRの設定
周辺機能の動作開始
(4) 設定割込み許可ビット
を許可に設定
(5)
割込み処理プログラム
スタック処理
割込みベクタへ分岐
(7)
ハードウェア
による処理
PS内のILM,Iの設定
周辺機能への割込み
(8) に対する処理(割込み
処理ルーチンの実行)
(9)
割込み要因のクリア
(10) 割込み復帰命令(RETI)
メインプログラム
(6)
割込み要求発生
メインプログラム
(1) システムスタック領域を設定します。
(2) 割込み要求を発生可能な周辺機能の初期設定をします。
(3) 割込みコントローラ内の割込み制御レジスタ (ICR) を設定します。
(4) 周辺機能を動作開始状態にし , 割込み許可ビットを許可に設定します。
(5) 割込みレベルマスクレジスタ (ILM) および割込み許可フラグ (I) を割込み受付け可
能に設定します。
(6) 周辺機能の割込み発生で , ハードウェア割込み要求が発生します。
(7) 割込み処理ハードウェアでレジスタの退避が行われ , 割込み処理プログラムに分岐
します。
72
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 3 章 割込み
3.4 ハードウェア割込み
(8) 割込み処理プログラムで , 割込み発生に対する周辺機能への処理をします。
(9) 周辺機能の割込み要求を解除します。
(10)割込み復帰命令を実行し , 分岐前のプログラムに復帰します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
73
第 3 章 割込み
3.4 ハードウェア割込み
MB90330A シリーズ
多重割込み
3.4.4
ハードウェア割込みでは , 周辺機能からの複数の割込み要求に対して , 割込み制御レ
ジスタ (ICR) の割込みレベル設定ビット (IL0 ∼ IL2) に異なる割込みレベルを設定す
ることによって , 多重割込みを実現できます。ただし , 拡張インテリジェント I/O
サービス (EI2OS), μDMAC の多重起動はできません。
■ 多重割込み動作
割込み処理ルーチン実行中に , より高い割込みレベルの割込み要求が発生すると , 現在
の割込み処理を中断してより高い割込み要求を受付けます。高いレベルの割込みが終
了すると , もとの割込み処理に戻ります。割込みレベルは 0 ∼ 7 まで設定できますが ,
レベル 7 に設定した場合は , CPU は割込み要求を受付けません。
割込み処理実行中にその割込みと同等かより低いレベルの割込みが発生した場合 , I フ
ラグが ILM を変更しないかぎり , 現在の割込み終了するまで新しい割込み要求は保留
されます。また , 割込み処理ルーチン内でコンディションコードレジスタ (CCR) の I フ
ラグを割込み禁止 (CCR の I=0) にするか , 割込みレベルマスクレジスタ (ILM) を割込
み禁止 (ILM=000B) に設定すると , 割込み中の多重割込みの起動を一部的に禁止できま
す。
<注意事項>
拡張インテリジェント I/O サービス (EI2OS), μDMAC は多重起動できません。拡張インテ
リジェント I/O サービス (EI2OS), μDMAC の処理中は , ほかの割込み要求および拡張イン
テリジェント I/O サービス (EI2OS), μDMAC 要求はすべて保留されます。
74
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.4 ハードウェア割込み
MB90330A シリーズ
■ 多重割込みの例
多重割込み処理の例として, A/Dコンバータよりタイマ割込みを優先させる場合を想定
し , A/D コンバータの割込みレベルを 2 に , タイマ割込みレベルを 1 に設定します。こ
のとき , A/D コンバータの割込み処理中にタイマ割込みが発生すると , 図 3.4-5 のよう
な処理を行います。
図 3.4-5 多重割込みの例
メインプログラム
周辺初期化 (1)
A/D割込み処理
割込みレベル2
(ILM=010B)
タイマ割込み処理
割込みレベル1
(ILM=001B)
(3) タイマ割込み発生
(4) タイマ割込み処理
A/D割込み発生 (2)
中断
再開
メイン処理再開 (8)
(6) A/D割込み処理
(5) タイマ割込み復帰
(7) A/D割込み復帰
● A/D 割込み発生
A/D コンバータ割込み処理開始時に , 割込みレベルマスクレジスタ (ILM) が自動的に
A/D コンバータの割込みレベル (ICR の IL2 ∼ IL0) と同じ値 ( 例では 2) になります。こ
のとき , レベル 1 またはレベル 0 の割込み要求が発生すると , この割込み処理を優先し
て行います。
● 割込み処理の終了
割込み処理が終了して復帰命令 (RETI) を実行すると , スタック内に退避した専用レジ
スタ (A, DPR, ADB, DTB, PCB, PC, PS) の値が復帰し , 割込みレベルマスクレジスタ
(ILM) は中断前の値となります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
75
第 3 章 割込み
3.4 ハードウェア割込み
3.4.5
MB90330A シリーズ
ハードウェア割込みの処理時間
ハードウェア割込み要求が発生して割込み処理ルーチンが実行されるまでには , 現
在実行中の命令が終了するまでの時間と , 割込みハンドリング時間が必要です。
■ ハードウェア割込み処理時間
割込み要求が発生してから割込みが受け付けられて , 割込み処理ルーチンが実行され
るまでには , 割込み要求サンプル待ち時間と割込みハンドリング時間 ( 割込み処理準備
に要する時間 ) が必要です。図 3.4-6 に , 割込み処理時間を示します。
図 3.4-6 割込み処理時間
通常命令実行
CPUの動作
割込み待ち時間
割込み要求
サンプル待ち時間
割込みハンドリング
割込み処理ルーチン
割込みハンドリング時間
(θマシンサイクル)*
割込み要求発生
:命令最終サイクル, ここで割込み要求をサンプルする。
* :1マシンサイクルは, マシンクロック(φ)の1クロック周期に相当します。
● 割込み要求サンプル待ち時間
割込み要求サンプル待ち時間とは , 割込み要求が発生してから現在実行中の命令が終
了するまでの時間をいいます。割込み要求が発生しているかどうかは , 各命令の最後の
サイクルで割込み要求をサンプリングして判断します。そのため , 各命令の実行中は ,
CPU が割込み要求を認識できず , 待ち時間が発生します。
なお , 割込み要求サンプル待ち時間は , 最も実行サイクルの長い PCPW, PW0, …RW7 命
令 (45 マシンサイクル ) 開始直後に割込み要求が発生した場合 , 最大となります。
● 割込みハンドリング時間 (θ マシンサイクル )
CPU は , 割込み要求を受付けてから , 専用レジスタのシステムスタックへの退避および
割込みベクタの取込みなどを行うため , θ マシンサイクルの割込みハンドリング時間を
必要とします。割込みハンドリング時間は , 以下の式によって求められます。
• 割込み起動時 : θ=24+6 × Z マシンサイクル
• 割込み復帰時 : θ=11+6 × Z マシンサイクル (RETI 命令 )
割込みハンドリング時間は , スタックポインタの指しているアドレスによって異なり
ます。表 3.4-3 に割込みハンドリング時間の補正値 (Z) を示します。
76
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.4 ハードウェア割込み
MB90330A シリーズ
1 マシンサイクルは , マシンクロック (φ) の 1 クロック周期に相当します。
表 3.4-3 割込みハンドリング時間の補正値 (Z)
CM44-10129-6
スタックポインタが指しているアドレス
補正値 (Z)
外部 8 ビットの場合
+4
外部 偶数アドレスの場合
+1
外部 奇数アドレスの場合
+4
内部 偶数アドレスの場合
0
内部 奇数アドレスの場合
+2
FUJITSU MICROELECTRONICS LIMITED
77
第 3 章 割込み
3.5 ソフトウェア割込み
3.5
MB90330A シリーズ
ソフトウェア割込み
ソフトウェア割込みは , ソフトウェア割込み命令 (INT 命令 ) を実行すると , CPU が
それまで実行していたプログラムからユーザの定義した割込み処理用プログラムへ
制御を移す機能です。
ソフトウェア割込みの実行中 , ハードウェア割込みは停止します。
■ ソフトウェア割込みの起動
● ソフトウェア割込みの起動
ソフトウェア割込みの起動には, INT命令を使用します。ソフトウェア割込み要求には,
割込み要求フラグおよび許可フラグはなく, INT命令を実行すると常に割込み要求が発
生します。
● ハードウェア割込みの抑止
INT 命令には割込みレベルがないので , 割込みレベルマスクレジスタ (ILM) の更新は行
われません。INT 命令実行中は , コンディションコードレジスタ (CCR) の I フラグを
"0" に設定し , ハードウェア割込みをマスクします。ソフトウェア割込み処理中でも
ハードウェア割込みを許可するときは , ソフトウェア割込み処理ルーチンの中で I フラ
グを "1" に設定してください。
● ソフトウェア割込みの動作
CPU が INT 命令を取り込んで実行すると , ソフトウェア割込み処理用のマイクロコー
ドを起動します。
このマイクロコードにより , CPU 内部のレジスタ類をシステムスタッ
クに退避し , ハードウェア割込みをマスク (CCR の I=0) したあと , 対応する割込みベク
タへ分岐します。
割込み番号と割込みベクタの割当てについては ,「 3.2 割込み要因と割込みベクタ 」を
参照してください。
■ ソフトウェア割込みからの復帰
割込み処理プログラムの中で割込み復帰命令 (RETI 命令 ) を実行すると , システムス
タックに退避している 12 バイトデータを専用レジスタに戻して , 割込み分岐前に実行
していた処理に復帰します。
78
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.5 ソフトウェア割込み
MB90330A シリーズ
■ ソフトウェア割込みの動作
図 3.5-1 に , ソフトウェア割込みの発生から割込み処理完了までの動作を示します。
図 3.5-1 ソフトウェア割込みの動作
内部バス
PS,PC
(2) マイクロコード
(1)
PS
I
S
IR
キュー
フェッチ
RAM
PS
I
S
IR
:プロセッサステータス
:割込み許可フラグ
:スタックフラグ
:インストラクションレジスタ
(1) ソフトウェア割込み命令を実行します。
(2) ソフトウェア割込み命令に対応したマイクロコードに従って専用レジスタを退避
するなどの必要な処理を行った後 , 分岐処理を行います。
(3) ユーザの割込み処理ルーチン内の RETI 命令で割込み処理が終了します。
■ ソフトウェア割込みに関する注意事項
プログラムカウンタバンクレジスタ (PCB) が "FFH" であるとき , CALLV 命令のベクタ
領域は INT#vct8 命令のテーブルと重なります。ソフトウェアを作成する際に , CALLV
命令と INT#vct8 命令のアドレスの重複に注意してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
79
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
3.6
MB90330A シリーズ
拡張インテリジェント I/O サービス (EI2OS) による割
込み
拡張インテリジェント I/O サービス (EI2OS) は , 周辺機能 (I/O) とメモリとの間で自
動データ転送を行う機能で , データ転送終了時にハードウェア割込みが発生します。
■ 拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービスは , ハードウェア割込みの一種です。これは , 周辺
機能 (I/O) とメモリとの間で自動データ転送を行う機能で , 従来は割込み処理プログラ
ムで行っていた周辺機能 (I/O) とのデータのやりとりを DMA( ダイレクト メモリ アク
セス ) のように行い , 終了時に終了条件を設定した後 , 自動的に割込み処理ルーチンへ
分岐します。ユーザは , EI2OS 起動時と終了時のみプログラムを作成することになり ,
途中のデータ転送プログラムは不要です。
● 拡張インテリジェント I/O サービス (EI2OS) の利点
割込み処理ルーチンで行っていたデータ転送と比べると, 次のような利点があります。
• 転送のためのプログラムを記述する必要がないため , プログラムサイズを小さくで
きる。
• 周辺機能 (I/O) の状態によって転送を停止できるので , 不要なデータの転送の必要が
ない。
• バッファアドレスのインクリメント , および更新なしを選択可能。
• I/O レジスタアドレスのインクリメント , および更新なしを選択可能。
● 拡張インテリジェント I/O サービス (EI2OS) の終了割込み
EI2OS による , データ転送が終了すると , 終了条件を割込み制御レジスタ (ICR) の S1,
S0 ビットに設定し自動的に割込み処理ルーチンへ分岐します。
割込み処理プログラムで, EI2OSステータス(ICR:S1, S0)をチェックすることによって,
EI2OS の終了要因を判断できます。
割込み番号や割込みベクタは , 各周辺で固定されています。詳細は「 3.2 割込み要因と
割込みベクタ 」を参照してください。
● 割込み制御レジスタ (ICR)
割込みコントローラ内にあり , EI2OS の起動 , EI2OS のチャネル指定 , および EI2OS 終
了時の状態表示を行います。
● 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD)
RAM 上の 000100H ∼ 00017FH にあり , 転送モード , I/O のアドレスや転送数 , バッファ
アドレスを保持する 8 バイトデータで , 16 チャネル分あります。割込み制御レジスタ
(ICR) でチャネル指定します。
80
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90330A シリーズ
<注意事項>
拡張インテリジェント I/O サービス (EI2OS) が動作しているとき , CPU のプログラム実行
は停止します。
■ 拡張インテリジェント I/O サービス (EI2OS) の動作
図 3.6-1 に , EI2OS の動作を示します。
図 3.6-1 拡張インテリジェント I/O サービス (EI2OS) の動作
メモリ空間
by IOA
I/Oレジスタ
I/O
レジスタ
CPU
周辺機能(I/O)
割込み要求
(3)
ISD
by ICS
(2)
(3)
(5)
(1)
割込み制御レジスタ(ICR)
割込みコントローラ
by BAP
(4)
ISD
IOA
BAP
ICS
DCT
バッファ
by DCT
: EI2OSディスクリプタ
: I/Oアドレスポインタ
: バッファアドレスポインタ
: 割込み制御レジスタ(ICR)のEI2OSチャネル選択ビット
: データカウンタ
(1) I/O が転送を要求
(2) 割込みコントローラがディスクリプタを選択
(3) 転送元や転送先をディスクリプタから読み出す
(4) I/O とメモリ間での転送を実行
(5) 割込み要因は自動的にクリア
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
81
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
3.6.1
MB90330A シリーズ
拡張インテリジェント I/O サービス (EI2OS) ディスク
リプタ (ISD)
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) は , 内部 RAM の
000100H ∼ 00017FH に存在し , 8 バイト× 16 チャネルで構成されています。
■ 拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) の構成
ISD は , 8 バイト× 16 チャネルで構成されており , 各 ISD は図 3.6-2 のような構造に
なっています。チャネル番号と ISD のアドレスの対応は , 表 3.6-1 のとおりです。
図 3.6-2 EI2OS ディスクリプタ (ISD) の構成
MSB
LSB
データカウンタ上位8ビット(DCTH)
H
データカウンタ下位8ビット(DCTL)
I/Oレジスタアドレスポインタ上位8ビット(IOAH)
I/Oレジスタアドレスポインタ下位8ビット(IOAL)
EI2OSステータスレジスタ(ISCS)
バッファアドレスポインタ上位8ビット(BAPH)
バッファアドレスポインタ中位8ビット(BAPM)
ISD先頭アドレス
(000100H+8×ICS)
バッファアドレスポインタ下位8ビット(BAPL)
L
表 3.6-1 チャネル番号とディスクリプタアドレスの対応
チャネル
82
ディスクリプタアドレス
0
000100H
1
000108H
2
000110H
3
000118H
4
000120H
5
000128H
6
000130H
7
000138H
8
000140H
9
000148H
10
000150H
11
000158H
12
000160H
13
000168H
14
000170H
15
000178H
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
3.6.2
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
拡張インテリジェント I/O サービス (EI2OS) ディスク
リプタ (ISD) の各レジスタ
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ (ISD) は , 次のレジスタ
から構成されています。
• データカウンタ (DCT)
• I/O レジスタアドレスポインタ (IOA)
• EI2OS ステータスレジスタ (ISCS)
• バッファアドレスポインタ (BAP)
各レジスタの初期値は , リセット時には不定となるので注意してください。
■ データカウンタ (DCT)
データカウンタ (DCT) は , 16 ビット長のレジスタで , 転送データ数に対応したカウン
タとなります。各データの転送後に , カウンタは 1 デクリメント ( 減値 ) します。この
カウンタが 0 になると EI2OS は終了します。図 3.6-3 に , DCT の構成を示します。
図 3.6-3 データカウンタ (DCT) の構成
DCTH
DCTL
bit15 bit14 bit13 bit12 bit11 bit10 bit9
bit8
bit7 bit6
bit5
bit4 bit3
bit2
bit1 bit0
初期値
DCT B15 B14 B13 B12 B11 B10 B09 B08 B07 B06 B05 B04 B03 B02 B01 B00 XXXXXXXXXXXXXXXXB
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W : リード・ライト可能
X : 不定
■ I/O レジスタアドレスポインタ (IOA)
I/O レジスタアドレスポインタ (IOA) は , 16 ビット長のレジスタで , バッファとのデー
タ転送を行う I/O レジスタの下位アドレス (A15 ∼ A00) を示します。上位アドレス (A23
∼ A16) はすべて "0" であり , 000000H から 00FFFFH 番地までの任意の I/O をアドレス
で指定できます。図 3.6-4 に , IOA の構成を示します。
図 3.6-4 I/O レジスタアドレスポインタ (IOA) の構成
IOAH
IOAL
bit15 bit14 bit13 bit12 bit11 bit10 bit9
bit8
bit7 bit6
bit5
bit4 bit3
bit2
bit1 bit0
初期値
IOA A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 XXXXXXXXXXXXXXXXB
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W : リード・ライト可能
X : 不定
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
83
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90330A シリーズ
■ 拡張インテリジェント I/O サービス (EI2OS) ステータスレジスタ (ISCS)
拡張インテリジェント I/O サービスステータスレジスタ (ISCS) は , 8 ビット長で , バッ
ファアドレスポインタと I/O レジスタアドレスポインタの更新 / 固定 , 転送データ形式
( バイト / ワード ), 転送方向を示します。図 3.6-5 に , ISCS の構成を示します。
図 3.6-5 EI2OS ステータスレジスタ (ISCS) の構成
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
予約 予約 予約
R/W
R/W
R/W
IF
BW
BF
DIR
SE
R/W
R/W
R/W
R/W
R/W
初期値
XXXXXXXXB
EI2OS終了制御ビット
SE
0
周辺機能からの要求で終了しない
1
周辺機能からの要求で終了する
データ転送方向指定ビット
DIR
0
I/Oレジスタアドレスポインタ→バッファアドレスポインタ
1
バッファアドレスポインタ→I/Oレジスタアドレスポインタ
BAP更新/固定選択ビット
BF
0
データ転送後バッファアドレスポインタは更新されます。*1
1
データ転送後バッファアドレスポインタは更新されません。
BW
転送データ長指定ビット
0
バイト
1
ワード
IF
0
1
IOA更新/固定選択ビット
データ転送後I/Oレジスタアドレスポインタは更新されます。*2
データ転送後I/Oレジスタアドレスポインタは更新されません。
予約
予約ビット
必ず"0"を書き込んでください
R/W:リード・ライト可能
X :不定
*1:バッファアドレスポインタは,下位16ビットだけ変化し,インクリメントだけ可能です。
*2:アドレスポインタは,インクリメントだけ可能です。
■ バッファアドレスポインタ (BAP)
バッファアドレスポインタ (BAP) は , 24 ビットのレジスタで , EI2OS による次回の転送
で使用するアドレスを保持します。BAP は , EI2OS の各チャネルに対してそれぞれ独
立に存在するので , EI2OS の各チャネルは , 16M バイトの任意のアドレスと I/O の間で
データを転送できます。EI2OS ステータスレジスタ (ISCS) の BF ビット (EI2OS ステー
タスレジスタの BAP 更新 / 固定選択ビット ) で " 更新あり " とした場合 , BAP は下位
16 ビット (BAPM, BAPL) だけ変化し , 上位 8 ビット (BAPH) は変化しません。図 3.6-6
に , バッファアドレスポインタ (BAP) の BAP 構成を示します。
84
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90330A シリーズ
図 3.6-6 バッファアドレスポインタ (BAP) の構成
bit23
~
BAP
bit16 bit15
~
bit8 bit7
~
BAPH
BAPM
BAPL
R/W
R/W
R/W
bit0
初期値
XXXXXXXXXXXXXXXXXXXXXXXXB
R/W : リード・ライト可能
X : 不定
<注意事項>
I/O アドレスポインタ (IOA) で指定できる領域は , 000000H ∼ 00FFFFH です。
バッファアドレスポインタ (BAP) で指定できる領域は , 000000H ∼ FFFFFFH です。
データカウンタ (DCT) で指定できる最大転送数は , 65536 個 (64K バイト ) です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
85
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
3.6.3
MB90330A シリーズ
拡張インテリジェント I/O サービス (EI2OS) の動作
周辺機能から割込み要求が発生し , 対応する割込み制御レジスタ (ICR) で EI2OS の
起動が設定されていれば , CPU は EI2OS によるデータ転送を行います。指定回数の
データ転送が終了すれば , 自動的にハードウェア割込み処理を行います。
■ 拡張インテリジェント I/O サービス (EI2OS) の処理手順
図 3.6-7 に , CPU 内部のマイクロコードによる , EI2OS の動作フローを示します。
図 3.6-7 拡張インテリジェント I/O サービス (EI2OS) の動作フロー
周辺機能より
割込み要求発生
NO
ISE=1
YES
ISD/ISCSリード
割込みシーケンス
YES
周辺機能から
の終了要求
YES
SE=1
NO
NO
YES
DIR=1
NO
BAPで示されるデータ
(データ転送)
IOAで示されるメモリ
IOAで示されるデータ
(データ転送)
BAPで示されるメモリ
IF=0
YES
NO
BF=0
DCT=00
NO
更新値は
BWによる
BAP更新
(-1)
YES
S1, S0に"00"をセット
周辺機能割込み要求の
クリア
CPU動作復帰
ISD :EI2OSディスクリプタ
ISCS:EI2OSステータスレジスタ
IF :EI2OSステータスレジスタ(ISCS)の
IOA更新/固定選択ビット
BW :EI2OSステータスレジスタ(ISCS)の
転送データ長指定ビット
BF :EI2OSステータスレジスタ(ISCS)の
BAP更新/固定選択ビット
DIR :EI2OSステータスレジスタ(ISCS)の
データ転送方向指定ビット
SE :EI2OSステータスレジスタ(ISCS)の
EI2OS終了制御ビット
86
IOA更新
YES
NO
DCTデクリメント
更新値は
BWによる
EI2OS終了処理
S1, S0に"01"をセット
S1, S0に"11"をセット
ISEを"0"にクリア
割込みシーケンス
DCT :データカウンタ
IOA :I/Oレジスタアドレスポインタ
BAP :バッファアドレスポインタ
ISE
:割込み制御レジスタ(ICR)のEI2OS許可ビット
S1, S0:割込み制御レジスタ(ICR)のEI2OSステータス
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
拡張インテリジェント I/O サービス (EI2OS) の使用手順
3.6.4
拡張インテリジェント I/O サービス (EI2OS) を使用するには , システムスタック領域 ,
拡張インテリジェント I/O サービス (EI2OS) ディスクリプタ , 周辺機能 , および割込
み制御レジスタ (ICR) などの設定が必要です。
■ 拡張インテリジェント I/O サービス (EI2OS) の使用手順
図 3.6-8 に , EI2OS のソフトウェアとハードウェアによる処理を示します。
図 3.6-8 拡張インテリジェント I/O サービス (EI2OS) 使用手順
ソフトウェアによる処理
ハードウェアによる処理
開 始
システムスタック領域の設定
初期設定
EI2OSディスクリプタの設定
周辺機能の初期設定
割込み制御レジスタ(ICR)
の設定
内蔵リソースの動作開始
設定割込み許可ビットの
設定
PS内のILM, Iの設定
S1, S0=00
(割込み要求)and(ISE=1)
ユーザプログラムの実行
データ転送
カウントアウトorリソース
からの終了要求による
割込みへ分岐の判定
(割込みベクタへ分岐)
拡張インテリジェント
I/Oサービスの再設定
(チャネルの切換えなど)
NO
YES
S1, S0=01or
S1, S0=11
バッファ中のデータの処理
RETI
ISE :割込み制御レジスタ(ICR)のEI2OSの許可ビット
S1, S0:割込み制御レジスタ(ICR)のEI2OSステータス
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
87
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
3.6.5
MB90330A シリーズ
拡張インテリジェント I/O サービス (EI2OS) 処理時間
拡張インテリジェント I/O サービス (EI2OS) の処理に必要な時間は次の要因によっ
て変化します。
•
•
•
•
•
EI2OS ステータスレジスタ (ISCS) の設定
I/O レジスタアドレスポインタ (IOA) の示すアドレス ( 領域 )
バッファアドレスポインタ (BAP) の示すアドレス ( 領域 )
外部アクセス時の外部データバス幅
転送データのデータ長
また , EI2OS によるデータ転送終了時には , ハードウェア割込みが起動するため , 割
込みハンドリング時間が加算されます。
■ 拡張インテリジェント I/O サービス (EI2OS) 処理時間 (1 回の転送時間 )
● データ転送継続時
データ転送継続時の EI2OS 処理時間は , EI2OS ステータスレジスタ (ISCS) の設定によっ
て , 表 3.6-2 のようになります。
表 3.6-2 拡張インテリジェント I/O サービス実行時間
EI2OS 終了制御ビット (SE) の設定
IOA 更新 / 固定選択ビット (IF) の設定
BAP アドレス更新 / 固定
選択ビット (BF) の設定
周辺からの終了要求により終了 周辺からの終了要求を無視
固定
更新
固定
更新
固定
32
34
33
35
更新
34
36
35
37
単位 : マシンサイクル (1 マシンサイクルは , マシンクロック (φ) の 1 クロック周期に相当します ) 。
さらに , 表 3.6-3 に示すように , EI2OS 実行時の条件によって補正が必要です。
88
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
表 3.6-3 EI2OS 実行時間のデータ転送の補正値
内部アクセス
外部アクセス
I/O レジスタアドレスポインタ
B/ 偶
奇
B/ 偶
8/ 奇
B/ 偶
0
+2
+1
+4
奇
+2
+4
+3
+6
B/ 偶
+1
+3
+2
+5
8/ 奇
+4
+6
+5
+8
内部アクセス
バッファアドレス
ポインタ
外部アクセス
B : バイトデータ転送
8 : 外部バス幅 8 ビット・ワード転送
偶 : 偶数アドレス・ワード転送
奇 : 奇数アドレス・ワード転送
● データカウンタ (DCT) のカウント終了時 ( 最終回のデータ転送時 )
EI2OS によるデータ転送終了時には , ハードウェア割込みが起動するため , 割込みハン
ドリング時間が加算されます。カウント終了時の EI2OS の処理時間は , 次の式で算出
されます。
カウント終了時の EI2OS 処理時間 =
データ転送時の EI2OS 処理時間 + (21+6 × Z) マシンサイクル
↑
割込みハンドリング時間
割込みハンドリング時間は , スタックポインタの指しているアドレスによって異なり
ます。表 3.6-4 に , 割込みハンドリング時間の補正値 (Z) を示します。
表 3.6-4 割込みハンドリング時間の補正値 (Z)
スタックポインタが指しているアドレス
CM44-10129-6
補正値 (Z)
外部 8 ビットのとき
+4
外部 偶数アドレスのとき
+1
外部 奇数アドレスのとき
+4
内部 偶数アドレスのとき
0
内部 奇数アドレスのとき
+2
FUJITSU MICROELECTRONICS LIMITED
89
第 3 章 割込み
3.6 拡張インテリジェント I/O サービス (EI2OS) による割込み
MB90330A シリーズ
● 周辺機能 (I/O) からの終了要求による終了時
周辺機能 (I/O) からの終了要求で , EI2OS によるデータ転送を途中で終了した場合
(ICR:S1, S0=11), データ転送は行わず , ハードウェア割込みを起動します。この場合の
EI2OS 処理時間は , 次の式で算出されます。式中の Z は , 割込みハンドリング時間の補
正値 ( 表 3.6-4 を参照 ) です。
途中終了時の EI2OS 処理時間 =36+6 × Z マシンサイクル
<参考>
1 マシンサイクルは , マシンクロック ( φ) の 1 クロック周期に相当します。
90
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
3.7
第 3 章 割込み
3.7 例外処理割込み
例外処理割込み
F2MC-16LX では , 未定義命令の実行で例外処理が行われます。例外処理は , 基本的
には割込みと同じものであり , 命令の境目で例外事項が発生したことを検出した段
階で , 通常処理を中断して例外処理を行います。
一般的に , 例外処理は予想外の動作を行った結果によって発生するものであり , デ
バッグ時や緊急時の復旧ソフトウェアの起動などだけに使用することを推奨します。
■ 例外処理割込み
● 例外処理の動作
F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の "INT #10" と等価な処理を
行います。
例外処理では , 割込みルーチンへ分岐する前に , 次の処理が行われます。
1. システムスタックへ A, DPR, ADB, DTB, PCB, PC, PS レジスタを退避
2. コンディションコードレジスタ (CCR) の I フラグを "0" にクリアし , ハードウェア割
込みをマスク
3. コンディションコードレジスタ (CCR) の S フラグを "1" にセットし , システムスタッ
クを有効にする。
スタックへ退避したプログラムカウンタ (PC) の値は , 未定義命令を格納しているアド
レスそのものです。2 バイト以上の命令コードでは , 未定義であることが識別できた
コードを格納しているアドレスになります。例外処理ルーチン内で , 例外要因の種類を
判定する必要がある場合は , この PC 値を使用してください。
● 例外処理からの復帰
例外処理から RETI 命令で復帰させると , PC が未定義命令を指しているために , 再度 ,
例外処理に入ります。ソフトウェアリセットするなどの対策をしてください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
91
第 3 章 割込み
3.8 μDMAC による割込み
3.8
MB90330A シリーズ
μDMAC による割込み
μDMAC は , EI2OS と同等の機能を持った簡易 DMA です。
3.8.1 μDMAC の機能
3.8.2 μDMAC のレジスタ
3.8.2.1 DMA ディスクリプタチャネル指定レジスタ (DCSR)
3.8.2.2 DMA ステータスレジスタ (DSRH/DSRL)
3.8.2.3 DMA ストップステータスレジスタ (DSSR)
3.8.2.4 DMA 許可レジスタ (DERH/DERL)
3.8.3 DMA ディスクリプタウィンドウレジスタ (DDWR)
3.8.3.1 DMA データカウンタ (DDCTH/DDCTL)
3.8.3.2 DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL)
3.8.3.3 DMA コントロールレジスタ (DMACS)
3.8.3.4 DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL)
3.8.4 μDMAC の動作説明
92
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
3.8.1
第 3 章 割込み
3.8 μDMAC による割込み
μDMAC の機能
μDMAC はディスクリプタ用レジスタを持つことによって , EI2OS に比べて高速に
データ転送を行うことを可能にしています。
■ μDMAC の機能
μDMAC は , 以下の機能をもっています。
• 周辺リソース (I/O) とメモリ間で自動データ転送を行います。
• DMA 起動中は , CPU のプログラム実行は停止します。
• DMA 転送チャネルは 16 チャネルです ( チャネルの番号の小さい方が DMA 転送の
優先順位が高い ) 。
• 転送元 , 転送先アドレスのインクリメントあり , またはインクリメントなしを選択
可能です。
• DMA 転送は , 周辺リソース (I/O) の割込み要因により起動します。
• DMA 転送の制御は , (a) DMA 許可レジスタ (DERH/DERL), (b) DMA ストップステー
タスレジスタ (DSSR), (c) DMA ステータスレジスタ (DSRH/DSRL), (d) DMA ディス
クリプタチャネル指定レジスタ (DCSR), (e) ディスクリプタ (DMACS) で行います。
• リソースから DMA 転送を停止させる手段として STOP 要求があります。
• DMA 転送終了後 , DMA ステータスレジスタ (DSRH/DSRL) の該当するビットにフ
ラグがセットされ , 割込みコントローラへ割込みが出力されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
93
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
μDMAC のレジスタ
3.8.2
μDMAC は , DCSR, DSR, DSSR, DER という 4 つのレジスタを持っています。DMA 転
送の設定に使用される DMA ディスクリプタについては「3.8.3 DMA ディスクリプ
タウィンドウレジスタ (DDWR)」で説明しています。
■ μDMAC レジスタ一覧
図 3.8-1 μDMAC レジスタ一覧
DMA ディスクリプタチャネル指定レジスタ (DCSR)
bit
00009BH
15
STP
R/W
14
13
12
予約
R/W
予約
R/W
予約
R/W
11
10
9
8
DCSR3 DCSR2 DCSR1 DCSR0
R/W
R/W
R/W
R/W
DCSR
初期値 0000000B
DMA ステータスレジスタ (DSRH/DSRL)
bit
00009DH
15
14
13
12
11
10
9
DTE15 DTE14 DTE13 DTE12 DTE11 DTE10 DTE9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit
7
00009CH DTE7
R/W
6
DTE6
R/W
5
DTE5
R/W
4
DTE4
R/W
3
DTE3
R/W
2
DTE2
R/W
8
DTE8
R/W
DSRH
初期値 0000000B
1
DTE1
R/W
0
DTE0
R/W
bit
7
6
5
4
3
2
1
0000A4H STP15 STP14 STP13 STP12 STP11 STP10 STP9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
STP8
R/W
初期値 0000000B
0
STP0
R/W
初期値 0000000B
DSRL
初期値 0000000B
DMA ストップステータスレジスタ (DSSR)
bit
0000A4H
7
STP7
R/W
6
STP6
R/W
5
STP5
R/W
4
STP4
R/W
3
STP3
R/W
2
STP2
R/W
1
STP1
R/W
DSSR
DSSR
(DSSR は DCSR の STP ビットが "0" のとき STP15 ∼ STP8 を , "1" のとき STP7 ∼ STP0 を使用 )
DMA 許可レジスタ (DERH/DERL)
bit
0000ADH
bit
0000ACH
15
EN15
R/W
14
EN14
R/W
13
EN13
R/W
12
EN12
R/W
11
EN11
R/W
10
EN10
R/W
9
EN9
R/W
8
EN8
R/W
7
EN7
R/W
6
EN6
R/W
5
EN5
R/W
4
EN4
R/W
3
EN3
R/W
2
EN2
R/W
1
EN1
R/W
0
EN0
R/W
DERH
初期値 0000000B
DERL
初期値 0000000B
R/W: リード・ライト可能
94
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DMA ディスクリプタチャネル指定レジスタ
(DCSR)
3.8.2.1
DMA ディスクリプタチャネル指定レジスタ (DCSR) は , 各チャネルのディスクリプ
タを切り換えるレジスタです。本レジスタでチャネルを指定してからディスクリプタ
を設定してください。
■ DMA ディスクリプタチャネル指定レジスタ (DCSR)
図 3.8-2 DMA ディスクリプタチャネル指定レジスタ (DCSR) のビット構成
bit
00009BH
15
STP
R/W
14
13
12
予約
R/W
予約
R/W
予約
R/W
11
10
9
8
DCSR3 DCSR2 DCSR1 DCSR0
R/W
R/W
R/W
R/W
DCSR
初期値 0000000B
R/W: リード・ライト可能
[bit11 ∼ bit8] DCSRx :DMA ディスクリプタチャネル指定
表 3.8-1 DCSR と選択チャネルの関係
DCSR3 ∼ DCSR0
選択チャネル
0000B
0
USB ファンクション 1 (End Point 0-IN)
0001B
1
USB ファンクション 1 (End Point 0-OUT)
0010B
2
USB ファンクション 2 (End Point 1) *
0011B
3
USB ファンクション 2 (End Point 2) *
0100B
4
USB ファンクション 2 (End Point 3)
0101B
5
USB ファンクション 2 (End Point 4)
0110B
6
USB ファンクション 2 (End Point 5)
0111B
7
インプットキャプチャ 0, 1
1000B
8
インプットキャプチャ 2, 3
1001B
9
拡張シリアル I/O
1010B
10
UART2/UART3・受信
1011B
11
UART2/UART3・送信
1100B
12
UART0/UART1・受信
1101B
13
UART0/UART1・送信
1110B
14
PWC・リロードタイマ 0
1111B
15
A/D コンバータ・変換終了・フリーランタイマ
CM44-10129-6
リソース割込み要求
FUJITSU MICROELECTRONICS LIMITED
95
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DCSR の設定により , 16 チャネル中 1 チャネルのディスクリプタチャネルが選択され
ます。詳細は「3.8.3 DMA ディスクリプタウィンドウレジスタ (DDWR) 」を参照して
ください。
* : USB ホスト動作時でも使用できます。
[bit15] STP:STP 制御ビット
STP ビット
機能
0 [ 初期値 ]
DSSR として STP8 ∼ STP15 を選択します。
1
DSSR として STP0 ∼ STP7 を選択します。
[bit14 ∼ bit12] 予約 : ( 予約ビット )
bit14 ∼ bit12 の 3 ビットは予約ビットです。
これらのビットの読出し値は常に "0" です。
これらのビットには必ず "0" 書き込んでください。
<注意事項>
DCSR レジスタにリードモディファイライト (RMW) 系命令を使用しないでください。
96
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DMA ステータスレジスタ (DSRH/DSRL)
3.8.2.2
DMA ステータスレジスタ (DSRH/DSRL) は , DMA 転送が終了したことを示すレジ
スタです。本レジスタに "1" がセットされると同時に割込みが発生します。
■ DMA ステータスレジスタ (DSRH/DSRL)
図 3.8-3 DMA ステータスレジスタ (DSRH/DSRL) のビット構成
bit 15
14
13
12
11
10
9
00009DH DTE15 DTE14 DTE13 DTE12 DTE11 DTE10 DTE9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
8
DTE8
R/W
bit
7
00009CH DTE7
R/W
0
DTE0
R/W
6
DTE6
R/W
5
DTE5
R/W
4
DTE4
R/W
3
DTE3
R/W
2
DTE2
R/W
1
DTE1
R/W
DSRH
初期値 0000000B
DSRL
初期値 0000000B
R/W: リード・ライト可能
[bit15 ∼ bit0] DTEx :DMA ステータス
DTEx ビット
0 [ 初期値 ]
機能
DMA 転送の終了による割込みは発生していません。
DTEx が "0" のとき , 必ず "0" を書き込んでください。
DMA 転送が終了して , 割込みを要求していることを示しています。最終転送を除
いて STOP 要求による DMA 転送の停止では "1" にセットされません。
DTEx が "1" のとき , "0" を書き込むと "0" にクリアされ , "1" を書き込むと前の
データを保持します。
1
<注意事項>
DSRH/DSRL に書込みを行う場合 , リードモディファイライト (RMW) 系の命令を使用し
てください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
97
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DMA ストップステータスレジスタ (DSSR)
3.8.2.3
DMA ストップステータスレジスタ (DSSR) は STOP 要求により DMA 転送が停止し
たことを示すレジスタです。DMA ディスクリプタチャネル指定レジスタ (DCSR) の
STP ビットによって本レジスタに示すビットの意味が異なります。
■ DMA ストップステータスレジスタ (DSSR)
図 3.8-4 DMA ストップステータスレジスタ (DSSR) のビット構成
DCSR: STP ビット =0 のとき
bit
7
6
5
4
3
2
1
0000A4H STP15 STP14 STP13 STP12 STP11 STP10 STP9
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
STP8
R/W
DSSR
初期値 0000000B
DCSR: STP ビット =1 のとき
bit
0000A4H
7
6
5
4
3
2
1
0
STP7
R/W
STP6
R/W
STP5
R/W
STP4
R/W
STP3
R/W
STP2
R/W
STP1
R/W
STP0
R/W
DSSR
初期値 0000000B
R/W: リード・ライト可能
[bit15 ∼ bit0] STPx :DMA ストップステータス
STPx ビット
0 [ 初期値 ]
1
機能
DMA 転送中にリソースからの STOP 要求を受け付けていません。
STPx=0 のときは必ず "0" を書き込んでください。
DMA 転送中にリソースからの STOP 要求を受けて DMA 転送を停止したことを
示しています。ただし , 最終転送時に STOP 要求を受けても STPx ビットに "1"
は設定されません。DMA コントロールレジスタ の SE ビットが "1" で , 対応し
たチャネルにSTOP要求が受け付けられると, DMA許可レジスタの対応するビッ
トが "0" にクリアされます。
STPx=1 のときに "0" を書き込むと "0" にクリアされ , "1" を書き込むと前のデー
タを保持します。
STOP 要求には以下の 2 チャネルが対応しています。
チャネル
対応する STPx ビット
リソース
ch.10
STP10
UART2/3・受信
ch.12
STP12
UART0/1・受信
STP10, STP12 以外のビットは意味を持ちません。
98
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 3 章 割込み
3.8 μDMAC による割込み
<注意事項>
•
DSSR は , DCSR の最上位ビット (STP) により制御されます。STP が "0" のときは ,
STP15 ∼ STP8 が DSSR として選択され , "1" のときは , STP7 ∼ STP0 が DSSR とし
て選択されます。STP は初期値が "0" なので , 最初は STP15 ∼ STP8 が選択されてい
ます。
•
DSSR に書込みを行う場合 , リードモディファイライト (RMW) 系の命令を使用してく
ださい。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
99
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DMA 許可レジスタ (DERH/DERL)
3.8.2.4
DMA 許可レジスタ (DERH/DERL) は DMA 転送を許可するレジスタです。本レジス
タを "1" にセットし , 対応するチャネルに割込み要求が発生すると DMA 転送要求と
みなし , DMA 転送を開始します。
■ DMA 許可レジスタ (DERH/DERL)
図 3.8-5 DMA 許可レジスタ (DERH/DERL) のビット構成
bit
0000ADH
bit
0000ACH
15
EN15
R/W
14
EN14
R/W
13
EN13
R/W
12
EN12
R/W
11
EN11
R/W
10
EN10
R/W
9
EN9
R/W
8
EN8
R/W
7
EN7
R/W
6
EN6
R/W
5
EN5
R/W
4
EN4
R/W
3
EN3
R/W
2
EN2
R/W
1
EN1
R/W
0
EN0
R/W
DERH
初期値 0000000B
DERL
初期値 0000000B
R/W: リード・ライト可能
[bit15 ∼ bit0] ENx:DMA 許可
ENx ビット
0 [ 初期値 ]
機能
DMA 転送を実行しません。
リソースからの割込み要求を DMA 起動要求とし , DMA 転送終了時点で割込み
要求を割込みコントローラに出力します。
DMA 転送バイト数が 0 となるか , リソースからの STOP 要求で DMA 転送が停止
された時点で , "0" にクリアされます。
1
<注意事項>
100
•
DERH/DERL に書込みを行う場合 , リードモディファイライト (RMW) 系の命令を使用
してください。
•
スタンバイモード ( スリープモード , ストップモード , 時計モード , タイムベースタイ
マモード ) または CPU 間欠動作モード ( メインクロック間欠動作モード , PLL クロッ
ク間欠モード , サブクロック間欠モード ) に移行する場合 , 必ず DMA 許可レジスタ
(DERH/DERL) に "0" を設定してから各モードに移行してください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 3 章 割込み
3.8 μDMAC による割込み
DMA ディスクリプタウィンドウレジスタ (DDWR)
3.8.3
DMA ディスクリプタは 8 バイト× 16 チャネルで構成されており , DMA 転送の設定
に使用されます。16 チャネル中から指定された 1 チャネルが DMA ディスクリプタ
ウィンドウレジスタ (DDWR) にマッピングされアクセス可能となります。
DDWR のアドレスは 007920H ∼ 007927H です。
■ DMA ディスクリプタウィンドウレジスタ (DDWR) の構成
DMA ディスクリプタは, 8 バイト×16チャネルで構成されており, 各チャネルは図 3.86 に示す構造になっています。DMA ディスクリプタチャネル指定レジスタ (DCSR) ま
たは割込み要求チャネル番号によって選択されたチャネルのディスクリプタが , DMA
ディスクリプタウィンドウレジスタ (DDWR) 上にマッピングされます。DMA ディス
クリプタチャネル指定レジスタ (DCSR) と選択チャネルの関係は , 表 3.8-1 を参照して
ください。
図 3.8-6 DMA ディスクリプタウィンドウレジスタ (DDWR) の構成
アドレス
007927H
007926H
007925H
007924H
007923H
007922H
007921H
007920H
DMA データカウンタ上位 8 ビット (DDCTH)
DMA データカウンタ下位 8 ビット (DDCTL)
DMA I/O レジスタアドレスポインタ上位 8 ビット (DIOAH)
DMA I/O レジスタアドレスポインタ下位 8 ビット (DIOAL)
DMA コントロールレジスタ (DMACS)
DMA バッファアドレスポインタ上位 8 ビット (DBAPH)
DMA バッファアドレスポインタ中位 8 ビット (DBAPM)
DMA バッファアドレスポインタ下位 8 ビット (DBAPL)
■ DMA ディスクリプタの各レジスタ
DMA ディスクリプタを構成する各レジスタについて次ページ以降に説明します。各レ
ジスタの初期値は , リセット時には不定となるので必ず ENx に "1" を設定する前まで
に初期化してください。
<注意事項>
DMA ディスクリプタチャネル指定レジスタ (DCSR) によって , チャネルのディスクリプ
タを切り換えた場合 , 2 マシンサイクル以内は DMA ディスクリプタウィンドウレジスタ
(DDWR) へのアクセスは禁止です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
101
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DMA データカウンタ (DDCTH/DDCTL)
3.8.3.1
DMA データカウンタ (DDCTH/DDCTL) はデータ転送回数を設定するレジスタです。
DMA データカウンタ (DDCTH/DDCTL) が "0" になると DMA 転送は終了します。
■ DMA データカウンタ (DDCTH/DDCTL)
DMA データカウンタ (DDCTH/DDCTL) は , 16 ビット長のレジスタで , 転送回数に対応
したカウンタとなります。各データの転送後に , カウンタはワード , バイト転送に関係
なく1デクリメント(減値)します。このカウンタが"0"になるとDMA転送 は終了します。
図 3.8-7 に DDCT の構成を示します。
DDCT に "0" を設定すると , 最大データ転送数 (65536 個 ) がセットされます。
図 3.8-7 DMA データカウンタ (DDCTH/DDCTL) のビット構成
007927H/007926H
DDCTH
DDCTL
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
初期値
DDCTH/
B15 B14 B13 B12 B11 B10 B09 B08 B07 B06 B05 B04 B03 B02 B01 B00 XXXXXXXXXXXXXXXXB
DDCTL
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W : リード・ライト可能
X : 不定
■ DMA データカウンタ (DDCTH/DDCTL) の設定値について
転送バイト数と DMA データカウンタ (DDCTH/DDCTL) の関係は , 表 3.8-2 のようにな
ります。
表 3.8-2 DMA データカウンタ (DDCTH/DDCTL) の設定値
DMACS
DDCT
BW ビット
BYTEL ビット
0
−
N
1
0
N/2
1
1
(N+1)/2
N: 転送バイト数
102
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DMA I/O レジスタアドレスポインタ
(DIOAH/DIOAL)
3.8.3.2
DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) は I/O アドレスポインタを設定
するレジスタです。上位アドレス A23 ∼ A16 は "00H" 固定です。
■ DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL)
DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) は , 16 ビット長のレジスタで ,
DMA I/O レジスタアドレスの下位 16 ビット (A15 ∼ A00) を示します。上位アドレス
(A23 ∼ A16) はすべて "0" であり , 000000H から 00FFFFH 番地までの任意の I/O アドレ
ス空間が指定できます。DMA コントロールレジスタ (DMACS) の IF ビット (DIOA 更新 /
固定選択ビット ) で " 更新あり " とした場合 , DIOAH/DIOAL はバイト転送時には +1,
ワード転送時には +2 変化し , " 更新なし " とした場合 , DIOAH/DIOAL は固定です。図
3.8-8 に DIOA の構成を示します。
図 3.8-8 DMA I/O アドレスレジスタポインタ (DIOAH/DIOAL) のビット構成
007925H, 007924H
DIOAH
DIOAL
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
初期値
DIOAH/ A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 XXXXXXXXXXXXXXXX
B
DIOAL
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W : リード・ライト可能
X : 不定
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
103
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DMA コントロールレジスタ (DMACS)
3.8.3.3
DMA コントロールレジスタ (DMACS) は DMA 転送を制御するレジスタです。
DMA コントロールレジスタ (DMACS) によって
• 方向制御 (IOA → BAP, BAP → IOA)
• 転送ビット長 ( バイト , ワード )
• アドレス更新 ( あり , なし )
• 転送間隔
• ワード転送時の奇数バイト制御
を制御できます。
■ DMA コントロールレジスタ (DMACS)
DMA コントロールレジスタ (DMACS) は , 8 ビット長で , DMA バッファアドレスポイ
ンタと DMA I/O レジスタアドレスポインタの更新・固定 , 転送データ形式 ( バイト /
ワード ), 転送方向 , バイト転送指定 , ウェイト指示を出します。図 3.8-9 に DMACS の
構成を示します。
図 3.8-9 DMA コントロールレジスタ (DMACS) のビット構成
アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
007923H
RDY2 RDY1 BYTEL
IF
BW
BF
DIR
R/W
R/W
R/W
R/W
R/W
R/W
R/W
SE
R/W
SE
初期値
XXXXXXXXB
DMA転送終了制御ビット
0
周辺機器からの要求で終了しない
1
周辺機器からの要求で終了する
DIR
データ転送方向指定ビット
0
DMA I/Oレジスタアドレスポインタ→DMAバッファアドレスポインタ
1
DMAバッファアドレスポインタ→DMA I/Oレジスタアドレスポインタ
BF
DBAP更新/固定選択ビット
0
データ転送後 DMAバッファアドレスポインタ更新されます
1
データ転送後 DMAバッファアドレスポインタ更新されません
BW
0
転送データ長指定ビット
バイト転送
1
ワード転送
IF
DIOA更新/固定選択ビット
0
データ転送後 I/Oレジスタアドレスポインタ更新されます
1
データ転送後 I/Oレジスタアドレスポインタ更新されません
BYTEL バイト転送指定ビット(ワード転送のみ有効)
0
偶数バイト
1
奇数バイト
R/W:リード・ライト可能
X :不定
104
ウェイト指示ビット(図3.8-10を参照)
RDY2
RDY1
0
0
転送と転送の間にウェイトなし
0
1
転送と転送の間にウェイト長1サイクル
1
0
転送と転送の間にウェイト長2サイクル
1
1
転送と転送の間にウェイト長3サイクル
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
図 3.8-10 ウェイト指示ビット説明
source
destination
Wait
source
destination
上図のような転送におけるwait部分の長さを
RDY2,RDY1で定義する。
<注意事項>
μDMAC を使用して , UART へ送信データを書き込む場合 , DMACS レジスタの RDY2,
RDY1 ビットを (0, 0) に設定しないでください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
105
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
DMA バッファアドレスポインタ
(DBAPH/DBAPM/DBAPL)
3.8.3.4
DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) はバッファアドレスポ
インタを設定するレジスタです。DMA バッファアドレスポインタ (DBAPH/
DBAPM/DBAPL) は A23 ∼ A00 まで設定可能です。
■ DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL)
DMAバッファアドレスポインタ (DBAPH/DBAPM/DBAPL) は, 24ビットのレジスタで,
DMA 転送で使用するアドレスを保管します。DBAP は , DMA の各チャネルに対して
それぞれ独立に存在するので , DMA の各チャネルは , 16 M バイトの任意のアドレスと
I/O の間でデータ転送できます。DMA コントロールレジスタ (DMACS) の BF ビット
(DBAP 更新 / 固定選択ビット ) を " 更新あり " と設定した場合 , DBAP は下位 16 ビッ
ト (DBAPM , DBAPL) がバイト転送時には +1, ワード転送時には +2 変化し , 上位 8 ビッ
ト (DBAPH) は変化しません。図 3.8-11 に , DMA バッファアドレスポインタ (DBAP) の
構成を示します。
図 3.8-11 DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) のビット構成
007922H/007921H/007920H
DBAPH/
DBAPM/
DBAPL
bit23
~
bit16 bit15
~
bit8 bit7
~
DBAPH
DBAPM
DBAPL
R/W
R/W
R/W
bit0
初期値
XXXXXXXXXXXXXXXXXXXXXXXXB
R/W : リード・ライト可能
X : 不定
<注意事項>
106
•
DMA I/O レジスタアドレスポインタ (DIOAH/DIOAL) で指定できる領域は ,
000000H ∼ 00FFFFH です。
•
DMA バッファアドレスポインタ (DBAPH/DBAPM/DBAPL) で指定できる領域は ,
000000H ∼ FFFFFFH です。
•
DIOA と DBAP に μDMAC の内部レジスタ DCSR, DSRH, DSRL, DSSR, DERH, DERL,
および DMA ディスクリプタウィンドウレジスタ DDWR のアドレスを指定しないでく
ださい。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
μDMAC の動作説明
3.8.4
This section describes the μDMAC operation.
■ μDMAC の動作
図 3.8-12 に DMA の動作の説明図を示します。
μDMAC を使用したデータ転送は以下の順番で行われます。
1. 周辺リソース (I/O) が DMA 転送を要求する。
2. DMA 許可レジスタ (DERH/DERL) が "1" のとき , μDMAC が , 指定されたチャネル
の転送元 , 転送先アドレスや転送回数等の転送データをディスクリプタから読み出
す。
3. I/O とメモリ間で DMA データ転送を開始する。
4. 1 バイトもしくは 1 ワードの転送を実行後
(a) 転送終了でないとき (DMA データカウンタ DDCT は "0" になっていない )
周辺リソースに対して DMA 転送要求のクリアを要求する。
(b) 転送終了時 (DMA データカウンタ DDCT=0)
DMA 転送終了後 , DMA ステータスレジスタに転送終了のフラグをセットし ,
割込みコントローラへ割込み要求を出力する。
<注意事項>
内部レジスタDSRH, DSRL, DSSR, DERH, DERLへ書込みを行う場合, リードモディファ
イライト (RMW) 系の命令を使用してください。
図 3.8-12 μDMAC の動作
メモリ空間
ディスクリプタ用
RAM
DIOA
周辺機能
I/O レジスタ
I/O レジスタ
( I/O )
(3)
(4) (a)
(1)
(2)
DMA コントローラ
DMA
ディスクリプタ
(4) (b)
バッファ
CPU
DBAP
DDCT
DIOA:DMA I/O アドレスポインタ
DBAP:DMAバッファアドレスポインタ
CM44-10129-6
(2)
割込み
コントローラ
DER:DMA 許可レジスタ
DDCT:DMAデータカウンタ
FUJITSU MICROELECTRONICS LIMITED
107
第 3 章 割込み
3.8 μDMAC による割込み
MB90330A シリーズ
■ μDMAC 使用手順
図 3.8-13 に μDMAC の使用手順を示します。
図 3.8-13 μDMAC の使用手順
ハード的処理
ソフト的処理
(割込み発生)
開始
NO
該当chのENx=1
システムスタック領域の設定
YES
初期設定
周辺機能の初期設定
YES
STOP要求 and SE=1
NO
DMA転送
割込み制御レジスタの設定
(DBAP)
BF = 0
(DIOA)
NO
NO
IF = 0
YES
BW = 1
YES
NO
ユーザプログラムの実行
BYTEL = 0
YES
NO
BW = 1
YES
YES
NO
NO
BYTEL = 0
YES
DCT = 0
NO
NO
DCT = 0
YES
YES
BAP = BAP+2
IOA = IOA+2
BAP = BAP+1
STPx = 1
DCT = 0
IOA = IOA+1
NO
YES
DTEx = 1
(割込みルーチンへジャンプ)
割込み処理
*
ENx = 0
NO
他の割込み発生
YES
割込み発生
YES
NO
処理終了
ENx :DMA許可レジスタの該当するビット
DTEx:DMAステータスレジスタの該当するビット
STPx:DMAストップステータスレジスタの該当するビット
*
:割込みコントローラに割込み要求を出力
108
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
3.9
第 3 章 割込み
3.9 例外
例外
F2MC-16LX では , 以下の要因により例外が発生し , 例外処理が行われます。
■ 未定義命令の実行
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生したこ
とを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処理は
予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊急時
の復旧ソフトウェアの起動などに使用することをお勧め致します。
■ 未定義命令の実行による例外発生
F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の「INT10」と等価な処理を
行います。すなわち , AL, AH, DPR, DTB, ADB, PCB, PC, PS の内容をシステムスタック
に退避した後に , I フラグを "0" に設定し , S フラグを "1" に設定し , 割込み番号 10 の
ベクタで示されるルーチンへ分岐します。スタックへ退避した PC の値は未定義命令を
格納しているアドレスそのものです。2 バイト以上の命令コードでは , 未定義であるこ
とが識別できたコードを格納しているアドレスになります。このため , RETI 命令で復
帰させることは可能ですが , 再び例外を発生するため , 意味がありません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
109
第 3 章 割込み
3.10 割込み処理のスタック動作
MB90330A シリーズ
割込み処理のスタック動作
3.10
割込みが受け付けられると , 割込み処理に分岐する前に , 専用レジスタの内容を自動
的にシステムスタックに退避します。割込み処理終了時のスタックからの復帰も自
動的に行われます。
■ 割込み処理開始時のスタック動作
割込みが受け付けられると , CPU は現在の専用レジスタ類の内容を , 次に示す順番で自
動的にシステムスタックに退避させます。
1. アキュムレータ (A)
2. ダイレクトページレジスタ (DPR)
3. アディショナルデータバンクレジスタ (ADB)
4. データバンクレジスタ (DTB)
5. プログラムカウンタバンクレジスタ (PCB)
6. プログラムカウンタ (PC)
7. プロセッサステータス (PS)
図 3.10-1 に , 割込み処理開始時のスタック動作を示します。
図 3.10-1 割込み処理開始時のスタック動作
割込み直前
SSB
アドレス
00H
割込み直後
メモリ
SSB
08FF H
08FEH
A
0000H
00H
XXH
H
AH
08F2H
A
0000H
00H
08FEH
AH
XXH
08H
AL
01H
ADB
00H
DTB
00H
PCB
FFH
01H
XXH
DPR
01H
ADB
00H
DTB
00H
PCB
FFH
00H
XXH
XXH
PC
00H
XXH
FFH
L
XXH
803FH
80H
PC
803FH
3FH
XXH
PS
20E0H
08F2H
XXH
20H
PS
20E0H
バイト
AL
FEH
XXH
DPR
AH
00H
XXH
AL
SP
08FEH
SSP
XXH
08FEH
メモリ
08FFH
SP
08FE H
SSP
アドレス
08F2H
E0H
バイト
DPR
ADB
DTB
PCB
PC
PS
更新後
のSP
■ 割込み処理復帰時のスタック動作
割込み処理終了時に割込み復帰命令 (RETI) を実行すると , 割込み処理開始時と反対の
順番で PS, PC, PCB, DTB, ADB, DPR, A の値がスタックから復帰し , 専用レジスタは割
込み開始直前の状態に戻ります。
110
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.10 割込み処理のスタック動作
MB90330A シリーズ
■ スタック領域
● スタック領域の確保
スタック領域は , 割込み処理の他にサブルーチンコール命令 (CALL) やベクタコール命
令 (CALLV) を実行するときのプログラムカウンタ (PC) の退避 / 復帰や , PUSHW, POPW
命令による一時的なレジスタ類の退避 / 復帰にも使われます。スタック領域は , データ
領域とともに RAM 上に確保します。
図 3.10-2 にスタック領域を示します。
図 3.10-2 スタック領域
ベクタテーブル
(リセット・割込み
ベクタコール命令)
FFFFFFH
FFFC00H
ROM領域
FC0000H*1
0040FFH*2
内蔵RAM領域
スタック領域
000380H
汎用レジスタ
バンク領域
000180H
000100H
0000FBH
000000H
内蔵I/O領域
*1:品種によって,内蔵ROM容量が異なります。
*2:品種によって,内蔵RAM容量が異なります。
<注意事項>
•
スタックポインタ (SSP, USP) にアドレスを設定する場合 , 原則として偶数アドレスを
設定してください。
•
システムスタック領域 , ユーザスタック領域 , およびデータ領域は , お互いに重なり合
わないように配置してください。
● システムスタックとユーザスタック
割込み処理では , システムスタック領域を使用します。割込み発生時にユーザスタック
領域を使用していても , 強制的にシステムスタックに切り換えられます。このため ,
ユーザスタック領域を主に使用するシステムであっても , システムスタック領域を正
しく設定しておく必要があります。特に , スタック空間を分ける必要がなければ , シス
テムスタックだけを使用してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
111
第 3 章 割込み
3.11 割込み処理のプログラム例
3.11
MB90330A シリーズ
割込み処理のプログラム例
割込み処理のプログラム例を示します。
■ 割込み処理のプログラム例
● 処理仕様
外部割込み 0(INT0) を利用した割込みプログラムの一例です。
● コーディング例
DDR6
EQU
000016H
; ポート 6 方向レジスタ
ENIR
EQU
00003CH
; 割込み /DTP 許可レジスタ
EIRR
EQU
00003DH
; 割込み /DTP 要因レジスタ
ELVR
EQU
00003EH
; 要求レベル設定レジスタ
ICR03
EQU
0000B3H
; 割込み制御レジスタ 03
STACK
SSEG
RW
100
STACK_T RW
STACK
; スタック
1
ENDS
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
;
START:
MOV
RP, #0
; 汎用レジスタは先頭バンクを使用
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
MOV
A, #!STACK_T
; システムスタックの設定
MOV
SSB, A
MOVW A, #STACK_T
; スタックポインタの設定 , このときは
MOVW SP, A
; S フラグ =1 のため SSP にセットされる
MOV
DDR6, #00000000B ; P60/INT0 端子を入力に設定
OR
CCR, #40H
; PS内CCRのIフラグをセットして割込み許可
MOV
I:ICR03, #00H
; 割込みレベル 0( 最強 ) とする
MOV
I:ELVR, #00000001B ; INT0 を "H" レベル要求とする
MOV
I:EIRR, #00H
; INT0 の割込み要因をクリア
MOV
I:ENIR, #01H
; INT0 の入力許可
:
LOOP:
NOP
; ダミーループ
NOP
NOP
NOP
112
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.11 割込み処理のプログラム例
MB90330A シリーズ
BRA
LOOP
; 無条件ジャンプ
;---------- 割込みプログラム -----------------------------------------------------------ED_INT1:
MOV
I:EIRR, #00H
; INT0 の新規受付禁止
NOP
NOP
NOP
NOP
NOP
NOP
; 割込みから復帰
RETI
CODE
ENDS
;---------- ベクタ設定 -----------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FFB4H
DSL
ED_INT1
ORG
0FFDCH
DSL
START
DB
00H
; 割込み #18(12H) にベクタを設定
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
START
● 拡張インテリジェント I/O サービス (EI2OS) のプログラム例処理仕様
1. INT0端子に入力される, 信号の"H"レベルを検出して拡張インテリジェントI/Oサー
ビス (EI2OS) を起動
2. INT0 端子に "H" レベルが入力されると , EI2OS が起動されポート 0 のデータをメモ
リの 3000H 番地に転送
3. 転送データバイト数は 100 バイトで , 100 バイト転送後 , EI2OS 転送終了による割込
みが発生
● コーディング例
CM44-10129-6
DDR6
EQU
000016H
; ポート 6 方向レジスタ
ENIR
EQU
00003CH
; 割込み /DTP 許可レジスタ
EIRR
EQU
00003DH
; 割込み /DTP 要因レジスタ
ELVR
EQU
00003EH
; 要求レベル設定レジスタ
ICR03
EQU
0000B3H
; 割込み制御レジスタ 03
BAPL
EQU
000100H
; バッファアドレスポインタ下位
BAPM
EQU
000101H
; バッファアドレスポインタ中位
BAPH
EQU
000102H
; バッファアドレスポインタ上位
ISCS
EQU
000103H
; EI2OS ステータス
FUJITSU MICROELECTRONICS LIMITED
113
第 3 章 割込み
3.11 割込み処理のプログラム例
MB90330A シリーズ
IOAL
EQU
000104H
; I/O アドレスポインタ下位
IOAH
EQU
000105H
; I/O アドレスポインタ上位
DCTL
EQU
000106H
; データカウンタ下位
DCTH
EQU
000107H
; データカウンタ上位
ER0
EQU
EIRR:0
; 外部割込み要求フラグビットの定義
STACK
SSEG
RW
STACK_T RW
STACK
; スタック
100
1
ENDS
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
START:
AND
CCR, #0BFH
; PS内CCRのIフラグをクリアして割込み禁止
MOV
RP, #00
; レジスタバンクポインタを設定
MOV
A, #!STACK_T
; システムスタックの設定
MOV
SSB, A
MOVW A, #STACK_T
; スタックポインタの設定 , このときは
MOVW SP, A
; S フラグ =1 のため SSP にセットされる
MOV
I:DDR6, #00000000B ; P60/INT0 端子を入力に設定
MOV
BAPL, #00H
MOV
BAPM, #30H
MOV
BAPH, #00H
MOV
ISCS, #00010001B
; バッファアドレスをセット (003000H)
; I/O アドレス更新なし , バイト転送 ,
バッファアドレス更新あり
; I/O →バッファへ転送 , 周辺機能による終了
あり
; 転送元アドレスをセット ( ポート 0:000000H)
MOV
IOAL, #00H
MOV
IOAH, #00H
MOV
DCTL, #64H
MOV
DCTH, #00H
MOV
I:ICR00, #00001000B ; EI2OS ch.0, EI2OS 許可 , 割込み
; 転送バイト数をセット (100 バイト )
レベル 0 ( 最強 )
MOV
I:ELVR, #00000001B ; INT0 を "H" レベル要求とする
MOV
I:EIRR, #00H
; INT0 の割込み要因クリア
MOV
I:ENIR, #01H
; INT0 の割込み許可
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
OR
CCR, #40H
; PS内CCRのIフラグをセットして割込み許可
:
114
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.11 割込み処理のプログラム例
MB90330A シリーズ
LOOP:
BRA
LOOP
; 無限ループ
;---------- 割込みプログラム -----------------------------------------------------------WARI
CLRB
ER0
; 割込み /DTP 要求フラグのクリア
:
ユーザ処理
; EI2OS の終了要因をチェック ,
; バッファ中のデータの処理 , EI2OS の再設定
:
など
RETI
CODE
ENDS
;---------- ベクタ設定 ------------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FFB4H
DSL
WARI
ORG
0FFDCH
DSL
START
DB
00H
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
CM44-10129-6
; 割込み #18(12H) にベクタを設定
START
FUJITSU MICROELECTRONICS LIMITED
115
第 3 章 割込み
3.12 遅延割込み発生モジュール
3.12
MB90330A シリーズ
遅延割込み発生モジュール
遅延割込み発生モジュールは , タスク切換え用の割込みを発生するためのモジュー
ルです。本モジュールを使用することによってソフトウェアで F2MC-16LX CPU に
対して割込み要求の発生 / 取消しを行うことができます。
■ 遅延割込み発生モジュールのブロックダイヤグラム
図 3.12-1 に , 遅延割込み発生モジュールのブロックダイヤグラムを示します。
図 3.12-1 遅延割込み発生モジュールのブロックダイヤグラム
F2MC-16LX バス
遅延割込み要求発生/解除デコーダ
要因ラッチ
■ 遅延割込み発生モジュールのレジスタ一覧
遅延割込み発生モジュール{遅延割込み要因発生/解除レジスタ(DIRR:Delayed Interrupt
Request Register)} のビット構成は下図のとおりです。
図 3.12-2 遅延割込み要因発生 / 解除レジスタ (DIRR) のビット構成
bit
00009FH
15
14
13
12
11
10
9
8
-
-
-
-
-
-
-
R0
R/W
初期値
-------0B
R/W : リード・ライト可能
遅延割込み要因発生 / 解除レジスタ (DIRR) は , 遅延割込み要因の発生 / 解除を制御す
るレジスタです。このレジスタに対して "1" を書き込むときには遅延割込みの要求を
発生させ , "0" を書き込むときには遅延割込みの要求を解除します。リセット時には要
因解除状態になります。予約ビット領域は "0", "1" どちらの書込みでも結構ですが , 将
来の拡張を考慮してこのレジスタをアクセスする際には , セットビット , クリアビット
命令を使用することをお勧めいたします。
116
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 3 章 割込み
3.12 遅延割込み発生モジュール
MB90330A シリーズ
遅延割込み発生モジュールの動作
3.12.1
ソフトウェアで CPU が DIRR の該当ビットに "1" を書き込むと , 遅延割込み発生モ
ジュールの中にある要求ラッチがセットされ , 割込みコントローラに割込み要求を
発生します。
■ 遅延割込み発生モジュールの動作
ソフトウェアで CPU が DIRR の該当ビットに "1" を書き込むと , 遅延割込み発生モ
ジュールの中にある要求ラッチがセットされ , 割込みコントローラに割込み要求を発
生します。ほかの割込み要求が本割込みより優先順位が低いまたはほかの割込み要求
がない場合に , 割込みコントローラは F2MC-16LX CPU に対して割込みを発生します。
F2MC-16LX CPU は自分の内部にある CCR レジスタ中の ILM ビットと割込み要求を比
較し , 要求レベルが ILM ビットより高かったときに現在実行中の命令が終了し次第 ,
ハードウェア割込み処理マイクロプログラムを起動します。この結果 , 本割込みに対す
る割込みルーチンが実行されます。割込み処理ルーチン内で DIRR の該当ビットに "0"
を書き込むことによって本割込み要因をクリアし , あわせてタスクの切換えを行いま
す。
以上の動作の流れを , 図 3.12-3 に示します。
図 3.12-3 遅延割込み発生モジュールの動作
遅延割込み発生モジュール
割込みコントローラ
F2MC-16LX CPU
ほかの要求
ICRYY
DIRR
IL
CMP
ICRXX
CMP
ILM
INTA
■ 遅延割込み発生モジュールの使用上の注意 ( 遅延割込み要求ラッチ )
このラッチは , DIRR の該当するビットに "1" を書き込むことによってセットされ , 同
じビットに "0" を書き込むことによってクリアされます。したがって , 割込み処理ルー
チン内で , 要因をクリアするようにソフトウェアを作成しておかないと , 割込み要因処
理から復帰した途端に再割込み処理を起動することになりますので , 注意してくださ
い。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
117
第 3 章 割込み
3.12 遅延割込み発生モジュール
118
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第4章
リセット
この章では , MB90330A シリーズのリセットにつ
いて説明します。
4.1 リセットの概要
4.2 リセット要因と発振安定待ち時間
4.3 外部リセット端子
4.4 リセット動作
4.5 リセット要因ビット
4.6 リセットによる各端子の状態
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
119
第 4 章 リセット
4.1 リセットの概要
4.1
MB90330A シリーズ
リセットの概要
リセット要因が発生すると , CPU は現在実行中の処理を直ちに中断し , リセット解
除待ち状態になります。リセット解除後は , リセットベクタで示されたアドレスか
ら処理を開始します。
リセットには , 次の 4 種類の要因があります。
• パワーオンリセットの発生
• ウォッチドッグタイマのオーバフロー
• RST 端子からの外部リセット要求の発生
• ソフトウェアリセット要求の発生
■ リセット要因
リセットの要因について表 4.1-1 に示します。
表 4.1-1 リセット要因
リセット
発生要因
マシンクロック
ウォッチドッグ
タイマ
発振安定
待ち
パワーオン
電源投入時
メインクロック
(MCLK)
停止
あり
ウォッチドッグ
タイマ
ウォッチドッグタイマ
オーバフロー
メインクロック
(MCLK)
停止
なし
外部端子
RST 端子への
"L" レベル入力
メインクロック
(MCLK)
停止
なし
ソフトウェア
低消費電力モード制御
レジスタ (LPMCR) の
内部リセット信号発生
ビット (RST) に "0" を
書き込む
メインクロック
(MCLK)
停止
なし
メインクロック : 発振クロックの 2 分周クロック
● パワーオンリセット
パワーオンリセットは , 電源投入時に発生するリセットです。評価品 / フラッシュ品の
発振安定待ち時間は 2 18/HCLK( 約 43.70 ms: 発振クロック 6 MHz 時 ), マスク品の発振
安定待ち時間は 2 17/HCLK( 約 21.85 ms: 発振クロック 6 MHz 時 ) 固定です。発振安定
待ち時間が経過した後 , リセット動作を行います。
● ウォッチドッグリセット
ウォッチドッグリセットは , ウォッチドッグタイマの起動後 , 定められた時間内に
ウォッチドッグタイマ制御レジスタ (WDTC) のウォッチドッグ制御ビット (WTE) に "0"
の書込みがない場合 , ウォッチドッグタイマのオーバフローによってリセットを発生
します。発振安定待ち時間はクロック選択レジスタ (CKSCR) で設定できます。
120
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 4 章 リセット
4.1 リセットの概要
● 外部リセット
外部リセットは , 外部リセット端子 (RST 端子 ) に "L" レベルを入力することによってリ
セットを発生します。RST 端子への "L" レベル入力時間は , 16 マシンサイクル (16/ φ) 以
上必要です。
外部リセット (RST 端子入力リセット ) では , 発振安定待ち時間を取りません。
<参考>
RST 端子によるリセット要求が発生した場合に限り , 書込み動作中 ( 転送系命令実行中
MOV 命令など ) にリセット要因が発生した場合は , 命令の終了後にリセット解除待ち状態
になります。そのため , 書込み中にリセットが入力されても , 正常に書込みを終了します。
ただし , ストリング系命令 (MOVS 命令など ) は指定したカウンタ分の転送が完了する前
に , リセットを受け付けますので , すべてのデータが転送されることは保証されません。
また , 外部バスアクセス時に RDY 端子によるバスサイクルの延長が 16 マシンサイクル以
上続いた場合もリセットを受け付けます。
● ソフトウェアリセット
ソフトウェアリセットは , 低消費電力モード制御レジスタ (LPMCR) の内部リセット信
号発生ビット (RST) に "0" を書き込むことによって , 内部リセットを発生します。ソフ
トウェアリセットでは , 発振安定待ち時間を取りません。
<参考>
クロックの定義
HCLK
: 発振クロック ( 高速発振端子から供給されるクロック )
MCLK
: メインクロック (HCLK の 2 分周クロック )
SCLK
: サブクロック ( 低速発振端子から供給されるクロックの 4 分周 )
φ
: マシンクロック (CPU 動作クロック )
1/ φ
: マシンサイクル (CPU 動作クロック周期 )
マシンクロックの詳細は , 「 5.1 クロックの概要 」を参照してください。
<注意事項>
ストップモードまたはサブクロックモードでリセットが発生した場合は , 2 17/HCLK( 約
21.85 ms: 発振クロック 6 MHz 時 ) の発振安定待ち時間を取ります。
クロックモードの詳細は , 「 5.4 クロックモード 」を参照してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
121
第 4 章 リセット
4.2 リセット要因と発振安定待ち時間
4.2
MB90330A シリーズ
リセット要因と発振安定待ち時間
MB90330A シリーズには , 4 種類のリセット要因があります。リセット時の発振安
定待ち時間はリセット要因によってそれぞれ異なります。
■ リセット要因と発振安定待ち時間
表 4.2-1 に , リセット要因と発振安定待ち時間について示します。
表 4.2-1 リセット要因と発振安定待ち時間
リセット要因
発振安定待ち時間
() 内は発振クロック 6 MHz 時
パワーオンリセット
評価品 / フラッシュ品 : 2 18/HCLK( 約 43.70 ms)
マスク品 : 2 17/HCLK( 約 21.85 ms)
ウォッチドッグタイマ
なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。
RST 端子からの外部
リセット
なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。
ソフトウェアリセット
なし : ただし , WS1, WS0 ビットは "11B" に初期化されます。
HCLK
: 発振クロック
WS1, WS0 : クロック選択レジスタ (CKSCR) の発振安定待ち時間選択ビット
図 4.2-1 に , パワーオンリセット時の評価品 / フラッシュ品とマスク品の発振安定待ち
時間について示します。
122
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 4 章 リセット
4.2 リセット要因と発振安定待ち時間
MB90330A シリーズ
図 4.2-1 パワーオンリセット時の評価品 / フラッシュ品とマスク品の発振安定待ち時間
評価品/フラッシュ品
Vcc
17
2 /HCLK
217/HCLK
CLK
CPU動作
降圧回路の
安定待ち時間
発振安定
待ち時間
MASK品
Vcc
217/HCLK
CLK
CPU動作
発振安定待ち時間
HCLK:発振クロック
<注意事項>
セラミックや水晶などの振動子は , 発振を開始してから固有の振動数に安定するまで , 一
般に数ミリ秒から十数ミリ秒の発振安定待ち時間が必要です。そのため , 使用する振動子
に合わせた値を設定してください。
詳細は , 「 5.5 発振安定待ち時間 」を参照してください。
■ 発振安定待ちリセット状態
電源投入時のリセット , ストップモードおよびサブクロックモード中のリセットに対
するリセット動作は , タイムベースタイマによって作られる発振安定待ち時間が経過
してからとなります。この場合 , 外部リセット入力が解除されていなければ , 外部リ
セット解除後にリセット動作を行います。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
123
第 4 章 リセット
4.3 外部リセット端子
4.3
MB90330A シリーズ
外部リセット端子
外部リセット端子 (RST 端子 ) は , リセット入力専用端子で , "L" レベルの入力に
よって内部リセットを発生します。MB90330A シリーズは , CPU 動作クロックに同
期してリセットが発生しますが , 外部端子 ( ポートなど ) のみ非同期でリセット状態
に遷移します。
■ 外部リセット端子のブロックダイヤグラム
図 4.3-1 に , 内部リセット発生のブロックダイヤグラムを示します。
図 4.3-1 内部リセット発生のブロックダイヤグラム
CPU動作クロック
(PLL逓倍回路,HCLKの2分周)
RST
CPU
P-ch
同期化回路
端子
N-ch
入力バッファ
HCLK:発振クロック
周辺機能
I/Oポート
など
<注意事項>
書込み動作中のリセットによるメモリ破壊を防ぐため, RST端子入力の受付けをメモリが
破壊されないサイクルで行います。
また , 内部回路の初期化には , クロックが必要です。特に外部クロックで動作させる場合
は , リセット入力時にクロックを入力する必要があります。
124
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 4 章 リセット
4.4 リセット動作
MB90330A シリーズ
4.4
リセット動作
リセットが解除されると , モード端子の設定でモードデータとリセットベクタの読
出し先を選択し , モードフェッチを行います。このモードフェッチで , CPU の動作
モードとリセット動作終了後の実行開始アドレスが決定されます。電源投入時およ
びストップモードからのリセットによる復帰では , 発振安定待ち時間が経過してか
らモードフェッチを行います。
■ リセット動作の概要
図 4.4-1 に , リセット動作フローを示します。
図 4.4-1 リセット動作フロー
パワーオンリセット
ストップモード
サブクロックモード
外部リセット
ソフトウェアリセット
ウォッチドッグタイマリセット
リセット中
発振安定待ちリセット状態
モードフェッチ
(リセット動作)
モードデータ取込み
外部バスモード関連の
端子状態および機能変更
リセットベクタ取込み
通常動作
(RUN状態)
リセットベクタが示す
アドレスから命令コードを
取り込み,命令を実行
■ モード端子
モード端子 (MD2 ∼ MD0) は , リセットベクタとモードデータの取込み方法を指定しま
す。リセットベクタとモードデータの取込みは , リセットシーケンスで行います。モー
ド端子の詳細は , 「7.2 モード端子 (MD2 ∼ MD0)」を参照してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
125
第 4 章 リセット
4.4 リセット動作
MB90330A シリーズ
■ モードフェッチ
リセットが解除されると , CPU は , リセットベクタとモードデータを CPU コア内の該
当レジスタ内にハードウェア転送します。リセットベクタとモードデータは ,
FFFFDCH ∼ FFFFDFH バイトに割り当てられています。CPU は , リセット解除で直ち
にこれらのアドレスをバスに出力し , リセットベクタとモードデータを取り込みます。
このモードフェッチで, CPUはリセットベクタが指すアドレスから処理を開始します。
図 4.4-2 に , リセットベクタとモードデータの転送を示します。
図 4.4-2 リセットベクタとモードデータの転送
F2MC-16LX CPUコア
メモリ空間
モード
レジスタ
FFFFDFH
モードデータ
FFFFDEH
リセットベクタ・bit23~bit16
FFFFDDH
リセットベクタ・bit15~bit8
FFFFDCH
リセットベクタ・bit7~bit0
マイクロROM
リセットシーケンス
PCB
PC
<参考>
リセットベクタとモードデータを , 内部 ROM または外部メモリのどちらから読み出すか
は , モード端子によって指定します。モード端子で外部ベクタモードを指定すると , 内部
ROM ではなく , 外部メモリからリセットベクタとモードデータを読み出しますので , シ
ングルチップモードおよび内部 ROM 外部バスモードで使用される場合には , モード端子
で内部ベクタモードを指定することを推奨します。
● モードデータ ( アドレス :FFFFDFH)
モードレジスタの内容を変更できるのはリセット動作だけで , モードレジスタの設定
はリセット動作以降に有効となります。モードデータの詳細は , 「 7.3 モードデータ 」
を参照してください。
● リセットベクタ ( アドレス :FFFFDCH ∼ FFFFDEH)
リセット動作終了後の実行開始アドレスを書き込んでおきます。この内容のアドレス
から実行を開始します。
126
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 4 章 リセット
4.5 リセット要因ビット
MB90330A シリーズ
4.5
リセット要因ビット
リセット発生要因は , ウォッチドッグタイマ制御レジスタ (WDTC) を読み出すこと
によって識別できます。
■ リセット要因ビット
図 4.5-1 に示すように , それぞれのリセット要因には対応したフリップフロップがあり
ます。これらの内容は , ウォッチドッグタイマ制御レジスタ (WDTC) を読み出すと得
られます。リセット解除後にリセット発生要因を識別する必要がある場合には , WDTC
レジスタの読出し値をソフトウェアで処理した上で , 適切なプログラムへ分岐するよ
うにしてください。
図 4.5-1 リセット要因ビットブロックダイヤグラム
RST端子
RST=L
電源投入
パワーオン発生
検出回路
定期的なクリアなし
外部リセット
要求検出回路
ウォッチドッグ
タイマ制御
レジスタ
(WDTC)
S
F/F
Q
R
S
F/F
Q
R
S
ウォッチドッグ
タイマリセット
発生検出回路
R
F/F
Q
S
F/F
RSTビットセット
LPMCR, RSTビット
書込み検出回路
R
遅延回路
Q
ウォッチドッグタイマ
制御レジスタ
(WDTC)読出し
F2MC-16LX 内部バス
S:セット R:リセット Q:出力 F/F:フリップフロップ
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
127
第 4 章 リセット
4.5 リセット要因ビット
MB90330A シリーズ
■ リセット要因ビットとリセット要因の対応
ウォッチドッグタイマ制御レジスタ(WDTC)のリセット要因ビットの構成を図 4.5-2に,
リセット要因ビットの内容とリセット要因の対応を表 4.5-1 に示します。
詳細は , 「 10.2 ウォッチドッグタイマ制御レジスタ (WDTC) 」のビット構成を参照し
てください。
図 4.5-2 リセット要因ビットの構成 ( ウォッチドッグタイマ制御レジスタ )
ウォッチドッグタイマ制御レジスタ (WDTC)
bit
0000A8H
15-8
7
6
(TBTC)
PONR
X
R
予約
X
-
5
4
WRST ERST
X
X
R
R
3
2
1
0
SRST
X
R
WTE
1
W
WT1
1
W
WT0
1
W
初期値
R/W
R : リードオンリ W : ライトオンリ X : 不定
表 4.5-1 リセット要因ビットの内容とリセット要因の対応
PONR
WRST
ERST
SRST
パワーオンリセットの発生
1
X
X
X
ウォッチドッグタイマのオーバフロー発生
*
1
*
*
RST 端子からの外部リセット要求発生
*
*
1
*
ソフトウェアリセット要求の発生
*
*
*
1
リセット要因
* : 前の状態を保持
X : 不定
■ リセット要因ビットの注意事項
● 複数のリセット要因が発生した場合
リセット要因が複数発生する場合は , WDTC レジスタの対応するそれぞれのリセット
要因ビットが "1" にセットされます。例えば , RST 端子からの外部リセット要求の発生
とウォッチドッグタイマのオーバフローが同時に発生した場合 , リセット要因ビット
のうち ERST ビットと WRST ビットが "1" になります。
● パワーオンリセットの場合
パワーオンリセット時には , リセット要因ビットのうち PONR ビットが "1" にセットさ
れますが , PONR ビット以外のリセット要因ビットは不定となります。このため , PONR
ビットが "1" の場合は , PONR ビット以外のリセット要因ビットを無視するようにソフ
トウェアを作成してください。
● リセット要因ビットのクリア
リセット要因ビットは , WDTC レジスタを読み出した場合のみクリアされます。一度
発生したリセット要因に対応するビットは , リセットが発生してもクリアされません
("1" のままです )。
<注意事項>
パワーオンリセットが発生しない条件で電源を立ち上げた場合, WDTCレジスタの値は保
証されません。
128
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
4.6
第 4 章 リセット
4.6 リセットによる各端子の状態
リセットによる各端子の状態
リセットによる各端子の状態について説明します。
■ リセット中の端子の状態
リセット中の端子の状態は , モード端子 (MD2 ∼ MD0) の設定によって決定されます。
● 内部ベクタモード設定時 (MD2 ∼ MD0=011B)
I/O 端子 ( リソース端子 ) はすべてハイインピーダンスになり , モードデータの読出し
先は内部 ROM になります。
リセット中の各端子の状態については , 「 6.7 スタンバイモード , ホールド , リセット
時の端子状態 」を参照してください。
■ モードデータ読出し後の端子の状態
モードデータ読出し後の端子の状態は, モードデータ(M1, M0)によって決定されます。
● シングルチップモード選択時 (M1, M0=00B)
I/O 端子 ( リソース端子 ) はすべてハイインピーダンスになり , モードデータの読出し
先は内部 ROM になります。
<注意事項>
リセット要因が発生した場合にハイインピーダンスとなる端子は , その端子に接続した機
器が誤動作しないように配慮してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
129
第 4 章 リセット
4.6 リセットによる各端子の状態
130
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第5章
クロック
この章では , MB90330A シリーズのクロックにつ
いて説明します。
5.1 クロックの概要
5.2 クロック発生部のブロックダイヤグラム
5.3 クロック選択レジスタ (CKSCR)
5.4 クロックモード
5.5 発振安定待ち時間
5.6 振動子と外部クロックの接続
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
131
第 5 章 クロック
5.1 クロックの概要
5.1
MB90330A シリーズ
クロックの概要
クロック発生部は , CPU や周辺機能の動作クロックである内部クロックの動作を制
御します。本書では , クロックの種類に応じて以下のようによびます。
• マシンクロック: 内部クロックのことをいいます。
• メインクロック: 発振クロックの 2 分周クロックをいいます。
• 発振クロック : 高速発振端子から供給されるクロックをいいます。
• PLL クロック : 内部の PLL 発振によるクロックをいいます。
• サブクロック : 低速発振端子から供給されるクロックの 4 分周をいいます。
■ クロックの概要
クロック発生部は発振回路を内蔵しており , 外部に振動子を接続することによって , 発
振クロックおよびサブクロックを発生します。外部で生成したクロックを入力して , 発
振クロックにすることもできます。また , PLL クロック逓倍回路を内蔵しており , 発振
クロックの逓倍クロックを 3 種類発生できます。クロック発生部では , 発振安定待ち時
間の制御 , PLL クロック逓倍制御およびクロックセレクタでのクロックの切換えによる ,
内部クロックの動作制御を行います。
● 発振クロック (HCLK)
高速発振端子に振動子を接続するか , 外部クロックを入力して発生させたクロックで
す。
● サブクロック (SCLK)
時計タイマを動作させるクロックです。また , 低速のマシンクロックとしても使用可能
です。
低速発振端子に振動子を接続するか , 外部クロックを入力して発生させたクロックの 4
分周です。
● メインクロック (MCLK)
発振クロックの2分周クロックであり, タイムベースタイマとクロックセレクタへの入
力クロックとなります。
● PLL クロック (PCLK)
発振クロックを , 内蔵の PLL クロック逓倍回路 (PLL 発振回路 ) により逓倍したクロッ
クです。3 種類のクロックを選択できるようになっています。
● マシンクロック (φ)
CPU と周辺機能の動作クロックです。このクロックの 1 周期を , マシンサイクル (1/ φ)
としています。メインクロック ( 発振クロックの 2 分周クロック ), サブクロックと , 3
種類の逓倍クロックの中から 1 種類を選択できるようになっています。
132
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 5 章 クロック
5.1 クロックの概要
<注意事項>
• 発振クロックは 1 MHz ∼ 7 MHz の発振が可能です。CPU および周辺機能は最大動作
周波数が 24 MHz です。最大動作周波数を超える逓倍率を指定した場合 , デバイスは正
常に動作しません。例えば , 原発振が 6 MHz で発振している場合には , 最大 4 逓倍の
指定が可能です。
• USBホスト, USBファンクション使用時はこの6 MHz 4逓倍の設定が必要となります。
■ クロック供給マップ
CPU や周辺機能の動作クロックとして , クロック発生部で生成したマシンクロックを
供給しています。このため , CPU と周辺機能の動作は , メインクロックと PLL クロッ
クの切換え ( クロックモード ) や PLL クロック逓倍率切換えの影響を受けます。一部
の周辺機能へは , タイムベースタイマの分周出力が供給されており , 各周辺で , その動
作クロックを選択できるようになっています。図 5.1-1 に , クロック供給マップを示し
ます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
133
第 5 章 クロック
5.1 クロックの概要
MB90330A シリーズ
図 5.1-1 クロック供給マップ
4
4
クロック発生部
周辺機能
ウォッチドッグ
タイマ
16ビット
PPGタイマ
0/1/2/3/4/5
端子 PPG0~PPG5
16ビット
PWCタイマ
端子 PWC
8ビット
端子 SCK
時計タイマ
X0A
端子
X1A
端子
タイムベースタイマ
サブ
クロック
発生回路
拡張シリアルI/O
1 2 4
PLL逓倍回路
X0
端子
X1
端子
4分周
システム
クロック
発生回路
HCLK
2分周
SCLK
PCLK
端子 SCK0~SCK3
UART0/1/2/3
クロックセレクタ
端子 SIN0~SIN3
MCLK
端子 SOT0~SOT3
16ビット
リロードタイマ
HCLK:発振クロック
MCLK:メインクロック
SCLK:サブクロック
PCLK:PLLクロック
端子 SIN
端子 SOT
CPU
0/1/2
外部割込み
端子 TIN0~TIN2
端子 TOT0~TOT2
端子 INT0~INT7
16ビット
アウトプットコンペア
端子 OUT0~OUT3
0/1/2/3
16ビット
フリーランタイマ
端子 FRCK
16ビット
インプットキャプチャ
0/1/2/3
端子 IN0~IN3
8/10ビット
A/Dコンバータ
端子 AN0~AN15
USBファンクション
端子 DVM
端子 ADTG
端子 DVP
端子 HCON
端子 UTEST
USBホスト
端子 HVP
端子 HVM
I2Cインタフェース
端子 SCL0~SCL2
端子 SDA0~SDA2
3
134
発振安定待ち制御
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 5 章 クロック
5.2 クロック発生部のブロックダイヤグラム
MB90330A シリーズ
5.2
クロック発生部のブロックダイヤグラム
クロック発生部は , 次の 6 つのブロックで構成されています。
• システムクロック発生回路
• サブクロック発生回路
• PLL 逓倍回路
• クロックセレクタ
• クロック選択レジスタ (CKSCR)
• 発振安定待ち時間セレクタ
■ クロック発生部のブロックダイヤグラム
図 5.2-1 に , クロック発生部のブロックダイヤグラムを示します。
なお, 図 5.2-1には, スタンバイ制御回路, タイムベースタイマの回路も含まれています。
図 5.2-1 クロック発生部のブロックダイヤグラム
低消費電力モード制御レジスタ(LPMCR)
STP
SLP
SPL
RST
TMD
CG1
CG0 予約
RST 端子
端子ハイインピー
ダンス制御回路
端子Hi-Z制御
内部リセット
発生回路
内部リセット
CPU間欠動作
サイクルセレクタ
間欠サイクル選択
CPUクロック
制御回路
リセット(解除)
時計,スリープ,ストップ信号
スタンバイ
制御回路
2
CPU動作
クロック
時計,ストップ信号
割込み(解除)
周辺クロック
制御回路
周辺機能
動作クロック
サブクロック発振安定待ち解除
メインクロック発振安定待ち解除
クロック
発生部
動作クロック
セレクタ
マシン
クロック
2
発振安定
待ち時間
セレクタ
2
PLL逓倍回路
SCM
MCM
WS1
WS0
SCS
MCS
CS1
CS0
クロック選択レジスタ(CKSCR)
2分周
X0 端子
発振クロック
(HCLK)
X1 端子
発振クロック
発振回路
2分周
1024分周
2分周
2分周
2分周
4分周
ウォッチドッグタイマへ
サブクロック
(SCLK)
4分周
X0A 端子
4分周
512分周
2分周
メイン
クロック
タイムベースタイマ
8分周
2分周
2分周
時計タイマ
X1A 端子
システムクロック
発生回路
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
135
第 5 章 クロック
5.2 クロック発生部のブロックダイヤグラム
MB90330A シリーズ
● システムクロック発生回路
高速発振端子に接続した振動子によって , 発振クロック (HCLK) を発生します。外部ク
ロックを入力することもできます。
● サブクロック発生回路
低速発振端子に接続した振動子によって , サブクロック (SCLK) を発生します。外部ク
ロックを入力することもできます。
● PLL 逓倍回路
PLL 発振で発振クロックを逓倍し , CPU クロックセレクタへ供給します。
● クロックセレクタ
メインクロック , サブクロックと , 3 種類の PLL クロックから , CPU 系クロック制御回
路および周辺系クロック制御回路へ供給されるクロックを選択します。
● クロック選択レジスタ (CKSCR)
発振クロックと PLL クロックの切換え , 発振安定待ち時間の選択および PLL クロック
の逓倍率の選択などを行います。
● 発振安定待ち時間セレクタ
ストップモードの解除時およびウォッチドッグリセット時の , 発振クロックの発振安
定待ち時間を選択する回路です。4 種類のタイムベースタイマ出力を選択します。
136
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 5 章 クロック
5.3 クロック選択レジスタ (CKSCR)
MB90330A シリーズ
5.3
クロック選択レジスタ (CKSCR)
クロック選択レジスタ (CKSCR) は , メインクロック , サブクロックと PLL クロック
の切換え , 発振安定待ち時間の選択および PLL クロックの逓倍率の選択などを行い
ます。
■ クロック選択レジスタ (CKSCR) の構成
図 5.3-1 にクロック選択レジスタ (CKSCR) のビット構成を , 表 5.3-1 にクロック選択レ
ジスタの各ビットの機能について説明します。
図 5.3-1 クロック選択レジスタ (CKSCR) のビット構成
アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7
0000A1H
SCM
MCM
WS1
WS0
SCS
MCS
CS1
CS0
R
R
R/W
R/W
R/W
R/W
R/W
R/W
CS1 CS0
bit0
(LPMCR)
11111100B
逓倍率選択ビット
( )内は発振クロック6MHz時
0
0
0
1
2×HCLK(12MHz)
1
0
4×HCLK(24MHz)
1
1
設定禁止
MCS
初期値
1×HCLK(6MHz)
0
マシンクロック選択ビット
PLLクロック選択
1
メインクロック選択
SCS
0
サブクロック選択ビット
サブクロック選択
1
メインクロック選択
WS1 WS0
発振安定待ち時間選択ビット
( )内は発振クロック6MHz時
0
0
210/HCLK(約170.7μs)
0
1
1
0
213/HCLK(約1.36ms)
215/HCLK(約5.46ms)
1
1
217/HCLK(約21.84ms)*
*:パワーオンリセット時は216/HCLK(約10.92ms)になります。
MCM
マシンクロック表示ビット
0
PLLクロックで動作中
1
メインクロックで動作中
SCM
サブクロック表示ビット
0
サブクロック選択
1
メインクロック選択
R/W :リード・ライト可能
R :リードオンリ
:初期値
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
137
第 5 章 クロック
5.3 クロック選択レジスタ (CKSCR)
MB90330A シリーズ
<注意事項>
マシンクロック選択ビット (MCS) は , リセットによってメインクロック選択に初期化さ
れます。
表 5.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能 (1 / 2)
ビット名
bit15
bit14
bit13,
bit12
機能
SCM:
サブクロック
表示ビット
・マシンクロックとして , メインクロックまたはサブクロックの
どちらが選択されているかを表示するビットです。
・ "0" の場合 , サブクロックが選択されていることを示し , "1" の
場合 , メインクロックまたは PLL クロックが選択されているこ
とを示します。
・SCS=1 で , かつ SCM=0 ならば , メインクロック発振安定待ち時
間中であることを示します。
MCM:
PLL クロック
表示ビット
・マシンクロックとして , メインクロックまたは PLL クロックの
どちらが選択されているかを表示するビットです。
・ "0" の場合 , PLL クロックが選択されていることを示し , "1" の
場合 , メインクロックまたはサブクロックが選択されているこ
とを示します。
・PLL クロック選択ビット (MCS)=0 で , かつ MCM=1 ならば , PLL
クロック発振安定待ち時間中であることを示します。
WS1, WS0:
発振安定待ち
時間選択ビット
・ストップモード解除時 , サブクロックモードからメインクロッ
クモードへの移行時およびサブクロックモードから PLL ク
ロックモードへの移行時の発振クロックの発振安定待ち時間
を選択します。
・すべてのリセット要因で "11B" に初期化されます。
( 注意事項 )
発振安定待ち時間は , 使用する振動子に合わせて適切な値を設
定する必要があります。「 4.2 リセット要因と発振安定待ち時
間 」を参照してください。"00B" の設定はメインクロックモー
ド時のみ設定してください。
( 参考 )
PLLクロック時の発振安定待ち時間は, 2 14/HCLKで固定です。
138
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 5 章 クロック
5.3 クロック選択レジスタ (CKSCR)
MB90330A シリーズ
表 5.3-1 クロック選択レジスタ (CKSCR) の各ビットの機能 (2 / 2)
ビット名
bit11
bit10
bit9,
bit8
機能
SCS:
サブクロック
選択ビット
・マシンクロックとして , メインクロックまたはサブクロックの
どちらを選択するかを指定するビットです。
・"0" のときサブクロックを選択し , "1" のときメインクロックを
選択します。
・"0" のときに "1" を書き込むと , メインクロックの発振安定待ち
時間が発生するために , 自動的にタイムベースタイマがクリア
されます。
・サブクロック選択時の動作クロックは , サブクロックを使用し
ます(低速発振32 kHz時, マシンクロックは8 kHzになります)。
・SCS, MCS がともに "0" のときは , SCS が優先され , サブクロッ
クが選択されます。
・すべてのリセット要因で "1" に初期化されます。
MCS:
PLL クロック
選択ビット
・マシンクロックとして , メインクロックまたは PLL クロックの
どちらを選択するかを指定するビットです。
・"0" の場合には PLL クロックを選択し , "1" の場合にはメインク
ロックを選択します。
・"1" の場合に "0" を書き込むと , PLL クロックの発振安定待ち時
間が発生するために , 自動的にタイムベースタイマがクリアさ
れます。さらにタイムベースタイマ制御レジスタ (TBTC) の割
込み要求フラグビット (TBOF) もクリアされます。
・PLL クロックの発振安定待ち時間は , 2 14/HCLK で固定です ( 発
振クロック 6 MHz 時 , 発振安定待ち時間は約 2.73 ms になりま
す )。
・メインクロック選択時の動作クロックは , 発振クロックを 2 分
周したクロックとなります ( 発振クロック 6 MHz 時 , 動作ク
ロックは 3 MHz になります )。
・すべてのリセット要因で "1" に初期化されます。
( 注意事項 )
MCS ビットが "1" の場合に "0" を書き込む場合には , TBTC レ
ジスタの割込み要求許可ビット (TBIE) または割込みレベルマ
スクレジスタ (ILM) によって , タイムベースタイマ割込みがマ
スクされている状態で行うようにしてください。
CS1, CS0:
逓倍率選択
ビット
・PLL クロックの逓倍率を選択するビットです。
・3 種類の逓倍率から選択できます。
・すべてのリセット要因で "00B" に初期化されます。
( 注意事項 )
MCS ビット , または MCM ビットが "0" の場合には , 書込みが
抑止されます。一度 , MCS ビットを "1" に設定 ( メインクロッ
クモード ) 後に , CS1, CS0 ビットを書き換えてください。"11B"
は設定禁止です。
HCLK: 発振クロック
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
139
第 5 章 クロック
5.4 クロックモード
5.4
MB90330A シリーズ
クロックモード
クロックモードには , メインクロックモード , PLL クロックモード , サブクロック
モードがあります。
■ メインクロックモード , PLL クロックモード , サブクロックモード
● メインクロックモード
メインクロックモードは , CPU および周辺リソースの動作クロックとして発振クロッ
クを 2 分周したクロックを使用し , PLL クロックを停止させます。
● PLL クロックモード
PLL クロックモードは , CPU および周辺機能の動作クロックとして PLL クロックを使
用します。PLL クロックの逓倍率は , クロック選択レジスタ (CKSCR) によって選択で
きます。
<注意事項>
USB ホスト , USB ファンクション使用時は PLL クロックモードで動作させる必要があり
ます。
● サブクロックモード
サブクロックモードは , CPU および周辺リソースの動作クロックとしてサブクロック
を使用し , メインクロックおよび PLL クロックを停止させます。
■ クロックモードの移行
CKSCR レジスタの PLL クロック選択ビット (MCS), サブクロック選択ビット (SCS) へ
の書込み動作によって , クロックモードは , メインクロックモード , PLL クロックモー
ド , サブクロックモードに移行します。
● メインクロックモードから PLL クロックモードへの移行
メインクロックモードの状態で , CKSCR レジスタの MCS ビットを "1" から "0" に書き
換えた場合には , PLL クロックの発振安定待ち時間 (2 14/HCLK) 後に , メインクロック
から PLL クロックに切り換わります。
● PLL クロックモードからメインクロックモードへの移行
PLL クロックモードの状態で , CKSCR レジスタの MCS ビットを "0" から "1" に書き換
えた場合には , PLL クロックとメインクロックのエッジが一致するタイミング (1 ∼ 8
PLL クロック後 ) で PLL クロックからメインクロックに切り換わります。
● メインクロックモードからサブクロックモードへの移行
メインクロックモードの状態で , CKSCR レジスタの SCS ビットを "1" から "0" に書き
換えた場合には , メインクロックからサブクロックに切り換わります。
140
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 5 章 クロック
5.4 クロックモード
● サブクロックモードからメインクロックモードへの移行
サブクロックモードの状態で , CKSCR レジスタの SCS ビットを "0" から "1" に書き換
えた場合には , メインクロックの発振安定待ち時間後に , サブクロックからメインク
ロックに切り換わります。発振安定待ち時間は , CKSCR レジスタの発振安定待ち時間
選択ビット (WS1, WS0) によって選択します。
● PLL クロックモードからサブクロックモードへの移行
PLLクロックモードの状態で, クロック選択レジスタ(CKSCR)のサブクロック選択ビッ
ト (SCS) を "1" から "0" に書き換えた場合には , PLL クロックからサブクロックに切り
換わります。
● サブクロックモードから PLL クロックモードへの移行
サブクロックモードの状態で , CKSCR レジスタの SCS ビットを "0" から "1" に書き換
えた場合には , メインクロックの発振安定待ち時間後に , サブクロックから PLL クロッ
クに切り換わります。発振安定待ち時間は , CKSCR レジスタの発振安定待ち時間選択
ビット (WS1, WS0) によって選択します。
<注意事項>
CKSCR レジスタの PLL クロック選択ビット (MCS), SCS ビットを書き換えても即座には
マシンクロックは切り換えられません。マシンクロックに依存するリソースを操作する場
合には , CKSCR レジスタの PLL クロック表示ビット (MCM) およびサブクロック表示ビッ
ト (SCM) を参照してマシンクロックの切換えが行われたことを確認した後に , リソース
の操作をしてください。
SCS ビット , MCS ビットがともに "0" の場合は , SCS が優先され , サブクロックモード
になります。
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切り換えを行わないでください。切換えの完了は , クロック選択
レジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。
■ PLL クロック逓倍率の選択
CKSCR レジスタの CS1, CS0 ビットに "00B" ∼ "10B" を書き込むことによって , 1 ∼ 4
逓倍の 3 種類の PLL クロック逓倍率を選択できます。"11B" は設定禁止です。
■ マシンクロック
PLL 逓倍回路から出力される PLL クロック , メインクロック , サブクロックが , マシン
クロックとなります。このマシンクロックが CPU および周辺機能に供給されます。メ
インクロック , PLL クロック , サブクロックは , CKSCR レジスタの MCS ビットまたは
SCS ビットへの書込みにより , いずれかを選択できます。
図 5.4-1 に , マシンクロック選択の状態遷移図を示します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
141
第 5 章 クロック
5.4 クロックモード
MB90330A シリーズ
図 5.4-1 マシンクロック選択の状態遷移図
メイン→サブ
MCS=1
MCM=1
SCS=0
SCM=1
(7)
メイン
MCS=1
MCM=1
SCS=1
SCM=1
(9)
メイン
MCS=1
(10) MCM=1
SCS=1
SCM=1
(1)
CS1,CSO=xx
(5)
(6)
(6)
(6)
(6)
メイン→PLLx
MCS=0
MCM=1
SCS=1
SCM=1
(8)
(2)
CS1,CSO=xx
(3)
(4)
(7)
(11)
(12)
(13)
CS1,CSO=xx
PLL1→メイン
MCS=1
MCM=0
SCS=1
SCM=1
CS1,CSO=00
PLL2→メイン
MCS=1
MCM=0
SCS=1
SCM=1
CS1,CSO=01
PLL4→メイン
MCS=1
MCM=0
SCS=1
SCM=1
CS1,CSO=10
サブ
MCS=1
MCM=1
(14) SCS=0
(9) SCM=0
CS1,CSO=xx
CS1,CSO=xx
(7)
サブ→PLLx
MCS=0
MCM=1
SCS=1
SCM=0
CS1,CSO=xx
PLL1逓倍
MCS=0
MCM=0
SCS=1
(5)
SCM=1
(7)
CS1,CSO=00
PLL2逓倍
MCS=0
MCM=0
SCS=1
(5)
SCM=1
CS1,CSO=00
(7)
CS1,CSO=01
PLL4逓倍
MCS=0
MCM=0
(5) SCS=1
SCM=1
PLL1→サブ
MCS=1
MCM=0
SCS=0
SCM=1
PLL2→サブ
MCS=1
MCM=0
SCS=0
SCM=1
CS1,CSO=01
(7)
CS1,CSO=10
PLL4→サブ
MCS=1
MCM=0
SCS=0
SCM=1
CS1,CSO=10
(15)
(15)
(15)
(15)
(1)MCSビット"0"ライト
(2)PLLクロック発振安定待ち終了&CS1, CS0=00
(3)PLLクロック発振安定待ち終了&CS1, CS0=01
(4)PLLクロック発振安定待ち終了&CS1, CS0=10
(5)MCSビット"1"ライト(ウォッチドッグリセットを含む)
(6)PLLクロックとメインクロックの同期タイミング
(7)SCSビット"0"ライト
(8)サブクロック発振安定待ち終了(最大215/SCLK)
(9)SCSビット"1"ライト
(10)メインクロック発振安定待ち終了
(11)メインクロック発振安定待ち終了&CS1,CS0=00
(12)メインクロック発振安定待ち終了&CS1,CS0=01
(13)メインクロック発振安定待ち終了&CS1,CS0=10
(14)SCSビット"1"書込み, MCSビット"0"書込み
(15)PLLクロックとサブクロックの同期タイミング
MCS:クロック選択レジスタ(CKSCR)のPLLクロック選択ビット
MCM:クロック選択レジスタ(CKSCR)のPLLクロック表示ビット
SCS:クロック選択レジスタ(CKSCR)のサブクロック選択ビット
SCM:クロック選択レジスタ(CKSCR)のサブクロック表示ビット
CS1,CS0:クロック選択レジスタ(CKSCR)の逓倍率選択ビット
142
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 5 章 クロック
5.4 クロックモード
<注意事項>
マシンクロックの初期値はメインクロック (MCS=1, SCS=1) です。
SCS, MCS ともに "0" のときは SCS が優先され , サブクロックが選択されます。
サブクロックモードから PLL クロックモードへの切換え時は , CKSCR レジスタの発振安
定待ち時間選択ビット (WS1, WS0) は "01B", "10B", "11B" を設定してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
143
第 5 章 クロック
5.5 発振安定待ち時間
5.5
MB90330A シリーズ
発振安定待ち時間
電源投入時 , ストップモード解除時 , サブクロックからメインクロックまたは PLL
クロックへの切換え時は , 発振クロックの発振が停止しているため , 発振開始後 , 発
振安定待ち時間をとる必要があります。また , メインクロックから PLL クロックへ
の切換え時も , PLL 発振開始後の発振安定待ち時間が必要となります。
■ 発振安定待ち時間
セラミックや水晶などの振動子は , 発振を開始してから固有の振動数 ( 発振周波数 ) で
安定して発振するまでに , 一般的に数ミリ秒から数十ミリ秒の時間が必要です。このた
め , 発振開始直後は CPU の動作を禁止し , 発振安定待ち時間が経過して十分発振が安
定した時点で CPU にクロックを供給するようにします。振動子の種類 ( 水晶 , セラミッ
クなど ) によって発振が安定するまでの時間が異なるため , 使用する振動子に合わせて
適切な発振安定待ち時間を選択する必要があります。発振安定待ち時間は , クロック選
択レジスタ (CKSCR) の設定で選択できます。
メインクロックから PLL クロックへの切換え時は , PLL 発振安定待ち時間の間 , CPU
はメインクロックで動作し , その後 , PLL クロックに切り換わります。
図 5.5-1 に , 発振開始直後の動作を示します。
図 5.5-1 発振開始直後の動作
振動子の発振時間 発振安定待ち時間
通常動作開始または
PLLクロックへの切換え
X1
発振開始
144
発振安定
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 5 章 クロック
5.6 振動子と外部クロックの接続
MB90330A シリーズ
5.6
振動子と外部クロックの接続
MB90330A シリーズは , システムクロック発生回路を内蔵しており , 外部に振動子
を接続してクロック発生させます。また , 外部で生成したクロックを入力すること
もできます。
■ 振動子と外部クロックの接続
● 水晶振動子またはセラミック振動子の接続例
水晶振動子またはセラミック振動子は , 図 5.6-1 の例で示すように接続してください。
図 5.6-1 水晶振動子またはセラミック振動子の接続例
MB90330Aシリーズ
X0(X0A)
X1(X1A)
● 外部クロックの接続例
図 5.6-2 の例で示すように , 外部クロックは X0 端子に接続し , X1 端子はオープン ( 開
放 ) にしてください。
図 5.6-2 外部クロックの接続例
MB90330Aシリーズ
X0(X0A)
X1(X1A)
開放
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
145
第 5 章 クロック
5.6 振動子と外部クロックの接続
146
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第6章
低消費電力モード
この章では , MB90330A シリーズの低消費電力
モードについて説明します。
6.1 低消費電力モードの概要
6.2 低消費電力制御回路のブロックダイヤグラム
6.3 低消費電力モード制御レジスタ (LPMCR)
6.4 CPU 間欠動作モード
6.5 スタンバイモード
6.6 状態遷移図
6.7 スタンバイモード , ホールド , リセット時の端子状態
6.8 低消費電力モード使用上の注意
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
147
第 6 章 低消費電力モード
6.1 低消費電力モードの概要
6.1
MB90330A シリーズ
低消費電力モードの概要
MB90330A シリーズは , 動作クロックの選択とクロックの動作制御により , 次のよ
うな CPU 動作モードを備えています。
• クロックモード
(PLL クロックモード , メインクロックモード , サブクロックモード )
• CPU 間欠動作モード
(PLL クロック間欠動作モード , メインクロック間欠動作モード , サブクロック間
欠動作モード )
• スタンバイモード
( スリープモード , タイムベースタイマモード , ストップモード , 時計モード )
■ CPU 動作モードと消費電流
CPU 動作モードと消費電流の関係を図 6.1-1 に示します。
図 6.1-1 CPU 動作モードと消費電流
消費電流
数10mA
CPU
動作モード
PLLクロックモード
4逓倍クロック
2逓倍クロック
1逓倍クロック
PLLクロック間欠動作モード
4逓倍クロック
2逓倍クロック
1逓倍クロック
メインクロックモード(1/2 HCLK)
メインクロック間欠動作モード
サブクロックモード
サブクロック間欠動作モード
数mA
スタンバイモード
スリープモード
タイムベースタイマモード
時計モード
ストップモード
低消費電力モード
(注意事項) この図は, 各種モードのイメージを示したもので, 実際の消費電流とは異なる部分があります。
148
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 6 章 低消費電力モード
6.1 低消費電力モードの概要
■ クロックモード
● PLL クロックモード
発振クロック (HCLK) の PLL 逓倍クロックで , CPU および周辺機能を動作させるモー
ドです。
<注意事項>
USB ホスト , USB ファンクション使用時には , PLL クロックモードに設定する必要があ
ります。
● メインクロックモード
発振クロック (HCLK) の 2 分周クロックで , CPU および周辺機能を動作させるモード
です。メインクロックモード時には , PLL 逓倍回路が停止します。
● サブクロックモード
サブクロック (SCLK) で , CPU および周辺機能を動作させるモードです。サブクロック
モード時には , メインクロックおよび PLL 逓倍回路が停止します。
<参考>
クロックモードについては , 「5.4 クロックモード」を参照してください。
■ CPU 間欠動作モード
CPU 間欠動作モードとは , 周辺機能には高速クロックを供給したまま , CPU を間欠動
作させ , 消費電力を低減するモードです。CPU 間欠動作モードは , CPU がレジスタ , 内
蔵メモリ , 周辺機能および外部アクセスを行う場合 , CPU にだけ間欠クロックを入力す
るモードです。
■ スタンバイモード
スタンバイモードは , 低消費電力制御回路による CPUへのクロックの供給停止 ( スリー
プモード ) や , CPU と周辺機能へのクロックの供給停止 ( タイムベースタイマモード )
または発振クロックの停止 ( ストップモード ) によって消費電力を低減します。
● PLL スリープモード
PLLスリープモードは, PLLクロックモード時にCPUの動作クロックを停止させるモー
ドで , CPU 以外は PLL クロックで動作します。
● メインスリープモード
メインスリープモードは , メインクロックモード時に CPU の動作クロックを停止させ
るモードで , CPU 以外はメインクロックで動作します。
● サブスリープモード
サブスリープモードは , サブクロックモード時に CPU の動作クロックを停止させる
モードで , CPU 以外はサブクロックで動作します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
149
第 6 章 低消費電力モード
6.1 低消費電力モードの概要
MB90330A シリーズ
● タイムベースタイマモード
タイムベースタイマモードは , 発振クロック , タイムベースタイマおよび時計タイマ以
外の動作を停止させるモードで , タイムベースタイマと時計タイマ以外の機能が停止
します。
● 時計モード
時計モードは , 時計タイマのみを動作させるモードです。サブクロックのみ動作し , メ
インクロックおよび PLL 逓倍回路が停止します。
● ストップモード
ストップモードは , 原発振を停止させるモードで , すべての機能が停止します。
<注意事項>
ストップモードでは , 発振クロックが停止するため , 最も低い消費電力でデータを保持で
きます。
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切換えを行わないでください。切換えの完了は , クロック選択レ
ジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。
USB 転送中はスタンバイモードへの遷移は禁止です。
150
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.2 低消費電力制御回路のブロックダイヤグラム
MB90330A シリーズ
6.2
低消費電力制御回路のブロックダイヤグラム
低消費電力制御回路は , 次の 7 つのブロックで構成されています。
• CPU 間欠動作セレクタ
• スタンバイ制御回路
• CPU クロック制御回路
• 周辺クロック制御回路
• 端子ハイインピーダンス制御回路
• 内部リセット発生回路
• 低消費電力モード制御レジスタ (LPMCR)
■ 低消費電力制御回路のブロックダイヤグラム
図 6.2-1 に , 低消費電力制御回路のブロックダイヤグラムを示します。
図 6.2-1 低消費電力制御回路のブロックダイヤグラム
低消費電力モード制御レジスタ(LPMCR)
STP
SLP
SPL
RST
TMD
CG1
CG0 予約
RST 端子
端子ハイインピー
ダンス制御回路
端子Hi-Z制御
内部リセット
発生回路
内部リセット
CPU間欠動作
サイクルセレクタ
間欠サイクル選択
CPUクロック
制御回路
リセット(解除)
時計,スリープ,ストップ信号
スタンバイ
制御回路
2
CPU動作
クロック
時計,ストップ信号
割込み(解除)
周辺クロック
制御回路
周辺機能
動作クロック
サブクロック発振安定待ち解除
メインクロック発振安定待ち解除
クロック
発生部
動作クロック
セレクタ
マシン
クロック
2
発振安定
待ち時間
セレクタ
2
PLL逓倍回路
SCM
MCM
WS1
WS0
SCS
MCS
CS1
CS0
クロック選択レジスタ(CKSCR)
2分周
X0 端子
発振クロック
(HCLK)
X1 端子
発振クロック
発振回路
2分周
1024分周
2分周
2分周
2分周
4分周
ウォッチドッグタイマへ
サブクロック
(SCLK)
4分周
X0A 端子
4分周
512分周
2分周
メイン
クロック
タイムベースタイマ
8分周
2分周
2分周
時計タイマ
X1A 端子
サブクロック発振回路
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
151
第 6 章 低消費電力モード
6.2 低消費電力制御回路のブロックダイヤグラム
MB90330A シリーズ
● CPU 間欠動作セレクタ
CPU間欠動作セレクタは, CPU間欠動作モード時の一時停止クロック数を選択します。
● スタンバイ制御回路
スタンバイ制御回路は , CPU クロック制御回路および周辺クロック制御回路を制御し ,
低消費電力モードへの移行および解除を行います。
● CPU クロック制御回路
CPU クロック制御回路は , CPU に供給するクロックを制御する回路です。
● 周辺クロック制御回路
周辺クロック制御回路は , 周辺機能に供給するクロックを制御する回路です。
● 端子ハイインピーダンス制御回路
端子ハイインピーダンス制御回路は , タイムベースタイマモードおよびストップモー
ド時に , 外部端子をハイインピーダンスにする回路です。プルアップオプションの選択
された端子に対しては , ストップモード時にプルアップ抵抗を切り離します。
● 内部リセット発生回路
内部リセット発生回路は , 内部リセット信号を発生させる回路です。
● 低消費電力モード制御レジスタ (LPMCR)
低消費電力モード制御レジスタ (LPMCR) は , スタンバイモードへの移行 / 解除および
CPU 間欠動作機能の設定などを行うレジスタです。
152
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.3 低消費電力モード制御レジスタ (LPMCR)
MB90330A シリーズ
6.3
低消費電力モード制御レジスタ (LPMCR)
低消費電力モード制御レジスタ (LPMCR) は , 低消費電力モードへの移行 / 解除およ
び CPU 間欠動作モード時の CPU クロック一時停止サイクル数の設定などを行うレ
ジスタです。
■ 低消費電力モード制御レジスタ (LPMCR)
図 6.3-1 に , 低消費電力モード制御レジスタ (LPMCR) の構成を示します。
図 6.3-1 低消費電力モード制御レジスタ (LPMCR) のビット構成
アドレス
0000A0H
bit15
bit8bit7 bit6
(CKSCR)
bit5
bit4
bit3
STP
SLP
SPL
RST
TMD
CG1
CG0
予約
W
W
R/W
W
R/W
R/W
R/W
R/W
予約
bit2 bit1 bit0
初期値
00011000B
予約ビット
必ず"0"を設定してください。
CG1 CG0
0
0
1
1
0
1
CPUクロック一時停止サイクル数ビット
0サイクル(CPUクロック=リソースクロック)
8サイクル(CPUクロック:リソースクロック=1:約3~4)
0 16サイクル(CPUクロック:リソースクロック=1:約5~6)
1 32サイクル(CPUクロック:リソースクロック=1:約9~10)
TMD 時計モードまたはタイムベースタイマモードビット
0 時計モードまたはタイムベースタイマモードへ移行
変化なし, ほかへの影響なし
1
RST
0
1
SPL
0
1
SLP
0
1
R/W :リード・ライト可能
W :ライトオンリ
:初期値
CM44-10129-6
STP
0
1
内部リセット信号発生ビット
3マシンサイクルの内部リセット信号を発生
変化なし, ほかへの影響なし
端子状態指定ビット
(時計・タイムベースタイマ・ストップモード時)
保持
ハイインピーダンス
スリープモードビット
変化なし, ほかへの影響なし
スリープモードに移行
ストップモードビット
変化なし, ほかへの影響なし
ストップモードに移行
FUJITSU MICROELECTRONICS LIMITED
153
第 6 章 低消費電力モード
6.3 低消費電力モード制御レジスタ (LPMCR)
MB90330A シリーズ
表 6.3-1 低消費電力モード制御レジスタ (LPMCR) の各ビットの機能
ビット名
154
機能
bit7
STP:
ストップモード
ビット
・ストップモードへの移行を指示するビットです。
・"1" を書き込むことにより , ストップモードへ移行します。
・"0" を書き込んでも動作に影響を与えません。
・リセットまたは割込み要求発生で "0" にクリアされます。
・常に "0" が読み出されます。
bit6
SLP:
スリープモード
ビット
・スリープモードへの移行を指示するビットです。
・"1" を書き込むことにより , スリープモードに移行します。
・"0" を書き込んでも動作に影響を与えません。
・リセットまたは割込み要求発生で "0" にクリアされます。
・常に "0" が読み出されます。
bit5
SPL:
端子状態指定
ビット
( 時計 , タイム
ベースタイマ ,
ストップモード
時)
bit4
RST:
内部リセット
信号発生ビット
・ "0" を書き込むと , 3 マシンサイクルの内部リセット信号を発
生します。
・"1" を書き込んでも動作に影響を与えません。
・常に "1" が読み出されます。
bit3
TMD:
時計 , タイム
ベースタイマ
モードビット
・時計モード , タイムベースタイマモードへの移行を指示する
ビットです。
・メインクロックモードまたは PLL クロックモード時に , "0" を
書き込むことにより , タイムベースタイマモードに移行しま
す。
・サブクロックモード時に, "0"を書き込むことにより, 時計モー
ドに移行します。
・リセットまたは割込み要求発生で "1" に初期化されます。
・常に "1" が読み出されます。
bit2,
bit1
CG1, CG0:
CPU クロック
一時停止
サイクル数選択
ビット
・CPU 間欠動作機能の CPU クロックの一時停止サイクル数を設
定するビットです。
・1命令ごとに, 指定サイクル数CPUクロック供給を停止します。
・4 種類のクロック数から選択できます。
・リセットで "00B" に初期化されます。
bit0
予約 :
予約ビット
・必ず "0" を設定してください。
・時計モード , タイムベースタイマモード , ストップモードのと
きだけ有効です。
・"0" の場合 , 外部端子のレベルを保持します。
・"1" の場合 , 外部端子をハイインピーダンスにします。
・リセットで "0" に初期化されます。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.3 低消費電力モード制御レジスタ (LPMCR)
MB90330A シリーズ
■ 低消費電力モード制御レジスタへのアクセス
低消費電力モード制御レジスタへの書込みで , 低消費電力モード ( ストップモード , ス
リープモード , タイムベースタイマモード , 時計モード ) への遷移が行われますが , こ
の場合に使用する命令は , 表 6.3-2 の命令を使用するようにしてください。
表 6.3-2 の命令による低消費電力モード遷移命令の直後には必ず下記
内の命令列
を配置してください。
MOV LPMCR,#H’xx
NOP
NOP
JMP $+3
MOV A,#H’10
; 表 6.3-2 の低消費電力モード遷移命令
; 次の命令へのジャンプ
; 任意の命令
内の命令列以外が配置されると低消費電力モード解除後の動作は保証されませ
ん。
C 言語を使用して低消費電力モード制御レジスタをアクセスする場合は , 「6.8 低消費
電力モード使用上の注意」の「スタンバイモード遷移のための低消費電力モード制御
レジスタ (LPMCR) へアクセスする際の注意事項」を参照してください。
ワード長で低消費電力モード制御レジスタ (LPMCR) への書込みを行う場合には , 偶数
アドレスで書込みが行われるようにしてください。奇数アドレスの書込みで低消費電
力モードへ遷移された場合には , 誤動作の原因となる場合があります。
表 6.3-1 に示す以外の機能を制御する場合には , どの命令を使用してもかまいません。
表 6.3-2 低消費電力モードへ遷移する場合に使用する命令一覧
MOV io, #imm8
MOV io, A
MOV @RLi+disp8, A
MOVW io, #imm16
MOVW io, A
MOVW @ RLi+disp8, A
SETB io:bp
CLRB io:bp
MOV dir, #imm8
MOV dir, A
MOV eam, #imm8
MOV addr16, A
MOV eam, Ri
MOV eam, A
MOVW dir, #imm16
MOVW dir, A
MOVW eam, #imm16
MOVW addr16, A
MOVW eam, RWi
MOVW eam, A
SETB dir:bp
CLRB dir:bp
SETB addr16:bp
CLRB addr16:bp
■ STP, SLP, TMD ビットの優先順位
ストップモード要求 , スリープモード要求および時計モード・タイムベースタイマモー
ド要求を同時に行った場合は , 以下の優先順位で要求を処理します。
ストップモード要求 > 時計モード・タイムベースタイマモード要求 > スリープモード
要求
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
155
第 6 章 低消費電力モード
6.4 CPU 間欠動作モード
6.4
MB90330A シリーズ
CPU 間欠動作モード
CPU 間欠動作モードは , 外部バスや周辺機能を高速動作させたまま CPU を間欠動作
させることで , 消費電力を低減するモードです。
■ CPU 間欠動作モード
CPU 間欠動作モードは , レジスタ , 内蔵メモリ (ROM, RAM), I/O, 周辺機能および外部
バスアクセスを行う場合 , CPU に供給するクロックを 1 命令実行ごとに一定期間停止
させ , 内部バスサイクルの起動を遅らせるモードです。周辺機能に高速の周辺クロック
を供給したまま , CPU の実行速度を下げると , 低消費電力で処理が行えます。
• 低消費電力モード制御レジスタ (LPMCR) の CPU クロック一時停止サイクル数選択
ビット(CG1, CG0)で, CPUに供給するクロックの一時停止サイクル数を選択します。
• 外部バス動作そのものは , 周辺機能と同じクロックを使用します。
• CPU 間欠動作モードを使用した場合の命令実行時間の算出は , レジスタ , 内蔵メモ
リ , 内蔵周辺機能および外部バスアクセスを行う場合の命令実行回数に , 一時停止
サイクル数をかけた補正値を通常の実行時間に加えることで , 求めることができま
す。図 6.4-1 に CPU 間欠動作モード時の動作クロックを示します。
図 6.4-1 CPU 間欠動作時のクロック
周辺クロック
CPUクロック
一時停止サイクル
1命令実行
サイクル
内部バス起動
156
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90330A シリーズ
スタンバイモード
6.5
スタンバイモードには , スリープ (PLL スリープ , メインスリープ , サブスリープ ),
時計 , タイムベースタイマ , ストップの各モードがあります。
■ スタンバイモード時の動作状態
表 6.5-1 に , スタンバイモード時の動作状態を示します。
表 6.5-1 スタンバイモード時の動作状態
スタンバイモード
スリープ
モード
タイム
ベース
タイマ
モード
時計
モード
ストップ
モード
*
移行
条件
PLL スリープ
モード
SCS=1
MCS=0
SLP=1
メイン
スリープ
モード
SCS=1
MCS=1
SLP=1
サブ
スリープ
モード
SCS=0
SLP=1
タイムベース
タイマモード
(SPL=0)
SCS=1
TMD=0
SCS=1
TMD=0
時計モード
(SPL=0)
SCS=0
TMD=0
時計モード
(SPL=1)
SCS=0
TMD=0
ストップ
モード
(SPL=0)
STP=1
CPU
周辺
端子
動作
動作
解除
方法
動作
動作
停止
動作
保持
動作
タイムベース
タイマモード
(SPL=1)
ストップ
モード
(SPL=1)
メイン
サブ
マシン
クロック クロック クロック
停止
停止 *1
Hi-Z
リセット
または
割込み
保持
停止
停止 *2
Hi-Z
停止
保持
停止
停止
STP=1
Hi-Z
1: タイムベースタイマ , 時計タイマは動作します。
時計タイマは動作します。
*2:
SPL: 低消費電力モード制御レジスタ (LPMCR) の端子状態指定ビット
SLP: 低消費電力モード制御レジスタ (LPMCR) のスリープモードビット
STP: 低消費電力モード制御レジスタ (LPMCR) のストップモードビット
TMD: 低消費電力モード制御レジスタ (LPMCR) の時計 , タイムベースタイマモードビット
MCS: クロック選択レジスタ (CKSCR) のマシンクロック選択ビット
SCS: クロック選択レジスタ (CKSCR) のマシンクロック選択ビット ( サブ )
Hi-Z: ハイインピーダンス
RST: 外部リセット端子
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
157
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90330A シリーズ
スリープモード
6.5.1
スリープモードは , CPU の動作クロックを停止させるモードで , CPU 以外は動作を
続行します。低消費電力モード制御レジスタ (LPMCR) でスリープモードへの移行を
指示すると , PLL クロックモードを設定している場合は PLL スリープモードへ移行
し , メインクロックモードを設定している場合はメインスリープモードへ移行し , サ
ブクロックモードを設定しているときはサブスリープモードへ移行します。
■ スリープモードへの移行
低消費電力モード制御レジスタ (LPMCR) のスリープモードビット (SLP) に "1", 時計 .
タイムベースタイマモードビット (TMD) に "1", ストップモードビット (STP) に "0" を
書き込むと , スリープモードに移行します。このとき , クロック選択レジスタ (CKSCR)
が PLL クロック選択ビット (MCS)=0, サブクロック選択ビット (SCS)=1 であれば PLL
スリープモードに , MCS=1, SCS=1 であればメインスリープモードに , SCS=0 であれば
サブスリープモードに移行します。
<注意事項>
LPMCR の SLP ビットと STP ビットに同時に "1" を書き込むと , STP ビットを優先し , ス
トップモードへ移行します。
低消費電力モード制御レジスタの SLP ビットに "1", TMD ビットに "0" を同時に書き込む
と , TMD ビットを優先し , タイムベースタイマモード , または時計モードに移行します。
● データ保持機能
スリープモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
● ホールド機能
スリープモード中は , 外部バスホールド機能は動作し , ホールド要求があるとホールド
状態になります。
● 割込み要求発生中の動作
LPMCR の SLP ビットに "1" を書き込んだ場合に , 割込み要求が発生している場合はス
リープモードに移行しません。そのため , CPU は割込みを受け付けない状態では次の
命令を実行し , 受け付ける状態であれば即座に割込み処理ルーチンへ分岐します。
● 端子状態
スリープモード中は , バス入出力またはバス制御として使用されている端子以外は , 直
前の状態を保持します。
158
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90330A シリーズ
■ スリープモードの解除
低消費電力制御回路は , リセット入力または割込みの発生によってスリープモードを
解除します。
● リセットによる復帰
リセットによってメインクロックモードに初期化されます。
● 割込みによる復帰
スリープモード中に, 周辺回路などから割込みレベルが7より高い割込み要求が発生す
ると , スリープモードを解除します。スリープモードの解除後は , 通常の割込み処理と
同じ扱いとなります。コンディションコードレジスタ (CCR) の I フラグ , 割込みレベル
マスクレジスタ (ILM) および割込み制御レジスタ (ICR) の設定によって , 割込みが受け
付けられる場合は , CPU は割込み処理を実行します。割込みが受け付けられない場合
は , スリープモードを指定した命令の次の命令から処理を続行します。
図 6.5-1 に , 割込み発生によるスリープモードの解除を示します。
図 6.5-1 割込み発生によるスリープモードの解除
周辺機能の割込み
イネーブルフラグ設定
INT発生(IL<7)
NO
スリープ解除しない
スリープ解除しない
YES
ILM=0
YES
次の命令実行
スリープ解除する
NO
ILM<IL
YES
次の命令実行
NO
割込み実行
<注意事項>
割込み処理を実行する場合 , 通常はスリープモードを指定した命令の次の命令を実行した
後に , 割込み処理に移行します。ただし , スリープモードへの移行と外部バスホールド要
求の受付けが同時であった場合 , 次の命令を実行する前に割込み処理に移行することがあ
ります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
159
第 6 章 低消費電力モード
6.5 スタンバイモード
6.5.2
MB90330A シリーズ
タイムベースタイマモード
タイムベースタイマモードは , 原発振とタイムベースタイマ , 時計タイマ以外の動作
を停止させるモードで , タイムベースタイマと時計タイマ以外はすべての機能が停
止します。
■ タイムベースタイマモードへの移行
PLL クロックモードまたはメインクロックモード時 ( クロック選択レジスタ (CKSCR)
のサブクロック表示ビット (SCM)=1) に , 低消費電力モード制御レジスタ (LPMCR) の
時計 , タイムベースタイマモードビット (TMD) に "0" を書き込むと , タイムベースタイ
マモードに移行します。
● データ保持機能
タイムベースタイマモードでは , アキュムレータなどの専用レジスタと内部 RAM の内
容を保持します。
● ホールド機能
タイムベースタイマモード中は , 外部バスホールド機能は停止し , ホールド要求が入力
されてもその要求を受け付けません。タイムベースタイマモードへの移行中にホール
ド要求が入力された場合 , バスをハイインピーダンスにした状態で , HAK 信号が "L" に
ならないことがあります。
● 割込み要求発生中の動作
低消費電力モード制御レジスタ (LPMCR) の TMD ビットに "0" を書き込んだ場合 , 割
込み要求が発生しているときはタイムベースタイマモードに移行しません。
● 端子状態
タイムベースタイマモード中の外部端子を , 直前の状態に保持するか , ハイインピーダ
ンス状態にするかを , 低消費電力モード制御レジスタ (LPMCR) の端子状態指定ビット
(SPL) で制御できます。
■ タイムベースタイマモードの解除
低消費電力制御回路は , リセット入力または割込み要求の発生でタイムベースタイマ
モードを解除します。
● 外部リセットによる復帰
外部リセットよって , メインクロックモードに初期化されます。
● 割込みによる復帰
タイムベースタイマモード中に周辺回路などから割込みレベルが 7 より高い割込み要
求が発生すると ( 割込み制御レジスタ (ICR) の IL2, IL1, IL0=111B 以外の場合 ), 低消費
電力制御回路はタイムベースタイマモードを解除します。タイムベースタイマモード
の解除後は , 通常の割込み処理と同じ扱いとなります。コンディションコードレジスタ
(CCR) の I フラグ , 割込みレベルマスクレジスタ (ILM) および割込み制御レジスタ (ICR)
の設定により割込みが受付けられる場合は , 割込み処理を実行します。割込みが受け付
けられない場合は , タイムベースタイマモードに入る前の次の命令から処理を続行し
ます。
160
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 6 章 低消費電力モード
6.5 スタンバイモード
<注意事項>
割込み処理を実行する場合 , 通常はタイムベースタイマモードを指定した命令の次の命令
を実行した後に , 割込み処理に移行します。ただし , タイムベースタイマモードへの移行
と外部バスホールド要求の受付けが同時であった場合 , 次の命令を実行する前に割込み処
理に移行することがあります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
161
第 6 章 低消費電力モード
6.5 スタンバイモード
6.5.3
MB90330A シリーズ
時計モード
時計モードとは , サブクロックと時計タイマ以外の動作を止めるモードで , チップの
ほぼ全機能が停止します。
■ 時計モードへの遷移
サブクロックモード時 ( クロック選択レジスタ (CKSCR) のサブクロック表示ビット
(SCS)=0), 低消費電力モード制御レジスタ (LPMCR) の時計 , タイムベースタイマモード
ビット (TMD) に "0" を書き込むことによって , 時計モードに移行します。
● データ保持機能
時計モードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持しま
す。
● ホールド機能
時計モード中は , 外部バスホールド機能は停止し , ホールド要求が入力されても , その
要求は受け付けません。時計モードへの遷移中に , ホールド要求が入力された場合 , バ
スをハイインピーダンスにした状態で , HAK 信号が "L" にならないことがあります。
● 割込み要求発生中の動作
LPMCR の TMD ビットに "0" を設定したときに , 割込み要求が発生している場合は時
計モードに移行しません。
● 端子状態の設定
時計モード中の外部端子を , 直前の状態に保持するか , ハイインピーダンス状態にする
かを , LPMCR の端子状態指定ビット (SPL) で制御できます。
■ 時計モードの解除
低消費電力制御回路は , リセットの入力または割込み要求の発生によって時計モード
を解除します。
● リセットによる復帰
リセット要因による時計モードの解除の場合は , 時計モードを解除した上で , 発振安定
待ちリセット状態になります。リセットシーケンスは発振安定待ち時間経過後実行さ
れます。
● 割込みによる復帰
時計モード中に周辺回路などから割込みレベルが 7 より高い割込み要求が発生すると
( 割込み制御レジスタ (ICR) の IL2, IL1, IL0 が "111B" 以外 ), 低消費電力制御回路は時計
モードを解除し , 即座にサブクロックモードに移行します。サブクロックモードに移行
後は , 通常の割込み処理と同じ扱いとなります。コンディションコードレジスタ (CCR)
の I フラグ , 割込みレベルマスクレジスタ (ILM) および割込み制御レジスタ (ICR) を設
定して割込みが受け付けられる場合は , 割込み処理を実行します。割込みが受け付けら
れない場合は , 時計モードに入る前の次の命令から処理を続行します。
162
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90330A シリーズ
<注意事項>
割込み処理を実行する場合 , 通常は時計モードを指定した命令の次の命令を実行した後
に , 割込み処理に移行します。ただし , 時計モードへの移行と外部バスホールド要求の受
付けが同時であった場合 , 次の命令を実行する前に割込み処理に移行することがありま
す。
図 6.5-2 に , 時計モードの解除動作を示します。
図 6.5-2 時計モードの解除 ( 外部リセット )
RST端子
時計モード
停止中
発振
PLLクロック
発振中
発振安定待ち
メインクロック
停止中
サブクロック
発振中
CPUクロック
停止中
CPU動作
停止中
メインクロック
処理
リセットシーケンス
リセット解除
時計モード解除
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
163
第 6 章 低消費電力モード
6.5 スタンバイモード
6.5.4
MB90330A シリーズ
ストップモード
ストップモードは , 原発振を停止させるモードで , すべての機能が停止します。した
がって , 最も低消費電力でデータを保持できます。
■ ストップモードへの移行
低消費電力モード制御レジスタ (LPMCR) のストップモードビット (STP) に "1" を書き
込むと , ストップモードに移行します。
● データ保持機能
ストップモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
● ホールド機能
ストップモード中は , 外部バスホールド機能は停止し , ホールド要求が入力されても ,
その要求を受け付けません。ストップモードへの遷移中に , ホールド要求が入力された
場合 , バスをハイインピーダンスにした状態で , HAK 信号が "L" にならないことがあ
ります。
● 割込み要求発生中の動作
低消費電力モード制御レジスタ (LPMCR) の STP ビットに "1" を書き込んだ場合に , 割
込み要求が発生している場合はストップモードに移行しません。
● 端子状態の設定
ストップモード中の外部端子を , 直前の状態に保持するか , ハイインピーダンス状態に
するかを , 低消費電力モード制御レジスタ (LPMCR) 端子状態指定ビット (SPL) で指定
できます。
■ ストップモードの解除
低消費電力制御回路は , リセット入力または割込みの発生によりストップモードを解
除します。
ストップモードからの復帰の場合, 動作クロックの発振が停止しているため,
低消費電力制御回路はまず発振安定待ち状態に移行し , その後ストップモードを解除
します。
● リセットによる復帰
リセット要因によるストップモード解除の場合は , ストップモードを解除した上で , 発
振安定待ちリセット状態になります。リセットシーケンスは発振安定待ち時間経過後
実行されます。
● 割込みによる復帰
ストップモード中に周辺回路などから割込みレベルが 7 より高い割込み要求が発生す
ると ( 割込み制御レジスタ (ICR) の IL2, IL1, IL0=111B 以外の場合 ), 低消費電力制御回
路はストップモードを解除します。ストップモードの解除後は , クロック選択レジスタ
(CKSCR) の発振安定待ち時間選択ビット (WS1, WS0) で指定されたメインクロックの
発振安定待ち時間を経過した後で , 通常の割込み処理と同じ扱いとなります。コンディ
ションコードレジスタ (CCR) の I フラグ , 割込みレベルマスクレジスタ (ILM) および割
164
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.5 スタンバイモード
MB90330A シリーズ
込み制御レジスタ (ICR) を設定して割込みが受け付けられる場合は , 割込み処理を実行
します。割込みが受け付けられない場合は , ストップモードに入る前の次の命令から処
理を続行します。
<注意事項>
•
割込み処理を実行する場合 , 通常はストップモードを指定した命令の次の命令を実行
した後に , 割込み処理に移行します。ただし , ストップモードへの移行と外部バスホー
ルド要求の受付けが同時であった場合 , 次の命令を実行する前に割込み処理に移行す
ることがあります。
•
PLL ストップモード中は , メインクロックおよび PLL 逓倍回路が停止しているため ,
PLLストップモードから復帰する場合は, メインクロック発振安定待ち時間およびPLL
クロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間
は , クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定
された値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち
時間を同時にカウントしますので , CKSCR:WS1, WS0 ビットは , 発振安定待ち時間の
長い方に合わせて値を設定してください。ただし , PLL クロック発振安定待ち時間は
214/HCLK 以上必要になりますので , CKSCR:WS1, WS0 ビットは "10B" または "11B"
を設定してください。
図 6.5-3 に , ストップモードの解除動作を示します。
図 6.5-3 ストップモードの解除 ( 外部リセット )
RST端子
ストップモード
メインクロック
発振中
発振安定待ち
PLLクロック
発振
サブクロック
停止中
メインクロック
CPUクロック
CPU動作
停止中
処理
リセットシーケンス
リセット解除
ストップモード解除
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
165
第 6 章 低消費電力モード
6.6 状態遷移図
6.6
MB90330A シリーズ
状態遷移図
MB90330A シリーズの動作状態の遷移と , 遷移条件を示します。
■ 状態遷移図
図 6.6-1 に , MB90330A シリーズの動作状態の遷移と , 遷移条件を示します。
図 6.6-1 状態遷移と遷移条件
電源投入
外部リセット,ウォッチドッグタイマリセット,ソフトウェアリセット
リセット
パワーオンリセット
SCS=0
発振安定待ち終了
SCS=1
メインクロックモード
SLP=1
MCS=0
MCS=1
割込み
メインスリープモード
TMD=0
割込み
PLLクロックモード
SLP=1
TMD=0
割込み
割込み
発振安定
待ち終了
メインクロック発振安定待ち
サブクロックモード
SLP=1
割込み
サブスリープモード
TMD=0
PLLタイムベース
タイマモード
STP=1
メインストップモード
TMD=0
SCS=1
割込み
PLLスリープモード
メインタイムベース
タイマモード
STP=1
SCS=0
割込み
時計モード
STP=1
PLLストップモード
*
割込み
発振安定
待ち終了
PLLクロック発振安定待ち
サブストップモード
割込み
発振安定
待ち終了
サブクロック発振安定待ち
*:割込み+USBファンクション時のUSBバス上からの割込み
166
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.6 状態遷移図
MB90330A シリーズ
■ 低消費電力モードの動作状態
表 6.6-1 に , 低消費電力モードの動作状態を示します。
表 6.6-1 低消費電力モードの動作状態
動作状態
メイン
クロック
サブ
クロック
PLL
クロック
PLL
CPU
周辺
時計
タイム
ベース
タイマ
動作
動作
クロック
ソース
動作
動作
PLL スリープ
動作
動作
動作
PLL タイムベース
タイマ
PLL
クロック
停止
PLL ストップ
停止
停止
停止
PLL 発振安定待ち
動作
動作
動作
停止
停止
停止
動作
動作
動作
動作
動作
メイン
動作
メインスリープ
動作
動作
メインタイムベース
タイマ
メイン
クロック
停止
停止
メインストップ
停止
停止
メイン発振安定待ち
動作
動作
停止
サブ
停止
停止
動作
動作
動作
動作
サブスリープ
時計
動作
停止
動作
停止
停止
サブ
クロック
動作
メイン
クロック
停止
サブストップ
停止
サブ発振安定待ち
動作
パワーオンリセット
CM44-10129-6
停止
動作
停止
動作
リセット
停止
動作
停止
停止
動作
FUJITSU MICROELECTRONICS LIMITED
動作
167
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
MB90330A シリーズ
スタンバイモード , ホールド , リセット時の端子状態
6.7
スタンバイモード , ホールド , リセット時の端子の状態を , メモリアクセスモードご
とに示します。
■ シングルチップモード時の端子状態
表 6.7-1 に , シングルチップモード時の端子状態を示します。
表 6.7-1 シングルチップモード時の端子状態
ストップ時
端子名
スリープ時
SPL=0
SPL=1
入力遮断 /
直前の状態を保持
*2, *3
入力遮断 /
出力 Hi-Z *3
ホールド時
リセット時
本状態はない
入力不可 /
出力 Hi-Z
P07 ∼ P00
P17 ∼ P10
P27 ∼ P20
P37 ∼ P30
P47 ∼ P40
直前の状態を保持
*2
P57 ∼ P50
P77 ∼ P70
P87 ∼ P80
P96 ∼ P90
PA7 ∼ PA0
PB6 ∼ PB0
P67 ∼ P60
入力可能 *1
入力可能 *1
入力不可
USB ポート入力
USB ポート入力 *4
Hi-Z
DVP
DVM
HVP
*5
HVM
UTEST
プルダウン接続
プルダウン接続
プルダウン接続
HCON
直前の状態を保持
直前の状態を保持
"H" 出力
*1: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態
であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。
*2: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。
入力不可とは , 端子からすぐの入力ゲートの動作は許可状態であるが , 内部回路が動作していないので , 端子
の内容が内部で受け付けられない状態を意味します。
*3: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。
*4: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。
*5: USB 端子の動作に影響はありません。
<注意事項>
USB 転送中はスタンバイモードへの遷移は禁止です。
168
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
■ 外部バス16ビットデータバスモードおよびマルチプレクス16ビット外部バスモー
ドの端子状態
表 6.7-2 に , 外部バス 16 ビットデータバスモードおよびマルチプレクス 16 ビット外部
バスモードの端子状態を示します。
表 6.7-2 外部バス 16 ビットデータバスモードおよびマルチプレクス 16 ビット外部バスモードの端子
状態
ストップ時
端子名
スリープ時
SPL=0
P07 ∼ P00
(AD07 ∼ AD00)
ホールド時
リセット時
SPL=1
入力不可 /
出力 Hi-Z
入力遮断 /
出力 Hi-Z
入力不可 /
出力 Hi-Z
入力不可 /
出力 Hi-Z
P27 ∼ P20
(A23 ∼ A16)
出力状態
*1, *4
出力状態
*1, *4
入力不可 /
出力 Hi-Z *4
出力状態
*1
P57(CLK)
入力不可 /
出力可能
*2, *4
入力不可 /
出力状態
*1, *4
入力不可 /
出力可能
*2, *4
入力不可 /
出力可能 *2
P17 ∼ P10
(AD15 ∼ AD08)
P56(RDY)
P55(HAK)
P54(HRQ)
P53(WRH)
入力遮断 /
出力 Hi-Z *6
入力不可 *4
入力遮断 /
直前の状態を保持
直前の状態を保持
*5
*5, *6
"L" 出力
入力不可 /
出力 Hi-Z
"1" 入力
P52(WRL)
"H" 出力
*4
"H" 出力
*4
入力不可 /
出力 Hi-Z *4
"H" 出力
P51(RD)
"H" 出力
"H" 出力
P50(ALE)
"L" 出力
"L" 出力
入力不可 /
出力 Hi-Z
出力可能 *2
P37 ∼ P30
P47 ∼ P40
P77 ∼ P70
P87 ∼ P80
P96 ∼ P90
入力遮断 /
直前の状態を保持
直前の状態を保持
*5
*5
入力遮断 /
出力 Hi-Z *6
直前の状態を保持
*5
入力不可 /
出力 Hi-Z
PA7 ∼ PA0
PB6 ∼ PB0
P67 ∼ P60
入力可能 *3
入力可能 *3
入力可能 *3
入力不可
DVP
DVM
HVP
USB ポート入力
Hi-Z
USB ポート入力 *7
*8
HVM
UTEST
プルダウン接続
プルダウン接続
プルダウン接続
HCON
直前の状態を保持
直前の状態を保持
"H" 出力
*1: 出力状態とは , 端子駆動用トランジスタは駆動許可状態ですが , 内部回路の動作が停止状態のため , "H" ないし
"L" の固定値を出力することを意味します。内部周辺回路が動作中で , 出力機能を使用している場合には , リ
セット時を除いて出力が変化します。リセット時の出力変化はありません。
*2: 出力可能とは , 端子駆動用トランジスタを駆動状態にしてあり , 内部回路の動作が許可状態のため , 動作内容
が端子に現れることを意味します。
*3: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態
であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
169
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
MB90330A シリーズ
*4: 出力ポートとして使用している場合は , 直前の値を保持します。
*5: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。
入力不可とは , 端子からすぐの入力ゲートの動作は許可状態ですが , 内部回路が動作していないので , 端子の
内容が内部で受け付けられない状態を意味します。
*6: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。
*7: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。
*8: USB 端子の動作に影響はありません。
<注意事項>
USB 転送中はスタンバイモードへの遷移は禁止です。
170
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
■ 外部バス 8 ビットデータバスモードおよびマルチプレクス 8 ビット外部バスモード
の端子状態
表 6.7-3 に , 外部バス 8 ビットデータバスモードおよびマルチプレクス 8 ビット外部バ
スモードの端子状態を示します。
表 6.7-3 外部バス 8 ビットデータバスモードおよびマルチプレクス 8 ビット外部バスモードの端子状
態
端子名
ストップ時
スリープ時
SPL=0
ホールド時
P07 ∼ P00
(AD07 ∼ AD00)
入力不可 /
出力 Hi-Z
入力遮断 /
出力 Hi-Z
P17 ∼ P10
(A15 ∼ A08)
出力状態
*1
出力状態
*1
出力状態
*1, *4
出力状態
*1, *4
入力不可 /
出力 Hi-Z
*4
入力不可 /
出力可能
*2, *4
入力不可 /
出力状態
*1, *4
入力不可 /
出力可能
*2, *4
P27 ∼ P20
(A23 ∼ A16)
P57(CLK)
入力不可 /
出力 Hi-Z
P56(RDY)
直前の状態を保持
*5
P53(WRH)
P52(WRL)
入力不可 /
出力 Hi-Z
出力状態
*1
入力不可 /
出力可能
*2
入力不可 *4
P55(HAK)
P54(HRQ)
リセット時
SPL=1
入力遮断 /
直前の状態を
保持
*5
"L" 出力
"1" 入力
入力遮断 / 出力
Hi-Z
*6
入力不可 /
出力 Hi-Z
直前の状態を
保持 *5
入力不可 /
出力 Hi-Z
*4
"H" 出力
"L" 出力
入力不可 /
出力 Hi-Z
"L" 出力
直前の状態を保持
*5
入力遮断 /
直前の状態を
保持
*5
直前の状態を
保持
*5
入力可能 *3
入力可能 *3
"H" 出力
*5
"H" 出力
*5
P51(RD)
"H" 出力
"H" 出力
P50(ALE)
"L" 出力
P37 ∼ P30
P47 ∼ P40
P77 ∼ P70
P87 ∼ P80
P96 ∼ P90
入力不可 /
出力 Hi-Z
PA7 ∼ PA0
PB6 ∼ PB0
P67 ∼ P60
入力可能 *3
入力不可
DVP
DVM
HVP
USB ポート
入力
Hi-Z
USB ポート入力 *7
*8
HVM
UTEST
プルダウン接続
プルダウン接続
プルダウン接続
HCON
直前の状態を
保持
直前の状態を保持
"H" 出力
*1: 出力状態とは , 端子駆動用トランジスタは駆動許可状態ですが , 内部回路の動作が停止状態のため , "H" ないし
"L" の固定値を出力することを意味します。内部周辺回路が動作中で , 出力機能を使用している場合には , リ
セット時を除いて出力が変化します。リセット時の出力変化はありません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
171
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
MB90330A シリーズ
*2: 出力可能とは , 端子駆動用トランジスタを駆動状態にしてあり , 内部回路の動作が許可状態のため , 動作内容が
端子に現れることを意味します。
*3: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態
であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。
*4: 出力ポートとして使用している場合は , 直前の値を保持します。
*5: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。
入力不可とは , 端子からすぐの入力ゲートの動作は許可状態ですが , 内部回路が動作していないため , 端子の
内容が内部で受け付けられない状態を意味します。
*6: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。
*7: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。
*8: USB 端子の動作に影響がありません。
<注意事項>
USB 転送中はスタンバイモードへの遷移は禁止です。
172
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
■ 外部バス16ビットデータバスモードおよびノンマルチプレクス16ビット外部バス
モードの端子状態
表 6.7-4 に , 外部バス 16 ビットデータバスモードおよびノンマルチプレクス 16 ビット
外部バスモードの端子状態を示します。
表 6.7-4 外部バス 16 ビットデータバスモードおよびノンマルチプレクス 16 ビット外部バスモードの
端子状態
ストップ時
端子名
スリープ時
ホールド時
SPL=0
P07 ∼ P00
(D07 ∼ D00)
P17 ∼ P10
(D15 ∼ D08)
P37 ∼ P30
(A07 ∼ A00)
P47 ∼ P40
(A15 ∼ A08)
P27 ∼ P20
(A23 ∼ A16)
P57(CLK)
P56(RDY)
P55(HAK)
P54(HRQ)
P53(WRH)
入力不可 /
出力 Hi-Z
入力不可 /
出力 Hi-Z
入力遮断 /
出力 Hi-Z
入力不可 /
出力 Hi-Z
出力状態
*1
出力状態
*1
出力状態
*1
出力状態
*1, *4
出力状態
*1, *4
入力不可 /
出力 Hi-Z
*4
入力不可 /
出力可能
*2, *4
入力不可 /
出力可能
*1, *4
入力不可 /
出力可能
*2, *4
入力遮断 /
直前の状態を保持
直前の状態を保持
*5
*5
P52(WRL)
"H" 出力
*5
"H" 出力
*5
P51(RD)
"H" 出力
"H" 出力
"L" 出力
"L" 出力
P50(ALE)
リセット時
SPL=1
入力遮断 /
出力 Hi-Z
*6
入力不可 /
出力可能
*2
入力不可 *4
"L" 出力
入力不可 /
出力 Hi-Z
"1" 入力
入力不可 /
出力 Hi-Z
*4
入力不可 /
出力 Hi-Z
"H" 出力
出力可能
*2
P77 ∼ P70
P87 ∼ P80
P96 ∼ P90
PA7 ∼ PA0
入力遮断 /
直前の状態を保持
直前の状態を保持
*5
*5
直前の状態を保持
*5
入力不可 /
出力 Hi-Z
PB6 ∼ PB0
P67 ∼ P60
入力可能 *3
入力可能 *3
入力可能 *3
入力不可
DVP
DVM
HVP
USB ポート入力
Hi-Z
USB ポート入力 *7
*8
HVM
UTEST
プルダウン接続
プルダウン接続
プルダウン接続
HCON
直前の状態を保持
直前の状態を保持
"H" 出力
*1: 出力状態とは , 端子駆動用トランジスタは駆動許可状態ですが , 内部回路の動作が停止状態のため , "H" ないし
"L" の固定値を出力することを意味します。内部周辺回路が動作中で , 出力機能を使用している場合には , リ
セット時を除いて出力が変化します。リセット時の出力変化はありません。
*2: 出力可能とは , 端子駆動用トランジスタを駆動状態にしてあり , 内部回路の動作が許可状態のため , 動作内容が
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
173
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
MB90330A シリーズ
端子に現れることを意味します。
*3: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態
であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。
*4: 出力ポートとして使用している場合は , 直前の値を保持します。
*5: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。
入力不可とは , 端子からすぐの入力ゲートの動作は許可状態ですが , 内部回路が動作していないので , 端子の
内容が内部で受け付けられない状態を意味します。
*6: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。
*7: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。
*8: USB 端子の動作に影響はありません。
<注意事項>
USB 転送中はスタンバイモードへの遷移は禁止です。
174
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
■ 外部バス 8 ビットデータバスモードおよびノンマルチプレクス 8 ビット外部バス
モードの端子状態
表 6.7-5 に , 外部バス 8 ビットデータバスモードおよびノンマルチプレクス 8 ビット外
部バスモードの端子状態を示します。
表 6.7-5 外部バス 8 ビットデータバスモードおよびノンマルチプレクス 8 ビット外部バスモード
ストップ時
端子名
スリープ時
ホールド時
SPL=0
P07 ∼ P00
(D07 ∼ D00)
P37 ∼ P30
(A07 ∼ A00)
P47 ∼ P40
(A15 ∼ A08)
P27 ∼ P20
(A23 ∼ A16)
P57(CLK)
入力不可 /
出力 Hi-Z
入力遮断 /
出力 Hi-Z
出力状態
*1
出力状態
*1
入力不可 /
出力 Hi-Z
入力不可 /
出力 Hi-Z
出力状態
*1
出力状態
*1, *4
出力状態
*1, *4
入力不可 /
出力 Hi-Z
*4
入力不可 /
出力可能
*2, *4
入力不可 /
出力可能
*1, *4
入力不可 /
出力可能
*2, *4
P56(RDY)
P55(HAK)
P54(HRQ)
P51(RD)
P50(ALE)
入力不可 /
出力可能
*2
入力不可 *4
入力遮断 /
直前の状態を保持
直前の状態を保持
*5
*5
P53(WRH)
P52(WRL)
リセット時
SPL=1
"H" 出力
*4
"H" 出力
*4
"H" 出力
"H" 出力
"L" 出力
"L" 出力
"L" 出力
入力遮断 /
出力 Hi-Z
*6
"1" 入力
入力不可 /
出力 Hi-Z
直前の状態を保持
*5
入力不可 /
出力 Hi-Z
*4
入力不可 /
出力 Hi-Z
"H" 出力
出力可能
*2
P17 ∼ P10
P77 ∼ P70
P87 ∼ P80
P96 ∼ P90
入力遮断 /
直前の状態を保持
直前の状態を保持
*5
*5
直前の状態を保持
*5
入力不可 /
出力 Hi-Z
PA7 ∼ PA0
PB6 ∼ PB0
P67 ∼ P60
入力可能 *3
入力可能 *3
入力可能 *3
入力不可
DVP
DVM
HVP
USB ポート入力
Hi-Z
USB ポート入力 *7
*8
HVM
UTEST
プルダウン接続
プルダウン接続
プルダウン接続
HCON
直前の状態を保持
直前の状態を保持
"H" 出力
*1: 出力状態とは , 端子駆動用トランジスタは駆動許可状態にしてありますが , 内部回路の動作が停止状態のため ,
"H" ないし "L" の固定値を出力することを意味します。内部周辺回路が動作中で , 出力機能を使用している場
合には , リセット時を除いて出力が変化します。リセット時の出力変化はありません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
175
第 6 章 低消費電力モード
6.7 スタンバイモード , ホールド , リセット時の端子状態
MB90330A シリーズ
*2: 出力可能とは , 端子駆動用トランジスタを駆動状態にしてあり , 内部回路の動作が許可状態のため , 動作内容が
端子に現れることを意味します。
*3: 出力状態として使用している場合には , ほかのポートと同じです。入力可能とは , 入力機能が使用可能な状態
であることを意味するので , プルアップ / プルダウンまたは外部からの入力が必要です。
*4: 出力ポートとして使用している場合は , 直前の値を保持します。
*5: 本モードになる直前に出力していた状態をそのまま出力します。または , 入力であれば入力不可を意味します。
入力不可とは , 端子からすぐの入力ゲートの動作は許可状態ですが , 内部回路が動作していないので , 端子の
内容が内部で受け付けられない状態を意味します。
*6: 入力遮断状態では , 入力はマスクされ "L" レベルが内部に伝わります。
*7: USB 要因によるストップ時は USB ポート入力で , それ以外の要因によるストップ時は直前の状態のままです。
*8: USB 端子の動作に影響はありません。
<注意事項>
USB 転送中はスタンバイモードへの遷移は禁止です。
176
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
6.8
第 6 章 低消費電力モード
6.8 低消費電力モード使用上の注意
低消費電力モード使用上の注意
低消費電力モード使用時には , 次に示す内容に関する注意が必要です。
• スタンバイモードへの移行と割込み
• スタンバイモードの割込みによる解除
• 発振安定待ち時間
• クロックモードの切換え
• スタンバイモード遷移のための低消費電力モード制御レジスタ (LPMCR) へアクセ
スする際の注意事項
■ スタンバイモードへの移行と割込み
周辺機能から CPU に対して割込み要求が発生していると , 低消費電力モード制御レジ
スタ (LPMCR) のストップモードビット (STP) とスリープモードビット (SLP) を "1" ま
たは時計モードまたはタイムベースタイマモードビット (TMD) を "0" としても無視さ
れるため , 各スタンバイモードへは移行しません ( 割込み処理後にも , スタンバイモー
ドへの移行はしません )。この場合 , 割込みレベルが 7 より高ければ , 割込み要求が CPU
に受け付けられるかどうかには関係しません。
また , CPU が割込み処理中であっても , その割込み要求フラグビットがクリアされてお
り , ほかに割込み要求がなければ , スタンバイモードへ移行できます。
■ スタンバイモードの割込みによる解除
スリープ , タイムベースタイマおよびストップモード中に , 周辺機能などから割込みレ
ベルが 7 より高い割込み要求が発生すると , スタンバイモードは解除されます。これは
CPU が割込みを受け付けるかどうかには関係しません。
割込みによるスタンバイモードの解除後は , 通常の割込み動作として , 割込み要求に対
応する割込みレベル設定ビット (ICR レジスタの IL2, IL1, IL0 ビット ) の優先度が割込
みレベルマスクレジスタ (ILM) より高く , コンディションコードレジスタ (CCR) の I フ
ラグによって割込みが許可(I=1)されている場合は, 割込み処理ルーチンへ分岐します。
割込みが受付けられない場合は , スタンバイモードを指定した命令の次の命令から動
作を再開します。
割込み処理を実行する場合 , 通常はスタンバイモードを指定した命令の次の命令を実
行した後に , 割込み処理に移行します。
ただし , スタンバイモードに移行した場合の条件によっては , 次の命令を実行する前に
割込み処理に移行することがあります。
<注意事項>
復帰直後に割込み処理ルーチンへ分岐させない場合は , スタンバイモード設定の前に割込
み禁止をするなどの対策が必要です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
177
第 6 章 低消費電力モード
6.8 低消費電力モード使用上の注意
MB90330A シリーズ
■ 発振安定待ち時間
● 発振クロック発振安定待ち時間
ストップモード中は , 原発振用の発振器が停止しているため , 発振安定待ち時間をとる
必要があります。発振安定待ち時間としては , クロック選択レジスタ (CKSCR) の発振
安定待ち時間選択ビット (WS1, WS0) で選択された時間をとります。
<注意事項>
CKSCR レジスタの発振安定待ち時間選択ビット (WS1, WS0) に "00B" を設定する場合は ,
メインクロック時のみにしてください。
● PLL クロック発振安定待ち時間
CPU がメインクロックで動作し , PLL クロックが停止している状態から , CPU または
周辺を PLL クロックで動作するモードに移行する場合は , PLL クロック発振安定待ち
状態へ移行し , 発振安定待ち中はメインクロックで動作します。
PLL クロック発振安定待ち時間は , 2 14/HCLK(HCLK: 発振クロック ) 固定です。
サブクロックモード中は , メインクロックおよび PLL 逓倍回路が停止しているため ,
PLL クロックモードに移行する場合は , メインクロック発振安定待ち時間および PLL
クロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間
は , クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定
された値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち
時間を同時にカウントしますので , CKSCR:WS1, WS0 ビットには , 発振安定待ち時間
の長いほうに合わせて値を設定してください。ただし , PLL クロック発振安定待ち時
間は 214/HCLK 以上必要ですので , CKSCR: WS1, WS0 ビットには "10B" または "11B" を
設定してください。
PLL ストップモード中は , メインクロックおよび PLL 逓倍回路が停止しているため ,
PLL ストップモードから復帰する場合は , メインクロック発振安定待ち時間および PLL
クロック発振安定待ち時間を確保する必要があります。この場合の発振安定待ち時間
は , クロック選択レジスタの発振安定待ち時間選択ビット (CKSCR:WS1, WS0) に設定
された値に従い , メインクロック発振安定待ち時間および PLL クロック発振安定待ち
時間を同時にカウントしますので , CKSCR:WS1, WS0 ビットには , 発振安定待ち時間
の長いほうに合わせて値を設定してください。ただし , PLL クロック発振安定待ち時
間は 214/HCLK 以上必要ですので , CKSCR: WS1, WS0 ビットには "10B" または "11B" を
設定してください。
■ クロックモードの切換え
クロックモードを切り換えた場合 , 切換えが完了するまでは , 低消費電力モードおよび
ほかのクロックモードへの切換えを行わないようにしてください。切換えの完了は , ク
ロック選択レジスタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認して
ください。切換えが完了する前に, ほかのクロックモードおよび低消費電力モードへの
切換えを行った場合 , 切り換わらない場合があります。
178
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 6 章 低消費電力モード
6.8 低消費電力モード使用上の注意
MB90330A シリーズ
■ スタンバイモード遷移のための低消費電力モード制御レジスタ (LPMCR) へアクセ
スする際の注意事項
● アセンブラ言語を使用して低消費電力モード制御レジスタ (LPMCR) へアクセスする場合
•
低消費電力モード制御レジスタ (LPMCR) において低消費電力モードに移行する設定
を行う場合は , 表 6.3-2 の命令を使用してください。
表 6.3-2 の命令による低消費電力モード遷移命令の直後には必ず下記 内の命令
列を配置してください。
MOV LPMCR,#H’xx
NOP
NOP
JMP $+3
MOV A,#H’10
; 表 6.3-2 の低消費電力モード遷移命令
; 次の命令へのジャンプ
; 任意の命令
内の命令列以外が配置されると低消費電力モード解除後の動作は保証されませ
ん。
● C 言語を使用して低消費電力モード制御レジスタにアクセスする場合
低消費電力モード制御レジスタ (LPMCR) においてスタンバイモードに移行する設定を
行う場合は , 以下の (1) から (3) のいずれかの方法でアクセスしてください。
(1) スタンバイモードに遷移させる命令を関数化し , スタンバイモード遷移命令の後
に _wait_nop0 のビルトイン関数を 2 個挿入してください。関数内で , スタンバイ
復帰の割込みが発生する可能性がある場合は , コンパイル時に最適化を実施し ,
LINK/UNLINK 命令の発生を抑止してください。
例 ( 時計モードまたはタイムベースタイマモード遷移関数の場合 )
void enter_watch(){
IO_L.PMCR.byte = 0x10:
_wait_nop0;
_wait_nop0;
}
/* LPMCR の TMD ビットに 0 をセット */
(2) スタンバイモードに遷移させる命令を _asm 文で記述し , スタンバイモード遷移命
令の後に 2 個の NOP と JMP 命令を挿入してください。
例 ( スリープモード遷移の場合 )
_asm("
_asm("
_asm("
_asm("
MOV I:_IO_LPMCR, #H’58");
NOP");
NOP");
JMP $+3");
/* LPMCR の SLP ビットに 1 をセット */
/* 次の命令へのジャンプ
*/
(3) スタンバイモードに遷移させる命令を #pragma asm ∼ #pragma endasm 間に記述し ,
スタンバイモード遷移命令の後に 2 個の NOP と JMP 命令を挿入してください。
例 ( ストップモード遷移の場合 )
#pragma asm
MOV I:_IO_LPMCR, #H’98
NOP
NOP
JMP $+3
#pragma endasm
CM44-10129-6
/* LPMCR の STP ビットに 1 をセット */
/* 次の命令へのジャンプ
FUJITSU MICROELECTRONICS LIMITED
*/
179
第 6 章 低消費電力モード
6.8 低消費電力モード使用上の注意
180
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第7章
モード設定
この章では , モード設定と外部メモリアクセスにつ
いて説明します。
7.1 モード設定
7.2 モード端子 (MD2 ∼ MD0)
7.3 モードデータ
7.4 外部メモリアクセス
7.5 モード設定の各モードにおける動作
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
181
第 7 章 モード設定
7.1 モード設定
7.1
MB90330A シリーズ
モード設定
F2MC-16LX には , アクセス方式 , アクセス領域および試験の各々において各種の
モードがあります。リセット時のモード端子の設定と , モードフェッチされたモー
ドデータによって各モードが設定されます。
■ モード設定
F2MC-16LX では , アクセス方式 , アクセス領域および試験の各々について各種のモー
ドがあり , 図 7.1-1 に示す分類になっています。
図 7.1-1 モードの分類
バスモード
動作モード
シングルチップモード
内部ROM外部バスモード
外部ROM外部バスモード
○ RUN動作
○ FLASH書込みモード
○ 各種テスト機能モード
アクセスモード
外部バスデータバス長
8/16ビット
アドレスデータバス
ノンマルチプレクスモード
マルチプレクスモード
■ 動作モード
動作モードとは , デバイスの動作状態を制御するモードを示すもので , モード設定用端
子 (MDx) とモードデータ内の Mx ビットの内容で指定します。動作モードを選択する
ことによって , 通常動作 / 内部試験プログラムの起動 / 特殊試験機能の起動を行うこと
ができます。
■ バスモード
バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを示す
もので , モード設定用端子 (MDx) とモードデータ内の Mx ビットの内容で指定します。
モード設定用端子 (MDx) は , リセットベクタおよびモードデータを読み出すときのバ
スモードを指定するものです。モードデータ内の Mx ビットは , 通常動作時のバスモー
ドを指定するものです。
■ アクセスモード
アクセスモードは , 外部データバス幅を制御するモードを示すもので , モード設定用端
子 (MDx) とモードデータ内の Sx ビットで指定します。アクセスモードを選択するこ
とによって , 外部データバスを 8 ビット長または 16 ビット長のいずれかを指定します。
また , アドレスデータバスのノンマルチプレクスモードまたはマルチプレクスモード
のいずれかを指定します。
182
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 7 章 モード設定
7.2 モード端子 (MD2 ∼ MD0)
MB90330A シリーズ
モード端子 (MD2 ∼ MD0)
7.2
モード端子は , (MD2 ∼ MD0) の 3 本の外部端子で , リセットベクタとモードデータ
の取込み方法を指定します。
■ モード端子 (MD2 ∼ MD0) の設定
モード端子 (MD2 ∼ MD0) で , リセットベクタの読出しを , 外部データバスとするか内
部データバスとするかの選択および外部データバス選択時のバス幅選択を行います。
フラッシュROM 内蔵品の場合は , 内蔵 ROM プログラムなどを書き込むための , フラッ
シュ ROM 書込みモードの指定もモード端子で行います。
モード端子の設定内容を , 表 7.2-1 に示します。
表 7.2-1 モード端子の設定内容
リセットベ
クタアクセ
ス領域
外部データ
バス幅
外部ベクタ
モード 0
外部
マルチプレ
クスモード
リセットベクタ
8 ビットバス幅
アクセス
1
外部ベクタ
モード 1
外部
マルチプレ
クスモード
リセットベクタ
16 ビットバス幅
アクセス
1
0
外部ベクタ
モード 2
外部
ノンマルチ
プ レ ク ス
モード
リセットベクタ
8 ビットバス幅
アクセス
0
1
1
内部ベクタ
モード
内部
モード
データ
リセットシーケン
ス以降はモード
データで制御
-
1
0
0
-
-
1
0
1
1
0
1
1
0
-
-
1
1
1
P61
P60
MD2
MD1
MD0
-
-
0
0
0
-
-
0
0
-
-
0
-
-
-
モード名
備考
設定禁止
フラッシュシリアル書込み
フラッシュ
ライタ書込み
モード
-
-
-
<注意事項>
MD2 ∼ MD0:0=VSS または 1=VCC としてください。外部ベクタモード 2 は , データバス
幅も 8 ビットが初期値です。データバス幅を 16 ビットにする場合は , モードデータをノ
ンマルチプレクス外部データバス 16 ビットモードにすると LMBS の領域は 16 ビットサ
イズアクセスとなります。HMBS の領域を 16 ビットサイズアクセスにしたいときは ,
EPCR:HMBS ビットを設定し直してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
183
第 7 章 モード設定
7.3 モードデータ
MB90330A シリーズ
モードデータ
7.3
モードデータは , FFFFDFH 番地のメモリ上にあり , リセットシーケンス後の動作を指
定します。モードデータは , モードフェッチで CPU に自動的に取り込まれます。
■ モードデータ
リセットシーケンス実行中に , FFFFDFH 番地のモードデータを CPU コア内のモードレ
ジスタに取り込みます。CPU は , このモードデータでメモリアクセスモードを設定し
ます。モードレジスタの内容を変更できるのは , リセットシーケンスだけです。また ,
モードデータの設定は , リセットシーケンス以降に有効となります。
モードデータの構成を , 図 7.3-1 に示します。
図 7.3-1 モードデータのビット構成
bit
モードデータ
7
6
5
4
3
2
1
0
M1
M0
0
S1
S0
0
0
0
バス設定ビット
各種モード
設定ビット
機能拡張ビット
( 予約領域 )
■ 各種モードの設定ビット (S1, S0)
S1, S0ビットは, リセットシーケンス終了後のバスモードおよびアクセスモードを指定
するビットです。
表 7.3-1 に , S1, S0 ビットの設定内容を示します。
表 7.3-1 S1, S0 ビットの設定内容
S1
S0
0
0
外部データバス
8 ビットモード
0
1
外部データバス
16 ビットモード
1
0
外部データバス
8 ビットモード
1
184
機能
1
外部データバス
16 ビットモード
アドレスデータバス
マルチプレクス
アドレスデータバス
ノンマルチプレクス
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 7 章 モード設定
7.3 モードデータ
MB90330A シリーズ
■ バスモードの設定ビット (M1, M0)
M1, M0 ビットは , リセットシーケンス終了後の動作モードを指定するビットです。
表 7.3-2 に , M1, M0 ビットの設定内容を示します。
表 7.3-2 M1, M0 ビットの設定内容
M1
M0
機能
0
0
シングルチップモード
0
1
内 ROM 外バスモード
1
0
外 ROM 外バスモード
1
1
( 設定禁止 )
■ アクセス領域と物理アドレスの関係
アクセス領域と物理アドレスの対応を , 図 7.3-2 に示します。
図 7.3-2 アクセス領域と物理アドレスの関係
シングルチップ
内ROMバス
(ROMミラー機能あり)
(ROMミラー機能あり)
外ROM外バス
FFFFFFH
ROM領域
ROM領域
ROM領域
FFバンクの
イメージ
ROM領域
FFバンクの
イメージ
拡張I/O領域
拡張I/O領域
拡張I/O領域
RAM
RAM
RAM
アドレス#1
00FFFFH
アドレス#2
007900H
アドレス#3
レジスタ
レジスタ
レジスタ
000100H
0000FBH
周 辺
周 辺
周 辺
000000H
内部
外部
アクセス無
<注意事項>
「アドレス #X」は , 各品種に依存して決まるアドレスとなります。詳細は , 「付録 A メモ
リマップ」を参照してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
185
第 7 章 モード設定
7.3 モードデータ
MB90330A シリーズ
■ モード端子とモードデータの関係 ( 推奨例 )
表 7.3-3 に , モード端子とモードデータの関係を示します。
表 7.3-3 モード端子とモードデータの関係
MD2
MD1
MD0
M1
M0
S1
S0
シングルチップ
0
1
1
0
0
X
X
内部 ROM 外部バスモード 8 ビット
( アドレスデータマルチプレクス )
0
1
1
0
1
0
0
内部 ROM 外部バスモード 16 ビット
( アドレスデータマルチプレクス )
0
1
1
0
1
0
1
内部 ROM 外部バスモード 8 ビット
( アドレスデータノンマルチプレクス )
0
1
1
0
1
1
0
内部 ROM 外部バスモード 16 ビット
( アドレスデータノンマルチプレクス )
0
1
1
0
1
1
1
外部 ROM 外部バスモード 16 ビットバス
ベクタ 16 ビット幅
( アドレスデータマルチプレクス )
0
0
1
1
0
0
1
外部 ROM 外部バスモード 8 ビット
( アドレスデータマルチプレクス )
0
0
0
1
0
0
0
外部 ROM 外部バスモード 8 ビット
( アドレスデータノンマルチプレクス )
0
1
0
1
0
1
0
モード
<注意事項>
上位アドレス A23 ∼ A16 の出力を抑制した場合には , アクセスできる最大は 64 K バイト
になります。
186
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 7 章 モード設定
7.3 モードデータ
MB90330A シリーズ
■ 各モードにおける外部端子の動作
表 7.3-4 に , ノンマルチプレクスモードおよびマルチプレクスモードにおける各外部端
子の動作関係を示します。
表 7.3-4 各モードにおける外部端子の動作関係
機能
ノンマルチプレクスモード
マルチプレクスモード
外部アドレス制御
外部アドレス制御
許可 ( アドレス )
禁止 ( アドレス )
許可 ( アドレス )
禁止 ( アドレス )
外部バス拡張
外部バス拡張
外部バス拡張
外部バス拡張
8 ビット
P07 ∼ P00/
D07 ∼ D00/
AD07∼AD00
P17 ∼ P10/
D15 ∼ D08/
AD15 ∼ AD08
16 ビット
8 ビット
16 ビット
8 ビット
16 ビット
D07 ∼ D00
ポート
D15 ∼
D08
8 ビット
16 ビット
AD07 ∼ AD00
ポート
D15 ∼
D08
P27 ∼ P20
A23 ∼ A16
ポート
P37 ∼ P30
A07 ∼ A00
A07 ∼ A00
P47 ∼ P40
A15 ∼ A08
A15 ∼ A08
A15 ∼
A08
AD15 ∼
AD08
A15 ∼
A08
A23 ∼ A16
AD15 ∼
AD08
ポート
ポート
ALE
ALE
ALE
RD
RD
RD
WRL
WRL
P52/WRL
P53/WRH
ポート
WRH
ポート
WRH
ポート
WRH
ポート
P54/HRQ
HRQ
HRQ
P55/HAK
HAK
HAK
P56/RDY
RDY
RDY
P57/CLK
CLK
CLK
WRH
・シングルチップモードは , すべてポートとして使用可能です。
・アドレス上位と WRL, WRH , HAK , HRQ, RDY.CLK は , 機能選択によってポートとして使用可能で
す。
・マルチプレクス使用時は , アドレス上位 A23 ∼ A20 をポートまたは PPG3 ∼ PPG0 として使用可能
です。
・ノンマルチプレクス使用時には , リロードタイマ ch.0/1/2, UARTch.0/1 の使用はできません。アドレ
スとして機能します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
187
第 7 章 モード設定
7.4 外部メモリアクセス
7.4
MB90330A シリーズ
外部メモリアクセス
外部メモリアクセスのブロックダイヤグラム , レジスタの構成 / 機能 , および外部メ
モリアクセスの動作について説明します。
■ 外部メモリアクセスの入出力信号端子
デバイス外部のメモリ / 周辺をアクセスするために , F2MC-16LX は以下のようなアド
レス / データ / 制御信号を供給します。
• CLK(P57) : マシンサイクルクロック (KBP) を出力します。
• RDY(P56) : 外部レディ入力端子です。
• HAK(P55) : ホールドアクノリッジ出力端子です。
• HRQ(P54) : ホールドリクエスト入力端子です。
• WRH(P53) : データバス上位 8 ビットの書込み信号です。
• WRL(P52) : データバス下位 8 ビットの書込み信号です。
• RD(P51)
: 読出し信号です。
• ALE(P50) : アドレスラッチ許可信号です ( マルチプレクスモード時に有効 )。
■ ブロックダイヤグラム
図 7.4-1 に , 外部バス端子制御回路のブロックダイヤグラムを示します。
図 7.4-1 外部バス端子制御回路のブロックダイヤグラム
P0
内部アドレス
バス
P1
P2
P3
P4
P5
P0データ
P5
P0
P0方向
内部データ
バス
データ制御
アドレス制御
アクセス制御
188
アクセス制御
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 7 章 モード設定
7.4 外部メモリアクセス
MB90330A シリーズ
■ レジスタ一覧
図 7.4-2 に , 外部バス端子制御回路のレジスタ一覧を示します。
図 7.4-2 外部バス端子制御回路のレジスタ一覧
bit
0000A5H
bit
0000A6H
bit
0000A7H
15
14
予約
(W)
(0)
予約
(W)
(0)
7
6
5
E23
(W)
(*)
E22
(W)
(*)
15
CKE
(W)
(1)
14
RYE
(W)
(0)
CM44-10129-6
13
12
11
10
9
(-)
(-)
(-)
(-)
LMR1
(W)
(0)
4
3
2
1
0
E21
(W)
(*)
E20
(W)
(*)
E19
(W)
(*)
E18
(W)
(*)
E17
(W)
(*)
E16
(W)
(*)
13
HDE
(W)
(0)
12
11
HMBS
(W)
(*)
10
WRE
(W)
(1)
9
LMBS
(W)
(0)
8
(-)
(-)
HMR1 HMR0
(W)
(W)
(1)
(1)
予約
(W)
(0)
8
自動レディ
LMR0 機能選択レジスタ (ARSR)
(W) リード / ライト
(0)
初期値
FUJITSU MICROELECTRONICS LIMITED
外部アドレス
出力制御レジスタ (HACR)
リード / ライト
初期値
バス制御
信号選択レジスタ (EPCR)
リード / ライト
初期値
189
第 7 章 モード設定
7.4 外部メモリアクセス
7.4.1
MB90330A シリーズ
自動レディ機能選択レジスタ (ARSR)
自動レディ機能選択レジスタ (ARSR) の構成および機能について説明します。
■ 自動レディ機能選択レジスタ (ARSR)
自動レディ機能選択レジスタ (ARSR) のビット構成を , 図 7.4-3 に示します。
図 7.4-3 自動レディ機能選択レジスタ (ARSR) のビット構成
bit
0000A5H
15
14
予約
(W)
(0)
予約
(W)
(0)
13
12
HMR1 HMR0
(W)
(W)
(1)
(1)
11
10
9
(-)
(-)
(-)
(-)
LMR1
(W)
(0)
8
自動レディ
LMR0 機能選択レジスタ (ARSR)
(W) リード / ライト
(0)
初期値
以下に , 自動レディ機能選択レジスタ (ARSR) の各ビットの機能を示します。
[bit15, bit14] 予約
予約ビットです。必ず "00B" を書き込んでください。
[bit13, bit12] HMR1, HMR0
800000H ∼ FFFFFFH の領域に対する外部アクセスを行ったときの自動ウェイト機能
を選択します。設定内容は , 下表のとおりです。
HMR1
HMR0
0
0
自動ウェイト禁止
0
1
外部アクセス時 , 1 マシンサイクルの自動ウェイト
1
0
外部アクセス時 , 2 マシンサイクルの自動ウェイト
1
1
外部アクセス時 , 3 マシンサイクルの自動ウェイト [ 初期値 ]
設定
[bit11, bit10] 未定義ビット
ライトは動作に影響を与えません。
[bit9, bit8] LMR1, LMR0
007100H ∼ 7FFFFFH( ただし拡張 I/O 領域 007900H ∼ 007FFFH は使用不可 ) の領域
に対する外部アクセスを行ったときの自動ウェイト機能を選択します。設定内容は ,
下表のとおりです。
190
LMR1
LMR0
0
0
自動ウェイト禁止 [ 初期値 ]
0
1
外部アクセス時 , 1 マシンサイクルの自動ウェイト
1
0
外部アクセス時 , 2 マシンサイクルの自動ウェイト
1
1
外部アクセス時 , 3 マシンサイクルの自動ウェイト
設定
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 7 章 モード設定
7.4 外部メモリアクセス
MB90330A シリーズ
外部アドレス出力制御レジスタ (HACR)
7.4.2
外部アドレス出力制御レジスタの構成および機能について説明します。
■ 外部アドレス出力制御レジスタ (HACR)
外部アドレス出力制御レジスタのビット構成を , 図 7.4-4 に示します。
図 7.4-4 外部アドレス出力制御レジスタ (HACR) のビット構成
bit
0000A6H
7
E23
(W)
(*)
6
E22
(W)
(*)
5
E21
(W)
(*)
4
E20
(W)
(*)
3
E19
(W)
(*)
2
E18
(W)
(*)
1
E17
(W)
(*)
0
E16
(W)
(*)
外部アドレス
出力制御レジスタ (HACR)
リード / ライト
初期値
外部アドレス出力制御レジスタは , アドレス (A23 ∼ A16) の外部への出力を制御する
レジスタです。各ビットがそれぞれアドレス A23 ∼ A16 に対応し , 各アドレス出力端
子を制御します。
0
対応する端子は , アドレス出力 (AXX) になります。[ 初期値 ]
1
対応する端子は I/O ポート (PXX) になります。
HACR レジスタは , デバイスがシングルチップモード時にはアクセスできません。そ
の場合 , HACR レジスタの値にかかわらず , 全ポートが I/O ポートとして機能します。
HACR レジスタの全ビットは書込み専用で , 読出し値は "1" となります。また , アドレ
ス出力を選択してアドレスの出力を期待する場合は , DDR を "0" で使用してください。
初期値は , 内部ベクタモードで起動した場合のみ "1" となります。その他の場合は , "0"
となります。
<注意事項>
PPG 使用時は , "1"(I/O ポート設定 ) として使用してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
191
第 7 章 モード設定
7.4 外部メモリアクセス
MB90330A シリーズ
バス制御信号選択レジスタ (EPCR)
7.4.3
バス制御信号選択レジスタの構成および機能について説明します。
■ バス制御信号選択レジスタ (EPCR)
バス制御信号選択レジスタは , 外部バスモード時のバス動作の制御機能を設定するレ
ジスタです。
バス制御信号選択レジスタのビット構成を , 図 7.4-5 に示します。
図 7.4-5 バス制御信号選択レジスタ (EPCR) のビット構成
bit
0000A7H
15
CKE
(W)
(1)
14
RYE
(W)
(0)
13
HDE
(W)
(0)
12
予約
(W)
(0)
11
HMBS
(W)
(*)
10
WRE
(W)
(1)
9
LMBS
(W)
(0)
8
(-)
(-)
バス制御
信号選択レジスタ (EPCR)
リード / ライト
初期値
EPCR レジスタは , デバイスがシングルチップモード時には , アクセスできません。シ
ングルチップモードの場合は , レジスタの値にかかわらず , 全端子が I/O ポートとして
機能します。EPCR レジスタの全ビットは書込み専用で , 読出し値は "1" となります。
以下に , バス制御信号選択レジスタの各ビットの機能を説明します。
[bit15] CKE
外部クロック (CLK) の出力を制御します。
0
I/O ポート (P57) 動作 ( クロック禁止 )
1
クロック信号 (CLK) 出力許可 [ 初期値 ]
[bit14] RYE
外部レディ (RDY) の入力を制御します。
0
I/O ポート (P56) 動作 ( 外部 RDY 入力禁止 ) [ 初期値 ]
1
外部レディ (RDY) 入力許可
[bit13] HDE
ホールド関係端子の入出力許可を指定するビットです。設定によって , ホールド要求入
力 (HRQ) とホールドアクノリッジ出力 (HAK) を制御します。
192
0
I/O ポート (P55, P54) 動作 ( ホールド機能入出力禁止 ) [ 初期値 ]
1
ホールド要求 (HRQ) 入力 / ホールドアクノリッジ (HAK) 出力許可
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 7 章 モード設定
7.4 外部メモリアクセス
[bit12] 予約
予約ビットです。必ず "0" を書き込んでください。
[bit11] HMBS
外部データバス 16 ビットモード時に , 800000H ∼ FFFFFFH の領域に対する外部バスを
アクセスする場合のバス幅を指定します。
0
16 ビットバス幅アクセス
[ 外部ベクタモード 1 の場合の初期値 ]
1
8 ビットバス幅アクセス
[ 外部ベクタモード 0, 2 の場合の初期値 ]
[bit10] WRE
外部書込み信号 ( 外部データバス 16 ビットモードの場合には , WRH/WRL 両端子 , 外
部データバス 8 ビットモードの場合は , WRL 端子 ) の出力を制御します。
0
I/O ポート (P53, P52) 動作 ( 書込み信号出力禁止 )
1
書込みストローブ信号 (WRH/WRL または WRL のみ ) の出力許可
[ 初期値 ]
[bit9] LMBS
外部データバス 16 ビットモード時に , 007100H ∼ 7FFFFFH( ただし拡張 I/O 領域
007900H ∼ 007FFFH は使用不可 ) の領域に対する外部バスをアクセスする場合のバス
幅を指定します。
0
16 ビットバス幅アクセス [ 初期値 ]
1
8 ビットバス幅アクセス
<注意事項>
外部データバス 16 ビットモード時 , WRE ビットで WRH/WRL 機能を許可する場合は ,
P53/P52 を入力モードにしてください (DDR5 の bit3, bit2 は "0" にしてください )。
また , RYE, HDE ビットで RDY, HRQ 入力を許可した場合でも , そのポートの I/O ポート
機能は有効になります。そのため , DDR5 中のそのポートに対応したビットは必ず "0"( 入
力モード ) にしてください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
193
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
7.5
MB90330A シリーズ
モード設定の各モードにおける動作
モード設定の各モードにおける動作について , タイミングチャートを示して説明し
ます。
■ モードの種類
機能ごとに , 以下の項目の動作を説明します。
• 外部メモリアクセス制御信号
- 外部データバス 8 ビットモード ( ノンマルチプレクスモード )
- 外部データバス 8 ビットモード ( マルチプレクスモード )
- 外部データバス 16 ビットモード ( ノンマルチプレクスモード )
- 外部データバス 16 ビットモード ( マルチプレクスモード )
• レディ機能
- ノンマルチプレクスモード
- マルチプレクスモード
• ホールド機能
- ノンマルチプレクスモード
- マルチプレクスモード
194
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
MB90330A シリーズ
外部メモリアクセス制御信号
7.5.1
外部メモリへのアクセスは , レディ機能を使用しない場合に 3 サイクルで行います。
■ 外部メモリアクセス制御信号
各モードにおける外部アクセスのタイミングチャートを , 図 7.5-1 ∼図 7.5-4 に示しま
す。外部データバス 16 ビットモードでの 8 ビットバス幅アクセスは , 8 ビット幅の周
辺チップと 16 ビット幅の周辺チップを混在して外部バスに接続した場合に , 8 ビット
幅の周辺チップを読出し / 書込みをするための機能です。8 ビットバス幅アクセスは ,
データバスの下位 8 ビットを使用して実行されるので , 8 ビット幅の周辺チップはデー
タの下位 8 ビットに接続してください。外部データバス 16 ビットモードで 16 ビット
バス幅アクセスを行うか , 8 ビットバス幅アクセスを行うかは , EPCR の HMBS/LMBS
ビットを指定することによります。なお , マルチプレクスモード時において , アドレス
出力と ALE のアサート出力のみを行い , RD/WRL/WRH をアサートしないことにより
実際には , バス動作を行わない場合があります。
<注意事項>
ALE 信号のみで周辺チップへのアクセスを実行することがないようにしてください。
● 外部データバス 8 ビットモード ( ノンマルチプレクスモード )
図 7.5-1 外部メモリアクセスのタイミングチャート
( 外部データバス 8 ビット / ノンマルチプレクスモード )
リード
ライト
リード
P57/CLK
P53/WRH
(ポートデータ)
P52/WRL
P51/RD
P50/ALE
A23~A16
リードアドレス
ライトアドレス
リードアドレス
A15~A08
リードアドレス
ライトアドレス
リードアドレス
A07~A00
リードアドレス
ライトアドレス
リードアドレス
D15~D08/AD15~AD08
(ポートデータ)
D07~D00/AD07~AD00
リードデータ
CM44-10129-6
ライトデータ
FUJITSU MICROELECTRONICS LIMITED
195
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
MB90330A シリーズ
● 外部データバス 8 ビットモード ( 外部データバス 8 ビット / マルチプレクスモード )
図 7.5-2 外部メモリアクセスのタイミングチャート ( マルチプレクスモード )
リード
リード
ライト
P57/CLK
P53/WRH
(ポートデータ)
P52/WRL
P51/RD
P50/ALE
A23~A16
リードアドレス
A15~A08
(ポートデータ)
A07~A00
(ポートデータ)
D15~D08/AD15~AD08
D07~D00/AD07~AD00
リードデータ
ライトアドレス
リードアドレス
ライトアドレス
リードアドレス
ライトアドレス
リードアドレス
リードアドレス
ライトデータ
リードデータ
● 外部データバス 16 ビットモード ( 外部データバス 16 ビット / ノンマルチプレクスモード )
図 7.5-3 外部メモリアクセスのタイミングチャート
( 外部データバス 16 ビット / ノンマルチプレクスモード )
偶数アドレスワードリード
偶数アドレスワードリード
A23~A16
リードアドレス
ライトアドレス
リードアドレス
A15~A08
リードアドレス
ライトアドレス
リードアドレス
A07~A00
リードアドレス
ライトアドレス
リードアドレス
P57/CLK
P53/WRH
P52/WRL
P51/RD
P50/ALE
D15~D08/AD15~AD08
D07~D00/AD07~AD00
リードデータ
196
ライトデータ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
MB90330A シリーズ
■ 外部 16 ビットバスモード ( 外部データバス 16 ビット / マルチプレクスモード )
図 7.5-4 外部メモリアクセスのタイミングチャート
( 外部データバス 16 ビット / マルチプレクスモード )
リード
リード
ライト
リードアドレス
ライトアドレス
P57/CLK
P53/WRH
P52/WRL
P51/RD
P50/ALE
A23~A16
A15~A08
(ポートデータ)
A07~A00
(ポートデータ)
D15~D08/AD15~AD08
リードアドレス
D07~D00/AD07~AD00
リードアドレス
ライトアドレス
CM44-10129-6
リードアドレス
ライトアドレス
リードデータ
リードアドレス
リードアドレス
ライトデータ
FUJITSU MICROELECTRONICS LIMITED
197
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
MB90330A シリーズ
レディ機能
7.5.2
P56/RDY 端子 , または自動レディ機能選択レジスタ (ARSR) の設定により , 低速の
メモリや周辺回路へのアクセスが可能となります。バス制御信号選択レジスタ
(EPCR) 中の RYE ビットが "1" に設定されている場合 , 外部領域へのアクセス時に
P56/RDY 端子に "L" レベルが入力されている期間ウェイトサイクルとなり , アクセ
スサイクルを延ばすことができます。
■ レディ機能
F2MC-16LX は , 外部メモリ用のオートレディ機能を 2 種類内蔵しています。オートレ
ディ機能は , アドレス 007100H ∼ 7FFFFFH( ただし拡張 I/O 領域 007900H ∼ 007FFFH は
使用不可 ) 間に配置した下位アドレス外部領域へのアクセスが発生したときと , アドレ
ス 800000H ∼ FFFFFFH 間に配置した上位アドレス外部領域へのアクセスが発生したと
きに , 外部回路なしで自動的に 1 ∼ 3 サイクルのウェイトサイクルを挿入し , アクセス
サイクルを延ばすことができる機能です。ARSR 中の LMR1/LMR0 ビット ( 下位アド
レス外部領域 ) および ARSR 中の HMR1/HMR0 ビット ( 上位アドレス外部領域 ) の設
定により起動します。
外部メモリ用 , 外部 I/O 用のオートレディどちらでも EPCR 中の RYE ビットが "1" に
設定されている場合 , 上記オートレディによるウェイトサイクル終了後に P56/RDY 端
子に "L" レベルが入力されていると , そのままウェイトサイクルを継続します。
以下に , ノンマルチプレクスモードおよびマルチプレクスモードにおけるレディ機能
のタイミングチャートを示します。どちらのモードも上の図がレディ機能を設定しな
い場合 , 下の図がレディ機能を設定した場合です。
<注意事項>
RDY 端子から入力する場合 , AC 規格を満たさないとき , デバイスは暴走する恐れがあり
ますので , 注意してください。
198
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
MB90330A シリーズ
● ノンマルチプレクスモード
図 7.5-5 レディ機能のタイミングチャート ( ノンマルチプレクスモード )
偶数アドレスワードライト
偶数アドレスワードリード
P57/CLK
P53/WRH
P52/WRL
P51/RD
P50/ALE
A23~A16
リードアドレス
ライトアドレス
A15~A08
リードアドレス
ライトアドレス
A07~A00
リードアドレス
ライトアドレス
D15~D08/AD15~AD08
D07~D00/AD07~AD00
P56/RDY
リードデータ
RDY端子取込み
偶数アドレスワードリード
ライトデータ
偶数アドレスワードライト
P57/CLK
P53/WRH
P52/WRL
P51/RD
P50/ALE
A23~A16
リードアドレス
ライトアドレス
A15~A08
リードアドレス
ライトアドレス
A07~A00
リードアドレス
ライトアドレス
D15~D08/AD15~AD08
D07~D00/AD07~AD00
ライトデータ
CM44-10129-6
オートレディにより延びたサイクル
FUJITSU MICROELECTRONICS LIMITED
199
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
MB90330A シリーズ
● マルチプレクスモード
図 7.5-6 レディ機能のタイミングチャート ( ノンマルチプレクスモード )
偶数アドレスワードリード
偶数アドレスワードライト
P57/CLK
P53/WRH
P52/WRL
P51/RD
P50/ALE
A23~A16
リードアドレス
A15~A08
(ポートデータ)
A07~A00
(ポートデータ)
ライトアドレス
D15~D08/AD15~AD08
リードアドレス
ライトアドレス
D07~D00/AD07~AD00
リードアドレス
ライトアドレス
P56/RDY
RDY端子取込み
リードデータ
偶数アドレスワードリード
ライトデータ
偶数アドレスワードライト
P57/CLK
P53/WRH
P52/WRL
P51/RD
P50/ALE
A23~A16
ライトアドレス
リードアドレス
A15~A08
(ポートデータ)
A07~A00
(ポートデータ)
D15~D08/AD15~AD08
ライトアドレス
リードアドレス
D07~D00/AD07~AD00
ライトアドレス
リードアドレス
ライトデータ
200
オートレディにより延びたサイクル
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
7.5.3
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
ホールド機能
ホールド機能の動作を , タイミングチャートを示して説明します。
■ ホールド機能の動作
EPCR 中の HDE ビットが "1" に設定されている場合 , P54/HRQ, P55/HAK 両端子による
外部バスのホールド機能が有効となります。P54/HRQ 端子に "H" レベルを入力すると ,
CPU の命令終了時 ( ストリング命令の場合は 1 エレメントデータの処理の終了後 ) に
ホールド状態となり , P55/HAK より "L" レベルを出力して以下の端子をハイインピー
ダンス状態にします。
● ノンマルチプレクスモード
• アドレス出力 : A23 ∼ A00
• データ入出力 : D15/AD15 ∼ D00/AD00
• バス制御信号 : P51/RD, P52/WRL, P53/WRH
● マルチプレクスモード
アドレス出力 : A23 ∼ A16
データ入出力 : D15/AD15 ∼ D00/AD00
バス制御信号 : P51/RD, P52/WRL, P53/WRH
これにより , デバイス外部回路により外部バスを使用することが可能となります。P54/
HRQ 端子に "L" レベルを入力すると , P55/HAK 端子は "H" レベル出力となり , 外部端
子状態が復活して CPU は動作を再開します。STOP 状態においては , ホールド要求は
受付けません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
201
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
MB90330A シリーズ
■ ノンマルチプレクスモード
図 7.5-7 に , 外部データバス 16 ビットモードにおけるノンマルチプレクスモードのホー
ルド機能のタイミングチャートを示します。
図 7.5-7 ホールド機能のタイミングチャート ( ノンマルチプレクスモード )
リードサイクル
ホールドサイクル
ライトサイクル
P57/CLK
P54/HRQ
P55/HAK
P53/WRH
P52/WRL
P51/RD
P50/ALE
A23~A16
(アドレス)
(アドレス)
A15~A08
(アドレス)
(アドレス)
A07~A00
(アドレス)
(アドレス)
D15~D08/AD15~AD08
D07~D00/AD07~AD00
リードアドレス
ライトデータ
■ マルチプレクスモード
図 7.5-8 に , 外部データバス 16 ビットモードにおけるマルチプレクスモードのホール
ド機能のタイミングチャートを示します。
図 7.5-8 ホールド機能のタイミングチャート ( マルチプレクスモード )
ホールドサイクル
リードサイクル
ライトサイクル
P57/CLK
P54/HRQ
P55/HAK
P53/WRH
P52/WRL
P51/RD
P50/ALE
A23~A16
(アドレス)
A15~A08
(ポートデータ)
A07~A00
(ポートデータ)
(アドレス)
D15~D08/AD15~AD08
(アドレス)
D07~D00/AD07~AD00
(アドレス)
リードデータ
202
FUJITSU MICROELECTRONICS LIMITED
ライトデータ
CM44-10129-6
MB90330A シリーズ
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
<注意事項>
P54/HRQ 端子に "H" レベルを入力した場合 , P55/HAK 端子が "L" レベルになるまで P54/
HRQ 端子を "H" レベルに保持してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
203
第 7 章 モード設定
7.5 モード設定の各モードにおける動作
204
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第8章
I/O ポート
この章では , I/O ポートで使用するレジスタの構成
および機能について説明します。
8.1 I/O ポートの機能
8.2 I/O ポートのレジスタ
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
205
第 8 章 I/O ポート
8.1 I/O ポートの機能
8.1
MB90330A シリーズ
I/O ポートの機能
I/O ポートの機能概要を示します。
■ I/O ポートの機能
I/O ポートは , ポートデータレジスタ (PDR) によって , CPU からデータを I/O 端子に出
力したり , I/O 端子に入力された信号を CPU に取込んだりする機能をもっています。ま
た , ポートはポート方向レジスタ (DDR) によって , I/O 端子の入出力の方向をビット単
位で任意に設定できます。
MB90330A シリーズには , 72 本の入出力と , 22 本のオープンドレインの出力端子があ
ります。
P07 ∼ P00, P17 ∼ P10, P27 ∼ P20, P37 ∼ P30, P47 ∼ P40, P57 ∼ P50, P77 ∼ P70,
P87 ∼ P80, P95 ∼ P90, PB6, PB5 が入出力ポートで , P67 ∼ P60, P96, PA7 ∼ PA0,
PB4 ∼ PB0 がオープンドレイン端子となっています。
206
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
8.2
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
I/O ポートのレジスタ
I/O ポートで使用するレジスタの構成 , および機能について説明します。
■ I/O ポートのレジスタ
I/O ポートには以下のレジスタがあります。
• ポートデータレジスタ (PDR0 ∼ PDRB)
• ポート方向レジスタ (DDR0 ∼ DDRB)
• 入力抵抗レジスタ (RDR0, RDR1)
• 出力端子レジスタ (ODR4)
• アナログ入力許可レジスタ (ADER0, ADER1)
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
207
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
8.2.1
MB90330A シリーズ
ポートデータレジスタ (PDR0 ∼ PDRB)
ポートデータレジスタ (PDR0 ∼ PDRB) の構成および機能について説明します。
■ ポートデータレジスタ (PDR0 ∼ PDRB)
図 8.2-1 に , ポートデータレジスタ (PDR0 ∼ PDRB) の一覧を示します。
図 8.2-1 ポートデータレジスタ (PDR0 ∼ PDRB) の一覧
PDR0
bit
アドレス : 000000H
7
P07
PDR1
15
bit
アドレス : 000001H
P17
PDR2
7
bit
アドレス : 000002H
PDR3
bit
アドレス : 000003H
PDR4
bit
P27
6
P06
5
P05
4
P04
3
P03
2
P02
1
P01
0
P00
14
13
12
11
10
9
8
P16
P15
P14
P13
P12
P11
P10
6
5
4
3
2
1
0
P26
P25
P24
P23
P22
P21
P20
15
14
13
12
11
10
9
8
P37
P36
P35
P34
P33
P32
P31
P30
XXXXXXXXB
R/W *
XXXXXXXXB
R/W *
XXXXXXXXB
R/W *
6
5
4
3
2
1
0
アドレス : 000004H
P47
P46
P45
P44
P43
P42
P41
P40
XXXXXXXXB
R/W *
PDR5
15
P57
14
P56
13
P55
12
P54
11
P53
10
P52
9
P51
8
P50
XXXXXXXXB
R/W *
XXXXXXXXB
R/W *
XXXXXXXXB
R/W *
XXXXXXXXB
R/W *
-XXXXXXXB
R/W *
XXXXXXXXB
R/W *
-XXXXXXXB
R/W *
bit
アドレス : 000005H
PDR6
bit
7
初期値
アクセス
XXXXXXXXB R/W *
7
アドレス : 000006H
P67
PDR7
15
bit
アドレス : 000007H
P77
PDR8
7
bit
6
5
4
3
2
1
0
P66
P65
P64
P63
P62
P61
P60
14
13
12
11
10
9
8
P76
P75
P74
P73
P72
P71
P70
6
5
4
3
2
1
0
P86
P85
P84
P83
P82
P81
P80
アドレス : 000008H
P87
PDR9
bit
15
14
13
12
11
10
9
8
アドレス : 000009H
-
P96
P95
P94
P93
P92
P91
P90
6
5
4
3
2
1
0
アドレス : 00000AH
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
PDRB
7
6
5
4
3
2
1
0
PB6
PB5
PB4
PB3
PB2
PB1
PB0
PDRA
bit
bit
アドレス : 00000CH
208
7
-
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
*: 入出力ポートへの R/W アクセスは , メモリへの R/W アクセスとは多少動作が異なり
ます。
以下のような動作をしますので , 注意してください。
• 入力モード
- 読出し時 : 対応する端子のレベルが読み出されます。
- 書込み時 : 出力用のラッチに書き込まれます。
• 出力モード
- 読出し時 : データレジスタラッチの値が読み出されます。
- 書込み時 : 対応する端子に出力されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
209
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
8.2.2
MB90330A シリーズ
ポート方向レジスタ (DDR0 ∼ DDRB)
ポート方向レジスタの構成および機能について説明します。
■ ポート方向レジスタ (DDR0 ∼ DDRB)
図 8.2-2 に , ポート方向レジスタ (DDR0 ∼ DDRB) の一覧を示します。
図 8.2-2 ポート方向レジスタ (DDR0 ∼ DDRB) の一覧
DDR0
bit
アドレス : 000010H
DDR1
bit
アドレス : 000011H
DDR2
bit
7
D07
6
D06
5
D05
4
D04
3
D03
2
D02
1
D01
0
D00
15
14
13
12
11
10
9
8
D17
D16
D15
D14
D13
D12
D11
D10
6
5
4
3
2
1
0
アドレス : 000012H
D27
D26
D25
D24
D23
D22
D21
D20
DDR3
15
14
13
12
11
10
9
8
D37
D36
D35
D34
D33
D32
D31
D30
bit
アドレス : 000013H
DDR4
bit
アドレス : 000014H
DDR5
bit
7
7
D47
15
アドレス : 000015H
D57
DDR6
7
bit
アドレス : 000016H
DDR7
bit
アドレス : 000017H
DDR8
15
D77
4
3
2
1
0
D44
D43
D42
D41
D40
14
13
12
11
10
9
8
D56
D55
D54
D53
D52
D51
D50
6
5
4
3
2
1
0
D66
D65
D64
D63
D62
D61
D60
14
13
12
11
10
9
8
D76
D75
D74
D73
D72
D71
D70
6
5
4
3
2
1
0
アドレス : 000018H
D86
D85
D84
D83
D82
D81
D80
DDR9
bit
15
14
13
12
11
10
9
8
アドレス : 000019H
-
D96
D95
D94
D93
D92
D91
D90
bit
7
5
D45
D87
DDRA
bit
D67
6
D46
7
6
5
4
3
2
1
0
DA6
DA5
DA4
DA3
DA2
DA1
DA0
アドレス : 00001AH
DA7
DDRB
bit
15
14
13
12
11
10
9
8
アドレス : 00000DH
-
DB6
DB5
DB4
DB3
DB2
DB1
DB0
210
FUJITSU MICROELECTRONICS LIMITED
初期値
00000000
アクセス
R/W
00000000
R/W
00000000
R/W
00000000
R/W
00000000
R/W
00000000
R/W
00000000
R/W
00000000
R/W
00000000
R/W
-0000000
R/W
00000000
R/W
-0000000
R/W
CM44-10129-6
MB90330A シリーズ
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
● 各端子がポートとして機能している場合
各端子がポートとして機能している場合, 対応する各端子を以下のように制御します。
• 0: 入力モード
• 1: 出力モード
リセットで "0" になります。
<注意事項>
リードモディファイライト (RMW) 系の命令 ( ビットセットなどの命令 ) を使用して DDR0 ∼
DDRB レジスタをアクセスすると , 命令で注目しているビットは所定の値になりますが , そ
れ以外のビットで入力設定してあるものに対応する出力レジスタの内容は , そのときの端
子の入力値に書き換わります。このため , 入力として使用していた端子を出力に切り換え
るときには , はじめに希望値を PDR に書き込んでから DDR をセットし , そのあとで出力
に切り換えるようにしてください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
211
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
8.2.3
MB90330A シリーズ
その他のレジスタ
ポートデータレジスタ (PDR0 ∼ PDRB), ポート方向レジスタ (DDR0 ∼ DDRB) 以外
のレジスタの構成および機能について説明します。
■ ポート 0, 1 プルアップ抵抗レジスタ (RDR0, RDR1)
プルアップ抵抗レジスタ (RDR0, RDR1) のビット構成を図 8.2-3 に示します。
図 8.2-3 プルアップ抵抗レジスタ (RDR0, RDR1) のビット構成
PDR0
bit
7
RD07
アドレス : 00001CH
PDR1
bit
15
アドレス : 00001DH RD17
6
RD06
5
RD05
4
RD04
3
RD03
2
RD02
1
RD01
0
RD00
14
13
12
11
10
9
8
RD16
RD15
RD14
RD13
RD12
RD11
RD10
初期値
00000000
アクセス
R/W
00000000
R/W
プルアップ抵抗レジスタ (RDR0, RDR1) は , 入力モード時にプルアップ抵抗をなしとす
るか , ありとするかを設定します。
• 0: 入力モード時プルアップ抵抗なし
• 1: 入力モード時プルアップ抵抗あり
RDR0, RDR1 レジスタは , 出力モード時には機能をもちません ( プルアップ抵抗なし )。
入出力モードは , 方向レジスタ (DDR) の設定で決まります。
ストップ時 (SPL=1) のときはプルアップ抵抗なしになります ( ハイインピーダンス )。
外部バスで使用する場合は , この機能は使用禁止です。RDR0, RDR1 レジスタへは書き
込まないようにしてください。
■ ポート 4 出力端子レジスタ (ODR4)
出力端子レジスタ (ODR4) のビット構成を図 8.2-4 に示します。
図 8.2-4 出力端子レジスタ (ODR4) のビット構成
PDR0
bit 15
アドレス : 00001BH OD47
14
OD46
13
OD45
12
OD44
11
OD43
10
OD42
9
OD41
8
OD40
初期値
00000000
アクセス
R/W
出力端子レジスタ (ODR4) は , 出力モード時のオープンドレイン制御を行います。
• 0: 出力モード時に標準出力ポートになります。
• 1: 出力モード時にオープンドレイン出力ポートになります。
出力端子レジスタ (ODR4) は , 入力モード時は機能をもちません ( 出力ハイインピーダ
ンス )。
入出力モードは , 方向レジスタ (DDR) の設定で決まります。
外部バスで使用する場合は , この機能は使用禁止です。出力端子レジスタ (ODR4) へは
書き込まないようにしてください。
212
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
MB90330A シリーズ
■ アナログ入力許可レジスタ (ADER0, ADER1)
アナログ入力許可レジスタ (ADER0, ADER1) のビット構成を図 8.2-5 に示します。
図 8.2-5 アナログ入力許可レジスタ (ADER0, ADER1) のビット構成
PDR0
bit 7
6
5
4
3
2
1
0
アドレス : 00001EH ADE07 ADE06 ADE05 ADE04 ADE03 ADE02 ADE01 ADE00
PDR1
bit
15
14
13
12
11
10
9
初期値
11111111
アクセス
R/W
11111111
R/W
8
アドレス : 00001FH ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE09 ADE08
アナログ入力許可レジスタ (ADER0, ADER1) は , ポート 7, 8 の各端子を以下のように
制御します。
• 0: ポート入出力モードになります。
• 1: アナログ入力モードになります。リセットで "1" になります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
213
第 8 章 I/O ポート
8.2 I/O ポートのレジスタ
214
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第9章
タイムベースタイマ
この章では , タイムベースタイマの機能と動作につ
いて説明します。
9.1 タイムベースタイマの概要
9.2 タイムベースタイマの構成
9.3 タイムベースタイマ制御レジスタ (TBTC)
9.4 タイムベースタイマの割込み
9.5 タイムベースタイマの動作
9.6 タイムベースタイマ使用上の注意
9.7 タイムベースタイマのプログラム例
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
215
第 9 章 タイムベースタイマ
9.1 タイムベースタイマの概要
9.1
MB90330A シリーズ
タイムベースタイマの概要
タイムベースタイマは , 内部カウントクロック ( 原発振の 2 分周 ) に同期してカウン
トアップする 18 ビットのフリーランカウンタ ( タイムベースカウンタ ) で , 4 種類
のインターバル時間を選択できるインターバルタイマ機能があります。また , 発振
安定待ち時間のタイマ出力やウォッチドッグタイマなどの動作クロックを供給する
機能もあります。
■ インターバルタイマ機能
インターバルタイマ機能は, 一定時間間隔で繰り返し割込み要求を発生する機能です。
• タイムベースカウンタのインターバルタイマ用ビットがオーバフローすると割込
み要求を発生します。
• インターバルタイマ用のビット ( インターバル時間 ) は , 4 種類の中から選択できま
す。
表 9.1-1 に , タイムベースタイマのインターバル時間を示します。
表 9.1-1 タイムベースタイマのインターバル時間
内部カウントクロック周期
インターバル時間
2 12/HCLK( 約 0.68 ms)
2/HCLK(0.33 μs)
2 14/HCLK( 約 2.7 ms)
2 16/HCLK( 約 10.9 ms)
2 19/HCLK( 約 87.4 ms)
HCLK: 発振クロック
() 内は発振クロック 6 MHz 動作時の値です。
216
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 9 章 タイムベースタイマ
9.1 タイムベースタイマの概要
MB90330A シリーズ
■ クロック供給機能
クロック供給機能は , 発振安定待ち時間用のタイマや , 一部の周辺機能に対する動作ク
ロックを供給する機能です。表 9.1-2 に , タイムベースタイマから各周辺に供給される
クロックの周期を示します。
表 9.1-2 タイムベースタイマから供給されるクロック周期
クロック供給先
クロック周期
2 13/HCLK( 約 1.4 ms)
発振安定待ち時間
備考
セラミック振動子用発振安定待ち時間
2 15/HCLK( 約 5.5 ms)
水晶振動子用発振安定待ち時間
2 17/HCLK( 約 21.8 ms)
2 12/HCLK( 約 0.68 ms)
2 14/HCLK( 約 2.7 ms)
ウォッチドッグタイマ
2 16/HCLK( 約 10.9 ms)
ウォッチドッグタイマの
カウントアップクロック
2 19/HCLK( 約 87.4 ms)
HCLK: 発振クロック
() 内は発振クロック 6 MHz 動作時の値です。
<参考>
発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安となります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
217
第 9 章 タイムベースタイマ
9.2 タイムベースタイマの構成
MB90330A シリーズ
タイムベースタイマの構成
9.2
タイムベースタイマは , 次の 4 つのブロックで構成されています。
• タイムベースタイマカウンタ
• カウンタクリア回路
• インターバルタイマセレクタ
• タイムベースタイマ制御レジスタ (TBTC)
■ タイムベースタイマのブロックダイヤグラム
図 9.2-1 に , タイムベースタイマのブロックダイヤグラムを示します。
図 9.2-1 タイムベースタイマのブロックダイヤグラム
ウォッチドッグ
タイマへ
PPGタイマヘ
タイムベースタイマカウンタ
HCLKの
2分周
×21 ×22 ×23
×28 ×29 ×210 ×211 ×212 ×213 ×214 ×215 ×216 ×217 ×218
OF
OF
パワーオンリセット
ストップモード開始
CKSCR:MCS=1→0*1
OF
OF
クロック制御部
発振安定待ち
時間セレクタへ
カウンタ
クリア回路
CKSCR:SCS=0→1*2
インターバル
タイマセレクタ
TBOF
セット
TBOFクリア
タイムベースタイマ制御レジスタ(TBTC)
予約
TBIE
TBOF TBR
TBC1 TBC0
タイムベースタイマ割込み信号
- :未定義
OF :オーバフロー
HCLK :発振クロック
*1 :マシンクロックをメインクロックまたはサブクロックからPLLクロックへ切換え
*2 :マシンクロックをサブクロックからメインクロックへ切換え
● タイムベースタイマカウンタ
発振クロック (HCLK) の 2 分周クロックをカウントクロックとする , 18 ビットのアッ
プカウンタです。
218
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 9 章 タイムベースタイマ
9.2 タイムベースタイマの構成
● カウンタクリア回路
タイムベースタイマ制御レジスタ (TBTC) のタイムベースタイマ初期化ビット (TBR) へ
の "0" 書込み , パワーオンリセット , ストップモードへの移行 , メインクロックモード
またはサブクロックから PLL クロックモードへの切換え , サブクロックからメインク
ロックモードへの切換えでカウンタをクリアする回路です。
● インターバルタイマセレクタ
タイムベースタイマカウンタの 4 種類の出力から 1 つを選択します。選択したビット
のオーバフローが割込み要因となります。
● タイムベースタイマ制御レジスタ (TBTC)
インターバル時間の選択 , カウンタのクリア , 割込み要求の制御および状態の確認をし
ます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
219
第 9 章 タイムベースタイマ
9.3 タイムベースタイマ制御レジスタ (TBTC)
9.3
MB90330A シリーズ
タイムベースタイマ制御レジスタ (TBTC)
タイムベースタイマ制御レジスタ (TBTC) は , インターバル時間の選択 , タイムベー
スタイマカウンタのクリア , 割込み制御および状態の確認をするレジスタです。
■ タイムベースタイマ制御レジスタ (TBTC)
図 9.3-1 タイムベースタイマ制御レジスタ (TBTC) のビット構成
アドレス
0000A9H
bit15
bit14 bit13 bit12 bit11 bit10
予約
‐
‐
R/W
‐
‐
bit9
bit0
bit8 bit7
TBIE
TBOF
TBR
TBC1
TBC0
R/W
R/W
W
R/W
R/W
TBC1 TBC0
(WDTC)
初期値
1--00100B
インターバル時間選択ビット
0
0
212/HCLK(約0.68ms)
0
1
214/HCLK(約2.7ms)
1
0
1
216/HCLK(約10.9ms)
219/HCLK(約87.4ms)
( )内は発振クロック6MHzの値です。
1
TBR
タイムベースタイマ初期化ビット
リード時
ライト時
タイムベースタイマカウンタ,
BOFビットをクリア
0
常に"1"が読み出され
ます
1
TBOF
変化なし,ほかへの影響
なし
割込み要求フラグビット
リード時
ライト時
0
指定ビットの
オーバフローなし
このビットのクリア
1
指定ビットの
オーバフローあり
変化なし,ほかへの影響なし
TBIE
割込み要求許可ビット
0
割込み要求出力の禁止
1
割込み要求出力の許可
予約
予約ビット
必ず"1"を設定してください
R/W
W
HCLK
220
:リード・ライト可能
:ライトオンリ
:未定義
:発振クロック
:初期値
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 9 章 タイムベースタイマ
9.3 タイムベースタイマ制御レジスタ (TBTC)
表 9.3-1 タイムベースタイマ制御レジスタ (TBTC) の各ビットの機能
ビット名
機能
bit15
予約 :
予約ビット
( 注意事項 )
必ず "1" を書き込んでください。
bit14,
bit13
未定義
ビット
・読出し時の値は不定です。
・書込みは動作に影響を与えません。
bit12
TBIE:
割込み要求
許可ビット
・CPU への割込み要求出力の許可 / 禁止をするビットです。
・TBIE ビットと割込み要求フラグビット (TBOF) が "1" の場合 , 割
込み要求を出力します。
TBOF:
割込み要求
フラグビット
bit11
・タイムベースタイマカウンタ指定ビットがオーバフローすると
"1" にセットされます。
・TBOF ビットと割込み要求許可ビット (TBIE) が "1" の場合 , 割込
み要求を出力します。
・書込み時は "0" でクリアされ , "1" では変化せず , ほかへの影響は
ありません。
( 注意事項 )
・TBOF ビットをクリアする場合には , 割込み要求許可ビット (TBIE)
またはプロセッサステータス (PS) の割込みレベルマスクレジスタ
(ILM) の指定で , タイムベースタイマ割込みが禁止されている状態
にしてください。
・"0" の書込み , ストップモードへの遷移 , サブクロックモードから
メインクロックモードへの遷移, メインクロックモードからPLLク
ロックモードへの遷移およびタイムベースタイマ初期化ビット
(TBR) への "0"書込みおよびリセットにより "0"にクリアされます。
bit10
TBR:
・タイムベースタイマカウンタをクリアするビットです。
タイムベース ・"0" を書き込むとカウンタがクリアされ , さらに TBOF ビットをク
タイマ
リアします。"1" では変化せず , ほかへの影響はありません。
初期化ビット ( 参考 )
読出し値は , 常に "1" です。
bit9,
bit8
TBC1, TBC0: ・インターバルタイマの周期を選択するビットです。
インターバル ・タイムベースタイマカウンタのインターバルタイマ用のビットが
時間選択
指定されます。
ビット
・4 種類のインターバル時間が選択できます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
221
第 9 章 タイムベースタイマ
9.4 タイムベースタイマの割込み
MB90330A シリーズ
タイムベースタイマの割込み
9.4
タイムベースタイマは , タイムベースタイマカウンタの指定ビットのオーバフロー
で割込み要求を発生できます ( インターバルタイマ機能 )。
■ タイムベースタイマの割込み
タイムベースタイマカウンタが内部カウントクロックでカウントアップし , 選択され
たインターバルタイマ用のビットがオーバフローすると , タイムベースタイマ制御レ
ジスタ (TBTC) の割込み要求フラグビット (TBOF) が "1" にセットされます。その場合 ,
割込み要求許可ビット (TBIE) を "1" にして割込み要求を許可していると , CPU に割込
み要求が発生します。割込み処理ルーチンで TBOF ビットに "0" を書き込んで , 割込み
要求をクリアしてください。なお , TBOF ビットは , 割込み要求許可ビット (TBIE) の値
に関係なく , 指定したビットがオーバフローするとセットされます。
<注意事項>
タイムベースタイマ制御レジスタ (TBTC) の割込み要求フラグビット (TBOF) をクリアす
る場合には , 割込み要求許可ビット (TBIE) またはプロセッサステータス (PS) の割込みレ
ベルマスクレジスタ (ILM) の設定で , タイムベースタイマ割込みが禁止されている状態で
行ってください。
<参考>
•
TBOF ビットが "1" の場合に , TBIE ビットを禁止から許可 (0 → 1) にすると直ちに割込
み要求が発生します。
•
EI2OS, μDMAC は使用できません。
■ タイムベースタイマの割込みと EI2OS, μDMAC
表 9.4-1 に , タイムベースタイマの割込みと EI2OS, μDMAC を示します。
表 9.4-1 タイムベースタイマの割込みと EI2OS, μDMAC
割込みレベル設定レジスタ
割込み番号
#40
ベクタテーブルのアドレス
レジスタ名
アドレス
下位
上位
バンク
ICR14
0000BEH
FFFF5CH
FFFF5DH
FFFF5EH
EI2OS
μDMAC
×
×
× : 使用不可
<注意事項>
ICR14 は , タイムベースタイマ割込みと時計タイマ割込みと UART 受信完了 ch.0/ch.1 割
込みの 3 つの用途に使用できますが , 割込みレベルは同一になります。
222
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 9 章 タイムベースタイマ
9.5 タイムベースタイマの動作
MB90330A シリーズ
9.5
タイムベースタイマの動作
タイムベースタイマには , インターバルタイマ機能および一部の周辺機能へのク
ロック供給機能があります。
■ インターバルタイマ機能 ( タイムベースタイマ ) の動作
インターバルタイマ機能は , 任意のインターバル時間ごとに割込み要求を発生します。
インターバルタイマとして動作させるには , 図 9.5-1 の設定が必要です。
図 9.5-1 タイムベースタイマの設定
アドレス
0000A9H
◎
0
1
TBTC
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
予約
1
-
-
TBIE
◎
TBOF
0
TBR
0
TBC1
◎
TBC0
◎
bit7
bit0
(WDTC)
: 使用ビット
: 未使用ビット
: 0 を設定
: 1 を設定
• タイムベースタイマカウンタは , クロックが発振している限り , 内部カウントク
ロック ( 発振クロックの 2 分周 ) に同期して , カウントアップを続けます。
• カウンタがクリアされると "0" からカウントアップを行い , インターバルタイマ用
のビットがオーバフローすると , 割込み要求フラグビット (TBOF) を "1" にセットし
ます。この場合 , 割込み要求出力を許可 (TBIE=1) しているとクリアされた時間を基
準にして , 選択されたインターバル時間ごとに割込みを発生することになります。
• インターバル時間は , タイムベースタイマのクリア動作で , 設定時間よりも長くな
ることがあります。
■ 発振安定待ち時間用タイマ機能
タイムベースタイマは , 発振クロックおよび PLL クロックの発振安定待ち時間用のタ
イマとしても使用されます。発振安定待ち時間は , カウンタが "0"( カウントクリア ) か
らカウントアップし , 発振安定待ち時間用のビットがオーバフローするまでの時間と
なります。ただし , タイムベースタイマモードから PLL クロックモードまたはメイン
クロックモード復帰時には , タイムベースタイマカウンタがクリアされないため , カウ
ント途中からの時間になります。表 9.5-1 に , タイムベースカウンタのクリアと発振安
定待ち時間について示します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
223
第 9 章 タイムベースタイマ
9.5 タイムベースタイマの動作
MB90330A シリーズ
表 9.5-1 タイムベースタイマカウンタのクリア動作と発振安定待ち時間
動作
カウンタ
クリア
TBOF
発振安定待ち時間
タイムベースタイマ制御レジスタ
(TBTC)のタイムベースタイマ初期
化ビット (TBR) へ "0" 書込み
○
○
なし
パワーオンリセット
○
○
ウォッチドッグリセット
×
○
メインストップモードの解除
○
○
PLL ストップモードの解除
○
○
サブストップモードの解除
×
×
サブクロック発振安定待ち時間
メインクロックモードから
PLL クロックモードへの移行
(MCS=1 → 0)
○
○
PLL クロック発振安定待ち時間
サブクロックモードから
メインクロックモードへの移行
(MCS=1 → 1)
○
○
メインクロック発振安定待ち時間
タイムベースタイマモードの解除
×
×
なし
スリープモードの解除
×
×
なし
メインクロック発振安定待ち時間
○ : あり
× : なし
■ クロック供給機能
タイムベースタイマは , ウォッチドッグタイマにクロックを供給しています。タイム
ベースカウンタのクリアで , ウォッチドッグタイマは , 動作に影響を受けます。
224
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
9.6
第 9 章 タイムベースタイマ
9.6 タイムベースタイマ使用上の注意
タイムベースタイマ使用上の注意
割込み要求のクリアおよびタイムベースタイマのクリアによる周辺機能への影響な
どの注意点を示します。
■ タイムベースタイマ使用上の注意
● 割込み要求のクリア
タイムベースタイマ制御レジスタ (TBTC) の割込み要求フラグビット (TBOF) をクリア
する場合には , 割込み要求許可ビット (TBIE) またはプロセッサステータス (PS) の割込
みレベルマスクレジスタ (ILM) でタイムベースタイマ割込みがマスクされている状態
で行うようにしてください。
● タイムベースタイマのクリアによる影響
タイムベースタイマのカウンタのクリアで , 次の動作は影響を受けます。
• タイムベースタイマでインターバルタイマ機能 ( インターバル割込み ) を使用して
いる場合
• ウォッチドッグタイマを使用している場合
● 発振安定待ち時間用タイマとしての使用
電源投入時 , メインストップモード中などでは , 発振クロックが停止しているため , 発
振器が動作を開始した後 , タイムベースタイマが供給する動作クロックを使用して発
振クロックの発振安定待ち時間をとります。高速発振端子に接続する振動子の種類に
よって , 適切な発振安定待ち時間を選択する必要があります。詳細については , 「5.5
発振安定待ち時間」を参照してください。
● タイムベースタイマからクロックを供給される周辺機能に対する注意
メインクロックが停止するモードでは , カウンタはクリアされ , タイムベースタイマは
動作を停止します。また , タイムベースタイマから供給されるクロックは , タイムベー
スタイマのカウンタがクリアされると , 初期状態からの供給となるため , "H" レベルが
短くまたは "L" レベルが最大で 1/2 周期長くなることがあります。ウォッチドッグタイ
マ用のクロックも初期状態からの供給となりますが , ウォッチドッグタイマのカウン
タが同時にクリアされるためウォッチドッグタイマは正常な周期で動作します。
■ タイムベースタイマの動作
次の状態の動作を図 9.6-1 に示します。
• パワーオンリセットが発生した場合
• インターバルタイマ機能の動作中にスリープモードへ移行した場合
• ストップモードへ移行した場合
• カウンタクリアの要求があった場合
ストップモードへの移行でタイムベースタイマはクリアされ , 動作を停止します。ス
トップモードからの復帰時にタイムベースタイマで発振安定待ち時間をカウントしま
す。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
225
第 9 章 タイムベースタイマ
9.6 タイムベースタイマ使用上の注意
MB90330A シリーズ
図 9.6-1 タイムベースタイマの動作
カウンタ値
3FFFFH
ストップモードへの
移行によるクリア
発振安定待ち
オーバフロー
00000H
CPU動作開始
パワーオンリセット
(オプション)
インターバル周期
(TBTC:TBC1,TBC0=11B)
カウンタクリア
(TBTC:TBR=0)
割込み処理ルーチンでクリア
TBOFビット
TBIEビット
スリープ
SLPビット
(LPMCRレジスタ)
インターバル割込みスリープ解除
ストップ
STPビット
(LPMCRレジスタ)
外部割込みによるストップ解除
タイムベースタイマ制御レジスタのインターバル時間選択ビット(TBTC:TBC1,TBC0)に
"11B"を設定した場合(219/HCLK)。
: 発振安定待ち時間
HCLK : 発振クロック
226
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 9 章 タイムベースタイマ
9.7 タイムベースタイマのプログラム例
MB90330A シリーズ
9.7
タイムベースタイマのプログラム例
タイムベースタイマのプログラム例を示します。
■ タイムベースタイマのプログラム例
● 処理仕様
2 12/HCLK( 発振クロック ) のインターバル割込みを繰り返し発生します。この場合の
インターバル時間は , 約 0.68 ms (6 MHz 動作時 ) となります。
● コーディング例
ICR14
EQU
0000BEH
; タイムベースタイマ用割込み制御レジスタ
TBTC
EQU
0000A9H
; タイマベースタイマ制御レジスタ
TBOF
EQU
TBTC:3
; 割込み要求フラグビット
;---------- メインプログラム ---------------------------------------------------CODE
CSEG
START:
;
; スタックポインタ (SP) などは初期化済み
:
; とする
AND
CCR,
#0BFH
; 割込み禁止
MOV
I:ICR14,
#00H
; 割込みレベル 0( 最も高い )
MOV
I:TBTC,
#10010000B
; 上位 3 ビットは固定
; 割込み許可 , TBOF クリア
; カウンタクリア
; インターバル時間 2 12/HCLK 選択
MOV
ILM,
#07H
; PS 内 ILM をレベル 7 に設定
OR
CCR,
#40H
; 割込み許可
LOOP:
MOV
A, #00H
; 無限ループ
MOV
A, #01H
BRA
LOOP
;---------- 割込みプログラム ---------------------------------------------------WARI:
CLR ビット BOF
;
:
;
ユーザ処理
;
:
RETI
CODE
; 割込み要求フラグをクリア
; 割込みから復帰
ENDS
;---------- ベクタ設定 ----------------------------------------------------------
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
227
第 9 章 タイムベースタイマ
9.7 タイムベースタイマのプログラム例
VECT
VECT
CSEG
ABS=0FFH
ORG
0FF6CH
DSL
WARI
ORG
0FFDCH
DSL
START
DB
00H
; 割込みベクタを設定
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
228
MB90330A シリーズ
START
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 10 章
ウォッチドッグタイマ
この章では , ウォッチドッグタイマの機能と動作に
ついて説明します。
10.1 ウォッチドッグタイマの概要
10.2 ウォッチドッグタイマ制御レジスタ (WDTC)
10.3 ウォッチドッグタイマの構成
10.4 ウォッチドッグタイマの動作
10.5 ウォッチドッグタイマ使用上の注意
10.6 ウォッチドッグタイマのプログラム例
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
229
第 10 章 ウォッチドッグタイマ
10.1 ウォッチドッグタイマの概要
10.1
MB90330A シリーズ
ウォッチドッグタイマの概要
ウォッチドッグタイマは , タイムベースタイマまたは時計タイマの出力をカウント
クロックとする 2 ビットのカウンタで , 起動後 , 一定時間内にクリアされない場合
CPU をリセットします。
■ ウォッチドッグタイマ機能
ウォッチドッグタイマは , プログラム暴走対策用のカウンタです。一度起動すると一定
時間内で定期的にクリアし続ける必要があります。プログラムが無限ループに陥るな
どして , 一定時間以上クリアされない場合 , CPU に対してウォッチドッグリセットを発
生します。ウォッチドッグタイマのインターバル時間は , 表 10.1-1 に示すように ,
ウォッチドッグタイマ制御レジスタ (WDTC) の WT1, WT0 ビットで設定できます。
ウォッチドッグタイマがクリアされない場合 , 最小時間∼最大時間の間にウォッチ
ドッグリセットが発生します。この表の最小時間内にカウンタをクリアしてください。
表 10.1-1 ウォッチドッグタイマのインターバル時間
WT1
WT0
WDCS
& SCM
インターバル時間
クロックサイクル数
最小 *
最大 *
0
0
1
約 2.39 ms
約 3.07 ms
(2 14 ± 2 11)/ HCLK サイクル
0
1
1
約 9.56 ms
約 12.29 ms
(2 16 ± 2 13)/ HCLK サイクル
1
0
1
約 38.23 ms
約 49.15 ms
(2 18 ± 2 15)/ HCLK サイクル
1
1
1
約 305.83 ms
約 393.22 ms
(2 21 ± 2 18)/ HCLK サイクル
0
0
0
約 0.448 s
約 0.576 s
(2 12 ± 2 9)/ SCLK サイクル
0
1
0
約 3.584 s
約 4.608 s
(2 15 ± 2 12)/ SCLK サイクル
1
0
0
約 7.168 s
約 9.216 s
(2 16 ± 2 13)/ SCLK サイクル
1
1
0
約 14.336 s
約 18.432 s
(2 17 ± 2 14)/ SCLK サイクル
*
: 発振クロック (HCLK) 6 MHz, サブクロック (SCLK) 32 kHz の 4 分周 (=8 kHz) 動作時の値です。
ウォッチドッグタイマインターバル時間の最大 , 最小および発振クロックサイクル数は , クリアの
タイミングで決まります。インターバル時間は , カウントクロック ( タイムベースタイマの供給ク
ロック ) 周期の 3.5 ∼ 4.5 倍になります。ウォッチドッグタイマインターバル時間については ,
「 10.4 ウォッチドッグタイマの動作 」を参照してください。
230
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 10 章 ウォッチドッグタイマ
10.1 ウォッチドッグタイマの概要
<注意事項>
ウォッチドッグカウンタは , タイムベースタイマの桁上り信号をカウントする 2 ビットカ
ウンタによって構成されています。したがって , タイムベースタイマがクリアされると ,
ウォッチドッグリセットの発生時間が , 設定した時間より長くなることがあります。
<参考>
ウォッチドッグタイマは起動されると , パワーオン , ウォッチドッグによるリセットで初
期化され , 停止状態になります。また , 外部端子によるリセット , ソフトウェアリセット ,
ウォッチドッグタイマ制御レジスタのウォッチドッグ制御ビット (WTE) への書込み , ス
リープモードへの遷移およびストップモードへの遷移 , 時計モードへの遷移でウォッチ
ドッグカウンタはクリアされますが , ウォッチドッグタイマは起動したままです。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
231
第 10 章 ウォッチドッグタイマ
10.2 ウォッチドッグタイマ制御レジスタ (WDTC)
MB90330A シリーズ
ウォッチドッグタイマ制御レジスタ (WDTC)
10.2
ウォッチドッグタイマ制御レジスタ (WDTC) は , ウォッチドッグタイマの起動 , クリ
ア , およびリセット要因の表示を行うレジスタです。
■ ウォッチドッグタイマ制御レジスタ (WDTC)
図 10.2-1 にウォッチドッグタイマ制御レジスタ (WDTC) を , 表 10.2-1 に WDTC レジス
タの各ビットの機能について説明します。
図 10.2-1 ウォッチドッグタイマ制御レジスタ (WDTC) のビット構成
アドレス
0000A8H
bit15
bit8 bit7
(TBTC)
WT1
bit6
bit5
bit4
PONR
‐
WRST
R
‐
R
WT0
ERST
bit3
bit2
SRST
R
R
bit1
bit0
WTE
WT1
WT0
W
W
W
初期値
X-XXX111B
インターバル時間選択ビット(HCLK:6MHz,SCLK:32kHz動作時)
インターバル時間
WDCS & SCM
発振クロックサイクル数
最小
最大
0
0
1
約2.39ms
約3.07ms
(214±211 )/HCLKサイクル
0
1
1
1
0
1
1
1
1
約9.56ms
約38.23ms
約305.83ms
約12.29ms
約49.15ms
約393.22ms
(216±213 )/HCLKサイクル
(218±215 )/HCLKサイクル
(221±218 )/HCLKサイクル
0
0
0
約0.448s
約0.576s
0
1
0
1
0
0
約3.584s
約7.168s
約4.608s
約9.216s
(212±29 )/SCLKサイクル
(215±212 )/SCLKサイクル
(216±213 )/SCLKサイクル
1
1
0
約14.336s
約18.432s
(217±214 )/SCLKサイクル
HCLK:発振クロック
SCLK:サブクロック
ウォッチドッグ制御ビット
WTE
・ウォッチドッグタイマを起動
(リセット後1回目の書込みのとき)
・ウォッチドッグタイマをクリア
(リセット後2回目以降の書込みのとき)
動作なし
0
1
リセット要因ビット
R
W
X
*
:リードオンリ
:ライトオンリ
:不定
:未定義
:前の状態を保持
:初期値
リセット要因
PONR
WRST
ERST
SRST
1
X
X
X
パワーオン
*
1
*
*
ウォッチドッグタイマ
*
*
1
*
外部端子(RST="L"入力)
*
*
*
1
RSTビット(ソフトウェアリセット)
インターバル時間はカウントクロック ( タイムベースタイマの出力値 ) 周期の 3.5 ∼ 4.5
倍となります。詳細は「 10.4 ウォッチドッグタイマの動作 」を参照してください。
232
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 10 章 ウォッチドッグタイマ
10.2 ウォッチドッグタイマ制御レジスタ (WDTC)
MB90330A シリーズ
表 10.2-1 ウォッチドッグタイマ制御レジスタ (WDTC) の各ビットの機能
ビット名
機能
bit7 ,
bit5
∼
bit3
PONR
WRST
ERST
SRST
リセット要因ビット
bit6
予約
予約
bit2
bit1 ,
bit0
CM44-10129-6
WTE
WT1
WT0
・リセット要因を示す読出し専用ビットです。各リ
セット要因が発生すると, これらのビットが"1"に
セットされます。
・PONR, WRST, ERST, SRST ビットは , WDTC レジ
スタの読出し動作後に , すべて "0" にクリアされ
ます。
・パワーオン時は , PONR ビット以外のビットの内
容は保証されません。したがって, PONRビットが
"1" の場合はこれ以外のビットの内容を無視する
ようにしてください。
・読出し値は不定です。
・書込みは , 動作に影響ありません。
ウォッチドッグ
制御ビット
・"0" を書き込むと , ウォッチドッグタイマを起動
( リセット後 1 回目の書込み ) または 2 ビットカウ
ンタをクリア ( リセット後 2 回目以降の書込み )
します。
・"1" の書込みでは , 動作に影響はありません。
インターバル時間選
択ビット
・ウォッチドッグタイマのインターバル時間を選択
するビットです。
・クロックモードとしてサブクロックモードが選択
されている ( クロック選択レジスタ (CKSCR) のサ
ブクロック表示ビット (SCM) が "0") または時計タ
イマ制御レジスタ (WTC) により , ウォッチドッグ
タイマのクロックソースが時計タイマになってい
る場合 ( ウォッチドッグタイマクロックソース選
択ビット (WDCS) が "0") と , クロックモードとし
てメインクロックモードまたは PLL クロックモー
ドが選択されていて , かつ WTC の WDCS ビット
が "1" の場合で , インターバル時間は図 10.2-1 の
ように異なります。
・ウォッチドッグタイマの起動時のデータのみが有
効です。ウォッチドッグタイマ起動時後の書込み
データは , 無視されます。
・WT1, WT0 ビットは , 書込み専用です。
FUJITSU MICROELECTRONICS LIMITED
233
第 10 章 ウォッチドッグタイマ
10.3 ウォッチドッグタイマの構成
10.3
MB90330A シリーズ
ウォッチドッグタイマの構成
ウォッチドッグタイマは , 次の 5 つのブロックで構成されています。
• カウントクロックセレクタ
• ウォッチドッグカウンタ (2 ビットカウンタ )
• ウォッチドッグリセット発生回路
• カウンタクリア制御回路
• ウォッチドッグタイマ制御レジスタ (WDTC)
■ ウォッチドッグタイマのブロックダイヤグラム
図 10.3-1 に , ウォッチドッグタイマのブロックダイヤグラムを示します。
図 10.3-1 ウォッチドッグタイマのブロックダイヤグラム
ウォッチドッグタイマ制御レジスタ(WDTC)
PONR
WRST ERST SRST WTE
WT1
WT0
時計タイマ制御レジスタ(WTC)のWDCSビット
クロック選択レジスタ(CKSCR)のSCMビット
2/
リセットの発生
時計モード開始
タイムベースタイマモード開始
スリープモード開始
ホールド状態開始
μDMAC起動*
ウォッチドッグタイマ
カウンタ
クリア
制御回路
ストップモード開始
CLR
と起動
ウォッチ
ドッグ
カウンタ
カウント
クロック
セレクタ
CLR
オーバ
フロー ウォッチドッグ
リセット
発生回路
内部リセット
発生回路へ
CLR
4/
クリア
4/
(タイムベースタイマカウンタ)
HCLKの2分周
SCLK
×21 ×22
×28 ×29 ×210 ×211 ×212 ×213 ×214 ×215 ×216 ×217 ×218
×21 ×22
×28 ×29 ×210 ×211 ×212 ×213 ×214 ×215 ×216 ×217 ×218
HCLK :発振クロック
SCLK :サブクロック
*:ホールド状態とは,外部バス動作モード時のHRQ(ホールド要求)入力時,ツールホールド入力時(MB90V330Aのみ)となります。
● カウントクロックセレクタ
ウォッチドッグタイマのカウントクロックを , 4 種類のタイムベースタイマ出力と 4 種
類の時計タイマ出力から選択する回路です。これによりウォッチドッグリセットの発
生時間が決まります。
● ウォッチドッグカウンタ (2 ビットカウンタ )
タイムベースタイマ出力をカウントクロックとする 2 ビットのアップカウンタです。
● ウォッチドッグリセット発生回路
ウォッチドッグカウンタのオーバフローによってリセット信号を発生します。
234
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 10 章 ウォッチドッグタイマ
10.3 ウォッチドッグタイマの構成
MB90330A シリーズ
● カウンタクリア制御回路
ウォッチドッグカウンタのクリアと , カウンタの動作 / 停止を制御します。
表 10.3-1 ウォッチドッグタイマクリア条件
動作
モード
クリア
リセット
WDTC
レジスタ
WTE=0
ストップ
モード
スリープ
モード
タイム
ベース
タイマ
モード
時計
モード
ホールド
μDMAC
遷移時
書込み時
遷移時
遷移時
遷移時
遷移時
遷移時
起動時
動作
( クリア
直後から
カウント
開始 )
動作
( クリア
直後から
カウント
開始 )
動作
( クリア
直後から
カウント
開始 )
停止
( クリア状
態を保持 )
停止
( クリア状
態を保持 )
モード中の
ウォッチ
ドッグ
タイマ状態
無効
−
停止
( クリア
状態を
保持 )
モード中の
ウォッチ
ドッグ
リセット
発生
しない
−
発生
しない
発生
する
発生
する
発生
する
発生
しない
発生
しない
動作
動作
( クリア
状態から
カウント
再開 )
動作
( カウント
を継続 )
動作
( カウント
を継続 )
動作
( カウント
を継続 )
動作
( クリア
状態から
カウント
再開 )
動作
( クリア
状態から
カウント
再開 )
モード解除 /
復帰後の
ウォッチ
ドッグ
タイマ状態
無効
● ウォッチドッグタイマ制御レジスタ (WDTC)
ウォッチドッグタイマの起動およびクリアと , リセット発生要因の保持を行います。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
235
第 10 章 ウォッチドッグタイマ
10.4 ウォッチドッグタイマの動作
MB90330A シリーズ
ウォッチドッグタイマの動作
10.4
ウォッチドッグタイマは , ウォッチドッグカウンタのオーバフローで , ウォッチドッ
グリセットを発生します。
■ ウォッチドッグタイマの動作
ウォッチドッグタイマの動作には , 図 10.4-1 に示すような設定が必要です。
図 10.4-1 ウォッチドッグタイマの設定
アドレス
0000A8H
WDTC
bit15 ... bit8 bit7
(TBTC)
PONR
bit6
-
bit5
bit4
WRST ERST
bit3
bit2
bit1
bit0
SRST
WTE
0
WT1
WT0
◎
◎
◎ : 使用ビット
- : 未使用ビット
0 : "0" を設定
● ウォッチドッグタイマの起動
• ウォッチドッグタイマ制御レジスタ(WDTC)のウォッチドッグ制御ビット(WTE)に,
リセット後1回目の"0"を書き込むとウォッチドッグタイマは起動します。この場合,
WDTC レジスタのインターバル時間選択ビット (WT1, WT0) でインターバル時間を
同時に指定します。
• ウォッチドッグタイマは起動を開始すると , パワーオン , ウォッチドッグによるリ
セット以外に止める方法はありません。
● ウォッチドッグタイマのクリア
• WTE ビットへの , 2 回目以降の "0" の書込みで , ウォッチドッグタイマの 2 ビットカ
ウンタをクリアします。インターバル時間内にカウンタがクリアされない場合 , カ
ウンタがオーバフローし , ウォッチドッグリセットが発生します。
• リセットの発生 , スリープモード , ストップモード , タイムベースタイマモードへの
遷移によって , ウォッチドッグカウンタはクリアされます。
• タイムベースタイマモードおよび時計モードへ遷移したときに , 一度ウォッチドッ
グカウンタをクリアしますが , クリア後ウォッチドッグカウンタは停止しませんの
で注意してください。
• 時計モード使用時 ( サブクロック ) は , ウォッチドッグタイマは使用しないようにし
てください。
● ウォッチドッグタイマのインターバル時間
図 10.4-2 に , ウォッチドッグタイマのクリアのタイミングとインターバル時間の関係
を示します。インターバル時間は , ウォッチドッグタイマをクリアするタイミングに
よって変化し , カウントクロック周期の 3.5 ∼ 4.5 倍の時間を要します。
236
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 10 章 ウォッチドッグタイマ
10.4 ウォッチドッグタイマの動作
MB90330A シリーズ
● リセット要因の確認
リセット後 WDTC レジスタのリセット要因ビット (PONR, WRST, ERST, SRST) を
チェックすることで , リセット要因を知ることができます。
図 10.4-2 ウォッチドッグタイマのクリアタイミングとインターバル時間
[ウォッチドッグタイマブロック図]
2ビットカウンタ
クロック a
セレクタ
2分周回路
b
2分周回路
c
リセット回路
d
リセット
信号
カウント許可とクリア
WTEビット
カウント許可
出力回路
[最大インターバル時間]カウントクロックの立上り直前にWTEビットをクリアした場合
カウントスタート
カウンタクリア
カウントクロックa
2分周値b
2分周値c
カウント許可
リセット信号d
7×(カウントクロック周期/2)
WTEビットクリア
ウォッチドッグリセット発生
[最大インターバル時間]カウントクロックの立上り直後にWTEビットをクリアした場合
カウントスタート
カウンタクリア
カウントクロックa
2分周値b
2分周値c
カウント許可
リセット信号d
9×(カウントクロック周期/2)
WTEビットクリア
CM44-10129-6
ウォッチドッグリセット発生
FUJITSU MICROELECTRONICS LIMITED
237
第 10 章 ウォッチドッグタイマ
10.5 ウォッチドッグタイマ使用上の注意
10.5
MB90330A シリーズ
ウォッチドッグタイマ使用上の注意
ウォッチドッグタイマ使用時の注意点を示します。
■ ウォッチドッグタイマ使用上の注意
● ウォッチドッグタイマの停止
ウォッチドッグタイマは一度起動すると , パワーオン , ウォッチドッグ外部リセットが
発生するまで停止できません。
● インターバル時間
インターバル時間は , タイムベースタイマの桁上り信号をカウントクロックとしてい
るため , タイムベースタイマのクリアによって , ウォッチドッグタイマのインターバル
時間が設定より長くなることがあります。
● インターバル時間の選択
インターバル時間は , ウォッチドッグタイマの起動時に設定が可能です。起動時以外の
書込みデータは無視されます。
● プログラム作成上の注意
メインループの中で , 繰り返しウォッチドッグタイマをクリアするようなプログラム
を作成する場合 , 割込み処理を含めたメインループの処理時間が , ウォッチドッグタイ
マのインターバル時間の最小時間以下となる必要があります。
238
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 10 章 ウォッチドッグタイマ
10.6 ウォッチドッグタイマのプログラム例
MB90330A シリーズ
10.6
ウォッチドッグタイマのプログラム例
ウォッチドッグタイマのプログラム例を示します。
■ ウォッチドッグタイマのプログラム例
● 処理仕様
• メインプログラムのループの中で毎回ウォッチドッグタイマをクリアします。
• メインループは , ウォッチドッグタイマの最小インターバル時間内に 1 周する必要
があります。
● コーディング例
WDTC
EQU
0000A8H
; ウォッチドッグタイマ制御レジスタ
WTE
EQU
WDTC:2
; ウォッチドッグ制御ビット
;---------- メインプログラム --------------------------------------------------CODE
CSEG
START:
;
; スタックポインタ (SP) などは初期化済み
:
とする
;
WDG_START:
MOV
WDTC, #00000011B ; ウォッチドッグタイマの起動
インターバル時間2 21±2 18サイクルを選択
;
;---------- メインループ ------------------------------------------------------MAIN:
CLRB
I:WTE
;
:
;
ユーザ処理
;
:
定期的に 2 ビットのクリア
JMP
MAIN
; ウォッチドッグタイマのインターバル時間
より短い時間でループする
;
CODE
; ウォッチドッグタイマのクリア
ENDS
;---------- ベクタ設定 --------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FFDCH
DSL
START
DB
00H
; シングルチップモードに設定
ENDS
END
CM44-10129-6
; リセットベクタ設定
START
FUJITSU MICROELECTRONICS LIMITED
239
第 10 章 ウォッチドッグタイマ
10.6 ウォッチドッグタイマのプログラム例
240
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 11 章
時計タイマ
この章では , 時計タイマの概要 , レジスタの構成 /
機能および時計タイマの動作について説明します。
11.1 時計タイマの概要
11.2 時計タイマの構成
11.3 時計タイマ制御レジスタ (WTC)
11.4 時計タイマの動作
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
241
第 11 章 時計タイマ
11.1 時計タイマの概要
11.1
MB90330A シリーズ
時計タイマの概要
時計タイマは , サブクロックを使用した 15 ビットのタイマです。インターバルな割
込みを発生させることができます。また , 設定により , ウォッチドッグタイマのク
ロックソースとしても使用できます。
■ 時計タイマの機能
時計タイマは 15 ビットのタイマと , インターバルな割込みを制御する回路から構成さ
れています。
時計タイマは , クロック選択レジスタ (CKSCR) の PLL クロック選択ビット (MCS) およ
びサブクロック選択ビット (SCS) と関係なく , サブクロックを使用します。
時計タイマのインターバル時間は表 11.1-1 に示すとおりです。
表 11.1-1 時計タイマのインターバル時間
WTC2
WTC1
WTC0
インターバル時間 *
0
0
0
31.25 ms
0
0
1
62.5 ms
0
1
0
125 ms
0
1
1
250 ms
1
0
0
500 ms
1
0
1
1.000 s
1
1
0
2.000 s
1
1
1
設定禁止
*: サブクロック 32 kHz の 4 分周 (=8 kHz)
242
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 11 章 時計タイマ
11.2 時計タイマの構成
MB90330A シリーズ
11.2
時計タイマの構成
時計タイマは , 次の 4 つのブロックから構成されています。
• インターバルセレクタ
• 時計カウンタ
• 時計タイマ割込み発生回路
• 時計タイマ制御レジスタ (WTC)
■ 時計タイマのブロックダイヤグラム
図 11.2-1 に , 時計タイマのブロックダイヤグラムを示します。
図 11.2-1 時計タイマのブロックダイヤグラム
時計タイマ制御レジスタ(WTC)
WDCS
SCE
WTIE
WTOF
WTR
WTC2
WTC1
WTC0
クリア
時計カウンタ
サブクロック
210
213
214
215
28
29
210
211
212
213
214
インターバル
セレクタ
割込み
発生回路
時計タイマ
割込み
ウォッチドッグ
タイマへ
● 時計カウンタ
サブクロックをクロックソースとする 15 ビットのアップカウンタです。
● インターバルセレクタ
時計タイマ割込みのインターバルを 7 種類から選択するセレクタです。
● 割込み発生回路
時計タイマのインターバル割込みを発生させます。
● 時計タイマ制御レジスタ (WTC)
時計タイマの動作 , 時計タイマ割込みの制御およびウォッチドッグタイマのクロック
ソースを指定します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
243
第 11 章 時計タイマ
11.3 時計タイマ制御レジスタ (WTC)
11.3
MB90330A シリーズ
時計タイマ制御レジスタ (WTC)
時計タイマ制御レジスタ (WTC) は , 時計タイマの動作を制御します。また , イン
ターバル割込みの時間を制御します。
■ 時計タイマ制御レジスタ (WTC) の構成
図 11.3-1 に時計タイマ制御レジスタ (WTC) の構成を , 表 11.3-1 に時計タイマ制御レジ
スタ (WTC) の各ビットの機能について説明します。
図 11.3-1 時計タイマ制御レジスタ (WTC) のビット構成
アドレス
bit15
0000AAH
bit8
bit7
bit6
WDCS
SCE
R/W
R
bit5
bit4
bit3
bit2
bit1
WTIE
WTOF
WTR
WTC2
WTC1 WTC0
R/W
R/W
R/W
R/W
WTC2
R/W
時計タイマインターバル選択ビット
インターバル時間
(サブクロック32kHz時)
31.25ms
62.5ms
125ms
250ms
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
500ms
1.000s
2.000s
1
1
1
設定禁止
0
時計カウンタクリアビット
時計タイマのカウンタを全ビット"0"にクリアします。
1
影響なし
0
時計タイマ割込み要求フラグビット
割込み要求は発生していません。
1
割込み要求が発生しています。
WTOF
WTIE
0
1
SCE
0
1
WDCS
244
WTC0
初期値
10001000B
0
WTR
R/W :リード・ライト可能
R :リードオンリ
:初期値
WTC1
R/W
bit0
0
1
時計タイマインターバル割込み許可ビット
割込み禁止
割込み許可
サブクロック発振安定待ち時間終了ビット
発振安定待ち時間です。
発振安定待ち時間が終了しています。
ウォッチドッグタイマクロックソース選択ビット
時計タイマのクロックを選択します。
タイムベースタイマのクロックを選択します。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 11 章 時計タイマ
11.3 時計タイマ制御レジスタ (WTC)
MB90330A シリーズ
表 11.3-1 時計タイマ制御レジスタ (WTC) の各ビットの機能
ビット名
bit7
機能
WDCS:
ウォッチドッグタイマ
クロックソース
選択ビット
・ウォッチドッグタイマのクロックソースを選択する
ビットです。
・"0" のとき , 時計タイマのクロックを選択し , "1" のとき ,
タイムベースタイマのクロックを選択します。
・リセットにより "1" に初期化します。
SCE:
サブクロック発振安定
待ち時間終了ビット
・サブクロックの発振安定待ち時間が終了したことを示
すビットです。
・"0" のとき , 発振安定待ち時間であることを示します。
・サブクロックの発振安定待ち時間は , 2 14 サブクロック
サイクル固定です。
・パワーオンリセットおよびストップ時に "0" に初期化
します。
WTIE:
時計タイマ
インターバル
割込み許可ビット
・時計タイマによるインターバル割込みを許可するビッ
トです。
・"1" のとき割込みを許可し , "0" のとき割込みを禁止しま
す。
・リセットにより "0" に初期化します。
WTOF:
時計タイマ割込み要求
フラグビット
・時計タイマの割込み要求が発生していることを示す
ビットです。
・WTIE ビットが "1" のときこのビットが "1" になると , 割
込み要求を発生します。
・WTC2 ∼ WTC0 ビットで設定されたインターバルごとに
"1" にセットされます。
・ "0" の書込み , ストップモードへの遷移およびリセット
により "0" にクリアされます。
・"1" 書込みは意味をもちません。
WTR:
時計カウンタ
クリアビット
・時計タイマのカウンタを全ビット "0" にクリアするビッ
トです。
・"0" を書き込むことにより , 時計タイマカウンタを "0" に
クリアします。
・"1" 書込みは意味をもちません。
・常に "1" が読み出されます。
WTC2, WTC1, WTC0:
時計タイマ
インターバル
選択ビット
・時計タイマのインターバルを設定するビットです。
・リセットにより "000B" に初期化されます。
bit6
bit5
bit4
bit3
bit2
∼
bit0
CM44-10129-6
・WTC2, WTC1, WTC0 ビットを変更するときは , WTOF
ビットも同時にクリアしてください。
FUJITSU MICROELECTRONICS LIMITED
245
第 11 章 時計タイマ
11.4 時計タイマの動作
11.4
MB90330A シリーズ
時計タイマの動作
時計タイマは , ウォッチドッグタイマのクロックソース , サブクロックの発振安定待
ちのためのタイマ , 一定周期で割込みを発生するインターバルタイマの機能があり
ます。
■ 時計カウンタ
時計カウンタはサブクロックをカウントする 15 ビットのカウンタにより構成され , サ
ブクロックが入力されている間 , 常にカウント動作を続けます。
● 時計カウンタのクリア
時計カウンタのクリアは , パワーオンリセット , ストップモードへの遷移および時計タ
イマ制御レジスタ (WTC) の時計カウンタクリアビット (WTR) への "0" 書込みにより行
われます。
<注意事項>
•
時計タイマの出力を使用している, ウォッチドッグタイマとインターバル割込みは, 時
計カウンタのクリアにより動作に影響を与えます。
•
時計タイマ制御レジスタ (WTC) の WTR ビットへの "0" 書込みにより時計タイマをク
リアする場合は , WTIE ビットに "0" を設定し , 時計タイマの割込みを禁止した状態で
行ってください。また , 割込みを許可する前に , WTOF フラグへの "0" 書込みによる割
込み要求のクリアを行ってください。
■ 時計タイマのインターバル割込み機能
時計カウンタの桁上り信号により一定周期で割込みを発生します。
● インターバル時間の指定
WTC レジスタの (WTC2, WTC1, WTC0) ビットにより , インターバル時間を指定できま
す。
● 時計タイマ割込みの発生
WTC2, WTC1, WTC0 ビットで設定されるインターバル時間ごとに時計タイマ割込み要
求フラグビット (WTOF) をセットします。このとき , 時計タイマインターバル割込み許
可ビット (WTIE) が "1" に設定されていて , 割込みが許可されていれば , 時計タイマ割
込みを発生します。
WTOF ビットのセットは , 最後に時計タイマがクリアされた時間を基準にして行われ
ます。
ストップモードに遷移すると , 時計タイマは , サブクロックの発振安定時間待ちのタイ
マとして使用されるため , WTOF ビットはモード遷移と同時にクリアされます。
246
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 11 章 時計タイマ
11.4 時計タイマの動作
■ ウォッチドッグタイマのクロックソースの指定機能
WTC レジスタのウォッチドッグタイマクロックソース選択ビット (WDCS) により ,
ウォッチドッグタイマのクロックソースを指定できます。ただし , クロックモードがサ
ブクロックモードの場合は , WDCS ビットによらず , 時計タイマのカウンタ値が使用さ
れます。
■ サブクロックの発振安定時間待ち機能
パワーオンリセット , ストップモードからの復帰時は , 時計タイマは , サブクロックの
発振安定時間待ちタイマとして機能します。サブクロックの発振安定待ち時間はサブ
クロックの 2 14 サイクル固定です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
247
第 11 章 時計タイマ
11.4 時計タイマの動作
248
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章
16 ビット入出力タイマ
この章では , 16 ビット入出力タイマの概要 , レジ
スタの構成 / 機能および 16 ビット入出力タイマの
動作について説明します。
12.1 16 ビット入出力タイマの概要
12.2 16 ビット入出力タイマのレジスタ
12.3 16 ビット入出力タイマの動作
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
249
第 12 章 16 ビット入出力タイマ
12.1 16 ビット入出力タイマの概要
12.1
MB90330A シリーズ
16 ビット入出力タイマの概要
16 ビット入出力タイマは , 16 ビットフリーランタイマ 1 本 , アウトプットコンペア
4 本 , インプットキャプチャ 4 本のモジュールから構成されています。本機能を用い
ることにより , 16 ビットフリーランタイマをベースに 4 本の独立した波形出力が可
能であり , 入力パルス幅測定 , 外部クロック周期の測定が可能となります。
■ 16 ビット入出力タイマの構成および機能
16 ビット入出力タイマを構成している 16 ビットフリーランタイマ , アウトプットコン
ペアおよびインプットキャプチャの機能は , 以下のとおりです。
● 16 ビットフリーランタイマ ( × 1)
16 ビットフリーランタイマは 16 ビットのアップカウンタ , コントロールレジスタ , プ
リスケーラから構成されています。タイマカウンタの出力値は, インプットキャプチャ,
アウトプットコンペアの基本時間 ( ベースタイマ ) として使用されます。カウンタ動作
のためのクロックは , 8 種類から選択できます (φ: マシンクロック ) 。
• 内部クロック 8 種類 (φ. φ/2. φ/4. φ/8. φ/16. φ/32. φ/64. φ/128)
• 基本になるマシンクロックは , 内部クロックと外部クロック (FRCK) のいずれかを
選択できます。
割込みは , カウンタ値のオーバフロー, コンペアクリアレジスタとのコンペア一致によ
り発生できます ( コンペア一致はモード設定が必要です )。
カウント値は , リセット , ソフトウェアクリア , コンペアクリアレジスタとのコンペア
一致により "0000H" に初期化できます。
● アウトプットコンペア ( × 4)
アウトプットコンペアは , 4 本の 16 ビットコンペアレジスタ , コンペア出力用ラッチお
よびコントロールレジスタによって構成されています。16 ビットフリーランタイマ値
とコンペアレジスタ値が一致したとき出力レベルを反転するとともに , 割込みを発生
できます。
• 4 本のコンペアレジスタを独立して動作させます。各コンペアレジスタに対応した
出力端子と割込みフラグがあります。
• 2 本のコンペアレジスタをペアにして出力端子を制御できます。
• 出力端子の初期値を設定できます。
• 割込みは , コンペア一致により発生可能です。
250
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.1 16 ビット入出力タイマの概要
MB90330A シリーズ
● インプットキャプチャ ( × 4)
インプットキャプチャは, 独立した4本の外部入力端子と対応したキャプチャレジスタ,
コントロールレジスタから構成されています。外部入力端子より入力された信号の任
意エッジを検出することにより , 16 ビットフリーランタイマ値をキャプチャレジスタ
に保持し , 同時に割込みを発生できます。
• 外部入力信号のエッジを選択可能です。立上りエッジ , 立下りエッジの両エッジか
ら選択できます。
• 4 本のインプットキャプチャは独立して動作可能です。
割込みは , 外部入力信号の有効エッジにより発生可能です。インプットキャプチャは ,
割込みにより μDMAC を起動できます。
■ ブロックダイヤグラム
図 12.1-1 に , 16 ビット入出力タイマのブロックダイヤグラムを示します。
図 12.1-1 16 ビット入出力タイマのブロックダイヤグラム
コントロールロジック
コンペアクリアレジスタ
16ビットフリーランタイマ
クリア
各ブロックへ
割込み
16ビットフリーランタイマ
16ビットタイマ
アウトプットコンペア0
F2MC-16LX バス
コンペアレジスタ0
TQ
OUT0
TQ
OUT1
TQ
OUT2
TQ
OUT3
アウトプットコンペア1
コンペアレジスタ1
アウトプットコンペア2
コンペアレジスタ2
アウトプットコンペア3
コンペアレジスタ3
インプットキャプチャ0
キャプチャレジスタ0
エッジ選択
INO
エッジ選択
IN1
エッジ選択
IN2
エッジ選択
IN3
インプットキャプチャ1
キャプチャレジスタ1
インプットキャプチャ2
キャプチャレジスタ2
インプットキャプチャ3
キャプチャレジスタ3
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
251
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
12.2
MB90330A シリーズ
16 ビット入出力タイマのレジスタ
16 ビット入出力タイマのレジスタは , 大きく以下のように分類されます。
• 16 ビットフリーランタイマ
• 16 ビットアウトプットコンペア
• 16 ビットインプットキャプチャ
レジスタの構成および機能について説明します。
■ 16 ビット入出力タイマのレジスタ構成
以下に , 16 ビット入出力タイマのレジスタ構成を示します。
● 16 ビットフリーランタイマ
図 12.2-1 16 ビットフリーランタイマの構成
bit 15
00008BH, 00008AH
0
CPCLR
コンペアクリアレジスタ
000087H, 000086H
TCDT
タイマカウンタデータレジスタ
000089H, 000088H
TCCS
タイマコントロールステータスレジスタ
● 16 ビットアウトプットコンペア
図 12.2-2 16 ビットアウトプットコンペアの構成
bit 15
007919H, 007918H
00791BH, 00791AH
00791DH, 00791CH
00791FH, 00791EH
000055H, 000054H
000057H, 000056H
0
OCCP0
OCCP1
OCCP2
OCCP3
OCS1
OCS3
アウトプットコンペアレジスタ
OCS0
OCS2
アウトプットコンペア
コントロールレジスタ
● 16 ビットインプットキャプチャ
図 12.2-3 16 ビットインプットキャプチャの構成
bit 15
007911H, 007910H
007913H, 007912H
007915H, 007914H
007917H, 007916H
000053H, 000052H
252
0
IPCP0
IPCP1
IPCP2
IPCP3
ICS23
インプットキャプチャデータレジスタ
ICS01
インプットキャプチャ
コントロールステータスレジスタ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
16 ビットフリーランタイマ
12.2.1
16 ビットフリーランタイマは , 16 ビットアップダウンカウンタ , コントロールス
テータスレジスタから構成されています。
タイマのカウンタ値は , インプットキャプチャ , アウトプットコンペアの基本時間
( ベースタイマ ) として使用されます。
• カウンタ動作のためのクロックは , 8 種類から選択可能です。
• カウンタオーバフロー割込みを発生できます。
• モード設定により , アウトコンペアのコンペアクリアレジスタの値との一致によ
るカウンタの初期化が可能です。
■ 16 ビットフリーランタイマのレジスタ一覧
図 12.2-4 に , 16 ビットフリーランタイマのレジスタ一覧を示します。
図 12.2-4 16 ビットフリーランタイマのレジスタ一覧
bit
00008BH
00008AH
bit
000087H
bit
000086H
bit
15
14
13
12
11
10
9
CL15
CL14
CL13
CL12
CL11
CL10
CL09
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
CL07
CL06
CL05
CL04
CL03
CL02
CL01
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
T15
T14
T13
T12
T11
T10
T09
T08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
T07
T06
T05
T04
T03
T02
T01
T00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
-
-
MSI2
MSI1
MSI0
ICLR
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
IVF
IVFE
CLR
CLK2
CLK1
R/W
R/W
R/W
R/W
R/W
000089H ECKE
bit
000088H
STOP MODE
R/W
R/W
8
CPCLR
CL08 コンペアクリアレジスタ上位
R/W 初期値 XXXXXXXXB
0
CPCLR
CL00 コンペアクリアレジスタ下位
R/W 初期値 XXXXXXXXB
TCDT
タイマカウンタデータレジスタ
上位
初期値 00000000B
TCDT
タイマカウンタデータレジスタ
下位
初期値 00000000B
TCCS
ICRE タイマコントロールステータス
レジスタ上位
R/W 初期値 0XX00000B
0
TCCS
CLK0 タイマコントロールステータス
レジスタ下位
R/W 初期値 00000000B
R/W: リード・ライト可能
X: 不定
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
253
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
■ 16 ビットフリーランタイマのブロックダイヤグラム
図 12.2-5 に , 16 ビットフリーランタイマのブロックダイヤグラムを示します。
図 12.2-5 16 ビットフリーランタイマのブロックダイヤグラム
φ
割込み要求 #36
F2MC-16LX バス
分周器
IVF
IVFE
STOP
MODE
CLR
CLK2
CLK1
CLK0
クロック
16ビットフリーランタイマ
カウント値出力 T15~T00
16ビットコンペアクリアレジスタ
コンペア回路
ICLR
MSI2~MSI0
ICRE
割込み要求 #36
■ コンペアクリアレジスタ (CPCLR)
コンペアクリアレジスタ (CPCLR) のビット構成を , 図 12.2-6 に示します。
図 12.2-6 コンペアクリアレジスタ (CPCLR) のビット構成
bit
00008BH
bit
00008AH
15
14
13
12
11
10
9
CL15
CL14
CL13
CL12
CL11
CL10
CL09
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
CL07
CL06
CL05
CL04
CL03
CL02
CL01
R/W
R/W
R/W
R/W
R/W
R/W
R/W
8
CPCLR
CL08 コンペアクリアレジスタ上位
R/W 初期値 XXXXXXXXB
0
CPCLR
CL00 コンペアクリアレジスタ下位
R/W 初期値 XXXXXXXXB
R/W: リード・ライト可能
X: 不定
コンペアクリアレジスタ (CPCLR) は , 16 ビットフリーランタイマと比較する 16 ビッ
ト長のコンペアレジスタです。CPCLR レジスタ値は初期値不定ですので , 動作許可す
る場合は値を設定してから動作を許可してください。また , CPCLR レジスタは , ワー
ドアクセスしてください。
タイマコントロールステータスレジスタ (TCCS) の MODE ビットに "1" を設定してい
る場合は , 本レジスタ値と 16 ビットフリーランタイマ値が一致したとき , 16 ビットフ
リーランタイマ値を "0000H" にクリアします。また , レジスタ値と 16 ビットフリーラ
ンタイマ値が一致したとき , 16 ビットフリーランタイマ値を "0000H" に初期化してコ
ンペアクリア割込みフラグをセットします。コンペアクリア割込みフラグが "1" のと
き , 割込み動作を許可している場合は , CPU に対して割込み要求を行います。
254
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
■ タイマカウンタデータレジスタ (TCDT)
タイマカウンタデータレジスタ (TCDT) のビット構成を , 図 12.2-7 に示します。
図 12.2-7 タイマカウンタデータレジスタ (TCDT) のビット構成
bit
000087H
bit
000086H
15
14
13
12
11
10
9
8
T15
T14
T13
T12
T11
T10
T09
T08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
T07
T06
T05
T04
T03
T02
T01
T00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
TCDT
タイマカウンタデータレジスタ
上位
初期値 00000000B
TCDT
タイマカウンタデータレジスタ
下位
初期値 00000000B
R/W: リード・ライト可能
タイマカウンタデータレジスタ (TCDT) は , 16 ビットフリーランタイマのカウント値
を読み出すことができるレジスタです。カウント値はリセット時に "0000H" にクリア
されます。TCDT レジスタに書き込むことによって , タイマ値を設定できますが , 必ず
停止 (STOP=1) 状態で行ってください。
TCDT レジスタは , ワードアクセスしてください。16 ビットフリーランタイマの初期
化は , 次の要因で行われます。
• リセットによる初期化
• コントロールステータスのクリアビット (CLR) による初期化
• コンペアクリアレジスタとタイマカウンタ値の一致による初期化 ( モード設定必要
です )
■ タイマコントロールステータスレジスタ (TCCS)
タイマコントロールステータスレジスタ(TCCS)のビット構成を, 図 12.2-8に示します。
図 12.2-8 タイマコントロールステータスレジスタ (TCCS) のビット構成
bit
15
14
13
12
11
10
9
-
-
MSI2
MSI1
MSI0
ICLR
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
IVF
IVFE
CLR
CLK2
CLK1
R/W
R/W
R/W
000089H ECKE
bit
000088H
STOP MODE
R/W
R/W
R/W
R/W: リード・ライト可能
X: 不定
R/W
8
TCCS
ICRE タイマコントロールステータス
レジスタ上位
R/W 初期値 0XX00000B
0
TCCS
CLK0 タイマコントロールステータス
レジスタ下位
R/W 初期値 00000000B
以下に , タイマコントロールステータスレジスタ (TCCS) の各ビットの機能を説明しま
す。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
255
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
[bit15] ECKE ( 外部クロック入力許可ビット )
16 ビットフリーランタイマのカウントクロックソースが内部か外部を選択するビッ
トです。ECKE ビットに書き込んだ後すぐにクロックは変更されますので , アウト
プットコンペア , インプットキャプチャが停止状態のときに変更してください。
0
内部クロックソースを選択
1
外部端子 (FRCK) よりクロックを入力します。
[ 初期値 ]
[bit14, bit13] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
[bit12 ∼ bit10] MSI2 ∼ MSI0 ( 割込みマスク選択ビット )
コンペアクリア割込みをマスクする回数を設定するビットです。3 ビットのリロー
ドカウンタで構成され , カウンタ値が "000B" になるたびにカウント値をリロードし
ます。また , MSI2, MSI1, MSI0 レジスタ書込み時にもカウント値をロードします。
マスク回数 = 設定回数となります ( 例 : 2 回マスクし 3 回目で割込み処理をする場
合 "010B")。ただし , "000B" を設定すると , 割込み要因は , マスクされません。
[bit9] ICLR ( コンペアクリア割込みフラグビット )
コンペアクリアの割込み要求フラグです。コンペアクリアレジスタ値と 16 ビット
フリーランタイマ値がコンペア一致したときにこのビットが"1"にセットされます。
割込み要求許可ビット (bit8 の ICRE ビット ) がセットされていると , 割込みが発生
します。ICLR ビットは , "0" を書き込むことによりクリアされます。"1" の書込み
は意味を持ちません。リードモディファイライト (RMW) 系命令では , 常に "1" が読
み出されます。
0
割込み要求なし
1
割込み要求あり
[ 初期値 ]
[bit8] ICRE ( コンペアクリア割込み要求許可ビット )
コンペアクリアの割込み許可ビットです。"1" のとき , 割込みフラグ (bit9 の ICLR)
が "1" にセットされていると割込みが発生します。
0
割込み禁止
1
割込み許可
[ 初期値 ]
[bit7] IVF ( タイマオーバフロー発生フラグビット )
16 ビットフリーランタイマの割込み要求フラグです。
16 ビットフリーランタイマがオーバフローを起こしたときまたはモード設定によ
りコンペアクリアレジスタと比較結果が一致してカウンタクリアされたとき , IVF
ビットが "1" にセットされます。割込み要求許可ビット (bit5 の IVFE) がセットされ
ていると , 割込みが発生します。"0" 書込みによりクリアされます。"1" 書込みは意
味を持ちません。リードモディファイライト (RMW) 系命令では , "1" が読み出され
ます。
256
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
0
割込み要求なし
1
割込み要求あり
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
[ 初期値 ]
[bit6] IVFE ( タイマオーバフロー割込み許可ビット )
16 ビットフリーランタイマの割込み許可ビットです。"1" のとき , 書込みフラグ
(bit5 の IVF) が "1" にセットされると割込みが発生します。
0
割込み禁止
1
割込み許可
[ 初期値 ]
[bit5] STOP ( タイマ動作ストップビット )
16 ビットフリーランタイマのカウントを停止するためのビットです。"1" 書込み時
にタイマのカウントを停止し , "0" 書込み時にタイマのカウントを開始します。
0
カウント許可 ( 動作 )
1
カウント禁止 ( 停止 )
[ 初期値 ]
なお, 16ビットフリーランタイマのカウントが停止すると, アウトプットコンペア動作
も停止します。
[bit4] MODE ( クリア条件選択ビット )
16 ビットフリーランタイマの初期化条件を設定します。
"0" のときは , リセットとクリアビット (bit2 の (CLR)) でカウント値を初期化できま
す。
"1" のときは , リセットとクリアビット (bit2 の (CLR)) のほかにコンペアクリアレジ
スタの値との一致により , カウンタ値を初期化できます。
0
リセット , クリアビットによる初期化
1
リセット , クリアビット , コンペアクリアレジスタによる初期化
[ 初期値 ]
なお , カウンタ値の初期化はカウント値の変化点で行われます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
257
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
[bit3] CLR ( タイマクリアビット )
動作中の 16 ビットフリーランタイマ値を "0000H" に初期化するビットです。
"1" 書込み時にカウンタ値を "0000H" に初期化します。"0" を書き込んでも意味を持
ちません。読出し値は , 常に "0" です。カウンタ値の初期化は , カウンタ値の変化点
で行われます。
0
意味を持ちません。
1
カウンタ値を "0000H" に初期化します。
[ 初期値 ]
なお , タイマ停止中に初期化する場合は , データレジスタに "0000H" を書き込んでくだ
さい。
<注意事項>
"1"を書き込んだ後, 次のカウントクロックまでに, このビットへの"0"書込みを行うと, カ
ウンタ値の初期化は行われません。
[bit2, bit1, bit0] CLK2, CLK1, CLK0 ( カウントクロック周期選択ビット )
16 ビットフリーランタイマのカウントクロックを選択します。CLK2, CLK1, CLK0
ビットに書込み後すぐにクロックは変更されますので , アウトプットコンペア , イ
ンプットキャプチャが停止状態のときに変更してください。
CLK2
CLK1
CLK0
カウントクロック
φ=24 MHz
φ=12 MHz
φ=6 MHz
φ=3 MHz
0
0
0
φ
41.7 ns
83.3 ns
0.17 μs
0.33 μs
0
0
1
φ/2
83.3 ns
0.17 μs
0.33 μs
0.67 μs
0
1
0
φ/4
0.17 μs
0.33 μs
0.67 μs
1.33 μs
0
1
1
φ/8
0.33 μs
0.67 μs
1.33 μs
2.67 μs
1
0
0
φ/16
0.67 μs
1.33 μs
2.67 μs
5.33 μs
1
0
1
φ/32
1.33 μs
2.67 μs
5.33 μs
10.7 μs
1
1
0
φ/64
2.67 μs
5.33 μs
10.7 μs
21.3 μs
1
1
1
φ/128
5.33 μs
10.7 μs
21.3 μs
42.7 μs
258
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
アウトプットコンペア
12.2.2
アウトプットコンペアは , 16 ビットのコンペアレジスタ , コンペア出力端子部 , コン
トロールレジスタより構成されています。コンペアレジスタに設定された値と 16
ビットフリーランタイマ値が一致すると , 端子の出力レベルを反転するとともに割
込みを発生できます。
• コンペアレジスタは全部で 4 本あり , 独立して動作させることができます。
また , 設定により 2 本のコンペアレジスタを使い出力を制御できます。
• 割込みは , コンペア一致により設定できます。
■ アウトプットコンペアのレジスタ一覧
図 12.2-9 に , アウトプットコンペアのレジスタ一覧を示します。
図 12.2-9 アウトプットコンペアのレジスタ一覧
bit
ch.0 : 007919H
ch.1 : 00791BH
ch.2 : 00791DH
ch.3 : 00791FH
bit
ch.0 : 007918H
ch.1 : 00791AH
ch.2 : 00791CH
ch.3 : 00791EH
bit
ch.1 : 000055H
ch.3 : 000057H
bit
ch.0 : 000054H
ch.2 : 000056H
15
14
13
12
11
10
9
8
C15
C14
C13
C12
C11
C10
C09
C08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
C07
C06
C05
C04
C03
C02
C01
C00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
-
-
-
OTE0
OTD1
-
-
-
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
ICP1
ICP0
ICE1
ICE0
-
-
CST1
R/W
R/W
R/W
R/W
-
-
R/W
CMOD OTE1
OCCP0 ~ OCCP3
アウトプットコンペア
レジスタ上位
初期値 XXXXXXXXB
OCCP0 ~ OCCP3
アウトプットコンペア
レジスタ下位
初期値 XXXXXXXXB
OCS1/OCS3
OTD0 アウトプットコンペアコ
ントロールレジスタ上位
R/W 初期値 ---00000B
0
OCS0/OCS2
CST0 アウトプットコンペアコ
ントロールレジスタ下位
R/W 初期値 0000--00B
<注意事項>
コンペアレジスタを書き換える場合は , コンペア割込みのルーチン内で行うか , コンペア
動作禁止の状態で行い , コンペア一致と書込みが同時に発生しないようにしてください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
259
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
■ アウトプットコンペアのブロックダイヤグラム
図 12.2-10 に , アウトプットコンペアのブロックダイヤグラムを示します。
図 12.2-10 アウトプットコンペアのブロックダイヤグラム
コンペア制御
TQ
OTE0
OUTO,OUT2
OTE1
OUT1,OUT3
F2MC-16LX バス
コンペアレジスタ0,2
CMOD
16ビットタイマカウンタ値(T15~T00)
TQ
コンペア制御
コンペアレジスタ1,3
ICP1 ICP0 ICE1 ICE0
コントロール制御部
コンペア1,3 割込み#29,#31
各制御ブロック
コンペア0,2 割込み#29,#31
■ アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3)
アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) のビット構成を , 図 12.2-11 に示し
ます。
図 12.2-11 アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) のビット構成
bit
ch.0 : 007919H
ch.1 : 00791BH
ch.2 : 00791DH
ch.3 : 00791FH
bit
ch.0 : 007918H
ch.1 : 00791AH
ch.2 : 00791CH
ch.3 : 00791EH
15
14
13
12
11
10
9
8
C15
C14
C13
C12
C11
C10
C09
C08
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
C07
C06
C05
C04
C03
C02
C01
C00
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
OCCP0 ~ OCCP3
アウトプットコンペア
レジスタ上位
初期値 XXXXXXXXB
OCCP0 ~ OCCP3
アウトプットコンペア
レジスタ下位
初期値 XXXXXXXXB
アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) は , 16 ビットフリーランタイマと
比較する 16 ビット長のコンペアレジスタです。レジスタ値は初期値不定ですので , 設
定してから起動許可してください。OCCP0 ∼ OCCP3 レジスタは , ワードアクセスして
ください。OCCP0 ∼ OCCP3 レジスタ値と 16 ビットフリーランタイマ値が一致したと
き, コンペア信号が発生してアウトプットコンペア割込みフラグをセットします。また,
出力許可をしている場合は , コンペアレジスタに対応した出力レベルを反転します。
260
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
■ アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3)
アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) のビット構成を , 図 12.212 に示します。
図 12.2-12 アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) のビット構成
bit
ch.1 : 000055H
ch.3 : 000057H
bit
ch.0 : 000054H
ch.2 : 000056H
15
14
13
12
-
-
-
-
-
-
R/W
7
6
5
ICP1
ICP0
R/W
R/W
11
10
9
OTE0
OTD1
R/W
R/W
R/W
4
3
2
1
ICE1
ICE0
-
-
CST1
R/W
R/W
-
-
R/W
CMOD OTE1
8
OCS1/OCS3
OTD0 アウトプットコンペアコ
ントロールレジスタ上位
R/W 初期値 ---00000B
0
OCS0/OCS2
CST0 アウトプットコンペアコ
ントロールレジスタ下位
R/W 初期値 0000--00B
以下に , アウトプットコンペアコントロールレジスタ (OCS0 ∼ OCS3) の各ビットの機
能を説明します。
[bit15, bit14, bit13] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
[bit12] CMOD ( 出力レベル反転モードビット )
端子出力を許可した場合 (OTE1=1 OR OTE0=1) のコンペア一致における端子出力レ
ベル反転動作モードを切り換えます。
• CMOD=0 のとき ( 初期値 ) は , コンペアレジスタに対応したレベルを反転します。
- OUT0/OUT2: コンペアレジスタ 0/2 の一致によりレベルを反転します。
- OUT1/OUT3: コンペアレジスタ 1/3 の一致によりレベルを反転します。
• CMOD=1 のときは , コンペアレジスタ 0/2 は , CMOD=0 のときと同じく出力レベル
を反転しますが , コンペアレジスタ 1/3 に対応した端子 (OUT1/OUT3) の出力レベル
は , コンペアレジスタ 0/2 の一致とコンペアレジスタ 1/3 の一致の両方で出力レベル
を反転します。コンペアレジスタ 0/2 と 1/3 が同値のときは , コンペアレジスタ 1 本
のときと同じ動作をします。
- OUT0/OUT2: コンペアレジスタ 0/2 の一致によりレベルを反転します。
- OUT1/OUT3: コンペアレジスタ 1/3 または 0/2 の一致によりレベルを反転します。
[bit11, bit10] OTE1, OTE0 ( 出力許可ビット )
アウトプットコンペアの端子出力を許可するビットです。初期値は "0" です。
0
汎用ポートとして動作します。
1
アウトプットコンペア端子出力になります。
( 初期値 )
• OTE1: アウトプットコンペア 1/3 に対応
• OTE0: アウトプットコンペア 0/2 に対応
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
261
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
[bit9, bit8] OTD1, OTD0 ( 出力レベルビット )
アウトプットコンペアの端子出力を許可した場合の端子出力レベルを変更すると
きに使用します。コンペア端子出力の初期値は "0" となります。書込み時は , コン
ペア動作を停止してから行ってください。読出し時は , アウトプットコンペア端子
の出力値が読み出されます。
0
コンペア端子出力を "0" にします。
1
コンペア端子出力を "1" にします。
( 初期値 )
• OTD1: アウトプットコンペア 1/3 に対応
• OTD0: アウトプットコンペア 0/2 に対応
[bit7, bit6] ICP1, ICP0 ( コンペア一致割込みフラグビット )
アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリー
ランタイマ値が一致した場合に "1" にセットされます。割込み要求ビット (ICE1,
ICE0) が許可されているとき ICP1, ICP0 ビットがセットされると , アウトプットコ
ンペア割込みが発生します。"0" 書込みによりクリアされ , "1 書込みでは意味を持
ちません。リードモディファイ (RMW) 系では , "1" が読み出されます。
0
コンペア一致なし
1
コンペア一致あり
( 初期値 )
• ICP1: アウトプットコンペア 1/3 に対応
• ICP0: アウトプットコンペア 0/2 に対応
[bit5, bit4] ICE1, ICE0 ( コンペア一致割込み許可ビット )
アウトプットコンペアの割込み許可ビットです。ICE1, ICE0 ビットが "1" のとき割
込みフラグ (ICP1, ICP0) がセットされると , アウトプットコンペア割込みが発生し
ます。
0
アウトプットコンペア割込み禁止
1
アウトプットコンペア割込み許可
( 初期値 )
• ICE1: アウトプットコンペア 1/3 に対応
• ICE0: アウトプットコンペア 0/2 に対応
[bit3, bit2] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
262
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
[bit1, bit0] CST1, CST0 ( コンペア動作許可ビット )
16 ビットフリーランタイマとの一致動作を許可するビットです。
0
コンペア動作禁止
1
コンペア動作許可
( 初期値 )
• CST1: アウトプットコンペア 1/3 に対応
• CST0: アウトプットコンペア 0/2 に対応
コンペア動作を許可する前に , コンペアレジスタ値を設定してください。
<注意事項>
アウトプットコンペアは , 16 ビットフリーランタイマのクロックと同期させているため ,
16 ビットフリーランタイマを停止させるとコンペア動作も停止します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
263
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
12.2.3
MB90330A シリーズ
インプットキャプチャ
本モジュールは , 外部から入力された信号の立上りエッジ , 立下りエッジまたは両
エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに保持する
機能を持っています。また , エッジ検出時に割込みを発生できます。
■ インプットキャプチャ
インプットキャプチャは , インプットキャプチャレジスタ , コントロールレジスタで構
成されています。各インプットキャプチャはそれぞれ対応した外部入力端子をもって
います。
• 外部入力の有効エッジを 3 種類から選択可能です。
立上りエッジ / 立下りエッジ / 両エッジ
• 外部入力の有効エッジを検出したときに割込みを発生できます。
■ インプットキャプチャのブロックダイヤグラム
図 12.2-13 に , インプットキャプチャのブロックダイヤグラムを示します。
図 12.2-13 インプットキャプチャのブロックダイヤグラム
割込み#25
F2MC-16LX バス
ICP1 ICP0 ICE1 ICE0 EG11 EG10 EG01 EG00
インプットキャプチャデータレジスタ0
エッジ検出
IN0
インプットキャプチャデータレジスタ1
エッジ検出
IN1
インプットキャプチャデータレジスタ2
エッジ検出
IN2
インプットキャプチャデータレジスタ3
エッジ検出
IN3
16ビットタイマカウンタ値(T15~T00)
ICP3 ICP2 ICE3 ICE2 EG31 EG30 EG21 EG20
割込み#27
264
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
■ インプットキャプチャのレジスタ一覧
図 12.2-14 に , インプットキャプチャのレジスタ一覧を示します。
図 12.2-14 インプットキャプチャのレジスタ一覧
bit
15
14
13
12
11
10
9
CP15
CP14
CP13
CP12
CP11
CP10
CP09
ch.2 : 007915H
ch.3 : 007917H
R
R
R
R
R
R
R
bit
7
6
5
4
3
2
1
CP07
CP06
CP05
CP04
CP03
CP02
CP01
ch.2 : 007914H
ch.3 : 007916H
R
R
R
R
R
R
R
bit
15
14
13
12
11
10
9
ICP3
ICP2
ICE3
ICE2
EG31
EG30
EG21
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
ICP1
ICP0
ICE1
ICE0
EG11
EG10
EG01
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ch.0 : 007911H
ch.1 : 007913H
ch.0 : 007910H
ch.1 : 007912H
000053H
bit
000052H
8
IPCP0 ~ IPCP3
CP08 インプットキャプチャ
データレジスタ上位
R
初期値 XXXXXXXXB
0
IPCP0 ~ IPCP3
CP00 インプットキャプチャ
データレジスタ下位
R
初期値 XXXXXXXXB
8
ICS23
インプットキャプチャ
EG20 コントロールステータス
レジスタ 23
R/W 初期値 00000000B
0
ICS01
インプットキャプチャ
EG00 コントロールステータス
レジスタ 01
R/W 初期値 00000000B
■ インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3)
インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) のビット構成を , 図 12.2-15 に
示します。
図 12.2-15 インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) のビット構成
bit
ch.0 : 007911H
ch.1 : 007913H
ch.2 : 007915H
ch.3 : 007917H
bit
ch.0 : 007910H
ch.1 : 007912H
ch.2 : 007914H
ch.3 : 007916H
15
14
13
12
11
10
9
CP15
CP14
CP13
CP12
CP11
CP10
CP09
R
R
R
R
R
R
R
7
6
5
4
3
2
1
CP07
CP06
CP05
CP04
CP03
CP02
CP01
R
R
R
R
R
R
R
8
IPCP0 ~ IPCP3
CP08 インプットキャプチャ
データレジスタ上位
R
初期値 XXXXXXXXB
0
IPCP0 ~ IPCP3
CP00 インプットキャプチャ
データレジスタ下位
R
初期値 XXXXXXXXB
インプットキャプチャデータレジスタ (IPCP0 ∼ IPCP3) は , 対応した外部端子入力波形
の有効エッジを検出したとき 16 ビットフリーランタイマ値を保持するレジスタです。
IPCP0 ∼ IPCP3 レジスタは , ワードアクセスをしてください。IPCP0 ∼ IPCP3 レジスタ
に書き込むことはできません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
265
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
■ インプットキャプチャコントロールステータスレジスタ (ICS01, ICS23)
インプットキャプチャコントロールステータスレジスタ (ICS01, ICS23) のビット構成
を , 図 12.2-16 に示します。
図 12.2-16 インプットキャプチャコントロールステータスレジスタ (ICS01, ICS23) のビット構成
bit
000053H
bit
000052H
15
14
13
12
11
10
9
8
ICP3
ICP2
ICE3
ICE2
EG31
EG30
EG21
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
ICP1
ICP0
ICE1
ICE0
EG11
EG10
EG01
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ICS23
インプットキャプチャ
EG20 コントロールステータス
レジスタ 23
R/W 初期値 00000000B
0
ICS01
インプットキャプチャ
EG00 コントロールステータス
レジスタ 01
R/W 初期値 00000000B
以下に , インプットキャプチャコントロールステータスレジスタ (ICS01, ICS23) の各
ビットの機能を説明します。
[bit15, bit14, bit7, bit6] ICP3, ICP2, ICP1, ICP0
( 有効エッジ検出フラグビット )
インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると ,
ICP3 ∼ ICP0 ビットを "1" にセットします。割込み許可ビット (ICE3, ICE2, ICE1,
ICE0) がセットされていると , 有効エッジを検出することにより割込みを発生させ
ることができます。
"0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。リードモディ
ファイライト (RMW) 系命令では , "1" が読み出されます。
0
有効エッジ検出なし
1
有効エッジ検出あり
( 初期値 )
ICPn: n の番号がインプットキャプチャのチャネル番号に対応します。
[bit13, bit12, bit5, bit4] ICE3, ICE2, ICE1, ICE0
( キャプチャ割込み許可ビット )
インプットキャプチャ割込み許可ビットです。ICE3 ∼ ICE0 ビットが "1" のとき割
込みフラグ ICP3 ∼ ICP0 がセットされると , インプットキャプチャ割込みが発生し
ます。
0
割込み禁止
1
割込み許可
( 初期値 )
ICEn: n の番号がインプットキャプチャのチャネル番号に対応します。
266
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.2 16 ビット入出力タイマのレジスタ
MB90330A シリーズ
[bit11 ∼ bit8, bit3 ∼ bit0]
EG31, EG30, EG21, EG20, EG11, EG10, EG01, EG00 ( エッジ選択ビット )
外部入力の有効エッジ極性を指定します。インプットキャプチャ動作許可も兼用し
ています。
EGn1
EGn0
0
0
エッジ検出なし ( 停止状態 )
0
1
立上りエッジ検出
1
0
立下りエッジ検出
1
1
両エッジ検出
エッジ検出極性
( 初期値 )
EGn1/EGn0: n の番号がインプットキャプチャのチャネル番号に対応します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
267
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
12.3
MB90330A シリーズ
16 ビット入出力タイマの動作
16 ビット入出力タイマの動作およびタイミングについて説明します。
■ 16 ビット入出力タイマの動作 , タイミング
16 ビット入出力タイマの動作 , タイミングとして以下の項目について説明します。
• 16 ビットフリーランタイマの動作
• 16 ビットアウトプットコンペアの動作
• 16 ビットインプットキャプチャの動作
• 16 ビットフリーランタイマのタイミング
- カウントタイミング
- クリアタイミング
• アウトプットコンペアのタイミング
- コンペア動作のタイミング
- 割込みタイミング
- 出力端子の変化タイミング
• インプットキャプチャの入力タイミング
入力信号に対するキャプチャタイミング
268
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
MB90330A シリーズ
16 ビットフリーランタイマの動作
12.3.1
16 ビットフリーランタイマの動作およびタイミングについて説明します。
■ 16 ビットフリーランタイマの動作
16 ビットフリーランタイマは , リセット解除後にカウンタ値 "0000H" よりカウントを
開始します。このカウンタ値が , 16 ビットアウトプットコンペアと 16 ビットインプッ
トキャプチャの基準時間となります。
カウント値は , 次の条件でクリアされます。
• オーバフローが発生したとき
• コンペアクリアレジスタ値とコンペア一致したとき ( モード設定必要 )
• 動作中に TCCS レジスタの CLR ビットに "1" を書き込んだとき
• 動作中に TCDT レジスタに "0000H" を書き込んだとき
• リセット時
割込みはオーバフローが発生したとき , またはコンペアクリアレジスタ値と 16 ビット
フリーランタイマのカウンタ値の比較結果が一致したとき発生します ( 比較結果一致
割込みは , モード設定が必要です )。
図 12.3-1 にオーバフローによるカウンタクリアのタイミングチャートを , 図 12.3-2 に
比較結果一致によるカウンタクリアのタイミングチャートを示します。
図 12.3-1 オーバフローによるカウンタクリアのタイミングチャート
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
割込み
図 12.3-2 比較結果一致によるカウンタクリアのタイミングチャート
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ値
BFFFH
割込み
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
269
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
12.3.2
MB90330A シリーズ
16 ビットアウトプットコンペアの動作
16 ビットアウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフ
リーランタイマとの値を比較して , 一致していたら割込み要求フラグをセットする
とともに , 出力レベルを反転します。
■ 出力波形例
以下に , 出力波形例を示します。
● コンペアレジスタ 0, 1 を使用した場合の出力波形例
出力の初期値を "0" とした場合の出力波形例を , 図 12.3-3 に示します。
図 12.3-3 コンペアレジスタ 0, 1 を使用した場合の出力波形例 ( 出力の初期値 =0, CMOD=0)
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
コンペアレジスタ1値
BFFFH
7FFFH
OUT0
コンペア0に対応
OUT1
コンペア1に対応
コンペア0割込み
コンペア1割込み
2 組のコンペアレジスタを使って出力レベルを変えることができます (CMOD=1 のと
き )。
270
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
● 2 組のコンペアレジスタによる出力波形例
出力の初期値を "0" とした場合の出力波形例を , 図 12.3-4 に示します。
図 12.3-4 2 組のコンペアレジスタによる出力波形例 ( 出力の初期値 =0, CMOD=1)
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
コンペアレジスタ1値
BFFFH
7FFFH
OUT0
コンペア0に対応
OUT1
コンペア1に対応
コンペア0割込み
コンペア1割込み
<注意事項>
コンペアレジスタを書き換える場合は コンペア割込みのルーチン内で行うか コンペア動
作禁止の状態で行い , コンペア一致と書込みが同時に発生しないようにしてください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
271
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
MB90330A シリーズ
16 ビットインプットキャプチャの動作
12.3.3
16 ビットインプットキャプチャは , 設定された有効エッジを検出すると 16 ビットフ
リーランタイマの値をキャプチャレジスタに取り込んで割込みを発生できます。
■ インプットキャプチャの取込みタイミング例
図 12.3-5 に , インプットキャプチャの取込みタイミング例を示します。
図 12.3-5 インプットキャプチャの取込みタイミング例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
IN0
IN1
IN例
キャプチャ0
不定
キャプチャ1
不定
キャプチャ例
不定
3FFFH
7FFFH
BFFFH
7FFFH
キャプチャ0割込み
キャプチャ1割込み
キャプチャ例割込み
272
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
MB90330A シリーズ
16 ビットフリーランタイマのタイミング
12.3.4
16 ビットフリーランタイマは , 入力されたクロック ( 内部または外部クロック ) に
よりカウントアップされます。外部クロック選択時は , 立上りエッジでカウントさ
れます。
■ フリーランタイマのカウントタイミング
図 12.3-6 に , フリーランタイマのカウントタイミングを示します。
図 12.3-6 フリーランタイマのカウントタイミング
φ
外部クロック入力
カウントクロック
N+1
N
カウンタ値
カウンタのクリアはリセット , ソフトウェアおよびコンペアクリアレジスタとの一致
で行うことができます。リセットとソフトウェアでのカウンタクリアは , クリア発生と
ともに行われます。コンペアクリアレジスタとの一致によるカウンタクリアは , カウン
トタイミングに同期して行われます。
■ フリーランタイマのクリアタイミング ( コンペアクリアレジスタとの一致 )
図 12.3-7 に , コンペアクリアレジスタとの一致によるフリーランタイマのクリアタイ
ミングを示します。
図 12.3-7 フリーランタイマのクリアタイミング ( コンペアクリアレジスタとの一致 )
φ
N
コンペアクリアレジスタ値
コンペアマッチ
カウンタ値
CM44-10129-6
N
FUJITSU MICROELECTRONICS LIMITED
0000H
273
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
MB90330A シリーズ
アウトプットコンペアのタイミング
12.3.5
アウトプットコンペアは , フリーランタイマと設定したコンペアレジスタの値が一
致したときにコンペア一致信号が発生して出力値を反転するとともに割込みを発生
できます。コンペア一致時の出力反転タイミングはカウンタタイミングに同期して
行われます。
■ 割込みタイミング
図 12.3-8 に , アウトプットコンペアの割込みタイミングを示します。
図 12.3-8 アウトプットコンペアの割込みタイミング
φ
カウンタ値
N+1
N
N
コンペアレジスタ値
コンペアマッチ
コンペアマッチ
■ 出力端子の変化タイミング
図 12.3-9 に , アウトプットコンペアの出力端子の変化タイミングを示します。
図 12.3-9 アウトプットコンペアの出力端子の変化タイミング
カウンタ値
コンペアレジスタ値
N
N+1
N
N+1
N
コンペアマッチ信号
出力端子
<注意事項>
コンペアレジスタを書き換える場合は , コンペア割込みのルーチン内で行うか , コンペア
動作禁止の状態で行い , コンペア一致と書込みが同時に発生しないようにしてください。
274
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
MB90330A シリーズ
インプットキャプチャの入力タイミング
12.3.6
インプットキャプチャの入力信号に対するキャプチャタイミングを示します。
■ 入力信号に対するキャプチャタイミング
図 12.3-10 に , インプットキャプチャの入力信号に対するキャプチャタイミングを示し
ます。
図 12.3-10 インプットキャプチャの入力信号に対するキャプチャタイミング
φ
カウンタ値
インプットキャプチャ入力
N
N+1
有効エッジ
キャプチャ信号
N+1
キャプチャレジスタ
割込み
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
275
第 12 章 16 ビット入出力タイマ
12.3 16 ビット入出力タイマの動作
276
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章
USB ファンクション
USB ファンクションの機能と概要について説明し
ます。
13.1 USB ファンクションの概要
13.2 USB ファンクションのブロックダイヤグラム
13.3 USB ファンクションのレジスタ
13.4 USB ファンクションの動作説明
管理番号 : CM44-00104-1
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
277
第 13 章 USB ファンクション
13.1 USB ファンクションの概要
13.1
MB90330A シリーズ
USB ファンクションの概要
USB ファンクションは , USB(Universal Serial Bus) 通信プロトコルをサポートす
るインタフェースです。転送スピードは FULL(12Mbps) に対応して動作し , 以下の
特長があります。
■ USB ファンクションの特長
• FULL スピード (12Mbps) をサポート (USB Full Speed 対応 )
• デバイスステータスは自動応答
• Bit Stripping, Bit Stuffing, CRC5, CRC16 の自動生成とチェック
• データ同期ビットによるトグルチェック
• Get/SetDescriptor, SynchFrame コマンドを除くすべての標準コマンドに自動応答
( 前記 3 コマンドはクラス・ベンダーコマンドと同様の処理が可能 )
• クラス・ベンダーコマンドはデータとして受信し , ファームによる応答が可能
• 最大 6 本のエンドポイントをサポート ( エンドポイント 0 は control 転送に固定 )
• 転送データバッファに各エンドポイントでバッファを 2 本ずつ内蔵 ( エンドポイン
ト 0 の場合は IN と OUT それぞれ専用に 1 本ずつ内蔵 )
• DMA による転送データの自動転送モードをサポート ( エンドポイント 0 のバッファ
以外 )
278
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.2 USB ファンクションのブロックダイヤグラム
MB90330A シリーズ
USB ファンクションのブロックダイヤグラム
13.2
図 13.2-1 に , USB ファンクションのブロックダイヤグラムを示します。
■ USB ファンクションのブロックダイヤグラム
図 13.2-1 USB ファンクションのブロックダイヤグラム
エンドポイント0
Inバッファ
内部
データバス
エンドポイント0
Outバッファ
エンドポイント1
バッファ
CLK(48MHz)
UDC
インタ
フェース
UDC
エンドポイント2
バッファ
割込み
#11,12
エンドポイント3
バッファ
エンドポイント4
バッファ
端子
DVM
DRV USB
DVP
エンドポイント5
バッファ
SUSP
SPT
CPUインタ
フェース
UDCCレジスタ
UDCSレジスタ
割込み#13
タイム
スタンプ
割込み#14
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
279
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
13.3
MB90330A シリーズ
USB ファンクションのレジスタ
USB ファンクションで使用するレジスタの構成 , および機能について説明します。
■ USB ファンクションのレジスタ一覧
図 13.3-1 USB ファンクションのレジスタ一覧
bit 15
8 7
UDCC
EP0C
EP1C
EP2C
EP3C
EP4C
EP5C
TMSP
UDCIE
0
UDCS
EP0IS
EP0OS
EP1S
EP2S
EP3S
EP4S
EP5S
EP0DT
EP1DT
EP2DT
EP3DT
EP4DT
EP5DT
8 ビット
280
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
8 ビット
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
図 13.3-2 USB ファンクションレジスタのビット構成
bit
アドレス :0000D0H
7
RST
6
5
4
RESUM HCON USTP
bit
アドレス :0000D1H
15
14
13
12
11
10
9
8
予約
予約
予約
予約
予約
予約
予約
予約
bit
アドレス :0000D2H
7
6
5
4
3
PKS0
2
1
0
予約
bit
アドレス :0000D3H
15
-
14
-
13
-
12
-
bit
アドレス :0000D4H
7
6
5
4
2
予約
予約
1
RFBK
0
PWC
14
bit
アドレス :0000D6H
6
7
13
12
DIR
5
4
TYPE
11
10
予約
予約
9
STAL
予約
3
2
1
0
8
bit
15
アドレス :0000D7H EPEN
14
bit
アドレス :0000D8H
6
7
13
TYPE
5
12
DIR
4
14
bit
アドレス :0000DAH
6
7
13
TYPE
5
12
DIR
4
14
bit
アドレス :0000DCH
6
7
13
TYPE
5
12
DIR
4
bit
15
アドレス :0000DDH EPEN
7
14
13
TYPE
6
5
12
DIR
アドレス :0000DEH
2
2
1
0
9
STAL
8
予約
1
0
9
STAL
8
予約
1
0
EP4 制御レジスタ (EP4C)
2
9
STAL
8
予約
1
0
EP5 制御レジスタ (EP5C)
11
10
DMAE NULE
3
8
PKS1
EP3 制御レジスタ (EP3C)
11
10
DMAE NULE
4
9
STAL
EP2 制御レジスタ (EP2C)
11
10
DMAE NULE
3
PKS5
予約
2
11
10
DMAE NULE
3
PKS4
予約
bit
15
アドレス :0000DBH EPEN
11
10
DMAE NULE
3
PKS3
予約
bit
15
アドレス :0000D9H EPEN
EP1 制御レジスタ (EP1C)
3
PKS2
予約
UDC 制御レジスタ (UDCC)
EP0 制御レジスタ (EP0C)
PKS1
bit
15
アドレス :0000D5H EPEN
bit
3
2
9
STAL
予約
8
1
0
タイムスタンプレジスタ
(TMSP)
TMSP
bit
アドレス :0000DFH
15
-
14
-
13
-
12
-
11
-
10
9
TMSP
8
bit
7
6
5
4
3
2
1
0
アドレス :0000E0H
-
-
SUSP
SOF
BRST WKUP SETP CONF
UDC ステータスレジスタ
(UPCS)
( 続く )
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
281
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
( 続き )
bit
アドレス :0000E1H
15
14
予約
予約
bit
アドレス :0000E2H
7
-
6
-
5
-
4
-
3
-
2
-
1
-
0
-
14
DRQIIE
13
-
12
-
11
-
10
DRQI
9
-
8
-
6
5
4
3
SIZE
2
1
0
11
-
10
DRQO
9
SPK
予約
3
2
1
0
bit
15
アドレス :0000E3H BFINI
bit
アドレス :0000E4H
7
予約
bit
15
アドレス :0000E5H BFINI
bit
アドレス :0000E6H
7
7
7
7
5
4
14
13
DRQIE SPKIE
6
5
12
8
14
13
DRQIE SPKIE
6
5
14
13
DRQIE SPKIE
6
5
7
14
13
DRQIE SPKIE
6
5
10
DRQ
9
SPK
8
SIZE
3
SIZE
2
1
0
11
BUSY
10
DRQ
9
SPK
予約
3
SIZE
2
1
0
11
BUSY
10
DRQ
9
SPK
予約
3
SIZE
2
1
0
11
BUSY
10
DRQ
9
SPK
予約
3
SIZE
2
1
0
予約
11
BUSY
10
DRQ
9
SPK
予約
4
3
2
1
0
4
12
予約
4
12
予約
4
12
予約
4
予約
bit
15
アドレス :0000EFH BFINI
14
13
DRQIE SPKIE
6
5
EP1 ステータスレジスタ (EP1S)
11
BUSY
予約
予約
bit
15
アドレス :0000EDH BFINI
bit
アドレス :0000EEH
6
12
-
予約
bit
15
アドレス :0000EBH BFINI
bit
アドレス :0000ECH
13
予約
bit
15
アドレス :0000E9H BFINI
bit
アドレス :0000EAH
14
DRQOIE SPKIE
12
EP0I ステータスレジスタ (EP0IS)
EP0O ステータスレジスタ (EP0OS)
SIZE
bit
15
アドレス :0000E7H BFINI
bit
アドレス :0000E8H
13
12
11
10
9
8
SUSPIE SOFIE BRSTIE WKUPIE CONFN CONFIE UDC 割込み許可レジスタ (UPCIE)
EP2 ステータスレジスタ (EP2S)
8
EP3 ステータスレジスタ (EP3S)
8
EP4 ステータスレジスタ (EP4S)
8
EP5 ステータスレジスタ (EP5S)
8
bit
アドレス :0000F0H
7
bit
アドレス :0000F1H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000F2H
7
6
5
4
2
1
0
BFDT
EP0 データレジスタ (EP0DT)
3
BFDT
EP1 データレジスタ (EP1DT)
( 続く )
282
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
( 続き )
bit
アドレス :0000F3H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000F4H
7
6
5
4
2
1
0
bit
アドレス :0000F5H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000F6H
7
6
5
4
2
1
0
bit
アドレス :0000F7H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000F8H
7
6
5
4
2
1
0
bit
アドレス :0000F9H
15
14
13
12
11
BFDT
10
9
8
bit
アドレス :0000FAH
7
6
5
4
2
1
0
bit
アドレス :0000FBH
15
CM44-10129-6
3
BFDT
EP2 データレジスタ (EP2DT)
3
BFDT
EP3 データレジスタ (EP3DT)
3
BFDT
EP4 データレジスタ (EP4DT)
3
BFDT
14
13
12
11
BFDT
EP5 データレジスタ (EP5DT)
10
9
FUJITSU MICROELECTRONICS LIMITED
8
283
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
UDC 制御レジスタ (UDCC)
13.3.1
UDC 制御レジスタ (UDCC) は , UDC コア回路の制御を行います。
■ UDC 制御レジスタ (UDCC)
図 13.3-3 に , UDC 制御レジスタ (UDCC) のビット構成を示します。
図 13.3-3 UDC 制御レジスタ (UDCC) のビット構成
アドレス
bit
0000D0H
7
RST
1
R/W
アドレス
bit
0000D1H
6
5
4
RESUM HCON USTP
0
1
0
R/W
R/W
R/W
3
2
1
0
予約
0
-
予約
0
-
RFBK
PWC
UDC 制御レジスタ
0
R/W
0
R/W
←初期値
←アクセス
15
14
13
12
11
10
9
8
予約
0
-
予約
0
-
予約
0
-
予約
0
-
予約
0
-
予約
0
-
予約
0
-
予約
0
-
←初期値
←アクセス
<注意事項>
UDC 制御レジスタ (UDCC) は , bit7 の RST=1 のときに設定し , USB 動作中に書き換えな
いようにしてください。ただし , bit6 の RESUM と bit4 の USTP は除きます。bit6 の
RESUM は, USBのサスペンド状態において下記のコマンドによるリモートウェイクアッ
プ許可状態でのみセット , リセットを行ってください。
ストップモード時は , ストップモード状態に入る前に bit4 の USTP へ "1" をセットしてく
ださい。
またストップモード解除時は UDCS の SUSP, UDCC の USTP の順に "0" に設定してくだ
さい。
以下に , UDC 制御レジスタ (UDCC) の各ビットの機能を説明します。
[bit15 ∼ bit8] 予約ビット
予約ビットです。必ず "0" を書き込んでください。常に "0" が読み出されます。
[bit7] RST ( ファンクションリセットビット )
USB ファンクションにチップのシステムリセット相当の個別リセットを行います。
HOST PC とのケーブル接続時に RST ビットにより USB ファンクションにリセット
を行います。初期値は "1" でリセット状態ですので "0" ライトで解除を行ってくだ
さい。
RST
284
動作モード
0
USB ファンクションのリセット解除
1
USB ファンクションをリセット
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
<注意事項>
RST ビットはタイムスタンプレジスタ , UDC ステータスレジスタ , 割込み許可レジスタ
の該当ビットを同時に初期化します。また , EP0I, EP0O, EP1 ∼ EP5 ステータスレジス
タの BFINI も同時にセットしますので , 初期設定の後 , RST ビットのクリアを行い (BFINI
はクリアされません ), 使用するエンドポイントの BFINI クリアの順で行ってください。
[bit6] RESUM ( リジューム設定ビット )
リモートウェイクアップ許可状態のとき ( ホストより SET_FEATURE コマンドで
DEVICE_REMOTE_WAKEUP ビットがセットされている ), かつサスペンド状態の
とき , RESUM ビットに "1" ライトでリジュームの開始となります。リジューム指示
は RESUM ビットに "1" 設定後 "0" ライトでクリアしてください。
RESUM
動作モード
0
USB リジューム 開始指示ビット解除
1
USB リジューム 開始指示
[bit5] HCON ( ホスト接続ビット )
外付けプルアップ抵抗と USB データラインとの間のスイッチを制御し , HOST PC
またはハブとの接続を認識させます。
HCON
動作モード
0
HOST PC または HUB と接続
1
HOST PC または HUB と切断状態
<注意事項>
外付けプルアップ抵抗が ON 状態で HOST, または HUB から接続を認識された場合でも ,
HCON ビットが "1" の間は USB バスのバスリセット , コマンドは無視します。
[bit4] USTP (USB 動作クロック停止ビット )
USTP ビットのセットにより USB 動作部のクロックを停止させます。USB を動作さ
せない場合に USTP ビットのセットにより消費電力を低減できます。
USTP
CM44-10129-6
動作モード
0
通常モード
1
USB 動作部のクロック停止
FUJITSU MICROELECTRONICS LIMITED
285
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
<注意事項>
USTP ビットのセットはストップモードにしない場合 , RST=1 にした後 , リセットが確実
にかかるように FULL スピード時には 3 サイクル後 , LOW スピード ( ホストモードの場合
のみ対応 ) 時には 43 サイクル待った後に行ってください。USTP ビットのクリアは RST
のクリアと同時でも構いません。
[bit3, bit2] 予約ビット
予約ビットです。必ず "0" を書き込んでください。常に "0" が読み出されます。
[bit1] RFBK: データトグルモード選択ビット ( レートフィードバックモード )
USB の割込み転送時のデータトグルモードの選択ビットです。
RFBK
動作モード
0
交代データトグルモードの選択
転送が問題なく完了したときにデータ PID をトグル
1
データトグルモードの選択
無条件にデータ PID をトグル
データトグルモードの選択は ISO 転送においてレートフィードバック情報に使用する
ことができます。
[bit0] PWC ( 電源制御ビット )
USB ファンクションの動作電源モード ( 自己電源 , バス電源 ) を指定します。
(PWC ビットの設定は標準コマンド GetStatus に反映します )
PWC
286
動作モード
0
バス電源
1
自己電源
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
EP0 制御レジスタ (EP0C)
13.3.2
EP0 制御レジスタ (EP0C) は , エンドポイント 0 に関する制御を行います。
■ EP0 制御レジスタ (EP0C)
図 13.3-4 に , EP0 制御レジスタ (EP0C) のビット構成を示します。
図 13.3-4 EP0 制御レジスタ (EP0C) のビット構成
アドレス
bit
0000D2H
アドレス
bit
0000D3H
7
6
5
4
予約
0
-
1
R/W
0
R/W
0
R/W
15
14
13
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
12
11
10
9
8
予約
0
-
予約
0
-
STAL
予約
0
-
PKS0
-
-
-
-
×
-
×
-
×
-
×
-
EP0 制御レジスタ
0
R/W
←初期値
←アクセス
←初期値
←アクセス
<注意事項>
EP0 制御レジスタ (EP0C) は , bit9 の STAL を除き UDC 制御レジスタ (UDCC)bit7 の RST,
EP0I/EP0O ステータスレジスタ (EP0IS/EP0OS)bit7 の BFINI が共に "1" のときに設定して ,
USB 動作中に書き換えないようにしてください。
以下に , EP0 制御レジスタ (EP0C) の各ビットの機能を説明します。
[bit15 ∼ bit12] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit11, bit10] 予約ビット
予約ビットです。必ず "00B" を書き込んでください。
常に "00B" が読み出されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
287
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit9] STAL (STALL エンドポイント 0 設定ビット )
STAL ビットのセットによりエンドポイント 0 を STALL 状態 (STALL 応答 ) にでき
ます。
STAL
動作モード
0
STALL 状態の解除
1
STALL 状態 (STALL 応答 ) のセット
<注意事項>
STAL ビットのセット中はホストに対し , STALL 応答し続けます。STAL ビットの解除の
後 , 正常な SETUP パケットを受信した時に STALL 状態から復帰します。
[bit8, bit7] 予約ビット
予約ビットです。必ず "00B" を書き込んでください。
常に "00B" が読み出されます。
[bit6 ∼ bit0] PKS0 ( パケットサイズ エンドポイント 0 設定ビット )
1 パケットでの最大転送バイト数を指定します。エンドポイント 0 の指定可能なパ
ケットの最大転送バイトは 64 バイトで , IN, OUT 共通の設定となります。
< 例 >"08H" ⇒ 8 バイト , "40H" ⇒ 64 バイト ( 最大指定値 )
<注意事項>
最大転送バイト数 (40H) 以上の設定と "00H" の設定は禁止です。
288
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)
13.3.3
EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) は , エンドポイント 1 ∼ 5 に関する制御
を行います。
■ EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)
図 13.3-5 に EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) のビット構成を示します。
図 13.3-5 EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) のビット構成
アドレス
bit
7
6
5
0
R/W
0
R/W
0
R/W
7
6
5
予約
0
-
1
R/W
0
R/W
15
14
13
EP1C 0000D4H
アドレス
bit
EP2C 0000D6H
EP3C 0000D8H
EP4C 0000DAH
EP5C 0000DCH
アドレス
EP1C 0000D5H
bit
EPEN
0
R/W
15
アドレス
bit
EP2C 0000D7H
EPEN
EP3C 0000D9H
0
EP4C 0000DBH
R/W
EP5C 0000DDH
TYPE
1
1
R/W
R/W
14
13
TYPE
1
R/W
1
R/W
4
3
PKS1
0
0
R/W
R/W
4
3
2
1
0
0
R/W
0
R/W
0
R/W
2
1
0
0
R/W
0
R/W
9
8
PKS5 ∼ PKS2
0
0
0
R/W
R/W
R/W
12
DIR
0
R/W
12
DIR
0
R/W
11
10
DMAE NULE
0
0
R/W
R/W
11
STAL
0
R/W
10
DMAE NULE
0
0
R/W
R/W
←初期値
←アクセス
←初期値
←アクセス
PKS1
1
←初期値
R/W ←アクセス
9
8
STAL
0
R/W
予約
0
-
←初期値
←アクセス
<注意事項>
EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) は , DMAE, NULE, STAL を除き UDC 制御レ
ジスタ (UDCC)bit7 の RST, EP0 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S)bit15 の BFINI
が共に "1" のときに設定して , USB 動作中に書き換えないようにしてください。
以下に , EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C) の各ビットの機能を説明します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
289
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit15] EPEN ( エンドポイント 1 ∼ 5 許可ビット )
エンドポイントを有効にします。EPEN ビットの設定によりファンクションで使用
するエンドポイントとしてホストから構成されます。EP1 ∼ EP5 制御レジスタの
TYPE, DIR, PKS が構成情報として有効となります。
EPEN
動作モード
0
エンドポイントは無効
1
エンドポイントを有効とする
[bit14, bit13] TYPE ( エンドポイント転送タイプ選択ビット )
エンドポイントがサポートする転送タイプを指定します。
TYPE
動作モード
00
指定禁止
01
Isochronous 転送
10
Bulk 転送
11
Interrupt 転送
<注意事項>
USB2.0 の Isochronous 転送では , Alternate 値が "0" でかつ , 最大パケット数が "0" の状態
を初期設定とすることが仕様に追加されました。本 USB ファンクションの場合 , ホスト
から Alternate interface setting コマンドで Alternate 値を "0" 以外に設定すると , ホストに
対し自動的にSTALL応答してしまい, Alternate値を変更できません。したがって, Alternate
値の変更による最大パケット数の設定変更には対応できません。
[bit12] DIR ( エンドポイント転送方向選択ビット )
エンドポイントがサポートする転送方向を指定します。
DIR
ファンクション動作モード
HOST 動作モード (EP1, EP2 のみ )
0
OUT エンドポイント
IN エンドポイント
1
IN エンドポイント
OUT エンドポイント
[bit11] DMAE (DMA 自動転送許可ビット )
転送データの送受信バッファへの書込みあるいは , 読出しに DMA を使用し , DMA
に設定したデータ転送数までホストからの IN, OUT データ要求に同期して自動で送
受信データを転送するモード設定です。
DMAE
290
動作モード
0
自動バッファ転送モードの解除
1
自動バッファ転送モードのセット
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
<注意事項>
DMAE ビットのセット中は , CPU による送受信バッファへのアクセスは禁止です。OUT
方向のデータ転送時にはDMAの転送数の設定はEP1∼EP5制御レジスタ(EP1C∼EP5C)
の PKS 設定数の倍数としてください。
[bit10] NULE (NULL 自動転送許可ビット )
自動バッファ転送モードがセットされている状態 (DMAE=1) で , IN 方向のデータ転
送要求がきたときに , 最後のパケット転送を検出し , 0 バイトのデータ転送を自動で
送信するモードの設定を行います。
NULE
動作モード
0
NULL 自動転送モードの解除
1
NULL 自動転送モードのセット
<注意事項>
OUT 方向のデータ転送時や自動バッファ転送モードがセットされていないときには
NULE ビットの設定は通信に影響しません。
[bit9] STAL (STALL 設定ビット )
STAL ビットのセットによりエンドポイントを STALL 状態 (STALL 応答 ) にできま
す。
STAL
動作モード
0
STALL 状態の解除
1
STALL 状態 (STALL 応答 ) のセット
<注意事項>
STAL ビットのセット中は HOST に対し , STALL 応答し続けます。STALL 状態からの復
帰は STAL ビットの解除の後 , ホストからの ClearFutcher コマンドにより可能です。
EP2 ∼ EP5:[bit8, bit7] 予約ビット
このビットは , EP2 ∼ EP5 の場合 , 予約ビットです。必ず , "0" を書き込んでくださ
い。常に "0" が読み出されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
291
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
EP1:[bit8 ∼ bit0] PKS ( パケットサイズ設定ビット )
EP2 ∼ EP5:[bit6 ∼ bit0] PKS ( パケットサイズ設定ビット )
1 パケットでの最大転送数を指定します。エンドポイント 1 ∼ 5 の指定可能なパケッ
トの最大転送数は下記になります。
EndPoint
最大転送数
設定可能範囲
1
256 バイト ( 奇数設定可能 )
001H ∼ 100H
2∼5
64 バイト ( 奇数設定可能 )
01H ∼ 40H
<注意事項>
最大転送数 (100H, 40H) 以上の設定と "00H" の設定は禁止です。エンドポイント 2 ∼ 5 は
bit8, bit7 に "00" 書込みをしてください。さらに , 自動バッファ転送モード (DMAE=1) を
使用する場合は該当するエンドポイントでの 0 ∼ 2 設定は禁止となります。
292
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
タイムスタンプレジスタ (TMSP)
13.3.4
タイムスタンプレジスタ (TMSP) は , SOF パケット受信時のフレーム番号の表示を
行います。
■ タイムスタンプレジスタ (TMSP)
図 13.3-6 に , タイムスタンプレジスタ (TMSP) のビット構成を示します。
図 13.3-6 タイムスタンプレジスタ (TMSP) のビット構成
アドレス
bit
7
6
5
4
0000DEH
アドレス
bit
0000DFH
3
2
1
0
TMSP
タイムスタンプレジスタ
0
0
R
0
0
R
0
0
R
0
0
R
0
0
R
0
0
R
0
0
R
0
0
R
15
14
13
12
11
10
9
8
-
-
-
-
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
TMSP
0
0
R
0
0
R
←初期値
← RST リセット
←アクセス
タイムスタンプレジスタ
0
0
R
←初期値
← RST リセット
←アクセス
以下に , タイムスタンプレジスタ (TMSP) の各ビットの機能を説明します。
[bit15 ∼ bit11] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit10 ∼ bit0] TMSP ( タイムスタンプビット )
SOF パケットの受信によるフレーム番号を示します。フレーム番号は SOF パケッ
トの受信時に更新されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
293
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
UDC ステータスレジスタ (UDCS)
13.3.5
UDC ステータスレジスタ (UDCS) は , USB 通信上のバスの状態や , 特定のコマンド
受信状態を示すレジスタです。SETP を除く各ビットは割込み要因となっており , 対
応する割込み許可ビットが有効指定されていれば CPU へ割込みが発生します。
■ UDC ステータスレジスタ (UDCS)
図 13.3-7 に , UDC ステータスレジスタ (UDCS) のビット構成を示します。
図 13.3-7 UDC ステータスレジスタ (UDCS) のビット構成
アドレス
0000E0H
bit
7
6
5
4
-
-
SUSP
SOF
X
X
-
X
X
-
0
0
R/W
0
0
R/W
3
2
1
0
BRST WKUP SETP CONF
0
0
R/W
0
0
R/W
0
0
R/W
0
0
R/W
UDC ステータスレジスタ
←初期値
← RST リセット
←アクセス
以下に , UDC ステータスレジスタ (UDCS) の各ビットの機能を説明します。
[bit7, bit6] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit5] SUSP ( サスペンド検出ビット )
USB ファンクションがサスペンド状態に移行したことを表示します。SUSP ビット
は割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアしてください。
リードモディファイライト時は "1" が読み出されます。
SUSP
動作モード
0
Suspend 未検出・割込み要因クリア
1
Suspend 検出
[bit4] SOF (SOF 受信検出ビット )
SOFパケットを受信したことを示し, タイムスタンプレジスタの値が更新されます。
SOF ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアして
ください。リードモディファイライト時は "1" が読み出されます。
SOF
294
動作モード
0
SOF 未受信・割込み要因クリア
1
SOF パケットを受信
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
[bit3] BRST ( バスリセット検出ビット )
USB バスリセットの検出を表示します。BRST ビットは割込み要因であり , "1" 書込
みは無視します。"0" 書込みでクリアしてください。リードモディファイライト時
は "1" が読み出されます。
BRST
動作モード
0
USB バスリセットを未検出・割込み要因クリア
1
USB バスリセットを検出
<注意事項>
BRST ビットの検出時には UDCC レジスタの RST により USB ファンクションの初期化
をして , レジスタの再設定を行ってください。
[bit2] WKUP (WakeUp 検出ビット )
USB ファンクションがサスペンド状態から復帰したことを表示します。復帰要因は
RESUM ビットのセットによるリモートウェイクアップとホストからの要求による
ウェイクアップがありますが , WKUP ビットはホストからの復帰要求のみで自動
セットされます。WKUP ビットは割込み要因であり , "1" 書込みは無視します。
"0" 書込みでクリアしてください。リードモディファイライト時は "1" が読み出さ
れます。
WKUP
動作モード
0
HOST 要因 RESUME を未検出・割込み要因クリア
1
HOST 要因 RESUME を検出
<注意事項>
ホスト要求によるウェイクアップ時でも UDCC レジスタの RESUM ビットがセットされ
ている場合 , WKUP ビットはセットされません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
295
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit1] SETP (SETUP ステージ検出ビット )
受信したデータが USB コントロール転送の Setup ステージであることを示します。
"1" 書込みは無視します。"0" 書込みでクリアしてください。リードモディファイラ
イト時は "1" が読み出されます。
SETP
動作モード
0
SETUP 未受信・要因クリア
1
コントロール転送 SETUP ステージを受信
<注意事項>
標準コマンドの自動応答時にはセットされません。SETP ビットは割込み要因ではありま
せん。
[bit0] CONF ( コンフィグレーション検出ビット )
USB ファンクションがコンフィグレーション済みであることを表示します。CONF
ビットは USB コマンドの SetConfig を正常受信したときにセットされます。CONF
ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアしてくだ
さい。リードモディファイライト時は "1" が読み出されます。
CONF
296
動作モード
0
SetConfig 未検出・割込み要因クリア
1
SetConfig を検出
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
13.3.6
UDC 割込み許可レジスタ (UDCIE)
UDC 割込み許可レジスタ (UDCIE) は , UDC ステータスレジスタの各割込み要因に
よる割込み CONFN を除き , ビットごとに許可するレジスタです。
■ UDC 割込み許可レジスタ (UDCIE)
図 13.3-8 に , UDC 割込み許可レジスタ (UDCIE) のビット構成を示します。
図 13.3-8 UDC 割込み許可レジスタ (UDCIE) のビット構成
アドレス bit
15
14
0000E1H
予約
0
0
-
予約
0
0
-
13
12
11
10
9
8
SUSPIE SOFIE BRSTIE WKUPIE CONFN CONFIE UDC 割込み許可レジスタ
0
0
0
0
0
0
←初期値
0
0
0
0
0
0
← RST リセット
R/W
R/W
R/W
R/W
R
R/W ←アクセス
以下に , UDC 割込み許可レジスタ (UDCIE) の各ビットの機能を説明します。
[bit15, bit14] 予約ビット
予約ビットです。必ず "00B" を書き込んでください。常に "00B" が読み出されます。
[bit13] SUSPIE ( サスペンド割込み許可ビット )
UDC ステータスレジスタ "SUSP" の割込み要因による割込みを許可します。
SUSPIE
動作モード
0
SUSP 要因による割込み禁止
1
SUSP 要因による割込み許可
[bit12] SOFIE (SOF 受信割込み許可ビット )
UDC ステータスレジスタ "SOF" の割込み要因による割込みを許可します。
SOFIE
動作モード
0
SOF 要因による割込み禁止
1
SOF 要因による割込み許可
[bit11] BRSTIE ( バスリセット割込み許可ビット )
UDC ステータスレジスタ "BRST" の割込み要因による割込みを許可します。
BRSTIE
CM44-10129-6
動作モード
0
BRST 要因による割込み禁止
1
BRST 要因による割込み許可
FUJITSU MICROELECTRONICS LIMITED
297
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit10] WKUPIE (WakeUp 割込み許可ビット )
UDC ステータスレジスタ "WKUP" の割込み要因による割込みを許可します。
WKUPIE
動作モード
0
WKUP 要因による割込み禁止
1
WKUP 要因による割込み許可
[bit9] CONFN ( コンフィグレーション番号表示ビット )
コンフィグレーション番号を表示します。UDC ステータスレジスタ "CONF" の割込
み要因セット時に更新します。
CONFN
動作モード
0
CONFIG 番号 0
1
CONFIG 番号 1
[bit8] CONFIE ( コンフィグレーション割込み許可ビット )
UDC ステータスレジスタ "CONF" の割込み要因による割込みを許可します。
CONFIE
298
動作モード
0
CONF 要因による割込み禁止
1
CONF 要因による割込み許可
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
EP0I ステータスレジスタ (EP0IS)
13.3.7
EP0I ステータスレジスタ (EP0IS) は , エンドポイント 0 の In 方向転送に関するス
テータス表示を行います。
■ EP0I ステータスレジスタ (EP0IS)
図 13.3-9 に , EP0I ステータスレジスタ (EP0IS) のビット構成を示します。
図 13.3-9 EP0I ステータスレジスタ (EP0IS) のビット構成
アドレス bit
7
6
5
4
3
2
1
0
0000E2H
-
-
-
-
-
-
-
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
X
X
-
15
14
13
12
11
10
9
8
X
X
-
X
X
-
X
X
-
DRQI
1
1
R/W
X
X
-
X
X
-
アドレス bit
0000E3H
BFINI DRQIIE
1
0
1
無関係
R/W
R/W
EP0I ステータスレジスタ
←初期値
← BFINI リセット
←アクセス
←初期値
← BFINI リセット
←アクセス
以下に , EP0I ステータスレジスタ (EP0IS) の各ビットの機能を説明します。
[bit15] BFINI ( 送信バッファ初期化ビット )
転送データの送信バッファの初期化をします。また , BFINI ビットは UDC 制御レジ
スタ (UDCC) RST ビットのセットでも自動でセットされるようになっています。し
たがって, RST ビットでリセットされている場合 , BFINIビットのクリアは RSTビッ
トのクリア後に行ってください。
BFINI
動作モード
0
初期化の解除
1
送信バッファの初期化
<注意事項>
BFINI ビットによる初期化ではバッファ , DRQI ビットが初期化されます。バッファの初
期化をする場合 , DRQI または DRQO ビットがセットされ HOST からのアクセスがない
ことを確認した後, 必要に応じてSTALビットをセットしてから初期化を行ってください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
299
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit14] DRQIIE ( 送信データ割込み許可ビット )
EP0I ステータスレジスタ "DRQI" の割込み要因による割込みを許可します。
DRQIIE
動作モード
0
DRQI 要因による割込み禁止
1
DRQI 要因による割込み許可
[bit13 ∼ bit11] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit10] DRQI ( 送信データ割込み要求ビット )
EP0 のホストからの IN パケット転送が正常に終了し , 送信バッファからデータが読
み出され次の送信データの書込みが可能であることを示します。DRQI ビットは割
込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアしてください。リー
ドモディファイライト時は "1" が読み出されます。
DRQI
動作モード
0
割込み要因クリア
1
送信データの書込み可能状態
<注意事項>
送信バッファのデータライト処理の完了後 , DRQI をクリアする必要があります。また ,
DRQI がセットされていないときの "0" 書込みは禁止です。DRQI が "1" のとき , 送信バッ
ファにデータ書込みが可能です。また , クリアした時点で送信バッファにデータ設定が完
了したことを意味します。したがって , DRQI ビットが "1" の状態で IN パケット要求が
あった場合は , 自動で HOST に NAK 応答します。
[bit9 ∼ bit0] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
300
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
EP0O ステータスレジスタ (EP0OS)
13.3.8
EP0O ステータスレジスタ (EP0OS) は , エンドポイント 0 の Out 方向転送に関する
ステータス表示を行います。
■ EP0O ステータスレジスタ (EP0OS)
図 13.3-10 に , EP0O ステータスレジスタ (EP0OS) のビット構成を示します。
図 13.3-10 EP0O ステータスレジスタ (EP0OS) のビット構成
アドレス bit
7
0000E4H
予約
0
0
-
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
15
14
13
12
11
10
9
8
X
X
-
X
X
-
DRQO
0
0
R/W
SPK
0
0
R/W
アドレス bit
0000E5H
6
5
4
3
2
1
0
SIZE
BFINI DRQOIE SPKIE
1
0
0
1
無関係 無関係
R/W
R/W
R/W
EP0O ステータスレジスタ
←初期値
← BFINI リセット
←アクセス
予約
0
←初期値
0
← BFINI リセット
←アクセス
以下に , EP0O ステータスレジスタ (EP0OS) の各ビットの機能を説明します。
[bit15] BFINI ( 受信バッファ初期化ビット )
転送データの受信バッファの初期化をします。また , BFINI ビットは UDC 制御レジ
スタ (UDCC) RST ビットのセットでも自動でセットされるようになっています。し
たがって, RST ビットでリセットされている場合 , BFINIビットのクリアは RSTビッ
トのクリア後に行ってください。
BFINI
動作モード
0
初期化の解除
1
受信バッファの初期化
<注意事項>
BFINI ビットによる初期化ではバッファ, DRQO, SPK ビットが初期化されます。バッファ
の初期化をする場合 , DRQI または DRQO ビットがセットされ HOST からのアクセスが
ないことを確認した後 , 必要に応じて STAL ビットをセットしてから初期化を行ってくだ
さい。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
301
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit14] DRQOIE ( 受信データ割込み許可ビット )
EP0O ステータスレジスタ "DRQO" の割込み要因による割込みを許可します。
DRQOIE
動作モード
0
DRQO 要因による割込み禁止
1
DRQO 要因による割込み許可
[bit13] SPKIE ( ショートパケット割込み許可ビット )
EP0O ステータスレジスタ "SPK" の割込み要因による割込みを許可します。
SPKIE
動作モード
0
SPK 要因による割込み禁止
1
SPK 要因による割込み許可
[bit12, bit11] 未定義ビット
書込みは動作に影響しません。読出し時は不定です。
[bit10] DRQO ( 受信データ割込み要求ビット )
EP0 のホストからの OUT パケット転送が正常に終了し , 受信バッファにデータが書
き込まれ受信データを読み出すことが可能であることを示します。DRQO ビットは
割込み要因であり , "1" 書込みは無視します。
"0" 書込みでクリアしてください。リー
ドモディファイライト時は "1" が読み出されます。
DRQO
動作モード
0
割込み要因クリア
1
受信データの読出し可能状態
<注意事項>
受信バッファのデータリード処理完了後 , DRQO をクリアする必要があります。また ,
DRQO がセットされていないときの "0" 書込みは禁止です。DRQO が "1" のとき , 受信
バッファは更新されません。クリアした時点で更新許可となります。DRQO が "1" の状態
で OUT パケット要求があった場合は , 自動で HOST に NAK 応答します。
302
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
[bit9] SPK ( ショートパケット割込み要求ビット )
ホストからの転送データ数が正常受信時に EP0 制御レジスタ (EP0C) の PKS で設定
したマックスパケット数に満たない場合 (0 バイトを含みます ) を示します。SPK
ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリアしてくだ
さい。リードモディファイライト時は "1" が読み出されます。
SPK
動作モード
0
マックスパケット転送数分を受信
1
マックスパケット転送数未満を受信
[bit8, bit7] 予約ビット
これらのビットは , 予約ビットです。書込みは動作に影響しません。読出し時には
"0" が読み出せます。
[bit6 ∼ bit0] SIZE ( パケットサイズ表示ビット )
EP0 の OUT パケット転送終了後に受信バッファに書き込まれたデータバイト数が
表示されます。SIZE ビットは EP0O ステータスレジスタ (EP0OS) の DRQO の割込
み要因がセットされたときに有効な値に更新されます。
< 例 >8 バイト⇒ "08H", 64 バイト⇒ "40H"( 最大値 )
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
303
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
13.3.9
MB90330A シリーズ
EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S)
EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) は , エンドポイント 1 ∼ 5 に関す
るステータス表示を行います。
■ EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S)
図 13.3-11 に , EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) のビット構成を示します。
図 13.3-11 EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S) のビット構成
アドレス bit
7
6
5
4
3
2
1
0
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
X
X
R
EP1S 0000E6H
SIZE
アドレス bit
7
6
5
4
3
2
1
0
EP2S 0000E8H
EP3S 0000EAH
EP4S 0000ECH
EP5S 0000EEH
予約
0
0
-
X
X
R
X
X
R
X
X
R
SIZE
X
X
R
X
X
R
X
X
R
X
X
R
アドレス bit
15
14
13
12
11
10
9
8
予約
-
BUSY
0
無関係
R
DRQ
0
0
R/W
SPK
0
0
R/W
12
11
10
9
予約
-
BUSY
0
無関係
R
DRQ
0
0
R/W
SPK
0
0
R/W
EP1S 0000E7H
アドレス bit
EP2S 0000E9H
EP3S 0000EBH
EP4S 0000EDH
EP5S 0000EFH
BFINI DRQIE SPKIE
1
0
0
1
無関係 無関係
R/W
R/W
R/W
15
14
13
BFINI DRQIE SPKIE
1
0
0
1
無関係 無関係
R/W
R/W
R/W
←初期値
← BFINI リセット
←アクセス
←初期値
← BFINI リセット
←アクセス
SIZE
X
←初期値
X
← BFINI リセット
R
←アクセス
8
予約
0
←初期値
0
← BFINI リセット
←アクセス
以下に, EP1∼EP5ステータスレジスタ(EP1S∼EP5S)の各ビットの機能を説明します。
304
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit15] BFINI ( 送受信バッファ初期化ビット )
転送データの送受信バッファの初期化をします。また , BFINI ビットは UDC 制御レ
ジスタ (UDCC) RST ビットのセットでも自動でセットされるようになっています。
したがって , RST ビットでリセットされている場合 , BFINI ビットのクリアは RST
ビットのクリア後に行ってください。
BFINI
動作モード
0
初期化の解除
1
送受信バッファの初期化
<注意事項>
EP1 ∼ EP5 の送受信バッファはダブルバッファ構成で , BFINI ビットによる初期化ではダ
ブルバッファ同時に初期化が行われ , DRQ, SPK ビットも初期化されます。バッファの初
期化をする場合 , DRQ ビットがセットされ BUSY ビットにより HOST からのアクセスが
ないことを確認した後 , STAL ビットをセットしてから初期化を行ってください。
[bit14] DRQIE ( パケット転送割込み許可ビット )
EP1 ∼ EP5 ステータスレジスタ "DRQ" の割込み要因による割込みを許可します。
DRQIE
動作モード
0
DRQ 要因による割込み禁止
1
DRQ 要因による割込み許可
<注意事項>
自動バッファ転送モード (DMAE=1) を使用する場合は DMA の設定 , 転送を許可してから
DRQIE ビットの許可をするようにしてください。
[bit13] SPKIE ( ショートパケット割込み許可ビット )
EP1 ∼ EP5 ステータスレジスタ "SPK" の割込み要因による割込みを許可します。
SPKIE
動作モード
0
SPK 要因による割込み禁止
1
SPK 要因による割込み許可
[bit12] 予約ビット
このビットは , 予約ビットです。書込みは動作に影響しません。読出し時は不定で
す。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
305
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit11] BUSY ( ビジーフラグビット )
HOST から送受信バッファへの書込み , または読出しアクセス中であることを示し
ます。BUSY ビットは自動でセット , リセットされます。
BUSY
動作モード
0
HOST からのアクセスなし
1
HOST からの書込みまたは読出し動作中
<注意事項>
DRQビットがセットされた状態でBUSYビットもセットされている場合, ダブルバッファ
のうち CPU または DMA アクセスしているバッファとは別のバッファが HOST からのア
クセス中であることを意味します。また , 通常であれば BUSY ビットによる制御は必要あ
りませんが , BFINI のセットによるバッファの初期化をする場合 , DRQ ビットがセットさ
れ BUSY ビットにより HOST からのアクセスがないことを確認した後 , STAL ビットを
セットしてから初期化を行ってください。
[bit10] DRQ ( パケット転送割込み要求ビット )
EP1 ∼ EP5 のパケット転送が正常に終了し , データ処理が必要であることを示しま
す。DRQ ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでクリア
してください。リードモディファイライト時は "1" が読み出されます。
DRQ
動作モード
0
割込み要因クリア
1
パケット転送が正常に終了
<注意事項>
自動バッファ転送モード (DMAE=1) を使用しない場合は , 送受信バッファのデータリード
またはデータライト処理が済んだら DRQ ビットに "0" 書込みする必要があります。DRQ
ビットをクリアした時点でアクセスバッファを切り換えます。転送方向が IN 方向の設定の
場合 , DRQ ビットが "1" でバッファにデータ書込みせずにクリアした場合 , 0 バイトデー
タを設定したことになります。初期設定において EP1 ∼ EP5 制御レジスタ (EP1C ∼
EP5C) の DIR を "1" にセットした場合 , 対応するエンドポイントの DRQ ビットも同時に
セットされます。また , DRQ ビットがセットされていないときの "0" 書込みは禁止です。
306
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
MB90330A シリーズ
[bit9] SPK ( ショートパケット割込み要求ビット )
ホストからの転送データ数が正常受信時に EP1 ∼ EP5 制御レジスタ (EP1C ∼ EP5C)
の PKS で設定したマックスパケット数に満たない場合 (0 バイトを含みます ) を示
します。SPK ビットは割込み要因であり , "1" 書込みは無視します。"0" 書込みでク
リアしてください。リードモディファイライト時は "1" が読み出されます。
SPK
動作モード
0
マックスパケット転送数分を受信
1
マックスパケット転送数未満を受信
<注意事項>
IN 方向のデータ転送時に SPK ビットはセットされません。
EP2 ∼ EP5:[bit8, bit7] 予約ビット
EP2 ∼ EP5 の場合 , これらのビットは , 予約ビットです。書込みは動作に影響しま
せん。読出し時には "0" が読み出せます。
EP1:[bit8 ∼ bit0]SIZE ( パケットサイズ表示ビット )
EP2 ∼ EP5:[bit6 ∼ bit0] SIZE ( パケットサイズ表示ビット )
EP1 ∼ EP5 の OUT パケット転送終了時に受信バッファに書き込まれたデータバイ
ト数が表示されます。SIZE ビットは EP1 ∼ EP5 ステータスレジスタ (EP1S ∼ EP5S)
の DRQ の割込み要因がセットされたときに有効な値に更新されます。
EndPoint1 ∼ EndPoint5 の最大転送数は下記のとおりになります。
EndPoint
最大転送数
表示範囲
1
256 バイト
000H ∼ 100H
2∼5
64 バイト
00H ∼ 40H
<注意事項>
SIZE ビットは OUT 方向転送時での HOST からのバッファ書込みデータ数がセットされ
るので , IN 方向時に読み出された値は意味をもちません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
307
第 13 章 USB ファンクション
13.3 USB ファンクションのレジスタ
13.3.10
MB90330A シリーズ
EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT)
EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) は , エンドポイント 0 ∼ 5 に関する転
送データの送受信バッファへのリードまたはライトのアクセスレジスタになります。
■ EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT)
図 13.3-12 に , EP0 ∼ EP5 データレジスタ (EP0DT ∼ EP5DT) のビット構成を示します。
図 13.3-12 EO0~5 データレジスタ (EP0DT ∼ EP5DT) のビット構成
アドレス bit
EP0DT 0000F0H
EP1DT 0000F2H
EP2DT 0000F4H
EP3DT 0000F6H
EP4DT 0000F8H
EP5DT 0000FAH
アドレス bit
EP0DT 0000F1H
EP1DT 0000F3H
EP2DT 0000F5H
EP3DT 0000F7H
EP4DT 0000F9H
EP5DT 0000FBH
7
6
5
X
R/W
X
R/W
X
R/W
15
14
13
X
R/W
X
R/W
X
R/W
4
3
BFDT
X
X
R/W
R/W
12
11
BFDT
X
X
R/W
R/W
2
1
X
R/W
X
R/W
10
9
X
R/W
X
R/W
0
X
←初期値
R/W ←アクセス
8
X
←初期値
R/W ←アクセス
以下に , EP0∼ EP5 データレジスタ (EP0DT∼ EP5DT) の各ビットの機能を説明します。
[bit15 ∼ bit0] BFDT: エンドポイント用送受信バッファデータビット
各エンドポイント用送受信バッファへのデータリード , ライトレジスタです。DMA
転送による BFDT レジスタへのアクセスはワードアクセスのみ対応しています。奇
数分のデータ数を転送する場合で DMA 転送の場合 , 最後のデータ転送をバイト転
送に設定することで奇数分の DMA 転送が可能です。CPU アクセスでのワード転送
の場合でも , DMA 転送と同様に最後にバイト転送を行います。
<注意事項>
EP0DT ∼ EP5DT レジスタへの CPU アクセスはバイト , ワード共に可能で , バイトの場
合は最初に bit7 ∼ bit0 へのアクセスとし , 次は bit15 ∼ bit8 へのアクセスとして , 以後上
位 , 下位を交互にアクセスしていってください。ビット命令による EP0DT ∼ EP5DT レ
ジスタへのアクセスは禁止です。
308
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
13.4
USB ファンクションの動作説明
USB ファンクションは , USB(Universal Serial Bus) 通信プロトコルに対応し , 基本
的なプロトコル動作 ( ハンドシェーク ) をハードウェアがサポートしています。した
がって , 通信データのみを処理することで USB 通信が実現できます。
■ USB ファンクションの動作
USB ファンクションは USB プロトコルをサポートするホストコントローラと双方向の
パケット転送を行います。ホスト PC とデバイスの接続 , 構成はエニュメレーションに
より実施されます。そのあとにデバイスドライバを使用した各種の転送タイプでの通
信が行われます。
エニュメレーションを例にホスト PC とデバイスの USB 通信の動作について説明しま
す。
全体の処理内容を理解するためのレジスタおよび USB パケットの動きを示します。
● エニュメレーション処理
USB が動作する上で一番初めにホスト PC とデバイスとの接続を確立する処理です。
USB のバス上にどのようなデバイスが接続されているかホスト PC が USB コントロー
ル転送 (USB の転送タイプ ) を使って調査します。(USB 仕様で規定 ) これは 6 本あるエ
ンドポイントのうち EP0(EndPoint0) を使用します (USB 仕様 ) 。
EP1 ∼ EP5 を使用するためには USB バス上で
① USB バスリセット
② SET_Address によるアドレスセット
③ SET_Config による構成セット
を受信しないと動作しません。
図 13.4-1 USB ケーブル端子接続例
方向
USB バス接続検出
ホスト←デバイス
動作概要
USB バス上のプルアップをホストが検出する
まで動作は行われません。
ディスクリプタ情
報の取得
ホスト←デバイス
ディスクリプタのデータをホストに返します。
デバイスアドレス
の設定
ホスト→デバイス
ホストから任意のアドレスを割り当てられます。
ディスクリプタ情報 ホスト←デバイス
の取得(デバイス)
ディスクリプタのデータをホストに返します。
ディスクリプタ情報 ホスト←デバイス
の取得(構成)
ディスクリプタのデータをホストに返します。
構成の設定
CM44-10129-6
ホスト→デバイス
ホストから構成番号を割り当てられます。
FUJITSU MICROELECTRONICS LIMITED
309
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
● 接続検出
デバイスからホスト PC に通知します。
ホストは USB バスの 2 本の信号線 (D+, D − ) を監視し , どちらかの信号が "H" レベル
になることによりデバイスが接続されることを認識します。
自己電源デバイスとして使用する場合の詳細な手順は「13.4.1 接続検出と切断検出」を
参照してください。バス電源デバイスとして使用する場合は「● レジスタ初期設定例
と動作開始手順例」にしたがって処理してください。
● レジスタ初期設定と動作開始手順例
USB ファンクションのレジスタ初期設定例を示します。
① EP0C レジスタによる EP0 の設定 ( パケットサイズなど )
② EP1C ∼ EP5C レジスタによる各 EP の EPEN, DIR, TYPE などを設定
③ UDCC レジスタの RST ビットのクリア
④ EP0IS, EP0OS, EP1S ∼ EP5S レジスタの BFINI をクリア
⑤ UDCC レジスタの HCON ビットのクリア
● USB バスリセット
ホストPCからデバイスにバスリセットがかかりUSBデバイスコアが初期化されます。
デバイスは以下の順序で処理が必要です (USB 接続後の最初のバスリセットでは処理
の必要はありません ) 。
① UDCC レジスタの RST で USB ファンクションを初期化
② 使用する送受信バッファ , 関係する制御レジスタを再設定
③ ファームの制御をエニュメレーション前に戻します。
310
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
● ディスクリプタの取得
ホスト PC からデバイスに要求がありデータをホストに通知します。
詳細には以下の 3 つのステージに分かれて通信されます 。
図 13.4-2 通信ステージ
セットアップステージ
→
データステージ
→
ステータスステージ
セットアップステージでは , ホスト PC から正常にパケットが受信されたか確認し , そ
のコマンドが何かをデコードします。また , 次のデータステージで返すディスクリプタ
の情報を送信バッファに用意します。データステージでは単にホスト PC からデータが
正常に送信されたかを確認します。ステータスステージでは , ホスト PC がデータなし
パケットの転送をしますので終了処理をします。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
311
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
接続検出と切断検出
13.4.1
USB ホストとの接続検出と切断検出について説明します。
■ USB システムの接続例
外部割込み端子を USB コネクタの VBUS ピンに接続し , プルダウン抵抗を接続するこ
とで USB ホストとの接続と切断を検出することができます。図 13.4-3 に ,USB コネク
タの D+, D-, VBUS との接続例を示します。
図 13.4-3 USB システム接続例
USBデバイス機器
Bコネクタ
本デバイス
USBホスト
VBUS(5V)
VBUS
外部割込み
(3.3V)
D+
D-
D-
USB
D+
I/O
I/O
USB
HCON
● 接続検出
図 13.4-4 接続検出時の動作
HOSTと接続
VBUS
外部割込み許可
ENx
要因レベルの変更
ERx
{LBx,LAx}
{0,1}
{0,0}
HCON
接続許可
VBUSが安定する期間
デバイスは以下の順序によりホスト PC との接続を認識し , 処理します。
① VBUS に接続した外部割込みの要因レベルを "H" レベル検出に設定し , 割込み許
可します。
② 外部割込み端子の "H" レベル検出で USB ホストが接続されたことを認識して
VBUS が安定する期間を待ちます。
312
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
③ 外部割込みをいったん禁止にします。外部割込み要因レベルを "L" レベル検出に
設定変更し,割込み要因のクリアして再び外部割込みを許可します。
④ 初期設定 (USB ファンクションレジスタを含むすべての初期化 )「レジスタ初期
設定例と動作開始手順例」参照してください。
⑤ UDCC レジスタの HCON ビットをクリアし ,D+ のプルアップ抵抗を接続します
( プルアップ抵抗の制御をしていない場合でも HCON ビットもクリアします )。
<注意事項>
外部割込み端子にノイズフィルタを外付けした場合は上記の VBUS 安定期間をプログラ
ムでとる必要はありません。
● 切断検出
図 13.4-5 切断検出時の動作
VBUS
HOSTと切断
ENx
要因レベルの変更
ERx
{LBx,LAx}
{0,0}
{0,1}
ストップモードからの復帰時
SUSP
USTP
HCON
VBUS安定期間または
発振安定待ち時間
切断設定
デバイスは以下の順序によりホスト PC との切断を認識し , 処理します。
① VBUS に接続の外部割込み端子の "L" レベル検出で USB ホストが切断されたこ
とを認識します。
② ストップモードからの復帰時:
発振安定待ち時間後に UDCS レジスタ SUSP, UDCC レジスタ USTP の順にク
リアします。
ストップモード以外のとき:
VBUS が安定する期間を待ちます。
③ いったん外部割込みを禁止します。外部割込み要因レベルを "H" レベル検出に設
定変更し,外部割込み要因のクリアして再び外部割込みを許可します。
④ UDCC レジスタの HCON ビットをセットして ,D+ のプルアップ抵抗を切断しま
す。( プルアップ抵抗の制御をしてない場合でも UDCC レジスタの HCON ビッ
トをセットします。)
<注意事項>
外部割込み端子にノイズフィルタを外付けした場合は上記の VBUS 安定期間をプログラ
ムでとる必要はありません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
313
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
13.4.2
MB90330A シリーズ
コマンド応答時の各レジスタ動作
基本となるレジスタの動作および制御より USB パケットの処理方法 ( アーキテク
チャ ) を説明します。CPU 割込みによるファームウェアの処理はハンドシェークご
とに処理します。これは各パケットのステージ単位に処理することに等しくなります。
■ リードコマンド応答時の各レジスタ動作
GetDescripter, SynchFrame, クラスベンダーコマンドの場合
図 13.4-6 リードコマンド応答時の各レジスタ動作
ホストPC
→デバイス
セットアップ
ステージ
SET DATA
UP
0
デバイス
ACK
IN
ACK
DATA0
ライト
→ホストPC
DRQIIE
DRQI
IN
DRQO
ACK
DATA 1
DATA 0
コマンド
リード
DRQOIE
ステータス
ステージ
データステージ
OUT
DATA 1
ACK
DATA1
ライト
ソフト
クリア
DATA1
リード
ソフト
クリア
SETP
①セットアップ
処理
②データステージ処理
③コマンド
終了処理
● セットアップ処理
セットアップステージを受信したときに DRQO がセットされます。DRQO がセットさ
れた時点で CPU 割込みに入り SETP フラグを確認します。セットされていれば受信
バッファにあるコマンドを必要な分読み出して ( 必ずしも 8 バイトすべて読み出す必
要はありません ) コマンドをデコードして各種設定処理し , SETP フラグ , DRQO 割込
み要因をクリアし戻ります。
● データステージ処理
コマンドデコードの結果 , データステージが IN 方向の場合 , DRQIIE を許可し ( 割込み
要因 DRQI は初期値 "1" なので割込み許可をセットするだけ ), CPU 割込みにて送信デー
タを送信バッファに転送します。転送終了後 , 割込み要因 DRQI をクリアしてから戻り
ます。
IN 方向のデータパケットが終了すると DRQI がセットされます。DRQI がセットされ
た時点で CPU 割込みに入り , 次のデータパケットに備え送信データを送信バッファに
転送します。転送終了後 , 割込み要因である DRQI をクリアして戻ります。
<注意事項>
この USB ファンクションは , USB 2.0 で新たに追加されたコマンドには対応していない
ため , Get Descripter コマンドに対して USB リビジョンは 1.1 で応答してください。
314
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
● コマンド終了処理
OUT 方向のステータスステージが終了すると DRQO がセットされます。DRQO がセッ
トされた時点で CPU 割込みに入り , 受信データ数 0 を確認し , 次のセットアップステー
ジに備え , 割込み要因である DRQO をクリアして戻ります。
■ ライトコマンド応答時の各レジスタ動作
SetDescripter, クラスベンダーコマンドの場合
図 13.4-7 ライトコマンド応答時の各レジスタ動作
セットアップ
ステージ
ホストPC
→デバイス
SETUP DATA0
デバイス
→ホストPC
ステータス
ステージ
データステージ
OUT
ACK
DATA0
OUT
ACK
DRQIIE
IN
DATA1
ACK
ACK
DATA1
ソフト
クリア
DRQI
コマンド
リード
DRQOIE
DRQO
DATA0
リード
ソフト
クリア
DATA1
リード
ソフト
クリア
SETP
①セットアップ処理
②データステージ処理
③コマンド
終了処理
● セットアップ処理
セットアップステージを受信したときに DRQO がセットされます。DRQO がセットさ
れた時点で CPU 割込みに入り SETP フラグを確認します。セットされていれば受信
バッファにあるコマンドを必要な分読み出して ( 必ずしも 8 バイトすべて読み出す必
要はありません ) デコードし各種設定処理をします。ステータスステージの 0 バイト
応答に備え , 送信バッファへデータをライトせずに , DRQI( 割込み要因 DRQI は初期値
"1" のため ) をクリアし , ステータスステージの正常終了確認用に DRQIIE をセットし
ておきます。また SETP フラグ , DRQO 割込み要因をクリアし割込みから復帰します。
● データステージ処理
OUT 方向のデータステージが終了すると DRQO がセットされます。DRQO がセットさ
れた時点で CPU 割込みに入ります。EP0 ステータスレジスタの SIZE を確認し , 受信し
たデータ数分だけ DMA を起動するか , CPU リードにより受信バッファからデータを
読み出します。
その後 , 割込み要因である DRQO をクリアして割込みから復帰します。
● コマンド終了処理
IN 方向のステータスステージが終了すると DRQI がセットされます。DRQI がセット
された時点で CPU 割込みに入りステータスステージが正常終了したことを確認できま
す。その後 , 割込み許可である DRQIIE をクリアして戻ります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
315
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
13.4.3
MB90330A シリーズ
STALL 応答と解除
エンドポイント 0 の場合と , エンドポイント 1 ∼エンドポイント 5 の場合それぞれ
に対して STALL 応答と解除方法について説明します。
■ エンドポイント 0 の STALL 応答 / 解除について
エンドポイント 0 の STALL 応答 / 解除制御は , EP0 制御レジスタ (EP0C) の STAL ビッ
トにて行います。
• STAL ビットのセットタイミング
STALL応答は, コントロール転送のセットアップステージである事を示すSETPビッ
ト =1 検出 (DRQO ビット =1 割込み ) にてコマンドを解釈し , STALL 応答が必要な
場合に STAL ビットをセットします ( 図 13.4-8 参照 )。STAL ビットセット後に割込
み要因 (DRQO ビット ) をクリアしてください。
図 13.4-8 STAL ビットセットのタイミング
アイドル期間
データステージ
セットアップステージ
トークン
パケット
データ
パケット
ハンドシェイク
パケット
トークン
パケット
データ
パケット
ハンドシェイク
パケット
DRQO ビット
SETP ビット
STAL ビット
316
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
• STAL ビットのクリアタイミング
STALL 解除は , コントロール転送のセットアップステージであることを示す SETP
ビット =1 検出 (DRQO ビット =1 割込み ) にて STAL ビットクリアします ( 図 13.4-9
を参照してください )。
図 13.4-9 STAL ビットクリアのタイミング
アイドル期間
データステージ
セットアップステージ
トークン
パケット
DRQO
SETP
データ
パケット
ハンドシェイク
パケット
トークン
パケット
データ
パケット
ハンドシェイク
パケット
ビット
ビット
STAL ビット
クリアタイミング
STAL
ビット
アイドル時間+2.75 μ s 以内
STALL 応答解除 (STAL ビットクリア ) は , SETP ビット =1 (DRQO ビット =1 割込み )
を検出してから , 次のデータステージのデータパケット送受信開始前に , STAL ビッ
トクリアしてください。DRQO ビット =1 から , STAL ビットクリアまでの時間は下
記のとおりです ( 転送速度:Full Speed 12Mbps 時 )。下記時間内に STAL ビットがク
リアされない場合 , データステージのハンドシェイクパケットにて STAL 応答しま
す。
DRQO ビット =1検出から STAL ビットクリアまでの時間: アイドル時間+2.75μs以内
※ アイドル期間が最小の 2 ビット転送時間である場合は約 2.9μs 以内となります。
STAL ビットクリアが , 上記時間内で対応できない場合には , USB ホスト側のドライ
バソフトでアイドル時間を長くする等の対応を行ってください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
317
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
■ エンドポイント 1 ∼エンドポイント 5 の STALL 応答 / 解除について
エンドポイント 1 ∼エンドポイント 5 の STALL 応答 / 解除制御は , EP1 ∼ EP5 制御レ
ジスタ (EP1C ∼ EP5C) の STAL ビットと内部状態ビットで行われます。
• ソフト処理にて STALL 応答したい場合
ソフト処理で STALL 応答する場合の手順を図 13.4-10 に示します。STALL 応答する
場合 , 該当するエンドポイントの STAL ビットをソフトでセットします。このとき ,
内部状態ビットは変化しません。次に , ホストから STAL ビットがセットされている
エンドポイントに対してトランザクションが発生したとき , ハードが自動的に該当
エンドポイントの内部状態ビットをセットし , ホストに対して STALL 応答します。
一度 , 内部状態ビットがセットされた後は , STAL ビットをクリアしても , ホストか
ら Clear Feature コマンドが発行されるまで , 内部状態ビットはセットされたままとな
り , STALL 応答を継続します。また , Clear Feature コマンドで内部状態ビットがクリ
アされても , STAL ビットがセットされている場合は , 該当するエンドポイントに対
するトランザクションが発生するたびに内部状態ビットがセットされるため STALL
応答を継続します。したがって , STALL 応答を解除するためには , STAL ビットをク
リアし , さらに Clear Feature コマンドで内部状態ビットをクリアする必要がありま
す。
318
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
図 13.4-10 ソフト処理にて STALL 応答したい場合
ホスト または ハブ
ファンクション
Function マクロの
ソフトウェア
EPn (End Point n)
内部状態ビット STAL ビット
0
0
内部状態ビット STALビット
0
1
STAL ビットを
“1”にセット
IN/OUT トークン
データ( OUT の場合)
内部状態ビット STALビット
1
1
STAL ビットが“1”であるとき,
STALL ハンドシェーク トランザクションが発生すると
内部状態ビットが “1” にセット
される
IN/OUT トークン
データ( OUT の場合)
EPn に対する
トランザクション
内部状態ビットが “1”であると
き, トランザクションに対する
STALL 応答を継続する。
STALL ハンドシェーク
内部状態ビット
IN/OUT トークン
1
STAL ビット
0
STAL ビットを
“0”にクリア
内部状態ビットが “1”であると
き, トランザクションに対する
STALL 応答を継続する。
STAL ビットが“0”であっても
STALL ハンドシェーク
内部状態ビットに影響しない。
データ( OUT の場合)
Setup トークン
EP0 に対する
Clear Feature
コマンド
( EPn を指定)
データ
ACK ハンドシェーク
Clear Feature コマンド
で EPn が指定されると,
内部状態ビットが“0”に
クリアされる。
内部状態ビット
0
CM44-10129-6
STAL ビット
0
FUJITSU MICROELECTRONICS LIMITED
319
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
• ハードが自動で STALL 応答する場合
ハードが自動で STALL 応答する場合の手順を図 13.4-11 に示します。Set Feature コ
マンドで STALL 応答設定された場合 , STAL ビットに関係なく , ハードが自動的に該
当エンドポイントの内部状態ビットをセットし , STALL 応答します。一度 , 内部状態
ビットがセットされた後は , STAL ビットに関係なく , ホストから Clear Feature コマ
ンドでクリアされるまで , 内部状態ビットは保持されます。Clear Feature コマンドで
該当ビットがクリアされた後は , STAL ビットを参照するようになります。したがっ
て , STALL 応答を解除するには , Clear Feature コマンドで内部状態ビットをクリアす
る必要があります。
図 13.4-11 ハードが自動で STALL 応答する場合
ファンクション
Function マクロの
ソフトウェア
EPn (End Point n)
ホスト または ハブ
内部状態ビット STALビット
0
0
Setup トークン
EP0 に対する
Set Feature
コマンド
(EPn を指定 )
データ( OUT の場合)
ACK ハンドシェーク
Set Feature コマンドで
EPn が指定された場合,
内部状態ビットが “1”に
セットされる。
内部状態ビット STALビット
1
0
IN/OUT トークン
データ( OUT の場合)
EPn に対する
トランザクション
STALL ハンドシェーク
内部状態が“1”であるとき,
トランザクションに対する
STALL 応答を継続する。
STAL ビットが“0”であって
も内部状態ビットに影響
しない。
Setup トークン
EP0 に対する
Clear Feature
コマンド
(EPn を指定 )
320
データ
ACK ハンドシェーク
内部状態ビット STALビット
0
0
Clear Feature コマンド
で EPn が指定されると,
内部状態ビットが“0”に
クリアされる。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
13.4.4
サスペンド機能
USB デバイスはバス電源の構成ではサスペンド状態において 500 μA 以下に消費電
力を落とす必要があります。ここではデバイスがサスペンド状態に移行し , STOP
モードに入れるまでを説明します。
■ サスペンド処理
USB デバイスコアがサスペンド状態を検出した場合に UDCS レジスタの SUSP が有効
にセットされます。
以下にサスペンド処理する例を示します。
図 13.4-12 サスペンド動作
1ms
ホストPC
→デバイス
SOF
SUSP
1ms
SOF
サスペンド状態
3ms
SOF
リモートウェークアップ
サポートの場合
2ms
STP
SUSPフラグ
ソフトクリア
● サスペンド処理
USB バス上に 3 ms 以上動作がない場合 , USB ファンクションはサスペンドを検出し ,
UDCS レジスタの SUSP 割込み要因がセットされます。リモートウェイクアップをサ
ポートするデバイスの場合はここからさらに 2 ms 待ち ( これはこの時間リモートウェ
イクアップさせないためです ), ストップモードに設定します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
321
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
ウェイクアップ機能
13.4.5
USB デバイスをサスペンド状態からウェイクアップ状態にするには USB プロトコ
ルで 2 つの手段があります。
• デバイスからのリモートウェイクアップ
• ホスト PC からのウェイクアップ
各々について説明します。
■ リモートウェイクアップ
図 13.4-13 リモートウェイクアップ動作
サスペンド状態
20ms
1ms
1ms
RESUME
SOF
SOF
ホストPC
→デバイス
デバイス
→ホストPC
RESUME
10ms
発振安定時間
RESUM
STP
INT端子
RESUM
ソフトセット・クリア
外部割込み
デバイスは以下の順序で処理が必要です。
① 外部割込みでデバイスをストップモードから復帰させます。
② UDCC レジスタの RESUM をセットします。
③ UDCC レジスタの RESUM をクリアします。
■ ホストからウェイクアップ
図 13.4-14 ホストからのウェイクアップ動作
サスペンド状態
20ms以上
ホストPC
→デバイス
RESUME
発振安定時間
WKUP
1ms
1ms
SOF
SOF
WKUPフラグ
ソフトクリア
STP
デバイスは以下の処理が必要です。
① 発振安定時間が 10 ms を超えないように設定
② WKUP 要因による割込みに入り , 割込み要因である UDCS の WKUP をクリアし割
込みから復帰します。
322
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
13.4.6
DMA 転送機能
USB ファンクションで通信するデータを送受信バッファと内蔵 RAM との間で DMA
転送することが可能です。DMA 転送には 1 パケット単位ごとに転送数を設定し転送
するパケット転送モードと , 設定した転送データ数分を 1 回の設定で転送するデー
タ数自動転送モードの 2 つが選択できます。各 DMA 転送モードについて説明しま
す。
■ パケット転送モード
• 1 パケット単位ごとに転送数を DMA に設定し転送終了後 , 割込み要因をクリアして
転送するパケット転送モードです。転送モードは各エンドポイントに対するどの
バッファへのアクセスも可能です。
• OUT方向, IN方向のそれぞれでバッファをアクセスするタイミングを次に示します。
• OUT 方向 ( ホスト PC →デバイス ) 転送
図 13.4-15 OUT パケット転送
OUTパケット
ホストPC
→デバイス
デバイス
→ホストPC
OUT
OUTパケット
OUT
DATA0
DATA1
ACK
ACK
DMAE
DRQフラグ*
DRQフラグ*
CPUクリア
CPUクリア
DRQIE
DRQ
SIZE
DER(ENx)
DMA受信バッファ読出し
(DATA0)
DMA受信バッファ読出し
(DATA1)
OUT 方向転送ではデバイスは以下の順序で処理が必要です。
① DRQ フラグがセットされ , 割込み処理に入ったら転送データ数を確認します。
② 転送データ数を DMA のデータカウンタレジスタ DDCT に設定し DER レジスタで
DMA を許可して転送開始します。
③ 転送後 , EP1S ∼ EP5S レジスタの該当する DRQ フラグと μDMAC の DSR レジスタ
の該当する割込み要因フラグをクリアして割込み処理から復帰します。
*: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファが空
の状態でアクセスしているバッファが読み出されたときにのみクリアでき , アクセ
スしていない方のバッファに読み出されていないデータが残っていた場合は "0" を
ライトしてもクリアされません ( 破線状態 )。連続して DRQ による割込み処理に入
ることになります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
323
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
● IN 方向 ( ホスト PC →デバイス ) 転送
図 13.4-16 IN パケット転送
INパケット
INパケット
ホストPC
→デバイス
デバイス
→ホストPC
IN
ACK
DATA0
DRQフラグ*
CPUクリア
IN
DRQフラグ*
CPUクリア
ACK
DATA1
DMAE
DRQIE
DRQ
DER(Enx)
DMA送信バッファ書込み
DMA送信バッファ書込み
(DATA1)
(DATA0)
IN 方向転送ではデバイスは以下の順序で処理が必要です。
① DRQ フラグがセットされ , 割込み処理に入ったら , 次 IN パケットで転送する転送
データ数を DMA のデータカウンタレジスタ DDCT に設定し DER レジスタで DMA
を許可して転送開始します。
② DMA 転送後 , EP1S ∼ EP5S レジスタの該当する DRQ フラグと μDMAC の DSR レ
ジスタの該当する割込み要因フラグをクリアして割込み処理から復帰します。
*: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファに既
にデータが書き込まれている状態で , アクセスしているバッファにデータが書き込
まれたときにのみクリアでき , アクセスしていない方のバッファが空の場合は "0"
をライトしてもクリアされません ( 破線状態 )。連続して DRQ による割込み処理に
入ることになります。
■ データ数自動転送モード
DMA にあらかじめ転送する総データ数を設定し転送許可ビットもセットしておきま
す。DMAE が許可されていてホストからの転送後 DRQ がセットされると , EP1 ∼ EP5
制御レジスタ (EPxC) レジスタの PKS 分のデータ数を転送した後に自動で割込み要因
をクリアします (DRQ フラグが実際にクリアされるかはダブルバッファが共に空にな
るか , フルになるかによります )。以後 , ホストからの転送後に同様の処理をあらかじ
め DMA に設定した転送データ数分まで繰り返し行います。その間 CPU による設定は
一切必要なく 1 回の設定で転送する自動転送モードです。次の転送を行う場合は , ラス
トデータ転送後に CPU 割込みに入るのでそこで μDMAC の再設定を行い , DMA を許
可して割込み復帰します。データ数自動転送モードは DMAE=1 として使用するのでエ
ンドポイント 1 から 5 に対するバッファアクセスのみ有効となります。OUT 方向 , IN
方向のそれぞれでバッファをアクセスするタイミングを次に示します。
324
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
図 13.4-17 OUT 方向 ( ホスト PC →デバイス ) 転送
最終OUTパケット
OUTパケット
ホストPC
→デバイス
デバイス
→ホストPC
OUT
OUT
DATA0
ACK
DATA1
DRQフラグ*
自動クリア
ACK
DRQフラグ*
自動クリア
DMAE
DRQIE
DATA0
DATA1
DMA受信バッファの
PKS部分の読出し
DMA受信バッファの
残り部分の読出し
DRQ
SIZE
DER(Enx)
デバイスは OUT 方向転送 , IN 方向転送共に以下の順序で処理が必要です。
① 転送する総データ数を DMA のデータカウンタレジスタ DDCT に設定し , DER レジ
スタで DMA を許可します。
② DMAE, DRQIE を許可設定します。
③ 転送後 , μDMAC の DSR レジスタの該当する割込み要因による割込みで必要に応じ
て μDMAC の再設定を行い , フラグをクリアして割込み処理から復帰します。
*: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファが空
の状態でアクセスしているバッファが読み出されたときにのみクリアされ ( 自動リ
セット), アクセスしていない方のバッファに読み出されていないデータが残ってい
た場合はクリアされません。連続して DRQ による割込み処理に入ることになりま
す。
図 13.4-18 IN 方向 ( デバイス→ホスト PC) 転送
最終データ
データ
ホストPC
→デバイス
デバイス
→ホストPC
IN
DRQフラグ*
自動クリア
IN
ACK
DATA0
DRQフラグ*
自動クリア
ACK
DATA1
DMAE
DRQIE
DRQ
DATA0
DATA1
DER(Enx)
DMA送信バッファの
PKS部分の書込み
CM44-10129-6
DMA送信バッファの
残り部分の書込み
FUJITSU MICROELECTRONICS LIMITED
325
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
デバイスは OUT 方向転送 , IN 方向転送共に以下の順序で処理が必要です。
① 転送する総データ数を DMA のデータカウンタレジスタ DDCT に設定し DER レジ
スタで DMA を許可します。
② DMAE, DRQIE を許可設定します。
③ 転送後 , μDMAC の DSR レジスタの該当する割込み要因による割込みで必要に応じ
て μDMAC の再設定を行い , フラグをクリアして割込み処理から復帰します。
*: EP1 ∼ EP5 はダブルバッファ構成となっており , アクセスしていないバッファに既
にデータが書き込まれている状態でアクセスしているバッファにデータが書き込
まれたときにのみクリアされ , アクセスしていない方のバッファが空の場合はクリ
アされません。連続して DRQ による割込み処理に入ることになります。
326
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
MB90330A シリーズ
13.4.7
NULL 転送機能
USB ファンクションから送信するデータがラストパケットで最大パケット数のと
き , 次パケットの転送で 0 バイトの転送を自動送信することが可能です。NULL 転送
機能は DMAE を許可する必要があり , IN 転送時のみ有効な機能です。
■ NULL 転送モード
自動バッファ転送モードがセットされている状態 (DMAE=1) で , IN 方向のデータ転送
要求がきたときに , 最大パケット数の DMA 書込みが行われ , かつ最後のデータ書込み
で DMA カウントデータ数が 0 になる場合 , HOST から IN 方向のラストのデータ転送
要求がきたときに 0 バイトのデータ転送を自動で設定し , 次の IN 方向のデータ転送要
求で 0 バイト送信するモードです。DMA でラストのデータがバッファに書き込まれた
後 , HOST から 0 バイトのデータが読み出されるまで DRQ の割込みフラグはセットさ
れません。バッファをアクセスするタイミングを次に示します。
● IN 方向 ( デバイス→ホスト PC) 転送のみ
図 13.4-19 NULL データ転送動作
最終直前データ
ホストPC
→デバイス
DRQフラグ*
デバイス
自動クリア
→ホストPC
IN
ACK
最終データ
IN
ACK
DATA1
DATA0
0バイトデータ
ACK
IN
DATA0
DMAE
DRQIE
DRQ
NULE
最終データ
DATA1
DER(ENx)
DMA送信バッファ
MAXパケットの書込み
割込み要因設定なし
デバイスは以下の処理が必要です。
DMAE, DRQIE, NULE を許可設定します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
327
第 13 章 USB ファンクション
13.4 USB ファンクションの動作説明
328
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章
USB ホスト
この章では , USB ホストの機能と動作について示
します。
14.1 USB ホストの特長
14.2 USB ホストの制限事項
14.3 USB ホストのブロックダイヤグラム
14.4 USB ホストのレジスタ
14.5 USB ホストの動作
14.6 USB ホストの各トークンフローチャート
管理番号 : CM44-00102-1
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
329
第 14 章 USB ホスト
14.1 USB ホストの特長
14.1
MB90330A シリーズ
USB ホストの特長
USB ホストは , 必要最低限のホスト動作を実現し , PC が介在することなくデバイス
とのデータ転送ができる機能です。
■ USB ホストの特長
USB ホストは , オリジナルの USB ホスト機能です。動作モードを切り替えることで ,
USB ファンクションとしても動作可能です。
USB ホストには以下の特長があります。
• Low Speed/Full Speed 転送の自動検出
• Low Speed/Full Speed 転送サポート
• デバイスの接続および切断の自動検出
• USB バスへのリセット送出機能サポート
• IN/OUT/SETUP/SOF トークンのサポート
• IN トークン時のハンドシェークパケット自動送出 (STALL は除く )
• OUT トークン時のハンドシェークパケット自動検出
• 最大パケット長 256 バイトまでサポート
• 各種エラー (CRC エラー / トグルエラー / タイムアウト ) サポート
• ウェイクアップ機能サポート
330
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.2 USB ホストの制限事項
MB90330A シリーズ
14.2
USB ホストの制限事項
USB ホストの制限事項を示します。
■ USB ホストの制限事項
表 14.2-1 USB ホストの制限事項
ホスト
○*
ハブのサポート
バルク転送
○
コントロール転送
○
インタラプト転送
○
アイソクロナス転送
×
Low Speed
○
Full Speed
○
転送
転送スピード
PRE パケットサポート
×
SOF パケットサポート
○
CRC エラー
○
トグルエラー
○
タイムアウト
○
最大パケット<受信データ
○
エラー
デバイスの接続・切断検出
○
転送スピード検出
○
○ : サポートしている
× : サポートしていない
* : Full Speed のみ対応し , HUB は 1 段までのサポートです。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
331
第 14 章 USB ホスト
14.3 USB ホストのブロックダイヤグラム
14.3
MB90330A シリーズ
USB ホストのブロックダイヤグラム
図 14.3-1 に , USB ホストのブロックダイヤグラムを示します。
■ USB ホストのブロックダイヤグラム
図 14.3-1 USB ホストのブロックダイヤグラム
セレクタ
バッファ
RX
HRX
受信制御部
CPU I/F
UDC I/F
TX
TXENL
送信制御部
USBバス
リセット
制御部
HTX
ホスト送信
制御部
HTXENL
ブロックの説明
CPU I/F
: CPU とのインタフェース回路ブロック
バッファ
: バッファおよびバッファコントロール回路ブロック
UDC I/F
: USB とのインタフェース回路ブロック
USB バスリセット制御部 : USB バスリセット・接続制御ブロック
受信制御部
: 受信データのシリアル・パラレル変換回路および受信制御
回路ブロック
送信制御部
: ファンクション時の送信データのパラレル・シリアル変換
回路および送信制御回路ブロック
ホスト送信制御部
: ホスト時の送信データのパラレル・シリアル変換回路
および送信制御回路ブロック
TX
332
: ファンクションの送信データ信号
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
CM44-10129-6
第 14 章 USB ホスト
14.3 USB ホストのブロックダイヤグラム
RX
: ファンクションの受信データ信号
TXENL
: ファンクションの送受信方向信号
HTX
: ホストの送信データ信号
HRX
: ホストの受信データ信号
HTXENL
: ホストの送受信方向信号
FUJITSU MICROELECTRONICS LIMITED
333
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
14.4
MB90330A シリーズ
USB ホストのレジスタ
USB ホストには , 次の 10 種類のレジスタがあります。
• ホストコントロールレジスタ 0, 1(HCNT0/HCNT1)
• ホスト割込みレジスタ (HIRQ)
• ホストエラーステータスレジスタ (HERR)
• ホスト状態ステータスレジスタ (HSTATE)
• SOF 割込み FRAME 比較レジスタ (HFCOMP)
• リトライタイマ設定レジスタ (HRTIMER)
• ホストアドレスレジスタ (HADR)
• EOF 設定レジスタ (HEOF)
• FRAME 設定レジスタ (HFRAME)
• ホストトークンエンドポイントレジスタ (HTOKEN)
■ USB ホストのレジスタ
ホストコントロールレジスタ 0
bit
7
6
5
4
3
2
1
0
アドレス : 0000C0H RWKIRE URIRE CMPIRE CNNIRE DIRE SOFIRE URST HOST
リード / ライト→ (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→ (0)
HCNT0
ホストコントロールレジスタ 1
bit
15
14
予約
(R/W)
リード / ライト→
初期値→ (0)
予約
(R/W)
(0)
アドレス : 0000C1H
13
予約
(R/W)
(0)
12
予約
(R/W)
(0)
11
予約
(R/W)
(0)
10
9
8
SOFSTEP CANCEL RETRY
(R/W)
(0)
(R/W)
(0)
HCNT1
(R/W)
(1)
ホスト割込みレジスタ
bit
アドレス : 0000C2H
7
TCAN
6
5
4
3
2
1
0
予約 RWKIRQ URIRQ CMPIRQ CNNIRQ DIRQ SOFIRQ
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
リード / ライト→ (R/W)
初期値→ (0)
HIRQ
ホストエラーステータスレジスタ
bit 15
14
13
アドレス : 0000C3H LSTSOF RERR TOUT
リード / ライト→ (R/W) (R/W) (R/W)
(0)
(0)
初期値→ (0)
12
11
10
CRC TGERR STUFF
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
4
3
2
9
8
HS
HERR
(R/W)
(11B)
ホスト状態ステータスレジスタ
bit
アドレス : 0000C4H
リード / ライト→
初期値→
7
6
予約
(-)
(X)
5
1
0
ALIVE CLKSEL SOFBUSY SUSP TMODE CSTAT
(R/W)
(0)
(R/W)
(1)
(R/W)
(0)
(R/W)
(0)
(R)
(1)
HSTATE
(R)
(0)
( 続く )
334
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
( 続き )
SOF 割込み FRAME 比較レジスタ
bit
15
14
13
12
11
10
9
8
FRAMECOMP
(R/W)
(00000000B)
アドレス : 0000C5H
リード / ライト→
初期値→
HFCOMP
リトライタイマ設定レジスタ
bit
7
6
5
アドレス : 0000C6H
リード / ライト→
初期値→
bit
アドレス : 0000C7H
リード / ライト→
初期値→
15
14
bit 7(23)
6(22)
13
5(21)
アドレス : 0000C8H
リード / ライト→
初期値→
4
3
RTIMER0
(R/W)
(00000000B)
2
12
11
RTIMER1
(R/W)
(00000000B)
10
4(20)
3(19)
1
0
HRTIMER
9
8
HRTIMER
2(18)
1(17)
0(16)
RTIMER2
(R/W)
(00B)
予約
(-)
(X)
HRTIMER
ホストアドレスレジスタ
bit
15
14
13
12
11
10
9
8
Address
(R/W)
(0000000B)
アドレス : 0000C9H 予約
リード / ライト→ (-)
初期値→ (X)
HADR
EOF 設定レジスタ
bit
7
6
5
3
2
1
0
EOF0
(R/W)
(00000000B)
アドレス : 0000CAH
リード / ライト→
初期値→
bit
4
15
アドレス : 0000CBH
リード / ライト→
初期値→
14
13
12
11
HEOF
10
9
8
EOF1
(R/W)
(000000B)
予約
(-)
(X)
HEOF
FRAME 設定レジスタ
bit
7
6
5
アドレス : 0000CCH
リード / ライト→
初期値→
bit
アドレス : 0000CDH
リード / ライト→
初期値→
15
14
13
予約
(-)
(X)
4
3
FRAME0
(R/W)
(00000000B)
12
11
2
1
0
HFRAME
10
9
FRAME1
(R/W)
(000B)
8
HFRAME
( 続く )
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
335
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
( 続き )
ホストトークンエンドポイントレジスタ
bit
7
アドレス : 0000CEH TGGL
リード / ライト→ (R/W)
初期値→ (0)
336
6
5
4
3
2
1
TKNEN
ENDPT
(R/W)
(000B)
(R/W)
(0000B)
FUJITSU MICROELECTRONICS LIMITED
0
HTOKEN
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
14.4.1
ホストコントロールレジスタ 0, 1(HCNT0/HCNT1)
ホストコントロールレジスタ 0, 1(HCNT0/HCNT1) は , USB の動作モードおよび割
込みの設定を指定します。
■ ホストコントロールレジスタ 0, 1(HCNT0/HCNT1)
図 14.4-1 ホストコントロールレジスタ 0, 1 (HCNT0/1) のビット構成
ホストコントロールレジスタ 0
bit
7
6
5
4
3
2
1
0
アドレス : 0000C0H RWKIRE URIRE CMPIRE CNNIRE DIRE SOFIRE URST HOST
リード / ライト→ (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→ (0)
(X)
(X)
(X)
(X)
(X)
(X)
(○)
UDCC RST ビット→ (X)
でのリセット可否
HCNT0
ホストコントロールレジスタ 1
bit
15
アドレス : 0000C1H
予約
(R/W)
リード / ライト→
初期値→ (0)
UDCC RST ビット→ (X)
でのリセット可否
14
13
12
予約
(R/W)
(0)
(X)
予約
(R/W)
(0)
(X)
予約
(R/W)
(0)
(X)
11
10
9
8
予約 SOFSTEP CANCEL RETRY
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(1)
(X)
(X)
(X)
(X)
HCNT1
[bit15 ∼ bit11] 予約
予約ビットです。
必ず "0" を設定してください。
[bit10] SOFSTEP (SOF 割込み条件選択 )
SOF 実行ごとに SOF による割込みを発生するかどうかを設定します。ホストコン
トロールレジスタ 0(HCNT0) の SOFIRE ビットが "1" のとき有効となります。
"0" の時 , SOF 割込み FRAME 比較レジスタ (HFCOMP) の設定により , 割込みを発
生し , "1" のときは無条件で SOF 実行時に割込みが発生します。ただし , 最初の SOF
トークン時 , 割込みは発生しません。UDC 制御レジスタ (UDCC) の RST ビットで
初期化されません。
SOFSTEP
CM44-10129-6
動作モード
0
HFCOMP の設定により割込み発生
1
割込み発生
FUJITSU MICROELECTRONICS LIMITED
337
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
[bit9] CANCEL ( トークンキャンセル許可 )
ホスト割込みレジスタ (HIRQ) の SOFIRQ ビットが "1" になるとき , 一度もトークン
が実行されずにトークンが待ち状態であるとき (EOF 領域でトークンを発行 ), その
トークンを中止するかどうかを設定するビットです。UDC 制御レジスタ (UDCC) の
RST ビットで初期化されません。
CANCEL
動作モード
0
トークン継続
1
トークン中止
[bit8] RETRY ( リトライ許可 )
NAK および CRC エラー等が発生した場合 , リトライするかどうかを設定するビッ
トです。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。
RETRY
動作モード
0
リトライする
1
リトライしない
[bit7] RWKIRE ( 再起動割込み要求許可 )
レジューム終了後 , ホスト機能の動作が可能となったときに割込みを発生するかど
うかを設定するビットです。ホストモード時 , サスペンド状態にするにはホスト状
態ステータスレジスタの SUSP ビットに "1" をライトしてください。ホストモード
時のみ有効です。UDC制御レジスタ(UDCC)のRSTビットにより初期化されません。
RWKIRE
動作モード
0
再起動後割込み禁止
1
再起動後割込み許可
[bit6] URIRE (USB バスリセット時割込み要求許可 )
USB バスへのリセット動作が終了したときに割込みを発生するかどうかを設定す
るビットです。ホストモード時のみ有効です。UDC 制御レジスタ (UDCC) の RST
ビットにより初期化されません。
URIRE
動作モード
0
USB バスリセット後割込み禁止
1
USB バスリセット後割込み許可
[bit5] CMPIRE ( 完了時割込み要求許可 )
トークンが完了したときに割込みを発生するかどうかを設定します。ホストモード
時のみ有効です。UDC制御レジスタ(UDCC)のRSTビットにより初期化されません。
338
CMPIRE
動作モード
0
完了時割込み禁止
1
完了時割込み許可
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
[bit4] CNNIRE ( 接続時割込み要求許可 )
デバイスの接続時に割込みを発生するかどうかを設定するビットです。ホストモー
ド時のみ有効です。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されま
せん。
CNNIRE
動作モード
0
デバイス接続時割込み禁止
1
デバイス接続時割込み許可
[bit3] DIRE ( 切断時割込み要求許可 )
デバイスの切断時に割込みを発生するかどうかを設定するビットです。ホストモー
ド時のみ有効です。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されま
せん。
DIRE
動作モード
0
デバイス切断時割込み禁止
1
デバイス切断時割込み許可
[bit2] SOFIRE (SOF 割込み要求許可 )
SOF 送信時に割込みを発生するかどうかを設定するビットです。ホストモード時の
み有効です。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。
SOFIRE
動作モード
0
SOF 送信時に割込み禁止
1
SOF 送信時に割込み許可
[bit1] URST (USB バスリセット )
USB バスに対し , リセットを発生するかどうかを設定します。USB バスへのリセッ
ト動作中は "1" を示し , リセットが終了すると "0" になります。ホスト状態ステー
タスレジスタ (HSTATE) の SUSP ビットが "1" またはトークン実行中に "1" を設定
することは禁止です。また , "1" の間 , ホストコントロールレジスタ (HCNT0, HCNT1)
の更新は禁止です。
ホストモード時のみ有効です。更新は UDC 制御レジスタ (UDCC)
の RST ビットを "0" に設定してから行ってください。
CM44-10129-6
URST
動作モード
0
USB バス状態保持
1
バスリセット
FUJITSU MICROELECTRONICS LIMITED
339
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
[bit0] HOST ( ホストモード )
LSI がファンクションかホストかを設定します。UDC 制御レジスタ (UDCC) の RST
ビットにより初期化されませんので UDC 制御レジスタ (UDCC) の RST ビットが "1"
のときに変更してください。
また , ファンクションモードからホストモードにする場合には UDC 制御レジスタ
(UDCC) の HCON ビットを "1" にしてホスト PC または HUB と切断状態にしてくだ
さい。ホストモードからファンクションモードにする場合 , ホストステータスレジ
スタ (HSTATE) の SOFBUSY ビットを "0" にし , ホストトークンエンドポイントレ
ジスタ (HTOKEN) の TKNEN ビットが 000B になっていることを確認して変更して
ください。
340
HOST
動作モード
0
ファンクションモード
1
ホストモード
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
14.4.2
ホスト割込みレジスタ (HIRQ)
ホスト割込みレジスタ (HIRQ) は , USB ホストの割込み要求フラグを示します。
TCAN ビットを除いてホストコントロールレジスタ (HCNT0/HCNT1) の割込み許可
ビットの設定により割込みを発生させることができます。
■ ホスト割込みレジスタ (HIRQ)
図 14.4-2 ホスト割込みレジスタ (HIRQ) のビット構成
ホスト割込みレジスタ
bit
7
アドレス : 0000C2H TCAN
リード / ライト→ (R/W)
初期値→ (0)
UDCC RST ビット→ ( ○ )
でのリセット可否
6
5
4
3
2
1
予約 RWKIRQ URIRQ CMPIRQ CNNIRQ DIRQ
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(X)
(X)
(○)
(○)
(○)
(○)
0
SOFIRQ
HIRQ
(R/W)
(0)
(○)
[bit7] TCAN ( トークンキャンセルフラグ )
ホスト割込みレジスタ (HIRQ) の SOFIRQ ビットが "1" になるとき , 一度もトークン
が実行されずにトークンが中止されたことを示します。SOF による割込みと組み合
わせて使用するために割込みは発生しません。"0" にするためには "0" を書き込ん
でください。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
TCAN
動作モード
0
トークン中止なし
1
トークン中止あり
[bit6] 予約
予約ビットです。
必ず "0" を設定してください。
[bit5] RWKIRQ ( 再起動割込み要求 )
レジュームが終了したことを示します。"1" となった場合 , "0" を書き込むと "0" と
なります。"1" を書き込んだ場合には , 現在の状態を保持します。ホストコントロー
ルレジスタ 0(HCNT0) の RWKIRE ビットが "1" の場合 , "1" になると割込みが発生
し , "0" にクリアすると割込み信号もクリアされます。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
CM44-10129-6
RWKIRQ
動作モード
0
再起動による割込み要求なし
1
再起動による割込み要求あり
FUJITSU MICROELECTRONICS LIMITED
341
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
[bit4] URIRQ (USB バス割込み要求 )
USB バスへのリセットが終了したことを示します。"1" となった場合 , "0" を書き込
むと "0" となります。"1" を書き込んだ場合には , 現在の状態を保持します。ホスト
コントロールレジスタ 0(HCNT0) の URIRE ビットが "1" の場合 , "1" になると割込
みが発生し , "0" をクリアすると割込み信号もクリアされます。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
URIRQ
動作モード
0
USB バスリセットによる割込み要求なし
1
USB バスリセットによる割込み要求あり
[bit3] CMPIRQ ( 完了割込み要求 )
トークンが完了したことを示します。ホスト割込みレジスタ (HIRQ) の TCAN ビッ
トが "1" となる場合には , "1" にセットされません。"1" となった場合 , "0" を書き込
むと "0" となります。"1" を書き込んだ場合には , 現在の状態を保持します。ホスト
コントロールレジスタ 0(HCNT0) の CMPIRE ビットが "1" の場合 , "1" になると割込
みが発生し , "0" にクリアすると割込み信号もクリアされます。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
CMPIRQ
動作モード
0
トークン完了による割込み要求なし
1
トークン完了による割込み要求あり
[bit2] CNNIRQ ( 接続割込み要求 )
デバイスの接続を検出したことを示します。
"1" となった場合 , "0" を書き込むと "0"
となります。"1" を書き込んだ場合には , 現在の状態を保持します。ホストコント
ロールレジスタ 0(HCNT0) の CNNIRE ビットが "1" の場合 , "1" になると割込みが発
生し , "0" にクリアすると割込み信号もクリアされます。
UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。
342
CNNIRQ
動作モード
0
デバイス接続検出による割込み要求なし
1
デバイス接続検出による割込み要求あり
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
[bit1] DIRQ ( 切断割込み要求 )
デバイスの切断を検出したことを示します。
"1" となった場合 , "0" を書き込むと "0"
となります。"1" をライトした場合には , 現在の状態を保持します。ホストコント
ロールレジスタ 0(HCNT0) の DIRE ビットが "1" の場合 , "1" になると割込みが発生
し , "0" にクリアすると割込み信号もクリアされます。
UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。
DIRQ
動作モード
0
デバイス切断検出による割込み要求なし
1
デバイス切断検出による割込み要求あり
[bit0] SOFIRQ (SOF 割込み要求 )
SOF トークンを開始したかを示します。"1" となった場合 , "0" をライトすると "0"
となります。"1" を書き込んだ場合には , 現在の状態を保持します。ホストコント
ロールレジスタ 0(HCNT0) の SOFIRE ビットが "1" の場合 , "1" になると割込みが発
生し , "0" にクリアすると割込み信号もクリアされます。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
CM44-10129-6
SOFIRQ
動作モード
0
SOF トークン開始による割込み要求なし
1
SOF トークン開始による割込み要求あり
FUJITSU MICROELECTRONICS LIMITED
343
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
14.4.3
MB90330A シリーズ
ホストエラーステータスレジスタ (HERR)
ホストエラーステータスレジスタ (HERR) は , ホストモード時のデータ送信および
受信中にエラーが発生したかどうかを示すレジスタです。
■ ホストエラーステータスレジスタ (HERR)
図 14.4-3 ホストエラーステータスレジスタ (HERR) のビット構成
ホストエラーステータスレジスタ
bit
アドレス : 0000C3H
15
14
13
TOUT
12
11
10
CRC TGERR STUFF
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(11B)
(○)
(○)
(○)
(○)
(○)
(○)
LSTSOF RERR
リード / ライト→ (R/W)
初期値→ (0)
UDCC RST ビット→ ( ○ )
でのリセット可否
9
8
HS
HERR
[bit15] LSTSOF (SOF 実行エラー )
ホストモードで SOF トークンを実行しようとしたとき , 他のトークンを実行してい
て SOF トークンが実行できなかったことを示します。"1" をクリアするには "0" を
書き込んでください。更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設
定してから行ってください。
LSTSOF
動作モード
0
SOF 実行
1
SOF 実行エラー
[bit14] RERR ( 受信エラー )
ホストモード時 , 設定された最大パケット数より多いデータを受信したかどうかを
示します。受信エラーが発生した場合には , TOUT も "1" にセットされます。
"1" をクリアするには "0" を書き込んでください。更新は UDC 制御レジスタ (UDCC)
の RST ビットを "0" に設定してから行ってください。
RERR
動作モード
0
受信エラーなし
1
最大パケット受信エラー
[bit13] TOUT ( タイムアウト )
ホストモード時 , トークンに対し , 所定時間内に応答がないとき , タイムアウトを検
出します。そのタイムアウトが発生したかどうかを示します。"1" をクリアするに
は "0" を書き込んでください。更新は UDC 制御レジスタ (UDCC) の RST ビットを
"0" に設定してから行ってください。
344
TOUT
動作モード
0
タイムアウトなし
1
タイムアウトあり
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
[bit12] CRC (CRC エラー )
ホストモード時 , CRC エラーが発生したかどうかを示します。CRC エラーが発生し
た場合には , TOUT も "1" にセットされます。
"1" をクリアするには "0" を書き込んでください。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってくだ
さい。
CRC
動作モード
0
CRC エラーなし
1
CRC エラーあり
[bit11] TGERR ( トグルエラー )
ホストモード時 , トグルエラーが発生したかどうかを示します。"1" をクリアするに
は "0" を書き込んでください。更新は UDC 制御レジスタ (UDCC) の RST ビットを
"0" に設定してから行ってください。
TGERR
動作モード
0
トグルエラーなし
1
トグルエラーあり
[bit10] STUFF ( スタッフィングエラー )
ホストモード時 , スタッフィングエラーが発生したかどうかを示します。スタッ
フィングエラーが発生した場合には , TOUT も "1" にセットされます。
"1" をクリアするには "0" を書き込んでください。更新は UDC 制御レジスタ (UDCC)
の RST ビットを "0" にしてから行ってください。
[bit9, bit8] HS ( ハンドシェークステータス )
ホストモード時 , 送受信のハンドシェーク状態を示します。エラー等でハンド
シェークが発生しない場合および SOF トークンを終了した場合には NULL を示し
ます。送受信終了時に更新します。更新は UDC 制御レジスタ (UDCC) の RST ビッ
トを "0" に設定してから行ってください。
HS
CM44-10129-6
ハンドシェーク
bit9
bit8
0
0
ACK
0
1
NAK
1
0
STALL
1
1
NULL
FUJITSU MICROELECTRONICS LIMITED
345
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
14.4.4
MB90330A シリーズ
ホスト状態ステータスレジスタ (HSTATE)
ホスト状態ステータスレジスタ (HSTATE) は , デバイスの接続 , 転送モード等を
USB 回路の状態を示すレジスタです。CLKSEL ビットは , ファンクションモードで
も有効ですので注意してください。
■ ホスト状態ステータスレジスタ (HSTATE)
図 14.4-4 ホスト状態ステータスレジスタ (HSTATE) のビット構成
ホスト状態ステータスレジスタ
bit
アドレス : 0000C4H
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
7
6
予約
(-)
(X)
(-)
予約
(-)
(X)
(-)
5
4
3
2
1
0
ALIVE CLKSEL SOFBUSY SUSP TMODE CSTAT
(R/W)
(0)
(X)
(R/W)
(1)
(X)
(R/W)
(0)
(○)
(R/W)
(0)
(○)
(R)
(1)
(X)
HSTATE
(R)
(0)
(X)
[bit7, bit6] 予約
予約ビットです。リードは不定です。ライトは動作に影響しません。
[bit5] ALIVE (Keep-Alive 機能設定 )
Low Speed 時 , Keep-Alive 機能を設定するビットです。ホスト状態ステータスレジ
スタ (HSTATE) の CLKSEL ビットが "0" のとき , "1" に設定すると SOF の代わりに
SE0 を出力します。ホスト状態レジスタの CLKSEL ビットが "0" のとき有効で ,
CLKSELビットが"1"の場合にはALIVEビットの設定に関係なくSOFを出力します。
ALIVE
動作モード
0
SOF 出力
1
SE0 出力 (Keep-Alive)
[bit4] CLKSEL ( クロック選択 )
USB の動作クロックを選択します。Full Speed 時には "1", Low Speed 時には "0" を
設定しなければなりません。
ファンクションモード , ホストモードともに有効で , クロックの切換えは UDC 制御
レジスタ (UDCC) の RST ビットが "1" のときに実施してください。ファンクション
モード時の "0" 設定は禁止です。
346
CLKSEL
動作モード
0
Low Speed 用クロック
1
Full Speed 用クロック
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
[bit3] SOFBUSY (SOF タイマ動作 )
ホストモード時 , SOF タイマが動作中かどうかを示します。"0" を書き込むと SOF
の送出は停止します。更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設
定してから行ってください。
SOFBUSY
動作モード
0
SOF タイマ停止
1
SOF タイマ動作中
[bit2] SUSP ( サスペンド )
ホストモード時 , サスペンド状態を設定するビットです。"1" を書き込むとサスペン
ド状態にします。"1" の状態から "0" を書き込んだ場合 , または USB バスが k-state
状態に変化するとサスペンド状態を解除し , ホスト割込みレジスタ (HIRQ) の
RWKIRQ ビットが "1" となります。USB が動作中 (USB バスへのリセット , データ
の送受信 ), "1" を設定することは禁止です。
ホストモード時 , サスペンド状態でも USB 用クロックを停止することは禁止です。
更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設定してから行い , ファ
ンクションモードで "1" をセットすることは禁止です。また , ホストモード時から
ファンクションモードに変更する時に "1" の場合は "0" を書込みサスペンド状態か
ら抜けた状態で変更してください。
Table 14.4-1 サスペンドの設定
SUSP
動作モード
"1" 書込み
サスペンド
"1" 状態で "0" 書込み
レジューム
その他
状態保持
[bit1] TMODE ( 転送モード )
ホストモード時の転送モードを示します。書き込んだ時は "1" を書き込んでくださ
い。UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。CPU クロッ
クは 24 MHz で使用してください。
TMODE
0
動作モード
Low Speed
1
Full Speed
[bit0] CSTAT ( 接続状態 )
デバイスが接続されているかを示します。ホスト用端子が対象となります。UDC 制
御レジスタ (UDCC) の RST ビットにより初期化されません。
CM44-10129-6
CSTAT
動作モード
0
デバイス切断
1
デバイス接続
FUJITSU MICROELECTRONICS LIMITED
347
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
14.4.5
MB90330A シリーズ
SOF 割込み FRAME 比較レジスタ (HFCOMP)
SOF 割込み FRAME 比較レジスタ (HFCOMP) は , SOF トークン時の FRAME
Number の下位 8 ビットと比較するデータを設定するレジスタです。HFCOMP レジ
スタと FRAME Number の下位 8 ビットを比較し , ホストコントロールレジスタ 0
(HCNT0) の SOFIRE ビットが "1" で比較結果が一致した場合には , SOF 送信開始時
にホスト割込みレジスタ (HIRQ) の SOFIRQ ビットを "1" にして割込みが発生しま
す。
■ SOF 割込み FRAME 比較レジスタ (HFCOMP)
図 14.4-5 SOF 割込み FRAME 比較レジスタ (HFCOMP) のビット構成
SOF 割込み FRAME 比較レジスタ
bit
15
14
13
アドレス : 0000C5H
12
11
FRAMECOMP
10
9
8
HFCOMP
(R/W)
(00000000B)
(X)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
[bit15 ∼ bit8] FRAMECOMP
Frame Number の下位 8 ビットと比較するデータを設定します。UDC 制御レジスタ
(UDCC) の RST ビットにより初期化されません。更新は UDC 制御レジスタ (UDCC)
の RST ビットを "0" に設定してから行ってください。
348
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
14.4.6
リトライタイマ設定レジスタ (HRTIMER)
リトライタイマ設定レジスタ (HRTIMER) は , トークンのリトライ時間を設定するレ
ジスタです。
■ リトライタイマ設定レジスタ (HRTIMER)
図 14.4-6 リトライタイマ設定レジスタ (HRTIMER) のビット構成
リトライタイマ設定レジスタ
bit
7
6
5
4
3
RTIMER0
アドレス : 0000C6H
1
0
HRTIMER
(R/W)
(00000000B)
(X)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
bit
2
15
14
13
12
11
アドレス : 0000C7H
RTIMER1
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
(R/W)
(00000000B)
(X)
bit 7(23)
6(22)
アドレス : 0000C8H
5(21)
4(20)
3(19)
10
8
HRTIMER
2(18)
予約
(-)
(X)
(-)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
9
1(17)
0(16)
RTIMER2
HRTIMER
(R/W)
(00B)
(X)
[bit23 ∼ bit18] 予約
予約ビットです。
読出しは不定です。書込みは動作に影響しません。
[bit17 ∼ bit0] RTIMER0, HRTIMER1, HRTIMER2
トークンをリトライする時間を設定します。ホストコントロールレジスタ (HCNT1)
の RETRY ビットが 1 のとき , トークンの実行が開始するとリトライタイマが起動
され , 1 ビットの転送クロック (Full Speed の場合 , 12 MHz) によりタイマ値が -1 さ
れます。リトライタイマが "0" になったときにトークンのリトライは実施しません。
トークンのリトライが EOF 領域で発生した場合には SOF の実行が終了するまでリ
トライタイマは停止します。SOF の実行終了後 , 停止したタイマ値から -1 します。
UDC 制御レジスタ (UDCC) の RST ビットにより初期化されません。更新は UDC 制
御レジスタ (UDCC) の RST ビットを "0" に設定してから行ってください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
349
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
14.4.7
MB90330A シリーズ
ホストアドレスレジスタ (HADR)
ホストアドレスレジスタ (HADR) は , トークンを送信する際のアドレスフィールド
に使用されるレジスタです。
■ ホストアドレスレジスタ (HADR)
図 14.4-7 ホストアドレスレジスタ (HADR) のビット構成
ホストアドレスレジスタ
bit
15
14
13
12
予約
リード / ライト→ (-)
初期値→ (X)
UDCC RST ビット→ (-)
でのリセット可否
11
Address
アドレス : 0000C9H
10
9
8
HADR
(R/W)
(0000000B)
(X)
[bit15] 予約
予約ビットです。読出しは不定です。書込みは動作に影響しません。
[bit14 ∼ bit8] Address ( アドレス )
トークンのアドレスを設定します。UDC 制御レジスタ (UDCC) の RST ビットによ
り初期化されません。更新は UDC 制御レジスタ (UDCC) の RST ビットを "0" に設
定してから行ってください。
350
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
14.4.8
EOF 設定レジスタ (HEOF)
EOF 設定レジスタ (HEOF) は , SOF トークン実行前のトークン禁止時間を設定する
レジスタです。SOF 用タイマと HEOF レジスタのデータを比較し , HEOF レジスタ
のデータより SOF タイマが小さい時に IN トークン , OUT トークン , SETUP トーク
ンのいずれか実行要求があった場合 , SOF トークン実行後要求トークンを実行しま
す。これは , ハードウェアで生成する SOF トークンとほかのトークンが同時に実行
しないようにしています。HEOF レジスタの時間単位は 1 ビット転送時間です。
■ EOF 設定レジスタ (HEOF)
図 14.4-8 EOF 設定レジスタ (HEOF) のビット構成
EOF 設定レジスタ
bit
7
6
5
4
3
2
アドレス : 0000CAH
EOF0
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
(R/W)
(00000000B)
(X)
bit
アドレス : 0000CBH
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
15
14
13
12
予約
(-)
(X)
(-)
1
0
HEOF
11
10
9
8
EOF1
HEOF
(R/W)
(000000B)
(X)
[bit15, bit14] 予約
予約ビットです。読出しは不定です。書込みは動作に影響しません。
[bit13 ∼ bit0] EOF1, EOF0 (EOF)
SOF実行前のトークン実行禁止時間を設定します。
1パケット長よりマージンを持っ
て設定してください。単位は , 1 ビット転送時間です。UDC 制御レジスタ (UDCC)
の RST ビットにより初期化されません。更新は UDC 制御レジスタ (UDCC) の RST
ビットを "0" に設定してから行ってください。
・設定例 ) 最大 PKT=64 バイト , Full Speed の場合 ,
(Token_length + packet_length + header + CRC) × 7/6 + Turn_around_time
=(34bit + 546bit) × 7/6 + 36bit = 712.7bit
となり , 2C9H を設定します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
351
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
14.4.9
MB90330A シリーズ
FRAME 設定レジスタ (HFRAME)
FRAME 設定レジスタ (HFRAME) は , SOF トークン時の FRAME Number を設定す
るレジスタです。ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN
ビットに SOF 起動をセットすると SOF タイマが起動され , その後 1 ms ごとに自動
的に SOF が送信されます。SOF が終了するごとに FRAME 設定レジスタは自動的
に +1 されます。
■ FRAME 設定レジスタ (HFRAME)
図 14.4-9 FRAME 設定レジスタ (HFRAME) のビット構成
リトライタイマ設定レジスタ
bit
7
6
5
アドレス : 0000CCH
2
1
0
HFRAME
(R/W)
(00000000B)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
bit
4
3
FRAME0
(○)
15
14
アドレス : 0000CDH
13
12
11
予約
(-)
(X)
(-)
リード / ライト→
初期値→
UDCC RST ビット→
でのリセット可否
10
9
FRAME1
8
HFRAME
(R/W)
(000B)
(○)
[bit15 ∼ bit11] 予約
予約ビットです。読出しは不定です。書込みは動作に影響しません。
[bit10 ∼ bit0] FRAME1, FRAME0
Frame Number を設定します。ホストトークンエンドポイントレジスタ (HTOKEN)
の TKNEN ビットに SOF を設定する前に Frame Number を設定してください。また ,
ホストステータスレジスタ (HSTATE) の SOFBUSY ビットが "1" および SOF トーク
ン実行中の書込みは禁止です。更新は UDC 制御レジスタ (UDCC) の RST ビットを
"0" に設定してから行ってください。
352
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
ホストトークンエンドポイントレジスタ (HTOKEN)
14.4.10
ホストトークンエンドポイントレジスタ (HTOKEN) は , トグル , エンドポイント ,
トークンを設定するレジスタです。
■ ホストトークンエンドポイントレジスタ (HTOKEN)
図 14.4-10 ホストトークンエンドポイントレジスタ (HTOKEN) のビット構成
ホストトークンエンドポイントレジスタ
bit
7
アドレス : 0000CEH TGGL
リード / ライト→ (R/W)
初期値→ (0)
UDCC RST ビット→ ( ○ )
でのリセット可否
6
5
TKNEN
4
3
2
1
ENDPT
(R/W)
(000B)
(R/W)
(0000B)
(○)
(○)
0
HTOKEN
[bit7] TGGL: トグル
データのトグルを設定します。送信時は TGGL ビットに従ってトグルデータを送出
し , 受信時は受信したトグルデータと TGGL ビットが示すトグルデータを比較し ,
エラー検出に使用します。更新は UDC 制御レジスタ (UDCC) の RST ビットを "0"
で , TKNEN ビットが 000B のときに設定してから行ってください。
TGGL
動作モード
0
データ 0
1
データ 1
[bit6 ∼ bit4] TKNEN ( トークン許可 )
設定に従ってトークンを送出します。動作終了後 TKNEN = 000B になり , ホスト割
込みレジスタ (HIRQ) の CMPIRQ ビットを "1" にします。そのとき , ホストコント
ロールレジスタ 0(HCNT0) の CMPIRE ビットが "1" であれば , 割込みが発生します。
SOF トークン時 , TGGL ビット , ENDPT ビットは無視します。TKNEN ビットは UDC
制御レジスタ (UDCC) の RST ビットを "0" にし , ホストモードにしてから書込みを
行ってください。また , トークンによる割込みが発生して再度トークンを発行する
場合には USB 転送クロック (Full Speed 時 : 12 MHz, Low Speed 時 : 1.5 MHz) で 3 サ
イクル以上待って TKNEN ビットに書き込んでください。切断状態 (HSTATE の
CSTAT=0) では , TKNEN ビットに書き込んでもトークンは実行されませんので注意
してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
353
第 14 章 USB ホスト
14.4 USB ホストのレジスタ
MB90330A シリーズ
表 14.4-2 トークン設定
TKNEN
動作モード
bit6
bit5
bit4
0
0
0
送出しない
0
0
1
SETUP を送出
0
1
0
IN を送出
0
1
1
OUT を送出
1
0
0
SOF を送出
1
0
1
予約 ( 設定禁止 )
1
1
0
予約 ( 設定禁止 )
1
1
1
予約 ( 設定禁止 )
<注意事項>
PRE パケットについてはサポートしていません。
ホスト状態ステータスレジスタ (HSTATE) の SOFBUSY ビットが "1" のときに TKNEN =
100B の設定は禁止です。
[bit3 ∼ bit0] ENDPT ( エンドポイント )
デバイスへの送受信するエンドポイントを設定します。更新は UDC 制御レジスタ
(UDCC) の RST ビットを "0" に設定してから行ってください。
354
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
14.5
第 14 章 USB ホスト
14.5 USB ホストの動作
USB ホストの動作
USB ホストの動作について説明します。
■ USB ホストの動作
● デバイスの接続
外部の USB 装置が接続されたことをソフトウェアで検出します。
● USB バスのリセット
USB バスをリセットします。
● トークンパケット
ホストモード時 , 3 種類のトークンを選択できます。
● データパケット
データパケットの送信 , 受信を行います。
● ハンドシェークパケット
ハンドシェークパケットにより , 送受信相手に状態を通知します。
● リトライ機能
パケット終了時 , エラー等が発生した場合 , リトライし続けます。
● SOF 割込み
割込みを発生します。
● エラーステータス
各種エラーを表示します。
● パケット終了
パケット終了すると割込みを発生します。
● サスペンド・レジューム
USB 回路をサスペンド・レジューム状態にします。
● デバイスの切断
ホスト用端子の状態検出により切断されたことの判断をします。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
355
第 14 章 USB ホスト
14.5 USB ホストの動作
14.5.1
MB90330A シリーズ
デバイスの接続
外部の USB 装置が接続されたことをソフトウェアで検出する方法を示します。
■ ホスト機能の設定
USB 装置のホストとして動作させるためには , ホストコントロールレジスタ 0(HCNT0)
の HOST ビットを "1" に設定します。
■ 外部 USB 装置が非接続の状態 , 接続の状態
外部 USB 装置が接続されていないときはプルダウン抵抗によりホスト用端子 D+, D- と
もに "L" になっています。このとき , ホスト状態ステータスレジスタ (HSTATE) の
CSTAT ビットは "0", TMODE ビットは不定となります。外部 USB 装置が接続されると ,
ホスト状態ステータスレジスタ (HSTATE) の CSTAT ビットは "1" になります。
■ 外部 USB 装置の接続検出
外部 USB 装置が接続されたことを検出するためには , ホストコントロールレジスタ 0
(HCNT0) の CNNIRE ビットを "1" に設定します。ホスト割込みレジスタ (HIRQ) の
CNNIRQ ビットが "1" となり , デバイス接続割込みが発生します。本割込みをクリアす
る場合には , ホスト割込みレジスタ (HIRQ) の CNNIRQ ビットに "0" を書き込んでくだ
さい。割込みではなくポーリングでデバイスの接続を検出する場合は , ホストコント
ロールレジスタ 0(HCNT0) の CNNIRE ビットを "0" にし , ホスト割込みレジスタ (HIRQ)
の CNNIRQ が "1" になることを確認するようにプログラムを作成してください。
■ 相手先 USB 装置の転送速度の取得とクロック選択
接続が検出された後 , 相手先 USB の転送可能速度を取得するためには , ホスト状態ス
テータスレジスタ (HSTATE) の TMODE の値を参照します。転送速度とホスト状態ス
テータスレジスタ (HSTATE) の TMODE ビットの関係は以下のようになります。
・接続先が Full Speed 対応装置 → TMODE=1
・接続先が Low Speed 対応装置 → TMODE=0
外部 USB 装置の転送速度を取得した後 , UDC 制御レジスタ (UDCC) の RST ビットが
"1" のとき , 取得した転送速度に従ってホスト状態ステータスレジスタ (HSTATE) の
CLKSEL ビットを更新してください。ホストステータスレジスタ (HSTATE) の TMODE
ビットと CLKSEL ビットの関係は以下のとおりです。
・TMODE=1 → CLKSEL ビットに "1" を設定
・TMODE=0 → CLKSEL ビットに "0" を設定
356
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
図 14.5-1 Full Speed デバイスの接続検出タイミング例 (HCNT0 bit0=0)
デバイス接続
ホスト用端子D+
ホスト用端子D≧2.5 μ s
HSTATEのCSTATビット
HSTATEのTMODEビット
不定
HIRQのCNNIRQビット
"0"
HCNTのHOSTビット
<注意事項>
外部の USB 装置が接続されてから 2.5μs 後ホスト状態ステータスレジスタ (HSTATE) の
CSTAT ビットが "1" になります。
ホスト状態ステータスレジスタ (HSTATE) の TMODE ビット , CSTAT ビットはホストコ
ントロールレジスタ 0(HCNT0) の HOST ビットの設定にかかわらず更新されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
357
第 14 章 USB ホスト
14.5 USB ホストの動作
14.5.2
MB90330A シリーズ
USB バスのリセット
ホストモード時 , ホストコントロールレジスタ 0(HCNT0) の URST ビットに "1" を
設定すると , 10 ms 以上の SE0 を送出し , USB バスをリセットします。USB バス
のリセットが完了するとホストコントロールレジスタ 0(HCNT0) の URST ビットを
"0" にしてホストコントロールレジスタ 0(HCNT0) の URIRE ビットが "1" ならば割
込みを発生してホスト割込みレジスタ (HIRQ) の URIRQ ビットが "1" になります。
割込みをクリアする場合にはホスト割込みレジスタ (HIRQ) の URIRQ ビットに "0"
を書き込んでください。
■ USB バスのリセット前後の注意点
USB バスのリセットについて以下の点に注意してください。
1. USBバスへのリセット前にデバイスが接続されていることをホスト状態ステータス
レジスタ (HSTATE) の CSTAT ビットが "1" になっていることで確認。
2. USB バスのリセットを実行するとホスト状態ステータスレジスタ (HSTATE) の
CSTAT ビットは "0" になり , 切断状態になります。そのとき , ホスト割込みレジス
タ (HIRQ) の DIRQ ビットは "1" になりません。
3. USB バスへのリセットが終了後 ,
ホスト状態ステータスレジスタ (HSTATE) の
CLKSELビットとTMODEビットを比較し, 不一致であれば一致するようにCLKSEL
ビットを更新してください。更新するときには UDC 制御レジスタ (UDCC) の RST
ビットが "1" のときに実施してください。
図 14.5-2 デバイスへのリセットタイミング例
ホスト用端子D+
≧10ms
ホスト用端子DHCNTのURSTビット
HSTATEのCSTATビット
HIRQのURIRQビット
(HCNT URIRE=1)
HCNT URSTビット
への"1"ライト
358
≧2.5 μ s
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
14.5.3
第 14 章 USB ホスト
14.5 USB ホストの動作
トークンパケット
ホストモード時 , IN トークン , OUT トークン , SETUP トークンのいずれかを実行す
る場合 , ホストアドレスレジスタ (HADR), EP1 制御レジスタの DIR ビットに従って
EP1 制御レジスタ (EP1C) または EP2 制御レジスタ (EP2C) の PKS ビットを設定後 ,
ホストトークンレジスタ (HTOKEN) に必要データを設定するとトークンパケットか
ら開始します。SOF トークン時は , FRAME 設定レジスタ (HFRAME), EOF 設定レ
ジスタ (HEOF) 設定後 , ホストトークンレジスタ (HTOKEN) に必要データを設定し
てください。各種レジスタ (HADR, EP1C, EP2C, HFRAME, HEOF) に変更がない場
合には , 設定は不要です。
■ トークンパケットの設定
IN トークン , OUT トークン , SETUP トークンの場合 , 目的のアドレスをホストアドレ
スレジスタ (HADR) に , 1 パケットの最大バイト数を実行しようとするトークンおよび
EP1 制御レジスタの DIR ビットに従って EP1 制御レジスタ (EP1C) または EP2 制御レ
ジスタの PKS ビットにセットします。
EP1 制御レジスタ (EP1C) の DIR ビットが "1" であれば , エンドポイント 1 のバッファ
が OUT 方向のバッファとして使用され , エンドポイント 2 のバッファが IN 方向のバッ
ファとして使用されます。このとき , EP2 制御レジスタ (EP2C) の DIR ビットに "0" を
セットしてください。
EP1 制御レジスタ (EP1C) の DIR ビットが "0" であれば , エンドポイント 1 のバッファ
が IN 方向のバッファとして使用され , エンドポイント 2 のバッファが OUT 方向のバッ
ファとして使用されます。このとき , EP2 制御レジスタ (EP2C) の DIR ビットに "1" を
セットしてください。
エンドポイント 1 のバッファを使用する場合 , EP1 ステータスレジスタ (EP1S) の DRQ
ビットに "0", エンドポイント 2 のバッファを使用する場合 , EP2 ステータスレジスタ
(EP2S) の DRQ ビットに "0" がセットされていることを確認してからホストトークンエ
ンドポイントレジスタ (HTOKEN) に目的のエンドポイント , トークンおよびトグル
データを設定します。USB 回路はその設定されたトークンに従って Sync, トークン , ア
ドレス , エンドポイント , CRC5, EOP の順でトークンパケットを送出します (Sync,
CRC5, EOP は自動 )。1 パケット終了後 , ホスト割込みレジスタ (HIRQ) の CMPIRQ ビッ
トが "1" となり , ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN を 000B
にします (「14.5.7 SOF 割込み」参照 )。そのとき , ホストコントロールレジスタ 0
(HCNT0) の CMPIRE ビットが "1" であれば , 割込みを発生します。割込みをクリアす
るにはホスト割込みレジスタ (HIRQ) の CMPIRQ ビットに "0" を書き込んでください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
359
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
図 14.5-3 IN/OUT/SETUP トークン実行までのレジスタ設定例
HADRにライト
(変更が必要な場合)
EP1CまたはEP2Cにライト
(変更が必要な場合)
HTOKENにライト
レジスタライト信号
エンドポイント1 /エンドポイント2のバッファ状態を確認
SOFトークンの場合, EOF設定レジスタ(HEOF)およびFRAME設定レジスタ(HFRAME)
に EOF 時間および FRAME 番号をセットし , ホストトークンエンドポイントレジスタ
(HTOKEN) の TKNEN ビットに SOF トークンのコードを書き込むと Sync, SOF トーク
ン , FRAME 番号 , CRC5, EOP を送出し , ホスト状態ステータスレジスタ (HSTATE) の
SOFBUSY ビットを "1" にし , FRAME 設定レジスタ (HFRAME) を +1 します。このと
き , ホスト割込みレジスタ (HIRQ) の CMPIRQ も "1" にセットされ , ホストトークンエ
ンドポイントレジスタ (HTOKEN) の TKNEN ビットが 000B にクリアされます。ホスト
コントロールレジスタ 0 (HCNT0) の CMPIRQ による割込みは発生しません。その後 ,
自動的に発生する SOF の場合には , CMPIRQ による割込みは発生しません。トークン
完了の割込みをクリアするにはホスト割込みレジスタ (HIRQ) の CMPIRQ に "0" を書き
込んでください。
ホスト状態ステータスレジスタ (HSTATE) の SOFBUSY ビットが "1" の間 , SOF は 1 ms
ごとに自動的に送出されます。ホスト状態ステータスレジスタ (HSTATE) の SOFBUSY
ビットが "0" となる条件 (SOF の停止条件 ) は , 以下のとおりです。
・ホスト状態レジスタ (HSTATE) の SOFBUSY ビットへの "0" 書込み
・USB バスへのリセット (HCNT の URST ビットへの "1" 書込み )
・ホスト状態ステータスレジスタ (HSTATE) の SUSP ビットへの "1" 書込み
・デバイスの切断 (HSTATE の CSTAT ビットが "0" の場合 )
ホストモードからファンクションモードへ切り換える場合には , ホスト状態レジスタ
(HSTATE) の SOFBUSY ビットへ "0" を書き込み , ホスト状態レジスタ (HSTATE) の
SOFBUSY ビットが "0" になったことを確認してから切り換えてください。
ホスト状態ステータスレジスタ (HSTATE) の SOFBUSY ビットを再び "1" にするには
SOF トークンをもう 1 度実行する必要があります。
EOF 設定レジスタは , SOF と他のトークンの同時実行を防止します。EOF 設定時間か
ら SOF 開始時間までの間にホストトークンエンドポイントレジスタ (HTOKEN) の
TKNEN ビットに書き込んだ場合 , 設定したトークンをウェイトされ , SOF 実行後にウェイ
トしているトークンを実行します。EOF 設定レジスタの時間単位は 1 ビット時間で , 例え
ばEOF設定レジスタに10H と設定した場合,Full Speedモードでは16×1/12 MHz =1333.3 ns,
Low Speed モードでは 16 × 1/1.5 MHz = 10666.6 ns という時間になります。EOF 設定時
間の設定が 1 パケット時間より短く設定すると , 他のトークン実行中に SOF 実行が重
なる場合があります。この場合 , ホストエラーステータスレジスタ (HERR) の LSTSOF
ビットが "1" にセットされ SOF は実行されません。ホストエラーステータスレジスタ
(HERR) の LSTSOF に "1" が設定された場合には , EOF 設定レジスタのデータを大きく
する必要があります (「14.4.8 EOF 設定レジスタ (HEOF)」参照 )。
360
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
図 14.5-4 SOF タイミング
SOF開始
SOF開始
EOF設定時間
EOF設定時間
1ms
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
EOF>1パケット時間
361
第 14 章 USB ホスト
14.5 USB ホストの動作
14.5.4
MB90330A シリーズ
データパケット
トークンパケット送出後 , データパケットの送信の場合 , ホストトークンエンドポイ
ントレジスタ (HTOKEN) の TGGL ビットに従ってトグルデータを送出し , EP1 制御
レジスタ (EP1C) の DIR ビットによってエンドポイント 1 またはエンドポイント 2
のバッファデータ , CRC16 データ , EOP を送出します。データパケットの受信の場
合 , ホストトークンエンドポイントレジスタ (HTOKEN) の TGGL ビットと受信した
トグルデータを比較し , 一致した場合には受信データを EP1 制御レジスタ (EP1C)
の DIR ビットによってエンドポイント 1 またはエンドポイント 2 のバッファに書き
込み , CRC16 のエラーを検査します。
■ データパケット
トークンパケット送出後 , データパケットを以下の手順で実行します。
● 送信の場合
(1) Sync の自動送出
(2) ホストトークンエンドポイントレジスタ (HTOKEN) の TGGL ビットが "0" であれば
DATA0, TGGL ビットが "1" であれば DATA1 を送出
(3) EP1 制御レジスタ (EP1C) の DIR ビットが "1" であればエンドポイント 1 のバッファ,
EP1 制御レジスタ (EP1C) の DIR ビットが "0" であればエンドポイント 2 のバッファ
を選択し , 送信データをすべて送出
(4) CRC 16 ビットを送出
(5) EOP 2 ビットを送出
(6) J State 1 ビットを送出
●受信の場合
(1) Sync の受信
(2)トグルデータを受信し, ホストトークンエンドポイントレジスタ(HTOKEN)のTGGL
ビットと比較します。
(3)トグルデータを比較した結果 , 一致すれば EP1 制御レジスタ (EP1C) の DIR ビット
が "1" であればエンドポイント 2 のバッファ, EP1 制御レジスタ (EP1C) の DIR ビッ
トが "0" であればエンドポイント 1 のバッファを選択し , 受信データをライトして
いきます。
(4) EOF を受信したとき , CRC 16 ビットを検査します。
ホストコントロールレジスタ 0(HCNT0) の HOST ビットが "1" のときには , EP1 制御レ
ジスタ (EP1C) の DIR ビットと EP2 制御レジスタ (EP2C) の DIR ビットは反転させた
データをセットしてください。例えば , EP1 制御レジスタ (EP1C) の DIR ビットが "0"
であれば , EP2 制御レジスタ (EP2C) の DIR ビットには "1" をセットします。
362
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
14.5.5
第 14 章 USB ホスト
14.5 USB ホストの動作
ハンドシェークパケット
ハンドシェークパケットにより , 送受信相手に自分の状態を通知します。
■ ハンドシェークパケット
ハンドシェークパケットは , データ受信に対し正常に受信できる状態にあるか , またエ
ンドポイントがサポートしているか等を判断して受信側が ACK, NAK, STALL のいず
れかを送出します。そのとき , USB 回路はハンドシェークパケットを受信した場合は ,
受信したハンドシェークパケットをホストエラーステータスレジスタ (HERR) の HS
ビットにセットします。ハンドシェークパケットを送信した場合は送信したハンド
シェークパケットをホストエラーステータスレジスタ (HERR) の HS ビットにセットし
ます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
363
第 14 章 USB ホスト
14.5 USB ホストの動作
14.5.6
MB90330A シリーズ
リトライ機能
パケット終了時 , NAK および CRC エラー等のエラーが発生し , ホストコントロール
レジスタ 1(HCNT1) の RETRY ビットが "1" のとき , リトライタイマレジスタ
(HRTIMER) で設定された時間 , リトライし続けます。
■ リトライ機能
STALL およびデバイスの切断以外のエラーが発生した場合 , ホストコントロールレジ
スタ 1(HCNT1) の RETRY ビットが "1" であれば , そのトークンをリトライします。リ
トライの終了条件は , 以下のとおりです。
・ ホストコントロールレジスタ 1(HCNT1) の RETRY ビットの "0" 設定
・ リトライタイマの 0 検出
・ SOF による割込みの発生 (HCNT0 の SOFIRE=1, HIRQ の SOFIRQ=1)
・ ACK の検出
・ デバイスが切断されたことの検出
リトライタイマはトークン開始時に起動され , 1 ビットの転送クロックにてカウントダ
ウンされますが , EOF 領域内でリトライが発生した場合にはカウントは停止します。
HIRQ の SOFIRQ ビットが "0" で SOF トークンが終了した場合には , 停止したタイマ値
からリスタートし , リトライタイマが 0 となり , パケットが終了した時点でリトライ要
求がきてもリトライ要求はキャンセルし , パケットを終了します。
図 14.5-5 リトライタイマ動作 (HIRQ の SOFIRQ=0)
トークン開始
EOF
SOF
リトライ
トークン実行
タイマカウントダウン
タイマストップ
タイマリスタート
リトライ発生
リトライが終了したとき , その終了パケットの終了情報が各レジスタにセットされま
す。
364
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
SOF 割込み
14.5.7
ホストコントロールレジスタ 0(HCNT0) の SOFIRE ビットに "1" を設定するとホス
トコントロールレジスタ 1(HCNT1) の SOFSTEP ビットおよび SOF 割込み FRAME
比較レジスタ (HFCOMP) によって SOF 開始時 , ホスト割込みレジスタ (HIRQ) の
SOFIRQ ビットを "1" にし , 割込みを発生します。ホストトークンエンドポイント
レジスタ (HTOKEN) による SOF 実行ではホスト割込みレジスタ (HIRQ) の SOFIRQ
ビットは "1" になりません。
■ SOF 割込み
ホストコントロールレジスタ 0(HCNT0) の SOFIRE ビットに "1" を設定すると SOF を
送出する時に割込みを発生し , ホスト割込みレジスタ (HIRQ) の SOFIRQ ビットに "1"
をセットします。SOF による割込み条件には , ホストコントロールレジスタ 1(HCNT1)
の SOFSTEP ビットの設定によって SOF が送出されるごとか , SOF 割込み FRAME 比
較レジスタ (HFCOMP) の示す下位 8 ビットの Frame 番号かを選択できます。
図 14.5-6 SOF 割込み
ホストコントロールレジスタ1(HCNT1)のSOFSTEPビットが"1"の場合
次SOF送信
SOF送信
HIRQのSOFIRQビット
ソフトクリア
ソフトクリア
ホストコントロールレジスタ1(HCNT1)のSOFSTEPビットが"0"の場合
次SOF送信
SOF送信
011H
010H
HFRAME
011H
HFCOMP
HIRQのSOFIRQビット
HFRAME下位8ビットと
HFCOMPが一致
ホストコントロールレジスタ 1(HCNT1) の CANCEL ビットを "1" に設定すると , EOF
領域内でホストトークンエンドポイントレジスタ (HTOKEN) に SOF トークン以外の
トークンを設定し , 次の SOF でホスト割込みレジスタ (HIRQ) の SOFIRQ ビットが "1"
になる場合 , そのトークンは実行せずにホストトークンエンドポイントレジスタ
(HTOKEN) の TKNEN ビットは 000B にクリアされません。そのとき , ホスト割込みレ
ジスタ (HIRQ) の CMPIRQ ビットは "1" になりません。トークンがキャンセルされたこ
とは , SOFIRQ ビットが "1" になったときにホスト割込みレジスタ (HIRQ) の TCAN ビッ
トによって知ることができます。再度 , トークンを実行したい場合には , ホスト割込み
レジスタ (HIRQ) の TCAN ビットに "0" を書き込み , ホストトークンエンドポイントレ
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
365
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
ジスタ (HTOKEN) の TKNEN ビットに実行させたいトークンを書き込んでください。
ホストコントロールレジスタ 1(HCNT1) の CANCEL ビットを "0" にした場合には SOF
送信後 , ホストトークンエンドポイントレジスタ (HTOKEN) に設定されたトークンを
実行します。
図 14.5-7 HCNT1 の CANCEL ビット =1 のトークンキャンセル動作例
INトークンライト
SOF 実行
EOF領域
HIRQのSOFIRQ ビット
HTOKENのTKNENビット
000B
010B
000B
HIRQのCMPIRQビット
"0"
図 14.5-8 HCNT1 の CANCEL ビット =0 のトークン動作例
INトークンライト
EOF領域
SOF 実行
INトークン実行
HIRQのSOFIRQ ビット
HTOKENのTKNENビット
000B
010B
000B
HIRQのCMPIRQ ビット
366
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
14.5.8
第 14 章 USB ホスト
14.5 USB ホストの動作
エラーステータス
USB ホストは各種エラー情報をサポートしています。
■ エラーステータス
● スタッフィングエラー
6 ビット連続 "1" が発生した場合 , "0" を 1 ビット挿入することになっていますが , 7 ビッ
ト連続 "1" を検出するとスタッフィングエラーとしてホストエラーステータスレジス
タ (HERR) の STUFF ビットを "1" にセットします。これをクリアするには STUFF ビッ
トに "0" を書き込んでください。STUFF ビットをクリアせずに次のトークンを実行し
た場合には次のトークンの終了時に更新されます。
● トグルエラー
IN トークン時 , データパケットのトグルデータとホストトークンエンドポイントレジ
スタ (HTOKEN) の TGGL ビットを比較し , 一致しなかった場合ホストエラーレジスタ
(HERR) の TGERR ビットに "1" をセットします。TGERR ビットをクリアするには , ホ
ストエラーレジスタ (HERR) の TGERR ビットに "0" を書き込んでください。TGERR
ビットをクリアせずに次のトークンを実行した場合には次のトークンの終了時に更新
されます。
● CRC エラー
IN トークン時 , 受信したデータパケットのデータおよび CRC を CRC の多項式
G(X)=X 16+X 15+X2+1 で計算し , 剰余が 800DH でなければ CRC エラーが発生したこと
になり , ホストエラーレジスタ (HERR) の CRC ビットに "1" をセットします。CRC ビッ
トをクリアするには , ホストエラーレジスタ (HERR) の CRC ビットに "0" を書き込ん
でください。CRC ビットをクリアせずに次のトークンを実行した場合には次のトーク
ンの終了時に更新されます。
● タイムアウトエラー
所定時間内にデータパケットやハンドシェークが入力されなかった , 受信データ中に
SE0 が検出された , スタッフィングエラーが検出された場合等 , ホストエラーステータ
スレジスタ (HERR) の TOUT ビットに "1" がセットされます。TOUT ビットをクリアす
るには , ホストエラーレジスタ (HERR) の TOUT ビットに "0" を書き込んでください。
TOUT ビットをクリアせずに次のトークンを実行した場合には次のトークンの終了時
に更新されます。
● 受信エラー
受信バッファとして EP1 が使用されている場合 , EP1 制御レジスタ (EP1C) の PKS ビッ
ト , EP2 が使用されている場合 , EP2 制御レジスタ (EP2C) の PKS ビットが受信パケッ
トサイズとなります。その受信パケットサイズより多く受信データを受信した場合 , ホ
ストエラーステータスレジスタ (HERR) の RERR ビットに "1" がセットされます。
RERR
ビットをクリアするには , ホストエラーレジスタ (HERR) の RERR ビットに "0" を書き
込んでください。RERR ビットをクリアせずに次のトークンを実行した場合には次の
トークンの終了時に更新されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
367
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
パケット終了
14.5.9
USB ホストにおいて 1 パケット終了するとホストコントロールレジスタ 0 (HCNT0)
の CMPIRE ビットが "1" のとき , 割込みが発生しホスト割込みレジスタ (HIRQ) の
CMPIRQ ビットを "1" にします。
■ パケット終了タイミング
1 パケット終了すると以下のタイミングで割込みが発生します。
•
ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN ビットが 001B, 010B,
011B のとき (SETUP トークン , IN トークン , OUT トークン )
図 14.5-9 ホスト割込みレジスタ (HIRQ) の CMPIRQ ビットセットタイミング例 1
HTOKENのTKNENビットに
ライト
トークンパケット
J-ST
データパケット
ハンドシェ-クパケット
Sync TKN ADR ENDPT CRC5 EOP J-ST Sync TGGL DATA CRC16 EOP J-ST Sync ACK EOP J-ST
CMPIRQビット
(HIRQ)
J-ST :J State
TKN :Token
ADR :Address
ENDPT:Endpoint
TGGL :Toggle
•
ホストトークンエンドポイントレジスタ (HTOKEN) の TKNEN ビットが 100B のとき
(SOF トークン )
図 14.5-10 ホスト割込みレジスタ (HIRQ) の CMPIRQ ビットセットタイミング例 2 (SOF トークン )
HTOKENのTKNENビットに
ライト
J-ST
Sync TKN
FRAME CRC5
EOP
J-ST
CMPIRQビット
(HIRQ)
J-ST :J State
TKN :Token
FRAME:Frame Number
368
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
サスペンド・レジューム
14.5.10
USB ホストにおいてサスペンドおよびレジュームをサポートしています。
■ サスペンド動作
ホスト状態ステータスレジスタ (HSTATE) の SUSP ビットに "1" を書き込むと ,
・USB バスのハイインピーダンス状態
・クロックが必要ない回路ブロックの停止
の順に実行し, USB回路をサスペンド状態にします。サスペンド状態になった場合には,
ホスト状態ステータスレジスタ (HSTATE) の SUSP ビットを "1" にします。
USB バスへのリセット中 , HSTATE の SOFBUSY が "1" のとき , およびデータの送受信
中にサスペンドに設定したり , サスペンド中 USB へ供給しているクロックを停止した
りすることは禁止です。
■ レジューム動作
サスペンド状態からレジュームの動作を開始するには , 以下のいずれかの条件が成立
したときです。
(1)ホスト状態ステータスレジスタ (HSTATE) の SUSP ビットに "0" を書き込む
(2) 簡易ホスト用端子 D+, 簡易ホスト用端子 D- が k-state になったことを検出
(3) デバイスが切断されたことを検出
(4) デバイスが接続されたことを検出
ホスト割込みレジスタ (HIRQ) の RWKIRQ ビットが "1" にセットされた後トークンの
発行が可能となります。各条件による動作タイミングは以下のとおりです。
図 14.5-11 レジスタによるレジューム動作 (Full Speed モード時 )
(1) ホスト状態ステータスレジスタ(HSTATE)のSUSPビットに"0"をライト
HCNTのビット2に
"0"ライト
ホスト用端子D+
ホスト用端子D20μs*
1.33μs*
1ビット時間
HIRQのRWKIRQビット
(RWKIRE=1)
:USBホストからの出力
:プルアップ,プルダウン抵抗によるドライブ
*:数値は保証するものではありません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
369
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
図 14.5-12 デバイスからのレジューム動作 (Full Speed モード )
(2)ホスト用端子D+,ホスト用端子D-がK Stateになったことを検出
ホスト用端子D+,ホスト用端子D-がK Stateになったことを検出
ホスト用端子D+
ホスト用端子D20μs *
1.33μs
1ビット時間
HIRQのRWIRQビット
(RWKIRE=1)
:USBホストからの出力
:デバイスからの出力
:プルアップ,プルダウン抵抗によるドライブ
*:数値は保証するものではありません
図 14.5-13 デバイス切断によるレジューム動作
(3) デバイスが切断されたことを検出
デバイスが切断されたことを検出
切断
ホスト用端子D+
ホスト用端子D-
HIRQのRWKIRQビット
(RWKIRE=1)
HIRQ ビット1
(DIRE=1)
割込み発生
HSTATEのCSTATビット
2.5 μ s 以上
:プルアップ,プルダウン抵抗によるドライブ
370
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.5 USB ホストの動作
MB90330A シリーズ
図 14.5-14 デバイス接続によるレジューム動作
(4) デバイスが接続されたことを検出
接続
ホスト用端子D+
ホスト用端子D-
HIRQのRWKIRQビット
(RWKIRE=1)
HIRQ ビット2
(DIRE=1)
割込み発生
HSTATEのCSTATビット
2.5 μ s 以上
:プルアップ,プルダウン抵抗によるドライブ
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
371
第 14 章 USB ホスト
14.5 USB ホストの動作
14.5.11
MB90330A シリーズ
デバイスの切断
ホスト用端子 D+, D- ともに "L" になると切断タイマが起動され , 2.5 μs 以上 "L" を
検出した場合 , ホスト状態ステータスレジスタ (HSTATE) の CSTAT ビットを "0"
にします。
■ デバイスの切断
ホストモード , ファンクションモードに関係なくホスト用端子 D+, ホスト用端子 D- が
両方とも 2.5μs 以上 "L" を検出するとデバイスが切断されたと判断し , ホスト状態ス
テータスレジスタ (HSTATE) の CSTAT ビットが "0" となり , ホスト割込みレジスタ
(HIRQ)のDIRQビットは"1"にセットされます。ホストコントロールレジスタ0(HCNT0)
の DIRE ビットが "1" であれば割込みが発生します。その割込みをクリアしたい場合に
は , ホスト割込みレジスタ (HIRQ) の DIRQ ビットに "0" をライトしてください。
USB バスへのリセットを実行すると切断されたと判断し , ホスト状態レジスタ
(HSTATE) の CSTAT ビットを "0" にしますが , ホスト割込みレジスタ (HIRQ) の DIRQ
ビットは "1" になりません。
372
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 14 章 USB ホスト
14.6 USB ホストの各トークンフローチャート
MB90330A シリーズ
14.6
USB ホストの各トークンフローチャート
USB ホストの各トークンのフローチャートは以下のとおりです。
■ IN, OUT, SETUP トークン
図 14.6-1 IN, OUT, SETUP トークン時のフローチャート
IN,OUT,SETUP
トークン
HADR変更?
YES
NO
INトークン
HADR変更
YES
NO
EP1 DIR=1?
YES
YES
EP1 DIR=1?
NO
EP2C PKS変更?
YES
NO
NO
NO
EP1PKS変更?
YES
PKS変更
バッファ方向OK?
NO
バッファ方向変更
YES
バッファ使用可?
NO
YES
バッファ使用可にする
トグル,Endpointを設定し,
トークン実行
HIRQのCMPIRQ=1?
NO
YES
終了
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
373
第 14 章 USB ホスト
14.6 USB ホストの各トークンフローチャート
MB90330A シリーズ
■ SOF トークン
図 14.6-2 SOF トークン時のフローチャート
SOFトークン
HFRAME変更?
YES
NO
HEOF変更?
HFRAME変更
YES
NO
HEOF変更
トークン実行
(TGGL,ENDPTの設定は無視)
HIRQのCMPIRQ=1?
NO
YES
終了
374
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章
PWC タイマ
この章では , PWC タイマの概要 , レジスタの構成 /
機能 , PWC タイマの動作および PWC タイマの使
用上の注意について説明します。
15.1 PWC タイマの概要
15.2 PWC タイマのレジスタ
15.3 PWC タイマの動作
15.4 PWC タイマの使用上の注意
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
375
第 15 章 PWC タイマ
15.1 PWC タイマの概要
15.1
MB90330A シリーズ
PWC タイマの概要
PWC タイマは , 入力信号のパルス幅測定機能を持つ , 16 ビットの多機能アップカウ
ントタイマです。
PWC: Pulse Width Count( パルス幅測定 )
■ PWC タイマの機能
ハードウェアとして , 16 ビットアップカウントタイマ 1 個 , 入力パルス分周器 & 分周
比制御レジスタ 1 個 , 測定入力端子 1 本 , 16 ビット制御レジスタ 1 個を 1 チャネルとし
て , 合計 1 チャネルを有し , これらによって以下の機能を実現します。
● タイマ機能
• 設定された時間ごとに割込み要求を発生できます。
• 基準となる内部クロックは , 3 種類より選択できます。
● パルス幅測定機能
• 外部からのパルス入力の任意イベント間の時間を測定します。
• 基準となる内部クロックは , 3 種類より選択できます。
• 各種測定モード
- "H" パルス幅 ( ↑∼↓ )/"L" パルス幅 ( ↑∼↓ )
- 立上り周期 ( ↑∼↑ )/ 立下り周期 ( ↓∼↓ )
- エッジ間測定 ( ↑ or ↓∼↓ or ↑ )
• 8 ビット入力分周器で , 入力パルスを 22n 分周 (n=1, 2, 3, 4) して分周測定を行うこと
ができます。
• 測定終了時に割込みを発生させることができます。
• 1 回のみの測定か , 連続測定かを選択できます。
376
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.1 PWC タイマの概要
MB90330A シリーズ
■ PWC タイマのブロックダイヤグラム
図 15.1-1 に , PWC タイマのブロックダイヤグラムを示します。
図 15.1-1 PWC タイマのブロックダイヤグラム
PWCRリード
エラー検出
ERR
内部クロック(マシンクロック/4)
PWCR
/16
リロード
データ転送
/16
クロック
オーバフロー
22
16ビットアップカウントタイマ
クロック分周器
F2MC-16LXバス
23
タイマクリア
カウント許可
制御ビット出力
フラグセットなど
制 御 回 路
測定開始
エッジ
開始エッジ 終了エッジ
選択
選択
分周器クリア
入力波形
比較器
PWC
測定終了
エッジ
PIS0/PIS1
8ビット
分周器
測定終了割込み要求
ERR
PWCSR
2
CM44-10129-6
分周ON/OFF
エッジ検出
オーバフロー
割込み要求
/
15
CKS1/CKS0
/
CKS0/CKS1
分周比選択
DIVR
FUJITSU MICROELECTRONICS LIMITED
377
第 15 章 PWC タイマ
15.2 PWC タイマのレジスタ
MB90330A シリーズ
PWC タイマのレジスタ
15.2
PWC タイマで使用するレジスタの構成および機能について説明します。
■ PWC タイマのレジスタ一覧
図 15.2-1 に , PWC タイマのレジスタ一覧を示します。
図 15.2-1 PWC タイマのレジスタ一覧
bit15
8 7
PWCSR
0
(R/W)
PWCR
(R/W)
DIVR
bit
15
(R/W)
14
13
12
11
10
9
8
00005DH STRT
STOP
EDIR
EDIE
OVIR
OVIE
ERR
予約
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R)
7
6
5
4
3
2
1
00005CH CKS1
CKS0
PIS1
PIS0
S/C
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D9
D8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
6
5
4
3
2
1
bit
bit
00005FH
bit
15
7
00005EH
PWCSR
PWC コントロール
ステータスレジスタ
(R/W) 初期値 0000000X
B
0
MOD2 MOD1 MOD0
PWCSR
PWC コントロール
ステータスレジスタ
(R/W) 初期値 00000000
B
PWCR
PWC データバッファレジスタ
(R/W) 初期値 00000000
B
0
PWCR
D7
D6
D5
D4
D3
D2
D1
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
D0
PWC データバッファレジスタ
(R/W) 初期値 00000000
B
bit
7
6
5
4
3
2
1
0
000060H
-
-
-
-
-
-
DIV1
DIV0
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(R/W) 初期値 ------00
B
DIVR
PWC 分周比制御レジスタ
R/W : リード・ライト可能
R : リードオンリ
-
378
: 未定義
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.2 PWC タイマのレジスタ
MB90330A シリーズ
PWC コントロールステータスレジスタ (PWCSR)
15.2.1
PWC コントロールステータスレジスタ (PWCSR) の構成および機能について説明し
ます。
■ PWC コントロールステータスレジスタ (PWCSR)
図 15.2-2に, PWCコントロールステータスレジスタ(PWCSR)のビット構成を示します。
図 15.2-2 PWC コントロールステータスレジスタ (PWCSR) のビット構成
bit
14
13
12
11
10
9
8
00005DH STRT
STOP
EDIR
EDIE
OVIR
OVIE
ERR
予約
(R/W)
(R/W)
(R)
(R/W)
(R/W)
(R/W)
(R)
7
6
5
4
3
2
1
00005CH CKS1
CKS0
PIS1
PIS0
S/C
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
bit
15
(R/W)
PWC コントロール
ステータスレジスタ
(R/W) 初期値 0000000X
B
0
MOD2 MOD1 MOD0
(R/W)
PWCSR
PWCSR
PWC コントロール
ステータスレジスタ
(R/W) 初期値 00000000
B
R/W : リード・ライト可能
R : リードオンリ
- : 未定義
以下に , PWC コントロールステータスレジスタ (PWCSR) の各ビットの機能を説明しま
す。
[bit15, bit14] STRT, STOP( タイマスタートビット , タイマストップビット )
16 ビットアップカウントタイマの起動 / 再起動 / 停止を制御するビットです。読出
し時には , タイマの動作状態を表示します。
STRT および STOP ビットの機能を示します。
表 15.2-1 書込み時機能 (16 ビットアップカウントタイマの動作制御 )
STRT
STOP
0
0
機能なし / 動作に影響なし
0
1
タイマ起動 / 再起動 ( カウント許可 ) *
1
0
タイマ動作強制停止 ( カウント禁止 ) *
1
1
機能なし / 動作に影響なし
動作制御機能
*: クリアビット命令使用可能
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
379
第 15 章 PWC タイマ
15.2 PWC タイマのレジスタ
MB90330A シリーズ
表 15.2-2 読出し時機能 (16 ビットアップカウントタイマの動作状態表示 )
STRT
STOP
状態表示機能
0
0
タイマ停止中
( 起動されていないかまたは測定終了 ) [ 初期値 ]
1
1
タイマカウント動作中 ( 測定中 )
• リセット時 "00B" に初期化されます。
• 読出し / 書込みが可能です。ただし , 書込み時と読出し時では , 表 15.2-1, 表 15.2-2
に示すように意味が異なります。
• リードモディファイライト (RMW) 系命令における読出し値は , ビット値にかかわら
ず "11B" です。
• タイマの起動 / 停止のための STRT/STOP ビットへの書込みは , それぞれのビットに
対するビット命令 ( ビットクリア ) を用いることが可能ですが , 動作状態の読出しに
は , ビット命令は使用できませんので注意してください ( 読み出すと必ず動作中と
なります )。
[bit13] EDIR( 測定終了割込み要求フラグ )
パルス幅測定時 , 測定が終了したことを示すフラグです。測定終了割込み要因が許
可されているとき (bit12:EDIE=1) に , このビットがセットされると , 測定終了割込み
要求が発生します。
EDIR
動作モード
セット要因
パルス幅測定が終了するとセット (PWCR に測定結果が収納されて
いる )
クリア要因
PWCR( 測定結果 ) を読み出すことによってクリア
• リセット時 "0" に初期化されます。
• 読出しのみ可能です。
• 書き込んでもビット値は変化しません。
[bit12] EDIE( 測定終了割込み許可 )
パルス幅測定時の , 測定終了割込み要求を下表のように制御します。
EDIE
動作モード
0
測定終了割込み要求出力禁止
(EDIR がセットされていても割込み発生せず ) [ 初期値 ]
1
測定終了割込み要求出力許可
(EDIR がセットされると割込みが発生する )
• リセット時 "0" に初期化されます。
• 読出し / 書込みが可能です。
380
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.2 PWC タイマのレジスタ
MB90330A シリーズ
[bit11] OVIR( タイマオーバフロー割込み要求フラグ )
16 ビットアップカウントタイマが FFFFH から 0000H へオーバフローしたことを示
すフラグです。タイマオーバフロー割込み要求が許可されているとき (bit10:OVIE=1
のとき ) にこのビットがセットされると , タイマオーバフロー割込み要求が発生し
ます。
OVIR
動作モード
セット要因
タイムオーバフローが発生するとセット (FFFFH から 0000H)
クリア要因
"0" 書込み , または μDMAC によりクリア
• リセット時 "0" に初期化されます。
• 読出し / 書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込んでも
ビット値は変化しません。
• リードモディファイライト (RMW) 系命令における読出しは , ビット値にかかわらず
"1" です。
[bit10] OVIE( タイマオーバフロー割込み要求許可 )
パルス幅測定時の測定終了割込み要求を制御します。
OVIE
動作モード
0
オーバフロー割込み要求出力禁止 (OVIR がセットされていても割込
み発生せず ) [ 初期値 ]
1
オーバフロー割込み要求出力許可 (OVIR がセットされると割込みが
発生する )
• リセット時 "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit9] ERR( エラーフラグ )
パルス幅測定時の連続測定モード時において , PWCR 内の測定結果を読み出さない
うちに , 次の測定が終了されてしまったことを示すフラグです。この際 , PWCR の
値は新しい測定結果に更新され , 1 つ前の測定結果は消失します。測定は , ビット値
に関係なく続行されます。
ERR
動作モード
セット要因
読み出していない測定結果が次の結果により消失するとセット
クリア要因
PWCR( 測定結果 ) を読み出すことによりクリア
• リセット時 "0" に初期化されます。
• 読出しのみ可能です。ただし , 書き込んでもビット値は変化しません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
381
第 15 章 PWC タイマ
15.2 PWC タイマのレジスタ
MB90330A シリーズ
[bit8] 予約ビット
予約ビットです。必ず "0" を書き込んでください。
[bit7, bit6] CKS1, CKS0 ( カウントクロック選択 )
内部カウントクロックは , 3 種類の中からいずれかを選択できます。
表 15.2-3 16 ビットアップカウントタイマのカウントクロック
CKS1
CKS0
0
0
マシンクロックの 4 分周クロック
( マシンクロック =24 MHz 時 0.17 μs) [ 初期値 ]
0
1
マシンクロックの 16 分周クロック
( マシンクロック =24 MHz 時 0.67 μs)
1
0
マシンクロックの 32 分周クロック
( マシンクロック =24 MHz 時 1.33 μs)
1
1
設定禁止 ( 未定義 )
動作モード
• リセット時 , "00B" に初期化されます。
• 読出し / 書込みが可能です。ただし , "11B" の設定は禁止です。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
[bit5, bit4] PIS1, PIS0 ( パルス幅測定入力端子選択 )
パルス幅測定入力端子を選択します。
表 15.2-4 パルス幅測定入力端子の選択
PIS1
PIS0
0
0
(PWC 端子を選択 ) [ 初期値 ]
0
1
設定禁止
1
0
設定禁止
1
1
設定禁止 ( 未定義 )
動作モード
• リセット時 , "00B" に初期化されます。
• 読出し / 書込みが可能です。ただし "01B", "10B", "11B" は設定してはいけません。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
382
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.2 PWC タイマのレジスタ
MB90330A シリーズ
[bit3] S/C( 測定モード ( 単発 / 連続 ) の選択 )
測定モードを選択します。
表 15.2-5 16 ビットアップカウントタイマの測定モードの選択
S/C
測定モード選択
タイマモード時
パルス幅
0
単発測定モード
[ 初期値 ]
リロードなし
( ワンショット )
1 回測定後停止
1
連続測定モード
リロードあり
( リロードタイマ )
連続測定 :
バッファレジスタ有効
• リセット時 , "0" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
起動後の書換えは禁止です。必ず起動前か停止後に書き込んでください。
[bit2 ∼ bit0] MOD2 ∼ MOD0( 動作モード / 測定エッジ選択 )
動作モードおよび幅測定を行うエッジを選択します。
表 15.2-6 16 ビットアップカウントタイマの動作モード / 測定エッジの選択
MOD2
MOD1
MOD0
0
0
0
タイマモード [ 初期値 ]
0
0
1
タイマモード ( リロードモードのみ )
0
1
0
全エッジ間パルス幅測定モード(↑ or↓∼↓ or↑ )
0
1
1
分周周期測定モード ( 入力分周有効 )
1
0
0
立上りエッジ間周期測定モード ( ↑∼↑ )
1
0
1
"H" パルス幅測定モード ( ↑∼↓ )
1
1
0
"L" パルス幅測定モード ( ↓∼↑ )
1
1
1
立下りエッジ間周期測定モード ( ↓∼↓ )
動作モード / 測定エッジ選択
• リセット時 , "00B" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
383
第 15 章 PWC タイマ
15.2 PWC タイマのレジスタ
MB90330A シリーズ
PWC データバッファレジスタ (PWCR)
15.2.2
PWC データバッファレジスタ (PWCR) の構成および機能について説明します。
■ PWC データバッファレジスタ (PWCR)
図 15.2-3 に , PWC データバッファレジスタ (PWCR) のビット構成を示します。
図 15.2-3 PWC データバッファレジスタ (PWCR) のビット構成
bit
00005FH
bit
00005EH
15
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D9
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
PWCR
D8
PWC データバッファレジスタ
(R/W) 初期値 00000000
B
PWCR
PWC データバッファレジスタ
(R/W) 初期値 00000000
B
R/W : リード・ライト可能
PWC データバッファレジスタ (PWCR) は , PWCSR の bit2 ∼ bit0(MOD2 ∼ MOD0) の設
定によるタイマモード時と , パルス幅設定モード時で機能が異なります。
● タイマモード時 ( 読出し / 書込み可能 )
リロードタイマ動作時 (PWCSR の bit3:S/C=1) は , リロードデータを保持するリロード
レジスタとなります。この場合 , 読出し / 書込みともに可能です。
ワンショットタイマ動作モード時 (PWCSR のビット 3:S/C=0) は , アップカウントタイ
マを直接アクセスする窓口になります。この場合も , 読出し / 書込みともに可能ですが ,
書込みはタイマ停止中に行ってください。読出しは随時可能で , カウント中のタイマ値
を読み出すことができます。
● パルス幅測定モード時 ( 読出しのみ可能 )
連続測定モード時 (PWCSR の bit3:S/C=1) は , 前回の測定結果を保持するバッファレジ
スタとなります。
この場合は読出しのみ可能で , 書き込んでもレジスタ値は変化しません。
単発モード時 (PWCSR の bit3:S/C=0) は , アップカウントタイマを直接アクセスする窓
口となります。
この場合も読出しのみ可能で , 書き込んでもレジスタ値は変化しません。読出しは随時
可能で , カウント中のタイマ値が得られます。測定終了後は , 測定結果を保持します。
<注意事項>
PWCR のアクセスは , 必ずワード転送命令で行ってください。リセット時 "00B" に初期化
されます。
384
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.2 PWC タイマのレジスタ
MB90330A シリーズ
PWC 分周比制御レジスタ (DIVR)
15.2.3
PWC 分周比制御レジスタ (DIVR) の構成および機能について説明します。
■ PWC 分周比制御レジスタ (DIVR)
図 15.2-4 に , PWC 分周比制御レジスタ (DIVR) のビット構成を示します。
図 15.2-4 PWC 分周比制御レジスタ (DIVR) のビット構成
bit
7
6
5
4
3
2
1
000060H
(-)
(-)
(-)
(-)
(-)
(-)
DIV1
(R/W)
0
DIVR
DIV0 分周比制御レジスタ
(R/W) 初期値 ------00
B
R/W : リード・ライト可能
-
: 未定義
[bit7 ∼ bit2] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
[bit1, bit0] DIV1, DIV0( 分周比選択 )
分周周期測定モード (PWCSR の bit2 ∼ bit0:MOD2, MOD1, MOD0=001B) において使用
するレジスタで , ほかのモードでは意味をもちません。
分周周期測定モードには , DIVR によって設定された分周比だけ測定端子に入力された
パルスを分周し , 分周後の 1 周期幅を測定します。
DIV1
DIV0
カウントクロック選択
0
0
4 分周
0
1
16 分周
1
0
64 分周
1
1
256 分周
[ 初期値 ]
• リセット時 , "00B" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
起動後の書換えは , 禁止です。必ず起動前か停止後に書き込んでください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
385
第 15 章 PWC タイマ
15.3 PWC タイマの動作
15.3
MB90330A シリーズ
PWC タイマの動作
PWC タイマの動作について説明します。
■ PWC タイマ動作概略
PWC タイマは , 16 ビットアップカウントタイマを基本にした多機能タイマで , 測定入
力端子と 8 ビット入力分周などを組み込んでいます。PWC タイマには , 次の 2 つの主
要機能があります。
• タイマ機能
• パルス幅カウント機能
どちらの機能でも 3 種類のカウントクロックを選択できます。以下に , 各機能における
基本性能 / 動作について説明します。
386
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
タイマ機能の動作
15.3.1
リロード動作とワンショット動作が可能なアップカウントタイマです。
■ タイマ機能の動作
タイマ起動後 , カウントクロックごとにカウントアップを行います。0000H → FFFFH の
範囲でオーバフローが発生すると , 割込み要求が発生するおそれがあります。
オーバフロー発生した場合 , モードによって以下のように動作します。
• ワンショットモード : カウントを停止します。
• リロードモード
: タイマにリロードレジスタの内容をリロードし , 再びカ
ウントを開始します。
図 15.3-1 に , タイマ機能のワンショットモードおよびリロードモードの動作を示しま
す。
図 15.3-1 タイマ機能の動作
〔ワンショットモード〕
(実線がタイマカウント値)
オーバフロー
PWCRへの書込み
FFFFH
オーバフロー
(再起動禁止)
0000H
タイマスタート OVIRフラグセット/タイマストップ
タイマスタート
OVIRフラグセット/タイマストップ
時間
〔リロードモード〕
タイマカウント値
オーバフロー
FFFFH
オーバフロー
オーバフロー
オーバフロー
オーバフロー
リロード
PWCライト値
リロード リロード リロード
リロード
0000H
PWCRライト タイマスタート
*
*
*
リロード
*
リロード
*
タイマストップ
再起動
時間
*:OVIRフラグセット
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
387
第 15 章 PWC タイマ
15.3 PWC タイマの動作
15.3.2
MB90330A シリーズ
パルス幅測定機能の動作
入力パルスの任意イベント間の時間周期をタイマで測定できます。
■ パルス幅測定機能の動作
パルス幅測定機能は , 起動後 , 設定した測定開始エッジが入力されるまでカウントを開
始しません。開始エッジを検出するとタイマを 0000H にクリア後カウントアップを開
始し , 停止エッジを検出するとカウントを停止します。この間のカウント値がパルス幅
としてレジスタに保存されます。測定終了時に割込みを検出します。
測定終了後は , 測定モードに応じて以下のように動作します。
• 単発測定モード : 動作を中断します。
• 連続測定モード : タイマ値はバッファレジスタに転送され , 次の開始エッジが入
力されるまで測定が中断されます。
図 15.3-2 に単発測定モードの動作を , 図 15.3-3 に連続測定モードの動作を示します。
図 15.3-2 パルス幅測定動作 ( 単発測定モード /"H" 幅測定 )
PWC入力被測定パルス
(実線がタイマカウント値)
タイマカウント値
FFFFH
タイマクリア
0000H
測定開始
タイマスタート
タイマストップ
時間
EDIRフラグセット(測定終了)
図 15.3-3 パルス幅測定動作 ( 連続測定モード /"H" 幅測定 )
PWC入力被測定パルス
(実線がタイマカウント値)
タイマカウント値
オーバフロー
FFFFH
PWCRへデータ転送
タイマクリア
タイマクリア
0000H
測定開始
タイマスタート
タイマストップ
タイマスタート
時間
EDIRフラグセット(測定終了)
388
EDIRフラグセット
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
カウントクロックおよび動作モードの選択
15.3.3
カウントクロックの選択および動作モードの選択について説明します。
■ カウントクロックの選択
タイマのカウントクロックは , PWCSR の bit7(CKS1) および bit6(CKS0) の設定によって
内部クロックソース 3 種類から選択できます。
表 15.3-1 に , カウントクロックの選択内容を示します。
表 15.3-1 カウントクロックの選択内容
PWCSR/bit7, bit6:
CKS1, CKS0
選択される内部カウントクロック
00B
マシンクロックの 4 分の 1
(24 MHzのマシンクロックの場合は0.17 μs) [初期値]
01B
マシンクロックの 16 分の 1
(24 MHz のマシンクロックの場合は 0.67 μs)
10B
マシンクロックの 32 分の 1
(24 MHz のマシンクロックの場合は 1.33 μs)
リセット後の初期値では , マシンクロックの 4 分周クロックが選択されます。
<注意事項>
カウントクロックの選択は , 必ずタイマ起動前に行ってください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
389
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
■ 動作モードの選択
各動作モード / 測定モードの選択は , PWCSR ビットの設定によって行います。
• 動作モードの選択 : PWCSR の bit2 ∼ bit0(MOD2, MOD1, MOD0 ビット ) タイマモー
ド / パルス幅測定モードの選択 , 測定エッジの決定など
• 測定モードの設定 : PWCSR の bit3(S/C ビット ) 単発測定 / 連続測定またはリロード /
ワンショットの選択
表 15.3-2 に , 動作モード / 測定モードの設定内容を示します。
表 15.3-2 動作モード / 測定モードの設定内容
S/C
MOD2
MOD1
MOD0
ワンショットタイマ
0
0
0
0
リロードタイマ
1
0
0
0
↑ or ↓∼↑ or ↓
全エッジ間測定
単発測定 : バッファ無効
0
0
1
0
連続測定 : バッファ有効
1
0
1
0
分周周期測定
(1 ∼ 256 分周 )
単発測定 : バッファ無効
0
0
1
1
連続測定 : バッファ有効
1
0
1
1
↑∼↑
立上り間周期測定
単発測定 : バッファ無効
0
1
0
0
連続測定 : バッファ有効
1
1
0
0
↑∼↓
"H" パルス幅測定
単発測定 : バッファ無効
0
1
0
1
連続測定 : バッファ有効
1
1
0
1
↓∼↑
"L" パルス幅測定
単発測定 : バッファ無効
0
1
1
0
連続測定 : バッファ有効
1
1
1
0
↓∼↓
立下り間周期測定
単発測定 : バッファ無効
0
1
1
1
連続測定 : バッファ有効
1
1
1
1
動作モード
タイマ
パルス幅測定
リセット後の初期設定では , ワンショットタイマが選択されています。
<注意事項>
動作モードの選択は , 必ずタイマ起動前に行ってください。
390
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
15.3.4
タイマ / パルス幅測定の起動と停止
各動作の起動 / 再起動 / 停止 / 強制停止は , PWCSR の bit15, bit14(STRT, STOP
ビット ) によって行います。
■ タイマ / パルス幅測定の起動と停止
タイマ / パルス幅測定の起動 / 再起動は STRT ビット , 強制停止は STOP ビットと機能
が分かれており , それぞれ "0" を書き込むことによって機能します。しかし , このとき
に両ビットに書き込む値が排他でないと機能しません。ビット操作命令以外の命令 ( バ
イト以上の命令)で書き込む場合は, 必ず表 15.3-3に示すビットの組合せに限られます。
表 15.3-3 STRT ビットと STOP ビットの機能
STRT
STOP
0
1
タイマ / パルス幅測定の起動 / 再起動
1
0
タイマ / パルス幅測定の強制停止
機能
ビット操作命令 ( クリアビット命令 ) を用いる場合 , ハードウェアによって自動的に
表 15.3-3 に示す組合せで書き込まれるため , 特に意識する必要はありません。
■ 起動後の動作
タイマモードおよびパルス幅測定モードの起動後の動作は , 以下のとおりです。
● タイマモード
直ちにカウント動作を開始します。
● パルス幅測定モード
測定開始エッジが入力されるまでカウントは行いません。測定開始エッジ検出後 , 16
ビットアップカウントタイマを "0000B" にクリアし , カウントを開始します。
■ 再起動
タイマ / パルス幅測定モード起動後 , 動作中に起動をかける (STRT ビットに "0" を書き
込む ) ことを再起動とよびます。
再起動をかけると , モードによって , 以下の動作が行われます。
● ワンショットタイマモード
動作に影響はありません。
● リロードタイマモード
リロード動作を行い , 動作を続行します。オーバフロー発生タイミングと同時に再起動
をかけた場合 , オーバフローフラグ (OVIR) はセットされます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
391
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
● パルス幅測定モード
測定開始エッジ待ち状態の場合 , 動作に影響はありません。測定中の場合は , カウント
を停止し再度測定開始エッジ待ち状態となります。この際 , 測定終了エッジ検出と再起
動が同時になると , 測定終了フラグ (EDIR) がセットされ , 連続測定モード時は結果が
PWCR に転送されます。
■ 停止
ワンショットタイマモード / 単発測定モードでは , タイマのオーバフローまたは測定終
了より自動的にカウントを停止しますので , 特に意識して停止する必要はありません。
ただし , ほかのモードでは , タイマを強制的に停止させる必要があります。タイマが自
動的に停止する前にタイマを停止させたい場合にも同様です。
■ 動作状態の確認
前述の STRT, STOP ビットは , 読出し時には , 動作状態表示ビットとして機能します。
表 15.3-4 に , 動作状態表示ビットの機能を示します。
表 15.3-4 動作状態表示ビットの機能
STRT
STOP
動作状態
0
0
タイマ停止 ( 測定開始エッジ待ち状態を除く ) :
起動されていないかまたは測定が終了したことを
示します。
1
1
タイマカウント動作中または測定開始エッジ状態
待ち
<注意事項>
STRT, STOP どちらのビットを読み出しても同じ値となります。ただし , リードモディファ
イライト (RMW) 系命令 ( ビット処理命令など ) で STRT, STOP ビットを読み出すと常に
"11B" になるため , これらの命令を使用して読み出さないでください。
392
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
15.3.5
第 15 章 PWC タイマ
15.3 PWC タイマの動作
タイマモードの動作
タイマモードの動作について説明します。
■ タイマのクリア
次の場合には , 16 ビットアップカウントタイマが "0000H" にクリアされます。
• リセット時
• パルス幅測定モードで , 測定開始エッジを検出しカウントを開始する場合
■ ワンショット動作モード
ワンショット動作モードでは , タイマ起動後カウントクロックごとにカウントアップ
を行い , "FFFFH" から "0000H" へカウントする際のオーバフロー発生によって自動的に
停止します。タイマ起動前に PWCR に値を設定しておくと , その値からカウントが開
始されます。この場合 , 設定した値は保持されず , PWCR の値は現行のカウント値を示
します。
■ リロード動作モード
リロード動作モードでは , タイマ起動後 PWCR 中のリロード値をタイマに設定してか
らカウントクロックごとにカウントアップを行います。"FFFFH" から "0000H" へカウン
トする際のオーバフロー発生によって , 再度 PWCR 中のリロード値をタイマに設定し
( リロード動作 ), カウント動作を繰り返します。PWCSR の STOP ビットへの書込みに
よる強制停止されるかまたはリセットされるまで , タイマは停止しません。タイマ起動
前に PWCR に設定した値は , リロード値としてカウント中も保持され , 起動 / 再起動時
およびオーバフローが生じる際には必ずタイマに設定されます。カウント中に設定値
を変更する場合は , 次のオーバフロー発生時またはタイマの再起動の際に , 変更後の新
規リロード値を使用します。
■ タイマ値とリロード値
ワンショット動作モードでの PWCR は , 直接アップカウントタイマにアクセスします。
PWCR に値を書き込むとそのままタイマに書き込まれ , タイマが動作中に PWCR の値
を読み出すとカウント中のタイマ値が得られます。タイマ起動前に PWCR に任意の値
を書き込んでから起動すると , この指定された値からカウントが開始されます。リロー
ド動作モードでは, アップカウントタイマをアクセスすることが不可能です。
PWCRは,
リロード値を保持するリロードレジスタとして機能します。タイマの起動 / 再起動 /
オーバフローが生じる際には必ず , PWCR に書き込まれた値がタイマに設定されます。
PWCR を読み出すと , 格納されたリロード値が読み出されます。
PWCR の値とタイマの値が定まらないのは , リロード動作モードを強制的に中断させ
た後にタイマをワンショット動作モードに設定した場合です。したがって , タイマの使
用前に , 必ず値を書き込んでから使用してください。
■ 割込み発生要求
タイマモード動作においては , タイマのオーバフローによる割込み要求を発生するこ
とが可能です。カウントアップによってオーバフローが発生するとオーバフローフラ
グがセットされ , オーバフロー割込み要求が許可されていると割込み要求が発生しま
す。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
393
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
■ タイマ周期
ワンショット動作モードで PWCR に "0000H" を設定してタイマを起動すると , 65536 回
カウントアップ後にオーバフローを発生し , カウントを停止します。起動から停止まで
の時間は , 次の式によって計算されます。
T 1=(65536-n 1) × t
T 1: 起動から停止までの時間 [ μs]
n 1: 起動時に PWCR に書き込まれていたタイマ値
t: カウントクロックの周期 [ μs]
リロード動作モードで PWCR に "0000H" を設定してタイマを起動すると , 65536 回カウ
ントアップごとにオーバフローを発生します。リロード周期の時間は , 次の式によって
計算されます。
T R=(65536-n R) × t
T R: リロード周期 ( オーバフロー周期 )[ μs]
n R: PWCR に保持されているリロード値
t: カウントクロックの周期 [ μs]
■ カウントクロックと最大周期
タイマモードの場合 , PWCR に設定する値が "0000H" のときに最大周期となります。
マシンクロック ( 以下 φ とする )=24 MHz 時のカウントクロックの周期とタイマの最大
周期を表 15.3-5 に示します。
表 15.3-5 カウントクロックと周期
カウントクロック選択
CSK1, CSK0=
00: (φ/4) 時
CSK1, CSK0=
00: (φ/16) 時
CSK1, CSK0=
00: (φ/32) 時
カウントクロック周期
0.17 μs
0.67 μs
1.33 μs
タイマ最大周期
10.92 ms
43.7 ms
87.4 ms
394
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
■ タイマの動作フロー
図 15.3-4 に , タイマの動作フローを示します。
図 15.3-4 タイマの動作フロー
各種設定
カウントクロック選択
動作/測定モード選択
割込みフラグクリア
割込み許可
PWCRに値を設定
再起動
リロード動作モード
STRTビットにより起動
ワンショット動作モード
PWCRの値をタイマにリード
カウント開始
カウント開始
カウントアップ
カウントアップ
オーバフローの発生
→OVIRフラグセット
オーバフローの発生
→OVIRフラグセット
カウント停止
動作停止
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
395
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
パルス幅測定モードの動作
15.3.6
パルス幅測定モードの動作について説明します。
■ 単発測定と連続測定
パルス幅測定モードには , 1 回のみ測定を行うモードと , 連続して測定を行うモードが
あります。各モードは , PWCSR の S/C ビットによって選択します (「 15.3.3 カウント
クロックおよび動作モードの選択 」を参照してください )。
● 単発測定モード
1 回目の測定終了エッジが入力されると , タイマのカウンタが停止して PWCSR 中の測
定終了フラグ (EDIR) がセットされ , 以降は測定を行いません ( ただし , 同時に再起動
がかかった場合は , 測定開始待ちとなります ) 。
● 連続測定モード
測定終了エッジが入力されると , タイマのカウンタが停止して PWCSR 中の測定終了フ
ラグ (EDIR) がセットされ , 再度測定開始エッジが入力されるまでカウントを停止しま
す。再度 , 測定開始エッジが入力されると , タイマを "0000H" にクリアした後測定を開
始します。測定終了時タイマ内の測定結果は PWCR に転送されます。
<注意事項>
測定モードの選択変更は , 必ずタイマの停止中に行ってください。
■ 測定結果のデータ
単発測定モードと連続測定モードでは , 測定結果とタイマ値の扱い , PWCR の機能に違
いがあります。両モードにおける測定結果は以下のとおりです。
● 単発測定モード
• 動作中に PWCR を読み出すと , 測定中のタイマ値が得られます。
• 測定終了後に PWCR を読み出すと , 測定結果データが得られます。
● 連続測定モード
• 測定終了時 , タイマ内の測定結果は PWCR に転送されます。
• PWCR を読み出すと直前の測定結果が得られ , 測定動作中も前回の測定結果を保持
しています。測定中のタイマ値は読み出せません。
連続測定モードで , 測定結果を読み出さないうちに次の測定が終了してしまった場合
は , 前回の測定結果が新しい測定結果に消されてしまいます。この際 , PWCSR 中のエ
ラーフラグ (ERR) がセットされます。エラーフラグ (ERR) は PWCR を読み出すと自動
的にクリアされます。
396
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
■ 測定モードとカウンタ動作
入力されたパルスのどこを測定するかによって, 測定モードは6種類のうちから選択で
きます。さらに , 高い周波数のパルスの幅を精度よく測定できるように , 入力されたパ
ルスを任意分周して周期を測定するモードも用意されています。
表 15.3-6 に , 測定モー
ド一覧を示します。
表 15.3-6 測定モード一覧 (1 / 2)
測定モード
MOD2
MOD1
MOD0
測定モード測定内容 (W: 測定するパルス幅 )
W
W
"H" パルス幅測定
1
0
1
カウントスタート カウントストップ
スタート
ストップ
"H" 期間の幅を測定します。
カウント ( 測定 ) 開始 : 立上りエッジ検出時
カウント ( 測定 ) 終了 : 立下りエッジ検出時
W
W
"L" パルス幅測定
1
1
0
カウントスタート カウントストップ
スタート
ストップ
"L" 期間の幅を測定します。
カウント ( 測定 ) 開始 : 立下りエッジ検出時
カウント ( 測定 ) 終了 : 立上りエッジ検出時
W
立上りエッジ間
周期測定
1
0
0
カウントスタート
W
W
カウント
ストップ
スタート
ストップ
スタート
ストップ
立上りエッジ間の周期を測定します。
カウント ( 測定 ) 開始 : 立上りエッジ検出時
カウント ( 測定 ) 終了 : 立上りエッジ検出時
W
立下りエッジ間
周期測定
1
1
1
カウントスタート
W
W
カウント
ストップ
スタート
ストップ
スタート
ストップ
立下りエッジ間の周期を測定します。
カウント ( 測定 ) 開始 : 立下りエッジ検出時
カウント ( 測定 ) 終了 : 立下りエッジ検出時
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
397
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
表 15.3-6 測定モード一覧 (2 / 2)
MOD2
測定モード
MOD1
MOD0
測定モード測定内容 (W: 測定するパルス幅 )
W
全エッジ間
パルス幅測定
0
1
カウントスタート
0
W
W
カウント
ストップ
スタート
ストップ
スタート
ストップ
連続して入力されるエッジ間の幅を測定しま
す。
カウント ( 測定 ) 開始 : エッジ検出時
カウント ( 測定 ) 終了 : エッジ検出時
W
0
分周周期測定
1
カウントスタート
(4分周の例)
1
W
カウント
ストップ
スタート
W
ストップ
分周比設定レジスタ DIVR で選択した分周比だ
け
入力パルスを分周してその周期を測定します。
カウント ( 測定 ) 開始 : 起動直後の立上りエッ
ジ検出時
カウント ( 測定 ) 終了 : 分周後の 1 周期終了時
どのモードでも , カウントの開始からカウント開始エッジの入力までの間はタイマに
よるカウントは行われません。カウント開始エッジ入力後に , タイマは "0000H" にクリ
アされ , カウント終了エッジが入力されるまでは , カウントクロックのたびにタイマの
カウントが行われます。カウント終了エッジの入力時には , 次の動作を実行します。
1. PWCSR 中の測定終了フラグ (EDIR) がセットされます。
2. タイマのカウント動作が停止します ( 再起動と同時であった場合を除く )。
3. 連続測定モード : タイマの値 ( 測定結果 ) は PWCR に転送され , 次の測定開始
エッジが入力されるまでカウントを中断したままとなりま
す。
4. 単発測定モード : 測定を終了します ( 再起動と同時であった場合を除く )。
連続測定モードの場合で , 全エッジ間パルス幅測定や分周測定などを行った場合 , 終了
エッジが次の測定エッジとなります。
■ 最小入力パルス幅
パルス幅測定入力端子 (PWC) に入力できるパルスには , 以下の制限があります。
パルス幅は , 4 マシンサイクル (24 MHz のマシンクロックの場合は , 0.17 μs) 以上とす
ること 。
398
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
■ パルス幅 / 周期算出方法
測定するパルスの幅 / 周期は , 次の式で算出できます。
T W=n × t ÷ D IV[ μs]
T W: 被測定パルス幅 / 周期 [ μs]
n: PWCR 内の測定結果データ
t: カウントクロックの周期 [ μs]
D IV: 分周比レジスタ DIVR で選択した分周比
( 分周周波数測定モード以外は 1 を代入 )
■ パルス幅 / 周期カウントの範囲
カウントクロックおよび入力分周器の分周比の選択の組合せにより , 測定可能なパル
ス幅 / 周期のレンジが変化します。
表 15.3-7 に , マシンクロック ( 以下 φ とする )=24 MHz 時の測定レンジ一覧を示します。
表 15.3-7 パルス幅測定レンジ一覧
分周比
DIV1
DIV0
CKS1, CKS0=
00 (φ/4) 時
CKS1, CKS0=
01 (φ/16) 時
CKS1, CKS0=
10 (φ/32) 時
分周なし
―
―
0.17 μs ∼ 10.92 ms
[0.25 μs]
0.17 μs ∼ 43.7 ms
[1.6 μs]
0.17 μs ∼ 87.4 ms
[3.2 μs]
4 分周
0
0
0.17 μs ∼ 2.73 ms
[6.25 μs]
0.17 μs ∼ 10.92 ms
[0.4 μs]
0.17 μs ∼ 21.85 ms
[0.8 μs]
16 分周
0
1
0.17 μs ∼ 683 μs
[15.6 ns]
0.17 μs ∼ 2.73 ms
[1.6 μs]
0.17 μs ∼ 5.46 ms
[0.2 μs]
64 分周
1
0
0.17 μs ∼ 170 μs
[3.91 μs]
0.17 μs ∼ 683 μs
[25 μs]
0.17 μs ∼ 1.36 ms
[50 ns]
256 分周
1
1
0.17 μs ∼ 43 μs
[0.98 μs]
0.17 μs ∼ 171 μs
[6.25 μs]
0.17 μs ∼ 341 μs
[12.5 ns]
[ ] 内は , 1 ビット当たりの分解能を示します。
■ 割込み要求発生
パルス幅測定モードにおいては , 以下の 2 つの割込み要求を発生できます。
● タイマのオーバフローによる割込み要求
測定中 , カウントアップによってオーバフローが発生すると , オーバフローフラグが
セットされます。オーバフロー割込み要求が許可されていると , 割込み要求が発生しま
す。
● 測定終了による割込み要求
測定終了エッジを検出すると PWCSR 中の測定終了フラグ (EDIR) がセットされ , 測定
終了割込み要求が許可されていると割込み要求が発生します。
測定終了フラグ (EDIR) は , 測定結果 PWCR を読み出すと同時に自動的にクリアされま
す。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
399
第 15 章 PWC タイマ
15.3 PWC タイマの動作
MB90330A シリーズ
■ パルス幅測定の動作フロー
図 15.3-5 に , パルス幅測定の動作フローを示します。
図 15.3-5 パルス幅測定の動作フロー
各種設定
カウントクロック選択
動作/測定モード選択
割込みフラグクリア
割込み許可
再起動
STRTビットにより起動
連続測定モード
単発測定モード
測定開始エッジ検出
測定開始エッジ検出
タイマをクリア
タイマをクリア
カウント開始
カウント開始
カウントアップ
カウントアップ
オーバフローの発生
→OVIRフラグセット
測定終了エッジ検出
→EDIRフラグセット
400
オーバフローの発生
→OVIRフラグセット
測定終了エッジ検出
→EDIRフラグセット
カウント停止
カウント停止
タイマ値をPWCRに転送
動作停止
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
15.4
第 15 章 PWC タイマ
15.4 PWC タイマの使用上の注意
PWC タイマの使用上の注意
PWC タイマを使用する上で注意すべきことがらについて説明します。
■ PWC タイマの使用上の注意
● レジスタの書換えに関する注意事項
PWCSR 中 , 以下に示すビットは動作中に書き換えることを禁止します。書換えは , 必
ず起動前か停止後に行ってください。
• [bit7, bit6] CKS1, CKS0( クロック選択 )
• [bit5, bit4] PIS1, PIS0( 入力信号選択 )
• [bit3] S/C ( 測定モード ( 単発 / 連続 ) の選択 )
• [bit2 ∼ bit0] MOD2, MOD1, MOD0( 動作モード / 測定エッジ選択 )
DIVR は , 動作中に書き換えることを禁止します。書換えは必ず起動前か停止後に行っ
てください。
● タイマモードの測定終了フラグの扱い
PWCSR 中の測定終了割込み要求フラグ (EDIR) の値は , タイマモードでは , 意味があり
ません。このため , PWCSR 中の測定終了割込み要求ビット (EDIE) は , タイマモードで
使用するときは必ず "0" を設定してください。
● PWCSR 中の STRT, STOP ビットの扱い
両ビットともに , 書込み時と読出し時では , 意味が異なるので注意してください
(「 15.2.1 PWC コントロールステータスレジスタ (PWCSR) 」を参照 )。また , リード
モディファイライト (RMW) 系命令における読出し値は , ビット値にかかわらず "11B"
です。このため , 動作状態の読出しには , ビット処理命令は使用できません ( 読み出す
と必ず動作中となります ) ので注意してください。タイマの起動 / 停止のための STRT,
STOP ビットへの書込みは , それぞれのビットに対するビット処理命令 ( ビットクリア
命令など ) を用いることができます。
● タイマのクリア
パルス幅測定モードの場合 , 測定開始エッジでタイマがクリアされますので , 起動前に
タイマ中のデータは無効となります。
● モード変更時の PWCR とタイマの値
• リロードタイマモードで使用した後 , タイマを強制停止してからワンショットタイ
マモードにした場合 , PWCR に保持された値およびタイマの値は不定となりますの
で , 必ず値を書き込んでから使用してください。
• ワンショットタイマモードで使用した場合 , PWCR の値は不定となりますので , 必
ず値を書き込んでから使用してください。
• パルス幅測定モードから , タイマモードへ切り替える場合は , 起動前に必ず PWCR
に値を再設定してから起動してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
401
第 15 章 PWC タイマ
15.4 PWC タイマの使用上の注意
MB90330A シリーズ
● 最小パルス幅
パルス幅測定入力端子に入力できるパルスには , 以下の制限があります。
• 最小パルス幅 : マシンクロックの 2 分周 (16 MHz マシンクロック時 , 0.25 μs 以上 )
• 最小入力周波数 : マシンクロックの 4 分周 (16 MHz マシンクロック時 , 4 MHz 以下 )
上記パルスより小さい幅や高い周波数のパルスを入力した場合 , 動作は保証できませ
ん。入力信号にそのようなノイズがのる可能性がある場合は , チップ外部でフィルタな
どを通して除去してから入力してください。
● 分周周波数測定モード
パルス幅測定モードのうちの分周周期測定モードでは , 入力パルスを分周するため , 測
定結果より算出して得られるパルス幅は , 平均値となりますので注意してください。
● クロック選択ビットの扱い
PWCSR 中の [bit7, bit6] CKS1, CKS0( クロック選択 ) には , "11B" は設定しないでくださ
い。
● 動作中の再起動
カウント動作を開始した後に再起動をする場合は , そのタイミングによっては以下に
示すようなことが起こり得ます。
• リロードタイマモード時 , オーバフロー発生と同時タイミングであった場合 , 再起
動を行いますが , オーバフローフラグ (OVIR) はセットされます。
• パルス幅単発測定モードにおいて , 測定終了エッジと同時であった場合 , 再起動を
行い測定開始エッジ待ち状態となりますが , 測定終了エッジ (EDIR) はセットされま
す。
• パルス幅連続測定モードにおいて , 測定終了エッジと同時であった場合 , 再起動を
行い測定開始エッジ待ち状態となりますが , 測定終了エッジ (EDIR) はセットされ ,
その時点での測定結果は PWCR に転送されます。
● PWC タイマを「"H" パルス幅または "L" パルス幅測定モードを連続測定モード」で使用して
いる場合
パルス幅測定が完了し , 次のパルス幅測定開始待ち状態になっている間 , 本来停止する
べきタイマが動作し続け , 次のパルス幅測定開始前にタイマのオーバフローフラグ
(OVIR) がセットされてしまうことがあるため , 次回パルス幅測定終了時にオーバフ
ローしていない場合でもオーバフローフラグがセットされている場合があります。し
たがって , PWC タイマを "H" パルス幅または "L" パルス幅測定モードを連続測定モー
ドでご使用になる場合には , オーバフローフラグを使用しないでください。
402
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章
16 ビットリロードタイマ
この章では , 16 ビットリロードタイマの概要 , レ
ジスタの構成 / 機能および 16 ビットリロードタイ
マの動作について説明します。
16.1 16 ビットリロードタイマの概要
16.2 16 ビットリロードタイマのレジスタ
16.3 16 ビットリロードタイマの動作
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
403
第 16 章 16 ビットリロードタイマ
16.1 16 ビットリロードタイマの概要
16.1
MB90330A シリーズ
16 ビットリロードタイマの概要
16 ビットリロードタイマには , 3 種類の内部クロックに同期してカウントダウンす
る内部クロックと , 外部端子に入力されたパルスの任意エッジを検出してカウント
ダウンするイベントカウントモードがあり , どちらかの機能を選択できます。
■ 16 ビットリロードタイマの概要
16 ビットリロードタイマは , カウント値が "0000H" ∼ "FFFFH" になるときをアンダフ
ローと定義しています。したがって , [ リロードレジスタの設定値 +1] カウントでアン
ダフローが発生します。カウント動作としては , アンダフローで , カウント設定値を再
ロードしてカウントを繰り返すリロードモードと , アンダフローでカウントを停止す
るワンショットモードを選択できます。カウンタのアンダフローで割込みを発生させ
ることもでき , DTC にも対応しています。
404
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.1 16 ビットリロードタイマの概要
MB90330A シリーズ
16.1.1
16 ビットリロードタイマの機能
16 ビットリロードタイマの機能概要を説明します。
■ 16 ビットリロードタイマの動作モード
クロックモード
カウンタ動作
16 ビットリロードタイマ動作
リロードモード
ソフトウェアトリガ動作
外部トリガ動作
外部ゲート入力動作
内部クロック
ワンショットモード
リロードモード
イベントカウントモード
( 外部クロックモード )
ソフトウェアトリガ動作
ワンショットモード
■ 内部クロックモード
カウントクロックとして 3 種類の内部クロックから 1 種類を選択できます。
● ソフトウェアトリガ動作
タイマ制御ステータスレジスタ (TMCSR0 ∼ TMCSR2) の TRG ビットに "1" を書き込む
と , カウンタ動作を開始します。TRG ビットによるトリガ入力は , 外部トリガ入力時お
よび外部ゲート入力時にも有効です。
● 外部トリガ動作
選択されたエッジ ( 立上り / 立下り / 両エッジ ) が TIN0/TIN1/TIN2 端子に入力された
とき , カウント動作を開始します。
● 外部ゲート入力動作
選択された信号 ("L" または "H") が TIN0/TIN1/TIN2 に入力されている間 , カウント動
作を続行します。
■ イベントカウントモード ( 外部クロックモード )
選択されたエッジ ( 立上り / 立下り / 両エッジ ) が TIN0/TIN1/TIN2 端子に入力される
と , そのエッジでカウントダウンする機能です。
一定周期の外部クロックを使用した場合は , インターバルタイマとしても使用できま
す。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
405
第 16 章 16 ビットリロードタイマ
16.1 16 ビットリロードタイマの概要
MB90330A シリーズ
■ カウンタ動作のモード
● リロードモード
カウントダウンで , アンダフロー(0000H → FFFFH) が発生すると , カウント設定値が再
ロードされてカウント動作を継続します。アンダフローで , 割込み要求を発生させるこ
とができるので , インターバルタイマとして使用できます。また , アンダフローごとに ,
反転するトグル波形を TOT0/TOT1/TOT2 端子から出力できます。
カウントクロック
内部クロック
外部クロック
カウントクロック周期
インターバル時間
2 1/ φ (0.083 μs)
0.083 μs ∼ 5.461 ms
2 3/ φ (0.33 μs)
0.33 μs ∼ 21.845 ms
2 5/ φ (1.33 μs)
1.33 μs ∼ 87.38 ms
2 3/ φ (0.5 μs)
0.5 μs 以上
φ : マシンクロック () 内はマシンクロック 24 MHz 動作時の値です。
● ワンショットモード
カウントダウンで , アンダフロー(0000H → FFFFH) が発生すると , カウント動作を停止
します。
アンダフローで割込みを発生させることができます。また , カウントの動作中は , カウ
ント中を示す短波形を TOT0/TOT1/TOT2 端子から出力できます。
406
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.1 16 ビットリロードタイマの概要
MB90330A シリーズ
16 ビットリロードタイマのブロックダイヤグラム
16.1.2
16 ビットリロードタイマのブロックダイヤグラムを示します。
■ 16 ビットリロードタイマのブロックダイヤグラム
図 16.1-1 16 ビットリロードタイマのブロックダイヤグラム
F2MC-16LX BUS
TMRLR0~TMRLR2
16ビットリロードレジスタ
リロード信号
リロード
TMR0~TMR2
制御回路
16ビットタイマレジスタ(ダウンカウンタ)UF
CLK
カウントクロック生成回路
3 ゲート入力
プリスケーラ /
クリア
有効クロック判定回路
ウェイト信号
CLK
出力信号生成回路
反転
端子
入力制御回路
TIN0~TIN2
クロックセレクタ
EN
外部クロック
機能選択 / 3
セレクト信号/ 2
端子
出力信号生成回路
OUTL
TOT0~TOT2
RELD 動作制御回路
OUTE
タイマ制御ステータスレジスタ(TMCSR0~TMCSR2)
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
407
第 16 章 16 ビットリロードタイマ
16.2 16 ビットリロードタイマのレジスタ
16.2
MB90330A シリーズ
16 ビットリロードタイマのレジスタ
16 ビットリロードタイマで使用するレジスタの構成および機能について説明しま
す。
■ 16 ビットリロードタイマレジスタ一覧
図 16.2-1 に , 16 ビットリロードタイマのレジスタ一覧を示します。
図 16.2-1 16 ビットリロードタイマのレジスタ一覧
bit
ch.0 : 000063H
ch.1 : 000067H
ch.2 : 00006BH
15
14
13
12
11
-
-
-
-
CSL1
CSL0 MOD2 MOD1
(-)
(X)
(-)
(X)
(-)
(X)
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
4
3
2
1
0
RELD
INTE
UF
CNTE
TRG
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W) 読出し / 書込み
(0) 初期値
bit
7
6
5
ch.0 : 000062H
MOD0 OUTE OUTL
ch.1 : 000066H
ch.2 : 00006AH (R/W) (R/W) (R/W)
(0)
(0)
(0)
bit
ch.0 : 000065H
ch.1 : 000069H
ch.2 : 00006DH
9
8
TMCSR0 ~ TMCSR2
タイマ制御ステータス
レジスタ ( 上位 )
(R/W) 読出し / 書込み
(0) 初期値
TMCSR0 ~ TMCSR2
タイマ制御ステータス
レジスタ ( 下位 )
TMR0~TMR2/
TMRLR0~TMRLR2
15
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D09
D08
16 ビットタイマレジスタ /16 ビッ
トリロードレジスタ ( 上位 )*
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
読出し (TMR0~TMR2)
書込み (TMRLR0~TMRLR2)
初期値
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
16 ビットタイマレジスタ /16 ビッ
トリロードレジスタ ( 下位 )*
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
読出し (TMR0~TMR2)
書込み (TMRLR0~TMRLR2)
初期値
bit 7
ch.0 : 000064H
ch.1 : 000068H
ch.2 : 00006CH
10
TMR0~TMR2/
TMRLR0~TMRLR2
* : 読出し時は 16 ビットタイマレジスタ (TMR0 ∼ TMR2) として機能し ,
書込み時は 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) として機能します。
408
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.2 16 ビットリロードタイマのレジスタ
MB90330A シリーズ
16.2.1
タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼
TMCSR2)
タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) の構成および機能につ
いて説明します。
■ タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2)
タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) は , 16 ビットリロードタ
イマの動作モードおよび割込みを制御します。CNTE=0 のとき , UF/CNTE/TRG 以外の
ビットをモディファイします。
図 16.2-2 に , タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) のビット構
成を示します。
図 16.2-2 タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) のビット構成
bit
ch.0 : 000063H
ch.1 : 000067H
ch.2 : 00006BH
15
14
13
12
11
10
-
-
-
-
CSL1
CSL0
MOD2 MOD1
(-)
(X)
(-)
(X)
(-)
(X)
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
5
4
3
2
1
0
OUTL
RELD
INTE
UF
CNTE
TRG
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W) 読出し / 書込み
(0) 初期値
bit
7
6
ch.0 : 000062H
MOD0 OUTE
ch.1 : 000066H
ch.2 : 00006AH (R/W) (R/W)
(0)
(0)
9
8
TMCSR0 ~ TMCSR2
タイマ制御ステータス
レジスタ ( 上位 )
(R/W) 読出し / 書込み
(0) 初期値
TMCSR0 ~ TMCSR2
タイマ制御ステータス
レジスタ ( 下位 )
以下に , タイマ制御ステータスレジスタ 0 ∼ 2(TMCSR0 ∼ TMCSR2) の各ビットの機能
を説明します。
[bit15 ∼ bit12 ] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
[bit11, bit10 ] CSL1, CSL0( クロック選択 )
カウントクロック選択ビットで , クロックソースを選択します。
CM44-10129-6
クロックソース ( マシンクロック φ=24 MHz 時 )
CSL1
CSL0
0
0
φ/2 1(0.083 μs)
0
1
φ/2 3(0.33 μs)
1
0
φ/2 5(1.33 μs)
1
1
イベントカウントモード
[ 初期値 ]
FUJITSU MICROELECTRONICS LIMITED
409
第 16 章 16 ビットリロードタイマ
16.2 16 ビットリロードタイマのレジスタ
MB90330A シリーズ
[bit9 ∼ bit7 ] MOD2 ∼ MOD0
動作モードと入出力端子の機能を設定するビットです。MOD2=0 のとき , 入力端子
はトリガとして機能します。アクティブエッジが入力端子に入力されカウント動作
が進行すると , リロードレジスタの内容がカウンタにロードされます。MOD2=1 の
ときは , タイマはゲートカウントモードで動作し , 入力端子はゲート入力として機
能します。このモードでは , カウントはアクティブレベルが入力端子に入力されて
いる間だけカウントします。
MOD2 ∼ MOD0 ビットの組合せによって , 内部クロックモードおよびイベントカウ
ントモードを表 16.2-1 および表 16.2-2 に示すモードから選択します。
表 16.2-1 内部クロックモード (CSL0, CSL1=00, 01 または 10)
MOD2
MOD1
MOD0
入力端子機能
アクティブエッジまたはレベル
0
0
0
トリガ無効
-
0
0
1
0
1
0
0
1
1
1
X
0
[ 初期値 ]
立上りエッジ
立下りエッジ
トリガ入力
両エッジ
"L" レベル
ゲート入力
1
X
1
"H" レベル
表 16.2-2 イベントカウントモード (CSL0, CSL1=11)
MOD2
MOD1
MOD0
入力端子機能
アクティブエッジまたはレベル
X
0
0
トリガ無効
-
X
0
1
X
1
0
X
1
1
[ 初期値 ]
立上りエッジ
立下りエッジ
トリガ入力
両エッジ
[bit6] OUTE( 出力許可 )
出力許可を制御します。
TOT0 ∼ TOT2 端子は , "0" のとき汎用ポート , "1" のときタイマ出力端子として機能
します。リロードモードでは , 出力波形はトグル波形となります。ワンショットモー
ドでは , TOT0 ∼ TOT2 端子は , カウントが進行中であることを示す短形波を出力し
ます。
OUTE
410
機能
0
汎用ポート [ 初期値 ]
1
タイマ出力
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.2 16 ビットリロードタイマのレジスタ
MB90330A シリーズ
[bit5] OUTL( 出力レベルの設定 )
TOT0 ∼ TOT2 端子の出力レベルを設定するビットです。OUTL が , 0/1 では出力端
子レベルは逆になります。
OUTL
ワンショットモード時(RELD=0)
リロードモード時 (RELD=1)
0
カウント中 "H" の短形波
0 [ 初期値 ]
1
カウント中 "L" の短形波
1
X
1
0
X
1
1
[bit4] RELD( リロード動作許可 )
リロード動作を許可するビットです。RELD が "1" のときは , タイマはリロードモー
ド動作で動作します。このモードでは , タイマは , リロードレジスタの内容をカウ
ンタにロードし , アンダフローが発生しても ( カウンタ値 0000H ∼ FFFFH に変化す
るとき ) カウンタを継続します。RELD が "0" のときは , タイマはワンショットモー
ドで動作します。このモードでは , カウンタ値が 0000H ∼ FFFFH に変化するときに
アンダフローが発生するとカウンタ動作を停止します。
RELD
機能
0
ワンショットモード
1
リロードモード
[ 初期値 ]
[bit3] INTE( タイマ割込み要求許可 )
タイマ割込み要求を許可するビットです。INTE=0 のときは , UF が "1" になっても ,
割込み要求を発生しません。
INTE
機能
0
割込み要求出力禁止
1
割込み要求出力許可
[ 初期値 ]
[bit2] UF( タイマ割込み要求フラグ )
タイマ割込み要求フラグです。アンダフローが発生すると UF は "1" に設定されま
す。"0" を書き込むか , μDMAC によってクリアされます。"1" を書き込んでも意味
をもちません。リードモディファイライト命令での読出し値は "1" です。
CM44-10129-6
UF
読出し時
0
カウンタのアンダフローなし ( 初期値 )
このビットのクリア [ 初期値 ]
1
カウンタのアンダフローあり
変化なし(ほかへの影響なし)
書込み時
FUJITSU MICROELECTRONICS LIMITED
411
第 16 章 16 ビットリロードタイマ
16.2 16 ビットリロードタイマのレジスタ
MB90330A シリーズ
[bit1] CNTE( タイマカウンタ許可 )
タイマカウンタを許可するビットです。
CNTE
機能
0
カウンタ停止
1
カウンタ許可 ( 起動トリガ待ち )
[ 初期値 ]
[bit0] TRG( ソフトウェアトリガ )
ソフトウェアトリガビットです。TRG=1 の書込みで , ソフトウェアトリガを適用し
てタイマのリロードレジスタの内容をカウンタロードさせ , カウントを開始させま
す。"0" を書き込んでも何の意味ももちません。読出しは常に "0" です。CNTE=1 の
ときのみ , 動作モードにかかわらず常に有効になります。
TRG
412
機能
0
変化なし ( ほかへの影響なし ) [ 初期値 ]
1
カウント動作開始
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.2 16 ビットリロードタイマのレジスタ
MB90330A シリーズ
16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/
16 ビットリロードレジスタ 0 ∼ 2(TMRLR0 ∼
TMRLR2)
16.2.2
16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/16 ビットリロードレジスタ 0 ∼ 2
(TMRLR0 ∼ TMRLR2) の構成および機能について説明します。
■ 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/16 ビットリロードレジスタ 0 ∼ 2
(TMRLR0 ∼ TMRLR2)
図 16.2-3 に , 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)/16 ビットリロードレジ
スタ (TMRLR0 ∼ TMRLR2) のビット構成を示します。
図 16.2-3 16 ビットタイマレジスタ 0 ∼ 2 (TMR0 ∼ TMR2)/
16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2) のビット構成
bit 15
ch.0 : 000065H
ch.1 : 000069H
ch.2 : 00006DH
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D09
D08
16 ビットタイマレジスタ /16 ビッ
トリロードレジスタ ( 上位 )*
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
読出し (TMR0~TMR2)
書込み (TMRLR0~TMRLR2)
初期値
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
16 ビットタイマレジスタ /16 ビッ
トリロードレジスタ ( 下位 )*
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
(R)
(W)
(X)
読出し (TMR0~TMR2)
書込み (TMRLR0~TMRLR2)
初期値
bit 7
ch.0 : 000064H
ch.1 : 000068H
ch.2 : 00006CH
TMR0~TMR2/
TMRLR0~TMRLR2
14
TMR0~TMR2/
TMRLR0~TMRLR2
* : 読出し時は 16 ビットタイマレジスタ (TMR0 ∼ TMR2) として機能し ,
書込み時は 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) として機能します。
■ 16 ビットタイマレジスタ 0 ∼ 2(TMR0 ∼ TMR2)
16 ビットダウンカウンタのカウンタ値を読み出すことができるレジスタです。カウン
タ動作を許可 (TMCSR0 ∼ TMCSR2 の CNTE=1) し , カウントを開始すると , 16 ビット
リロードレジスタに書き込まれた値が TMR0 ∼ TMR2 にロードされ , カウントダウン
が開始されます。カウント停止状態 (TMCSR0 ∼ TMCSR2 の CNTE=0) では , TMR0 ∼
TMR2 レジスタの値が保持されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
413
第 16 章 16 ビットリロードタイマ
16.2 16 ビットリロードタイマのレジスタ
MB90330A シリーズ
<注意事項>
TMR0 ∼ TMR2 の読出しはカウンタ動作中にもできますが , 必ずワード転送命令
(MOVW A 003AH など ) を使用してください。
16 ビットタイマレジスタ (T M R 0 ∼ T M R 2 ) は , 機能的には , 読出し専用ですが , 書込み
専用の 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) と同一アドレスに配置されて
います。したがって , 書込みをしても T M R 0 ∼ T M R 2 の値は影響を受けませんが ,
TMRLR0 ∼ TMRLR2 に対して書込みが行われます。
■ 16 ビットリロードレジスタ 0 ∼ 2 (TMRLR0 ∼ TMRLR2)
16 ビットリロードタイマの動作に関係なく , カウンタ動作を禁止 (TMCSR0 ∼ TMCSR2
の CNTE=0) している状態で , TMRLR0 ∼ TMRLR2 にカウンタの初期値を設定します。
カウンタ動作を許可 (TMCSR0 ∼ TMCSR2 の CNTE=1) し , カウンタを起動すると ,
TMRLR0 ∼ TMRLR2 に書き込まれた値からカウントダウンを開始します。
TMRLR0 ∼
TMRLR2 に設定した値は , リロードモードのとき , アンダフローの発生でカウンタにリ
ロードされ , カウントダウンを続行します。ワンショットモードのときは , アンダフ
ローの発生でカウンタは "FFFFH" で停止します。
<注意事項>
TMRLR0 ∼ TMRLR2 の書込みは , カウンタ停止 (TMCSR0 ∼ TMCSR2 の CNTE=0) の状
態で行ってください。
また , 必ずワード転送命令 (MOVW A 003AH など ) で書き込んでください。
16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) は , 機能的には書込み専用ですが , 読
出し専用の 16 ビットタイマレジスタ (TMR0 ∼ TMR2) と同一アドレスに配置されていま
す。したがって , 読出し値は TMR0 ∼ TMR2 の値となるため , INC/DEC 命令などのリー
ドモディファイライト (RMW) 動作をする命令は , 使用できません。
414
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.3 16 ビットリロードタイマの動作
MB90330A シリーズ
16 ビットリロードタイマの動作
16.3
16 ビットリロードタイマの設定と , カウンタ動作の状態遷移について説明します。
■ 16 ビットリロードタイマの設定
● 内部クロックモードの設定
インターバルタイマとして動作させるには , 図 16.3-1 に示す設定が必要です。
図 16.3-1 内部クロックモードの設定
bit
TMCSR0
∼
TMCSR2
15
14
13
12
-
-
-
-
11
10
9
8
7
6
5
4
3
CSL1 CSL0 MOD2 MOD1 MOD0 OUTE OUTL RELD INTE
2
0
UF CNTE TRG
1
"11" 以外
TMRLR0
∼
TMRLR2
1
カウンタの初期値 ( リロード値 ) を設定
: 使用ビット
1 : "1" を設定
● イベントカウントモードの設定
イベントカウントモードとして動作させるには , 図 16.3-2 に示す設定が必要です。
図 16.3-2 イベントカウントモードの設定
bit
TMCSR0
∼
TMCSR2
15
14
13
12
-
-
-
-
11
9
8
7
6
5
4
3
CSL1 CSL0 MOD2 MOD1 MOD0 OUTE OUTL RELD INTE
1
TMRLR0
∼
TMRLR2
10
2
1
0
UF CNTE TRG
1
1
カウンタの初期値 ( リロード値 ) を設定
DDR3
D37
D36
D35
D34
D33
D32
D31
D30
DDR4
D47
D46
D45
D44
D43
D42
D41
D40
: 使用ビット
1 : "1" を設定
: 使用する端子に対応するビットに "0" を設定
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
415
第 16 章 16 ビットリロードタイマ
16.3 16 ビットリロードタイマの動作
MB90330A シリーズ
カウンタ動作の状態遷移
16.3.1
カウンタ動作の状態遷移を示します。
■ カウンタ動作の状態遷移
図 16.3-3 カウンタ動作の状態遷移
リセット
STOP状態
CNTE=0,WAIT=1
TIN端子:入力禁止
TOT端子:汎用入出力ポート
16ビットタイマレジスタ:
停止時の値を保持
リセット直後の値は不定
CNTE=0
CNTE=0
CNTE=1/TRG=1
CNTE=1/TRG=0
WAIT状態
CNTE=1/WAIT=1
RUN状態
TIN端子:トリガ入力のみ有効
T0T端子:16ビットリロードレジスタの
値を出力
UF=1 &
RELD=0
(ワンショ
ットモード)
16ビットタイマレジスタ:
停止時の値を保持
リセット直後はロードするまで値は不定
TIN端子:16ビットリロードタイマ
の入力端子として機能
T0T端子:16ビットリロードタイマ
の出力端子として機能
16ビットタイマレジスタ:
カウンタ動作
UF=1 &
RELD=1
(リロードモード)
TRG=1
TRG=1
(ソフトウェアトリガ)
(ソフトウェアトリガ)
LOAD
TINからの外部トリガ
CNTE=1, WAIT=0
CNTE=1,WAIT=0
16ビットリロードレジスタの設定値を
16ビットタイマレジスタへロード
ロード終了
:ハードウェアによる状態遷移
:レジスタアクセスによる状態遷移
WAIT :WAIT信号(内部信号)
416
TRG
:ソフトウェアトリガビット(TMCSR)
CNTE
:タイマカウンタ許可ビット(TMCSR)
UF
:タイマ割込み要求フラグビット(TMCSR)
RELD
:リロード動作許可ビット(TMCSR)
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.3 16 ビットリロードタイマの動作
MB90330A シリーズ
内部クロックモード ( リロードモード ) の動作
16.3.2
内部カウントクロックに同期して , 16 ビットカウンタをカウントダウンし , カウン
タのアンダフローで CPU に割込み要求を発生します。また , タイマ出力端子からト
グル波形を出力できます。
■ 内部クロックモード ( リロードモード ) の動作
カウント動作を許可 (TMCSR の CNTE=1) し , ソフトウェアトリガビット (TMCSR の
TRG), または外部トリガでタイマを起動すると , リロードレジスタ (TMRLR) の値をカ
ウンタにロードして , カウンタ動作を開始します。
カウンタ許可ビットとソフトウェアトリガビットを同時に "1" にセットすると , カウン
タ許可と同時にカウントを開始します。カウンタ値がアンダフロー("0000H"→"FFFFH")
すると , 16 ビットリロードレジスタ (TMRLR) の値をカウンタにロードして , カウント
動作を継続します。このとき , アンダフロー割込み要求フラグビット (UF) を "1" にセッ
トし , 割込み要求許可ビット (INTE) が "1" であれば割込み要求を発生します。また ,
TOT 端子からは , アンダフローごとに反転するトグル波形を出力できます。
● ソフトウェアトリガの動作
タイマ制御ステータスレジスタ (TMCSR) の TRG ビットに "1" を書き込むと , カウンタ
を起動します。
図 16.3-4 にリロード時のソフトウェアトリガの動作を示します。
図 16.3-4 リロードモード時のカウント動作 ( ソフトウェアトリガ動作 )
カウントクロック
リロード
データ
カウンタ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT端子
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
417
第 16 章 16 ビットリロードタイマ
16.3 16 ビットリロードタイマの動作
MB90330A シリーズ
● 外部トリガの動作
有効エッジ ( 立上り , 立下り , 両エッジ選択可能 ) が TIN 端子に入力されると , カウン
タを起動します。
図 16.3-5 にリロードモード時の外部トリガの動作を示します。
図 16.3-5 リロードモード時のカウント動作 ( 外部トリガ動作 )
カウントクロック
リロード
データ
カウンタ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
データロード信号
UFビット
CNTEビット
TIN端子
TOT端子
2T~2.5T*
T:マシンサイクル *:トリガ入力からリロードデータロードまで2T~2.5T時間かかります。
<注意事項>
TIN 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。
● ゲート入力の動作
タイマコントロールステータスレジスタ (TMCSR) のカウント許可ビット (CNTE) に "1"
を設定している場合に , ソフトウェアトリガビット (TRG) に "1" を設定すると , カウン
ト動作を開始します。
動作モード設定ビット(MOD2, MOD1, MOD0)で設定しているゲート入力の有効レベル
("L", "H" から設定可能 ) が TIN 端子に入力されている間 , カウント動作を行います。
図 16.3-6 リロードモード時のカウント動作 ( ソフトトリガゲート動作 )
カウントクロック
リロードデータ
カウンタ
-1
-1
-1
0000H
リロード
データ
-1
-1
データロード信号
UFビット
CNTEビット
TRGビット
T*
TIN端子
TOT端子
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
<注意事項>
TIN 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。
418
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.3 16 ビットリロードタイマの動作
MB90330A シリーズ
内部クロックモード ( ワンショットモード ) の動作
16.3.3
内部カウントクロックに同期して , 16 ビットカウンタをカウントダウンし , カウン
タのアンダフローで CPU に割込み要求を発生します。また , TOT 端子から , カウン
ト中を示す矩形波を出力できます。
■ 内部クロックモード ( ワンショットモード )
カウント動作を許可 (TMCSR の CNTE=1) し , ソフトウェアトリガビット (TMCSR の
TRG) または外部トリガで , タイマ起動すると , カウント動作を開始します。カウント
許可ビットとソフトウェアトリガビットを同時に "1" にセットすると , カウント許可と
同時にカウントを開始します。カウンタ値がアンダフロー("0000H" → "FFFFH") すると ,
"FFFFH" の状態で , カウンタを停止します。このとき , アンダフロー割込み要求フラグ
ビット (UF) を "1" にセットし , 割込み要求許可ビット (INTE) が "1" であれば割込み要
求を発生します。
また , TOT 端子からはカウント中を示す矩形波を出力できます。
● ソフトウェアトリガの動作
タイマ制御ステータスレジスタ (TMCSR) の TRG ビットに "1" を書き込むことで , カウ
ンタを起動します。
図 16.3-7 に , ワンショットモード時のソフトウェアトリガ動作を示します。
図 16.3-7 ワンショットモード時のカウント動作 ( ソフトウェアトリガ動作 )
カウントクロック
リロード
データ
カウンタ
-1
0000H
FFFFH
リロード
データ
-1
0000H
FFFFH
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT端子
起動トリガ入力待ち
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
419
第 16 章 16 ビットリロードタイマ
16.3 16 ビットリロードタイマの動作
MB90330A シリーズ
● 外部トリガの動作
有効エッジ ( 立上り , 立下り , 両エッジ選択可能 ) が TIN 端子に入力されると , カウン
タを起動します。
図 16.3-8 に , ワンショットモード時の外部トリガ動作を示します。
図 16.3-8 ワンショットモード時のカウント動作 ( 外部トリガ動作 )
カウントクロック
カウンタ
リロード
データ
-1
0000H FFFFH
リロード
データ
-1
0000H
FFFFH
データロード信号
UFビット
CNTEビット
TIN端子
2T~2.5T*
TOT端子
起動トリガ入力待ち
T:マシンサイクル *:外部トリガ入力からリロードデータロードまで2T~2.5Tの時間がかかります。
<注意事項>
TIN 端子へ入力するトリガパルス幅は , 2/ φ 以上としてください。
● ゲート入力の動作
有効レベル ("H" レベル , "L" レベル選択可能 ) が TIN 端子に入力されている間 , カウン
ト動作を行います。図 16.3-9 に , ワンショットモード時のゲート入力動作を示します。
図 16.3-9 ワンショットモード時のカウント動作 ( ソフトトリガゲート入力動作 )
カウントクロック
リロード
データ
カウンタ
-1
0000H FFFFH
リロード
データ
-1
0000H FFFFH
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT端子
起動トリガ入力待ち
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
<注意事項>
TIN 端子へ入力するゲート入力のパルス幅は , 2/ φ 以上としてください。
420
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 16 章 16 ビットリロードタイマ
16.3 16 ビットリロードタイマの動作
MB90330A シリーズ
イベントカウントモード
16.3.4
TIN 端子からの入力エッジをカウントして , 16 ビットカウンタをカウントダウンし ,
カウンタのアンダフローで , CPU に割込み要求を発生します。また , TOT 端子から ,
トグル波形または , 矩形波を出力できます。
■ イベントカウントモード
カウント動作を許可 (TMCSR の CNTE=1) し , カウンタを起動 (TMCSR の TRG=1) する
と , 16 ビットリロードレジスタ (TMRLR) の値がカウンタにロードされ , TIN 端子に入
力されたパルス ( 外部カウントクロック ) の , 有効エッジ ( 立上り , 立下り , 両エッジ選
択可能 ) を検出するたびにカウントダウンします。カウント許可ビットとソフトウェ
アトリガビットを同時に "1" にセットすれば , カウント許可と同時にカウントを開始し
ます。
● リロードモード時の動作
カウンタ値がアンダフロー ("0000H" → "FFFFH") すると , 16 ビットリロードレジスタ
(TMRLR) の値をカウンタにロードして , カウント動作を継続します。このとき , アン
ダフロー割込み要求フラグビット (UF) を "1" にセットし , 割込み要求許可ビット
(TMCSR の INTE) が "1" であれば割込み要求を発生します。また , TOT 端子からは , ア
ンダフローごとに反転するトグル波形を出力できます。
図 16.3-10 に , リロードモードのカウント動作を示します。
図 16.3-10 リロードモード時のカウント動作 ( イベントカウントモード )
TIN端子
リロード
データ
カウンタ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
0000H
リロード
データ
-1
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT端子
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
<注意事項>
TIN 端子へ入力されるクロックの "H" 幅および "L" 幅は , 4/ φ 以上としてください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
421
第 16 章 16 ビットリロードタイマ
16.3 16 ビットリロードタイマの動作
MB90330A シリーズ
● ワンショットモード時の動作
カウンタ値がアンダフロー ("0000H" → "FFFFH") すると , "FFFFH" の状態で , カウンタ
を停止します。このとき , アンダフロー要求フラグビット (UF) が "1" にセットされ , 割
込み要求出力許可ビット (INTE) が "1" であれば割込み要求を発生します。また , TOT
端子からは , カウント中を示す矩形波を出力できます。
図 16.3-11 に , ワンショットモードのカウンタ動作を示します。
図 16.3-11 ワンショットモード時のカウンタ動作 ( イベントカウントモード )
TIN端子
リロード
データ
カウンタ
-1
0000H FFFFH
リロード
データ
-1
0000H
FFFFH
データロード信号
UFビット
CNTEビット
TRGビット
T*
TOT端子
起動トリガ入力待ち
T:マシンサイクル *:トリガ入力からリロードデータロードまで1T時間かかります。
<注意事項>
TIN 端子へ入力されるクロックの "H" 幅および "L" 幅は , 4/ φ 以上としてください。
422
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 17 章
8/16 ビット PPG タイマ
この章では , 8/16 ビット PPG タイマの概要 , レジ
スタの構成 / 機能および 8/16 ビット PPG タイマの
動作について説明します。
17.1 8/16 ビット PPG タイマの概要
17.2 8/16 ビット PPG タイマのレジスタ
17.3 8/16 ビット PPG タイマの動作
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
423
第 17 章 8/16 ビット PPG タイマ
17.1 8/16 ビット PPG タイマの概要
MB90330A シリーズ
8/16 ビット PPG タイマの概要
17.1
8/16 ビット PPG タイマは , 8 ビットのリロードタイマモジュールで , タイマ動作に
応じたパルス出力により , PPG 出力を行います。
ハードウェアとして以下を有しています。
• 8 ビットダウンカウンタ 6 個
• 8 ビットリロードタイマ 12 個
• 16 ビット制御レジスタ 3 個
• 外部パルス出力端子 6 本
• 割込み出力 6 本
なお , MB90330A シリーズには , 8 ビット PPG として 6 チャネルあり , このうち
PPG0+PPG1/PPG2+PPG3/ PPG4+PPG5 の組合せで 16 ビット PPG(3 チャネル ) と
しても動作します。
■ 8/16 ビット PPG タイマの概略仕様
以下に , 8/16 ビット PPG タイマの機能概略を示します。
● 8 ビット PPG 出力 6 チャネル独立動作モード
6 チャネルの独立した PPG 出力動作が可能です。
● 16 ビット PPG 出力動作モード
3 チャネルの 16 ビットの PPG 出力動作が可能です。
PPG0+PPG1, PPG2+PPG3, PPG4+PPG5 の組合せで使用します。
● 8+8 ビット PPG 出力動作モード
PPG0(PPG2/PPG4) の出力を PPG1(PPG3/PPG5) のクロック入力にすることによって , 任
意周期の 8 ビット PPG 出力が可能です。
● PPG 出力動作
任意周期およびデューティ比のパルス波を出力します。
<参考>
PPG1 のみ A/D コンバータの割込みトリガに使用できます。
424
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 17 章 8/16 ビット PPG タイマ
17.1 8/16 ビット PPG タイマの概要
MB90330A シリーズ
8/16 ビット PPG タイマのブロックダイヤグラム
17.1.1
8/16 ビット PPG タイマの ch.0/ch.2/ch.4 および ch.1/ch.3/ch.5 のブロックダイヤ
グラムを示します。
■ 8/16 ビット PPG タイマのブロックダイヤグラム
図 17.1-1 に ch.0/ch.2/ch.4 のブロックダイヤグラムを , 図 17.1-2 に ch.1/ch.3/ch.5 のブロッ
クダイヤグラムを示します。
図 17.1-1 8/16 ビット PPG タイマのブロックダイヤグラム (ch.0/ch.2/ch.4)
周辺クロック16分周
周辺クロック 8分周
周辺クロック 4分周
周辺クロック 2分周
周辺クロック
PPG0/PPG2/PPG4 出力許可
PPG0/PPG2/PPG4
PPG0/PPG2/PPG4
出力ラッチ
PEN0
S
R
Q
IRQ
PCNT(ダウンカウンタ)
ch.1/ch.3/ch.5ボロー
L/Hセレクタ
カウント
クロック選択
PIF0
タイムベースカウンタの出力
メインクロックの512分周
PIE0
L/H 選択
PRLL
PRLBH
PPGCO/PPGC2/PPGC4
(動作モード制御)
PRLH
"L" データバス
"H" データバス
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
425
第 17 章 8/16 ビット PPG タイマ
17.1 8/16 ビット PPG タイマの概要
MB90330A シリーズ
図 17.1-2 8/16 ビット PPG タイマのブロックダイヤグラム (ch.1/ch.3/ch.5)
周辺クロック16分周
周辺クロック 8分周
周辺クロック 4分周
周辺クロック 2分周
周辺クロック
PPG1/PPG3/PPG5 出力許可
PPG1/PPG3/PPG5
A/Dコンバータ(PPG1のみ)
PPG1/PPG3/PPG5
出力ラッチ
PEN1
S
R
Q
IRQ
PCNT(ダウンカウンタ)
L/Hセレクタ
カウント
クロック選択
PUF1
タイムベースカウンタの出力
メインクロックの512分周
PIE1
L/H 選択
PRLL
PRLBH
PPGC1/PPGC3/PPGC5
(動作モード制御)
PRLH
"L" データバス
"H" データバス
426
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
MB90330A シリーズ
17.2
8/16 ビット PPG タイマのレジスタ
8/16 ビット PPG タイマで使用するレジスタの構成および機能について説明します。
■ 8/16 ビット PPG タイマのレジスタ一覧
図 17.2-1 に , 8/16 ビット PPG タイマのレジスタ一覧を示します。
図 17.2-1 8/16 ビット PPG タイマのレジスタ一覧
bit
7
ch.0 : 000046H
PEN0
ch.2 : 000048H
ch.4 : 00704AH
(R/W)
(0)
6
5
4
3
2
1
-
PE00
PIE0
PUF0
-
-
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(-)
(X)
(-)
(X)
14
13
12
11
10
9
-
PE10
PIE1
PUF1
MD1
MD0
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
6
5
4
3
2
1
PCS1
PCS0
PCM2 PCM1 PCM0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
予約
(R/W)
(X)
7
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
D15
D14
D13
D12
D11
D10
D09
D08
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
bit 15
ch.1 : 000047H
PEN1
ch.3 : 000049H
ch.5 : 00004BH
(R/W)
(0)
bit
7
ch.0,1 : 00004CH PCS2
ch.2,3 : 00004EH (R/W)
ch.4,5 : 000050H
(0)
bit
ch.0 : 007900H
ch.1 : 007902H
ch.2 : 007904H
ch.3 : 007906H
ch.4 : 007908H
ch.5 : 00790AH
bit
ch.0 : 007901H
ch.1 : 007903H
ch.2 : 007905H
ch.3 : 007907H
ch.4 : 007909H
ch.5 : 00790BH
CM44-10129-6
0
PPGC0/PPGC2/PPGC4
PPG 動作モード
制御レジスタ
(R/W) リード / ライト
(1) 初期値
予約
8
PPGC1/PPGC3/PPGC5
PPG 動作モード
制御レジスタ
(R/W) リード / ライト
(1) 初期値
予約
0
PPG01/PPG23/PPG45
予約 PPG 出力制御レジスタ
(R/W) リード / ライト
(X) 初期値
PRLL0~PRLL5
PPG リロードレジスタ下位
(R/W) リード / ライト
(X) 初期値
PRLH0~PRLH5
PPG リロードレジスタ上位
(R/W) リード / ライト
(X) 初期値
FUJITSU MICROELECTRONICS LIMITED
427
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
17.2.1
MB90330A シリーズ
PPG0/PPG2/PPG4 動作モード制御レジスタ
(PPGC0/PPGC2/PPGC4)
PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) の構成および
機能について説明します。
■ PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4)
PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) は , ch.0/ch.2/ch.4 の動
作モード選択 , 端子出力制御 , カウントクロック選択およびトリガの制御を行います。
図 17.2-2 に , PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) のビッ
ト構成を示します。
図 17.2-2 PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) のビット構成
bit
7
ch.0 : 000046H
PEN0
ch.2 : 000048H
ch.4 : 00704AH (R/W)
(0)
6
5
4
3
2
1
-
PE00
PIE0
PUF0
-
-
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(-)
(X)
(-)
(X)
0
PPGC0/PPGC2/PPGC4
PPG 動作モード
制御レジスタ
(R/W) リード / ライト
(1) 初期値
予約
以下に , PPG0/PPG2/PPG4 動作モード制御レジスタ (PPGC0/PPGC2/PPGC4) の各ビット
の機能を説明します。
[bit7] PEN0 ( 動作許可 )
PPG0/PPG2/PPG4 の動作開始および動作モードを選択します。
PEN0
動作状態
0
動作停止 ("L" レベル出力保持 )
1
PPG 動作許可
• このビットに "1" を書き込むことによって , PPG はカウントを開始します。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit6] 未定義ビット
リード値は不定です。ライトは動作に影響を与えません。
[bit5] PE00 (PPG0/PPG2/PPG4 出力端子許可 )
パルス出力外部端子 PPG0/PPG2/PPG4 へのパルス出力の禁止 / 許可を制御します。
PE00
動作状態
0
汎用ポート端子 ( パルス出力禁止 )
1
PPG0/PPG2/PPG4 パルス出力 ( パルス出力許可 )
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
428
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
[bit4] PIE0 (PPG0/PPG2/PPG4 の割込み許可 )
PPG0/PPG2/PPG4 の割込みの禁止 / 許可を制御します。
PIE0
動作状態
0
割込み禁止
1
割込み許可
• このビットが "1" のとき , PUF0 が "1" になると割込み要求を発生します。このビッ
トが "0" のときは , 割込みを発生しません。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit3] PUF0 (PPG0/PPG2/PPG4 カウンタアンダフロー )
PPG0/PPG2/PPG4 のカウンタアンダフローの検出結果を表示します。
PUF0
動作状態
0
PPG カウンタアンダフローが検出していません。
1
PPG カウンタアンダフローを検出しました。
8 ビット PPG6 チャネルモード (PPG0, PPG1/PPG2, PPG3/PPG4, PPG5) および 8 ビット
プリスケーラ +8 ビット PPG モード時には , ch.0, ch.2, ch.4 のカウンタの値が "00H" ∼
"FFH" になったときのアンダフローにより "1" にセットされます。16 ビット PPG3 チャ
ネルモード (PPG0, PPG1/PPG2, PPG3/PPG4, PPG5) 時には , ch.1, ch.3, ch.5/ch.0, ch.2, ch.4
のカウンタの値が "0000H" ∼ "FFFFH" になったときのアンダフローによって "1" にセッ
トされます。"0" の書込みにより "0" になります。PUF0 ビットへの "1" 書込みは意味
がありません。リードモディファイライト (RMW) 系命令の読出しに対しては , "1" が
読み出されます。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit2, bit1] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
[bit0] 予約ビット
予約ビットです。必ず "1" に設定してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
429
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
17.2.2
MB90330A シリーズ
PPG1/PPG3/PPG5 動作モード制御レジスタ
(PPGC1/PPGC3/PPGC5)
PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) の構成および
機能について説明します。
■ PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5)
PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) は , ch.1/ch.3/ch.5 の
動作モード選択 , 端子出力制御 , カウントクロック選択およびトリガの制御を行いま
す。
図 17.2-3 に , PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) のビッ
ト構成を示します。
図 17.2-3 PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) のビット構成
bit
ch.1 : 000047H
ch.3 : 000049H
ch.5 : 00004BH
15
14
13
12
11
10
9
PEN1
-
PE10
PIE1
PUF1
MD1
MD0
(R/W)
(0)
(-)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
8
PPGC1/PPGC3/PPGC5
PPG 動作モード
制御レジスタ
(R/W) リード / ライト
(1) 初期値
予約
以下に , PPG1/PPG3/PPG5 動作モード制御レジスタ (PPGC1/PPGC3/PPGC5) の各ビット
の機能を説明します。
[bit15] PEN1 ( 動作許可 )
PPG1/PPG3/PPG5 の動作開始および動作モードを選択します。
PEN1
動作状態
0
動作停止 ("L" レベル出力保持 )
1
PPG 動作許可
• このビットに "1" を書き込むことによって , PPG はカウントを開始します。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit14] 未定義ビット
リード値は不定です。ライトは動作に影響を与えません。
430
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
[bit13] PE10 (PPG1/PPG3/PPG5 出力端子許可 )
パルス出力外部端子 PPG1/PPG3/PPG5 へのパルス出力の禁止 / 許可を制御します。
PE10
動作状態
0
汎用ポート端子 ( パルス出力禁止 )
1
PPG1/PPG3/PPG5 パルス出力 ( パルス出力許可 )
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit12] PIE1 (PPG1/PPG3/PPG5 の割込み許可 )
PPG1/PPG3/PPG5 の割込みの禁止 / 許可を制御します。
PIE1
動作状態
0
割込み禁止
1
割込み許可
• このビットが "1" のとき , PUF1 が "1" になると割込み要求を発生します。このビッ
トが "0" のときは , 割込みを発生しません。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
[bit11] PUF1 (PPG1/PPG3/PPG5 カウンタアンダフロー )
PPG1/PPG3/PPG5 のカウンタアンダフローの検出結果を表示します。
PUF1
動作状態
0
PPG カウンタアンダフローを検出していません。
1
PPG カウンタアンダフローを検出しました。
8 ビット PPG6 チャネルモード (PPG0, PPG1/PPG2, PPG3/PPG4, PPG5) および 8 ビットプ
リスケーラ +8 ビット PPG モード時には , ch.1, ch.3, ch.5 のカウンタの値が "00H" ∼ "FFH"
になったときのアンダフローにより "1" にセットされます。16 ビット PPG3 チャネル
モード (PPG0, PPG1/PPG2, PPG3/PPG4, PPG5) 時には , ch.1, ch.3, ch.5/ch.0, ch.2, ch.4 のカ
ウンタの値が "0000H" ∼ "FFFFH" になったときのアンダフローによって "1" にセットさ
れます。"0" の書込みにより "0" になります。PUF1 ビットへの "1" 書込みは意味があり
ません。リードモディファイライト (RMW) 系命令系の読出しに対しては , "1" が読み出
されます。
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
431
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
MB90330A シリーズ
[bit10, bit9] MD1, MD0 ( 動作モード選択 )
PPG タイマの動作モードを選択します。
MD1
MD0
0
0
8 ビット PPG 2 チャネル独立モード ( × 3 あり )
0
1
8 ビットプリスケーラ +8 ビット PPG 1 チャネル
1
0
予約 ( 設定禁止 )
1
1
16 ビット PPG 1 チャネルモード ( × 3 あり )
動作モード
• このビットは , リセットによって "0" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
• MD1, MD0 ビットを "10B" に設定しないでください。
• MD1, MD0 ビットを "01B" に設定する場合には , PPGC0 の PEN0 ビット /PPGC1 の
PEN1 ビットを "01B" に設定しないでください。また , PEN0 ビットおよび PEN1 ビッ
トを同時に "11" または "00B" にセットすることを推奨します。
• MD1, MD0 ビットを "11B" に設定する場合には , PPGC0/PPGC1 をワード転送で書き
換え , PEN0/PEN1 を同時に "11B" または "00B" にセットしてください。
[bit8] 予約ビット
予約ビットです。必ず "1" に設定してください。
432
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
MB90330A シリーズ
PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/
PPG45)
17.2.3
PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) の構成および機能につい
て説明します。
■ PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45)
図 17.2-4 に , PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) のビット構成を示
します。
図 17.2-4 PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45)
bit
7
ch.0,ch.1 : 00004CH PCS2
ch.2,ch.3 : 00004EH (R/W)
ch.4,ch.5 : 000050H
(0)
6
5
4
3
2
PCS1
PCS0 PCM2 PCM1 PCM0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
1
0
予約
(R/W)
(X)
PPG01/PPG23/PPG45
予約 PPG 出力制御レジスタ
(R/W) リード / ライト
(X) 初期値
以下に , PPG0 ∼ PPG5 出力制御レジスタ (PPG01/PPG23/PPG45) の各ビットの機能を説
明します。
[bit7 ∼ bit5] PCS2 ∼ PCS0 ( カウントクロック選択 )
ch.1, ch.3, ch.5 のダウンカウンタの動作クロックを選択します。
PCS2
PCS1
PCS0
0
0
0
周辺クロック (41.7 ns マシンクロック 24 MHz 時 )
0
0
1
周辺クロック /2 (83.3 ns マシンクロック 24 MHz 時 )
0
1
0
周辺クロック /4 (167 ns マシンクロック 24 MHz 時 )
0
1
1
周辺クロック /8 (333 ns マシンクロック 24 MHz 時 )
1
0
0
周辺クロック /16 (667 ns マシンクロック 24 MHz 時 )
1
1
1
タイムベースカウンタからの入力クロック
(2 9 × 167 ns=85 μs 原発振 6 MHz 時 )
動作モード
• このビットは , リセットによって "000B" に初期化されます。
• 読出し / 書込みが可能です。
<注意事項>
8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モード時には , ch.1,
ch.3, ch.5のPPGはch.0, ch.2, ch.4からカウントクロックを受けて動作するため, PCS2∼
PCS0 ビットの指定は無効になります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
433
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
MB90330A シリーズ
[bit4 ∼ bit2] PCM2 ∼ PCM0 ( カウントクロック選択 )
ch.0, ch.2, ch.4 のダウンカウンタの動作クロックを選択します。
PCM2
PCM1
PCM0
動作モード
0
0
0
周辺クロック (41.7 ns マシンクロック 24 MHz 時 )
0
0
1
周辺クロック /2 (83.3 ns マシンクロック24 MHz時)
0
1
0
周辺クロック /4 (167 ns マシンクロック 24 MHz 時 )
0
1
1
周辺クロック /8 (333 ns マシンクロック 24 MHz 時 )
1
0
0
周辺クロック/16 (667 nsマシンクロック24 MHz時)
1
1
1
タイムベースカウンタからの入力クロック
(2 9 × 167 ns=85 μs 原発振 6 MHz 時 )
• このビットは , リセットによって "000B" に初期化されます。
• 読出し / 書込みが可能です。
[bit1, bit0] 予約ビット
予約ビットです。必ず "00B" に設定してください。
434
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 17 章 8/16 ビット PPG タイマ
17.2 8/16 ビット PPG タイマのレジスタ
MB90330A シリーズ
PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼
PRLH5)
17.2.4
PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) の構成および機能に
ついて説明します。
■ PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5)
図 17.2-5 に , PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) のビット構成
を示します。
図 17.2-5 PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5)
bit
ch.0 : 007900H
ch.1 : 007902H
ch.2 : 007904H
ch.3 : 007906H
ch.4 : 007908H
ch.5 : 00790AH
bit
ch.0 : 007901H
ch.1 : 007903H
ch.2 : 007905H
ch.3 : 007907H
ch.4 : 007909H
ch.5 : 00790BH
7
6
5
4
3
2
1
0
D07
D06
D05
D04
D03
D02
D01
D00
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
D15
D14
D13
D12
D11
D10
D09
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
PPG リロードレジスタ下位
(R/W) リード / ライト
(X) 初期値
8
(R/W)
(X)
PRLL0~PRLL5
PRLH0~PRLH5
D08 PPG リロードレジスタ上位
(R/W) リード / ライト
(X) 初期値
PPG リロードレジスタ (PRLL0 ∼ PRLL5, PRLH0 ∼ PRLH5) は , ダウンカウンタ (PCNT)
へのリロード値を保持する , 各 8 ビットのレジスタです。それぞれ次の役割を持ってい
ます。
レジスタ名
機能
PRLL
"L" 側リロード値保持
PRLH
"H" 側リロード値保持
どちらのレジスタも , 読出し / 書込み可能です。
<注意事項>
8 ビットプリスケーラ +8 ビット PPG モードで使用する場合には , ch.0, ch.2, ch.4 の PRLL と
PRLH に異なる値を設定すると , ch.1, ch.3, ch.5 の PPG 波形がサイクルごとに異なる場
合があります。したがって , ch.0, ch.2, ch.4 の PRLL と PRLH は , 同じ値に設定すること
を推奨します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
435
第 17 章 8/16 ビット PPG タイマ
17.3 8/16 ビット PPG タイマの動作
17.3
MB90330A シリーズ
8/16 ビット PPG タイマの動作
8/16 ビット PPG タイマには , 8 ビット長の PPG ユニットが 6 チャネル (PPG0,
PPG1/PPG2, PPG3/ PPG4, PPG5) あり , それぞれが独立モード以外にも , 直結
(PPG0+PPG1/PPG2+PPG3/ PPG4+PPG5) 動作をさせることによって , 8 ビットプ
リスケーラ +8 ビット PPG モードと , 16 ビット PPG モードの計 3 種類の動作を行
うことができます。
■ 8/16 ビット PPG タイマの動作概略
8 ビット長の PPG ユニットそれぞれは , 8 ビット長のリロードレジスタが "L" 側と "H"
側の 2 本あります (PRLL, PRLH)。
PRLL, PRLH レジスタに書き込まれた値が , 8 ビットダウンカウンタ (PCNT) に "L" 側 /
"H" 側交互にリロードされてカウントクロックごとにダウンカウントされ , カウントの
ボロー発生によるリロード時に , 出力端子の値を反転させます。この動作によって , 端
子出力はリロードレジスタ値に対応した "L" 幅 /"H" 幅をもつパルス出力となります。
動作開始 / 再スタートは , レジスタのビット書込みによります。
リロード動作とパルス出力の関係を示します。
リロード動作
端子出力変化
PRLH → PCNT
PPG0/PPG1[0 → 1] 立上り
また , PPGC0/PPGC2/PPGC4 中の bit4(PIE0) が "1" のときおよび PPGC1/PPGC3/PPGC5
中の bit2(PIE1) が "1" のとき , それぞれのカウンタの "00H → FFH" へのボロー (16 ビッ
ト PPG モードの場合は , "0000H" → "FFFFH" へのボロー) によって割込み要求が出力さ
れます。
■ 動作モード
8/16 ビット PPG タイマは , 2 チャネル独立モードと 8 ビットプリスケーラ +8 ビット
PPG モードと , 16 ビット PPG モードの計 3 種類の動作モードがあります (MB90330A
シリーズはモードごとに× 3 チャネルあります )。
2 チャネル独立モードは , 8 ビット PPG として 2 チャネル独立に動作させるモードで
す。PPG0 端子には , ch.0 の PPG 出力が接続され , PPG1 には ch.1 の PPG 出力が接続さ
れます (PPG2 ∼ PPG5 → ch.2 ∼ ch.5 に対応 )。
8 ビットプリスケーラ +8 ビット PPG モードは , ch.0(ch.2/ch.4) を 8 ビットプリスケーラ
として動作させ , ch.1(ch.3/ch.5) を ch.0(ch.2/ch.4) のボロー出力でカウントすることに
よって , 任意周期の 8 ビット PPG 波形を出力できるようにする動作モードです。
PPG0(PPG2/PPG4) 端子は , ch.0(ch.2/ch.4) のプリスケーラ出力が接続され , PPG1 端子は ,
ch.1(ch.3/ch.5) の PPG の出力が接続されます。
16 ビット PPG チャネルモード (MB90330A シリーズは× 3 チャネルあります ) は , ch.0
と ch.1 を直結させて (ch.2, ch.3/ch.4, ch.5 直結 ) 16 ビットの PPG として動作させる動作
モードです。PPG0, PPG1 は両方ともに 16 ビット PPG 出力が接続されます。
436
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 17 章 8/16 ビット PPG タイマ
17.3 8/16 ビット PPG タイマの動作
MB90330A シリーズ
■ PPG 出力動作
8/16 ビット PPG タイマは , ch.0(ch.2/ch.4) の PPG については , PPGC0 の bit7(PEN0) を ,
ch.1(ch.3/ch.5) の PPG については , PPGC1 の bit15(PEN1) を "1" にセットすることによっ
て起動され , カウントを開始します。動作を開始した後は , PPGC0 の bit7(PEN0) また
は PPGC1 の bit15(PEN1) に "0" を書き込むことによってカウント動作を停止し , 停止し
た後にパルス出力は "L" レベルを保持します。
8 ビットプリスケーラ +8 ビット PPG モードのときには , ch.0(ch.2/ch.4) を停止状態で ,
ch.1(ch.3/ch.5) を動作状態に設定しないでください。
16 ビット PPG モードのときには , PPGC0 中の bit7(PEN0) と PPGC1 中の bit15(PEN1) は ,
同時に開始 / 停止の制御を行ってください。
以下に , PPG 出力動作を説明します。
PPG 動作時は , 任意周期任意デューティ比 ( パルス波の "H" レベル期間と "L" レベル期
間の比 ) のパルス波出力を連続して出力します。PPG はパルス波出力を開始し , 動作停
止を設定するまで停止しません。
図 17.3-1 に , PPG 出力動作の出力波形を示します。
図 17.3-1 PPG 出力動作の出力波形
PEN
PENにより動作開始("L"側から)
出力端子PPG
L:PRLLの値
T×(L+1)
T×(H+1)
(スタート)
H:PRLHの値
T:周辺クロック
(PPGCのクロックセレクトによる)
■ リロード値とパルス幅の関係
リロードレジスタに書かれた値に+1した値に, カウントクロックの周期をかけた値が,
出力されるパルスの幅となります。つまり , 8 ビット PPG 動作時のリロードレジスタ
値は 00H のときおよび 16 ビット PPG 動作時のリロードレジスタ値が "0000H" のときは ,
カウントクロック 1 周期分のパルス幅を持つことになりますので注意してください。ま
た , 8 ビット PPG 動作時のリロードレジスタ値が "FFH" のときは , カウントクロック
256 周期分のパルス幅をもつことになり , 16 ビット PPG 動作時のリロードレジスタ値
が "FFFFH" のときは , カウントクロック 65536 分周分のパルス幅をもつことになりま
すので注意してください。パルス幅の計算式を以下に示します。
P L=T × (L+1)
P H=T × (H+1)
P L : "L" パルスの幅
P H : "H" パルスの幅
CM44-10129-6
T
: 入力クロック周期
L
: PRLL 値
H
: PRLH 値
FUJITSU MICROELECTRONICS LIMITED
437
第 17 章 8/16 ビット PPG タイマ
17.3 8/16 ビット PPG タイマの動作
MB90330A シリーズ
■ カウントクロックの選択
8/16 ビット PPG タイマの動作に使用するカウントクロックは , 周辺クロックおよびタ
イムベースカウンタの入力を使用しており , 6 種類のカウントクロック入力が選択でき
ます。
PPG01/PPG23/PPG45 の bit4 ∼ bit2(PCM2 ∼ PCM0) で ch.0(ch.2/ch.4) のクロックを ,
PPG01/PPG23/PPG45 の bit7 ∼ bit5(PCS2 ∼ PCS0) で ch.1(ch.3/ch.5) のクロックを選択し
ます。
クロックの選択は , マシンクロックより 1/16 ∼ 1 倍およびタイムベースカウンタの入
力を選択します。
<注意事項>
•
8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モードのときは ,
PPGC1 の bit14(PCS1) の値は無効となります。
•
タイムベースタイマの入力を使用した場合 , トリガまたは停止後の最初のカウントサ
イクルがずれる可能性があります。また , 8/16 ビット PPG タイマが動作中にタイム
ベースカウンタの初期化を行うとサイクルがずれることがあります。
•
8 ビットプリスケーラ +8 ビット PPG モードで , ch.0/ch.2/ch.4 が動作状態で ch.1/ch.3/
ch.5 が停止状態のときに ch.1(ch.3/ch.5) を起動すると , 最初のカウントサイクルがず
れる可能性があります。
■ パルスの端子出力制御
8/16 ビット PPG タイマによって生成したパルスは , 外部端子 (PPG0 ∼ PPG5) から出力
させることができます。外部端子からパルスを出力するには , 各端子に対応するビット
に "1" を書き込みます。PPG0/PPG2/PPG4 端子に対しては PPGC0 の bitPE0) を , PPG1/
PPG3/PPG5 に対しては PPGC1 の bit3(PE1) を使用します。このビットに "0" が書き込
まれているとき ( 初期値 ) は , パルスは外部端子から出力されずに , 汎用ポートとして
機能します。
16 ビット PPG モードでは , PPG0 ∼ PPG5 からは同じ波形が出力されるので , どちらの
外部端子を有効にしても同じ出力を得ることができます。
8 ビットプリスケーラ +8 ビット PPG モードでは , PPG0/PPG2/PPG4 からは 8 ビットプ
リスケーラのトグル波形が出力され , PPG1/PPG3/PPG5 からは 8 ビット PPG の波形が
出力されます。
このモードにおける出力波形を図 17.3-2 に示します。
図 17.3-2 8+8PPG 出力動作の波形
PH0
PL0
PPG0
PPG1
PH1
438
PL1
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 17 章 8/16 ビット PPG タイマ
17.3 8/16 ビット PPG タイマの動作
MB90330A シリーズ
図 17.3-2 におけるパルス幅は , 以下の式によって計算できます。
P L0=T × (L0+1)
P H0=T × (L0+1)
P L1=T × (L0+1) × (L1+1)
P H1=T × (L0+1) × (H1+1)
L0 : ch.0 の PRLL の値および ch.1 の PRLH の値
L1 : ch.1 の PRLL の値
H1 : ch.1 の PRLH の値
T
: 入力クロックサイクル
P H0: PPG0 の "H" パルスの幅
P L0: PPG0 の "L" パルスの幅
P H1: PPG1 の "H" パルスの幅
P L1: PPG1 の "L" パルスの幅
<注意事項>
ch.0 の PRLL と ch.1 の PRLH は同じ値を設定します。
■ 8/16 ビット PPG タイマの割込み
8/16 ビット PPG タイマの割込みは , リロード値がカウントアウトしてボローが発生し
たときにアクティブになります。8 ビット PPG2 チャネルモードまたは 8 ビットプリス
ケーラ +9 ビット PPG モード (MB90330A シリーズにはそれぞれ× 3 チャネル分ありま
す ) のときは , それぞれのボローによってそれぞれの割込み要求が行われます。しかし ,
16 ビット PPG モードでは , 16 ビットのカウンタのボローによって PUF0 と PUF1 が同
時に設定されます。このため , 割込み要因を 1 本化するために , PIE0 または PIE1 のど
ちらか一方のみを許可します。また , 割込み要因のクリアも PUF0 と PUF1 を同時に行
います。
■ ハードウェアコンポーネントの初期値
8/16 ビット PPG タイマのハードウェアコンポーネントは , リセット時に次の値に初期
化されます。
< レジスタ >
PPG0
→ 0X000001B
PPG1
→ 00000001B
PPG01 → XXXXXX00B
< パルス出力 >
< 割込み要求 >
PPG0
→ "L"
PPG1
→ "L"
PE0
→ PPG0 出力禁止
PE1
→ PPG1 出力禁止
IRQ0
→ "L"
IRQ1
→ "L"
上記以外のハードウェアコンポーネントは初期化されません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
439
第 17 章 8/16 ビット PPG タイマ
17.3 8/16 ビット PPG タイマの動作
MB90330A シリーズ
■ リロードレジスタへの書込みタイミング
16 ビット PPG モード以外のモードでは , リロードレジスタ PRLL, PRLH へのデータ書
込みはワード転送命令を使用することを推奨します。データ項目をバイト転送命令 2
回でレジスタに書き込んだ場合 , タイミングによっては予想しないパルス幅の出力が
発生する可能性があります。
図 17.3-3 に , リロードレジスタへの書込みタイミングを示します。
図 17.3-3 リロードレジスタへの書込みタイミングチャート
PPG0
A
B
A
B
C
B
C
D
C
D
①
図 17.3-3 において , ①のタイミングの前で PRLL を A から C に書き換えて , ①の後に
PRLH の値を B から D に書き換えたとすると , ①のタイミングにおける PRL の値は ,
PRLL=C, PRLH=B のため 1 回だけ L 側のカウント数 C, H 側のカウント数 B のパルス
が発生します。同様に 16 ビット PPG モードで ch.0/ch.2/ch.4 と ch.1/ch.3/ch.5 の PRL に
データを書き込むには , ロングワード転送命令を使用するかまたは ch.0 → ch.1(ch.2 →
ch.3/ch.4 → ch.5) の PRL に順にワード転送命令を使用します。このモードのときは , デー
タは , ch.0/ch.2/ch.4 から PRL へ一時的に書き込まれ , その後 ch.1/ch.3/ch.5 の PRL に書
き込んだ時点で , 実際に ch.0 の PRL へ書き込まれます。
16 ビット PPG モード以外では , ch.0/ch.2/ch.4 と ch.1/ch.3/ch.5 の書込みは独立に行われ
ます。
図 17.3-4 に , PRL 書込み動作のブロックダイヤグラムを示します。
図 17.3-4 PRL 書込み動作のブロックダイヤグラム
ch.0のPRLの書込みデータ
16ビットPPG
モード以外のとき
ch.0の書込み
テンポラリラッチ
ch.0のPRL
440
ch.1のPRLの書込みデータ
16ビットPPGモード時
ch.1の書込みに同期して
転送
ch.1の書込みデータ
ch.1のPRL
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 18 章
DTP/ 外部割込み
この章では , DTP/ 外部割込みの概要 , レジスタの
構成 / 機能および DTP/ 外部割込みの動作について
説明します。
18.1 DTP/ 外部割込みの概要
18.2 DTP/ 外部割込みのレジスタ
18.3 DTP/ 外部割込みの動作
18.4 DTP/ 外部割込み使用上の注意
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
441
第 18 章 DTP/ 外部割込み
18.1 DTP/ 外部割込みの概要
18.1
MB90330A シリーズ
DTP/ 外部割込みの概要
DTP(Data Transfer Peripheral) は , デバイス外部に存在する周辺装置と F2MC16LX CPU との間にあって , 外部周辺装置が発生する DMA 要求または割込み要求を
受け取り , これを F2MC-16LX CPU に伝えて μDMAC または割込み処理を起動させ
るための周辺制御部です。
■ DTP/ 外部割込みの概要
要求レベルとして , μDMAC の場合は "H", "L" の 2 種類が , 外部割込み要求の場合は
"H", "L" のほかに立上りエッジと立下りエッジの計 4 種類が選択できます。
■ DTP/ 外部割込みのブロックダイヤグラム
図 18.1-1 に , DTP/ 外部割込みのブロックダイヤグラムを示します。
図 18.1-1 DTP/ 外部割込みのブロックダイヤグラム
F2MC-16LXバス
4
4
4
8
442
DTP/割込み許可レジスタ
ゲート
要因F/F
エッジ検出回路
4
要求入力
DTP/割込み要因レジスタ
要求レベル設定レジスタ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 18 章 DTP/ 外部割込み
18.2 DTP/ 外部割込みのレジスタ
MB90330A シリーズ
18.2
DTP/ 外部割込みのレジスタ
DTP/ 外部割込みで使用するレジスタの構成および機能について説明します。
■ DTP/ 外部割込みのレジスタ一覧
図 18.2-1 に , DTP/ 外部割込みのレジスタ一覧を示します。
図 18.2-1 DTP/ 外部割込みのレジスタ一覧
bit
6
5
4
3
2
1
0
EN6
EN5
EN4
EN3
EN2
EN1
EN0
14
13
12
11
10
9
8
ER6
ER5
ER4
ER3
ER2
ER1
ER0
7
6
5
4
3
2
1
0
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
15
14
13
12
11
10
9
8
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
7
アドレス : 00003CH EN7
bit
15
アドレス : 00003DH ER7
bit
アドレス : 00003EH
bit
アドレス : 00003FH
DTP/ 割込み許可
レジスタ (ENIR)
DTP/ 割込み要因
レジスタ (EIRR)
要求レベル設定
レジスタ (ELVR)
要求レベル設定
レジスタ (ELVR)
■ DTP/ 割込み許可レジスタ (ENIR:Enable Interrupt Request Register)
図 18.2-2 に , DTP/ 割込み許可レジスタ (ENIR) のビット構成を示します。
図 18.2-2 DTP/ 割込み許可レジスタ (ENIR) のビット構成
ENIR
bit
7
アドレス : 00003CH EN7
R/W
6
5
4
3
2
1
0
EN6
R/W
EN5
R/W
EN4
R/W
EN3
R/W
EN2
R/W
EN1
R/W
EN0
R/W
初期値
00000000B
DTP/ 割込み許可レジスタ (ENIR) は , デバイス端子を外部 DTP/ 割込み要求入力として
使用し , 割込みコントローラに対して要求を発生させる機能を動作させることを決定
するレジスタです。ENIR レジスタに "1" が書かれたビットに対応する端子は , 外部
DTP/ 割込み要求入力として使用され , 割込みコントローラに対して要求を発生する機
能を動作させます。"0" が書き込まれたビットに対応する端子は , DTP/ 外部割込み要求
入力要因は保持しますが , 割き込みコントローラに対しては要求を発生しません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
443
第 18 章 DTP/ 外部割込み
18.2 DTP/ 外部割込みのレジスタ
MB90330A シリーズ
■ DTP/ 割込み要因レジスタ (EIRR:External Interrupt Request Register)
図 18.2-3 に , DTP/ 割込み要因レジスタ (EIRR) のビット構成を示します。
図 18.2-3 DTP/ 割込み要因レジスタ (EIRR) のビット構成
EIRR
bit
15
アドレス : 00003DH ER7
R/W
14
13
12
11
10
9
ER6
R/W
ER5
R/W
ER4
R/W
ER3
R/W
ER2
R/W
ER1
R/W
8
初期値
00000000B
ER0
R/W ( ただし両者で
対象が異なる )
DTP/ 割込み要因レジスタ (EIRR) は , 読出し時には対応する DTP/ 外部割込み要求があ
ることを示し , 書込み時にはこの要求を示すフリップフロップの内容をクリアします。
EIRR レジスタを読み出したときに "1" であった場合は , ERx ビットに対応する端子に
外部割込み /DTP 要求があることを示します。また , EIRR レジスタに "0" を書き込むと
対応するビットの要求フリップフロップはクリアされます。"1" を書き込んでも何の操
作も行いません。リードモディファイライト (RMW) 系命令の読出し時には "1" が読み
出されます。
<注意事項>
•
初期値は "00H" ですが , 外部割込み兼用端子の状態によってリセット解除後の値は変化
します。
•
複数の外部割込み要求出力が許可 (ENIR:EN7 ∼ EN0=1) されている場合 , CPU が割込
みを受付けたビット (ER7 ∼ ER0 の "1" にセットされているビット ) だけを "0" にクリ
アするようにしてください。それ以外のビットを無条件にクリアすることは避けてく
ださい。
•
DTP/ 外部割込み要因ビット (EIRR:ER) の値は , 対応する DTP/ 外部割込み許可ビット
(ENIR:EN) が "1" に設定されているときのみ有効です。
DTP/ 外部割込みが許可されてない状態 (ENIR:EN=0) では , DTP/ 外部割込み要因の有
無にかかわらず DTP/ 外部割込み要因ビットがセットされる可能性があります。
•
DTP/ 外部割込みを許可 (ENIR:EN=1) する直前に , 対応する DTP/ 外部割込み要因ビッ
ト (EIRR:ER) をクリアしてください。
■ 要求レベル設定レジスタ (ELVR:External Level Register)
図 18.2-4 に , 要求レベル設定レジスタ (ELVR) のビット構成を示します。
図 18.2-4 要求レベル設定レジスタ (ELVR)
ELVR
bit
アドレス : 00003EH
bit
アドレス : 00003FH
444
7
6
5
4
3
2
1
0
LB3
R/W
LA3
R/W
LB2
R/W
LA2
R/W
LB1
R/W
LA1
R/W
LB0
R/W
LA0
R/W
15
14
13
12
11
10
9
8
LB7
R/W
LA7
R/W
LB6
R/W
LA6
R/W
LB5
R/W
LA5
R/W
LB4
R/W
LA4
R/W
FUJITSU MICROELECTRONICS LIMITED
初期値
00000000B
初期値
00000000B
CM44-10129-6
第 18 章 DTP/ 外部割込み
18.2 DTP/ 外部割込みのレジスタ
MB90330A シリーズ
要求レベル設定レジスタ (ELVR) は , 要求検出レベルを選択するレジスタです。1 つの
端子あたり 2 ビットが割り当てられていて , 表 18.2-1 に示す対応となっています。要
求入力がレベルの場合 , クリアしても入力がアクティブならば再びセットされます。
表 18.2-1 ELVR 割当て (LA0 ∼ LA7, LB0 ∼ LB7)
CM44-10129-6
LBx
LAx
動作
0
0
"L" レベルで要求あり
0
1
"H" レベルで要求あり
1
0
立上りエッジで要求あり
1
1
立下りエッジで要求あり
FUJITSU MICROELECTRONICS LIMITED
445
第 18 章 DTP/ 外部割込み
18.3 DTP/ 外部割込みの動作
18.3
MB90330A シリーズ
DTP/ 外部割込みの動作
DTP/ 外部割込みの動作について説明します。
■ 外部割込みの動作
外部割込み要求の設定の後 , 対応する端子に ELVR で設定された要求が入力されると ,
本リソースは割込みコントローラに対して割込み要求信号を発生します。割込みコン
トローラ内で同時発生した割込みの優先順位を識別した結果 , 本リソースからの割込
みが最も優先順位が高かったときに , 割込みコントローラは F2MC-16LX CPU に対して
割込み要求を発生します。F2MC-16LX CPU は , プロセッサステータス (PS) 内の割込み
レベルマスクレジスタ (ILM) と割込み要求を比較し , 要求レベルが ILM ビットより高
かったときに現在実行中の命令が終了し次第 , ハードウェア割込み処理マイクロプロ
グラムを起動します。
図 18.3-1 に , 外部割込み動作のフローを示します。
図 18.3-1 外部割込み動作
F2MC-16LXCPU
割込コントローラ
外部割込/DTP
ほかの要求
ICRyy
ELVR
IL
CMP
CMP
EIRR
ICRxx
ENIR
ILM
INTA
要因
割込み処理マイクロプログラムでは割込みベクタ領域の読出しと , 割込みコントロー
ラへの割込みアクノリッジを発生し , ベクタから生成したマクロ命令のジャンプ先ア
ドレスをプログラムカウンタへ転送した上で , ユーザの割込み処理プログラムを実行
します。
■ DTP の動作
初期化としてユーザプログラム内では μDMAC を起動するにあたって , μDMAC ディス
クリプタ内の I/O アドレスポインタに 000000H から 0000FFH に割り付けられているレ
ジスタのアドレスを設定し , バッファアドレスポインタにメモリバッファの先頭アド
レスを設定します。
DTP の動作シーケンスは外部割込みの場合とほぼ同じで , CPU がハードウェア割込み
処理マイクロプログラムを起動するまでは全く同じです。μDMAC が起動されると , ア
ドレッシングされている外部周辺装置に読出しまたは書込み信号が送られ , 本チップ
との間で転送が行われます。外部周辺装置は , その転送が行われてから 3 マシンサイク
ル以内に本チップに対する割込み要求を取り下げてください。転送が終了するとディ
スクリプタの更新などが行われ , その後転送要因をクリアする信号を割込みコント
ローラに発生させます。転送要因をクリアする信号を受け取った本リソースは , 要因を
保持しているフリップフロップをクリアして , 端子からの次の要求に備えます。
図 18.3-2 に , DTP 動作終了時の外部割込み要求を取り下げるタイミングを示します。
また , 図 18.3-3 に , 外部周辺装置とのインタフェース例を示します。
446
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 18 章 DTP/ 外部割込み
18.3 DTP/ 外部割込みの動作
MB90330A シリーズ
図 18.3-2 DTP 動作終了時の外部割込み要求の取下げタイミング
エッジ要求,または"H"レベル要求
割込み要因
ディスクリプタ
選択,読出し
内部動作
アドレスバス端子
メモリ転送のとき
I/0レジスタ
ライトアドレス
リードアドレス
リードデータ
データバス端子
読出し信号
ライトデータ
①
書込み信号
②
3マシンサイクル以内に取り下げる
図 18.3-3 外部周辺装置とのインタフェース例
レジスタ
外部周辺装置
②
①
INT
IRQ
DTP
転送終了後3マシンサイクル
以内に取り下げる
CM44-10129-6
内部バス
データ,アドレス,バス
CORE
MEMORY
MB90330A
FUJITSU MICROELECTRONICS LIMITED
447
第 18 章 DTP/ 外部割込み
18.4 DTP/ 外部割込み使用上の注意
18.4
MB90330A シリーズ
DTP/ 外部割込み使用上の注意
DTP/ 外部割込みを使用する上での注意事項について説明します。
■ 外部に接続する周辺装置の条件
DTP がサポートできる外部周辺装置は , 転送が行われたことにより自動的に要求をク
リアするものでなければなりません。また , 転送動作を開始してから 3 マシンサイクル
以内 ( 暫定値 ) で転送要求を取り下げるようになっていないと , 本リソースは次の転送
要求が発生したものとして扱ってしまいます。
■ DTP/ 外部割込みの動作手順
DTP/ 外部割込み内に存在するレジスタの設定は , 次の手順で行ってください。
1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポート
に設定する。
2. 許可レジスタの対象となるビットを禁止状態にする。
3. 要求レベル設定レジスタの対象となるビットを設定する。
4. 要因レジスタの対象となるビットをクリアする。
5. 許可レジスタの対象となるビットを許可状態にする。
4. と 5. はワード指定による同時書込みが可能です。
本リソース内のレジスタを設定するときには , 必ず許可レジスタを禁止状態に設定し
ておかなくてはなりません。また , 許可レジスタを許可状態にする前に必ず要因レジス
タをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態時に
誤って割込み要因が発生してしまうことを避けるためです。
■ 外部割込み要求レベル
• 要求レベルがエッジ要求の場合 , エッジがあったことを検出するためには , パルス
幅は最小 3 マシンサイクル必要です。
• 要求入力レベルがレベル設定の場合 , 外部から要求が入力され , その後取り下げら
れても , 割込み要求許可状態 (ENIR:EN=1) であれば , 割込みコントローラへの要求
はアクティブのままです。割込みコントローラへの要求を取り下げるには , 割込み
要求フラグビット (EIRR:ER) をクリアする必要があります。
図 18.4-1 レベル設定時の割込み要求フラグビット (EIRR:ER) のクリア
割込み要因
レベル検出
割込み要求フラグビット
(EIRR:ER)
許可ゲート
割込み
コントローラへ
クリアしない限り
要因を保持し続ける
448
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 18 章 DTP/ 外部割込み
18.4 DTP/ 外部割込み使用上の注意
MB90330A シリーズ
図 18.4-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求
割込み要因
("H"レベル検出の場合)
割込みコントローラ
への割込み要求
割込み要因の取下げ
割込み要求フラグビット(EIRR:ER)のクリアに
よってインアクティブとなる
<注意事項>
時計モードからのエッジ検出による復帰はできません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
449
第 18 章 DTP/ 外部割込み
18.4 DTP/ 外部割込み使用上の注意
450
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 19 章
8/10 ビット A/D コンバータ
この章では , 8/10 ビット A/D コンバータの機能と
動作について説明します。
19.1 8/10 ビット A/D コンバータの概要
19.2 8/10 ビット A/D コンバータの構成
19.3 8/10 ビット A/D コンバータのレジスタ
19.4 8/10 ビット A/D コンバータの動作説明
19.5 8/10 ビット A/D コンバータ使用上の注意
19.6 8/10 ビット A/D コンバータのプログラム例 -1
( 単発モードの EI2OS 起動例 )
19.7 8/10 ビット A/D コンバータのプログラム例 -2
( 連続モードの EI2OS 起動例 )
19.8 8/10 ビット A/D コンバータのプログラム例 -3
( 停止モードの EI2OS 起動例 )
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
451
第 19 章 8/10 ビット A/D コンバータ
19.1 8/10 ビット A/D コンバータの概要
19.1
MB90330A シリーズ
8/10 ビット A/D コンバータの概要
8/10 ビット A/D コンバータには , RC 逐次比較変換方式でアナログ入力電圧を 8
ビットもしくは 10 ビットのデジタル値に変換する機能があります。入力信号は , 16
チャネルのアナログ入力端子から選択し , 変換起動は , ソフトウェア , PPG タイマ 1
出力および外部端子からのトリガ入力起動の 3 種類から選択できます。
■ 8/10 ビット A/D コンバータの機能
アナログ入力端子に入力されたアナログ電圧 ( 入力電圧 ) をデジタル値に A/D 変換す
る機能があり , 次の特長をもっています。
• 変換時間は, 最小7.16 μs(マシンクロック24 MHz時, サンプリング時間を含む)です。
• サンプリング時間は , 最小 3.33 μs( マシンクロック 6 MHz 時 ) です。
• 変換方式は , サンプルホールド回路付 RC 逐次変換比較方式です。
• アナログ入力端子は 16 チャネルからプログラムで選択可能です。
• A/D 変換終了時に割込み要求を発生でき , EI2OS を起動することもできます。
割込み許可の状態では変換データ保護機能が働くため連続変換してもデータの欠
落がありません。
• 変換の起動要因は , ソフトウェア , PPG タイマ 1 出力 ( 立上りエッジ ), 外部からの
トリガ入力 ( 立下りエッジ ) から選択できます。
変換モードは , 表 19.1-1 に示すように 3 種類あります。
表 19.1-1 8/10 ビット A/D コンバータの変換モード
変換モード
シングル変換動作
スキャン変換動作
単発変換モード
指定したチャネル (1 チャネルの
み ) を 1 回変換して終了
連続した複数のチャネル ( 最大 16 チャネ
ルまで指定可能 ) を 1 回変換して終了
連続変換モード
指定したチャネル (1 チャネルの
み ) を繰り返し変換
連続した複数のチャネル ( 最大 16 チャネ
ルまで指定可能 ) を繰り返し変換
指定したチャネル (1 チャネルの
み ) を 1 回変換したら一時停止し ,
次の起動がかかるまで待機
連続した複数のチャネル ( 最大 16 チャネ
ルまで指定可能 ) を変換
ただし , 1 チャネル変換ごとに一時停止し ,
次の起動がかかるまで待機
停止変換モード
452
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 19 章 8/10 ビット A/D コンバータ
19.2 8/10 ビット A/D コンバータの構成
MB90330A シリーズ
19.2
8/10 ビット A/D コンバータの構成
8/10 ビット A/D コンバータは , 次の 9 つのブロックで構成されています。
• A/D 制御ステータスレジスタ (ADCS)
• A/D データレジスタ (ADCR)
• A/D 変換チャネル設定レジスタ (ADMR)
• デコーダ
• アナログチャネルセレクタ
• サンプルホールド回路
• D/A コンバータ
• コンパレータ
• コントロール回路 ( 逐次比較レジスタ )
■ 8/10 ビット A/D コンバータのブロックダイヤグラム
図 19.2-1 8/10 ビット A/D コンバータのブロックダイヤグラム
AVcc
AVRH
AVss
MPX
アナログチャネル
セレクタ
コントロール回路
コンパレータ
サンプル&
ホールド回路
デコーダ
A/Dデータレジスタ
F2MC-16LX バス
P70/AN0
~
P87/AN15
D/Aコンバータ
ADCR1,ADCR0
A/D変換チャネル設定レジスタ
ADMR
A/D制御ステータスレジスタ上位
A/D制御ステータスレジスタ下位
PPG1出力
タイマ起動
P96/ADTG/FRCK
φ
CM44-10129-6
トリガ起動
ADCS1,ADCS0
動作クロック
プリスケーラ
FUJITSU MICROELECTRONICS LIMITED
453
第 19 章 8/10 ビット A/D コンバータ
19.2 8/10 ビット A/D コンバータの構成
MB90330A シリーズ
● A/D 制御ステータスレジスタ (ADCS)
ソフトウェアによる起動 , 起動トリガの選択 , 変換モードの選択 , A/D 変換チャネルの
選択 , 割込み要求の許可 / 禁止 , 割込み要求の状態の確認 , 一時停止中および変換中の
表示をします。
● A/D データレジスタ (ADCR)
A/D 変換結果を格納するレジスタであり , A/D 変換の分解能を選択する機能もありま
す。
● A/D 変換チャネル設定レジスタ (ADMR)
A/D 変換チャネルの選択をします。
● デコーダ
A/D 変換チャネル設定レジスタ (ADMR) の ANE0 ∼ ANE3, ANS0 ∼ ANS3 ビットの設
定から , 使用するアナログ入力端子を選択する回路です。
● アナログチャネルセレクタ
16 本のアナログ入力端子の中から使用する端子を選択する回路です。
● サンプルホールド回路
アナログチャネルセレクタで選択された入力電圧を保持する回路です。A/D 変換を起
動した直後の入力電圧をサンプルホールドすることで , A/D 変換中 ( 比較中 ) の入力電
圧の変動の影響を受けずに変換できます。
● D/A コンバータ
サンプルホールドされた入力電圧と比較するための , 基準電圧を発生します。
● コンパレータ
サンプルホールドされた入力電圧と , D/A コンバータの出力電圧を比較し , 大小を判定
します。
● コントロール回路 ( 逐次比較レジスタ )
コンパレータからの大小信号で , A/D 変換値を決定します。A/D 変換が終了すると , 変
換結果を A/D データレジスタ (ADCR) に格納し , 割込み要求を発生します。
454
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
MB90330A シリーズ
19.3
8/10 ビット A/D コンバータのレジスタ
8/10 ビット A/D コンバータのレジスタ一覧を示します。
■ 8/10 ビット A/D コンバータのレジスタ一覧
図 19.3-1 8/10 ビット A/D コンバータのレジスタ一覧
bit
アドレス : 000040H
bit
7
6
5
4
3
2
1
MD1
(R/W)
MD0
(R/W)
(-)
(-)
(-)
(-)
(-)
15
14
13
12
11
10
9
INT
(R/W)
INTE
(R/W)
PAUS
(R/W)
STS1
(R/W)
STS0
(R/W)
STRT
(W)
6
5
4
3
2
1
0
D6
(R)
D5
(R)
D4
(R)
D3
(R)
D2
(R)
D1
(R)
D0
(R)
14
13
12
11
10
9
8
S10
(R/W)
ST1
(W)
ST0
(W)
CT1
(W)
CT0
(W)
(-)
D9
(R)
D8
(R)
15
14
13
12
11
10
9
8
ANS2
(R/W)
ANS1
(R/W)
ANS0
(R/W)
ANE3
(R/W)
ANE2
(R/W)
ANE1
(R/W)
アドレス : 000041H BUSY
(R/W)
bit
アドレス : 000042H
7
D7
(R)
bit 15
アドレス : 000043H
bit
アドレス : 000045H ANS3
(R/W)
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
0
A/D 制御ステータスレ
予約 ジスタ下位 (ADCS0)
(R/W) 初期値 00-----0 B
8
A/D 制御ステータスレ
予約 ジスタ上位 (ADCS1)
(R/W) 初期値 00000000B
A/D データレジスタ
下位 (ADCR0)
初期値 XXXXXXXXB
A/D データレジスタ
上位 (ADCR1)
初期値 00101XXXB
A/D 変換チャネル選択
ANE0 レジスタ (ADMR)
(R/W) 初期値 00000000B
455
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
19.3.1
MB90330A シリーズ
A/D 制御ステータスレジスタ上位 (ADCS1)
A/D 制御ステータスレジスタ上位 (ADCS1) は , ソフトウェアによる起動 , 起動トリ
ガの選択 , 割込み要求の許可 / 禁止 , 割込み要求の状態の確認 , 一時停止中および変
換中の確認をする機能があります。
■ A/D 制御ステータスレジスタ上位 (ADCS1)
図 19.3-2 A/D 制御ステータスレジスタ上位 (ADCS1) のビット構成
アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7
000041H
BUSY INT
R/W
R/W
INTE PAUS STS1 STS0
R/W
R/W
R/W
R/W
(ADCS0)
STRT 予約
W
bit0
初期値
00000000B
R/W
予約
予約ビット
必ず"0"を書き込んでください。
A/D変換起動ビット
(ソフトウェア起動時のみ有効)
STRT
0
A/D変換機能を起動しない
1
A/D変換機能を起動する
STS1 STS0
A/D起動要因選択ビット
0
0
ソフトウェア起動
0
1
トリガ起動またはソフトウェア起動
1
0
タイマ起動またはソフトウェア起動
1
1
トリガ起動,タイマ起動または
ソフトウェア起動
一時停止フラグビット
(EI2OS使用時のみ有効)
PAUS
0
A/D変換動作の一時停止は発生していない
1
A/D変換動作が一時停止中
割込み要求許可ビット
INTE
0
割込み要求出力の禁止
1
割込み要求出力の許可
INT
割込み要求フラグビット
リード時
ライト時
0
A/D変換未終了
このビットのクリア
1
A/D変換終了
変化なし,他への影響なし
変換中ビット
BUSY
リード時
ライト時
0
A/D変換停止中
A/D変換強制停止
1
A/D変換動作中
変化なし,他への影響なし
R/W :リード・ライト可能
W :ライトオンリ
:初期値
456
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
表 19.3-1 A/D 制御ステータスレジスタ上位 (ADCS1) の各ビットの機能説明 (1 / 2)
ビット名
機 能
BUSY :
変換中ビット
・A/D コンバータの動作表示ビットです。
・リード時 , BUSY ビットが "0" であれば A/D 変換停止中であること
を示し , "1" であれば A/D 変換動作中であることを示します。
・ライト時 , BUSY ビットへの "0" の書込みによって A/D 変換動作は
強制的に停止されます。"1" の書込みでは , 変化せず他への影響は
ありません。
( 注意事項 )
強制停止とソフトウェア起動 (BUSY = 0, STRT = 1) を同時にし
ないでください。
bit14
INT :
割込み要求
フラグビット
・A/D 変換によって A/D データレジスタにデータがセットされれば ,
INT ビットは "1" にセットされます。
・INT ビットと割込み要求許可ビット (ADCS1 : INTE) が "1" の場合 ,
割込み要求を発生します。EI2OS が許可されていれば EI2OS が起
動されます。
・書込み時は , "0" で INT ビットがクリアされ , "1" では変化せず他
への影響はありません。
・EI2OS の起動で INT ビットはクリアされます。
( 注意事項 )
INT ビットの "0" 書込みによるクリアは , A/D 停止中に行ってくだ
さい。
bit13
INTE :
割込み要求
許可ビット
・CPU への割込み出力の許可 / 禁止をするビットです。
・INTE ビットと , 割込み要求フラグビット (ADCS1 : INT) が "1" の
場合 , 割込み要求を発生します。
・EI2OS 使用時は "1" にセットしてください。
PAUS :
一時停止
フラグビット
・A/D 変換動作が一時停止した場合に "1" にセットされます。
・この A/D コンバータには , A/D データレジスタが 1 つしかないた
め , 連続変換モードを使用した場合に旧変換結果の CPU による読
出しが完了していなければ , 新しい変換結果の書込みにより旧変
換データは失われてしまいます。したがって , 連続変換モードを
使用する場合は , 基本的には EI2OS を用いて変換終了ごとに変換
結果を自動的にメモリに転送するように設定しておく必要があり
ます。ただし , 多重割込みなどで変換データの転送が次の変換に
間に合わない場合が想定できます。PAUS ビットはその場合の対
処として考えられた機能で , 変換終了後にデータレジスタの内容
を EI2OS で転送するまでの間 , PAUS ビットを "1" にセットし , そ
の間は A/D 変換は停止し , 次の変換データを格納しないように
なっています。その後 , EI2OS で転送を終了すると A/D コンバー
タは自動的に変換を再開します。
( 注意事項 )
PAUS ビットは , EI2OS を使用した場合のみ有効です。
bit15
bit12
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
457
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
MB90330A シリーズ
表 19.3-1 A/D 制御ステータスレジスタ上位 (ADCS1) の各ビットの機能説明 (2 / 2)
ビット名
bit11,
bit10
458
機 能
・A/D 変換の起動要因の選択を行います。
・起動要因が兼用になっている場合には , 最初に発生した起動要因
STS1, STS0 :
で起動します。
A/D 起動要因 ( 注意事項 )
選択ビット
起動要因は , 書換えと同時に変更されますので , A/D 変換動作中に
書き換える場合には , 目的とする起動要因がない状態で切り換え
てください。
bit9
STRT :
A/D 変換起動
ビット
・A/D 変換動作をソフトウェア的に起動するビットです。
・STRT ビットに "1" を書き込むと A/D 変換が起動します。
・停止変換モード時は , STRT ビットによる再起動はかかりません。
( 注意事項 )
強制停止とソフトウェア起動 (BUSY=0, STRT=1) を同時にしない
でください。
bit8
予約 :
予約ビット
( 注意事項 )
必ず "0" を書き込んでください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
MB90330A シリーズ
19.3.2
A/D 制御ステータスレジスタ下位 (ADCS0)
A/D 制御ステータスレジスタ下位 (ADCS0) は , 変換モードの選択をする機能があり
ます。
■ A/D 制御ステータスレジスタ下位 (ADCS0)
図 19.3-3 A/D 制御ステータスレジスタ下位 (ADCS0) のビット構成
アドレス bit15
000040H
bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
(ADCS1)
MD1
MD0
-
-
-
-
-
予約
R/W
R/W
-
-
-
-
-
R/W
予約
初期値
00----0B
予約ビット
必ず"0"を設定してください。
MD1 MD0
R/W :リード・ライト可能
- :未定義
:初期値
CM44-10129-6
A/D変換モード選択ビット
0
0
単発変換モード1(動作中の再起動可能)
0
1
単発変換モード2(動作中の再起動不可)
1
0
連続変換モード(動作中の再起動不可)
1
1
停止変換モード(動作中の再起動不可)
FUJITSU MICROELECTRONICS LIMITED
459
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
MB90330A シリーズ
表 19.3-2 A/D 制御ステータスレジスタ下位 (ADCS0) の各ビットの機能説明
ビット名
bit7,
bit6
bit5 ∼ bit1
bit0
460
MD1,
MD0 :
A/D 変換
モード選択
ビット
機 能
・A/D 変換機能時の変換モードを選択するビットです。
・MD1, MD0 の 2 ビット値によって , 単発変換モード 1, 単発変換
モード2, 連続変換モード, 停止変換モードのいずれかが選択され
ます。
・それぞれのモードの意味は , 以下のとおりです。
単発変換モード 1 : ANS3 ∼ ANS0 の設定チャネルから ANE3 ∼
ANE0 の設定チャネルまでの A/D 変換を連
続して , 1 度だけします。動作中の再起動が
可能です。
単発変換モード 2 : ANS3 ∼ ANS0 の設定チャネルから ANE3 ∼
ANE0 の設定チャネルまでの A/D 変換を連
続して , 1 度だけします。動作中の再起動は
できません。
連続変換モード : ANS3 ∼ ANS0 の設定チャネルから ANE3 ∼
ANE0 の設定チャネルまでの A/D 変換を連
続して , BUSY ビットで強制停止するまで
繰り返し行います。動作中の再起動はでき
ません。
停止変換モード : ANS3 ∼ ANS0 の設定チャネルから ANE3 ∼
ANE0 の設定チャネルまでの A/D 変換を 1
チャネルごとに一時停止しながら , BUSY
ビットで強制停止するまで繰り返します。
動作中の再起動はできません。一時停止中
の再起動は , STS1, STS0 ビットで選択した
起動要因の発生によります。
( 注意事項 )
単発 , 連続 , 停止の各変換モードの再起動不可は外部トリガ , ソ
フトウェアの起動に適用されます。
未定義
ビット
読出し値は不定です。書込みは動作に影響を与えません。
予約ビット
必ず "0" を設定してください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
MB90330A シリーズ
19.3.3
A/D 変換チャネル設定レジスタ (ADMR)
A/D 変換チャネル設定レジスタ (ADMR) は , A/D 変換チャネルの選択をする機能が
あります。
■ A/D 変換チャネル設定レジスタ (ADMR)
図 19.3-4 A/D 変換チャネル設定レジスタ (ADMR) のビット構成
アドレス
000045H
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
ANS3 ANS2 ANS1 ANS0 ANE3 ANE2
R/W
R/W
R/W
R/W
R/W
R/W
ANE3 ANE2 ANE1 ANE0
ANE1 ANE0
R/W
初期値
00000000B
R/W
A/D変換終了チャネル選択ビット
0
0
0
0
0
0
0
1
AN1端子
0
0
1
0
AN2端子
0
0
0
1
1
0
1
0
AN3端子
0
1
0
1
0
0
1
1
1
1
0
1
AN5端子
AN6端子
1
0
0
0
1
0
0
1
AN8端子
AN9端子
1
0
1
0
AN10端子
1
0
1
1
AN11端子
1
1
0
0
AN12端子
1
1
0
1
AN13端子
1
1
1
0
AN14端子
1
1
1
1
AN15端子
AN0端子
AN4端子
AN7端子
A/D変換開始チャネル選択ビット
ANS3 ANS2 ANS1 ANS0
R/W :リード・ライト可能
:初期値
CM44-10129-6
停止中
0
0
0
0
AN0端子
0
0
0
1
AN1端子
0
0
1
0
AN2端子
0
0
0
1
1
AN3端子
0
1
0
0
1
0
1
AN5端子
0
0
1
1
1
1
0
1
AN6端子
1
0
0
0
1
0
0
1
AN8端子
AN9端子
1
0
1
0
AN10端子
1
0
1
1
AN11端子
1
1
0
0
AN12端子
1
1
0
1
AN13端子
1
1
1
0
AN14端子
1
1
1
1
AN15端子
変換中の
読出し
停止変換モー
ドで一時停止
中の読出し
AN4端子
AN7端子
FUJITSU MICROELECTRONICS LIMITED
変換中の
チャネル番号
直前に
変換した
チャネル番号
461
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
MB90330A シリーズ
表 19.3-3 A/D 変換チャネル設定レジスタ (ADMR) の各ビットの機能説明
ビット名
bit15 ∼ bit12
bit11 ∼ bit8
機 能
ANS3, ANS2
ANS1, ANS0 :
A/D 変換開始
チャネル
選択ビット
・A/D 変換の開始チャネルの設定および変換中チャネル番号の確認
を行うビットです。
・A/D 変換を起動するとこれらのビットに書き込まれたチャネルか
ら A/D 変換を開始します。
・A/D 変換中は , 変換中のチャネル番号が読み出せます。停止変換
モードでの一時停止中は , 直前に変換したチャネルの番号が読み
出せます。
ANE3, ANE2
ANE1, ANE0 :
A/D 変換終了
チャネル
選択ビット
・A/D 変換の終了チャネルの設定を行うビットです。
・A/D 変換を起動するとこれらのビットに書き込まれたチャネルま
で A/D 変換を行います。
・ANS3 ∼ ANS0 と同じチャネルを設定すると , そのチャネルのみ
変換を行います。また , 連続変換モードまたは , 停止変換モード
を設定している場合は , これらのビットで設定されたチャネルま
での変換が終わると ANS3 ∼ ANS0 で設定された開始チャネルに
戻ります。
( 注意事項 )
A/D 変換開始チャネル選択ビット (ANS3, ANS2, ANS1, ANS0) に開
始チャネルを設定したあとに , A/D 変換モード設定ビット (MD1,
MD0)およびA/D変換終了チャネル選択ビット(ANE3, ANE2, ANE1,
ANE0) をリードモディファイライト (RMW) 系命令で設定しないで
ください。ANS3, ANS2, ANS1, ANS0 ビットは A/D 変換動作が開始
するまでは前回の変換チャネルが読み出されるため , ANS3, ANS2,
ANS1, ANS0 ビットに開始チャネルを設定したあとに , MD1, MD0
ビットおよびANE3, ANE2, ANE1, ANE0ビットをリードモディファ
イライト (RMW) 系命令で設定した場合 , ANE3, ANE2, ANE1, ANE0
ビットの値が書き換わる可能性があります。
<注意事項>
A/D 変換終了チャネルが A/D 変換開始チャネルよりも小さい設定 (ANS >ANE) はできま
せん。A/D 変換チャネル設定レジスタ (ADMR) は , バイトアクセスしてください。
462
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
MB90330A シリーズ
A/D データレジスタ (ADCR1/ADCR0)
19.3.4
A/D データレジスタ (ADCR1/ADCR0) は , A/D 変換結果を格納するレジスタであり ,
A/D 変換の分解能を選択する機能もあります。
■ A/D データレジスタ (ADCR1/ADCR0)
図 19.3-5 A/D データレジスタ (ADCR1/ADCR0) のビット構成
bit15 bit14 bit13 bit12 bit11 bit10 bit9
000043H/
000042H
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
S10
ST1
ST0
CT1
CT0
-
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
00101XXXB
W
W
W
W
W
-
R
R
R
R
R
R
R
R
R
R
XXXXXXXXB
D0~D9
変換データ
CT1
0
0
1
1
CT0
0
1
0
1
コンペア時間設定ビット
ST1
0
0
1
1
ST0
0
1
0
1
サンプリング時間設定ビット
S10
0
1
R
W
X
-
A/Dデータビット
ADデータビット
10ビット分解能モード(D9~D0)
8ビット分解能モード(D7~D0)
:リードオンリ
:ライトオンリ
:不定
:未定義
:初期値
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
463
第 19 章 8/10 ビット A/D コンバータ
19.3 8/10 ビット A/D コンバータのレジスタ
MB90330A シリーズ
表 19.3-4 A/D データレジスタ (ADCR1/ADCR0) の各ビットの機能説明
ビット名
機 能
・A/D 変換の分解能を選択するビットです。
・S10 ビットに "0" を書き込むと 10 ビット分解能が選択され ,
"1" を書き込むと 8 ビット分解能が選択されます。
( 注意事項 )
分解能によって , 使用されるデータビットが異なります。
bit15
S10 :
A/D 変換
分解能選択
ビット
bit14,
bit13
・A/D 変換時のサンプリング時間を選択するビットです。
・A/D が起動されると , ST1, ST0 ビットに設定された時間 , アナロ
ST1, ST0 :
グ入力が取り込まれます。
サンプリング
( 注意事項 )
時間設定ビット
24 MHz 動作時に "00" 6 MHz 用の設定を行うと正常なアナログ電
圧を取り込めない場合があります。
bit12,
bit11
CT1, CT0 :
コンペア時間
設定ビット
・A/D 変換時のコンペア時間を選択するビットです。
・アナログ入力が取り込まれた ( サンプリング時間経過 ) 後 , CT1,
CT0 ビットに設定された時間後に変換結果のデータが確定し , こ
のレジスタの bit9 ∼ bit0 に格納されます。
( 注意事項 )
24 MHz 動作時に "00" 6 MHz 用の設定を行うと正常なアナログ変
換値が得られない場合があります。
bit10
未定義ビット
bit9 ∼ bit0
D9 ∼ D0
読出し値は不定です。書込みは動作に影響を与えません。
・A/D 変換の結果が格納され , レジスタは 1 回の変換終了ごとに書
き換えられます。
・通常は , 最終変換値が格納されます。
・ADCR レジスタの初期値は不定です。
( 注意事項 )
変換データ保護機能があります。「19.4
(
8/10 ビット A/D コンバー
タの動作説明」を参照してください )
A/D 変換中に D9 ∼ D0 ビットにデータを書き込まないようにし
てください。
<注意事項>
464
•
S10 ビットの書き換えは必ず変換動作前の A/D 動作が停止の状態で行ってくだ
さい。変換後の書き換えをした場合 , ADCR の内容は不定となります。
•
ADCR レジスタの読出しは , 10 ビットモードを指定した場合は必ずワード転送命令
(MOVW A, 0042H など ) を使用してください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 19 章 8/10 ビット A/D コンバータ
19.4 8/10 ビット A/D コンバータの動作説明
MB90330A シリーズ
8/10 ビット A/D コンバータの動作説明
19.4
8/10 ビット A/D コンバータには , 単発変換モード , 連続変換モード , 停止変換モー
ドの 3 種類のモードがあります。各モードでの動作説明をします。
■ 単発変換モードの動作
単発変換モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順次変換し
ていき , ANE ビットで設定された終了チャネルまで変換が終わると A/D 変換は停止し
ます。開始チャネルと終了チャネルが同じ (ANS=ANE) 場合は ANS ビットで指定した
1 チャネルだけの変換となります。単発変換モードで動作させるには , 図 19.4-1 の設定
が必要です。
図 19.4-1 単発変換モードでの設定
bit15 bit14 bit13 bit12 bit11 bit10 bit9
ADCS BUSY INT
bit8
bit7
bit6
INTE PAUS STS1 STS0 STRT 予約 MD1 MD0
bit5
bit4
bit3
bit2
bit1
bit0
-
-
-
-
-
予約
0
ADCR S10
ST1
ST0
CT1
CT0
-
0
変換データを格納
ADMR ANS3 ANS2 ANS1 ANS0 ANE3 ANE2 ANE1 ANE0
ADER ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE9 ADE8 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0
: 使用ビット
: 使用する端子の対応するビットに "1" を設定
0 : "0" を設定
単発変換モードでの変換順序の例を以下に示します。
ANS=000B, ANE=011B の場合 : AN0 → AN1 → AN2 → AN3 →終了
ANS=011B, ANE=011B の場合 : AN3 →終了
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
465
第 19 章 8/10 ビット A/D コンバータ
19.4 8/10 ビット A/D コンバータの動作説明
MB90330A シリーズ
■ 連続変換モードの動作
連続変換モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順次変換し
ていき , ANE ビットで設定された終了チャネルまで変換が終わると ANS ビットで設定
されたアナログ入力に戻り , A/D 変換動作を続けます。開始チャネルと終了チャネルが
同じ場合 (ANS=ANE) は ANS で指定したチャネルだけの変換を繰り返します。連続変
換モードで動作させるには , 図 19.4-2 に示す設定が必要です。
図 19.4-2 連続変換モードでの設定
bit15 bit14 bit13 bit12 bit11 bit10 bit9
ADCS BUSY INT
bit8
ST1
bit6
INTE PAUS STS1 STS0 STRT 予約 MD1 MD0
0
ADCR S10
bit7
ST0
CT1
CT0
-
1
bit5
bit4
bit3
bit2
bit1
bit0
--
--
--
--
--
予約
0
0
変換データを格納
ADMR ANS3 ANS2 ANS1 ANS0 ANE3 ANE2 ANE1 ANE0
ADER ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE9 ADE8 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0
: 使用ビット
: 使用する端子の対応するビットに "1" を設定
1 : "1" を設定
0 : "0" を設定
連続変換モードでの変換順序の例を以下に示します。
ANS=000B, ANE=011B の場合 : AN0 → AN1 → AN2 → AN3 → AN0 →繰返し
ANS=011B, ANE=011B の場合 : AN3 → AN3 →繰返し
■ 停止変換モードの動作
停止変換モードは , ANS ビットと ANE ビットで設定されたアナログ入力を 1 チャネル
ごとに一時停止しながら変換していき , ANE ビットで設定された終了チャネルまで変
換が終わると ANS ビットで設定されたアナログ入力に戻り , A/D 変換と一時停止の動
作を続けます。開始チャネルと終了チャネルが同じ場合 (ANS=ANE) は ANS ビットで
指定したチャネルだけの変換を繰り返します。一時停止時の変換の再起動は , STS1,
STS0 ビットで指定した起動要因を発生します。停止変換モードで動作させるには , 図
19.4-3 の設定が必要です。
466
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 19 章 8/10 ビット A/D コンバータ
19.4 8/10 ビット A/D コンバータの動作説明
MB90330A シリーズ
図 19.4-3 停止変換モードでの設定
bit15 bit14 bit13 bit12 bit11 bit10 bit9
ADCS BUSY INT
bit8
ST1
bit6
INTE PAUS STS1 STS0 STRT 予約 MD1 MD0
0
ADCR S10
bit7
ST0
CT1
CT0
-
1
bit5
bit4
bit3
bit2
bit1
bit0
--
--
--
--
--
--
1
0
変換データを格納
ADMR ANS3 ANS2 ANS1 ANS0 ANE3 ANE2 ANE1 ANE0
ADER ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE9 ADE8 ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0
: 使用ビット
: 使用する端子の対応するビットに "1" を設定
1 : "1" を設定
0 : "0" を設定
停止変換モードでの変換順序の例を以下に示します。
ANS=000B, ANE=011B の場合 :
AN0 →一時停止→ AN1 →一時停止→ AN2 →
一時停止→ AN0 → 繰返し
ANS=011B, ANE=011B の場合 :
CM44-10129-6
AN3 →一時停止→ AN3 →一時停止→繰返し
FUJITSU MICROELECTRONICS LIMITED
467
第 19 章 8/10 ビット A/D コンバータ
19.4 8/10 ビット A/D コンバータの動作説明
19.4.1
MB90330A シリーズ
μDMAC または EI2OS を使用した変換動作
10 ビット A/D コンバータは , μDMAC または EI2OS を使用して , A/D 変換結果をメ
モリに転送できます。
■ μDMAC または EI2OS を使用した変換動作
μDMAC または EI2OS 使用時の動作フローを図 19.4-4 に示します。
図 19.4-4 μDMAC または EI2OS 使用時の動作フローチャート例
A/Dコンバータ起動
サンプルホールド
A/D変換開始
変換データ転送
A/D変換終了
指定回数が終了か*
YES
割込み処理
NO
割込み発生
割込みクリア
μDMAC または EI2OS を利用すると変換データ保護機能で , 連続変換時にもデータ欠落
を起こすことなく , 複数のデータを確実にメモリに転送できます。
468
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
19.4.2
第 19 章 8/10 ビット A/D コンバータ
19.4 8/10 ビット A/D コンバータの動作説明
A/D 変換データ保護機能
割込み許可状態で A/D 変換を実行すると , 変換データ保護機能が働きます。
■ A/D 変換データ保護機能
この A/D コンバータでは , 変換データ格納用のデータレジスタが 1 つしかないので , A/D
変換をすると , 変換終了時に , データレジスタ内の格納データを書き換えます。
そのため ,
変換データのメモリへの転送が間に合わないと前回のデータが一部欠落することになり
ます。この対策として , 割込み許可 (INTE=1) の場合は , 以下のようにデータ保護機能が
働くようになっています。
● μDMAC または EI2OS を使用しない場合のデータ保護機能
変換データが A/D データレジスタ (ADCR) に格納されると A/D 制御ステータスレジス
タ上位 (ADCS1) の INT ビットが "1" にセットされます。この INT ビットが "1" の間 ,
A/D変換は一時停止状態になります。割込みルーチン内で , A/Dデータレジスタ (ADCR)
をメモリなどに転送した後 , INT ビットをクリアすると停止状態が解除されます。
● μDMAC または EI2OS を使用する場合のデータ保護機能
μDMAC または EI2OS を使って連続変換を指示すると , 変換終了から μDMAC または
EI2OS でデータレジスタの変換データをメモリに転送完了するまで , A/D 制御ステータ
スレジスタ上位 (ADCS1) の PAUS ビットを "1" にセットし , この間 , A/D 変換動作は停
止し , 次の変換データを格納しないようになっています。メモリへのデータ転送が完了
すると , PAUS ビットは "0" にクリアされ , 変換動作が再開します。
図 19.4-5 に μDMAC
または EI2OS 使用時のデータ保護機能フローを示します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
469
第 19 章 8/10 ビット A/D コンバータ
19.4 8/10 ビット A/D コンバータの動作説明
MB90330A シリーズ
図 19.4-5 μDMAC または EI2OS 使用時のデータ保護機能フロー
A/D連続変換起動
1回変換終了
A/Dデータレジスタに格納
2回変換終了
NO
A/D一時停止
YES
A/Dデータレジスタに格納
3回目変換
続く
すべて変換終了
割込み処理ルーチン
続く
A/Dデータレジスタに格納
A/D初期化または停止
終了
(注意事項)A/Dコンバータ動作停止時のフローは省略
<注意事項>
470
•
変換データ保護機能は , 割込み許可 (ADCS1:INTE=1) 状態でしか動作しません。
•
μDMAC または EI2OS 動作中で , A/D 変換が一時停止している場合に , 割込みを禁止す
ると A/D 変換が動作し , 旧データの転送前に新データが書き込まれる場合があります。
また , 一時停止中に再起動がかかった場合も , 旧データは破壊されます。
•
一時停止中に再起動をかけると待機データが壊れます。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
19.5
第 19 章 8/10 ビット A/D コンバータ
19.5 8/10 ビット A/D コンバータ使用上の注意
8/10 ビット A/D コンバータ使用上の注意
8/10 ビット A/D コンバータを使用する場合の注意点を示します。
■ 8/10 ビット A/D コンバータ使用上の注意
● アナログ入力端子
A/D 入力端子はポート 7, 8 の入出力端子と兼用になっており , ポート 7, 8 方向レジスタ
(DDR7, DDR8) とアナログ入力許可レジスタ (ADER) で切り替えて使用するようになっ
ています。アナログ入力として使用する端子では , DDR7, DDR8 の対応するビットに
"0" を書き込んでポート設定を入力にした上で , ADER でアナログ入力モード (ADEx=1)
に設定して , ポート側の入力ゲートを固定してください。ポート入力モード (ADEx=0)
の状態では中間レベルの信号が入力されると , ゲートに入力リーク電流が流れます。
● 内部タイマ (16 ビットリロードタイマ 1) で使用する場合の注意
A/D コンバータを内部タイマで起動する場合 , A/D 制御ステータスレジスタ上位
(ADCS1) の STS1, STS0 ビットで設定しますが , このとき , 内部タイマの入力値は , イ
ンアクティブ側 ( 内部タイマの場合は "L") にしておいてください。アクティブ側にし
ておくと , ADCS1 レジスタへの書込みと同時に動作し始める場合があります。
STS1, STS0 設定時は , ADTG=1 入力 , 内部タイマ (PPG1)=0 出力の状態で行ってくださ
い。
● A/D コンバータの電源・アナログ入力の投入順序
A/D コンバータの電源 (AVcc, AVRH) および , アナログ入力 (AN0 ∼ AN15) への印加は ,
必ずデジタル電源 (Vcc) の投入後かまたは同時に投入してください。
また , 電源切断時は ,
A/Dコンバータの電源およびアナログ入力の切断後にデジタル電源(Vcc)を切断するか
または同時に切断してください。
● A/D コンバータの電源電圧について
ラッチアップ防止のため , A/D コンバータの電源 (AVcc) は , デジタル電源 (Vcc) の電圧
を超えないようにしてください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
471
第 19 章 8/10 ビット A/D コンバータ
19.6 8/10 ビット A/D コンバータのプログラム例 -1 ( 単発モー
ドの EI2OS 起動例 )
19.6
MB90330A シリーズ
8/10 ビット A/D コンバータのプログラム例 -1
( 単発モードの EI2OS 起動例 )
単発モードの EI2OS 起動による A/D 変換処理のプログラムを示します。
■ 単発モードの EI2OS 起動プログラム例
● 処理仕様
アナログ入力 AN1 ∼ AN3 まで変換して終了します。
変換データは 200H ∼ 205H 番地に順に転送します。
分解能は 10 ビットとします。
起動はソフトで行います。
図 19.6-1 に , EI2OS 起動プログラム ( 単発モード ) のフローを示します。
図 19.6-1 EI2OS 起動プログラム ( 単発モード ) のフロー
起動開始
AN1
割込み
EI2OS転送
AN2
割込み
EI2OS転送
AN3
割込み
EI2OS転送
終了
割込みシーケンス
並行処理
● コーディング例
472
BAPL
EQU
000100H
; バッファアドレスポインタ下位
BAPM
EQU
000101H
; バッファアドレスポインタ中位
BAPH
EQU
000102H
; バッファアドレスポインタ上位
ISCS
EQU
000103H
; EI2OS ステータスレジスタ
IOAL
EQU
000104H
; I/O アドレスレジスタ下位
IOAH
EQU
000105H
; I/O アドレスレジスタ上位
DCTL
EQU
000106H
; データカウンタ下位
DCTH
EQU
000107H
; データカウンタ上位
DDR7
EQU
000017H
; ポート 7 方向レジスタ
ADER0
EQU
00001EH
; アナログ入力許可レジスタ 0
ICR12
EQU
0000BCH
; A/DC 用割込み制御レジスタ
ADMR
EQU
000045H
; A/D 変換チャネル設定レジスタ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 19 章 8/10 ビット A/D コンバータ
19.6 8/10 ビット A/D コンバータのプログラム例 -1 ( 単発モー
ドの EI2OS 起動例 )
ADCS0
EQU
000040H
; A/D 制御ステータスレジスタ
ADCS1
EQU
000041H
;
ADCR0
EQU
000042H
; A/D データレジスタ
ADCR1
EQU
000043H
;
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
; スタックポインタ (SP) などは初期化
START:
済みとする
AND
CCR, #0BFH
; 割込み禁止
MOV
ICR12, #00H
; 割込みレベル 0( 最強 )
MOV
BAPL, #00H
; 変換データの格納先アドレスの設定
MOV
BAPM, #02H
; (200H ∼ 205H を使用 )
MOV
BAPH, #00H
;
MOV
ISCS, #18H
; ワードデータ転送 , 転送後アドレス +1,
I/O →メモリに転送
MOV
IOAL, #42H
; 転送元アドレスポインタとして
MOV
IOAH, #00H
; アナログデータレジスタのアドレスを
セット
MOV
DCTL, #03H
; EI2OS 転送を 3 回 , 変換回数と同じに
する
MOV
DDR7, #11110001B
; P71 ∼ P73 を入力に設定
MOV
DCTH, #00H
;
MOV
ADER0, #00001110B
; P71/AN1 ∼ P73/AN3 をアナログ入力に
設定
LOOP:
MOV
ADMR, #013H
; AN1 ∼ AN3 CH を変換
MOV
ADCSL, #000H
; 単発起動
MOV
ADCSH, #0A2H
; ソフト起動 , A/D 変換開始 , 割込み許可
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
OR
CCR, #40H
; 割込み許可
MOV
A, #00H
; 無限ループ
MOV
A, #01H
BRA
LOOP
;---------- 割込みプログラム -----------------------------------------------------------ED_INT1:
MOV
RETI
CODE
CM44-10129-6
I:ADCS1, #00H
; A/D停止, 割込みのフラグクリアと禁止
; 割込みから復帰
ENDS
FUJITSU MICROELECTRONICS LIMITED
473
第 19 章 8/10 ビット A/D コンバータ
19.6 8/10 ビット A/D コンバータのプログラム例 -1 ( 単発モー
ドの EI2OS 起動例 )
MB90330A シリーズ
;---------- ベクタ設定 -----------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FF6CH
DSL
ED_INT1
ORG
0FFDCH
DSL
START
DB
00H
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
474
; 割込み #36(24H) にベクタを設定
START
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
19.7
第 19 章 8/10 ビット A/D コンバータ
19.7 8/10 ビット A/D コンバータのプログラム例 -2 ( 連続モー
ドの EI2OS 起動例 )
8/10 ビット A/D コンバータのプログラム例 -2
( 連続モードの EI2OS 起動例 )
連続モードの EI2OS 起動による A/D 変換処理のプログラムを示します。
■ 連続モードの EI2OS 起動プログラム例
● 処理仕様
アナログ入力AN3∼AN5の変換を2度行い, 各チャネルの変換データを2つ取得します。
変換データは 600H ∼ 60BH 番地に順に転送します。
分解能は 10 ビットとします。
起動は 16 ビットリロードタイマ 0 で行います。
図 19.7-1 に , EI2OS 起動プログラム ( 連続モード ) のフローを示します。
図 19.7-1 EI2OS 起動プログラム ( 連続モード ) のフロー
起動開始
AN3
割込み
EI2OS転送
AN4
割込み
EI2OS転送
全6回転送後
割込みシーケンス
AN5
割込み
2
EI OS転送
終了
● コーディング例
CM44-10129-6
BAPL
EQU
000100H
; バッファアドレスポインタ下位
BAPM
EQU
000101H
; バッファアドレスポインタ中位
BAPH
EQU
000102H
; バッファアドレスポインタ上位
ISCS
EQU
000103H
; EI2OS ステータスレジスタ
IOAL
EQU
000104H
; I/O アドレスレジスタ下位
IOAH
EQU
000105H
; I/O アドレスレジスタ上位
DCTL
EQU
000106H
; データカウンタカウンタ下位
DCTH
EQU
000107H
; データカウンタ上位
DDR7
EQU
000017H
; ポート 7 方向レジスタ
ADER0
EQU
00001EH
; アナログ入力許可レジスタ 0
ICR12
EQU
0000BCH
; A/DC 用割込み制御レジスタ
ADMR
EQU
000045H
; A/D 変換チャネル設定レジスタ
ADCS0
EQU
000040H
; A/D 制御ステータスレジスタ
ADCS1
EQU
000041H
;
FUJITSU MICROELECTRONICS LIMITED
475
第 19 章 8/10 ビット A/D コンバータ
19.7 8/10 ビット A/D コンバータのプログラム例 -2 ( 連続モー
ドの EI2OS 起動例 )
MB90330A シリーズ
ADCR0
EQU
000042H
; A/D データレジスタ
ADCR1
EQU
000043H
;
TMCSR1L EQU
000062H
; タイマコントロールステータスレジ
スタ 0 下位
TMCSR0H EQU
000063H
;
TMRLR0L EQU
000064H
; リロードレジスタ 0
TMRLR0H EQU
000065H
;
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
; スタックポインタ (SP) などは初期化
START:
済みとする
AND
CCR, #0BFH
; 割込み禁止
MOV
ICR12, #08H
; 割込みレベル 0( 最強 ), 割込み許可
MOV
BAPL, #00H
; 変換データの格納先アドレスの設定
MOV
BAPM, #06H
; (600H ∼ 60BH を使用 )
MOV
BAPH, #00H
;
MOV
ISCS, #18H
; ワードデータ転送 , 転送後アドレス +1,
; I/O →メモリに転送
MOV
IOAL, #42H
; 転送元アドレスポインタとして
MOV
IOAH, #00H
; アナログデータレジスタのアドレスを
セット
MOV
DCTL, #06H
; EI2OS 転送を 6 回 , 3 チャネル× 2 回分
の転送
MOV
DCTH, #00H
MOV
DDR7, #00000000B
; P70 ∼ P77 を入力に設定
MOV
ADER0, #00111000B
; P73/AN3 ∼ P75/AN5 をアナログ入力に
設定
MOV
ADMR, #035H
; AN3 ∼ AN5 CH を変換
MOV
ADCS0, #080H
; 連続モード
MOV
ADCS1, #0A8H
; 16 ビットタイマ起動 , A/D 変換開始 ,
割込み許可
MOVW
TMRLR0L, #0320H
; タイマ値を設定 800(320H) 66 μs
MOV
TMCSR0H, #00H
; クロックソースを 83ns に設定 ,
外部トリガ禁止
MOV
TMCSR0L, #12H
; タイマ出力禁止 , 割込み禁止 , リロード
許可
476
MOV
TMCSR0L, #13H
; 16 ビットタイマ起動
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
OR
CCR, #40H
; 割込み許可
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
LOOP:
第 19 章 8/10 ビット A/D コンバータ
19.7 8/10 ビット A/D コンバータのプログラム例 -2 ( 連続モー
ドの EI2OS 起動例 )
MOV
A, #00H
MOV
A, #01H
BRA
LOOP
; 無限ループ
;---------- 割込みプログラム -----------------------------------------------------------ED_INT1:
MOV
I:ADCS1, #80H
; A/Dは停止しない, 割込みのフラグクリ
アと禁止
; 割込みから復帰
RETI
CODE
ENDS
;---------- ベクタ設定 -----------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FF7CH
DSL
ED_INT1
ORG
0FFDCH
DSL
START
DB
00H
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
CM44-10129-6
; 割込み #36(24H) にベクタを設定
START
FUJITSU MICROELECTRONICS LIMITED
477
第 19 章 8/10 ビット A/D コンバータ
19.8 8/10 ビット A/D コンバータのプログラム例 -3 ( 停止モー
ドの EI2OS 起動例 )
19.8
MB90330A シリーズ
8/10 ビット A/D コンバータのプログラム例 -3
( 停止モードの EI2OS 起動例 )
停止モードの EI2OS 起動による A/D 変換処理のプログラムを示します。
■ 停止モードの EI2OS 起動プログラム例
● 処理仕様
アナログ入力 AN3 を一定期間で 12 回変換します。
変換データは 600H ∼ 617H 番地に順に転送します。
分解能は 10 ビットとします。
起動は 16 ビットリロードタイマ 0 で行います。
図 19.8-1 に , EI2OS 起動プログラム ( 停止モード ) のフローを示します。
図 19.8-1 EI2OS 起動プログラム ( 停止モード ) のフロー
起動開始
AN3
割込み
EI2OS転送
12回転送後
停止
割込みシーケンス
外部エッジ起動
終了
● コーディング例
478
BAPL
EQU
000100H
; バッファアドレスポインタ下位
BAPM
EQU
000101H
; バッファアドレスポインタ中位
BAPH
EQU
000102H
; バッファアドレスポインタ上位
ISCS
EQU
000103H
; EI2OS ステータスレジスタ
IOAL
EQU
000104H
; I/O アドレスレジスタ下位
IOAH
EQU
000105H
; I/O アドレスレジスタ上位
DCTL
EQU
000106H
; データカウンタ下位
DCTH
EQU
000107H
; データカウンタ上位
DDR7
EQU
000017H
; ポート 7 方向レジスタ
ADER0
EQU
00001EH
; アナログ入力許可レジスタ 0
ICR12
EQU
0000BCH
; A/DC 用割込み制御レジスタ
ADMR
EQU
000045H
; A/D 変換チャネル設定レジスタ
ADCS0
EQU
000040H
; A/D 制御ステータスレジスタ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 19 章 8/10 ビット A/D コンバータ
19.8 8/10 ビット A/D コンバータのプログラム例 -3 ( 停止モー
ドの EI2OS 起動例 )
ADCS1
EQU
000041H
;
ADCR0
EQU
000042H
; A/D データレジスタ
ADCR1
EQU
000043H
;
TMCSR0L EQU
000062H
; タイマコントロールステータスレジ
スタ 0 下位
TMCSR0H EQU
000063H
;
TMRLR0L EQU
000064H
; リロードレジスタ 0
TMRLR0H EQU
000065H
;
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
; スタックポインタ (SP) などは初期化
START:
済みとする
ANDCCR, #0BFH; 割込み禁止
MOV
ICR12, #08H
; 割込みレベル 0( 最強 )
MOV
BAPL, #00H
; 変換データの格納先アドレスの設定
MOV
BAPM, #06H
; (600H ∼ 617H を使用 )
MOV
BAPH, #00H
;
MOV
ISCS, #19H
; ワードデータ転送 , 転送後アドレス +1,
; I/O →メモリに転送 , リソースの要求で
終了
MOV
IOAL, #42H
; 転送元アドレスポインタとして
MOV
IOAH, #00H
; アナログデータレジスタのアドレスを
セット
MOV
DCTL, #0CH
; EI2OS 転送を 12 回 , 3 チャネルのみ
MOV
DCTH, #00H
;
MOV
DDR7, #00000000B
; P70 ∼ P77 を入力に設定
MOV
ADER, #00001000B
; P73/AN3 をアナログ入力に設定
MOV
ADMR, #033H
; AN3 チャネルを変換
MOV
ADCS0, #0C0H
; 停止モード
MOV
ADCS1, #0A8H
; 16 ビットタイマ起動 , A/D 変換開始 ,
割込み許可
MOVW
TMRLR0L, #0320H
; タイマ値を設定 800(320H) 66 μs
MOV
TMCSR0H, #00H
; クロックソースを 83 ns に設定 , 外部
トリガ禁止
MOV
TMCSR0L, #12H
; タイマ出力禁止 , 割込み禁止 , リロード
許可
CM44-10129-6
MOV
TMCSR0L, #13H
; 16 ビットタイマ起動
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
OR
CCR, #40H
; 割込み許可
FUJITSU MICROELECTRONICS LIMITED
479
第 19 章 8/10 ビット A/D コンバータ
19.8 8/10 ビット A/D コンバータのプログラム例 -3 ( 停止モー
ドの EI2OS 起動例 )
LOOP:
MOV
A, #00H
MOV
A, #01H
BRA
LOOP
MB90330A シリーズ
; 無限ループ
;---------- 割込みプログラム -----------------------------------------------------------ED_INT1:
MOV
I:ADCS1, #80H
; A/Dは停止しない, 割込みのフラグクリ
アと禁止
; 割込みから復帰
RETI
CODE
ENDS
;---------- ベクタ設定 -----------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FF6CH
DSL
ED_INT1
ORG
0FFDCH
DSL
START
DB
00H
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
480
; 割込み #36(24H) にベクタを設定
START
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 20 章
拡張 I/O シリアルインタ
フェース
この章では , 拡張 I/O シリアルインタフェースの概
要 , レジスタの構成 / 機能および拡張 I/O シリアル
インタフェースの動作について説明します。
20.1 拡張 I/O シリアルインタフェースの概要
20.2 拡張 I/O シリアルインタフェースのレジスタ
20.3 拡張 I/O シリアルインタフェースの動作
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
481
第 20 章 拡張 I/O シリアルインタフェース
20.1 拡張 I/O シリアルインタフェースの概要
20.1
MB90330A シリーズ
拡張 I/O シリアルインタフェースの概要
拡張 I/O シリアルインタフェースは , 8 ビット× 1 チャネル構成のクロック同期式に
よるデータ転送可能なシリアル I/O インタフェースです。また , データ転送におい
て , LSB ファースト /MSB ファーストの選択が可能です。
■ 拡張 I/O シリアルインタフェースの概要
拡張 I/O シリアルインタフェースには , 以下の 2 種類の動作モードがあります。
• 内部シフトクロックモード : 内部クロックに同期してデータ転送を行います。
• 外部シフトクロックモード : 外部端子 (SCK) から入力されるクロックに同期して
データ転送を行います。このモードで外部端子 (SCK)
を共有している汎用ポートを操作することにより ,
CPU の命令による転送動作も可能です。
■ 拡張 I/O シリアルインタフェースのブロックダイヤグラム
図 20.1-1 に , 拡張 I/O シリアルインタフェースのブロックダイヤグラムを示します。
図 20.1-1 拡張 I/O シリアルインタフェースのブロックダイヤグラム
内 部 デ ー タ バ ス
初期値
D7~D0(LSBファースト)
転送方向選択
(MSBファースト)D0~D7
SIN
読出し
書込み
SDR(シリアルデータレジスタ)
SOT
SCK
シフトクロック
カウンタ
制御回路
内部クロック
2
1
0
SMD2 SMD1 SMD0 SIE
SIR BUSY STOP STRT MODE BDS
SOE SCOE
割込み
要求#38
SMCS
内 部 デ ー タ バ ス
482
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 20 章 拡張 I/O シリアルインタフェース
20.2 拡張 I/O シリアルインタフェースのレジスタ
MB90330A シリーズ
20.2
拡張 I/O シリアルインタフェースのレジスタ
拡張 I/O シリアルインタフェースで使用するレジスタの構成および機能について説
明します。
■ 拡張 I/O シリアルインタフェースのレジスタ一覧
図 20.2-1 に , 拡張 I/O シリアルインタフェースのレジスタ一覧を示します。
図 20.2-1 拡張 I/O シリアルインタフェースのレジスタ一覧
SMCS
bit 15
14
13
アドレス : 000059H SMD2 SMD1 SMD0
12
11
10
9
SIE
SIR
BUSY
STOP
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R)
(R/W)
bit
7
6
5
4
3
2
1
アドレス : 000058H
-
-
-
-
MODE
BDS
SOE
(-)
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
7
6
5
4
3
2
1
D7
(R/W)
D6
(R/W)
D5
(R/W)
D4
(R/W)
D3
(R/W)
D2
(R/W)
D1
(R/W)
15
14
13
12
11
10
9
MD
(R/W)
(-)
(-)
(-)
DIV3
(R/W)
DIV2
(R/W)
DIV1
(R/W)
8
シリアルモード
コントロール
STRT ステータスレジスタ
(SMCS)
(R/W) 初期値 00000010B
SMCS
0
シリアルモード
コントロール
SCOE ステータスレジスタ
(SMCS)
(R/W) 初期値 XXXX0000B
SDR
bit
アドレス : 00005AH
0
シリアルデータ
D0 レジスタ (SDR)
(R/W) 初期値 XXXXXXXXB
SDCR
bit
アドレス : 00005BH
8
通信プリスケーラ
DIV0 制御レジスタ (SDCR)
(R/W) 初期値 0XXX0000B
R/W : リード・ライト可能
- : 未定義
X : 不定
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
483
第 20 章 拡張 I/O シリアルインタフェース
20.2 拡張 I/O シリアルインタフェースのレジスタ
20.2.1
MB90330A シリーズ
シリアルモードコントロールステータスレジスタ
(SMCS)
シリアルモードコントロールステータスレジスタ (SMCS) の構成および機能につい
て説明します。
■ シリアルモードコントロールステータスレジスタ (SMCS)
シリアルモードコントロールステータスレジスタ (SMCS) は , シリアル I/O の転送動作
モードを制御するレジスタです。
図 20.2-2 に , シリアルモードコントロールステータスレジスタ (SMCS) のビット構成を
示します。
図 20.2-2 シリアルモードコントロールステータスレジスタ (SMCS) のビット構成
SMCS
bit 15
14
13
アドレス : 000059H SMD2 SMD1 SMD0
12
11
10
9
SIE
SIR
BUSY
STOP
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
bit
7
6
5
4
3
2
1
アドレス : 000058H
-
-
-
-
MODE
BDS
SOE
(-)
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
8
シリアルモード
コントロール
STRT ステータスレジスタ
(R/W) 初期値 00000010B
SMCS
0
シリアルモード
コントロール
SCOE ステータスレジスタ
(R/W) 初期値 XXXX0000B
R/W : リード・ライト可能
- : 未定義
以下に , シリアルモードコントロールステータスレジスタ (SMCS) の各ビットの機能に
ついて説明します。
484
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 20 章 拡張 I/O シリアルインタフェース
20.2 拡張 I/O シリアルインタフェースのレジスタ
MB90330A シリーズ
[bit15 ∼ bit13] SMD2 ∼ SMD0 ( シフトクロック選択 )
シリアルシフトクロックモードを選択します。
シリアルシフトクロックモードの設定内容を , 表 20.2-1, 表 20.2-2 に示します。
表 20.2-1 シリアルシフトクロックモードの選択
SMD2
SMD1
SMD0
φ=24 MHz
div=8
φ=12 MHz
div=4
φ=6 MHz
div=6
分周値
0
0
0
1.5 MHz
1.5 MHz
500 kHz
2
0
0
1
750 kHz
750 kHz
250 kHz
4
0
1
0
188 kHz
188 kHz
62.5 kHz
16
0
1
1
93.4 kHz
93.4 kHz
31.2 kHz
32
1
0
0
46.9 kHz
46.9 kHz
15.6 kHz
64
1
0
1
外部シフトクロックモード
1
1
0
設定禁止
1
1
1
設定禁止
表 20.2-2 通信プリスケーラ (SDCR) の設定例
( マシンクロック )
MD
DIV3
DIV2
DIV1
DIV0
マシンサイクル
( 推奨設定 )
1
1
0
0
0
0
3 MHz
2
1
0
0
0
1
6 MHz
4
1
0
0
1
1
12 MHz
8
1
0
1
1
1
24 MHz
Div
リセットにより "000B" に初期化されます。転送中の書換えは禁止です。
シフトクロックは, 内部シフトクロック5種類と, 外部シフトクロックが選択できます。
外部シフトします。SMD2, SMD1, SMD0=110B, 111B は設定しないでください。
クロック選択で SCOE=0 とし , SCK 端子を共有しているポートを操作することによっ
て , 命令ごとにシフト動作させることもできます。
[bit12] SIE ( シリアル I/O 割込み許可 )
シリアル I/O の割込み要求を制御します。
SIE
動作
0
シリアル I/O 割込み禁止
1
シリアル I/O 割込み許可
[ 初期値 ]
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
485
第 20 章 拡張 I/O シリアルインタフェース
20.2 拡張 I/O シリアルインタフェースのレジスタ
MB90330A シリーズ
[bit11] SIR ( シリアル I/O 割込み要求 )
シリアルデータの転送が終了すると "1" にセットされ , 割込み許可時 (SIE=1) にこの
ビットが "1" になると , CPU へ割込み要求が発生します。クリア条件は , MODE ビッ
トによって異なります。
• MODE ビットが "0" のとき , SIR ビットへの "0" 書込みによってクリアされます。
• MODE ビットが "1" のとき , SDR の読出しまたは書込み動作によってクリアされま
す。
• MODE ビットの値にかかわらずリセットまたは STOP ビットへの "1" 書込み動作に
よってクリアされます。
• "1" を書き込んでも意味がありません。
• リードモディファイライト(RMW)系命令の読出し時は, 常に, "1"が読み出されます。
[bit10] BUSY( 転送状態表示 )
シリアル転送が実行中か否かを示すビットです。
BUSY
動作
0
停止 , またはシリアルデータレジスタリード / ライト待機状態 [ 初期値 ]
1
シリアル転送状態
• このリセットにより "0" に初期化されます。
• このビットは , 読出しのみ可能です。
[bit9] STOP( ストップビット )
シリアル転送を強制的に中断させるビットです。"1" にすると , STOP=1 による停止
状態になります。
STOP
動作
0
通常動作
1
STOP=1 による転送停止
[ 初期値 ]
• このリセットにより "1" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
[bit8] STRT ( スタートビット )
シリアル転送を起動するビットです。停止状態で "1" を書き込むことによって転送
が開始されます。シリアル転送動作中およびシリアルシフトレジスタ R/W 待機中
の "1" のラインは無視されます。
• "0" の書込みは意味がありません。
• 常に "0" が読み出されます。
[bit7 ∼ bit4] 未定義ビット
リード値は不定です。ライトは動作に影響を与えません。
486
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 20 章 拡張 I/O シリアルインタフェース
20.2 拡張 I/O シリアルインタフェースのレジスタ
[bit3] MODE( シリアルモード選択 )
停止状態からの起動条件を選択します。ただし , 動作中の書換えは禁止です。
MODE
動作
0
STRT=1 にすることにより起動します。
1
シリアルデータレジスタの読出し / 書込みにより起動します。
[ 初期値 ]
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
• μDMAC を起動する際には , "1" にしておいてください。
[bit2] BDS ( 転送方向選択 )
シリアルデータ入出力時に , 最下位ビット側から先に転送するか (LSB ファースト ),
最上位ビット側から先に転送するか (MSB ファースト ) を選択します。
BDS
動作
0
LSB ファースト
1
MSB ファースト
[ 初期値 ]
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
<注意事項>
転送方向の選択は , SDR にデータを書き込む前に , 設定しておいてください。
[bit1] SOE ( シリアル出力許可 )
シリアル I/O 用出力外部端子 (SOT) の出力を制御します。
SOE
動作
0
汎用ポート端子
1
シリアルデータ出力
[ 初期値 ]
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
487
第 20 章 拡張 I/O シリアルインタフェース
20.2 拡張 I/O シリアルインタフェースのレジスタ
MB90330A シリーズ
[bit0] SCOE ( シフトクロック出力許可 )
シフトクロック用入出力外部端子 (SCK1, 2) の出力を制御します。
SCOE
動作
0
汎用ポート端子 , 命令ごと転送時
1
シフトクロック出力端子
[ 初期値 ]
• このリセットにより "0" に初期化されます。
• このビットは , 読出し / 書込みが可能です。
外部シフトクロックモードで命令ごとに転送を行うときは , "0" に設定してください。
488
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 20 章 拡張 I/O シリアルインタフェース
20.2 拡張 I/O シリアルインタフェースのレジスタ
MB90330A シリーズ
20.2.2
シリアルデータレジスタ (SDR)
シリアルデータレジスタ (SDR) の構成および機能について説明します。
■ シリアルデータレジスタ (SDR)
図 20.2-3 に , シリアルデータレジスタ (SDR) のビット構成を示します。
図 20.2-3 シリアルデータレジスタ (SDR) のビット構成
SDR
bit
アドレス : 00005AH
7
6
5
4
3
2
1
D7
(R/W)
D6
(R/W)
D5
(R/W)
D4
(R/W)
D3
(R/W)
D2
(R/W)
D1
(R/W)
0
シリアルデータ
D0 レジスタ
(R/W) 初期値 XXXXXXXXB
R/W : リード・ライト可能
X : 不定
シリアルデータレジスタ (SDR) は , シリアル I/O の転送データを保持するシリアルデー
タレジスタです。
転送中の SDR への書込みおよび読出しは禁止です。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
489
第 20 章 拡張 I/O シリアルインタフェース
20.2 拡張 I/O シリアルインタフェースのレジスタ
MB90330A シリーズ
通信プリスケーラ制御レジスタ (SDCR)
20.2.3
通信プリスケーラ制御レジスタ (SDCR) の構成および機能について説明します。
■ 通信プリスケーラ制御レジスタ (SDCR)
図 20.2-4 に , 通信プリスケーラ制御レジスタ (SDCR) のビット構成を示します。
図 20.2-4 通信プリスケーラ制御レジスタ (SDCR) のビット構成
SDCR
bit
アドレス : 00005BH
15
14
13
12
11
10
9
MD
(R/W)
(-)
(-)
(-)
DIV3
(R/W)
DIV2
(R/W)
DIV1
(R/W)
8
通信プリスケーラ
DIV0 制御レジスタ
(R/W) 初期値 0XXX0000B
R/W : リード・ライト可能
- : 未定義
以下に , 通信プリスケーラ制御レジスタ (SDCR) の各ビットの機能を説明します。
[bit15] MD
通信プリスケーラの動作を許可するビットです。
MD
動作
0
通信プリスケーラは停止します。
1
通信プリスケーラは動作します。
[bit11 ∼ bit8] DIV3 ∼ DIV0:DIVide3 ∼ DIVide0
マシンクロックの分周比を決定します
DIV3 ∼ DIV0
分周比
0000B
1 分周
0001B
2 分周
0010B
3 分周
0011B
4 分周
0100B
5 分周
0101B
6 分周
0110B
7 分周
0111B
8 分周
<注意事項>
分周比を変えた場合には , クロックの安定時間として 2 分周分の時間をおいてから通信を
行ってください。
490
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
20.3
第 20 章 拡張 I/O シリアルインタフェース
20.3 拡張 I/O シリアルインタフェースの動作
拡張 I/O シリアルインタフェースの動作
拡張 I/O シリアルインタフェースは , シリアルモードコントロールステータスレジス
タ (SMCS) およびシリアルデータレジスタ (SDR) によって構成され , 8 ビットのシ
リアルデータの入出力に使用します。
拡張 I/O シリアルインタフェースの動作について説明します。
■ 拡張 I/O シリアルインタフェースの動作概要
シリアルデータの入出力は , 入力 , 出力それぞれが以下のように動作します。
● シリアルデータの入力
シリアルデータレジスタの内容がシリアルシフトクロック ( 外部クロック , 内部クロッ
ク ) の立下りに同期してビット直列にシリアル出力端子 (SOT 端子 ) に出力されます。
● シリアルデータの出力
シリアルシフトクロック ( 外部クロック , 内部クロック ) の立上りに同期してシリアル
入力端子(SIN端子)からビット直列にSDR(シリアルデータレジスタ)に入力されます。
シフトの方向 (MSB からの転送または LSB からの転送 ) は , シリアルモードコントロー
ルステータスレジスタ (SMCS) の方向指定ビット (BDS) により指定できます。
転送が終了すると , シリアルモードコントロールステータスレジスタ (SMCS) の MODE
ビットによって停止状態またはシリアルデータレジスタ R/W 待機状態に入ります。
各々の状態から転送状態に移るには , それぞれ次のことを行います。
• 停止状態から復帰するときは , STOP ビットに "0", STRT ビットに "1" を書き込みま
す (STOP と STRT は同時設定が可能です )。
• シリアルデータレジスタ R/W 待機状態から復帰するときは , データレジスタを読出
しまたは書込みをします。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
491
第 20 章 拡張 I/O シリアルインタフェース
20.3 拡張 I/O シリアルインタフェースの動作
MB90330A シリーズ
シフトクロックモード
20.3.1
シフトクロックには , 内部シフトクロックモードおよび外部シフトクロックモード
の 2 種類があり , SMCS の設定で指定します。モードの切換えは , シリアル I/O が停
止した状態で行ってください。停止状態の確認は , BUSY ビットを読み出すことに
よって可能となります。
■ 内部シフトクロックモード
内部クロックによって動作し , 同期タイミング出力としてデューティ比 50% のシフト
クロックが SCK 端子より出力されます。
データが , 1 クロックごとに 1 ビット転送されます。
転送の速度は , 次式によって算出できます。
A
転送速度 (S)=
内部のクロックマシンサイクル (A)
A は , SMCS の SMD ビットで示す分周比です。
(φ ÷ div)/2, (φ ÷ div)/2 2, (φ ÷ div)/2 4, (φ ÷ div)/2 5, (φ ÷ div)/2 6
■ 外部シフトクロックモード
SCK 端子から入力される外部シフトクロックに同期して , データが 1 クロックごとに
1 ビット転送されます。
転送速度は , DC から 1/(8 マシンサイクル ) まで可能です。例えば , 1 マシンサイクル =62.5 ns のと
き , 2 MHz まで可能です。
命令ごとに転送することもでき , 以下の設定をすることによって実現します。
• 外部シフトクロックモードを選択し , SMCS の SCOE ビットを "0" に設定します。
• SCK端子を共有しているポートの方向レジスタに"1"を書き込み, ポートを出力モー
ドに設定します。
以上の設定をした後 , ポートのデータレジスタ (PDR) に "1", "0" を書き込むと , SCK 端
子に出力されるポートの値を外部クロックとして取り込み , 転送動作を行います。シフ
トクロックは , "H" から開始させてください。
<注意事項>
シリアル I/O 動作中の SMCS.SDR への書込みは禁止です。
492
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
20.3.2
第 20 章 拡張 I/O シリアルインタフェース
20.3 拡張 I/O シリアルインタフェースの動作
シリアル I/O の動作状態
シリアル I/O の動作状態として , STOP 状態 , 停止状態 , SDR の R/W 待機状態およ
び転送状態の 4 種類の状態があります。
■ シリアル I/O の動作状態
● STOP 状態
リセット時または SMCS の STOP ビットに "1" を書き込んだときの状態でシフトカウ
ンタは初期化され , SIR=0 となります。
STOP 状態からの復帰は , STOP=0, STRT=1( 同時設定可 ) とすることによって行われま
す。STOP ビットは STRT ビットより優先ビットですので , STOP=1 のとき STRT=1 と
しても転送動作は行われません。
● 停止状態
MODE ビットが "0" のとき , 転送が終了したことによって SMCS が BUSY=0, SIR=1 と
なり , カウンタが初期化されて停止状態に入ります。停止状態からの復帰は , STRT=1
にすると転送動作が再開されます。
● シリアルデータレジスタ R/W 待機状態
SMCS の MODE ビットが "1" のとき , シリアル転送が終了すると , BUSY=0, SIR=1 と
なりシリアルデータレジスタ R/W 待機状態に入ります。割込み許可レジスタが許可状
態ならば , 本ブロックより割込み信号を出します。
R/W 待機状態からの復帰は , シリアルデータレジスタが読み出されたり , 書き込まれた
りすると , BUSY=1 となり , 転送動作が再開されます。
● 転送状態
BUSY=1 でシリアル転送を行っている状態です。MODE ビットにより , それぞれ停止
状態および R/W 待機状態に遷移します。
図 20.3-1 に各状態の動作遷移図を , 図 20.3-2 にシリアルデータレジスタの読出し / 書込
みの概念図を示します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
493
第 20 章 拡張 I/O シリアルインタフェース
20.3 拡張 I/O シリアルインタフェースの動作
MB90330A シリーズ
図 20.3-1 拡張 I/O シリアルインタフェースの動作遷移図
リセット
停止状態(転送終了)
STOP=0 & STRT=0
STOP=1
STRT=0, BUSY=0
MODE=0
STOP=0
&
STRT=1
MODE=0
&
STOP=0
&
終了
STRT=0, BUSY=0
STOP=1
転送動作
STOP
STOP=0
&
STRT=1
STOP=1
シリアルデータレジスタR/W待機
MODE=1 & 終了& STOP=0
STRT=1, BUSY=1
STRT=1, BUSY=0
MODE=1
SDRのR/W & MODE=1
図 20.3-2 シリアルデータレジスタの読出し / 書込みの概念図
シリアルデータ
SOT
SIN
データバス
データバス
読出し
書込み
読出し
書込み
(1)
割込み出力
拡張I/0
シリアルインタフェース
CPU
(2)
割込み入力
データバス 割込みコントローラ
(1) MODE=1 のとき , シフトクロックカウンタによって転送終了し , SIR=1 となって読
出し / 書込み待機状態に入ります。SIE ビットが "1" ならば , 割込み信号を発生しま
す。ただし , SIE がインアクティブのときや STOP へ "1" を書き込むことによる転送
中断のときは , 割込み信号は発生しません。
(2) シリアルデータレジスタが読出し / 書込みされると , 割込み要求はクリアされ , シリ
アル転送を開始します。
494
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 20 章 拡張 I/O シリアルインタフェース
20.3 拡張 I/O シリアルインタフェースの動作
MB90330A シリーズ
シフト動作のスタート / ストップタイミングと入出力
のタイミング
20.3.3
シフト動作のスタート / ストップタイミングと入出力のタイミングについて説明しま
す。
■ シフト動作のスタート / ストップタイミングと入出力のタイミング
• スタート
SMCS の STOP ビットを "0", STRT ビット "1" に設定します。
• ストップ
転送終了によって停止する場合と , STOP=1 によって停止する場合があります。
- STOP=1 によって停止 : MODE ビットにかかわらず SIR=0 のまま停止します。
- 転送終了で停止 : MODE ビットにかかわらず , SIR=1 となり停止します。
BUSY ビットは , MODE ビットにかかわらずシリアル転送状態の場合 "1" となり , 停止
状態または R/W 待機状態の場合 "0" となります。転送状態を確認するときは , このビッ
トを読み出してください。
以下に , 各モードの動作および停止動作におけるタイミングチャートを示します。図中
の D07 ∼ D00 は , 出力データを示します。
● 内部シフトクロックモード (LSB ファースト )
図 20.3-3 シフト動作のスタート / ストップタイミング ( 内部クロック )
"1"出力
SCK
(転送終了)
(転送スタート)
STRT
MODE=0のとき
BUSY
DO7 (データ保持)
DO0
SOT
● 外部シフトクロックモード (LSB ファースト )
図 20.3-4 シフト動作のスタート / ストップタイミング ( 外部クロック )
SCK
(転送終了)
(転送スタート)
MODE=0のとき
STRT
BUSY
SOT
CM44-10129-6
DO0
DO7 (データ保持)
FUJITSU MICROELECTRONICS LIMITED
495
第 20 章 拡張 I/O シリアルインタフェース
20.3 拡張 I/O シリアルインタフェースの動作
MB90330A シリーズ
● 外部シフトクロックモードで命令シフトを行った場合 (LSB ファースト )
命令シフトでは , PDR の SCK に対応するビットに "1" が書き込まれたとき "H" が出力
され , "0" が書き込まれたとき "L" が出力されます ( ただし , 外部シフトクロックモー
ド選択で , SCOE=0 のとき )。
図 20.3-5 外部シフトクロックモードで命令シフトを行った場合
SCK
PDRのSCKビット"0"
STRT
PDRのSCKビット"1"
PDRのSCKビット"0"
(転送終了)
MODE=0のとき
BUSY
DO7 (データ保持)
DO6
SOT
● STOP=1 による停止 (LSB ファースト , 内部クロック時 )
図 20.3-6 STOP ビットを "1" とした場合のストップタイミング
"1"出力
SCK
STRT
(転送スタート)
(転送終了)
MODE=0のとき
BUSY
STOP
DO3
SOT
DO5 (データ保持)
DO4
■ シリアルデータ転送中の動作
シリアルデータの転送中は , シフトクロックの立下りでシリアル出力端子 (SOT) から
のデータが出力され , 立上りでシリアル入力端子 (SIN) のデータが入力されます。
● LSB ファースト (BDS ビットが "0" のとき )
図 20.3-7 入出力のシフトタイミング (LSB ファースト )
SCK
SIN入力
SIN
DI0
DI1
DI2
DI3
DI4
DI5
DI6
DI7
DO3
DO4
DO5
DO6
DO7
SOT出力
SOT
DO0
DO1
DO2
● MSB ファースト (BDS ビットが "1" のとき )
図 20.3-8 入出力のシフトタイミング (MSB ファースト )
SCK
SIN
SIN入力
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
DO4
DO3
DO2
DO1
DO0
SOT出力
SOT
496
DO7
DO6
DO5
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 20 章 拡張 I/O シリアルインタフェース
20.3 拡張 I/O シリアルインタフェースの動作
MB90330A シリーズ
割込み機能
20.3.4
拡張 I/O シリアルインタフェースは , CPU に対し割込み要求を発生できます。
■ 拡張 I/O シリアルインタフェースの割込み機能
データの転送終了時に割込みフラグである SIR ビットがセットされ , 割込みを許可す
る SMCS の SIE ビットが "1" のとき , CPU へ割込み要求を出力します。
図 20.3-9 に , 割込み信号の出力タイミングを示します。
図 20.3-9 割込み信号の出力タイミング
SCK
(転送終了)
BUSY
SIR
MODE=1のとき
SIE=1
SDRのRD/WR
SOT
CM44-10129-6
DO6
DO7 (データ保持)
FUJITSU MICROELECTRONICS LIMITED
497
第 20 章 拡張 I/O シリアルインタフェース
20.3 拡張 I/O シリアルインタフェースの動作
498
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章
UART
この章では , UART の機能と動作について説明しま
す。
21.1 UART の概要
21.2 UART のブロックダイヤグラム
21.3 UART の端子
21.4 UART のレジスタ
21.5 UART の割込み
21.6 UART のボーレート
21.7 UART の動作説明
21.8 UART 使用上の注意
21.9 UART のプログラム例
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
499
第 21 章 UART
21.1 UART の概要
21.1
MB90330A シリーズ
UART の概要
UART は , 外部装置と同期通信もしくは非同期通信 ( 調歩同期 ) をするための , 汎用
のシリアルデータ通信インタフェースです。通常の双方向通信機能 ( ノーマルモー
ド ) だけではなく , マスタ / スレーブ型通信機能 ( マルチプロセッサモード : マスタ
側だけサポート ) があります。
■ UART の機能
● UART の機能
UART は , 他の CPU や周辺装置とシリアルデータの送受信をする汎用シリアルデータ
通信インタフェースで , 表 21.1-1 に示す機能をもっています。
表 21.1-1 UART の機能
機 能
データバッファ
全二重ダブルバッファ
転送モード
・クロック同期 ( スタート / ストップビットなし )
・クロック非同期 ( 調歩同期 )
ボーレート
・専用ボーレートジェネレータあり
・外部クロック入力可能
データ長
・8 ビット , または 7 ビット ( 非同期ノーマルモード時のみ )
・1 ∼ 8 ビット ( 同期モードのみ )
信号方式
NRZ (Non Return to Zero) 方式
・フレーミングエラー
・オーバランエラー
・パリティエラー ( 動作モード 1 では不可 )
受信エラー検出
・受信割込み ( 受信完了 , 受信エラー検出 )
・送信割込み ( 送信完了 )
・送受信とも拡張インテリジェント I/O サービス
(EI2OS) , μDMAC 転送の対応あり
割込み要求
マスタ / スレーブ型通信機能
( マルチプロセッサモード )
500
1 ( マスタ ) 対 n ( スレーブ ) 間の通信が可能
( マスタとしてのみ使用できます )
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.1 UART の概要
MB90330A シリーズ
<注意事項>
クロック同期転送時にスタートビット / ストップビットは付加されず , データのみ転送さ
れます。
表 21.1-2 UART の動作モード
データ長
同期方式
動作モード
パリティなし
パリティあり
ストップ
ビット長
0
ノーマルモード
1
マルチプロセッサ
モード
8 ビット+ 1 *1
―
非同期
1 ビット
または
2 ビット *2
2
ノーマルモード
1 ∼ 8 ビット
―
同期
なし
7 ビットまたは 8 ビット
非同期
― : 設定不可
*1 : " + 1" は通信制御用に使用されるアドレス / データ選択ビット (A/D) です。
*2 : 受信時のストップビットは 1 ビットのみ検出
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
501
第 21 章 UART
21.2 UART のブロックダイヤグラム
21.2
MB90330A シリーズ
UART のブロックダイヤグラム
UART は , 次のブロックで構成されています。
■ UART のブロックダイヤグラム
図 21.2-1 UART のブロックダイヤグラム
コントロールバス
マシンクロック
ジェネレータ
UARTプリスケーラ
制御レジスタ
(UTCR0~UTCR3)
UARTプリスケーラ
リロードレジスタ
(UTRLR0~UTRLR3)
受信割込み信号
クロックセレクタ
専用ボーレート
端子
送信クロック
送信割込み信号
受信クロック
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート
回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SCK0~SCK3
外部クロック
端子
SOT0~SOT3
送信用
シフトレジスタ
受信用
シフトレジスタ
端子
SIN0~SIN3
受信終了
SIDR0~SIDR3
送信開始
SODR0~SODR3
受信状態判定回路
受信エラー発生信号
(CPUへ)
F2MC-16LXバス
SMR0~
SMR3
レジスタ
502
MD1
MD0
SCKL
M2L2
M2L1
M2L0
SCKE
SOE
SCR0~
SCR3
レジスタ
PEN
P
SBL
CL
A/D
REC
RXE
TXE
FUJITSU MICROELECTRONICS LIMITED
SSR0~
SSR3
レジスタ
PE
ORE
FRE
RDRF
TDRE
BDS
RIE
TIE
CM44-10129-6
MB90330A シリーズ
第 21 章 UART
21.2 UART のブロックダイヤグラム
● クロックセレクタ
専用ボーレートジェネレータ , 外部入力クロックから送受信クロックを選択します。
● 受信制御回路
受信制御回路は , 受信ビットカウンタ , スタートビット検出回路 , および受信パリティ
カウンタで構成されています。受信ビットカウンタは受信データのカウントをして , 設
定したデータ長に応じて, 1データの受信を完了すれば, 受信割込み要求を発生します。
スタートビット検出回路は , シリアル入力信号からスタートビットを検出する回路で ,
スタートビットを検出すると設定された転送速度に応じてシフトしながらシリアル入
力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) にデータを書き込みます。受信パリティカウ
ンタは , 受信データのパリティを計算します。
● 送信制御回路
送信制御回路は , 送信ビットカウンタ , 送信スタート回路 , および送信パリティカウン
タで構成されています。送信ビットカウンタは送信データのカウントをして , 設定した
データ長に応じて , 1 データの送信を完了すれば , 送信割込み要求を発生します。送信
スタート回路は , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) の書込みで送
信動作を開始します。送信パリティカウンタは , パリティありの場合送信するデータの
パリティビットを生成します。
● 受信用シフトレジスタ
SIN0 ∼ SIN3 端子から入力された受信データを , 1 ビットずつビットシフトしながら取
り込み , 受信終了すればシリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に受信
データを転送します。
● 送信用シフトレジスタ
シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込まれたデータを送信用
シフトレジスタに転送し , 1 ビットずつシフトしながら SOT 端子に出力します。
● シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3)
動作モードの選択 , シリアルデータの端子への出力許可 / 禁止 , クロックの端子への出
力許可 / 禁止の設定および , 同期通信モード時に , 1 ∼ 8 ビットの任意の転送数の設定 ,
非動作時のシリアルクロック出力レベル ("L" 固定 , "H" 固定 ) の設定をします。
● シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3)
パリティの有無の設定 , パリティの選択 , ストップビット長の設定 , データ長の設定 ,
モード 1 でのフレームデータ形式の選択 , フラグのクリア , 送信の許可 / 禁止 , 受信の
許可 / 禁止の設定をします。
● シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3)
送受信やエラーの状態の確認と送受信割込み要求の許可 / 禁止の設定をします。
● シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3)
受信データを保持するレジスタです。シリアル入力が変換されてこのレジスタに格納
されます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
503
第 21 章 UART
21.2 UART のブロックダイヤグラム
MB90330A シリーズ
● シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3)
送信データを設定するレジスタです。このレジスタに書き込まれたデータが , シリアル
変換されて出力されます。
● UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3)
通信プリスケーラの起動 / 停止 , UART 強制リセット , クロックソースの選択 , マシン
クロックの分周比を設定します。
● UART プリスケーラリロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3)
マシンクロックの分周比を設定します。
504
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.3 UART の端子
MB90330A シリーズ
21.3
UART の端子
UART の端子を示します。
■ UART の端子
UART の端子は , 汎用ポートと兼用になっています。表 21.3-1 に端子の機能 , 入出力形
式 , および UART 使用時の設定などを示します。
表 21.3-1 UART の端子
端子名
端子機能
入出力形式
プルアップ
選択
スタンバイ
制御
端子の使用に必要な設定
P42/A10/SIN0
P45/A13/SIN1
P90/SIN2
P93/SIN3
ポート 4, 9
入出力 /
シリアル
データ入力
入力ポートに設定
(DDR4 : bit2=0)
(DDR4 : bit5=0)
(DDR9 : bit0=0)
(DDR9 : bit3=0)
P43/A11/SOT0
P46/A14/SOT1
P91/SOT2
P94/SOT3
ポート 4, 9
入出力 /
シリアル
データ出力
出力許可に設定
(SMR0 ∼ SMR3 : SOE=1)
P44/A12/SCK0
P47/A15/SCK1
P92/SCK2
P95/SCK3
CM44-10129-6
CMOS 出力 /
CMOSヒステ
リシス入力
なし
あり
ポート 4, 9
入出力 /
シリアルク
ロック入出力
FUJITSU MICROELECTRONICS LIMITED
クロック入力時
入力ポートに設定
(DDR4 : bit4=0)
(DDR4 : bit7=0)
(DDR9 : bit2=0)
(DDR9 : bit5=0)
クロック出力時出力許可
に設定
(SMR0∼SMR3 : SCKE=1)
505
第 21 章 UART
21.4 UART のレジスタ
21.4
MB90330A シリーズ
UART のレジスタ
UART のレジスタ一覧を示します。
■ UART のレジスタ一覧
図 21.4-1 UART のレジスタ一覧
bit15--------------------------------------bit8 bit7----------------------------------------bit0
ch.0 : 000021H, 20H
ch.1 : 000027H, 26H
ch.2 : 00002DH, 2CH
ch.3 : 000033H, 32H
SCR0~SCR3
( シリアル制御レジスタ 0~3)
SMR0~SMR3
( シリアルモードレジスタ 0~3)
ch.0 : 000023H, 22H
ch.1 : 000029H, 28H
ch.2 : 00002FH, 2EH
ch.3 : 000035H, 34H
SSR0~SSR3
( シリアルステータスレジスタ 0~3)
SIDR0~SIDR3・SODR0~SODR3
( シリアル入力・出力データ
レジスタ 0~3)
ch.0 : 000025H, 24H
ch.1 : 00002BH, 2AH
ch.2 : 000031H, 30H
ch.3 : 000037H, 36H
UTCR0~UTCR3
(UART プリスケーラ制御
レジスタ 0~3)
UTRLR0~UTRLR3
(UART プリスケーラリロード
レジスタ 0~3)
<注意事項>
通信モードの設定は , 動作停止中に行ってください。モード設定時に送受信したデータは
保証されません。
506
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.4 UART のレジスタ
MB90330A シリーズ
シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3)
21.4.1
シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) は , パリティの設定 , ストップビット
長やデータ長の選択 , モード 1 でのフレームデータ形式の選択 , 受信エラーフラグの
クリア , 送受信動作の許可または禁止の設定を行います。
■ シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3)
図 21.4-2 シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3) のビット構成
アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7
ch.0:000021H PEN
ch.1:000027H
ch.2:00002D H R/W
ch.3:000033 H
P
SBL
CL
A/D
REC
RXE
TXE
R/W
R/W
R/W
R/W
W
R/W
R/W
TXE
(SMR0~SMR3)
bit0 初期値
00000100B
1
送信動作許可ビット
送信動作を禁止
送信動作を許可
RXE
0
受信動作許可ビット
受信動作を禁止
0
1
受信動作を許可
REC
受信エラーフラグクリアビット
0
FRE,ORE,PEフラグをクリア
1
変化なし,ほかへの影響なし
A/D
0
1
アドレスフレーム
CL
0
7ビット
1
8ビット
SBL
0
1
P
R/W :リード・ライト可能
W :ライトオンリー
:初期値
CM44-10129-6
アドレス/データ選択ビット
データフレーム
データ長選択ビット
ストップビット長選択ビット
1ビット長
2ビット長
パリティ選択ビット
0
パリティありのとき(PEN=1)のみ有効
偶数パリティ
1
奇数パリティ
パリティ許可ビット
PEN
パリティなし
0
1
パリティあり
FUJITSU MICROELECTRONICS LIMITED
507
第 21 章 UART
21.4 UART のレジスタ
MB90330A シリーズ
表 21.4-1 シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ 3) の各ビットの機能説明
ビット名
パリティビットの付加 ( 送信時 ) と検出 ( 受信時 ) を行うかどうかを
設定します。
( 注意事項 )
動作モード 1, 2 の場合 , パリティビットは付加できません。
必ず "0" に設定してください。
bit15
PEN :
パリティ
許可ビット
bit14
P:
パリティ
選択ビット
パリティビットあり (SCR0 ∼ SCR3 : PEN=1) に設定した場合に , 奇
数パリティか偶数パリティのいずれかに設定します。
bit13
SBL :
ストップ
ビット長
選択ビット
動作モード 0, 1 ( 非同期 ) の場合のストップビット ( 送信データのフ
レームエンドマーク ) のビット長を設定します。
( 注意事項 )
受信時は , 常にストップビットの 1 ビット目だけを検出します。
bit12
CL :
データ長
選択ビット
送受信データのデータ長を指定します。
( 注意事項 )
7 ビットを選択できるのは , 動作モード 0 の場合のみです。動作
モード 1, 2 の場合は , 必ず 8 ビットに設定してください。
bit11
A/D :
アドレス /
データ
選択ビット
・動作モード 1 の場合に , 送受信するフレームのデータ形式を設定
します。
・"0" に設定した場合 : データフレームに設定されます。
・"1" に設定した場合 : アドレスデータのフレームに設定されます。
REC :
受信エラー
フラグ
クリア
ビット
・シ リ ア ル ス テ ー タ ス レ ジ ス タ の 受 信 エ ラ ー フ ラ グ (SSR0 ∼
SSR3:FRE, ORE, PE) を "0" にクリアします。
・"0" に設定した場合 : FRE, ORE, PE フラグがクリアされます。
・"1" に設定した場合 : 影響しません。
・リードした場合 : 常に "1" が読み出されます。
( 注意事項 )
受信割込みを許可に設定していれば (SSR0 ∼ SSR3 : RIE=1) , FRE,
ORE, PE フラグのいずれかが "1" にセットされている場合のみ ,
REC ビットを "0" に設定してください。
RXE :
受信動作
許可ビット
・UART の受信動作を許可または禁止します。
・"0" に設定した場合 : 受信動作が禁止されます。
・"1" に設定した場合 : 受信動作が許可されます。
( 注意事項 )
受信中に受信動作を禁止に設定した場合には , 受信中のデータを
シリアル入力データレジスタに格納した後に受信動作が停止し
ます。
TXE :
送信動作
許可ビット
・UART の送信動作を許可または禁止します。
・"0" に設定した場合 : 送信動作が禁止されます。
・"1" に設定した場合 : 送信動作が許可されます。
( 注意事項 )
送信中に送信動作を禁止に設定した場合は , シリアル出力データ
レジスタのデータの送信が完了した後に送信動作が停止します。
bit10
bit9
bit8
508
機 能
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.4 UART のレジスタ
MB90330A シリーズ
シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3)
21.4.2
シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) は , 動作モードの選択 , シリアル
データとクロックの端子への出力許可または禁止の設定 , および同期通信モード時
に , 1 ∼ 8 ビットの任意の転送数の設定 , 非動作時のシリアルクロック出力レベル
("L" 固定 , "H" 固定 ) の設定を行います。
■ シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3)
図 21.4-3 シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) のビット構成
アドレス
ch.0:000020 H
ch.1:000026 H
ch.2:00002C H
ch.3:000032 H
bit8 bit7 bit6 bit5 bit4 bit3
bit15
(SCR0~SCR3)
MD1 MD0
R/W
SCKL M2L2 M2L1 M2L0 SCKE
R/W
R/W
R/W
R/W
R/W
0
汎用入出力ポートとする
1
UARTのシリアルデータ出力端子とする
R/W
シリアルクロック入出力許可ビット
SCKE
0
汎用入出力ポートまたはUART0/1のクロック入力端子とする
1
UARTのクロック出力端子とする
M2L2~M2L0
同期モード転送数設定ビット
"000B"
転送数8ビット
"001B"
転送数1ビット
"010B"
転送数2ビット
"011B"
転送数3ビット
"100B"
転送数4ビット
"101B"
転送数5ビット
"110B"
転送数6ビット
"111B"
転送数7ビット
シリアルクロック出力レベル設定ビット
SCKL
CM44-10129-6
R/W
SOE
初期値
00100000B
シリアルデータ出力許可ビット
SOE
R/W :リード・ライト可能
:初期値
bit2 bit1 bit0
0
非動作時,シリアルクロック出力"L"レベル
1
非動作時,シリアルクロック出力"H"レベル
動作モード選択ビット
MD1
MD0
0
0
0
非同期(ノーマルモード)
0
1
1
非同期(マルチプロセッサモード)
1
0
2
同期(ノーマルモード)
1
1
-
設定禁止
動作モード
FUJITSU MICROELECTRONICS LIMITED
509
第 21 章 UART
21.4 UART のレジスタ
MB90330A シリーズ
表 21.4-2 シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) の各ビットの機能説明
ビット名
機 能
・動作モードを設定します。
( 注意事項 )
・動作モード 1 では , マスタ・スレーブ型通信のマスタとしてのみ
使用できます。動作モード 1 は 9 ビット目のアドレス / データビッ
トが受信できないのでスレーブとしては使用できません。
・動作モード 1 ではパリティチェック機能は使用できないので , パ
リティ付加許可ビットはパリティなし (SCR0 ∼ SCR3 : PEN=0) に
設定してください。
bit7,
bit6
MD1, MD0 :
動作モード
選択ビット
bit5
・クロック同期モードで通信を行う場合, 非動作時のシリアルクロッ
SCKL :
ク出力レベルを設定します。
シリアルクロック出
・"0" に設定した場合 : シリアルクロック出力は "L" レベルです。
力レベル設定ビット
・"1" に設定した場合 : シリアルクロック出力は "H" レベルです。
・同期通信モード時の転送数を設定します。
・非同期通信モード時は無効です。
・"000B" に設定した場合 : 転送数は 8 ビットです。
・"001B" に設定した場合 : 転送数は 1 ビットです。
bit4
∼
bit2
M2L2 ∼ M2L0 :
・"010B" に設定した場合 : 転送数は 2 ビットです。
同期モード転送数設 ・"011 " に設定した場合 : 転送数は 3 ビットです。
B
定ビット
・"100B" に設定した場合 : 転送数は 4 ビットです。
・"101B" に設定した場合 : 転送数は 5 ビットです。
・"110B" に設定した場合 : 転送数は 6 ビットです。
・"111B" に設定した場合 : 転送数は 7 ビットです。
510
bit1
SCKE :
シリアル
クロック
入出力許可
ビット
・シリアルクロックの入出力を切り換えます。
・"0" に設定した場合 : 汎用入出力ポートまたはシリアルクロック
入力端子に設定されます。
・"1" に設定した場合 : シリアルクロック出力端子に設定されます。
( 注意事項 )
・SCK0 ∼ SCK3 端子をシリアルクロック入力 (SCKE=0) として使用
する場合は , ポート方向レジスタ (DDR) で端子を入力ポートに設
定してください。また , クロック入力ソース選択ビットによって
外部クロックを選択 (UTCR0 ∼ UTCR3 : CKS=1B) してください。
・シリアルクロック出力として使用する場合は , クロック入力
ソース選択ビットを専用ボーレートジェネレータ
(UTCR0 ∼ UTCR3 : CKS=0B) に設定してください。
・SCK0 ∼ SCK3 端子がシリアルクロック出力に設定されている場合
は , 汎用入出力ポートの設定にかかわらずシリアルクロック出力
端子として機能します。
bit0
SOE :
シリアル
データ出力
許可ビット
・シリアルデータの出力を許可または禁止します。
・"0" に設定した場合 : 汎用入出力ポートに設定されます。
・"1" に設定した場合 : シリアルデータ出力端子に設定されます。
・SOT0 ∼ SOT3 端子がシリアルデータ出力に設定されている場合は ,
汎用入出力ポートの設定にかかわらずシリアルデータ出力端子と
して機能します。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.4 UART のレジスタ
MB90330A シリーズ
シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3)
21.4.3
シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3) は , 送受信やエラーの状態の確
認 , 割込みの許可または禁止の設定を行います。
■ シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3)
図 21.4-4 シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3) のビット構成
bit0
アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7
(SIDR0~SIDR3,
ch.0:000023 H PE
ORE FRE RDRF TDRE BDS
RIE TIE
SODR0~SODR3)
ch.1:000029 H
R
R
R
R
R/W
R/W R/W
ch.2:00002F H R
ch.3:000035 H
TIE
初期値
00001000B
送信割込み要求許可ビット
0
送信割込み要求出力を禁止
1
送信割込み要求出力を許可
受信割込み要求許可ビット
RIE
0
受信割込み要求出力を禁止
1
受信割込み要求出力を許可
BDS
0
転送方向選択ビット
LSBファースト(最下位ビットから転送)
1
MSBファースト(最下位ビットから転送)
TDRE
送信データエンプティフラグビット
0
送信データあり(送信データの書込み禁止)
1
送信データなし(送信データの書込み許可)
RDRF
受信データフルフラグビット
0
受信データなし
1
受信データあり
フレーミングエラーフラグビット
FRE
フレーミングエラーなし
0
フレーミングエラーあり
1
ORE
オーバランエラーなし
1
オーバランエラーあり
PE
R/W :リード・ライト可能
R :リードオンリ
:初期値
CM44-10129-6
オーバランエラーフラグビット
0
パリティエラーフラグビット
0
パリティエラーなし
1
パリティエラーあり
FUJITSU MICROELECTRONICS LIMITED
511
第 21 章 UART
21.4 UART のレジスタ
MB90330A シリーズ
表 21.4-3 シリアルステータスレジスタ 0 ∼ 3 (SSR0 ∼ SSR3) の各ビットの機能説明 (1 / 2)
ビット名
512
機 能
bit15
・受信データのパリティエラーを検出します。
・パリティエラーが発生すると "1" がセットされます。
・受信エラーフラグクリアビット (SCR0 ∼ SCR3 : REC) に "0" を書
PE :
き込むとクリアされます。
パリティ
エラーフラグ ・受信割込みが許可されている場合は (SCR0 ∼ SCR3 : RIE=1) , パリ
ビット
ティエラーが発生すると受信割込み要求が発生します。
・パリティエラーフラグビットがセットされた場合は (SSR0∼SSR3:
PE=1) , シリアル入力データレジスタのデータは無効です。
bit14
・受信時のオーバランエラーを検出します。
・オーバランエラーが発生すると "1" がセットされます。
・受信エラーフラグクリアビット (SSR0 ∼ SSR3 : REC) に "0" を書
ORE :
き込むとクリアされます。
オーバラン
・受信割込みが許可されている場合は (SSR0 ∼ SSR3 : RIE=1) , オー
エラーフラグ
バランエラーが発生すると受信割込み要求を発生します。
ビット
・オーバランエラーフラグビットがセットされた場合は (SSR0 ∼
SSR3 : ORE=1) , シリアル入力データレジスタのデータは無効で
す。
bit13
・受信データのフレーミングエラーを検出します。
・フレーミングエラーが発生すると "1" がセットされます。
・受信エラーフラグクリアビット (SCR0 ∼ SCR3: REC) に "0" を書き
FRE :
込むとクリアされます。
フレーミング
エラーフラグ ・受信割込みが許可されている場合は (SSR0∼SSR3: RIE=1) , フレー
ビット
ミングエラーが発生すると受信割込み要求を発生します。
・フレーミングエラーフラグビットがセットされた場合は (SSR0 ∼
SSR3: FRE=1) , シリアル入力データレジスタのデータは無効です。
bit12
・シリアル入力データレジスタの状態を示します。
・シリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) に受信デー
タがロードされると , "1" がセットされます。
RDRF :
・シリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) のデータを
受信データ
読み出すと "0" にクリアされます。
フルフラグ
ビット
・受信割込みが許可されている場合は (SSR0 ∼ SSR3: RIE=1) , 受信
データがシリアル入力データレジスタ (SIDR0 ∼ SIDR3) にロード
されると受信割込み要求を発生します。
bit11
・シリアル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) の状態を
示します。
・シリアル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) に送信デー
タを書き込むと , "0" にクリアされます。
・送信用シフトレジスタにデータがロードされ送信が開始されると
"1" がセットされます。
・送信割込みが許可されている場合は (SSR0 ∼ SSR3: TIE=1) , シリ
アル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) に書き込まれた
データが送信シフトレジスタに転送されると送信割込み要求を発
生します。
TDRE :
送信データ
エンプティ
フラグビット
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.4 UART のレジスタ
MB90330A シリーズ
表 21.4-3 シリアルステータスレジスタ 0 ∼ 3 (SSR0 ∼ SSR3) の各ビットの機能説明 (2 / 2)
ビット名
機 能
bit10
・シリアルデータの転送方向を設定します。
・"0" に設定した場合 : シリアルデータを最下位ビット側から先に転
送します (LSB ファースト ) 。
・"1" に設定した場合 : シリアルデータを最上位ビット側から先に転
BDS :
送します (MSB ファースト ) 。
転送方向選択
(
注意事項
)
ビット
シリアル入力データレジスタへの読出し時およびシリアル出力
データレジスタへの書込み時にデータの上位側と下位側を入れ替
えるため , レジスタへのアクセス完了後に BDS ビットを書き換え
た場合はそのデータは無効になります。
bit9
RIE :
受信割込み
要求許可
ビット
・受信割込みを許可または禁止します。
・"1" に設定した場合 : シリアル入力データレジスタ 0 ∼ 3 に受信
デ ー タ が ロ ー ド さ れ る か (SSR0 ∼ SSR3:
RDRF=1) , 受信エラーが発生すると (SSR0 ∼
SSR3: PE=1, または ORE=1, または FRE=1) ,
受信割込み要求を発生します。
bit8
TIE :
送信割込み
要求許可
ビット
・送信割込みを許可または禁止します。
・"1" に設定した場合 : シリアル出力データレジスタ 0 ∼ 3 に書き込
まれたデータが送信用シフトレジスタに送
信されると (SSR0 ∼ SSR3 : TDRE=1) , 送信割
込み要求を発生します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
513
第 21 章 UART
21.4 UART のレジスタ
21.4.4
MB90330A シリーズ
シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3),
シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3)
シリアル入力データとシリアル出力データレジスタは同一アドレスに配置されてい
ます。リードした場合は , シリアル入力データレジスタとして機能し , ライトした場
合はシリアル出力データレジスタとして機能します。
■ シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3)
図 21.4-5 に , シリアル入力データレジスタのビット構成を示します。
図 21.4-5 シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) のビット構成
アドレス
ch.0 : 000022H
ch.1 : 000028H
ch.2 : 00002EH
ch.3 : 000034H
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
D7
R
D6
R
D5
R
D4
R
D3
R
D2
R
D1
R
D0
R
初期値
XXXXXXXXB
R : リードオンリ
X : 不定
シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) は , シリアルデータ受信用のデー
タバッファレジスタです。
・シリアル入力端子 (SIN0 ∼ SIN3) に送られてきたシリアルデータ信号がシフトレジス
タで変換されて, シリアル入力データレジスタ0∼3(SIDR0∼SIDR3)に格納されます。
・データ長が 7 ビットの場合は , 上位 1 ビット (SIDR0 ∼ SIDR3:D7) は無効データとな
ります。
・受信データが , シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に格納されると ,
受信データフルフラグビット (SSR0 ∼ SSR3:RDRF) が "1" にセットされます。受信割
込みが許可されている場合は (SSR0 ∼ SSR3:RIE=1), 受信割込み要求を発生します。
・シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) は , 受信データフルフラグビッ
ト (SSR0 ∼ SSR3:RDRF) が "1" の状態で読み出してください。受信データフルフラグ
ビット (SSR0 ∼ SSR3:RDRF) は , シリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3)
を読み出すと自動的に "0" にクリアされます。
・受信エラーが発生 (SSR0 ∼ SSR3:PE, ORE, FRE のいずれかが "1") した場合 , シリア
ル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) のデータは無効となります。
514
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.4 UART のレジスタ
MB90330A シリーズ
■ シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3)
図 21.4-6 に , シリアル出力データレジスタのビット構成を示します。
図 21.4-6 シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) のビット構成
アドレス
ch.0 : 000022H
ch.1 : 000028H
ch.2 : 00002EH
ch.3 : 000034H
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
D7
W
D6
W
D5
W
D4
W
D3
W
D2
W
D1
W
D0
W
初期値
XXXXXXXXB
W : ライトオンリ
X : 不定
シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) は , シリアルデータ送信用のデー
タバッファレジスタです。
・送信動作が許可されている場合に (SCR0 ∼ SCR3:TXE=1), 送信するデータをシリア
ル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込むと , 送信データが送信用
シフトレジスタに転送されシリアルデータに変換されて , シリアルデータ出力端子
(SOT0 ∼ SOT3) から送出されます。
・データ長が 7 ビットの場合 , 上位 1 ビット (SODR0 ∼ SODR3:D7) は無効データとな
ります。
・送信データエンプティフラグ (SSR0 ∼ SSR3:TDRE) は , 送信データがシリアル出力
データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込まれると , "0" にクリアされます。
・送信データエンプティフラグ (SSR0 ∼ SSR3:TDRE) は , 送信用シフトレジスタへの転
送が終了すると , "1" にセットされます。
・送信データエンプティフラグ (SSR0 ∼ SSR3:TDRE) が "1" の場合は , 次の送信用デー
タを書き込むことができます。送信割込みが許可されている場合には送信割込みが
発生します。次の送信データの書込みは , 送信データエンプティフラグ (SSR0 ∼
SSR3:TDRE) が "1" の状態で行ってください。
<注意事項>
シリアル出力データレジスタは書込み専用のレジスタで , シリアル入力データレジスタは
読出し専用のレジスタです。2 つのレジスタは同一アドレスに配置されているため書込み
値と読出し値が異なります。したがって , INC/DEC 命令などリードモディファイライト
(RMW) 動作をする命令は使用できません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
515
第 21 章 UART
21.4 UART のレジスタ
21.4.5
MB90330A シリーズ
UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼
UTCR3), UART プリスケーラリロードレジスタ 0 ∼ 3
(UTRLR0 ∼ UTRLR3)
UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3) は , プリスケーラの起動
/ 停止 , 強制リセット , クロックソース選択を設定します。また , UART プリスケー
ラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3) の下位 3 ビットと UART プリスケーラリ
ロードレジスタ (0 ∼ 3) との組合せでマシンクロックの分周比を設定します。
■ UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), UART プリスケーラリ
ロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3)
UART の動作クロックは , マシンクロックを分周することにより得られます。このプリ
スケーラによって , 種々のマシンサイクルに対して一定のボーレートが得られように
設計されています。UTCR0 ∼ UTCR3 のビット構成を図 21.4-7 に示します。
図 21.4-7 UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), UART プリスケーラリロード
レジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3) のビット構成
UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3)
アドレス
ch.0 : 000025H
ch.1 : 00002BH
ch.2 : 000031H
ch.3 : 000037H
bit 15
bit 14
bit 13
MD
R/W
SRST
R/W
CKS
R/W
bit 12
bit 11
bit 10
bit 9
bit 8
予約
R/W
-
D10
R/W
D9
R/W
D8
R/W
初期値
0000-000B
UART プリスケーラリロードレジスタ 0 ∼ 3 (UTRLR0 ∼ UTRLR3)
アドレス
ch.0 : 000024H
ch.1 : 00002AH
ch.2 : 000030H
ch.3 : 000036H
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
D7
R/W
D6
R/W
D5
R/W
D4
R/W
D3
R/W
D2
R/W
D1
R/W
D0
R/W
初期値
00000000B
R/W : リード・ライト可能
: 未定義
[bit15] MD ( プリスケーラ許可ビット )
プリスケーラの動作許可ビットです。
0: プリスケーラは停止します。
1: プリスケーラは動作します。
516
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 21 章 UART
21.4 UART のレジスタ
[bit14] SRST (UART 強制リセットビット )
UART 用内部リセットビットです。強制的に UART をリセットし , 初期状態にしま
す。初期化後は自動的に "0" になります。
0: 状態保持
1: 強制リセット
[bit13] CKS ( クロックソース選択ビット )
クロックソースを選択します。
0: 専用ボーレートジェネレータ
1: 外部クロック
[bit12] 予約 ( 予約ビット )
予約ビットです。
必ず "0" を設定してください。
[bit11] 未定義ビット
リード時の値は不定です。ライトは動作に影響を与えません。
[bit10 ∼ bit0] D10 ∼ D0 ( 基本周期設定ビット )
<非同期モード>
シリアルクロックの 2 サイクル分の周期を決定します。
UART 側でシリアルクロックを 8 分周しますので , ボーレートは以下のようにな
ります。
ボーレート = φ/4n (bps)
φ: マシンクロック n:D10 ∼ D0( 基本周期設定ビット )
ただし , n=1, 2, 3 は設定しないでください。
<クロック同期モード>
ボーレート = 2φ/n(bps)
φ: マシンクロック n:D10 ∼ D0( 基本周期設定ビット )
ただし , n=16 以上 ,
(D1, D0) n は "00B" を設定してください。
<注意事項>
•
基本周期設定ビットの D1, D0(UTRLR0 ∼ UTRLR3 のビット 1, 0) に "01B", "11B" を設
定しますとデューティ比が異なるシリアルクロックを生成しますので , クロック同期
モード時には , D1, D0(UTRLR0 ∼ UTRLR3 のビット 1, 0) を "00B", "11B" に設定して
ください。
•
UTCR0 ∼ UTCR3, UTRLR0 ∼ UTRLR3 へはワード転送命令でアクセスしてください。
•
クロックソースの切換えはプリスケーラの動作を停止 (MD=0, CKS=0) した後 , 切り換
えてください。
•
外部クロック選択モード時にリロード値を変更する場合は , プリスケーラの動作を停
止 (MD=0, CKS=0) した後 , リロード値を変更してください。
•
リロード値 n=1, 2, 3 は設定しないでください。
•
外部クロックによる , 非同期モードの設定はしないでください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
517
第 21 章 UART
21.5 UART の割込み
21.5
MB90330A シリーズ
UART の割込み
UART には , 受信割込みと送信割込みがあり , 次に示す要因で割込み要求を発生させ
ることができます。
• 受信データがシリアル入力データレジスタ 0 ∼ 3 (SIDR0 ∼ SIDR3) にセットされ
た場合 , または受信エラーが発生した場合
• 送信データがシリアル出力データレジスタ 0 ∼ 3 (SODR0 ∼ SODR3) から送信用
シフトレジスタに転送された場合
また , それぞれ拡張インテリジェント I/O サービス (EI2OS), μDMAC にも対応してい
ます。
■ UART の割込み
UART の割込み制御ビットと割込み要因は表 21.5-1 のようになっています。
表 21.5-1 UART の割込み制御ビットと割込み要因
シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3)
送受信
受信
送信
割込み
フラグ
ビット
動作モード
0
1
2
RDRF
○
○
○
受信データをバッファ
(SIDR0 ∼ SIDR3) へ
ロード
ORE
○
○
○
オーバランエラー発生
FRE
○
○
×
フレーミングエラー発生
PE
○
×
×
パリティエラー発生
TDRE
○
○
○
送信バッファ (SODR0 ∼
SODR3) が空
割込み要因
割込み
許可
ビット
割込みフラグのクリア
・受信データの読出し
・リセット
RIE
TIE
・ 受信エラーフラグク
リアビット (SCR0 ∼
SCR3 : REC) への "0"
の書込み
・ リセット
・送信データの書込み
・リセット
○ : 使用ビット
× : 未使用ビット
● 受信割込み
受信割込みが許可されている場合 (SSR0 ∼ SSR3:RIE=1) に , データ受信完了 (SSR0 ∼
SSR3:RDRF=1), オーバランエラー (SSR0 ∼ SSR3:ORE=1), フレーミングエラー (SSR0 ∼
SSR3:FRE=1), パリティエラー (SSR0 ∼ SSR3:PE=1) のいずれかが発生すると受信割込
み要求を発生します。
受信データフルフラグ (SSR0 ∼ SSR3:RDRF) は , シリアル入力データレジスタ 0 ∼ 3
(SIDR0 ∼ SIDR3) を読み出すと , 自動的に "0" にクリアされます。各受信エラーフラグ
(SSR0 ∼ SSR3:PE, ORE, FRE) は受信エラーフラグクリアビット (SCR0 ∼ SCR3:REC)
に "0" を書き込めば , すべて "0" にクリアされます。
受信エラー ( パリティエラー , オーバランエラー , フレーミングエラー ) が発生した場
合は , 必要に応じてエラー処理を行った後 , 受信エラーフラグクリアビット (SCR0 ∼
SCR3:REC) に "0" を書き込んで , 各受信エラーフラグをクリアしてください。
518
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.5 UART の割込み
MB90330A シリーズ
● 送信割込み
送信データがシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) から送信用シフト
レジスタに送信されると , 送信データエンプティフラグビット (SSR0 ∼ SSR3:TDRE) に
"1" がセットされます。送信割込みが許可されている場合は (SSR0 ∼ SSR3:TIE=1), 送
信割込み要求を発生します。
■ UART の割込みと EI2OS および μDMAC
表 21.5-2 UART の割込みと EI2OS および μDMAC
割込み
番号
割込み要因
割込み制御レジスタ
EI2OS
μDMAC
チャネル
番号
ベクタテーブルアドレス
レジスタ名
アドレス
下位
上位
バンク
UART3
受信割込み
#35(23H)
ICR12
0000BCH
FFFF70H
FFFF71H
FFFF72H
◎
10
UART3
送信割込み
#33(21H)
ICR11
0000BBH
FFFF78H
FFFF79H
FFFF7AH
○
11
UART2
受信割込み
#35(23H)
ICR12
0000BCH
FFFF70H
FFFF71H
FFFF72H
◎
10
UART2
送信割込み
#33(21H)
ICR11
0000BBH
FFFF78H
FFFF79H
FFFF7AH
○
11
UART1
受信割込み
#39(27H)
ICR14
0000BEH
FFFF60H
FFFF61H
FFFF62H
◎
12
UART1
送信割込み
#37(25H)
ICR13
0000BDH
FFFF68H
FFFF69H
FFFF6AH
○
13
UART0
受信割込み
#39(27H)
ICR14
0000BEH
FFFF60H
FFFF61H
FFFF62H
◎
12
UART0
送信割込み
#37(25H)
ICR13
0000BDH
FFFF68H
FFFF69H
FFFF6AH
○
13
◎ : 使用可能。UART の受信エラー検出による EI2OS 停止機能付
○ : 使用可能
■ UART の EI2OS 機能
UART は EI2OS 対応の回路を有しています。このため受信 / 送信の各割込みで別々に
EI2OS を起動できます。
● 送受信時
送受信時は , 他の周辺機能の状態に関係なく , EI2OS を使用できます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
519
第 21 章 UART
21.5 UART の割込み
21.5.1
MB90330A シリーズ
受信割込み発生とフラグセットのタイミング
受信時の割込みとしては , 受信完了 (SSR0 ∼ SSR3:RDRF), および受信エラーの発
生 (SSR0 ∼ SSR3:PE, ORE, FRE) があります。
■ 受信割込み発生とフラグセットのタイミング
データを受信する場合は , ストップビットの検出 ( 動作モード 0, 1) または , データの最
終ビット (SIDR0 ∼ SIDR3:D7) の検出 ( 動作モード 2) によって , 受信データがシリアル
入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に格納されます。受信エラーが発生した場
合はエラーフラグ (SSR0 ∼ SSR3:PE, ORE, FRE) がセットされ , 受信データフルフラグ
(SSR0 ∼ SSR3:RDRF) がセットされます。各動作モードともいずれかのエラーフラグ
がセットされた場合は , 受信したシリアル入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3)
受信データは無効です。
● 動作モード 0( 非同期ノーマルモード )
ストップビット検出時に受信データフルフラグ (SSR0 ∼ SSR3:RDRF) にセットされま
す。受信エラーが発生すると , エラーフラグ (SSR0 ∼ SSR3:PE, ORE, FRE) がセットさ
れます。
● 動作モード 1( 非同期マルチプロセッサモード )
ストップビットを検出すると受信データフルフラグビット(SSR0∼SSR3:RDRF)がセッ
トされます。受信エラーが発生すると , エラーフラグ (SSR0 ∼ SSR3:ORE, FRE) がセッ
トされます。パリティエラー (SSR0 ∼ SSR3:PE) は検出できません。
● 動作モード 2( クロック同期ノーマルモード )
受信データの最終ビット (SIDR0 ∼ SIDR3:D7) を検出すると受信データフルフラグビッ
ト (SSR0 ∼ SSR3:RDRF) がセットされます。受信エラーが発生すると , エラーフラグ
(SSR0 ∼ SSR3:ORE) がセットされます。パリティエラー (SSR0 ∼ SSR3:PE), およびフ
レーミングエラー (SSR0 ∼ SSR3:FRE) は検出できません。
図 21.5-1 に , 受信動作とフラグセットのタイミングを示します。
520
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.5 UART の割込み
MB90330A シリーズ
図 21.5-1 受信動作とフラグセットのタイミング
受信データ
(動作モード0)
ST
D0
D1
D5
D6
D7/P
SP
受信データ
(動作モード1)
ST
D0
D1
D6
D7
A/D
SP
D0
D1
D4
D5
D6
D7
受信データ
(動作モード2)
PE,ORE,FRE*
RDRF
受信割込み発生
*
: PEフラグはモード1では使用できません。
PE,FREフラグはモード2では使用できません。
ST : スタートビット
SP : ストップビット
A/D : モード1(マルチプロセッサモード)のアドレス/データ選択ビット
● 受信割込み発生のタイミング
受信割込みが許可されている場合に (SSR0 ∼ SSR3:RIE=1), 受信データフルフラグ
(SSR0 ∼ SSR3:RDRF), パリティエラーフラグ (SSR0 ∼ SSR3:PE), オーバランエラーフ
ラグ (SSR0 ∼ SSR3:ORE), フレーミングエラーフラグ (SSR0 ∼ SSR3:FRE) のいずれか
が "1" にセットされると , 受信割込み要求が発生します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
521
第 21 章 UART
21.5 UART の割込み
MB90330A シリーズ
送信割込み発生とフラグセットのタイミング
21.5.2
送信時の割込みは , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) が空に
なり , 次の送信データの書込みが可能な状態になると発生します。
■ 送信割込み発生とフラグセットのタイミング
送信データエンプティフラグビット (SSR0 ∼ SSR3:TDRE) は , シリアル出力データレ
ジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込まれた送信データが , 送信用シフトレジスタ
に転送され , 次のデータが書込み可能な状態になると "1" にセットされます。シリアル
出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に次の送信データを書き込むと送信デー
タエンプティフラグビット (SSR0 ∼ SSR3:TDRE) は "0" にクリアされます。
図 21.5-2 に送信動作とフラグセットのタイミングについて示します。
図 21.5-2 送信動作とフラグセットのタイミング
[動作モード0,1]
送信割込み発生
送信割込み発生
SODR0~SODR3書込み
TDRE
SOT0~SOT3出力
[動作モード2]
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP SP
A/D
ST
D0
D1
D2
D3
D3
D4
D5
D6
D7
送信割込み発生
送信割込み発生
SODR0~SODR3書込み
TDRE
SOT0~SOT3出力
ST
D0~D7
SP
A/D
522
:
:
:
:
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
スタートビット
データビット
ストップビット
アドレス/データ選択ビット
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 21 章 UART
21.5 UART の割込み
● 送信割込み要求発生のタイミング
送信割込みが許可 (SSR0 ∼ SSR3:TIE=1) されている場合に , 送信データエンプティフ
ラグビット(SSR0∼SSR3:TDRE)が"1"にセットされると送信割込み要求が発生します。
<注意事項>
送信動作中に送信動作を禁止 (SCR0 ∼ SCR3:TXE=0, 動作モード 1 での場合 , 受信動作
を禁止 RXE も含む ) すると , 送信データエンプティフラグビットがセットされ (SSR0 ∼
SSR3:TDRE=1), 送信用シフトレジスタのシフト動作が停止してから UART の通信動作が
禁止されます。
送信が停止する前にシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3)
に書き込まれていた送信データは送信されます。
初期状態で TDRE ビットが "1" のため , 送信割込みを許可 (TIE=1) すると送信完了割込み
が発生します。TDRE ビットはリードオンリビットで , シリアル出力データレジスタ 0 ∼
3(SODR0 ∼ SODR3) に新規データを書き込むしかクリアする方法がありませんので , 送
信割込み許可のタイミングに注意してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
523
第 21 章 UART
21.6 UART のボーレート
21.6
MB90330A シリーズ
UART のボーレート
UART の送受信クロックは , 次のいずれかを選択できます。
• 内部クロック ( リロードカウンタ )
• 外部クロック ( リロードカウンタ )
• 外部クロック (SCK 端子入力のクロック )
■ UART ボーレート選択
ボーレートの選択回路は次のようになっており , ボーレートは次の 3 種類の中から 1 種
類を選択できます。
● 内部クロックの専用ボーレートジェネレータによるボーレート
UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), および UART プリスケー
ラリロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3) の設定で 11 ビットのリロード値を設
定することにより , ボーレートを選択できます。リロードカウンタは , 設定された値で
マシンクロックを分周します。非同期モード , 同期モード時に使用します。
● 外部クロックの専用ボーレートジェネレータによるボーレート
リロードカウンタのクロックソースに外部クロックを使用します。UART プリスケー
ラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), および UART プリスケーラリロードレジス
タ 0 ∼ 3(UTRLR0 ∼ UTRLR3) の設定で 11 ビットのリロード値を設定することにより ,
ボーレートを選択できます。リロードカウンタは , 設定された値で外部クロックを分周
します。非同期モード時に使用します。
● 外部クロック (1 対 1 モード ) によるボーレート
UART のクロック入力端子 (SCK0 ∼ SCK3) から入力されたクロックを , そのままボー
レートとして使用します。同期モードに使用します。
524
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 21 章 UART
21.6 UART のボーレート
UART 内部クロックの専用ボーレートジェネレータ
によるボーレート
21.6.1
UART の転送クロックとして , 専用ボーレートジェネレータを選択した場合の設定
可能なボーレートを示します。
■ 内部クロックの専用ボーレートジェネレータによるボーレート
UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), および UART プリスケー
ラリロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3) で 11 ビットのリロード値を設定する
ことにより , マシンクロックを分周します。
<非同期モード>
ボーレート = φ/4n (bps)
φ: マシンクロック周波数 n:D10 ∼ 0(UTCR0 ∼ UTCR3, UTRLR0 ∼ UTRLR3) の値
ただし , n=1, 2, 3 は設定しないでください。
<同期モード>
ボーレート = 2φ/n (bps)
φ: マシンクロック周波数 n:D10 ∼ 0(UTCR0 ∼ UTCR3, UTRLR0 ∼ UTRLR3) の値
ただし , n=16 以上 (D1, D0) には "00B" を設定してください。
<注意事項>
基本周期設定ビットの D1, D0(UTRLR0 ∼ UTRLR3 のビット 1, 0) に "01B", "10B", "11B"
を設定しますとデューティ比が異なるシリアルクロックを生成しますので , クロック同期
モード時には , D1, D0(UTRLR0 ∼ UTRLR3 のビット 1, 0) を "00B" に設定してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
525
第 21 章 UART
21.6 UART のボーレート
MB90330A シリーズ
外部クロックの専用ボーレートジェネレータによる
ボーレート
21.6.2
UART の転送クロックとして , 外部クロックの専用ボーレートジェネレータを選択
した場合の設定可能なボーレートを示します。非同期モード時に使用します。
■ 外部クロックの専用ボーレートジェネレータによるボーレート
UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3), および UART プリスケー
ラリロードレジスタ 0 ∼ 3(UTRLR0 ∼ UTRLR3) で 11 ビットのリロード値を設定する
ことにより , 外部クロックを分周します。
ボーレートは外部クロックの周波数を f とすると次のようになります。
・UTCR0 ∼ UTCR3:MD=1 に設定した場合
b= f/4n (bps) , f ≦ φ・f/4n
f: 外部クロック周波数
n: D10 ∼ 0 (UTCR0 ∼ UTCR3, UTRLR0 ∼ UTRLR3) の値
b: ボーレート
ただし , n=1, 2, 3 は設定しないでください。
f の最大周波数は 24 MHz です。
<注意事項>
外部クロックにより生成されたボーレートはマシンクロックで同期化されるために , ボー
レートの計算値に誤差が発生します。
526
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
21.6.3
第 21 章 UART
21.6 UART のボーレート
外部クロック (1 対 1 モード ) によるボーレート
UART の転送クロックとして , 外部クロックを選択する場合の設定とボーレートの
計算式を示します。クロック同期モード時に使用します。
■ 外部クロック (1 対 1 モード ) によるボーレート
外部クロック (1 対 1 モード ) によるボーレートを選択するには , 次の 3 つの設定が必
要です。
UART プリスケーラ制御レジスタ 0 ∼ 3(UTCR0 ∼ UTCR3) の MD ビットに "0", CKS
ビットに"1"を書き込んで, 外部クロック(1対1モード)によるボーレートを選択します。
SCK0 ∼ SCK3 端子を入力に設定します (DDR4:bit4=0, bit7=0, DDR9:bit2=0, bit5=0)。
シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3) の SCKE ビットに "0" を書き込んで端
子を外部クロック入力端子とします。
クロック同期モード時に使用します。
● ボーレート計算式
外部クロック(1対1モード)によるボーレートを選択した場合(UTCR0∼UTCR3:MD=0,
CKS=1) のボーレートは , 外部クロックの周波数を f とすると次のようになります。
同期
= f' (bps)
f': 外部クロック周波数
ただし , f' の最大はマシンクロックの 1/8 までです。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
527
第 21 章 UART
21.7 UART の動作説明
21.7
MB90330A シリーズ
UART の動作説明
UART には , 通常の双方向シリアル通信機能 ( 動作モード 0, 動作モード 2) の他に ,
マスタ・スレーブ型接続の通信機能 ( 動作モード 1) があります。
■ UART の動作
● 動作モード
UART は動作モード 0 ∼動作モード 2 の 3 種類があり , 表 21.7-1 に示すように CPU 間
の接続方式やデータ転送方式で選択できます。
表 21.7-1 UART の動作モード
データ長
動作モード
同期方式
パリティなし
ストップビット長
パリティあり
0
ノーマルモード
7 ビットまたは 8 ビット
1
マルチプロセッサ
モード
8 + 1 *1 ビット
―
非同期
2
ノーマルモード
8 ビット
―
同期
非同期
1 ビット
または
2 ビット *2
なし
― : 設定不可
*1 : " + 1" は通信制御用に使用されるアドレス / データ選択ビット (A/D) です。
*2 : 受信時のストップビットは 1 ビットのみ検出可能
<注意事項>
UART の動作モード 1 は , マスタ・スレーブ型接続時のマスタ時だけに使用されます。
● CPU 間接続方式
1 対 1 接続とマスタ・スレーブ型接続のどちらかを選択できます。いずれの方式でも ,
データ長 , パリティ有無 , 同期方式は , すべての CPU 間で統一しておく必要がありま
す。動作モードは次のように選択します。
1 対 1 接続の場合 : 2 つの CPU で動作モード 0, 動作モード 2 のいずれかの同じ方式を
採用する必要があります。非同期方式では動作モード 0 を , 同期方
式では動作モード 2 を選択してください。
マスタ・スレーブ型接続の場合 : 動作モード 1 を設定します。動作モード 1 を選択し
た場合は , マスタとして使用してください。なお , こ
の接続ではパリティなし , データ長 8 ビットに設定
してください。
● 同期方式
非同期方式 ( 調歩同期 ) またはクロック同期方式を選択できます。
528
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 21 章 UART
21.7 UART の動作説明
● 信号方式
NRZ(Non Return to Zero) 形式のデータだけを扱えます。
● 送受信動作の開始
シリアル制御レジスタの送信動作許可ビット (SCR0 ∼ SCR3:TXE) を "1" に設定すると ,
送信動作を開始します。
シリアル制御レジスタの受信動作許可ビット (SCR0 ∼ SCR3:RXE) を "1" に設定すると ,
受信動作を開始します。
● 送受信動作の停止
シリアル制御レジスタの送信動作許可ビット (SCR0 ∼ SCR3:TXE) を "0" に設定すると ,
送信動作を停止します。
シリアル制御レジスタの受信動作許可ビット (SCR0 ∼ SCR3:RXE) を "0" に設定すると ,
受信動作を停止します。
● 送受信中の停止
受信中 ( 受信用シフトレジスタへのデータ入力中 ) に受信動作を禁止 (SCR0 ∼
SCR3:RXE=0) した場合には , 受信中のフレームの受信を完了し , シリアル入力データ
レジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に受信データを格納してから受信動作を停止します。
送信中 ( 送信用シフトレジスタからデータが出力中 ) に送信動作を禁止 (SCR0 ∼
SCR3:TXE=0) した場合は , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) から
送信用シフトレジスタに 1 フレームの転送が完了してから送信動作を停止します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
529
第 21 章 UART
21.7 UART の動作説明
MB90330A シリーズ
非同期モード ( 動作モード 0, 1) 時の動作
21.7.1
UART を動作モード 0( ノーマルモード ), または動作モード 1( マルチプロセッサ
モード ) で使用する場合 , 転送方式は非同期となります。
■ 非同期モード時の動作
● 送受信データフォーマット
送受信は , 必ずスタートビット ("L" レベル ) から始まり , 指定されたデータビット長の
送受信が行われ , ストップビット ("H" レベル ) で終了します。
動作モード 0 では , データ長は 7 ビットまたは 8 ビットを選択します。パリティビット
は , あり / なしの選択ができます。
動作モード 1 では , データ長は 8 ビットに固定されます。パリティビットは付加されま
せん。9 ビット目に , アドレス / データビット (SCR0 ∼ SCR3:A/D) が付加されます。
非同期モードの送受信データフォーマットを図 21.7-1 に示します。
図 21.7-1 送受信データフォーマット ( 動作モード 0, 1)
[動作モード0]
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
SP
Pなし
ST
D0
D1
D2
D3
D4
D5
D6
D7
P
SP
ST
D0
D1
D2
D3
D4
D5
D6
D7
P
SP
ST
D0
D1
D2
D3
D4
D5
D6
SP
ST
D0
D1
D2
D3
D4
D5
D6
SP
データ
8ビット
SP
Pあり
SP
Pなし
ST
D0
D1
D2
D3
D4
D5
D6
P
SP
ST
D0
D1
D2
D3
D4
D5
D6
P
SP
D2
D3
D4
D5
D6
D7
A/D
データ
7ビット
SP
Pあり
[動作モード1]
ST
ST
ST
SP
P
A/D
530
D0
D0
D1
D1
D2
D3
D4
D5
D6
D7
A/D
SP
SP
SP
データ
8ビット
:スタートビット
:ストップビット
:パリティビット
:アドレス/データビット
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 21 章 UART
21.7 UART の動作説明
● 送信動作
・送信データは , 送信データエンプティフラグビット (SSR0 ∼ SSR3:TDRE) に "1" が
セットされている状態で , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に
書き込みます。
・送信データを書込み , シリアル制御レジスタの送信動作許可ビット (SCR0 ∼ SCR3:
TXE) を "1" に設定すると , 送信が開始されます。
・送信データをシリアル出力データレジスタに書き込むと , 送信データエンプティフ
ラグビット (SSR0 ∼ SSR3:TDRE) は , いったん "0" にクリアされます。
・送信データをシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) から送信用シフ
トレジスタに転送すると , 送信データエンプティフラグビット (SSR0 ∼ SSR3:TDRE)
は再度 "1" にセットされます。
・送信割込み許可ビット (SSR0 ∼ SSR3:TIE) を "1" に設定していた場合は , 送信データ
エンプティフラグビット (SSR0 ∼ SSR3:TDRE) が "1" にセットされると , 送信割込み
要求が発生します。割込み処理において , 次の送信データをシリアル出力データレジ
スタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込めます。
● 受信動作
・受信動作は , 受信動作の許可が設定されている場合では (SCR0 ∼ SCR3:RXE=1), 常に
行われます。
・受信データのスタートビットを検出すると , シリアル制御レジスタ 0 ∼ 3(SCR0 ∼
SCR3) に設定しているデータフォーマットに従って , 1 フレームのデータをシリアル
入力データレジスタ 0 ∼ 3(SIDR0 ∼ SIDR3) に受信します。
・1 フレームのデータ受信が完了すると , 受信データフルフラグビット (SSR0 ∼ SSR3:
RDRF) が "1" にセットされます。
・受信データを読み出す場合は , 1 フレームデータの受信完了後に , シリアルステータ
スレジスタ 0 ∼ 3(SSR0 ∼ SSR3) のエラーフラグの状態を確認し , 正常に受信が行わ
れていれば , シリアル入力データレジスタから受信データを読み出してください。受
信エラーが発生している場合は , エラー処理を行ってください
・受信データの読出しを行うと , 受信データフルフラグビット (SSR0 ∼ SSR3:RDRF) は
"0" にクリアされます。
● ストップビット
1 ビットまたは 2 ビット長を選択できます。受信側では , 常に最初の 1 ビットだけを検
出します。
● エラー検出
動作モード 0 では , パリティエラー , オーバランエラー , フレーミングエラーが検出で
きます。
動作モード 1 では , オーバラン , フレーミングエラーが検出できます。パリティエラー
は検出できません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
531
第 21 章 UART
21.7 UART の動作説明
MB90330A シリーズ
● パリティビット
パリティビットの付加は , 動作モード 0 の場合のみ設定できます。パリティ付加許可
ビット (SCR0 ∼ SCR3:PEN) でパリティの有無を , パリティ選択ビット (SCR0 ∼ SCR3:P)
で偶数パリティ / 奇数パリティを設定できます。
動作モード 1, 動作モード 2 では , パリティの付加はできません。
パリティ有効時の送受信データを図 21.7-2 に示します。
図 21.7-2 パリティビット有効時の送受信データ
SIN0~SIN3
SP
ST
1
SOT0~SOT3
1
1
0
0
0
ST
1
SOT0~SOT3
0
0
1
1
0
0
0
1
1
データ
0
0
SP
偶数パリティの送信
(SCR0~SCR3:P=0)
SP
奇数パリティの送信
(SCR0~SCR3:P=1)
1
ST
1
偶数パリティにて受信時
パリティエラー発生
(SCR0~SCR3:P=0)
0
パリティ
ST:スタートビット
SP:ストップビット
(注意事項)
動作モード1,2では,パリティは使用できません。
532
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.7 UART の動作説明
MB90330A シリーズ
21.7.2
同期モード ( 動作モード 2) 時の動作
UART 動作モード 2( ノーマルモード ) で使用する場合 , 転送方式はクロック同期と
なります。
■ 同期モード ( 動作モード 2) 時の動作
● 送受信データフォーマット
同期モードでは , 1 ∼ 8 ビットデータを転送し , スタートビット , ストップビットは付
加されません。図 21.7-3 にクロック同期モード時の送受信データフォーマットを示し
ます。
図 21.7-3 送受信データフォーマット ( 動作モード 2)
シリアルクロックを出力して送信する場合
マークレベル
SCK0~SCK3出力
SOT0~SOT3
(LSB)
1
0
1
1
0
0
1
(MSB)
送信データ
送信データ書込み
TXE
シリアルクロックを入力して送信する場合
マークレベル
SCK0~SCK3出力
SIN0~SIN3
(LSB)
1
0
1
1
0
0
1
(MSB)
受信データ
受信データ書込み
RXE
● クロック供給
クロック同期方式では , 送受信を行うフレームのビット数に等しい数のクロックの供
給が必要になります。
内部クロック ( 専用ボーレートジェネレータ ) を選択している場合は , データを送信す
るとデータ受信用同期クロックが自動的に生成されます。
外部クロックを選択している場合は , シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼
SODR3) に送信データがあること (SSR0 ∼ SSR3:TDRE=0) を確認してから , 正確に 1 バ
イト分のクロックを外部から供給する必要があります。また , 送信前と終了後は , 必ず
マークレベル ("H") にする必要があります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
533
第 21 章 UART
21.7 UART の動作説明
MB90330A シリーズ
● 非動作時のシリアルクロック出力レベルの指定
クロック同期モード時, 非動作時のシリアルクロック出力レベルの設定(SMR:SCKL)が
できます。
図 21.7-4 非動作時のシリアルクロック出力レベルの設定
送信データ書込み
送受信クロック
(SCKL=1)
マークレベル
送受信クロック
(SCKL=0)
RXE,TXE
送信データ
1
0
1
1
0
0
1
0
● エラー検出
オーバランエラーのみ検出できます。パリティエラー, フレーミングエラーは検出でき
ません。
● 初期化
同期モードを使用する場合の , 各制御レジスタの設定値を示します。
[ シリアルモードレジスタ 0 ∼ 3(SMR0 ∼ SMR3)]
MD1, MD0
:"10B"
SCKL
: 非動作時のシリアルクロック出力レベルを "H" にする場合は "1" に
設定
: 非動作時のシリアルクロック出力レベルを "L" にする場合は "0" に
設定
M2L2 ∼ M2L0 : 転送数 8 ビットの場合は , "000B" に設定
: 転送数 7 ビットの場合は , "111B" に設定
: 転送数 6 ビットの場合は , "110B" に設定
: 転送数 5 ビットの場合は , "101B" に設定
: 転送数 4 ビットの場合は , "100B" に設定
: 転送数 3 ビットの場合は , "011B" に設定
: 転送数 2 ビットの場合は , "010B" に設定
: 転送数 1 ビットの場合は , "001B" に設定
SCKE
: 専用ボーレートジェネレータの場合 "1", クロック出力 , 外部クロック
( クロック入力 ) の場合 "0"
SOE
534
: 送信する場合 "1", 受信だけの場合 "0"
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 21 章 UART
21.7 UART の動作説明
[ シリアル制御レジスタ 0 ∼ 3(SCR0 ∼ SCR3)]
PEN
:"0"
P, SBL, A/D
: これらのビットは意味を持ちません。
CL
:"1"(8 ビットデータ )
REC
:"0"( 初期化するため , エラーフラグクリア )
RXE, TXE
: 少なくとも , どちらか一方を "1"
[ シリアルステータスレジスタ 0 ∼ 3(SSR0 ∼ SSR3)]
RIE
: 割込みを使用する場合 "1", 割込みを使用しない場合 "0"
TIE
: 割込みを使用する場合 "1", 割込みを使用しない場合 "0"
● 通信開始
シリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に送信データを書き込むと , 通
信が開始されます。受信のみ行う場合でも通信を開始する場合は , 必ず仮の送信データ
をシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に書き込む必要があります。
● 通信終了
1 フレームのデータ送受信が終了すると , 受信データフルフラグビット (SSR0 ∼
SSR3:RDRF) が "1" にセットされます。データを受信した場合には , オーバランエラー
フラグビット (SSR0 ∼ SSR3:ORE) をチェックし , 通信が正常に行われたかどうかを判
断してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
535
第 21 章 UART
21.7 UART の動作説明
21.7.3
MB90330A シリーズ
双方向通信機能 ( ノーマルモード )
動作モード 0, 2 で , 1 対 1 接続の通常のシリアル双方向通信ができます。同期方式
は , 動作モード 0 の場合は非同期 , 動作モード 2 の場合は同期となります。
■ 双方向通信機能
UART をノーマルモード ( 動作モード 0, 2) で動作させるためには , 図 21.7-5 の設定が
必要です。
図 21.7-5 UART の動作モード 0 の設定
bit15 bit14 bit13 bit12 bit11 bit10 bit9
SCR3~SCR0,
SMR3~SMR30
PEN
P
SBL
CL
モード 0
0
モード 2
SSR3~SSR0,
SIDR3~SIDR0/
SODR3~SODR0
PE
X
X
1
A/D
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
REC RXE TXE MD1 MD0 SCKL M2L2 M2L1 M2L0 SCKE SOE
X
0
0
0
X
0
1
0
ORE FRE RDRF TDRE BDS
RIE
TIE
X
X
X
X
送信データを設定 ( ライト時 ) /
受信データを保持 ( リード時 )
モード 0
X
モード 2
X
: 使用ビット
X : 未使用ビット
1 : "1" を設定
0 : "0" を設定
DDR4
D47 D46 D45 D44 D43 D42 D41 D40
DDR9
D96 D95 D94 D93 D92 D91 D90
: 端子の入力を使用する場合 "0" を設定
● CPU 間接続
図 21.7-6 に示すように , 2 つの CPU を相互に接続します。
図 21.7-6 UART の双方向通信の接続例
SOT
SOT
SIN
SIN
SCK
出力
入力
CPU-1
536
SCK
CPU-2
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.7 UART の動作説明
MB90330A シリーズ
● 通信手順
通信は , 送信データが準備できたときに任意のタイミングで送信側から開始します。送
信側はシリアル出力データレジスタ 0 ∼ 3(SODR0 ∼ SODR3) に送信データを設定し ,
シリアル制御レジスタの送信動作許可ビット (SCR0 ∼ SCR3:TXE) を "1" に設定して ,
送信を開始してください。
正常に受信したことを送信側に示すために , 受信データを送信側に転送する例を
図 21.7-7 に示します。受信側で送信データを受け取ると定期的に , ANS( 例では 1 バイ
トごと ) を返します。
図 21.7-7 双方向通信フローの例
(送信側)
(受信側)
開始
開始
動作モード設定
(0,2いずれか)
動作モード設定
(送信側と合わす)
SODRに1バイトデータを
セットして通信
データ送信
受信データあり
NO
YES
NO
受信データあり
受信データ読出しと処理
YES
データ送信
受信データ読出しと処理
CM44-10129-6
(ANS)
1バイトデータ送信
FUJITSU MICROELECTRONICS LIMITED
537
第 21 章 UART
21.7 UART の動作説明
MB90330A シリーズ
マスタ / スレーブ型通信機能 ( マルチプロセッサ
モード )
21.7.4
動作モード 1 では , 複数 CPU のマスタ / スレーブ型接続による通信が可能です。た
だし , マスタとしてのみ使用できます。
■ マスタ / スレーブ型通信機能
UART をマルチプロセッサモード ( 動作モード 1) で動作させるためには , 図 21.7-8 の
設定が必要です。
図 21.7-8 UART の動作モード 1 の設定
bit15 bit14 bit13 bit12 bit11 bit10 bit9
SCR3~SCR0,
SMR3~SMR0
SSR3~SSR0,
SIDR3~SIDR0/
SODR3~SODR0
PEN
P
0
X
PE
SBL
CL
bit8 bit7
bit6 bit5
bit4 bit3
bit2 bit1
bit0
A/D REC RXE TXE MD1 MD0 SCKL M2L2 M2L1 M2L0 SCKE SOE
1
0
ORE FRE RDRF TDRE BDS
0
RIE
1
X
X
X
X
送信データを設定 ( ライト時 ) /
受信データを保持 ( リード時 )
TIE
X
: 使用ビット
X : 未使用ビット
1 : "1" を設定
0 : "0" を設定
DDR4
D47 D46 D45 D44 D43 D42 D41 D40
DDR9
D96 D95 D94 D93 D92 D91 D90
: 端子の入力を使用する場合 "0" を設定
● CPU 間接続
図 21.7-9 に示すように , 2 本の共通通信ラインに 1 つのマスタ CPU と , 複数のスレー
ブ CPU を接続して , 通信システムを構成します。UART はマスタ CPU としてのみ使用
できます。
図 21.7-9 UART のマスタ・スレーブ型通信の接続例
SOT0~SOT3
SIN0~SIN3
マスタCPU
SOT
SIN
スレーブCPU #0
538
SOT
SIN
スレーブCPU #1
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.7 UART の動作説明
MB90330A シリーズ
● 機能選択
マスタ / スレーブ型通信では , 表 21.7-2 のように , 動作モードとデータ転送方式を選択
してください。動作モード 1 では , パリティチェック機能は使用できないので , パリ
ティ許可ビット (SCR0 ∼ SCR3:PEN) は "0" に設定してください。
表 21.7-2 マスタ / スレーブ型通信機能の選択
動作モード
データ
マスタ CPU
パリティ
同期方式
ストップ
ビット
なし
非同期
1 ビット
または
2 ビット
スレーブ CPU
AD= 1
+
8 ビット
アドレス
アドレス
送受信
モード 1
―
AD= 0
+
8 ビット
データ
データ
送受信
● 通信手順
通信はマスタ CPU がアドレスデータを送信することで始まります。アドレスデータと
は , AD ビットを "1" としたデータで , 通信先となるスレーブ CPU を選択します。各ス
レーブ CPU はプログラムでアドレスデータを判断し , 割り当てられたアドレスと一致
する場合 , マスタ CPU との通信 ( 通常データ ) をします。
図 21.7-10 に , マスタ / スレーブ型通信 ( マルチプロセッサモード ) のフローチャート
を示します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
539
第 21 章 UART
21.7 UART の動作説明
MB90330A シリーズ
図 21.7-10 マスタ / スレーブ型通信フローチャート
(マスタCPU)
開始
動作モードを1とする
SIN端子をシリアルデータ
入力に設定
D0~D7にスレーブ
CPUを選択する1バイト
データ(アドレスデータ)
をセットして送信(AD=1)
ADに"0"をセット
受信動作許可
スレーブCPUと通信
通信終了?
NO
YES
ほかの
スレーブCPU
と通信
NO
YES
受信動作禁止
終了
540
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
21.8
第 21 章 UART
21.8 UART 使用上の注意
UART 使用上の注意
UART を使用する場合は以下の点に注意してください。
■ UART 使用上の注意
● 送受信の動作許可
・ 送信 , 受信のそれぞれに対して送信動作許可ビット (SCR0 ∼ SCR3:TXE), 受信動作許
可ビット (SCR0 ∼ SCR3:RXE) があります。
・ リセット後の初期状態では , 送受信とも動作禁止に設定 (SCR0 ∼ SCR3:TXE=0,
RXE=0) されているので , 送受信を行う前に動作を許可する必要があります。
・ 送受信動作を禁止 (SCR0 ∼ SCR3:TXE=0, RXE=0) して , 送受信を中止できます。
● 動作モードの設定について
動作モードは , 送受信動作を禁止 (SCR0 ∼ SCR3:TXE=0, RXE=0) してから , 設定して
ください。送受信中に動作モードを切り換えた場合 , 送受信されたデータは保証されま
せん。
● クロック同期モードについて
動作モード 2 は , クロック同期方式として設定されます。送受信データにスタートビッ
ト , ストップビットは付加されません。
● 送信割込み許可のタイミング
送信データエンプティフラグビット(SSR0∼SSR3:TDRE)は, リセット後の初期値が"1"
( 送信データなし , 送信データ書込み許可 ) にセットされているので , 送信割込みを許
可 (SSR0 ∼ SSR3:TIE=1) したと同時に , 送信割込み要求が発生します。必ず送信デー
タを準備してから , 送信割込みを許可 (SSR0 ∼ SSR3:TIE=1) してください。
● マルチプロセッサモードの受信
マルチプロセッサモードにおいては , 9 ビット受信での受信動作はできません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
541
第 21 章 UART
21.9 UART のプログラム例
21.9
MB90330A シリーズ
UART のプログラム例
UART のプログラム例を示します。
■ UART のプログラム例
● 処理仕様
UART の双方向通信機能 ( ノーマルモード ) を使用して , シリアル送受信をします。
動作モード 0, 非同期 , データ長 8 ビット , ストップビット長 2 ビット , パリティなしと
します。
通信には , P42/A10/SIN0, P43/A11/SOT0 端子を使用します。
専用ボーレートジェネレータを使用し , ボーレートの設定は , 約 9600bps にします。
SOT0 端子からキャラクタ "13H" を送出し , 割込みで受信します。
マシンクロック (φ) は , 16 MHz とします。
● コーディング例
ICR14
EQU
0000BEH
; UART 送受信割込み用制御レジスタ
DDR4
EQU
000014H
; ポート 4 方向レジスタ
SMR0
EQU
000020H
; シリアルモードレジスタ 0
SCR0
EQU
000021H
; シリアル制御レジスタ 0
SIDR0
EQU
000022H
; シリアル入力データレジスタ 0
SODR0
EQU
000022H
; シリアル出力データレジスタ 0
SSR0
EQU
000023H
; シリアルステータスレジスタ 0
UTCR0
EQU
000025H
; UART プリスケーラ制御レジスタ 0
UTRLR0
EQU
000024H
; UARTプリスケーラリロードレジスタ0
REC
EQU
SCR:2
; 受信エラーフラグクリアビット
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
ABS = 0FFH
START:
;
; スタックポインタ (SP) などは初期化
:
済みとする
AND
CCR, #0BFH
; 割込み禁止
MOV
I:ICR14, #00H
; 割込みレベル 0( 最強 )
MOV
I:DDR4, #00000000B
; SIN0 端子を入力に設定
MOV
I:SMR0, #00000001B
; 動作モード 0( 非同期 )
; クロック出力禁止 , データ出力許可
MOVW
I:UTRL0, #81A0H
; 専用ボーレートジェネレータ使用
(9615bps 選択 )
542
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 21 章 UART
21.9 UART のプログラム例
MB90330A シリーズ
MOV
I:SCR0, #00110011B
; パリティなし, ストップビット2ビット
; データ長 8 ビット , 受信エラーフラグク
リア
; 送受信動作許可
LOOP:
MOV
I:SSR0, #00000010B
; 送信割込み禁止 , 受信割込み許可
MOV
I:SODR0, #13H
; 送信データ書込み
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
OR
CCR, #40H
; 割込み許可
MOV
A, #00H
; 無限ループ
MOV
A, #01H
BRA
LOOP
;---------- 割込みプログラム -----------------------------------------------------------WARI:
MOV
A, SIDR0
; 受信データの読出し
CLRB
I:REC
; 受信割込み要求フラグをクリア
;
:
;
ユーザ処理
;
:
; 割込みから復帰
RETI
CODE
ENDS
;---------- ベクタ設定 -----------------------------------------------------------------VECT
VECT
CM44-10129-6
CSEG
ABS=0FFH
ORG
0FF60H
DSL
WARI
ORG
0FFDCH
DSL
START
DB
00H
; 割込み #39(27H) にベクタを設定
; リセットベクタ設定
; シングルチップモードに設定
ENDS
FUJITSU MICROELECTRONICS LIMITED
543
第 21 章 UART
21.9 UART のプログラム例
544
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 22 章
I2C インタフェース
この章では , I2C インタフェースの概要 , レジスタ
の構成 / 機能および I2C インタフェースの動作につ
いて説明します。
22.1 I2C インタフェースの概要
22.2 I2C インタフェースのレジスタ
22.3 I2C インタフェースの動作
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
545
第 22 章 I2C インタフェース
22.1 I2C インタフェースの概要
22.1
MB90330A シリーズ
I2C インタフェースの概要
I2C インタフェースは , Inter IC BUS をサポートするシリアル I/O ポートです。I2C
バス上のマスタ / スレーブデバイスとして動作します。
■ I2C インタフェースの機能
I2C インタフェースは , 以下の機能をもっています。
• マスタ / スレーブ送受信
• アービトレーション機能
• クロック同期化機能
• スレーブアドレス / ゼネラルコールアドレス検出機能
• 転送方向検出機能
• スタートコンディションの繰返し発生および検出機能
• バスエラー検出機能
546
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 22 章 I2C インタフェース
22.1 I2C インタフェースの概要
MB90330A シリーズ
■ I2C インタフェースのブロックダイヤグラム
図 22.1-1 に , I2C インタフェースのブロックダイヤグラムを示します。
図 22.1-1 I2C インタフェースのブロックダイヤグラム
ICCR
I2Cイネーブル
EN
クロック分周1
5
ICCR
CS4
6
7
周辺クロック
8
クロック選択1
CS3
クロック分周2
CS2
2 4 8 16 32
CS1
CS0
64
128
256
Sync
クロック選択2
シフトクロック
エッジ変化
タイミング
IBSR
BB
RSC
LRB
F2MC-16LXバス
TRX
シフトクロック発生
バスビジー
リピート
スタート
Lastビット
スタート・ストップ
コンディション検出
エラー
送/受
First Byte
FBT
AL
アービトレーションロスト検出
IBCR
SCL0~
SCL2
BER
BEIE
割込み要求
INTE
IRQ #17,19,21
SDA0~
SDA2
INT
IBCR
SCC
MSS
ACK
GCAA
終了
スタート
マスタ
ACK許可
スタート・ストップ
コンディション発生
GC-ACK許可
IDAR
IBSR
AAS
GCA
スレーブ
グローバル
コール
スレーブアドレス
比較
IADR
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
547
第 22 章 I2C インタフェース
22.2 I2C インタフェースのレジスタ
22.2
MB90330A シリーズ
I2C インタフェースのレジスタ
I2C インタフェースで使用するレジスタの構成および機能について説明します。
■ I2C インタフェースのレジスタ一覧
図 22.2-1 I2C インタフェースのレジスタ一覧
bit
ch.0 : 000070H
ch.1 : 000076H
ch.2 : 00007CH
bit
ch.0 : 000071H
ch.1 : 000077H
ch.2 : 00007DH
bit
ch.0 : 000072H
ch.1 : 000078H
ch.2 : 00007EH
bit
ch.0 : 000073H
ch.1 : 000079H
ch.2 : 00007FH
bit
ch.0 : 000074H
ch.1 : 00007AH
ch.2 : 000080H
548
7
6
5
4
3
2
1
0
IBSR0 ~ IBSR2
BB
RSC
AL
LRB
TRX
AAS
GCA
FBT
R
R
R
R
R
R
R
R
読出し / 書込み
15
14
13
12
11
10
9
8
IBCR0 ~ IBCR2
I2C バスステータス
レジスタ
初期値 00000000B
BER
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
I2C バスコントロール
レジスタ
初期値 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み
7
6
5
4
3
2
1
0
ICCR0 ~ ICCR2
-
-
EN
CS4
CS3
CS2
CS1
CS0
I2C クロックコントロール
レジスタ
初期値 --0XXXXXB
-
-
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み
7
14
13
12
11
10
9
8
IADR0 ~ IADR2
-
A6
A5
A4
A3
A2
A1
A0
I2C バスアドレスレジスタ
初期値 -XXXXXXXB
-
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み
7
6
5
4
3
2
1
0
IDAR0 ~ IDAR2
D7
D6
D5
D4
D3
D2
D1
D0
I2C バスデータレジスタ
初期値 XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
FUJITSU MICROELECTRONICS LIMITED
読出し / 書込み
CM44-10129-6
第 22 章 I2C インタフェース
22.2 I C インタフェースのレジスタ
MB90330A シリーズ
2
I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2)
22.2.1
I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) の構成および機能について説
明します。
■ I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2)
図 22.2-2 に , I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) のビット構成を示し
ます。
図 22.2-2 I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) のビット構成
bit
ch.0 : 000070H
ch.1 : 000076H
ch.2 : 00007CH
7
6
5
4
3
2
1
0
BB
RSC
AL
LRB
TRX
AAS
GCA
FBT
R
R
R
R
R
R
R
R
IBSR0 ~ IBSR2
I2C バスステータス
レジスタ
初期値 00000000B
読出し / 書込み
以下に , I2C バスステータスレジスタ 0 ∼ 2(IBSR0 ∼ IBSR2) の各ビットの機能を説明
します。
[bit7] BB: Bus Busy
I2C バスの状態を示すビットです。
0
ストップコンディションを検出した。
1
スタートコンディションを検出した ( バスは使用されている )。
[bit6] RSC :Repeated Start Condition
繰返しスタートコンディション検出ビットです。
0
繰返しスタートコンディションが検出されていない。
1
バス使用中に , スタートコンディションを検出した。
INT ビットへの "0" 書込み , スレーブ時にアドレスされなかった場合 , バス停止中のス
タートコンディション検出またはストップコンディション検出でクリアされます。
[bit5] AL :Arbitration Lost
アービトレーションロスト検出ビットです。
0
アービトレーションロスト検出されていない。
1
マスタ送信中にアービトレーションロストが発生 , またはほかのシ
ステムがバスを使用中 , MSS ビットに "1" を書き込んだ。
INT ビットへの "0" 書込みによってクリアされます。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
549
第 22 章 I2C インタフェース
22.2 I2C インタフェースのレジスタ
MB90330A シリーズ
[bit4] LRB :Last Recieved Bit
アクノリッジ格納ビットです。受信側からのアクノリッジを格納します。
0
受信を確認した。
1
送信が確認されない。
スタートコンディションまたはストップコンディションの検出によってクリアさ
れます。
[bit3] TRX :Transfer/Recieve
データ転送の送受信を示すビットです。
0
受信状態。
1
送信状態。
[bit2] AAS :Addressed As Slave
アドレッシング検出ビットです。
0
スレーブ時に , アドレッシングされていない。
1
スレーブ時に , アドレッシングされた。
スタートコンディションまたはストップコンディションの検出でクリアされます。
[bit1] GCA :General Call Address
ゼネラルコールアドレス (00H) 検出ビットです。
0
スレーブ時に , ゼネラルコールアドレスは受信されていない。
1
スレーブ時に , ゼネラルコールアドレスを受信した。
スタートコンディションまたはストップコンディションの検出でクリアされます。
[bit0] FBT:First Byte Transfer
第 1 バイト検出ビットです。
0
受信データは第 1 バイト以外である。
1
受信データが第 1 バイト ( アドレスデータ ) である。
スタートコンディションの検出で "1" にセットされても , INT ビットの "0" 書込みまた
はスレーブ時にアドレスされなかった場合にクリアされます。
550
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 22 章 I2C インタフェース
22.2 I C インタフェースのレジスタ
MB90330A シリーズ
2
I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼
IBCR2)
22.2.2
I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) の構成および機能について
説明します。
■ I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2)
図 22.2-3に, バスコントロールレジスタ0∼2(IBCR0∼IBCR2)のビット構成を示します。
図 22.2-3 I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) のビット構成
bit
ch.0 : 000071H
ch.1 : 000077H
ch.2 : 00007DH
15
14
13
12
11
10
9
8
IBCR0 ~IBCR 2
BER
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
I2C バスコントロール
レジスタ
初期値 00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み
以下に , バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) の各ビットの機能を説明し
ます。
[bit15] BER: Bus Error
バスエラー割込み要求フラグです。書込み時と読出し時で機能が異なります。
( 書込み時 )
0
バスエラー割込み要求フラグをクリアする。
1
動作に影響を与えません。
( 読出し時 )
0
バスエラーは検出されていない。
1
データ転送中に, 不正なスタート, ストップコンディションを検出し
た。
BER ビットがセットされた場合 , ICCR の EN ビットはクリアされて I2C インタフェー
スは停止状態になり , データ転送は中断されます。
[bit14] BEIE :Bus Error Interrupt Enable
バスエラー割込み許可ビットです。
0
バスエラー割込み禁止。
1
バスエラー割込み許可。
"1" のとき BER ビットが "1" ならば , 割込みを発生します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
551
第 22 章 I2C インタフェース
22.2 I2C インタフェースのレジスタ
MB90330A シリーズ
[bit13] SCC :Start Condition Continue
スタートコンディション発生ビットです。
( 書込み時 )
0
動作に影響を与えません。
1
マスタ転送時に再びスタートコンディションを発生させる。
読出し値は , 常に "0" です。
[bit12] MSS :Master Slave Select
マスタ / スレーブの選択ビットです。
0
ストップコンディションを発生し , 転送終了後スレーブモードとな
る。
1
マスタモードとなり , スタートコンディションを発生し転送を開始
する。
マスタ送信中にアービトレーションロストが発生した場合にクリアされ , スレーブ
モードになります。
< 注意事項 >
下記の条件で使用する場合 , スレーブとして受信できませんのでゼネラルコールアド
レスの送信は禁止です。
・本 LSI のほかにマスタモードとなるほかの LSI がバス上に存在し , 本 LSI がマスタと
してゼネラルコールアドレスを送信し , 第 2 バイト目以降でアービトレーションロス
トが発生する場合
[bit11] ACK :Acknowledge
データを受信した場合のアクノリッジ発生許可ビットです。
0
アクノリッジ発生禁止。
1
アクノリッジ発生許可。
スレーブにおけるアドレスデータ受信時には , 無効となります。
[bit10] GCAA :General Call Address Acknowledge
ゼネラルコールアドレスを受信した場合のアクノリッジ発生許可ビットです。
552
0
アクノリッジ発生禁止。
1
アクノリッジ発生許可。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 22 章 I2C インタフェース
22.2 I C インタフェースのレジスタ
2
[bit9] INTE :INTerrupt Enable
割込み許可ビットです。
0
割込み禁止。
1
割込み許可。
"1" のとき INT ビットが "1" ならば , 割込みを発生します。
[bit8] INT :INTerrupt
転送終了割込み要求フラグビットです。
( 書込み時 )
0
転送終了割込み要求フラグをクリアする。
1
動作に影響を与えません。
( 読出し時 )
0
転送が終了していない。
1
アクノリッジビットを含めた 1 バイト転送が終了したときに , 次の条
件に該当する場合にセット
・バスマスタである。
・アドレスされたスレーブである。
・ゼネラルコールアドレスを受信した。
・アービトレーションロストを発生した。
・ほかのシステムがバス使用中にスタートコンディションを発生しよ
うとした。
"1" のとき , SCL ラインは "L" レベルに保たれます。"0" を書き込むことによってクリ
アされ , SCL ラインを開放して次バイトの転送を行います。また , マスタ時にスタート
コンディションまたはストップコンディションの発生によって "0" にリセットされま
す。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
553
第 22 章 I2C インタフェース
22.2 I2C インタフェースのレジスタ
MB90330A シリーズ
<注意事項>
図 22.2-4 と図 22.2-5 に示したタイミングで , スタートコンディションを発生させる命令
を実行 (MSS ビットに "1" を設定 ) すると , アービトレーションロスト検出 (AL ビット =1)
による割込み (INT ビット =1) が発生しません。
・AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 1
スタートコンディション未検出 (BB ビット =0) 状態で , SDA 端子または SCL 端子レベ
ルが "L" のときに , スタートコンディションを発生させる命令を実行 (IBCR レジスタの
MSS ビットに "1" を設定 ) した場合。
図 22.2-4 AL ビット =1 検出による割込みが発生しないタイミング図
SCL端子またはSDA端子が"L"レベル
"L"
SCL端子
"L"
SDA端子
1
I2C動作許可状態(ENビット=1)
マスタモード設定(MSSビット=1)
アービトレーションロスト検出(ALビット=1)
バスビジー(BBビット)
0
割込み(INTビット)
0
・AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 2
ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (EN ビット =1) してス
タートコンディションを発生させる命令を実行 (IBCR レジスタの MSS ビットに "1" を
設定 ) した場合。
図 22.2-5 に示したとおり , I2C が動作禁止 (EN ビット =0) の状態で , I2C バス上のほか
のマスタが通信を開始すると , スタートコンディション未検出 (BB ビット =0) で I2C バ
スが占有されている状態になるためです。
554
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 22 章 I2C インタフェース
22.2 I C インタフェースのレジスタ
MB90330A シリーズ
2
図 22.2-5 AL ビット =1 検出による割込みが発生しないタイミング図
9クロック目でINTビット
割込みが発生しない
Start Condition
Stop Condition
SCL端子
SDA端子
SLAVE ADDRESS
ACK
DATA
ACK
ENビット
MSSビット
ALビット
BBビット
0
INTビット
0
上記のような現象が発生する可能性がある場合には , 以下の手順でソフト処理をお願いし
ます。
1) スタートコンディションを発生させる命令を実行 (MSS ビットに "1" を設定 )。
2) タイマ機能などを用いて , ICCR レジスタに設定されている I2C 転送周波数での
3 ビットデータ送信時間を待つ。*
例 : I2C 転送周波数 100 kHz の場合
3 ビットデータ送信時間 {1/(100 × 103)} × 3=30 μs
3) IBSR レジスタの AL ビットと BB ビットを確認し , AL ビット =1, BB ビット =0
の場合には , ICCR レジスタの EN ビットを "0" にして I2C を初期化する。AL
ビットと BB ビットがその他の状態のときは通常処理を行う。
以下にフロー例を示します。
マスタモード設定
バス制御レジスタ(IBCR)のMSSビットに"1"を設定
クロック制御レジスタ(ICCR)に設定されている
I2C転送周波数での3ビットデータ送信時間待ち*
BBビット=0でかつALビット=1
NO
YES
ENビットを0にしてI2Cの初期化
通常処理へ
* : アービトレーションロストが検出された場合 , MSS ビット =1 設定後 I2C 転送周波数
での 3 ビットデータ送信時間後には確実に AL ビット =1 となります。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
555
第 22 章 I2C インタフェース
22.2 I2C インタフェースのレジスタ
MB90330A シリーズ
・AL ビット =1 検出による割込み (INT ビット =1) が発生する例
バスビジー検出 (BB ビット =1) されている状態で , スタートコンディションを発生させる
命令を実行 (MSS ビットに "1" を設定 ) しアービトレーションロストした場合には , AL
ビット =1 検出時に INT ビット割込みが発生します。
図 22.2-6 AL ビット =1 時に割込みが発生するタイミング図
9クロック目で割込み
Start Condition
SCL端子
SDA端子
SLAVE ADDRESS
ACK
DATA
ENビット
MSSビット
ソフトでのALビットクリア
ALビット
BBビット
ソフトでのINTビット
クリアでSCL開放
INTビット
■ I2C バスコントロールレジスタ 0 ∼ 2(IBCR0 ∼ IBCR2) 使用上の注意
SCC, MSS, INT ビットの競合について , 以下の注意が必要です。
SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , スタートコンディション発
生およびストップコンディション発生の競合が起こります。この場合の優先度は , 次の
ようになります。
● 次のバイト転送とストップコンディション発生
INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの "0" 書込みが優先さ
れ , ストップコンディションが発生します。
● 次のバイト転送とスタートコンディション発生
INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの "1" 書込みが優先され ,
スタートコンディションが発生します。
● スタートコンディション発生とストップコンディション発生
SCC ビットに "1", MSS ビットに "0" の同時書込みは , 禁止です。
556
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 22 章 I2C インタフェース
22.2 I C インタフェースのレジスタ
MB90330A シリーズ
2
I2C バスクロックコントロールレジスタ 0 ∼ 2
(ICCR0 ∼ ICCR2)
22.2.3
I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) の構成および機能
について説明します。
■ I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2)
図 22.2-7 に , I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) のビット
構成を示します。
図 22.2-7 I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) のビット構成
bit
ch.0 : 000072H
ch.1 : 000078H
ch.2 : 00007EH
7
6
5
4
3
2
1
0
ICCR0 ~ ICCR2
-
-
EN
CS4
CS3
CS2
CS1
CS0
I2C クロックコントロール
レジスタ
初期値 XX0XXXXXB
-
-
R/W
R/W
R/W
R/W
R/W
R/W
読出し / 書込み
以下に , I2C バスクロックコントロールレジスタ 0 ∼ 2(ICCR0 ∼ ICCR2) の機能を説明
します。
[bit7, bit6] 未定義ビット
読出し値は不定です。書込みは動作に影響を与えません。
[bit5] EN :ENable
I2C インタフェースの動作許可ビットです。
0
動作禁止
1
動作許可
• "0" のとき , IBSR および IBCR(BER, BEIE ビットを除く ) の各ビットがクリアされま
す。
• BER ビットがセットされると , クリアされます。
<注意事項>
• I2C インタフェースの動作が禁止されると , 送受信は直ちに停止されます。
• MSS ビットに "0" を書き込んでストップコンディションを発生させた後に I2C インタ
フェースの動作を禁止する場合は , ストップコンディションの発生を確認 (IBSR の
BB=0) した後 , 動作を禁止 (ICCR の EN=0) してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
557
第 22 章 I2C インタフェース
22.2 I2C インタフェースのレジスタ
MB90330A シリーズ
[bit4 ∼ bit0] CS4 ∼ CS0 :Clock Period Select4 ∼ Clock Period Select0
シリアルクロックの周波数を設定するビットです。シフトクロックの周波数fsckは,
次式のように設定されます。
fsck =
φ
φ:マシンクロック
m ×n + 4
<注意事項>
+4のサイクルは, SCL端子の出力レベルが変化したことをチェックするための最小のオー
バヘッドです。SCL 端子の立上りのディレイが大きい場合や , スレーブデバイスでクロッ
クを引き延ばしている場合には , この値より大きくなります。なお , シリアルクロックの
周波数は 100 kHz 以上に設定しないでください。
m, n は , CS4 ∼ CS0 に対して表 22.2-1 に示すようになります。
表 22.2-1 シリアルクロック周波数設定
558
m
CS4
CS3
n
CS2
CS1
CS0
5
0
0
4
0
0
0
6
0
1
8
0
0
1
7
1
0
16
0
1
0
8
1
1
32
0
1
1
64
1
0
0
128
1
0
1
256
1
1
0
512
1
1
1
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 22 章 I2C インタフェース
22.2 I C インタフェースのレジスタ
MB90330A シリーズ
2
I2C バスアドレスレジスタ 0 ∼ 2(IADR0 ∼ IADR2)
22.2.4
I2C バスアドレスレジスタ 0 ∼ 2(IADR0 ∼ IADR2) の構成および機能について説明
します。
■ I2C バスアドレスレジスタ 0 ∼ 2 (IADR0 ∼ IADR2)
図 22.2-8に, I2Cバスアドレスレジスタ0∼2(IADR0∼IADR2)のビット構成を示します。
図 22.2-8 I2C バスアドレスレジスタ 0 ∼ 2(IADR0 ∼ IADR2) のビット構成
bit
ch.0 : 000073H
ch.1 : 000079H
ch.2 : 00007FH
15
14
13
12
11
10
9
8
-
A6
A5
A4
A3
A2
A1
A0
-
R/W
R/W
R/W
R/W
R/W
R/W
R/W
IADR0 ~ IADR2
I2C バスアドレスレジスタ
初期値 XXXXXXXXB
読出し / 書込み
[bit14 ∼ bit8] A6 ∼ A0
スレーブアドレスビットです。スレーブアドレスを指定するレジスタです。スレー
ブ時 , アドレスデータ受信後に IDAR レジスタとの比較が行われ , 一致している場
合はマスタに対してアクノリッジを送信します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
559
第 22 章 I2C インタフェース
22.2 I2C インタフェースのレジスタ
MB90330A シリーズ
I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2)
22.2.5
I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) の構成および機能について説明し
ます。
■ I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2)
図 22.2-9 に , I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) のビット構成を示します。
図 22.2-9 I2C バスデータレジスタ 0 ∼ 2(IDAR0 ∼ IDAR2) のビット構成
bit
ch.0 : 000074H
ch.1 : 00007AH
ch.2 : 000080H
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
IDAR0 ~ IDAR2
I2C バスデータレジスタ
初期値 XXXXXXXXB
読出し / 書込み
[bit7 ∼ bit0] D7 ∼ D0
データビットです。
シリアル転送に使用されるデータレジスタであり , MSB から転送されます。データ
受信時 (TRX=0) は , データ出力値は "1" になります。
IDAR レジスタの書込み側はダブルバッファになっており , バスが使用中 (BB=1) で
ある場合 , 書込みデータは各バイト転送時にシリアル転送用のレジスタにロードさ
れます。読出し時は , シリアル転送用のレジスタを直接読み出すため , 受信データ
は INT ビットがセットされている場合のみ有効です。
560
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
22.3
第 22 章 I2C インタフェース
22.3 I2C インタフェースの動作
I2C インタフェースの動作
I2C バスは , 1 本のシリアルデータライン (SDA) と 1 本のシリアルクロックライン
(SCL) の 2 本の双方向バスラインによって通信が行われます。I2C インタフェースは ,
それに対して 2 本のオープンドレイン入出力端子 (SDA, SCL) を有し , ワイヤード論
理を可能にします。
■ スタートコンディション
バスが開放されている状態 (BB=0, MSS=0) で MSS ビットに "1" を書き込むと , I2C イ
ンタフェースはマスタモードとなり , 同時にスタートコンディションを発生します。マ
スタモードでは , バスが使用状態 (BB=1) であっても , SCC ビットに "1" を書き込むこ
とによって , 再びスタートコンディションを発生させることができます。スタートコン
ディションを発生させる条件として , 次の 2 とおりがあります。
• バスが使用されていない状態 (MSS=0 * BB=0 * INT=0 * AL=0) での MSS ビットへの
"1" 書込み
• バスマスタ時の割込み状態 (MSS=1 * BB=1 * INT=1 * AL=0) での SCC ビットへの "1"
書込み
ほかのシステム ( アイドル状態中 ) がバス使用中に , MSS ビットへ "1" を書き込むと ,
AL ビットが "1" にセットされます。上記以外での MSS ビット , SCC ビットへの "1" の
書込みは無視されます。
■ ストップコンディション
マスタモード (MSS=1) 時に , MSS ビットに "0" を書き込むと , ストップコンディショ
ンを発生し , スレーブモードになります。ストップコンディションを発生させる条件は ,
次のとおりです。
• バスマスタ時の割込み状態 (MSS=1 * BB=1 * INT=1 * AL=0) での MSS ビットへの
"0" 書込み
これ以外での , MSS ビットへの "0" の書込みは無視されます。
■ アドレッシング
マスタモードでは, スタートコンディション発生後, BB=1, TRX=1にセットされ, IDAR
の内容を MSB から出力します。アドレスデータ送信後 , スレーブからアクノリッジを
受信すると , 送信データの bit0( 送信後の IDAR の bit0) を反転して , TRX ビットへ格納
します。
スレーブモードでは , スタートコンディション発生後 , BB=1, TRX=0 にセットされ , マ
スタからの送信データを IDAR へ受信します。アドレスデータ受信後 , IDAR と IADR
との比較が行われ, 一致している場合, AAS=1にセットしてマスタに対してアクノリッ
ジを送信します。その後 , 受信データの bit0( 受信後の IDAR の bit0) を TRX ビットへ
格納します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
561
第 22 章 I2C インタフェース
22.3 I2C インタフェースの動作
MB90330A シリーズ
■ アービトレーション
マスタ送信時に , ほかのマスタも同時にデータを送信している場合 , アービトレーショ
ンが起こります。自分の送信データが "1", SDA ライン上のデータが "L" レベルの場合 ,
自分はアービトレーションを失ったと見なし , AL=1 にセットします。また , 前述のよ
うにバスが使用状態のときに , スタートコンディションを発生させようとした場合も
AL=1 にセットされます。AL=1 にセットされると , MSS=0, TRX=0 となり , スレーブ受
信モードとなります。
■ アクノリッジ
アクノリッジは , 受信側が送信側に対して送信します。データ受信時は , ACK ビット
によってアクノリッジの有無を選択できます。データ送信時は , 受信側からのアクノ
リッジが LRB ビットに格納されます。
スレーブ送信側に , マスタ受信側からアクノリッジを受信しなかった場合 , TRX=0 と
なりスレーブ受信モードになります。これによって , マスタはスレーブが SCL ライン
を開放したときに , ストップコンディションを発生できます。
■ バスエラー
以下の条件が成立した場合はバスエラーと判断され , I2C インタフェースは停止状態に
なります。
• データ転送中 (ACK ビットを含む ) の I2C バス上の基本規定違反の検出
• マスタ時のストップコンディション検出
• バスアイドルにおける I2C バス上の基本規定違反の検出
■ その他
● アービトレーションロスト検出後の処理
アービトレーションロストした後 , 自分がアドレッシングされている場合と , アドレッ
シングされていなかった場合をソフトウェアで判断しなければなりません。
アービトレーションロストするとハードウェア的にスレーブになりますが , 1 バイト転
送終了後 , CLK ライン , DATA ライン双方を "L" に引っ張ります。このため , アドレッ
シングされていなければ , 即座に CLK ライン , DATA ラインを解放し , アドレッシン
グされていた場合には , スレーブ送信 , またはスレーブ受信の準備をしてから , CLK ラ
イン , DATA ラインを開放する必要があります ( すべてソフトウェアで処理する必要が
あります ) 。
● アービトレーションロスト検出時の割込み要因
アービトレーションロストを検出した場合 , 即時に割込み要因が立つのではなく , 1 バ
イト転送終了した時点で割込み要因が立ちます。
アービトレーションロストを検出するとハードウェア的にスレーブになりますが , ス
レーブになっても , 割込み要因を立てるために , トータル 9 クロック出力します。した
がって , 即時に割込み要因が立たないため , アービトレーションロスト後に処理を行う
ことはできません。
562
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 22 章 I2C インタフェース
22.3 I2C インタフェースの動作
● 割込み条件
I2C バスには 1 つの割込みしかなく , 1 バイト転送終了した時点で , または割込み条件
に該当していた場合 , 割込み要因が立つ仕様になっています。
1 つの割込みで , 複数の割込み条件を判断しなければならないため , 割込みルーチン内
で , 各フラグをチェックしなければなりません。1 バイト転送終了時点での割込み条件
を下記に示します。
• バスマスタであった場合
• アドレスされたスレーブであった場合
• ゼネラルコールアドレスを受信した場合
• アービトレーションロストが生じた場合
● 転送速度
I2C バスは , 最大でシリアルクロック周波数 100 kHz の転送までしか行えませんので ,
注意してください。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
563
第 22 章 I2C インタフェース
22.3 I2C インタフェースの動作
MB90330A シリーズ
I2C インタフェースの転送フロー
22.3.1
図 22.3-1 に , マスタからスレーブへの 1 バイト転送フローを , 図 22.3-2 に , スレー
ブからマスタへの 1 バイト転送フローを示します。
■ I2C インタフェースの転送フロー
図 22.3-1 マスタからスレーブへの 1 バイト転送フロー
マスタ
スレーブ
スタート
IDAR:書込み
MSS:1書込み
スタートコンディション
BB set, TRX set
BB set, TRX set
アドレスデータ転送
AAS set
アクノリッジ
LRB reset
INT set,TRX set
IDAR:書込み
INT:0書込み
割 込 み
INT set,TRX set
ACK:1書込み
INT:0書込み
データ転送
アクノリッジ
LRB reset
INT set
割 込 み
MSS:0書込み
INT reset
BB reset,TRX reset
ストップコンディション
INT set
IDAR:読出し
INT:0書込み
BB reset,TRX reset
AAS reset
終了
564
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 22 章 I2C インタフェース
22.3 I2C インタフェースの動作
MB90330A シリーズ
図 22.3-2 スレーブからマスタへの 1 バイト転送フロー
マスタ
スレーブ
スタート
IDAR:書込み
MSS:1書込み
スタートコンディション
BB set,TRX set
BB set,TRX set
アドレスデータ転送
AAS reset
アクノリッジ
LRB reset
INT set,TRX reset
割
込
み
INT:0書込み
INT set,TRX set
IDAR:書込み
INT:0書込み
データ転送
ネガティブアクノリッジ
INT set
IDAR:読出し
LRB set,TRX set
INT set
割
込
み
INT:0書込み
MSS:0書込み
INT reset
BB reset,TRX reset
ストップコンディション
BB reset,TRX reset
AAS reset
終了
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
565
第 22 章 I2C インタフェース
22.3 I2C インタフェースの動作
22.3.2
MB90330A シリーズ
I2C インタフェースのモードフロー
図 22.3-3 に , I2C インタフェースのモードフローを示します。
■ I2C インタフェースのモードフロー
図 22.3-3 I2C モードフロー
スレーブ受信モード
SSC
NO
YES
TRX,AAS,LRB:reset
FBT:set
YES
SSC&BB=1
RSC:set
NO
BB:set
8ビット受信
アドレス比較
RSC,FBT:reset
一致
AAS:set
確認応答出力
INT:set
SCLライン
"L"へ保持
NO
TRX=1
スレーブ受信モード
YES
YES
SSC
AAS,LRB,BB,RSC
:reset
スレーブ送信モード
NO
INT:0 write
FBT:reset
SCLライン解放
送信/受信
YES
確認応答あり
NO
TRX:reset
566
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 22 章 I2C インタフェース
22.3 I2C インタフェースの動作
MB90330A シリーズ
I2C インタフェースの動作フロー
22.3.3
図 22.3-4 に I2C インタフェースのマスタ送受信プログラムフロー ( 割込み使用 ) を ,
また , 図 22.3-5 に I2C インタフェースのスレーブプログラムフロー( 割込み使用 ) を
示します。
■ I2C インタフェースの動作フロー
図 22.3-4 I2C マスタ送受信プログラムフローチャート ( 割込み使用 )
メインルーチン
割込みルーチン
開始
開始
スレーブアドレス
を設定
バスエラー
は生じたか?
I2Cの動作許可
マスタ受信動作?
①
②
STOPコンディション発生
バスエラー割込み
要因クリア
YES
②
RETI
I2Cの動作許可
NO
ALは
発生したか?
YES
YES
マスタ受信
1回のデータ書込みで
送信するバイト数のセット
マスタか?
スレーブアドレスセット
送信
( データ方向ビット=0)
スレーブアドレスセット
受信
(データ方向ビット=1)
ACKは
返ってきたか?
RETI
アクノリッジ発生許可
NO
NO
マスタ送信
1回のデータ書込みで
送信するバイト数のセット
I2Cの初期設定
③
③
NO
③
YES
スレーブプログラム
の割込みルーチン
へ
NO
①
YES
YES
YES
BBビット=1?
NO
BBビット=1?
データ方向ビット
TRXbit=1?
NO
スレーブアドレス送信
スタートコンディション発生
スレーブアドレス送信
スタートコンディション発生
一定時間 WAIT
一定時間 WAIT
残り受信
バイト数=0?
NO
残り受信
バイト数=1?
YES
①
NO
BBビット=0で
かつAlビット=1?
NO
LOOP
YES
I2C動作禁止
BBビット=0で
かつAlビット=1?
NO
LOOP
YES
I2C動作禁止
①
NO
YES
残り送信
バイト数=0?
YES
送信バイト数デクリメント
YES
NO
アクノリッジ発生許可
アクノリッジ発生許可
送信データのセット
第1バイト
の受信か?
終了割込み要因クリア
RETI
YES
NO
受信バイト数デクリメント
受信データをRAMへ格納
終了割込み要因クリア
RETI
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
567
第 22 章 I2C インタフェース
22.3 I2C インタフェースの動作
MB90330A シリーズ
図 22.3-5 I2C スレーブプログラムフローチャート ( 割込み使用 )
メインルーチン
開始
スレーブアドレス
を設定
I2Cの動作許可
スレーブモードに設定
LOOP
割込みルーチン
開始
バスエラー
は生じたか?
YES
②
転送終了割込み
要因クリア
バスエラー割込み
要因クリア
RETI
I2Cの動作許可
②
NO
アドレッシング
されているか?
①
I2Cの初期設定
NO
①
RETI
YES
データ方向bit
TRXビット=1?
受信データは
アドレスか?
NO
NO
YES
ACKは
返ってきたか?
YES
送信データセット
転送終了割込み
要因クリア
YES
NO
①
受信データを
RAMへ格納
転送終了割込み
要因クリア
RETI
RETI
568
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 23 章
ROM ミラー機能選択
モジュール
この章では , ROM ミラー機能選択モジュールの機
能について説明します。
23.1 ROM ミラー機能選択モジュールの概要
23.2 ROM ミラー機能選択レジスタ (ROMM)
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
569
第 23 章 ROM ミラー機能選択モジュール
23.1 ROM ミラー機能選択モジュールの概要
23.1
MB90330A シリーズ
ROM ミラー機能選択モジュールの概要
ROM ミラー機能選択モジュールは , FF バンクに配置されている ROM 内のデータを ,
00 バンクへのアクセスで読み出せるように設定します。
■ ROM ミラー機能選択モジュールのブロックダイヤグラム
図 23.1-1 に , ROM ミラー機能選択モジュールのブロックダイヤグラムを示します。
図 23.1-1 ROM ミラー機能選択モジュールのブロックダイヤグラム
F2MC-16LXバス
ROMミラー機能選択
アドレス領域
FFバンク
00バンク
ROM
■ ROM ミラー機能選択モジュールのレジスタ
図 23.1-2 に , ROM ミラー機能選択モジュールの構成を示します。
図 23.1-2 ROM ミラー機能選択モジュールの構成
bit
ROMM アドレス : 00006FH
570
15
-
14
-
13
-
12
-
11
-
10
-
FUJITSU MICROELECTRONICS LIMITED
9
予約
R/W
8
MI
初期値
------11B
W
CM44-10129-6
第 23 章 ROM ミラー機能選択モジュール
23.2 ROM ミラー機能選択レジスタ (ROMM)
MB90330A シリーズ
23.2
ROM ミラー機能選択レジスタ (ROMM)
ROM ミラー機能選択レジスタ (ROMM) の構成および機能について説明します。
■ ROMM(ROM ミラー機能選択レジスタ )
下図に , ROM ミラー機能選択レジスタ (ROMM) のビット構成を示します。
図 23.2-1 ROM ミラー機能選択レジスタ (ROMM) のビット構成
bit
15
-
ROMM アドレス : 00006FH
14
-
13
-
12
-
11
-
10
-
9
予約
R/W
8
MI
初期値
------11B
W
[bit9] 予約ビット
予約ビットです。必ず "1" を書き込んでください。
[bit8] MI
• "1" の書込み時には , FF バンクの ROM のデータが 00 バンクでも読み出せるように
なります。
• "0" の書込み時には 00 バンクでこの機能は働きません。
• 書込みのみ可能です。
<注意事項>
•
ROMM レジスタは , アドレス 008000H ∼ 00FFFFH 番地の動作中にアクセスしないで
ください。
•
ROM ミラー機能を起動している場合 , 00 バンクの 008000H ∼ 00FFFFH 番地へ FF8000H ∼
FFFFFFH 番地がミラーされますので , FF7FFFH 番地以下の ROM アドレスでは ROM
のミラー機能を設定しても 00 バンクにミラーされません。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
571
第 23 章 ROM ミラー機能選択モジュール
23.2 ROM ミラー機能選択レジスタ (ROMM)
572
MB90330A シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 24 章
アドレス一致検出機能
この章では , アドレス一致検出機能の機能と動作に
ついて説明します。
24.1 アドレス一致検出機能の概要
24.2 アドレス一致検出機能のブロックダイヤグラム
24.3 アドレス一致検出機能のレジスタ構成
24.4 アドレス一致検出機能の動作説明
24.5 アドレス一致検出機能のプログラム例
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
573
第 24 章 アドレス一致検出機能
24.1 アドレス一致検出機能の概要
24.1
MB90330A シリーズ
アドレス一致検出機能の概要
アドレス一致検出機能は , プログラムが現在処理している命令の次に処理される命
令のアドレスが , プログラムアドレス検出レジスタに設定したアドレスと一致した
場合に , プログラムで次に処理される命令を強制的に INT9 命令に置き換え , 割込み
処理プログラムへ分岐する機能です。INT9 割込みを利用できるので , 本機能はプロ
グラムのパッチ処理による修正に利用できます。
■ アドレス一致検出機能の概要
• プログラムが現在処理している命令の次に処理される命令のアドレスは , 内部デー
タバスを通じて常にアドレスラッチに保持されます。アドレス一致検出機能の働き
により , アドレスラッチに保持されたアドレスの値と検出アドレス設定レジスタに
設定したアドレスの値は常に比較されます。比較されたアドレスの値が一致した場
合は , CPU が次に実行する命令が強制的に INT9 命令に置き換えられ , 割込み処理プ
ログラムが実行されます。
• プログラムアドレス検出レジスタ (PADR0, PADR1) は 2 つあり , 各レジスタに割込
み許可ビットが用意されています。アドレスラッチに保持されたアドレスと検出ア
ドレス設定レジスタに設定したアドレスの一致による割込みの発生を , レジスタご
とに許可または禁止できます。
574
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 24 章 アドレス一致検出機能
24.2 アドレス一致検出機能のブロックダイヤグラム
MB90330A シリーズ
アドレス一致検出機能のブロックダイヤグラム
24.2
アドレス一致検出モジュールは , 以下のブロックで構成されています。
• アドレスラッチ
• プログラムアドレス検出制御ステータスレジスタ (PACSR)
• プログラムアドレス検出レジスタ (RADR0, RADR1)
■ アドレス一致検出機能のブロックダイヤグラム
アドレス一致検出機能のブロックダイヤグラムを図 24.2-1 に示します。
図 24.2-1 アドレス一致検出機能のブロックダイヤグラム
アドレスラッチ
比較器
内部データバス
PADR0(24ビット)
プログラムアドレス検出レジスタ0
INT9命令
(INT9割込み発生)
PADR1(24ビット)
プログラムアドレス検出レジスタ1
PACSR
予約
予約
予約
予約
AD1E
予約
AD0E
予約
プログラムアドレス検出制御ステータスレジスタ(PACSR)
予約:必ず"0"を設定してください。
● アドレスラッチ
内部データバスへ出力されたアドレス値を保持します。
● プログラムアドレス検出制御ステータスレジスタ (PACSR)
アドレスが一致した場合の割込み出力の許可または禁止を設定します。
● プログラムアドレス検出レジスタ (PADR0, PADR1)
アドレスラッチの値と比較するためのアドレスを設定します。
<注意事項>
プログラムアドレス検出レジスタは , 1FF0H ∼ 1FF5H にレジスタをもっているため , RAM
領域と重なりますので , 本機能をご使用の場合は , RAM アクセスを行わないようにしてく
ださい。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
575
第 24 章 アドレス一致検出機能
24.3 アドレス一致検出機能のレジスタ構成
24.3
MB90330A シリーズ
アドレス一致検出機能のレジスタ構成
アドレス一致検出機能で使用するレジスタの一覧と詳細を記述します。
■ アドレス一致検出機能のレジスタと初期値の一覧
図 24.3-1 アドレス一致検出機能のレジスタと初期値の一覧
プログラムアドレス検出制御ステータスレジスタ (PACSR)
bit
7
6
5
4
3
2
1
0
アドレス : 009EH
0
0
0
0
プログラムアドレス検出レジスタ 0 (PADR0): 上位
bit
7
6
5
4
3
2
1
0
アドレス : 1FF2H
X
X
X
X
プログラムアドレス検出レジスタ 0 (PADR0): 中位
bit
15
14
13
12
11
10
9
8
アドレス : 1FF1H
X
X
X
X
プログラムアドレス検出レジスタ 0 (PADR0): 下位
bit
7
6
5
4
3
2
1
0
アドレス : 1FF0H
X
X
X
X
プログラムアドレス検出レジスタ 1 (PADR1): 上位
bit
7
6
5
4
3
2
1
0
アドレス : 1FF5H
X
X
X
X
プログラムアドレス検出レジスタ 1 (PADR1): 中位
bit
15
14
13
12
11
10
9
8
アドレス : 1FF4H
X
X
X
X
プログラムアドレス検出レジスタ 1 (PADR1): 下位
bit
7
6
5
4
3
2
1
0
アドレス : 1FF3H
X
X
X
X
X
576
0
X
X
X
X
X
X
0
X
X
X
X
X
X
0
X
X
X
X
X
X
0
X
X
X
X
X
X
: 不定
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 24 章 アドレス一致検出機能
24.3 アドレス一致検出機能のレジスタ構成
MB90330A シリーズ
プログラムアドレス検出制御ステータスレジスタ
(PACSR)
24.3.1
アドレス一致による割込み出力の許可または禁止を設定します。アドレス一致によ
る割込み出力を許可した場合にアドレス一致が検出されると , INT9 の割込みが出力
されます。
■ プログラムアドレス検出制御ステータスレジスタ (PACSR)
図 24.3-2 プログラムアドレス検出制御ステータスレジスタ (PACSR)
アドレス bit 7
009E H
6
5
4
3
2
1
0
初期値
予約 予約 予約 予約 AD1E 予約 AD0E 予約
00000000B
R/W R/W R/W R/W R/W R/W R/W R/W
bit0
予約ビット
予約
0
必ず"0"を設定してください
bit1
アドレス一致検出許可ビット0
AD0E
0
PADR0でのアドレス一致検出を禁止する
1
PADR0でのアドレス一致検出を許可する
bit2
予約ビット
予約
0
必ず"0"を設定してください
bit3
アドレス一致検出許可ビット1
AD1E
0
PADR1でのアドレス一致検出を禁止する
1
PADR1でのアドレス一致検出を許可する
bit4
予約ビット
予約
0
必ず"0"を設定してください
bit5
予約ビット
予約
0
必ず"0"を設定してください
bit6
予約ビット
予約
0
必ず"0"を設定してください
bit7
R/W :リード/ライト
:初期値
CM44-10129-6
予約ビット
予約
0
必ず"0"を設定してください
FUJITSU MICROELECTRONICS LIMITED
577
第 24 章 アドレス一致検出機能
24.3 アドレス一致検出機能のレジスタ構成
MB90330A シリーズ
表 24.3-1 プログラムアドレス検出制御ステータスレジスタ (PACSR) の機能
ビット名
bit7 ∼ bit4
578
機能
予約ビット
必ず "0" を設定してください。
bit3
AD1E:
アドレス一致
検出許可ビッ ト 1
プログラムアドレス検出レジスタ 1 (PADR1) とのアドレス一
致検出 動作を許可または禁止します。
このビットに "0" を設定した場合 : アドレス一致検出動作を
禁止します。
このビットに "1" を設定した場合 : アドレス一致検出動作を
許可します。
アドレス一致検出動作を許可した場合に (AD1E=1) , アドレ
スラッチの値とプログラムアドレス検出レジスタ 1 (PADR1)
の値が一致した場 合は , 直ちに INT9 命令が実行されます。
bit2
予約ビット
必ず "0" を設定してください
bit1
AD0E:
アドレス一致
検出許可ビッ ト 0
プログラムアドレス検出レジスタ 0 (PADR0) とのアドレス一
致検出 動作を許可または禁止します。
このビットに "0" を設定した場合 : アドレス一致検出動作を
禁止します。
このビットに "1" を設定した場合 : アドレス一致検出動作を
許可します。
アドレス一致検出動作を許可した場合に (AD0E=1) , アドレ
スラッチの値とプログラムアドレス検出レジスタ 0 (PADR0)
の値が一致した場 合は , 直ちに INT9 命令が実行されます。
bit0
予約ビット
必ず "0" を設定してください。
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 24 章 アドレス一致検出機能
24.3 アドレス一致検出機能のレジスタ構成
MB90330A シリーズ
24.3.2
プログラムアドレス検出レジスタ (PADR0, PADR1)
プログラムアドレス検出レジスタには , 検出するアドレス値を設定します。プログ
ラムで実行されている命令のアドレスがプログラムアドレス検出レジスタに設定さ
れたアドレスと一致すると , 次に実行される命令は強制的に INT9 命令に置き換えら
れ , 割込み処理プログラムが実行されます。
■ プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H,
PADR1M, PADR1L)
図 24.3-3 プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M,
PADR1L)
PADR0, PADR1 : 上位
bit
アドレス : 1FF2H 1FF5H
7
6
5
4
3
2
1
0
初期値
D23
D22
D21
D20
D19
D18
D17
D16
XXXXXXXXB
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
初期値
XXXXXXXXB
PADR0, PADR1 : 中位
bit
アドレス : 1FF1H 1FF4H
D15
D14
D13
D12
D11
D10
D9
D8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
初期値
XXXXXXXXB
PADR0, PADR1 : 下位
bit
アドレス : 1FF0H 1FF3H
D7
D6
D5
D4
D3
D2
D1
D0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W : リード・ライト可能
X : 不定
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
579
第 24 章 アドレス一致検出機能
24.3 アドレス一致検出機能のレジスタ構成
MB90330A シリーズ
■ プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H,
PADR1M, PADR1L)
プ ロ グ ラ ム ア ド レ ス 検 出 レ ジ ス タ は 2 本 (PADR0H, PADR0M, PADR0L, PADR1H,
PADR1M, PADR1L) 用意されており , それぞれ上位 , 中位 , 下位の 3 バイト , 合計 24
ビットで構成されています。
表 24.3-2 プログラムアドレス検出レジスタのアドレス設定
レジスタ名
割込み出力許可
プログラムアドレス検
出レジスタ 0
PACSR:ADE0
(PADR0H, PADR0M,
PADR0L)
プログラムアドレス検
出レジスタ 1
PACSR:ADE1
(PADR1H, PADR1M,
PADR1L)
アドレス設定
上位
プログラムアドレス 0 の上位 8 ビットを設定 ( バンク )
中位
プログラムアドレス 0 の中位 8 ビットを設定
下位
プログラムアドレス 0 の下位 8 ビットを設定
上位
プログラムアドレス 1 の上位 8 ビットを設定 ( バンク )
中位
プログラムアドレス 1 の中位 8 ビットを設定
下位
プログラムアドレス 1 の下位 8 ビットを設定
プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M,
PADR1L) には , INT9 命令と置き換える命令の先頭アドレス (1 バイト目 ) を設定する必
要があります。
図 24.3-4 INT9 命令と置き換える命令コードの先頭アドレスの設定
検出アドレスに設定(上位:FFH,中位:00H,下位:1FH)
アドレス
FF001C:
FF001F:
FF0022:
命令コード
ニーモニック
A8
4A
4A
MOVW
MOVW
MOVW
00
00
80
00
00
08
RW0,#0000
A,#0000
A,#0880
<注意事項>
プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M,
PADR1L) に , 1 バイト目以外のアドレスを設定した場合は , 命令コードが INT9 命令に置
き換えら れず , 割込み処理プログラムは実行されません。また , 2 バイト目以降に設定し
た場合は , 命令コードで指定した番地が "01H" (INT9 命令コード ) に置き換わって しまい ,
誤作動を起こす原因になる場合があるので注意してください。
プログラムアドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M,
PADR1L) は , 対 応するプログラムアドレス一致制御レジスタのアドレス一致検出動作を
禁止して から (PACSR レジスタの AD0E:bit1=0 または AD1E:bit1=0) 設定して ください。
アドレス一致検出動作を禁止せずにプログラムアドレス検出レジスタ を変更した場合 ,
アドレスの書込み中にアドレスが一致すると直ちにアドレス一 致検出機能が働いてしま
い , 誤動作を起こす原因になります。
アドレス一致検出機能は , 内部 ROM のアドレスに対してのみ使用できます。外 部メモリ
領域のアドレスを設定してもアドレス一致検出機能は働かず , INT9 命令は実行されませ
ん。
580
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 24 章 アドレス一致検出機能
24.4 アドレス一致検出機能の動作説明
MB90330A シリーズ
24.4
アドレス一致検出機能の動作説明
アドレス一致検出機能は , プログラムで実行される命令のアドレスが , プログラムア
ドレス検出レジスタ (PADR0H, PADR0M, PADR0L, PADR1H, PADR1M, PADR1L)
で設定したアドレスと一致した場合に , CPU で実行される先頭の命令コードを INT9
(01H) 命令に置き換え , 割込み処理プログラムへ分岐します。
■ アドレス一致検出機能の動作
検出アドレスの設定とアドレス一致が検出された場合の動作を , 図 24.4-1 に示します。
図 24.4-1 アドレス一致検出機能の動作
プログラム実行
アドレス
プログラムで実行される命令
のアドレスがプログラムアド
レス検出レジスタ0H,M,Lと
一致
FF001C:
FF001F:
FF0022:
命令コード
ニーモニック
A8
4A
4A
MOVW
MOVW
MOVW
00
00
80
00
00
08
RW0,#0000
A,#0000
A,#0880
INT9命令(01H)に置き換わる
■ 検出アドレスの設定
検出アドレスを設定するプログラムアドレス検出レジスタ 0 (PADR0H, PADR0M,
PADR0L)
のアドレス一致検出動作を禁止してください
(PACSR レ ジ ス タ の
AD0E:bit1=0) 。
プログラムアドレス検出レジスタ 0 (PADR0H, PADR0M, PADR0L) に , 検出するアドレ
スを設定します。プログラムアドレス検出レジスタ 0 (PADR0H, PADR0M, PADR0L) の
上位に "FFH", 中位に "00H", 下位に "1FH" を設定してください。
検出アドレスを設定するプログラムアドレス検出レジスタ 0 (PADR0H, PADR0M,
PADR0L)
のアドレス一致検出動作を許可してください
(PACSR レ ジ ス タ の
AD0E:bit1=1) 。
■ プログラムの実行
プログラムで実行される命令のアドレスが , 設定した検出アドレスと一致すると , 一致
したアドレスの先頭の命令コードが INT9 命令コード ("01H") に置き換わります。
INT9 命令が実行されます。INT9 割込みが発生し , 割込み処理プログラムが実行されま
す。
表 25.5-2 に , ハードウェアシーケンスフラグ機能の一覧を示します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
581
第 24 章 アドレス一致検出機能
24.4 アドレス一致検出機能の動作説明
24.4.1
MB90330A シリーズ
アドレス一致検出機能の使用例
アドレス一致検出機能を利用した , プログラム修正のパッチ処理の例を示します。
■ システム構成と E2PROM のメモリ構成
● システム構成
アドレス一致検出機能を利用したシステム構成例を図 24.4-2 に示します。
図 24.4-2 アドレス一致検出機能を利用したシステム構成例
MCU
SIN0
シリアルE2PROM
インタフェース
E2PROM
修正プログラムを格納
MB90330A
シリーズ
■ E2PROM のメモリマップ
修正プログラムを E2PROM に格納する場合の修正プログラムとデータの配置方法を図
24.4-3 に示します。
図 24.4-3 E2PROM 修正プログラムとデータの配置方法
E2PROM
アドレス
PADR0H,PADR0M,PADR0L
PADR1H,PADR1M,PADR1L
582
0000H
修正プログラム バイト数
0001H
検出 アドレス0(下位)
0002H
検出 アドレス0(中位)
0003H
検出 アドレス0(上位)
0004H
修正プログラム バイト数
0005H
検出 アドレス1(下位)
0006H
検出 アドレス1(中位)
0007H
検出 アドレス1(上位)
0010H
修正プログラム0
(本体)
0020H
修正プログラム1
(本体)
修正プログラム0用
修正プログラム1用
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 24 章 アドレス一致検出機能
24.4 アドレス一致検出機能の動作説明
● 修正プログラムバイト数
修正プログラム ( 本体 ) の総バイト数を格納します。バイト数が "00H" の場合は , " 修
正プログラムは存在しない " ことを示します。
● 検出アドレス (24 ビット )
プログラムミスにより INT9 命令に置き換える箇所のアドレスを格納します。このアド
レ ス は プ ロ グ ラ ム ア ド レ ス 検 出 レ ジ ス タ (PADR0H, PADR0M, PADR0L, PADR1H,
PADR1M, PADR1L) に設定するアドレスです。
● 修正プログラム ( 本体 )
プログラムのアドレスと検出アドレスが一致した場合の , INT9 割込みによって実行す
るプログラムを格納します。修正プログラム 0 は , 任意に決めたアドレスから配置しま
す。修正プログラム 1 は , <修正プログラム 0 の先頭アドレス + 修正プログラム 0 の
総バイト数>のアドレスから配置します。
■ 設定と動作状態
● 初期設定
E2PROM のデータはすべて "00H" にクリアします。
● プログラムミスが発生した場合
コネクタ接続 (UART) を使用して , 外部から MCU (MB90330A シリーズ ) へ , E2PROM
修正プログラムとデータの配置方法に従って , 修正プログラムの情報を送ります。
MCU (MB90330A シリーズ ) 側では , 外部から受け取った修正プログラムの情報を
E2PROM へ格納します。
● リセットシーケンス
リセット後 , MCU (MB90330A シリーズ ) は , E2PROM 修正プログラムのバイト数を読
み出して , 修正プログラムの有無を確認します。リセット後 , MCU (MB90330A シリー
ズ ) は , E2PROM 修正プログラムのバイト数を読み出して , 修正プログラムの有無を確
認します。
修正プログラムのバイト数が "00H" でない場合は , 検出アドレス 0, 1 の上位 , 中位 , 下
位を読み出してプログラムアドレス検出レジスタ 0, 1 (PADR0H, PADR0M, PADR0L,
PADR1H, PADR1M, PADR1L) へ読み出したデータを設定します。また , 修正プログラ
ムバイト数に従って , 修正プログラム ( 本体 ) を読み出して , MCU (MB90330A シリーズ
) の RAM へ書き込みます。
修正プログラム ( 本体 ) は , アドレス一致検出機能によって INT9 割込み処理で実行す
るアドレスに配置します。
アドレス一致検出動作を許可します (PACSR レジスタの ADE0:bit1=1, AD1E:bit3=1) 。
● INT9 割込み処理
INT9 命令によって割込み処理が実行されます。MB90330A シリーズには , アドレス一
致検出による割込み要求フラグがありません。したがって , プログラムカウンタのス
タック情報が破棄されると検出アドレスを確認できません。検出アドレスを確認する
場合は , 割込み処理ルーチンでスタックされているプログラムカウンタの値を確認し
てください。
修正プログラムの実行後に通常のプログラムに分岐します。
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
583
第 24 章 アドレス一致検出機能
24.4 アドレス一致検出機能の動作説明
MB90330A シリーズ
■ 修正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作
正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作を , 図 24.4-4
に示します。
図 24.4-4 修正プログラムを E2PROM に格納する場合のアドレス一致検出機能の動作
000000H
③
修正プログラム
RAM
プログラムアドレス検出レジスタ
E2PROM
①
検出アドレス設定
(リセットシーケンス)
・修正プログラムバイト数
・アドレス検出用アドレス
シリアルE2PROM ・修正プログラム
インタフェース
ROM
②
④
プログラムミス
FFFFFFH
①リセットシーケンスの検出アドレス設定と通常プログラムの実行
②アドレス一致検出によるINT9割込み処理でRAMに展開した修正プログラムへ分岐
③INT9処理の分岐による修正プログラムの実行
④修正プログラムから分岐した元の通常プログラムの実行
584
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
第 24 章 アドレス一致検出機能
24.4 アドレス一致検出機能の動作説明
MB90330A シリーズ
■ プログラム修正のパッチ処理フロー
アドレス一致検出機能を利用したプログラム修正のパッチ処理のフローを図 24.4-5 に
示します。
図 24.4-5 プログラム修正のパッチ処理フロー
E2PROM
MB90330Aシリーズ
I/O領域
0000H
修正プログラムバイト数:80H
000100H
レジスタ/RAM領域
0001H
検出アドレス(下位):00H
000400H
修正プログラム
0002H
検出アドレス(中位):80H
0003H
検出アドレス(上位):FFH
000000H
000480H
RAM領域
RAM
スタック領域
0010H
000900 H
検出アドレス設定
修正プログラム
0090H
FFFFH
FF0000H
FF8000H
ROM
プログラムミス
FF8050H
FFFFFFH
YES
リセット
INT9
E2PROM:00H
を読み出す
修正プログラムへ分岐
JMP 000400H
E2PROM:0000H=0
修正プログラムの実行
000400H~000480H
NO
修正プログラム終了
JMP FF8050H
検出アドレスを読み出す
E2PROM:0001H~0003H
↓ MOV
MCU:PADR0へ設定
修正プログラムを読み出す
E2PROM:0010H~008FH
↓
MCU:000400H~00047FH
アドレス一致検出を許可
(PACSR:AD0E=1)
通常プログラム実行
NO
CM44-10129-6
プログラムアドレス
PC=PADR0
YES
INT9
FUJITSU MICROELECTRONICS LIMITED
585
第 24 章 アドレス一致検出機能
24.5 アドレス一致検出機能のプログラム例
24.5
MB90330A シリーズ
アドレス一致検出機能のプログラム例
アドレス一致検出機能のプログラム例を示します。
■ アドレス一致検出機能のプログラム例
● 処理仕様
プログラムで実行される命令のアドレスと , プログラムアドレス検出レジスタ
(PADR0H, PADR0M, PADR0L) に設定したアドレスが一致した場合に , INT9 命令が実
行されます。
● コーディング例
PACSR EQU 00009EH
; プログラムアドレス検出制御
ステータスレジスタ
PADRL EQU 000001H
; プログラムアドレス検出レジスタ 0 下位
PADRM EQU 000002H
; プログラムアドレス検出レジスタ 0 中位
PADRH EQU 000003H
; プログラムアドレス検出レジスタ 0 上位
;
;--------- メインプログラム ------------------------------------------CODE CSEG
START:
; スタックポインタ (SP) などは
初期化済みとする
MOV PADRL, #00H
; プログラムアドレス検出レジスタ 0 下位設定
MOV PADRM, #00H
; プログラムアドレス検出レジスタ 0 中位設定
MOV PADRH, #00H
; プログラムアドレス検出レジスタ 0 上位設定
MOV I:PACSR, #00000010B
; アドレス一致検出の許可
;
・
ユーザ処理
・
LOOP:
・
ユーザ処理
・
BRA LOOP
;--------- 割込みプログラム ------------------------------------------WARI:
・
ユーザ処理
586
FUJITSU MICROELECTRONICS LIMITED
CM44-10129-6
MB90330A シリーズ
第 24 章 アドレス一致検出機能
24.5 アドレス一致検出機能のプログラム例
・
; 割込み処理からの復帰
RETI
CODE ENDS
;--------- ベクタ設定 -----------------------------------------------VECT CSEG ABS=0FFH
ORG 00FFDCH
; リセットベクタ設定
DSL START
DB
; シングルチップモードに設定
00H
VECT ENDS
END START
CM44-10129-6
FUJITSU MICROELECTRONICS LIMITED
58