6.9MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM71-10131-1
FR70
32 ビット・マイクロコントローラ
MB91402/403 Series
ハードウェアマニュアル
FR70
32 ビット・マイクロコントローラ
MB91402/403 Series
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 必ず「Check Sheet」を参照してください。
「Check Sheet」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われるチェック
項目をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
富士通マイクロエレクトロニクス製品につきまして , 平素より格別のご愛顧を賜り厚
くお礼申し上げます。
MB91402/403 シリーズは , 32 ビット高性能 RISC CPU を使用し , 高性能 / 高速な CPU
処理が要求される組込み制御用に各種 I/O リソースやバス制御機構を内蔵した , シング
ルチップマイクロコントローラです。32 ビット CPU がアクセスする広大なアドレス空
間をサポートするために , 外部バスアクセスが基本となっていますが , CPU の命令実行
を高速化するために RAM ( データ用 ) を内蔵しています。
デジタルビデオカメラ , ナビゲーションシステム , DVD プレイヤーなど , 高性能な CPU
処理パワーを要求される組込み用途に最適な仕様となっています。
MB91402/403 シリーズは , FR30/40 CPU をベースにバスアクセスの強化を行い , より高
速での使用に対応した FR70 です。
本書は , 実際に MB91402/403 シリーズを使用して製品を開発される技術者を対象に ,
MB91402/403 シリーズの機能や動作について解説したものです。本書をご一読くださ
い。
なお , 各種命令の詳細については , 『インストラクションマニュアル』をご参照くださ
い。
■ 商標
FR は , FUJITSU RISC controller の略で , 富士通マイクロエレクトロニクス株式会社の製
品です。
その他の記載されている社名および製品名などの固有名詞は , 各社の商標または登録
商標です。
i
■ 本書の全体構成
本書は , 以下に示す 14 の章 , および付録から構成されています。
第 1 章 概要
MB91402/403 シリーズの特長 , ブロックダイヤグラム , 外形寸法などの全体を知る
ための基本的なことについて説明します。
第 2 章 デバイスの取扱いについて
MB91402/403 シリーズの取扱い上の注意について説明します。
第 3 章 CPU および制御部
MB91402/403 シリーズの CPU コアの機能を知るために , アーキテクチャ , 仕様 , 命
令などの基本的なことについて説明します。
第 4 章 外部バスインタフェース
外部バスインタフェースコントローラは , LSI の内部バスと外部のメモリ , 機能マク
ロ , および I/O デバイスとのインタフェースを制御します。本章では , 外部バスイン
タフェースの各機能について説明します。
第 5 章 割込みコントローラ
割込みコントローラの概要 , レジスタの構成 / 機能 , 割込みコントローラの動作 , お
よびホールドリクエスト取下げ要求機能の使用例について説明します。
第 6 章 外部割込み制御部
外部割込み制御部の概要 , レジスタの構成 / 機能 , および動作について説明します。
第 7 章 REALOS 関連ハード
REALOS関連ハードは, リアルタイムOSにより使用されます。したがって, REALOS
を使用する場合にはユーザプログラムで使用することはできません。
第 8 章 16 ビットリロードタイマ
16 ビットリロードタイマの概要 , レジスタの構成 / 機能 , および 16 ビットリロード
タイマの動作について説明します。
第 9 章 U-TIMER
U-TIMER の概要 , レジスタの構成 , 機能 , および動作について説明します。
第 10 章 UART
UART の概要 , レジスタの構成 / 機能 , および UART の動作について説明します。
第 11 章 DMAC (DMA コントローラ )
DMA コントローラ (DMAC) の概要 , レジスタの構成 / 機能 , および DMA コントロー
ラ (DMAC) の動作について説明します。
第 12 章 LAN コントローラ
LAN コントローラの概要 , レジスタ , 動作 , パケットフィルタ , および SMI インタ
フェースについて説明します。
第 13 章 MPU IF/GPIO
MPU/GPIO の概要 , 構成図 , 信号 , アドレス , レジスタ , MPU IF 動作 , および GPIO
動作について説明します。
第 14 章 I2C インタフェース
I2C インタフェースの概要 , レジスタ , 動作 , および注意事項について説明します。
ii
付録
I/O マップ , 割込みベクタ , 端子状態一覧 , リトルエンディアン領域を使用する際の
注意事項 , および命令一覧について説明します。
iii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright© 2008 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
iv
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
1.7
第2章
概要 ............................................................................................................ 1
MB91402/403 シリーズの特長 ............................................................................................... 2
ブロックダイヤグラム............................................................................................................ 7
外形寸法図.............................................................................................................................. 8
端子配列図.............................................................................................................................. 9
入出力端子............................................................................................................................ 10
端子番号対応表 .................................................................................................................... 18
入出力回路形式 .................................................................................................................... 20
デバイスの取扱いについて ...................................................................... 23
2.1 デバイスの取扱いについて................................................................................................... 24
2.2 メモリ空間............................................................................................................................ 33
2.2.1
FR コア領域 ............................................................................................................... 34
2.2.2
外部領域 ..................................................................................................................... 35
2.3 動作説明 ............................................................................................................................... 40
第3章
CPU および制御部 ................................................................................... 45
3.1 FR コアのブロックダイヤグラム ......................................................................................... 46
3.2 内部アーキテクチャ ............................................................................................................. 47
3.3 命令キャッシュ .................................................................................................................... 52
3.3.1
命令キャッシュの構成 ............................................................................................... 53
3.3.2
制御レジスタ構成....................................................................................................... 56
3.3.3
各動作モードの状態 ................................................................................................... 59
3.3.4
命令キャッシュのキャッシュ可能領域 ...................................................................... 61
3.3.5
I-Cache を使用するときの設定方法........................................................................... 62
3.4 プログラミングモデル.......................................................................................................... 64
3.4.1
汎用レジスタ .............................................................................................................. 65
3.5 専用レジスタ ........................................................................................................................ 66
3.6 データ構造............................................................................................................................ 73
3.7 ワードアライメント ............................................................................................................. 74
3.8 メモリマップ ........................................................................................................................ 75
3.9 分岐命令 ............................................................................................................................... 76
3.9.1
遅延スロット付き分岐命令の動作.............................................................................. 77
3.9.2
遅延スロットなし分岐命令の動作.............................................................................. 79
3.10 EIT( 例外・割込み・トラップ ) ............................................................................................ 80
3.10.1
EIT 割込みレベル ....................................................................................................... 81
3.10.2
割込み制御レジスタ (ICR:Interrupt Control Register).............................................. 83
3.10.3
システムスタックポインタ (SSP).............................................................................. 84
3.10.4
テーブルベースレジスタ (TBR) ................................................................................. 85
3.10.5
多重 EIT 処理.............................................................................................................. 86
3.10.6
EIT の動作 .................................................................................................................. 88
3.11 リセット ( デバイス初期化 ) ................................................................................................. 92
3.11.1
リセットレベル .......................................................................................................... 93
3.11.2
リセット要因 .............................................................................................................. 94
3.11.3
リセットシーケンス ................................................................................................... 96
v
3.11.4
発振安定待ち時間....................................................................................................... 97
3.11.5
リセット動作モード ................................................................................................... 99
3.12 クロック生成制御 ............................................................................................................... 101
3.12.1
PLL 制御 ................................................................................................................... 102
3.12.2
クロック分配 ............................................................................................................ 104
3.12.3
クロック分周 ............................................................................................................ 105
3.12.4
クロック生成制御部のブロックダイヤグラム.......................................................... 106
3.12.5
クロック生成制御部のレジスタ ............................................................................... 107
3.12.6
クロック制御部にある周辺回路 ............................................................................... 122
3.12.7
クロックの滑らかな起動と停止 ............................................................................... 125
3.13 デバイス状態制御 ............................................................................................................... 129
3.13.1
デバイス状態と各遷移 ............................................................................................. 130
3.13.2
低消費電力モード..................................................................................................... 133
3.14 動作モード.......................................................................................................................... 137
第4章
外部バスインタフェース........................................................................ 139
4.1 外部バスインタフェース ( メモリインタフェース ) の概要 ............................................... 140
4.2 外部バスインタフェースのレジスタ .................................................................................. 144
4.2.1
領域選択レジスタ 0 ∼ 5, 7(ASR0 ∼ ASR5, ASR7) ................................................ 145
4.2.2
領域構成レジスタ 0 ∼ 5, 7(ACR0 ∼ ACR5, ACR7)................................................ 147
4.2.3
領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7).................................................... 153
4.2.4
メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA)
................................................................................................................................. 162
4.2.5
メモリ設定レジスタ (FCRAM オートプリチャージありモード用 )(MCRB) ............ 164
4.2.6
DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2)............................................... 165
4.2.7
チップセレクト領域許可レジスタ (CSER ) ............................................................. 168
4.2.8
キャッシュ取込み許可レジスタ (CHER).................................................................. 169
4.2.9
端子 / タイミングコントロールレジスタ (TCR)....................................................... 170
4.2.10
リフレッシュコントロールレジスタ (RCR)............................................................. 173
4.2.11
モードレジスタ (MODR) .......................................................................................... 177
4.3 チップセレクト領域の設定例 ............................................................................................. 178
4.4 エンディアンとバスアクセス ............................................................................................. 179
4.4.1
ビッグエンディアンのバスアクセス ........................................................................ 180
4.4.2
リトルエンディアンのバスアクセス ........................................................................ 186
4.4.3
ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ......................... 191
4.5 通常バスインタフェースの動作 ......................................................................................... 197
4.5.1
基本タイミング ( アクセスが連続する場合 )
(ACR → TYP3 ∼ TYP0 = 0000B, AWR = 0008H) ................................................ 198
4.5.2
WRn +バイト制御タイプ (ACR → TYP3 ∼ TYP0 = 0010B, AWR = 0008H) ....... 200
4.5.3
読出し → 書込みタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0048H) .......... 202
4.5.4
書込み → 書込みタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0018H) .......... 203
4.5.5
自動ウェイトタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=2008H)................ 204
4.5.6
外部ウェイトタイミング (ACR → TYP3 ∼ TYP0=0001B, AWR=2008H)................ 205
4.5.7
同期書込みイネーブル出力タイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0000H)
................................................................................................................................. 206
4.5.8
4.5.9
CSn 遅延設定 (ACR → TYP3 ∼ TYP0=0000B, AWR=000CH) ................................ 208
CSn → RD/WRn セットアップおよび RD/WRn → CSn ホールド設定
(TYP3 ∼ TYP0=0000B, AWR=000BH) .................................................................... 209
vi
DMA フライバイ転送 (I/O →メモリ ) (TYP3 ∼ TYP0=0000B, AWR=0008H,
IOWR=51H) ( メモリ側のウェイト設定なしの場合)................................................ 211
4.6 バーストアクセスの動作 .................................................................................................... 212
4.7 プリフェッチ動作 ............................................................................................................... 214
4.8 SDRAM/FCRAM インタフェースの動作 ............................................................................ 218
4.8.1
セルフリフレッシュ ................................................................................................. 221
4.8.2
パワーオンシーケンス ............................................................................................. 222
4.8.3
複数領域への SDRAM/FCRAM 接続 ........................................................................ 223
4.8.4
アドレスマルチプレックス・フォーマット ............................................................. 224
4.8.5
メモリ接続例 ............................................................................................................ 225
4.9 レジスタ設定手順 ............................................................................................................... 227
4.5.10
第5章
5.1
5.2
5.3
割込みコントローラ............................................................................... 229
割込みコントローラの概要................................................................................................. 230
割込みコントローラのレジスタ ......................................................................................... 233
割込みコントローラの動作................................................................................................. 236
第6章
6.1
6.2
6.3
外部割込み制御部 .................................................................................. 243
外部割込み制御部の概要 .................................................................................................... 244
外部割込み制御部のレジスタ ............................................................................................. 245
外部割込み制御部の動作 .................................................................................................... 247
第7章
7.1
7.2
7.3
7.4
7.5
7.6
REALOS 関連ハード ............................................................................. 249
遅延割込みモジュール........................................................................................................ 250
遅延割込みモジュールのレジスタ...................................................................................... 251
遅延割込みモジュールの動作 ............................................................................................. 252
ビットサーチモジュール .................................................................................................... 253
ビットサーチモジュールのレジスタ .................................................................................. 254
ビットサーチモジュール動作 ............................................................................................. 256
第8章
8.1
8.2
8.3
8.4
16 ビットリロードタイマ ...................................................................... 259
16 ビットリロードタイマの概要 ........................................................................................ 260
16 ビットリロードタイマのブロックダイヤグラム ........................................................... 261
16 ビットリロードタイマのレジスタ................................................................................. 262
16 ビットリロードタイマの動作 ........................................................................................ 266
第9章
9.1
9.2
9.3
U-TIMER ................................................................................................ 269
U-TIMER の概要 ................................................................................................................. 270
U-TIMER のレジスタ.......................................................................................................... 271
U-TIMER の動作 ................................................................................................................. 274
第 10 章
10.1
10.2
10.3
10.4
10.5
UART ..................................................................................................... 277
UART の概要 ...................................................................................................................... 278
UART のレジスタ ............................................................................................................... 281
UART の動作 ...................................................................................................................... 287
UART の応用例................................................................................................................... 293
ボーレートと U-TIMER のリロード値の設定例 ................................................................. 295
vii
第 11 章
11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8
11.9
DMAC(DMA コントローラ ) .................................................................. 297
DMAC の概要 ..................................................................................................................... 298
DMAC のレジスタ .............................................................................................................. 302
DMAC の動作 ..................................................................................................................... 316
転送要求の設定 .................................................................................................................. 319
転送シーケンス .................................................................................................................. 320
DMA 転送全般 .................................................................................................................... 324
動作フローチャート ........................................................................................................... 337
データパス.......................................................................................................................... 340
DMA 設定例 ........................................................................................................................ 343
第 12 章
LAN コントローラ ................................................................................. 349
12.1 LAN コントローラの概要 ................................................................................................... 350
12.2 LAN コントローラのレジスタ ............................................................................................ 355
12.2.1
送信ステータスレジスタ :DLCR0 ............................................................................ 358
12.2.2
受信ステータスレジスタ :DLCR1 ............................................................................ 360
12.2.3
送信割込みイネーブルレジスタ :DLCR2 ................................................................. 363
12.2.4
受信割込みイネーブルレジスタ :DLCR3 ................................................................. 365
12.2.5
送信モードレジスタ :DLCR4 ................................................................................... 367
12.2.6
受信モードレジスタ :DLCR5 ................................................................................... 368
12.2.7
コントロールレジスタ 1:DLCR6.............................................................................. 370
12.2.8
コントロールレジスタ 2:DLCR7.............................................................................. 371
12.2.9
ノード ID レジスタ 1 ∼ 6:DLCR8 ∼ DLCR13......................................................... 373
12.2.10
マルチキャストアドレスレジスタ 1 ∼ 8:MAR8 ∼ MAR15..................................... 374
12.2.11
バッファメモリポートレジスタ :BMPR8................................................................. 376
12.2.12
送信パケット数レジスタ :BMPR10.......................................................................... 377
12.2.13
DMA イネーブルレジスタ :BMPR12 ........................................................................ 378
12.2.14
受信バッファポインタコントロールレジスタ :BMPR14 ......................................... 379
12.3 LAN コントローラの動作 ................................................................................................... 380
12.3.1
送信フロー ( ホスト→バッファメモリ )................................................................... 382
12.3.2
受信フロー ( バッファメモリ→ホスト )................................................................... 387
12.4 パケットフィルタ ............................................................................................................... 393
12.4.1
パケットフィルタの概要 .......................................................................................... 394
12.4.2
テーブル ................................................................................................................... 395
12.4.3
レジスタ一覧 ............................................................................................................ 406
12.4.4
レジスタ詳細 ............................................................................................................ 407
12.4.5
テーブルアクセスの際の注意事項............................................................................ 418
12.4.6
フィルタの設定方法 ................................................................................................. 419
12.5 SMI インタフェース ........................................................................................................... 431
12.5.1
レジスタ一覧 ............................................................................................................ 432
12.5.2
レジスタ詳細 ............................................................................................................ 433
12.5.3
動作説明 ................................................................................................................... 443
第 13 章
13.1
13.2
13.3
13.4
13.5
MPU IF/GPIO ......................................................................................... 445
MPU/GPIO の概要 .............................................................................................................. 446
構成図 ................................................................................................................................. 448
信号 .................................................................................................................................... 449
アドレス一覧 ...................................................................................................................... 450
レジスタ詳細説明 ............................................................................................................... 451
viii
13.6 MPU IF 動作説明 ................................................................................................................ 465
13.6.1
設定方法 ................................................................................................................... 466
13.6.2
波形図....................................................................................................................... 469
13.7 GPIO (Port A) 動作説明 ...................................................................................................... 470
13.8 GPIO (Port B) 動作説明 ...................................................................................................... 471
13.8.1
端子選択仕様 ............................................................................................................ 472
第 14 章
I2C インタフェース................................................................................ 473
14.1 I2C インタフェースの概要.................................................................................................. 474
14.2 I2C インタフェースのレジスタ .......................................................................................... 478
14.2.1
バスステータスレジスタ (BSR) ............................................................................... 479
14.2.2
バスコントロールレジスタ (BCR) ........................................................................... 481
14.2.3
クロックコントロールレジスタ (CCR) .................................................................... 487
14.2.4
アドレスレジスタ (ADR).......................................................................................... 489
14.2.5
データレジスタ (DAR) ............................................................................................. 490
14.2.6
拡張 CS レジスタ (CSR) .......................................................................................... 491
14.2.7
バスクロック周波数レジスタ (FSR) ........................................................................ 493
14.2.8
バスコントロール 2 レジスタ (BC2R)...................................................................... 494
2
14.3 I C インタフェースの動作説明 .......................................................................................... 495
14.4 注意事項 ............................................................................................................................. 505
14.5 動作フローチャート ........................................................................................................... 507
付録
付録 A
付録 B
付録 C
付録 D
D.1
D.2
D.3
D.4
付録 E
E.1
E.2
索引
............................................................................................................... 513
I/O マップ ...................................................................................................................... 514
割込みベクタ ................................................................................................................. 522
各 CPU ステートにおける端子状態 .............................................................................. 525
リトルエンディアン領域を使用する際の注意事項 ....................................................... 527
C コンパイラ (fcc911)................................................................................................. 528
アセンブラ (fasm911) ................................................................................................. 531
リンカ (flnk911) .......................................................................................................... 533
デバッガ (sim911, eml911, mon911) .......................................................................... 534
命令一覧 ........................................................................................................................ 535
命令一覧表の記号の意味 ............................................................................................ 536
命令一覧表 .................................................................................................................. 539
............................................................................................................... 549
ix
x
MB91402/403 シリーズ
本版での主な変更内容
ページ
-
CM71-10131-1
変更内容(詳細は本文を参照してください。)
本ハードウェアマニュアルが初版となります。
FUJITSU MICROELECTRONICS LIMITED
xi
MB91402/403 シリーズ
xii
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第1章
概要
MB91402/403 シリーズの特長 , ブロックダイヤグ
ラム , 外形寸法などの全体を知るための基本的なこ
とについて説明します。
1.1 MB91402/403 シリーズの特長
1.2 ブロックダイヤグラム
1.3 外形寸法図
1.4 端子配列図
1.5 入出力端子
1.6 端子番号対応表
1.7 入出力回路形式
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
1
第 1 章 概要
1.1
1.1
MB91402/403 シリーズ
MB91402/403 シリーズの特長
MB91402/403 シリーズは , 32 ビット RISC マイコン:FR を CPU コアとして , 10/
100Base-T MAC Controller と暗号・認証処理マクロとともに , 大容量 RAM を搭載
した 1 チップネットワークセキュリティ LSI です。MB91402/403 シリーズの特長と
して , MAC Controller 部にはパケットフィルタリング機能を搭載し , 増大するパ
ケット処理に伴う CPU 負荷の軽減を実現します。また , 暗号・認証処理マクロによ
り , 今後より一層必要とされる暗号・認証処理通信 (IKE/IPsec/SSL) の高速処理を実
現します。
それ以外にも多種多様な外部ホストとの高速データ通信を可能とする MPU IF, そし
て外部メモリ IF, I2C IF, 汎用 I/O ポートを搭載し , さまざまな用途への対応を実現し
ます。
なお , FR をコアとして使用していますが , チップセレクト機能を制限しています。
詳細は , 「2.2.2 外部領域 ■アドレスマップ」を参照してください。
■ MB91402/403 シリーズの特長
● FR コア
• 動作周波数 : 内部 33 MHz
• 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段
• 16 ビット固定長命令 ( 基本命令 ), 1 命令 /1 サイクル
• メモリ - メモリ間転送 , ビット処理 , バレルシフトなどの命令 :
組込み用途に適した命令
• 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令 :
高級言語対応命令
• レジスタ インターロック機能 :
アセンブラ記述の容易化
• 乗算器の内蔵 / 命令レベルでのサポート
• 符号付き 32 ビット乗算
: 5 サイクル
• 符号付き 16 ビット乗算
: 3 サイクル
• 割込み (PC, PS の退避 )
: 6 サイクル , 16 プライオリティレベル
• ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に
実行可能
• 4G バイトの広大なメモリ空間をリニアにアクセス可能
• FR ファミリとの命令互換
● メモリ IF
• 32 ビットアドレスフル出力可能 , 8, 16, 32 ビットデータ出力あり
• 完全独立な 8 領域のチップセレクト出力が可能
• 基本バスサイクル
: 2 サイクル
• 領域ごとに各種ウェイトサイクル発生機構
• RDY 入力による外部ウェイトサイクル
2
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 1 章 概要
1.1
• プリフェッチ機能
• バーストアクセス機能
• SDRAM, FCRAM 制御機能
● 内蔵データ RAM
• 搭載メモリ容量 8K バイト
• 1 サイクル読出し , 書込みの高速アクセス
● 命令キャッシュ
• 4K バイト搭載
• 2 ウェイセットアソシアティブ方式
• 4 ワード (16 バイト )/ セット
• 容量可変 (4K バイト )
• ロック機能によりプログラム常駐化可能
• 命令キャッシュとして使用しない部分は , 1 サイクルの命令 RAM として使用可能
● DMAC(DMA Controller)
• 5 チャネル ( 周辺機能部にて 2 チャネル使用 )
• 3 つの転送要因 ( 内部ペリフェラル / ソフトウェア )
• アドレッシングモード 32 ビットフルアドレス指定 ( 増加 / 減少 / 固定 )
• 転送モード ( デマンド転送 / バースト転送 / ステップ転送 / ブロック転送 )
• フライバイ転送サポート ( 外部 I/O とメモリ間 )
• 転送データを 8/16/32 ビット から選択可能
● ビットサーチモジュール (REALOS 使用 )
1 ワード中の MSB から最初の "1/0" の変化ビット位置をサーチ
● リロードタイマ (REALOS 用 1 チャネルを含む )
• 16 ビットタイマ 3 チャネル
• 内部クロックを 2/8/32 分周から選択可能
● UART
• 全二重ダブルバッファ
• 2 チャネル
• パリティあり / なし選択可能
• 非同期 ( 調歩同期 ), CLK 同期通信の選択可能
• LSB ファースト /MSB ファースト選択可能
• 専用ボーレート用タイマ内蔵
• 外部クロックを転送クロックとして使用可能
• 豊富なエラー検出機能あり ( パリティ , フレーム , オーバラン )
● 割込みコントローラ
• 割込みは合計 9 本 ( 通常割込み←外部 2 本 / 内部周辺にて 4 本使用 , マスク不可割込
み未使用 , 他リザーブ )
• 周辺リソースからの割込み
• マスク不可割込み以外は , 優先レベルをプログラマブルに設定可能 (16 レベル )
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
3
第 1 章 概要
1.1
MB91402/403 シリーズ
• 通常割込み端子を STOP 時の ウェイクアップ用として使用可能
(注意事項)MB91402/403 シリーズでは , NMI 端子をチップ内部で無効にしています。
したがって , 本章で説明する NMI 端子による NMI( ユーザ ) は該当しませ
んので注意してください。
● その他の特長
• クロックソースとしてクロック入力の 2 分周 , 分周なしを選択可能
• リセット端子として INIT ( 設定初期化リセット ) 端子あり
その他 , ウォッチドッグタイマリセット , ソフトウェアリセットあり
• クロック分周機能
• タイムベースタイマ内蔵
• 電源電圧
: 3.3 V ± 0.3 V
• 最高動作周波数 : CPU および内部バス 33 MHz, 外部バス 33 MHz,
FR 内蔵リソース 16.5 MHz
( 注意事項 ) MAC IF において , 100Base の通信を行う場合は , 外部バスの周波数を 25
MHz より上の設定にする必要があります (33 MHz ≧ 外部バス > 25 MHz :
100Base 通信時 )。
● Ethernet MAC インタフェース
パケットフィルタリング機能搭載
L3/L4 のパケットフィルタリング機能を搭載しており , アドレス (IP, MAC) を設定して
おくと , データを通す / 通さないの処理を行うことができます。また , 自分のアドレス
以外にも , 登録されているマルチキャストアドレスの場合には , データを受信する機能
( マルチキャストアドレスフィルタ機能 ) もあります。
• IEEE802.3 に準拠した 10/100M MAC 内蔵
• MII インタフェース ( 全二重 / 半二重対応 )
• PHY(physical layer) デバイス制御用 SMI(Structure of Management Information) インタ
フェース
<注意事項>
レイヤ 3/4 のフィルタリング機能 ( ハードウェアに実装 ) です。
レイヤ 3( ネットワーク層 ) の IP アドレス , レイヤ 4( トランスポート層 ) の TCP/UDP ポー
ト番号のそれぞれで , 条件に一致したときに通過を許可するか破棄するかを決めることが
できる機能です。
4
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.1
MB91402/403 シリーズ
● 暗号・認証処理機能 (MB91403 のみ )
MB91403 は , データの暗号化 / 復号化を行う秘密鍵暗号方式の DES/3DES/AES とデー
タの認証に用いる HMAC-MD5/HMAC-SHA1 をハードウェアでサポートします。これ
により , ソフトウェアのみの場合と比べて 30 倍∼ 40 倍の性能向上を実現します。さら
に , ソフトウェアでの処理負荷が非常に重い公開鍵暗号方式などのアルゴリズムで頻
繁に使用する処理をハードウェアで実行するアクセラレータ機能を内蔵しておりま
す。これにより , ソフトウェアでの処理時間と比べて約 100 倍の高速化を実現します。
これらの機能により MB91403 は , インターネットのネットワーク層で使用するセキュ
リティ機能である IPsec に対応できます。また , 暗号や認証機能を上位のアプリケー
ションから関数として簡単に利用でき , RSA や SSL などの暗号アプリケーションの高
速化にも利用することができます。
• DES/3DES/AES(Key Length=128/192/256 ビット ) の ECB/CBC モード対応
• MD5/SHA-1/HMAC-MD5/HMAC-SHA-1 モード対応
• DH グループ :1(MODP 768 ビット )/2(1024 ビット ) 対応
● 外部インタフェース
通信機能付き外部インタフェース
大量のデータ送受信を実現する大容量送受信 FIFO とともに通信用のレジスタを装備。
バッファが受信 1.5K バイト , 送信 1.5K バイトあり , バッファにためて処理する機能や
バッファがいっぱいになると , データの受信を止めるなどのホスト機能があります。
これにより , データ送受信途中においても通信制御ができ , CPU 負荷を軽減するととも
に効率の良い通信を実現します。
• 8/16 ビットデータポート
• 送受信データポート制御機能搭載
• 転送レート:89 Mbps( 最大 )
(注意事項)未使用時に汎用ポート (Port B) として使用可能
● 汎用 I/O
4 ビットの専用汎用 I/O ポート (Port A) と MPU IF を最大 22 ビットの汎用 I/O ポート
(Port B) として使用することが可能です。
• ビットごとに入出力設定可能
• 入力設定時 , 信号変化による割込みを発生可能 (PORT A のみ )
● メモリインタフェース
各種の外部メモリ / I/O との接続を可能にします。
• ROM/RAM/SDRAM/FCRAM IF 対応
• 2 チップセレクト信号
• 8/16 ビットデータバス
• アドレス空間設定
- ROM/RAM 設定時
: 64K バイト∼ 8M バイトアドレスエリア設定可能
- SDRAM/FCRAM 設定時
: 64K バイト∼ 128M バイトアドレスエリア設定可能
• 32 ビットアドレスフル出力可能 , 8 ビット , 16 ビット , 32 ビットデータ出力あり
• 完全独立な 8 領域のチップセレクト出力が可能
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
5
第 1 章 概要
1.1
MB91402/403 シリーズ
• 基本バスサイクル
: 2 サイクル
• 領域ごとに各種ウェイトサイクル発生機構
• RDY 入力による外部ウェイトサイクル
• プリフェッチ機能
• バーストアクセス機能
• SDRAM, FCRAM 制御機能
● I2C インタフェース
Philips 社が提唱する I2C Bus をサポートするシリアルインタフェースです。
• マスタ / スレーブ送受信機能
• 標準モード ( 最大 100 kbps)/ 高速モード ( 最大 400 kbps) に対応
● 大容量 RAM 搭載
チップ内に大容量 RAM を搭載。シリアルダウンロードプログラムを内蔵した ROM を
搭載します。
• ROM:2K バイト ( シリアルダウンロードプログラム用 )
• RAM:64K バイト
● クロック
• 水晶発振回路内蔵
• PLL 内蔵
• 入力クロック:10 MHz ∼ 33 MHz
入力クロックと PLL の逓倍モードの組合せに関しては , 「2 章 FR コア機能説明?」を
参照してください。
● LSI 全体
• 0.18µ CMOS Al5 層テクノロジ
• LQFP 144 pin パッケージ
• 3.3 V 単一電源仕様
• 動作周波数:CPU/ 周辺モジュール ( 外部バス ) ∼ 33 MHz( 最大 )
FR コア内蔵リソース ∼ 16.5 MHz( 最大 )
<注意事項>
周辺モジュールの MAC IF を使用して , 100Base の通信を行う場合は , 周辺モジュールの
動作周波数を 25 MHz より上に設定する必要があります (33 MHz ≧ 周辺モジュール動作
周波数 > 25 MHz)。
消費電力:250 mW @ 33 MHz ( 最大 )
6
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.2
MB91402/403 シリーズ
1.2
ブロックダイヤグラム
図 1.2-1 に MB91402/403 シリーズのブロックダイヤグラムを示します。
■ MB91402/403 シリーズのブロックダイヤグラム
図 1.2-1 MB91402/403 シリーズのブロックダイヤグラム
E
D-RAM(8Kバイト)
UART
INT
(2チャネル)
INT
I-Cache(4Kバイト)
B
R
Serial IF
(2チャネル)
OSC
DMAC
水晶発振子/
外部クロック
CLK
Cont
PLL
Timer
FR CORE
T
暗号/認証マクロ
DSU
10/100 Ethernet
MAC Controller
DSU IF
PHY
DES/3DES/AES
L2/L3/L4 Filtering
HMAC-MD5/SHA1
I2C bus
I2C IF
GPIO
PORT
MUX
32bit
bus
DH
MPU IF
MPU IF/PORT
8/16-bit bus
RAM
64Kバイト
MB91402/403
FR コア
SRAM/
SDRAM
ROM/
Flash
:CPU, U-Timer, UART, タイマ , 割込みコントローラ , DMAC, ビット
サーチ , 外部割込み , メモリ IF, Data-RAM, Cache, バスコントローラ
周辺リソース :LAN, MPU IF, 暗号 / 認証マクロ (MB91403 のみ ), GPIO, I2C, 内蔵 RAM
( 周辺リソースはバスコントローラのバスに接続しています )。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
7
第 1 章 概要
1.3
MB91402/403 シリーズ
外形寸法図
1.3
MB91402/403 シリーズには , 1 種類のパッケージが用意されています。図 1.3-1 に
パッケージの外形寸法を示します。
■ 外形寸法図 (LQFP-144)
図 1.3-1 外形寸法図
プラスチック・LQFP, 144 ピン
(FPT-144P-M08)
プラスチック・LQFP, 144 ピン
(FPT-144P-M08)
リードピッチ
0.50mm
パッケージ幅×
パッケージ長さ
20.0 × 20.0mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70mm MAX
質量
1.20g
コード(参考)
P-LFQFP144-20×20-0.50
注 1)* 印寸法はレジン残りを含まず。レジン残りは、片側 +0.25(.010)MAX
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
22.00±0.20(.866±.008)SQ
* 20.00±0.10(.787±.004)SQ
108
0.145±0.055
(.006±.002)
73
109
72
0.08(.003)
Details of "A" part
+0.20
1.50 –0.10
+.008
.059 –.004
0˚~8˚
INDEX
144
37
"A"
LEAD No.
1
36
0.50(.020)
0.22±0.05
(.009±.002)
0.08(.003)
0.50±0.20
(.020±.008)
0.60±0.15
(.024±.006)
0.10±0.10
(.004±.004)
(Stand off)
0.25(.010)
M
©2003-2008 FUJITSU MICROELECTRONICS LIMITED F144019S-c-4-7
C
(Mounting height)
2003 FUJITSU LIMITED F144019S-c-4-6
単位:mm (inches)
注意:括弧内の値は参考値です。
最新の外形寸法図については , 下記の URL にてご確認ください。
http://edevice.fujitsu.com/package/jp-search/
8
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.4
MB91402/403 シリーズ
1.4
端子配列図
MB91402/403 シリーズの端子配列図を示します。
■ 端子配列図 (LQFP-144)
MIFD0/PB0
MIFD1/PB1
MIFD2/PB2
MIFD3/PB3
VSS
MIFD4/PB4
MIFD5/PB5
MIFD6/PB6
MIFD7/PB7
VDDE
MIFD8/PB8
MIFD9/PB9
MIFD10/PB10
MIFD11/PB11
VSS
MIFD12/PB12
MIFD13/PB13
MIFD14/PB14
VDDE
MIFD15/PB15
D16
D17
D18
D19
D20
D21
D22
D23
D24
D25
D26
D27
D28
D29
D30
D31
図 1.4-1 端子配列図
108
106
107
MIFCS/PB21
EXA/PB20
MIFRD/PB19
MIFWR/PB18
VDDE
MIFDRQR/PB17
MIFDRQT/PB16
VSS
PA3
PA2
PA1
PA0
SDA
SCL
VDDE
TXEN
TXD3
VSS
TXD2
TXD1
TXD0
MDCLK
VDDE
MDIO
TEST2
TEST1
TEST0
VPD
C
VSS
RXER
RXDV
RXCRS
RXD0
RXD1
RXD2
104
105
102
103
100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73
101
109
72
110
71
111
70
112
69
113
68
114
67
115
66
116
65
117
64
118
63
119
62
120
61
121
60
122
59
123
58
MB91403
(Top View)
124
125
126
127
128
129
130
56
55
54
53
52
51
131
50
132
49
133
48
134
47
135
46
136
45
137
44
138
43
139
42
140
41
141
40
142
39
143
38
144
37
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
RDY
SCK0
SCK1
VDDE
SOUT0
SOUT1
SIN0
SIN1
ICD3
ICD2
ICD1
ICD0
ICS2
VSS
ICS1
VDDE
ICS0
ICLK
VSS
MDI2
BREAKI
MDI1
MDI0
X1
VDDE
X0
VDDE
INT6
INT7
INIT
SM
XTEST
TXCLK
COL
RXCLK
RXD3
CM71-10131-1
57
WR1
WR0
VSS
WE
SCAS
SRAS
MCLKO
MCLKE
VDDE
CS0
CS7
RD
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
VSS
A16
A17
A18
A19
A20
A21
A22
FUJITSU MICROELECTRONICS LIMITED
9
第 1 章 概要
1.5
1.5
MB91402/403 シリーズ
入出力端子
図 1.5-1 に MB91402/403 シリーズの入出力端子を示します。
■ 入出力端子
図 1.5-1 入出力端子
■SYSTEM
INIT 1
INT7, INT6 2
MDI2~MDI0 3
■OSCILLATOR
X0 1
X1 1
■ICE
BREAKI 1
ICS2~ICS0 3
ICLK 1
ICD3~ICD0 4
■TEST
TEST2~TEST0 3
XTEST 1
SM 1
VPD 1
■UART
SIN1, SIN0 2
SOUT1, SOUT0 2
SCK1, SCK0 2
■ETHERNET MAC IF
TXCLK 1
TXD3~TXD0 4
TXEN 1
RXCLK 1
RXER 1
RXD3~RXD0 4
RXDV 1
RXCRS 1
COL 1
MDCLK 1
MDIO 1
MB91403
信号線
124 Pin
電源/GND
20 Pin
N.C.
0 Pin
■MEMORY IF
A22~A0
D31~D16
RD
WR1, WR0
CS0, CS7
WE
MCLKE
SRAS
SCAS
MCLKO
RDY
■I2C IF
SDA
SCL
■MPU IF/GPIO(Port B)
MIFCS/PB21
MIFA/PB20
MIFRD/PB19
MIFWR/PB18
MIFDRQR/PB17
MIFDRQT/PB16
23
16
1
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
MIFD15~MIFD0/PB15~PB0 16
■GPIO (Port A)
PA3~PA0
4
■VDDE/GND
VDDE
VSS
C
10
9
1
LQFP-144
10
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.5
MB91402/403 シリーズ
■ 端子機能説明
MB91402/403 シリーズの端子機能一覧を説明します。
● フォーマット例
端子機能一覧は , 以下のフォーマット例に従って表記しています。
表 1.5-1 フォーマット例
端子名
端子番号
極性
I/O
回路
端子 1
1
正
OUT
C
端子の概略機能と使用方法を記述
端子 2
8
負
I/O
D
端子の概略機能と使用方法を記述
端子 3
2
正
IN
A
端子の概略機能と使用方法を記述
機能・用途
• 端子名
外部端子名称を示します。
• 端子番号
対象となる外部端子のパッケージピン番号を示します。
• 極性
入力・出力端子のアクティブとなる極性を示します。本仕様書では , 入力レベルを
"1" または "0" で , 出力レベルを "H" または "L" で表しています。
正:入力 "1" レベル , 出力 "H" レベル
負:入力 "0" レベル , 出力 "L" レベル
• I/O
MB91402/403 シリーズを基準とした信号の入出力方向を示します。
IN
:MB91402/403 シリーズに対する入力端子であることを示します。
OUT
:MB91402/403 シリーズに対する出力端子であることを示します。
I/O
:MB91402/403 シリーズに対する入出力端子であることを示します。
• 回路
I/O バッファの回路形式を表しています。
• 機能・用途
対象となる外部端子の機能概略を示します。
● 注意点
未使用端子は , 入力ならばインアクティブ方向 , 出力ならば開放にしてください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
11
第 1 章 概要
1.5
MB91402/403 シリーズ
■ SYSTEM ( 6 ピン )
表 1.5-2 SYSTEM ( 6 ピン )
端子名
INIT
INT7,
INT6
MDI2
∼
MDI0
端子番号
極性
7
負
8, 9
負
( 初期設
定時 )
17, 15, 14
−
I/O
IN
IN
IN
回路
機能・用途
A
設定初期化リセット入力端子です。
MB91402/403 シリーズ の設定初期化信号で
す。
電源投入時は , 電源および X0 端子の入力ク
ロックが安定するまで "0" レベルを印加し
てください。
INIT を "0" にアサートすると , すべての内部
レジスタおよび外部端子が初期化されます。
A
外部割込み入力端子です。
外部割込み要求を示す入力信号です。
外部割込み検出には , FR コアの ENIR,
EIRR, ELVR レジスタを設定してください。
A
モード端子端子です。
MB91402/403 シリーズ の動作モードを決定
する端子です。
必ず "001B" に設定してください。
■ OSCILLATOR ( 2 ピン )
表 1.5-3 OSCILLATOR ( 2 ピン )
端子名
端子番号
極性
I/O
回路
機能・用途
X0
11
−
IN
H
水晶発振 / 外部クロック入力 端子です。
水晶発振セルの入力および外部クロックの
入力共用端子です。
10 MHz ∼ 50 MHz の周波数を入力可能です。
X1
13
−
I/O
H
水晶発振出力端子です。
水晶発振セルの出力端子です。
■ ICE ( 9 ピン )
表 1.5-4 ICE ( 9 ピン )
端子名
端子番号
極性
I/O
回路
BREAKI
16
正
IN
B
エミュレータブレーク要求端子です。
ICE 接続時のエミュレータブレークです。
ICS2
∼
ICS0
24, 22, 20
正
OUT
C
エミュレータチップステータス端子です。
ICE 接続時のエミュレータステータスです。
ICLK
19
−
OUT
D-3
エミュレータクロック端子です。
ICE 接続時のエミュレータクロック端子です。
ICD3
∼
ICD0
28 ∼ 25
−
I/O
E
エミュレータデータ端子です。
ICE 接続時のエミュレータデータバスです。
12
機能・用途
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.5
MB91402/403 シリーズ
■ TEST ( 6 ピン )
表 1.5-5 TEST ( 6 ピン )
極性
I/O
回路
133 ∼
135
−
IN
A
テスト端子です。
TEST2=1, TEST1=1, TEST0=0 に固定してく
ださい。
XTEST
5
−
IN
A
SCAN テスト端子です。
SCAN テスト端子です。"0" に固定してくだ
さい。
SM
6
−
IN
A
SCAN モード端子です。
SCAN モード端子です。"0" に固定してくだ
さい。
VPD
136
−
IN
A
貫通電流防止端子です。
"0" に固定してください。
端子名
端子番号
TEST2
∼
TEST0
機能・用途
■ UART ( 6 ピン )
表 1.5-6 UART ( 6 ピン )
端子名
端子番号
極性
I/O
回路
機能・用途
SIN1,
SIN0
29, 30
−
IN
A
シリアルデータ入力端子です。
FR コア内蔵の UART のシリアルデータ入
力端子です。
SOUT1,
SOUT0
31, 32
−
OUT
C
シリアルデータ出力端子です。
FR コア内蔵の UART のシリアルデータ出
力端子です。
SCK1,
SCK0
34, 35
−
I/O
D-2
シリアルクロック入出力端子です。
FR コア内蔵の UART のシリアルクロック
入出力端子です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
13
第 1 章 概要
1.5
MB91402/403 シリーズ
■ MEMORY IF ( 50 ピン )
表 1.5-7 MEMORY IF ( 50 ピン )
端子名
端子番号
極性
I/O
回路
A22
∼
A0
37 ∼ 43,
45 ∼ 60
−
OUT
D-1
アドレス出力端子です。
23 ビットアドレス信号です。
D31
∼
D16
73 ∼ 88
−
I/O
D-1
データ入出力端子です。
16 ビットデータ入出力信号です。
D-2
チップセレクト出力端子です。
2 ビットチップセレクト信号です。
外部メモリへのアクセス時に "L" レベルを出
力します。
D-2
リードストローブ出力端子です。
リードストローブ信号です。
リードアクセス時に "L" レベルを出力しま
す。
D-2
ライトバイトストローブ出力端子です。
ライトバイトストローブ信号です。
ライトアクセス時に "L" レベルを出力しま
す。
( 注意事項 )SDRAM/FCRAM 領域に対して
は , DQM として機能します。
CS0, CS7
RD
WR1,
WR0
64, 63
61
71, 72
負
負
負
OUT
OUT
OUT
機能・用途
WE
69
負
OUT
D-2
ライトイネーブル出力端子です。
ライトイネーブル信号です。
バスサイズによらずにライトアクセス時に
"L" レベルを出力します。
( 注意事項 )SDRAM/FCRAM に対するライト
ストローブとして機能します。
MCLKE
65
正
OUT
D-2
メモリクロックイネーブル出力端子です。
SDRAM/FCRAM 領域に対して CKE として機
能します。
SRAS
67
負
OUT
D-2
RAS 信号出力端子です。
SDRAM/FCRAM 領域に対して RAS として機
能します。
SCAS
68
負
OUT
D-2
CAS 信号出力端子です。
SDRAM/FCRAM 領域に対して CAS として機
能します。
MCLKO
66
−
OUT
C
メモリクロック出力端子です。
内部バスと同じ周波数のクロックが出力され
ます。
A
外部 RDY 入力端子です。
外部バスサイクルが完了していないときに ,
"0" を入力することによりバスサイクルを延
長することができます。
RDY
14
36
正
IN
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.5
MB91402/403 シリーズ
■ ETHERNET MAC IF ( 17 ピン )
表 1.5-8 ETHERNET MAC IF( 17 ピン )
端子名
端子番号
RXCLK
2
極性
−
I/O
IN
回路
機能・用途
A
受信用クロック入力端子です。
受信時の MII の同期信号となります。周波
数は , 10 Mbps 時に 2.5 MHz , 100 Mbps 時に
25 MHz です。
RXER
139
正
IN
A
受信エラー入力端子です。
受信時に , PHY デバイスより "1" が入力さ
れると受信パケットにエラーが発生したこ
とを示します。
RXDV
140
正
IN
A
受信データ有効入力端子です。
受信データが有効であることを認識します。
RXCRS
141
正
IN
A
キャリアセンス入力端子です。
受信もしくは送信が行われている状態を示
します。
RXD3
∼
RXD0
1,
144∼ 142
−
IN
A
受信データ入力端子です。
PHY デバイスから入力される 4 ビット
データです。
A
コリジョン検出入力端子です。
TXEN 信号がアクティブ時に , この信号が
"1" の場合にコリジョンであることを示しま
す。それ以外は無視します。
A
送信用クロック入力端子です。
送信時の MII の同期信号となります。周波
数は , 10 Mbps 時に 2.5 MHz , 100 Mbps 時に
25 MHz です。
COL
3
TXCLK
4
TXEN
124
TXD3
∼
TXD0
125,
127∼ 129
MDCLK
130
MDIO
132
CM71-10131-1
正
−
IN
IN
正
OUT
C
送信イネーブル出力端子です。
TXD バス上に有効なデータが乗っているこ
とを示します。TXCLK に同期して出力され
ます。
−
OUT
C
送信データ出力端子です。
PHY デバイスへ送信する 4 ビットデータ
バスです。TXCLK に同期して出力します。
−
OUT
C
SMI クロック出力端子です。
SMI IF クロック端子です。PHY デバイスの
SMI クロック入力端子に接続してください。
−
I/O
D-2
SMI データ入出力端子です。
SMI データ入出力端子です。PHY デバイス
の SMI データと接続してください。
FUJITSU MICROELECTRONICS LIMITED
15
第 1 章 概要
1.5
MB91402/403 シリーズ
■ I2C IF ( 2 ピン )
表 1.5-9 I2C IF ( 2 ピン )
端子名
端子番号
極性
I/O
回路
SDA
121
−
I/O
G
シリアルデータライン入出力端子です。
I2C バスデータ入出力端子です。
SCL
122
−
I/O
G
シリアルクロックライン入出力端子です。
I2C バスクロック入出力端子です。
機能・用途
■ MPU IF /GPIO (Port B) ( 22 ピン )
表 1.5-10 MPU IF /GPIO(Port B) ( 22 ピン )
端子名
端子番号
MIFCS/
PB21
109
EXA/
PB20
MIFRD/
PB19
MIFWR/
PB18
MIFDRQR/
PB17
MIFDRQT/
PB16
MIFD15 ∼
MIFD0/
PB15 ∼
PB0
110
111
112
114
115
89,
91 ∼ 93,
95 ∼ 98,
100 ∼ 103,
105 ∼ 108
極性
I/O
負
IN
−
I/O
汎用の入出力ポートです。
IN
外部アドレス入力端子です。
外部ホストからのアドレス入力端子です。
"0" :レジスタ選択
"1" :FIFO データ選択
回路
機能・用途
F
外部チップセレクト入力端子です。
外部ホストからのチップセレクト入力端子です。
F
−
I/O
汎用の入出力ポートです。
負
IN
外部リードストローブ入力端子です。
外部ホストからのリードストローブ入力端子です。
−
I/O
汎用の入出力ポートです。
負
IN
外部ライトストローブ入力端子です。
外部ホストからのライトストローブ入力端子です。
−
I/O
負
OUT
−
I/O
負
OUT
−
I/O
汎用の入出力ポートです。
I/O
外部データ入出力端子です。
外部ホストとのデータバス bit15 ∼ bit0 の入出力
端子です。
−
F
F
汎用の入出力ポートです。
F
外部受信データ要求出力端子です。
受信 FIFO へのデータ書込み可能を示します。
汎用の入出力ポートです。
F
F
外部送信データ要求出力端子です。
送信レジスタおよび送信 FIFO にデータがあるこ
とを示します。
汎用の入出力ポートです。
上段 : MPU IF / 下段 : GPIO (Port B)
16
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.5
MB91402/403 シリーズ
■ GPIO (Port A) (4 ピン )
表 1.5-11 GPIO(Port A) (4 ピン )
端子名
端子番号
PA3
∼
PA0
117 ∼
120
極性
−
I/O
I/O
回路
機能・用途
F
GPIO 入出力端子です。
入出力ポートです。入力信号設定時には ,
信号変化による割込 みを発生することが
可能です。
■ 電源・GND (20 ピン )
表 1.5-12 電源・GND (20 ピン )
端子名
端子番号
I/O
機能・用途
VDDE
10, 12, 21, 33, 64,
90, 99, 113, 123,
131
電源
3.3 V 電源端子です。すべて同電位にて使用してくださ
い。
VSS
18, 23, 44, 70, 94,
104, 116, 126, 138
GND
GND 端子です。すべて同電位にて使用してください。
C
137
OUT
内蔵レギュレータ用のコンデンサ接続端子です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
17
第 1 章 概要
1.6
1.6
MB91402/403 シリーズ
端子番号対応表
MB91402/403 シリーズの端子番号対応表を示します。
■ 端子番号対応表
表 1.6-1 端子番号対応表 (1 / 2)
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
1
RXD3
37
A22
73
D31
109
MIFCS/PB21
2
RXCLK
38
A21
74
D30
110
MIFA/PB20
3
COL
39
A20
75
D29
111
MIFRD/PB19
4
TXCLK
40
A19
76
D28
112
MIFWR/PB18
5
XTEST
41
A18
77
D27
113
VDDE
6
SM
42
A17
78
D26
114
MIFDRQR/PB17
7
INIT
43
A16
79
D25
115
MIFDRQT/PB16
8
INT7
44
VSS
80
D24
116
VSS
9
INT6
45
A15
81
D23
117
PA3
10
VDDE
46
A14
82
D22
118
PA2
11
X0
47
A13
83
D21
119
PA1
12
VDDE
48
A12
84
D20
120
PA0
13
X1
49
A11
85
D19
121
SDA
14
MDI0
50
A10
86
D18
122
SCL
15
MDI1
51
A9
87
D17
123
VDDE
16
BREAKI
52
A8
88
D16
124
TXEN
17
MDI2
53
A7
89
MIFD15/PB15
125
TXD3
18
VSS
54
A6
90
VDDE
126
VSS
19
ICLK
55
A5
91
MIFD14/PB14
127
TXD2
20
ICS0
56
A4
92
MIFD13/PB13
128
TXD1
21
VDDE
57
A3
93
MIFD12/PB12
129
TXD0
22
ICS1
58
A2
94
VSS
130
MDCLK
23
VSS
59
A1
95
MIFD11/PB11
131
VDDE
24
ICS2
60
A0
96
MIFD10/PB10
132
MDIO
25
ICD0
61
RD
97
MIFD9/PB9
133
TEST2
26
ICD1
62
CS7
98
MIFD8/PB8
134
TEST1
18
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.6
MB91402/403 シリーズ
表 1.6-1 端子番号対応表 (2 / 2)
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
端子
番号
端子名
27
ICD2
63
CS0
99
VDDE
135
TEST0
28
ICD3
64
VDDE
100
MIFD7/PB7
136
VPD
29
SIN1
65
MCLKE
101
MIFD6/PB6
137
C
30
SIN0
66
MCLKO
102
MIFD5/PB5
138
VSS
31
SOUT1
67
SRAS
103
MIFD4/PB4
139
RXER
32
SOUT0
68
SCAS
104
VSS
140
RXDV
33
VDDE
69
WE
105
MIFD3/PB3
141
RXCRS
34
SCK1
70
VSS
106
MIFD2/PB2
142
RXD0
35
SCK0
71
WR0
107
MIFD1/PB1
143
RXD1
36
RDY
72
WR1
108
MIFD0/PB0
144
RXD2
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
19
第 1 章 概要
1.7
1.7
MB91402/403 シリーズ
入出力回路形式
MB91402/403 シリーズの入出力回路形式を示します。
■ 入出力回路形式
表 1.7-1 入出力回路形式 (1 / 3)
回路形式
分類
備 考
CMOS レベル入力
A
デジタル入力
プルダウン付き CMOS レベル入力
プルアップ抵抗値 = 約 33 kΩ(Typ)
デジタル入力
B
N-ch
CMOS レベル出力
IOL = 4 mA
P-ch
デジタル出力
N-ch
デジタル出力
C
CMOS レベル出力
CMOS レベル入力
IOL = 2 mA
P-ch
デジタル出力
N-ch
デジタル出力
D-1
デジタル入力
20
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 1 章 概要
1.7
MB91402/403 シリーズ
表 1.7-1 入出力回路形式 (2 / 3)
回路形式
分類
備 考
CMOS レベル出力
CMOS レベル入力
IOL = 4 mA
P-ch
デジタル出力
N-ch
デジタル出力
D-2
デジタル入力
CMOS レベル出力
CMOS レベル入力
IOL = 8 mA
P-ch
デジタル出力
N-ch
デジタル出力
D-3
デジタル入力
P-ch
デジタル出力
N-ch
デジタル出力
プルダウン付き
CMOS レベル出力
CMOS レベル入力
プルダウン抵抗値=約 33 kΩ(Typ)
IOL = 4 mA
E
N-ch
デジタル入力
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
21
第 1 章 概要
1.7
MB91402/403 シリーズ
表 1.7-1 入出力回路形式 (3 / 3)
回路形式
分類
P-ch
備 考
P-ch
デジタル出力
N-ch
デジタル出力
プルアップ付き
CMOS レベル出力
CMOS レベル入力
プルアップ抵抗値=約 33 kΩ(Typ)
IOL = 4 mA
F
デジタル入力
デジタル入力
G
P-ch
デジタル出力
N-ch
デジタル出力
I2C Bus Fast Mode I/O Buffer
CMOS レベル出力
CMOS シュミットトリガ入力
IOL = 4 mA
N-ch
発振出力
H
発振回路
帰還抵抗 1 MΩ
X1
内蔵帰還抵抗
X0
22
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第2章
デバイスの取扱いについて
MB91402/403 シリーズの取扱い上の注意について
説明します。
2.1 デバイスの取扱いについて
2.2 メモリ空間
2.3 動作説明
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
23
第 2 章 デバイスの取扱いについて
2.1
2.1
MB91402/403 シリーズ
デバイスの取扱いについて
MB91402/403 シリーズの取扱い上の注意について説明します。
■ デバイスの取扱いについて
● ラッチアップ防止のために
CMOS IC では入力端子や出力端子に VDDE より高い電圧や VSS より低い電圧を印加
した場合 , または VDDE と VSS との間に定格を超える電圧を印加した場合に , ラッチ
アップ現象を発生することがあります。ラッチアップが発生すると電源電流が激増し ,
素子の熱破壊に至ることがありますので , 使用に際しては最大定格を超えることのな
いように十分に注意してください。
● 未使用端子の処理について
使用していない入力端子を開放のままにしておくと誤動作の原因となることがありま
すので , プルアップまたはプルダウンなどの処理をしてください。
● 出力端子の処理について
出力端子を電源やほかの出力端子とショートさせたり , 大きな容量負荷を接続したり
すると大電流が流れる場合があります。このような状態が長時間続くとデバイスが劣
化しますので , 使用に際しては最大定格を超えることのないように十分に注意してく
ださい。
● モード (MDI3 ∼ MDI0)・テスト (TEST2 ∼ TEST0, XTEST, SM, VPD) 端子について
これらの端子は , VDDE または VSS に直接つないで使用してください。ノイズにより
誤ってテスト・モードに入ってしまうことを防ぐために , プリント板上の各モード端子
と VDDE または VSS 間のパターン長をできる限り短くし , これらを低インピーダンス
で接続するようにしてください。
● 電源端子について
電源供給源からできる限り低インピーダンスで本デバイスのVDDE, VSSに接続するよ
うな配慮をお願いいたします。さらに , 本デバイスの近くで , VDDE と VSS の間に ,
0.1 µF 程度のセラミック・コンデンサをバイパス・コンデンサとして接続することを
お勧めします。
● 水晶発振回路
X0 端子 , X1 端子の近辺のノイズは , MB91402/403 シリーズの誤動作の原因になりま
す。X0 端子 , X1 端子および水晶振動子 , さらにグランドへのバイパスコンデンサはで
きる限り近くに配置するようにプリント基板を設計してください。また , X0 端子 , X1
端子の周りをグランドで囲むようなプリント基板アートワークは , 安定した動作を期
待できますので強くお薦めします。
各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。
24
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.1
MB91402/403 シリーズ
● MB91402/403 シリーズと ICE との接続仕様
ユーザシステム上に実装するエミュレータインタフェースコネクタの推奨型格および
回路構成 , 設計時の注意 , 配線規定を示します。
フラットケーブル使用時には , ハウジングがあるコネクタの組合せを選択されること
を推奨します。
表 2.1-1 推奨コネクタ型格
付属ケーブル
型格
備考
FPC ケーブル
FH10A-30S-1SH( メーカ:ヒロセ電機株式会社 )
ラッチ付き
• 回路構成
ICE と接続する場合は , 動作の安定のため ICLK 信号に直列にダンピング抵抗 15Ω
を入れてください。
プリント基板を設計する際には , MB91402/403 シリーズの ICLK
端子の近くに抵抗が実装されるようにしてください。
図 2.1-1 回路構成
エミュレータインタフェースコネクタ
評価用MCU
MB2198-01,MB2197-01側
VDDE
MB91402/403シリーズ
FUSE*1
UVcc
VDDE
15 Ω *3
ICLK
ICLK
ICS2~ICS0
ICS2~ICS0
ICD3~ICD0
ICD3~ICD0
BREAK
BREAKI
RST
INIT
*2
XRSTIN
FR
(開放)
リセット
出力回路
GND
VSS
*1:定格電流以上の容量があるパターンで配線してください。
*2:切換え回路が必要になる場合がありますので,「・設計時の注意」を参照してください。
*3:抵抗は MB91402/403シリーズのICLK端子の近くに実装してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
25
第 2 章 デバイスの取扱いについて
2.1
MB91402/403 シリーズ
• 設計時の注意
エミュレータを接続しない状態でユーザシステム上の評価 MCU を動作させる場合
には , ユーザシステム上でエミュレータインタフェースと接続している評価 MCU
の各入力端子を処理する必要があります。よって , ユーザシステム上に切換え回路
などが必要になる場合がありますので , 設計時には注意してください。
各エミュレータインタフェースの端子処理について , 以下に示します。
表 2.1-2 エミュレータインタフェース端子処理 (DSU-3)
評価 MCU 端子名
端子処理
INIT
ユーザシステム上のリセット出力回路に接続します。
BREAKI
プルダウン処理してください。
その他
開放とします。
表 2.1-3 エミュレータインタフェース配線規定
信号線名
配線規定
ICLK
ICS2 ∼ ICS0
ICD3 ∼ ICD0
BREAK
・各信号の総配線長 ( 評価 MCU ピンからエミュレータ
インタフェースコネクタピンまで ) は , 50 mm 以内と
します。
・各信号の総配線長の差は 2 mm 以内とし , かつ ICLK
の総配線長を最短とします。
UVCC
・定格電流以上の容量があるパターンで配線してくださ
い。
・プローブの誤接続により各電源と GND がショートし
たり逆接続となる場合がありますので安全のため各電
源パターンにヒューズなどの保護回路を挿入してくだ
さい。
GND
グランドプレーンなどの電源系パターンに直結してく
ださい。
• 参照ドキュメント
ICE との接続に関しては , 下記マニュアルも併せて参照してください。
- DSU-FR エミュレータ MB2198-01 ハードウェアマニュアル
- FR20/30 シリーズ MB2197-01 ハードウェアマニュアル
26
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.1
MB91402/403 シリーズ
● 水晶振動子を実装する際の注意点
MB91402/403 シリーズに内蔵する水晶発振回路は下記のような構成により動作しま
す。
図 2.1-2 水晶発振回路
MB91402/403シリーズ
OSC
X0
X1
Rr
オーバトーン
発振時 装着
L
水晶振動子
C1
C2
C3
• 端子説明
表 2.1-4 X0,X1 端子の説明
端子名
機能
X0
水晶発振セル (OSC) の入力端子
X1
水晶発振セル (OSC) の出力端子
• 外部基板上の回路定数
表 2.1-5 回路定数
回路定数
説明
C1, C2, C3
外部負荷容量
L
インダクタンス
Rr
ダンピング抵抗 ( 必要に応じて付加 )
• 参考値
表 2.1-6 発振周波数における各素子の参考値
発振周波数
C1, C2
C3
L
Rr*
30MHz 以下
5pF ∼ 33pF
なし
なし
なし
20 MHz ∼ 50 MHz
5pF ∼ 15pF
10nF 程度
1µH 程度
なし
*:Rr( ダンピング抵抗 ) は必要に応じて付加してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
27
第 2 章 デバイスの取扱いについて
2.1
MB91402/403 シリーズ
20MHz ∼ 30 MHz 帯の振動子の基本波やオーバトーン特性によっては , C3/L を付加
する必要があります。
( 注意事項 ) 本参考値は目安です。使用する水晶振動子の特性によっても定数は変
動します。そのため , 回路定数の決定には , 評価サンプルを使用した
事前評価をお勧めします。評価サンプルの提供に関しては , 営業部門
までご相談ください。
● 水晶発振セルで LSI 外部からの CLK 入力信号を受ける場合
LSI 外部で発振モジュールなどにより発生させた CLK 信号を使用する場合には以下の
図に示しますように , X0 端子に外部 CLK 信号を入力し , X1 端子は開放処理してくだ
さい。
図 2.1-3 LSI 外部からの CLK 入力信号を受ける場合
外部CLK
X0
開放
X1
MB91402/403シリーズ
<注意事項>
外部から入力される波形が小振幅波形の場合で , 信号がインバータの Vth(VDDE/2) を横切
らない場合には , 信号を LSI 内部側に伝播できませんので , 基板上の発振モジュールなど
と X0 端子間にコンデンサを 0.01 µF 程度直列に挿入し , 信号をインバータの Vth 中心の
入力波形に整形して入力するなどの対策が必要な場合があります。
■ 電源に関する取扱い上の注意
● 電源投入時について
電源投入時は必ず INIT 端子にて設定初期化リセット (INIT) をかけてください。また ,
入力クロックが安定するまで , INIT 端子への "L" レベル入力を接続してください。
● 電源投入時の不定出力について
電源投入時は内部電源が安定するまでの間 , 出力端子が不定となる可能性があります。
● 内蔵 DC-DC レギュレータについて
MB91402/403 シリーズはレギュレータを内蔵しております。VDDE 端子には , 3.3 V を
供給して , C 端子にはレギュレータ用に 4.7µF 程度のパスコンデンサを必ず入れる必要
があります。
28
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.1
MB91402/403 シリーズ
図 2.1-4 内蔵 DC-DC レギュレータ
3.3V
VDDE
C
4.7μF
VSS
MB91402/403シリーズ
GND
● ウォッチドッグタイマ機能について
本マクロが備えているウォッチドッグタイマ機能は , プログラムが一定時間内にリ
セット延期動作を行うことを監視し , プログラムの暴走によりリセット延期動作が行
われなかったときに , CPU をリセットするための機能です。そのため , いったんウォッ
チドッグタイマ機能を有効にすると , リセットをかけるまで動作を続けます。
例外として , CPU のプログラム実行が停止する条件では自動的にリセット延期を行い
ます。この例外にあてはまる条件については , 「3.12.6 クロック制御部にある周辺回
路」を参照してください。
なお , システムの暴走により上記状態となってしまった場合 , ウォッチドッグリセット
が発生しない可能性があります。その場合 , 外部 INIT 端子よりリセット (INIT) をかけ
てください。
● 制限事項
クロック制御部
• INIT への "L" 入力時には , クロック発振安定待ち時間を確保してください。
• スタンバイモードに入れる場合は, 同期スタンバイモード(TBCR:タイムベースカウ
ンタ制御レジスタの bit8 SYNCS ビットにて設定します ) を使用した上で , 以下の
シーケンスを必ず使用してください。
(LDI
#value_of_standby,R0) ; value_of_standby は STCR への
; ライトデータ
(LDI
#_STCR,R12)
; _STCR は STCR のアドレス (481H)
STB
R0,@R12
; スタンバイ制御レジスタ (STCR) への
; 書込み
LDUB
@R12,R0
; 同期スタンバイのための STCR リード
LDUB
@R12,R0
; もう一度 STCR をダミーリード
NOP
NOP
NOP
NOP
NOP
• モニタデバッガを使用される場合は , 以下のことを行わないでください。
- 上記命令列に対するブレークポイントの設定
- 上記命令列に対するステップ実行
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
29
第 2 章 デバイスの取扱いについて
2.1
MB91402/403 シリーズ
CPU
• D-bus からは命令フェッチを行いませんので , D-bus RAM 上にはコード領域を設定
しないでください。
• スタック領域およびベクタテーブルを命令 RAM 上に設定しないでください。
• DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込みを受け付けた場合 , (b) ステッ
プ実行を行った場合 , (c) データイベントまたはエミュレータメニューにてブレーク
した場合 , 以下のような動作を行う場合があります。
(1) D0, D1 フラグが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み , またはエミュレータ ) を実行します。
(3) EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0/D1 フラグが (1) と同じ値に
更新されます。
• ユーザ割込み要因が発生している状態で割込みを許可するために , ORCCR,STLIM,
MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。
(1) PS レジスタが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み ) を実行します。
(3) EIT から復帰後 , 上記命令が実行されて PS レジスタが (1) と同じ値に更新され
ます。
• 一部の命令で PS レジスタを先行処理しているため , 下記の例外動作により , デバッ
ガ使用時に割込み処理ルーチンでブレークしたり , PS フラグの表示内容が更新され
たりする場合があります。いずれの場合も EIT から復帰後に正しく再処理を行いま
すので , EIT 前後の動作は仕様どおりの処理を行います。
1. DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込みを受け付けた場合 , (b)
ステップ実行を行った場合 , (c) データイベントまたはエミュレータメニュー
にてブレークした場合 , 以下のような動作を行う場合があります。
(1) D0, D1 フラグが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み , またはエミュレータ ) を実行します。
(3) EIT から復帰後 , DIV0U/DIV0S 命令が実行されて D0/D1 フラグが (1) と
同じ値に更新されます。
2. ユーザ割込み要因が発生している状態で割込みを許可するために , ORCCR,
STLIM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。
(1) PS レジスタが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み ) を実行します。
(3) EIT から復帰後 , 上記命令が実行されて PS レジスタが (1) と同じ値に更
新されます。
• RETI 命令直前で , 命令キャッシュの制御レジスタおよび RAM モード時のキャッ
シュメモリへのデータアクセスを行わないでください。
30
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.1
MB91402/403 シリーズ
• 下記の命令を実行した場合 , R15 として SSP, USP* の値が使われず , 結果として誤っ
た値をメモリへ書き込んでしまいます。
Ri として R15 を指定した , 下記 10 種類の命令のみが該当します。
AND
R15,@Rj
ANDH
R15,@Rj
ANDB R15,@Rj
OR
R15,@Rj
ORH
R15,@Rj
ORB
EOR
R15,@Rj
EORH
R15,@Rj
EORB R15,@Rj
XCHB
@Rj,R15
R15,@Rj
*: R15 は実態がなく , プログラムから R15 をアクセスした場合 , PS レジスタの "S"
フラグの状態によって , SSP あるいは USP がアクセスされます。
上記 10 命令をアセンブラで記述する場合は , R15 以外の汎用レジスタを指定してく
ださい。
外部バスインタフェース
• リトルエンディアンに設定した領域のバス幅を 32 ビットとした場合 , 該当する領域
へのアクセスは , ワード (32 ビット ) アクセス限定としてください。
• リトルエンディアンに設定した領域に対して , プリフェッチを許可する場合 , 該当す
る領域へのアクセスは , ワード (32 ビット ) アクセス限定としてください。バイト ,
ハーフワードアクセスでは , 正しくアクセスできません。
DMA
命令 RAM に対して DMA 転送を行わないでください。
ビットサーチモジュール
BSD0, BSD1, BSDC レジスタはワードアクセスのみです。
■ デバッグ関連に関する取扱い上の注意
● RETI 命令のステップ実行
ステップ実行する際 , 割込みが頻繁に発生する環境下では , RETI をステップ実行した
後に該当割込み処理ルーチンだけを繰り返して実行します。その結果 , メインルーチン
や割込みレベルの低いプログラムの実行が行われなくなります。
回避のために , RETI 命令をステップ実行しないでください。または , 該当割込みルー
チンのデバッグが不要になった段階で , 該当割込みを禁止してからデバッグを行って
ください。
● オペランドブレーク
システムスタックポインタのアドレスを含む領域に対するアクセスをデータイベント
ブレークの対象に設定しないでください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
31
第 2 章 デバイスの取扱いについて
2.1
MB91402/403 シリーズ
● NMI 要求 (tool) に対する割込みハンドラ
ICE未接続の状態において, ICEからのブレーク要求のみでセットされる要因フラグが,
DSU 端子へのノイズなどの影響で誤ってセットされた場合の誤動作を防ぐため , 次の
プログラムを割込みハンドラに追加してください。
なお , このプログラムを追加した状態で ICE を使用しても問題ありません。
追加場所
次の割込みハンドラ
割込み要因
: NMI 要求 (tool)
割込み番号
: 13(10 進 ), 0D(16 進 )
オフセット
: 3C8H
TBR がデフォルトアドレス
: 000FFFC8H
追加プログラム
STM
(R0,R1)
LDI
#B00H,R0
LDI
#0,R1
STB
R1,@R0
LDM
(R0,R1)
; B00H は DSU のブレーク要因レジスタのアドレス
; ブレーク要因レジスタをクリア
RETI
● トレースモード
デバッグ時のトレースモードを「フルトレースモード」( 内蔵 FIFO を出力バッファと
して ICE 本体のトレースメモリを使う , トレースデータロストが発生しないモード ) に
設定した場合 , 電流が増加したり , D-bus DMA アクセスが失われたりする場合があり
ます。また , トレースデータロストが発生してしまう場合があります。
回避のために , フルトレースモードには設定しないでください。
● ソフトウェアブレークとユーザ割込み同時発生
ソフトウェアブレークとユーザ割込みが同時に発生した場合 , デバッガにて , 以下の現
象が発生することがあります。
• 設定したブレークポイントでないところを示して停止します。
• 停止後の再実行が正しく行われません。
本現象が発生した場合は , ソフトウェアブレークだけでなく , ハードウェアブレークを
使用してください。また , モニタデバッガを使用する場合は , 該当箇所にブレークを設
定しないようにしてください。
32
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
2.2
第 2 章 デバイスの取扱いについて
2.2
メモリ空間
MB91402/403 シリーズのメモリ空間について説明します。
■ メモリ空間
2.2.1 FR コア領域
2.2.2 外部領域
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
33
第 2 章 デバイスの取扱いについて
2.2
2.2.1
MB91402/403 シリーズ
FR コア領域
FR ファミリの論理アドレスは 4G バイト (232 番地 ) あり , CPU はリニアにアクセス
を行います。
■ ダイレクトアドレッシング領域
アドレス空間の下記の領域は I/O 用に使用されます。
この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアド
レスを指定できます。
ダイレクト領域は , アクセスするデータのサイズにより , 以下のように異なります。
⇒ バイトデータアクセス
: 000H ∼ 0FFH
⇒ ハーフワードデータアクセス
: 000H ∼ 1FFH
⇒ ワードデータアクセス
: 000H ∼ 3FFH
■ メモリマップ
図 2.2-1 メモリマップ
0000 0000H
ダイレクト
アドレッシング領域
I/O
I/O
0000 0400H
I/Oマップを参照
I/O
0001 0000H
I-bus RAM 4Kバイト(およびそのミラー)
0002 0000H
アクセス禁止領域
0003 E000H
D-bus RAM 8Kバイト
0004 0000H
外部領域
FFFF FFFFH
※色付部分がFRコア領域です。
34
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.2
MB91402/403 シリーズ
2.2.2
外部領域
外部領域は FR コアのチップセレクト機能を使用してアクセスする領域です。
MB91402/403 シリーズ内蔵の FR コアは , 8 つの CS( チップセレクト ) 領域を設定する
ことが可能です。MB91402/403 シリーズでは , 以下のように割り付けられています。
• CS0, CS1, CS7: ユーザ領域
- CS1 内蔵 RAM 領域に割り当てられております。
CS0, CS7 この領域が , 外部チップセレクト信号:CS0/CS7 に割り当てられます。
- CS0 → CS0
- CS7 → CS7
• CS2 ∼ CS5: MB91402/403 シリーズ管理領域
■ チップセレクト領域設定
CS1 ∼ CS5 領域に割り当てられている MB91402/403 シリーズ管理領域とは , MB91402/
403 シリーズに内蔵している MACインタフェース , 暗号・認証処理部 , I2C インタフェー
ス , GPIO などの周辺モジュールのレジスタや処理領域を示します。
それぞれのモジュールのレジスタを設定する前に , まず FR コア内の ASR(Area Select
Register), ACR(Area Configuration Register), AWR(Area Wait Register) を設定して CS 領域
を定義してください。
表 2.2-1 に , CS1 ∼ CS5 領域のそれぞれに割り当てられているモジュール , および FR
コアの RDY 制御を行うかどうかを示します。
表 2.2-1 CS1 ∼ CS5 領域のそれぞれに割り当てられているモジュールおよび FR コアの RDY 制御
CS 領域
モジュール
アドレス
SIZE
RDY 制御
64K バイト
不要
64K バイト
不要
256K バイト
不要
64K バイト
不要
64K バイト
不要
0010_0000H
CS1
内蔵 RAM
∼
0010_FFFFH
010F_0000H
2
CS2
I C IF
CS3
MAC/MII IF
暗号・認証処理部
∼
010F_FFFFH
0110_0000H
∼
0113_FFFFH
0114_0000H
CS4
MPU IF/PORT
∼
0114_FFFFH
0115_0000H
CS5
CM71-10131-1
DH 処理部
∼
0115_FFFFH
FUJITSU MICROELECTRONICS LIMITED
35
第 2 章 デバイスの取扱いについて
2.2
MB91402/403 シリーズ
<注意事項>
MB91402/403 シリーズ管理領域は , 基本的に 32 ビットバス仕様ですが , CS2 に関しては ,
8 ビットバス仕様となりますので注意してください。
以下に , FR コア内の ASR, ACR, AWR レジスタの設定例を示します。
各 CS 設定値 ( 例 )
ASR0=000CH
ACR0=2940H
AWR0=0148H
ASR1=0010H
ACR1=0920H
AWR1=0148H
ASR2=010FH
ACR2=0020H
AWR2=2048H
ASR3=0110H
ACR3=2820H
AWR3=1048H
ASR4=0114H
ACR4=0820H
AWR4=2058H
ASR5=0115H
ACR5=0820H
AWR5=2048H
FR コアが持つ次の機能は DMAC や MPU I/F で使用していますが , MB91420/430 シリー
ズでは外部端子としては出していません。
• DREQ0 ∼ DREQ2:DMA の外部転送要求入力
• BRQ:外部バス開放要求入力
• BGRNT:外部バス開放受付け出力
36
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.2
MB91402/403 シリーズ
● ASR(Area Select Register) 設定例
図 2.2-2 ASR(Area Select Register) 設定例
bit15
A31
ASRx
bit14
A30
bit13
A29
・・・・・
bit2
A18
bit1
A17
bit0
A16
bit9
BST1
bit8
BST0
・CS0 : 000CH
・CS1 : 0010H
・CS2 : 010FH
・CS3 : 0110H
・CS4 : 0114H
・CS5 : 0115H
● ACR(Area Configuration Register) 設定例
図 2.2-3 ACR(Area Configuration Register) 設定例
ACRxH
bit15
ASZ3
bit14
ASZ2
bit13
ASZ1
bit12
ASZ0
bit7
SREN
bit6
PFEN
bit5
WREN
CS0, CS1 : 1
CS0 :0
0
(BRQ/BGR (プリフェッ (書込み
NTXなし) チ許可)
禁止)
以外 : 0
以外 : 1
(プリフェッ (書込み
チ禁止)
許可)
CM71-10131-1
bit10
DBW0
・CS0 : 10B (32ビット) ・CS0 : 01B (2バースト)
・CS1 : 10B (32ビット) ・CS1 : 01B (2バースト)
・CS2 : 00B (8ビット) ・CS2~CS5 : 00B
・CS3 : 10B (32ビット) (シングルアクセス)
・CS4 : 10B (32ビット)
・CS5 : 10B (32ビット)
・CS0 : 2H (256Kバイト)
・CS1 : 0H (64Kバイト)
・CS2 : 0H (64Kバイト)
・CS3 : 2H (256Kバイト)
・CS4 : 0H (64Kバイト)
・CS5 : 0H (64Kバイト)
ACRxL
bit11
DBW1
bit4
0
bit3
TYP3
bit2
TYP2
bit1
TYP1
bit0
TYP0
CS0~CS5 : 0H (通常アクセス)
FUJITSU MICROELECTRONICS LIMITED
37
第 2 章 デバイスの取扱いについて
2.2
MB91402/403 シリーズ
■ AWR (Area Wait Register) 設定例
図 2.2-4 AWR(Area Wait Register) 設定例
bit15
W15
AWRxH
bit14
W14
bit13
W13
bit12
W12
bit11
W11
bit7
W07
bit6
W06
bit5
W05
bit4
W04
01B
・CS0~CS3,CS5
(リード/ライト連続時の (ライトリカバリ
アイドルサイクル:1)
サイクル:0)
・CS4 : 01B
: 00B
bit9
W09
bit8
W08
・CS0 : 1H (1ウェイトサイクル)
・CS1 : 1H (1ウェイトサイクル)
以外, 0H
・CS0 : 0H (0ウェイトサイクル)
・CS1 : 0H (0ウェイトサイクル)
・CS2 : 2H (2ウェイトサイクル)
・CS3 : 1H (1ウェイトサイクル)
・CS4 : 2H (2ウェイトサイクル)
・CS5 : 2H (2ウェイトサイクル)
AWRxL
bit10
W10
(バーストアクセスノンサポート)
bit3
W03
bit2
W02
bit1
W01
bit0
W00
1B
0B
0B
0B
(CSセット (CSホー
(非同期ラ
(アドレス
イトストロー セットアップ アップサイ ルドサイ
クル:0)
ブ出力)
サイクル:0) クル:0)
(ライトリカバリ
サイクル:1)
<注意事項>
AWR4 の W05, W04 においては , 00B の設定は禁止です。
38
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.2
MB91402/403 シリーズ
■ アドレスマップ
以下に MB91402/403 シリーズのアドレスマップを示します。
図 2.2-5 アドレスマップ
Module Name
Chip Select
SIZE
Wait
Cycle
0000_0000H
FR コア領域
FRコア内部領域
0004_0000H
0010_0000H
010F_0000H
内蔵RAM
CS1
64Kバイト
0
I2C IF
CS2
64Kバイト
2
MAC/MII IF
暗号・認証処理部
CS3
256Kバイト
1
ユーザ領域
0110_0000H
0111_0000H
0112_0000H
MB91402/403シリーズ
管理領域
0113_0000H
0114_0000H
0115_0000H
MPU IF/GPIO
CS4
64Kバイト
2
DH処理部
CS5
64Kバイト
2
0116_0000H
FFFF_FFFFH
MB91402/403 シリーズ管理領域に割り当てられている内蔵 RAM および周辺モジュー
ルは , 上図以外のアドレス空間への設定も可能です。その際 , CS5 ∼ CS2 領域は , ス
タートアドレスが以下の条件を満たす必要があります。
【CS3 スタートアドレス設定条件】
Address[17:16]= 00B
【CS5, CS4, CS2 スタートアドレス設定条件】
Address[13:12]= 00B
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
39
第 2 章 デバイスの取扱いについて
2.3
2.3
MB91402/403 シリーズ
動作説明
FR70 のほかのシリーズと異なる MB91402/403 シリーズ固有の動作を説明します。
■ クロック
• クロック発生制御
内部動作クロックは , FR コアにて以下のように発生します。
- ソースクロックの選択:クロックの供給源を選択します。
- ベースクロックの発生:ソースクロックを 2 分周または PLL 発振させ , 基本ク
ロックを生成します。
- 各内部クロックの発生:ベースクロックを分周し , 各部に供給する 3 種類の動作
クロックを生成します。
以下 , 各クロック生成とその制御について説明します。各解説にあるレジスタフラ
グの詳細な説明は ,「3.12.4 クロック生成制御部のブロックダイヤグラム」,「3.12.5
クロック生成制御部のレジスタ」を参照してください。
• ソースクロック
- 自励発振モード (X0/X1 端子入力 )
外部発振端子に発振子を接続し, 内蔵発振回路で生成した原発振をソースクロッ
クとするモードです。外部バスクロックを含むすべてのクロック供給源は , FR コ
アとなります。
- 外部発振モード (X0 端子入力 , X1 端子開放 )
LSI外部で発振モジュールなどにより発生させたクロックをソースクロックとす
るモードです。外部バスクロックを含むすべてのクロックの供給源は , FR コア
となります。
<注意事項>
外部より入力される波形が小振幅波形の場合で , 信号がインバータの Vth(VDDE/2) を横切
らない場合には , クロック信号が LSI 内部に伝播しません。その場合は , 基板上の発振モ
ジュールなどと X0 端子間にコンデンサを 0.01 µF 程度直列に挿入し , 信号をインバータ
の Vth 中心の入力波形に整形して入力するなどの対策が必要な場合があります。
• ベースクロック
内部ベースクロックは , 以下のソースクロックのうちから選択します。
- メインクロックを 2 分周したもの
- メインクロックを PLL で逓倍したもの
ソースクロックの選択制御は , クロックソース制御レジスタ (CLKR) の設定により
行います。
40
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.3
MB91402/403 シリーズ
● クロック発生制御部の概要図
以下に , クロック発生制御部のブロックダイヤグラムを示します。
図 2.3-1 クロック発生制御部のブロックダイヤグラム
クロック生成部
外部バスクロック分周
セレクタ
周辺クロック分周
CPUクロック
停
止
制
御
セレクタ
CPUクロック分周
セレクタ
DIVR0,DIVR1レジスタ
周辺クロック
(FR内部)
外部バスクロック
周辺クロック
(MAC IFなど)
X0
X1
発振
回路
PLL
セレクタ
CLKRレジスタ
1/2
FRコア
MB91402/403シリーズ
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
41
第 2 章 デバイスの取扱いについて
2.3
MB91402/403 シリーズ
■ リセット
MB91402/403 シリーズは , リセット要因が発生すると , すべてのプログラムおよびハー
ドウェア動作を停止して状態を初期化します。
リセット動作は , 3 種類に分けられ , それぞれ発生要因および初期化の内容が異なりま
す。
● 設定初期化リセット (INIT 端子 )
INIT( リセット ) 端子の "L" レベル入力アサートすることにより , リセットが発生して初
期化を行います。
【初期化箇所】
• FR コア
:設定初期化リセット (INIT) を行ないます(「3.11.1 リセットレベル
■設定初期化リセット (INIT)」を参照)。
• 周辺マクロ:すべてのレジスタおよび内部動作 , 外部端子の情報が初期化されます。
電源電圧
X0,X1端子
INIT端子
INIT端子には, 電源電圧や外部クロック入力が安定するまで"L"レベルを印加してくだ
さい。
● ウォッチドッグリセット
ウォッチドッグ発生により , ウォッチドッグリセットが発生して初期化を行います。
【初期化箇所】
FR コア:設定初期化リセット (INIT) を行ないます(
「3.11.1 リセットレベル ■設定初期
化リセット (INIT)」を参照)
。ただし , リセット要因フラグはクリアしません。
● FR リセット
FR コアによるソフトウェアリセットにより , リセットが発生して初期化を行います。
【初期化箇所】
• FR コア
:動作初期化リセット (RST) を行ないます(「3.11.1 リセットレベル
■動作初期化リセット (RST)」を参照)
。
• 周辺マクロ:すべてのレジスタおよび内部動作 , 外部端子の情報が初期化されます。
42
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 2 章 デバイスの取扱いについて
2.3
MB91402/403 シリーズ
■ 割込み
FR コアには 8 本の外部割込み端子があり , そのうち 6 本を MB91402/403 シリーズ内部
の割込みとして使用して残り 2 本を外部端子に接続し , MB91402/403 シリーズ外部か
らの割込みに割り当てています。
MB91402/403 シリーズ内部の割込みは , FR コアの外部割込み端子に接続されており ,
その割付けは以下のようになっております。また , 各外部割込み許可 , 割込み要求 , 割
込み要求検出の設定は , FR コア内の ENIR( 外部割込み許可レジスタ ), EIRR( 外部割込
み要因レジスタ ), ELVR( 要求レベル設定レジスタ ) で行います。
図 2.3-2 割込み
MB91402/403シリーズ
FRコア
外部割込み端子:INT7, INT6
INT7, INT6
外部割込み
端子(8本)
INT5
GPIO
INT4
I2C IF
INT3
MPU IF
INT2
予約
INT1
認証処理部
INT0
Ethernet MAC IF
INT7, INT6 外部割込み端子:INT7, INT6 に割り当てられています。
INT5
GPIO(Port A) からの割込み信号が入力されます。
INT4
I2C IF からの割込み信号が入力されます。
INT3
MPU IF からの割込み信号が入力されます。
INT2
予約です。
INT1
認証処理部からの割込み信号が入力されます。
INT0
Ethernet MAC IF からの割込み信号が入力されます。
<注意事項>
MB91402/403 シリーズ内部の割込み信号は , すべて "H" アクティブです。
したがって , ELVR
レジスタには "H" レベル検出を設定してください。
各割込みの設定および処理に関しては , 各モジュールのマニュアルを参照してくださ
い。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
43
第 2 章 デバイスの取扱いについて
2.3
MB91402/403 シリーズ
■ DMA 転送
MB91402/403 シリーズの DMA 転送機能は , FR コアの DMAC を使用します。
DMAC の
チャネル数は 5 本あり , MB91402/403 シリーズ内部においては , そのうち 2 本を使用し
ています。
FR コアの DMAC のチャネルは以下のように割り当てられています。
① ch.0 Ethernet MAC IF からの DMA 要因
MAC IF(受信FIFO) to Memoryの場合は, Fly-by(I/O to Memory)モードも対応可能です。
<注意事項>
• Memory to MAC IF( 送信 FIFO) の場合は , ソフトウェア起動による DMA 転送にのみ対
応可能です。
• Fly-by 設定時においては , CPU 内の IOWR0(I/O Wait Register for DMAC) において ,
I/O ウェイトサイクルを 2 サイクルにする必要があります。
② ch.1
MPU IF からの DMA 要因
MPU IF( 受信 FIFO) to Memory の場合は , Fly-by(I/O to Memory) モードにも対
応可能です。
③ ch.2
DREQ 以外の DMA 要因
④ ch.3
DREQ 以外の DMA 要因
⑤ ch.4
DREQ 以外の DMA 要因
図 2.3-3 DMA 転送
MB91402/403シリーズ
FRコア
DREQ0
DMAC
(ch.0)
DACK0
IORD
Ethernet MAC IF
EOP0
EOT0
DREQ1
DMAC
(ch.1)
DACK1
IORD
EOP1
MPU IF
開放
EOT1
DMAC
DREQ以外からの要因
(ch.2~ch.4)
44
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第3章
CPU および制御部
MB91402/403 シリーズの CPU コアの機能を知る
ために , アーキテクチャ , 仕様 , 命令などの基本的
なことについて説明します。
3.1 FR コアのブロックダイヤグラム
3.2 内部アーキテクチャ
3.3 命令キャッシュ
3.4 プログラミングモデル
3.5 専用レジスタ
3.6 データ構造
3.7 ワードアライメント
3.8 メモリマップ
3.9 分岐命令
3.10 EIT( 例外・割込み・トラップ )
3.11 リセット ( デバイス初期化 )
3.12 クロック生成制御
3.13 デバイス状態制御
3.14 動作モード
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
45
第 3 章 CPU および制御部
3.1
3.1
MB91402/403 シリーズ
FR コアのブロックダイヤグラム
図 3.1-1 に FR コアのブロックダイヤグラムを示します。
■ FR コアブロックダイヤグラム
図 3.1-1 FR コアブロックダイヤグラム
ICLK
ICD3~ICD0
ICS2~ICD0
BREAKI
デバッグ
A22~A0
サポート
FR
ユニット
CPU
D31~D0
Trace
RD
RAM
128ワード
WR1, WR0
CS7, CS0
ビットサーチ
SRAS
Data RAM
命令キャッシュ
8Kバイト
SCAS
4Kバイト
WE
メモリ
I/F
32
32
バスコンバータ
クロック
INIT
32
リセット
32 to 16
制御
アダプタ
バスコントローラ
5チャネル
32
MCLKE
RDY
DMAC
X0,X1
MCLKO
DREQ1, DREQ0
DACK1, DACK0
IORD
16
割込み
コントローラ
U-TIMER
2チャネル
INT7, INT6
外部割込み
UART
2チャネル
SIN1, SIN0
SOUT1, SOUT0
SCK1, SCK0
リロード
タイマ
3チャネル
46
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
3.2
第 3 章 CPU および制御部
3.2
内部アーキテクチャ
FR CPU は , RISC アーキテクチャを採用し , 組込み用途向けの高機能命令を導入し
た高性能コアです。
■ 内部アーキテクチャの特長
• RISC アーキテクチャの採用
基本命令 1 命令 1 サイクル
• 32 ビットアーキテクチャ
汎用レジスタ 32 ビット× 16 本
• 4G バイトのリニアなメモリ空間
• 乗算器の搭載
32 ビット× 32 ビット乗算 5 サイクル
16 ビット× 16 ビット乗算 3 サイクル
• 割込み処理機能の強化
高速応答速度 (6 サイクル )
多重割込みのサポート
レベルマスク機能 (16 レベル )
• I/O 操作用命令の強化
メモリ - メモリ転送命令
ビット処理命令
• 高いコード効率
基本命令語長 16 ビット
• 低消費電力
スリープモード・ストップモード
• クロック分周比設定機能
• FR ファミリと命令互換
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
47
第 3 章 CPU および制御部
3.2
MB91402/403 シリーズ
■ 内部アーキテクチャ
FR の CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造を採用
しています。命令バス (I-bus) にはオンチップの命令キャッシュが接続されています。
32 ビット ←→ 16 ビットバスコンバータはバス (F-bus) に接続され , CPU と周辺リソー
スとのインタフェースを実現します。ハーバード←→プリンストン バスコンバータは
I-bus, D-bus 双方に接続され , CPU とバスコントローラとのインタフェースを実現しま
す。
図 3.2-1 内部アーキテクチャ
FR CPU
D-bus
I-bus
D アドレス
I アドレス
D データ
I データ
データ
インストラクション
RAM
32
32
32
キャッシュ
32
ハーバード
32ビット
32
16ビット
32
プリンストン
F-bus
バス
バスコンバータ
コンバータ
アドレス
R-bus
16
ペリフェラルリソース
48
データ
32
32
バスコントローラ
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.2
MB91402/403 シリーズ
■ CPU
CPU は 32 ビット RISC の FR アーキテクチャをコンパクトにインプリメントしたもの
です。
1 サイクルあたり 1 命令の実行を行うため , 5 段階の命令パイプライン方式を採用して
います。パイプラインは以下のステージから構成されています。
• 命令フェッチ (IF)
… 命令アドレスを出力して命令をフェッチします。
• 命令デコード (ID)
… フェッチした命令をデコードします。レジスタの読出
しも行います。
• 実行 (EX)
… 演算を実行します。
• メモリアクセス (MA)
… メモリに対するロードまたはストアのアクセスを行い
ます。
• ライトバック (WB)
… 演算結果 ( またはロードされたメモリデータ ) をレジス
タに書き込みます。
図 3.2-2 命令パイプライン
CLK
命令 1
WB
命令 2
MA
WB
命令 3
EX
MA
WB
命令 4
ID
EX
MA
WB
命令 5
IF
ID
EX
MA
WB
IF
ID
EX
MA
命令 6
WB
命令は , 順不同で実行されることはありません。すなわち , 命令 A が命令 B の前にパ
イプラインに入ると , 命令 A は必ず命令 B の前にライトバックステージに達します。
命令の実行は , 原則として 1 サイクルあたり 1 命令の速度で行われます。ただし , メモ
リウェイトを伴ったロード・ストア命令 , 遅延スロットを持たない分岐命令 , 複数サイ
クル命令では命令の実行に複数のサイクルが必要となります。また , 命令の供給が遅い
場合も命令の実行速度が低下します。
■ 命令キャッシュ
オンチップの命令キャッシュにより , 外部高速メモリとそれに関連する制御ロジック
のコストを発生することなく高性能なシステムを構築することができます。外部バス
の速度が遅い場合にも , CPU への命令供給を高速に行うことができます。命令キャッ
シュの詳細については「3.3 命令キャッシュ」を参照してください。
■ 32 ビット←→ 16 ビットバスコンバータ
32 ビット幅で高速アクセスされる F-bus と , 16 ビット幅でアクセスされる R-bus との
インタフェースを行い , CPU から内蔵周辺リソースへのデータアクセスを実現します。
CPU から 32 ビット幅のアクセスがあった場合 , このバスコンバータがそれを 2 回の 16
ビット幅アクセスに変換して R-bus へのアクセスを行います。内蔵周辺リソースの一
部にはアクセス幅に関して制限のあるものがあります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
49
第 3 章 CPU および制御部
3.2
MB91402/403 シリーズ
■ ハーバード←→プリンストン バスコンバータ
CPU の命令アクセスとデータアクセスの整合をとり , 外部バスとのスムーズなインタ
フェースを実現します。
CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造です。一方 ,
外部バスの制御を行うバスコントローラは単一バスのプリンストンアーキテクチャ構
造です。このバスコンバータは CPU の命令アクセスとデータアクセスに優先順位をつ
け , バスコントローラへのアクセスの制御を行います。この働きにより , 外部へのバス
アクセス順位が常に最適化されたものになります。
■ 命令概要
一般的な RISC の命令体系に加え , 組込み用途に最適化された論理演算とビット操作お
よびダイレクトアドレッシング命令をサポートしています。命令セットの一覧を「付
録 E 命令一覧」に示します。各命令は 16 ビット長 ( 一部命令は 32 ビット , 48 ビット
長 ) ですので , 優れたメモリ使用効率があります。
命令セットは以下の機能グループに分けることができます。
• 算術演算
• ロードとストア
• 分岐
• 論理演算とビット操作
• ダイレクトアドレッシング
• その他
● 算術演算
標準の算術演算命令 ( 加算 , 減算 , 比較 ) およびシフト命令 ( 論理シフト , 算術演算シフ
ト ) があります。加算と減算については , 多ワード長演算で使用するキャリ付き演算や ,
アドレス計算に便利なフラグ値を変化させない演算も可能です。さらに , 32 ビット× 32
ビット , 16 ビット× 16 ビットの乗算命令と , 32 ビット÷ 32 ビットのステップ除算命令
があります。また , レジスタに即値をセットする即値転送命令やレジスタ間転送命令も
備えています。
算術演算命令はすべて CPU 内の汎用レジスタおよび乗除算レジスタを使用して演算を
行います。
● ロードとストア
ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また , チップ内
の周辺リソース (I/O) への読出しと書込みにも使用されます。
ロードとストアにはバイト , ハーフワード , ワードの 3 種類のアクセス長があります。
また , 一般的なレジスタ間接のメモリアドレッシングに加え , 一部の命令については
ディスプレースメント付きレジスタ間接やレジスタインクリメント・デクリメント付
きレジスタ間接のメモリアドレッシングも可能です。
● 分岐
分岐 , コール , 割込みおよび復帰の命令です。分岐命令は , 遅延スロットがあるものと
ないものがあり , 用途に応じて最適化を行うことができます。分岐命令の詳細について
は「3.9 分岐命令」を参照してください。
50
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.2
● 論理演算とビット操作
論理演算命令は汎用レジスタ間 , または汎用レジスタとメモリ ( および I/O) 間で AND,
OR, EOR の論理演算を行うことが可能です。また , ビット操作命令はメモリ ( および
I/O) の内容を直接操作することができます。メモリアドレッシングは一般的なレジス
タ間接です。
● ダイレクトアドレッシング
ダイレクトアドレッシング命令は I/O と汎用レジスタ間 , または I/O とメモリ間のアク
セスに使用する命令です。I/O のアドレスをレジスタ間接ではなく命令中で直接指定す
ることにより , 高速 , 高効率なアクセスを行うことができます。一部の命令については
レジスタインクリメント・デクリメント付きレジスタ間接のメモリアドレッシングも
可能です。
● その他
PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。また ,
高級言語対応の関数入口 / 出口 , レジスタマルチロード / ストア命令も備えています。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
51
第 3 章 CPU および制御部
3.3
3.3
MB91402/403 シリーズ
命令キャッシュ
命令キャッシュの概要について説明します。
■ 命令キャッシュの概要
命令キャッシュは , 一時記憶メモリです。命令コードを外部の低速メモリからアクセス
する場合 , 一度アクセスしたコードを内部に保持する役目を果たし , 2 回目以降のアク
セス速度を速めるために使用します。
命令キャッシュデータ RAM, タグ RAM は , RAM モードに設定することによりソフト
ウェアで直接リード / ライトアクセスができるようになります。
52
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.3
MB91402/403 シリーズ
命令キャッシュの構成
3.3.1
命令キャッシュの構成について説明します。
■ 本体構成
命令キャッシュの本体構成は以下のとおりです。
• FR の基本命令長
: 2 バイト
• ブロックの配置方式
: 2 ウェイセットアソシアティブ方式
• ブロック
: 1 ウェイは 128 ブロック構成
1 ブロックは 16 バイト ( = 4 サブブロック )
1 サブブロックは 4 バイト ( = 1 バスアクセス単位 )
図 3.3-1 命令キャッシュ構成
4 バイト
ウェイ 1
4 バイト
4 バイト
4 バイト
I3
I2
I1
I0
2 サブブロック 1 サブブロック 0 ブロック 0
キャッシュタグ
サブブロック 3 サブブロック
2 サブブロック 1 サブブロック 0 ブロック 127
キャッシュタグ
サブブロック 3 サブブロック
2 サブブロック 1 サブブロック 0 ブロック 0
サブブロック 3 サブブロック
2 サブブロック 1 サブブロック 0 ブロック 127
…
…
キャッシュタグ
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
…
…
…
…
ウェイ 2
128 ブロック
…
サブブロック 3 サブブロック
キャッシュタグ
128 ブロック
4 バイト
53
第 3 章 CPU および制御部
3.3
MB91402/403 シリーズ
■ 命令キャッシュタグ
図 3.3-2 に命令キャッシュタグの構成を示します。
図 3.3-2 命令キャッシュタグ
ウェイ 1
bit31
bit9
アドレスタグ
bit8
空き
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
SBV3
SBV2
SBV1
SBV0
TAGV
空き
LRU
ETLK
TAG バリッド
サブブロックバリッド
LRU
エントリロック
ウェイ 2
bit31
bit9
アドレスタグ
bit8
空き
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
SBV3
SBV2
SBV1
SBV0
TAGV
空き
空き
ETLK
サブブロックバリッド
TAG バリッド
エントリロック
[bit31 ∼ bit9] アドレスタグ
対応するブロックにキャッシュされている命令のメモリアドレスの上位 23 ビット
がストアされています。
ブロック i のサブブロック k に格納されている命令データのメモリアドレス IA は ,
IA =アドレスタグ× 211 + i × 24 + k × 22 となります。
CPU からアクセス要求された命令アドレスの一致を検査するために使用します。タ
グ検査の結果に従い ,
以下のような動作をします。
• 要求された命令データがキャッシュ内に存在するとき ( ヒット ), キャッシュから
CPU へサイクル内にデータを転送します。
• 要求された命令データがキャッシュ内に存在しないとき ( ミス ), 外部アクセスで
取得されたデータを CPU とキャッシュが同時に取得します。
[bit7 ∼ bit4] SBV3 ∼ SBV0 : サブブロックバリッド
本ビットが 1 のとき , 対応するサブブロックにタグで示されたアドレスの現行命令
データがエントリされています。サブブロックには , 通常 2 命令が格納されます
( 即値転送命令を除く ) 。
54
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.3
[bit3] TAGV : TAG バリッドビット
アドレスタグの値が有効かどうかを示します。このビットが"0"のときはサブバリッ
ドビットとは無関係に , このブロックはインバリッド状態になります ( フラッシュ
時 )。
[bit1] LRU( ウェイ 1 のみ )
ウェイ 1 の命令キャッシュタグにのみ存在します。選択されたセットについて ,
最後にアクセスしたエントリがウェイ 1・ウェイ 2 のどちらであるかを示します。
LRU = 1 のときはウェイ 1, LRU = 0 のときはウェイ 2 のセットのエントリが最後
にアクセスしたことを示します。
[bit0] ETLK : エントリロック
タグに相当するブロック内の全エントリをキャッシュにロックします。ETLK = 1 の
ときにロック状態で , キャッシュミス時にはエントリは更新されません。ただし , 無
効なサブブロックは更新されます。ウェイ 1, ウェイ 2 ともにエントリロックされて
いるときにキャッシュミスした場合は , キャッシュミス判定の 1 サイクルをロスした
後に外部メモリをアクセスします。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
55
第 3 章 CPU および制御部
3.3
3.3.2
MB91402/403 シリーズ
制御レジスタ構成
制御レジスタには , キャッシュサイズレジスタ (ISIZE) と , 命令キャッシュコント
ロールレジスタ (ICHCR) があります。
これらのレジスタの機能について説明します。
■ キャッシュサイズレジスタ (ISIZE)
図 3.3-3 に , キャッシュサイズレジスタ (ISIZE) のビット構成を示します。
図 3.3-3 キャッシュサイズレジスタ (ISIZE) のビット構成
ISIZE (8 ビット )
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000 0307H
−
−
−
−
−
−
SIZE1
SIZE0
---- --10B
−
−
−
−
−
−
R/W
R/W
R/W : リード / ライト可能
[bit1, bit0] SIZE1, SIZE0
キャッシュ容量を設定するビットです。設定によりキャッシュサイズと IRAM 容量 ,
RAM モード時のアドレスマップが図 3.3-5 のように変化します。キャッシュ容量を
変更した場合は , 必ずフラッシュおよびエントリロックを解除してからキャッシュ
を ON にしてください。
表 3.3-1 キャッシュサイズレジスタ
SIZE1
SIZE0
0
0
1K バイト
0
1
2K バイト
1
0
4K バイト ( 初期値 )
1
1
設定禁止
容量
■ 命令キャッシュコントロールレジスタ (ICHCR)
命令キャッシュコントロールレジスタ (ICHCR:I-CacHe Control Register) は , 命令キャッ
シュの動作を制御します。
ICHCR への書込みは , 以降 , 3 サイクル以内にフェッチされる命令のキャッシュ動作に
は影響を与えません。
図 3.3-4 命令キャッシュコントロールレジスタ (ICHCR) のビット構成
ICHCR (8 ビット )
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
0000 03E7H
RAM
−
GBLK
ALFL
EOLK
ELKR
FLSH
ENAB
0-00 0000B
R/W
−
R/W
R/W
R/W
R/W
R/W
R/W
R/W : リード / ライト可能
56
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.3
[bit7] RAM:RAM モード
"1" で RAM モードとして動作します。RAM モードにすることによって , ENAB が
"1" でキャッシュ・ON となっている場合はキャッシュ RAM が図 3.3-6 のとおりに
マッピングされます。
[bit5] GBLK:グローバルロック
すべてのカレントエントリをキャッシュにロックします。
GBLK = 1 のとき , キャッ
シュ内の有効なエントリはミス時には更新されません。ただし , 無効なサブブロッ
クは更新されます。その際の命令データフェッチ動作は , ロックしていないときと
同様です。
[bit4] ALFL:オートロックフェイル
既にロックしているエントリをさらにロックしようとすると ALFL = 1 にセットさ
れます。エントリオートロック中のエントリの更新が , 既にロックされているエン
トリに対して行われようとしたとき , ユーザの意図に反して , 新たなエントリは
キャッシュ中にロックされません。このようなプログラムのデバッグのために参照
します。"0" 書込みでクリアされます。
[bit3] EOLK:エントリオートロック
命令キャッシュ内の各エントリに対して , オートロッキングの有効・無効を切り換
えます。EOLK = 1 のときにアクセス ( ミス時のみ ) されたエントリは , キャッシュ
タグ内のエントリロックビットがハードウェアで "1" にセットされることにより
ロックされます。ロックされたエントリは以後 , キャッシュミス時の更新の対象に
はなりません。ただし , 無効なサブブロックは更新されます。確実にロックするた
めには一度フラッシュした後 , このビットをセットしてください。
[bit2] ELKR:エントリロック解除
すべてのキャッシュタグ中のエントリロックビットのクリアを指定します。ELKR = 1
にセットされた次のサイクルで , すべてのキャッシュタグ中のエントリロックビット
が "0" にクリアされます。ただし , 本ビットの内容が保持されるのは 1 クロックサイ
クルのみであり , 2 クロックサイクル以降は "0" にクリアされます。
[bit1] FLSH:フラッシュ
命令キャッシュのフラッシュを指定します。FLSH = 1 のとき , キャッシュの内容
がフラッシュされます。ただし , 本ビットの内容が保持されるのは 1 クロックサイ
クルのみであり , 2 クロックサイクル以降は "0" にクリアされます。
[bit0] ENAB:許可
命令キャッシュの許可・禁止を切り換えます。ENAB = 0 のとき禁止状態で , CPU
からの命令アクセスは , キャッシュを介さず外部に対して直接行われます。禁止状
態では , キャッシュの内容は保存されます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
57
第 3 章 CPU および制御部
3.3
MB91402/403 シリーズ
図 3.3-5 RAM のアドレスマップ
アドレス
00010000H
00010200H
Cache OFF
Cache OFF
RAM OFF
RAM ON
TAG
Cache ON
4K バイト
RAM OFF
Cache ON
4K バイト
RAM ON
TAG
Cache ON
2K バイト
RAM OFF
Cache ON
2K バイト
RAM ON
TAG
Cache ON
1K バイト
RAM OFF
Cache ON
1K バイト
RAM ON
TAG(way1)
(way1)
(way1)
(way1)
[TAG way1]
[TAG way1]
[TAG way1]
00010800H
[TAG way1]
[TAG way1]
[TAG way1]
[TAG way1]
[TAG way1]
…
…
…
…
00010400H
00010600H
00014000H
TAG
TAG
TAG
…
[TAG way1]
TAG(way2)
00014200H
00014400H
(way2)
(way2)
(way2)
[TAG way2]
[TAG way2]
[TAG way2]
[TAG way2]
[TAG way2]
[TAG way2]
[TAG way2]
[TAG way2]
…
…
$RAM
(way1)
$RAM
(way1)
IRAM
IRAM
(way1)
…
[TAG way2]
$RAM(way1)
IRAM
(way1)
(way1)
[ $/I way1 ]
[IRAM way]
[ $/I way1 ]
…
…
…
$RAM
(way2)
IRAM
$RAM(way2)
IRAM
IRAM
(way2)
(way2)
(way2)
[ $/I way2 ]
[IRAM way2]
[ $/I way2 ]
…
…
…
…
…
…
00014600H
00014800H
…
00018000H
00018200H
00018400H
00018600H
00018800H
IRAM
(way1)
*1
$RAM(IRAM)
(way1)
IRAM
(way1)
[$RAM way1] [IRAM way1]*2
[IRAM way1] [$RAM way1]
…
…
…
…
0001C000H
IRAM
(way2)
$RAM(IRAM)
(way2)
$RAM
(way2)
0001C200H
0001C400H
*1
0001C600H
0001C800H [IRAM way2] [$RAM way2]
…
00020000H
…
…
…
IRAM
(way2)
[$RAM way2] [IRAM way2]*2
…
…
…
…
…
…
] はミラーとなる領域
*1 ISIZE レジスタの値に従い , キャッシュ ON 時と同様のマップになります。
*2 ミラー領域は 4K バイトごとの上位 2K バイトに発生します。
[
TAGRAM
00010000H
00010004H
00010008H
0001000CH
00010010H
00010014H
00010018H
0001001CH
00010020H
$RAM
00018000H
00018004H
00018008H
0001800CH
00018010H
00018014H
00018018H
0001801CH
00018020H
← 00x 番地のエントリ
← 00x のミラー
← 01x 番地のエントリ
← 01x のミラー
000 番地の命令 (SBV0)
004 番地の命令 (SBV1)
008 番地の命令 (SBV2)
00C 番地の命令 (SBV3)
000 番地の命令 (SBV0)
004 番地の命令 (SBV1)
008 番地の命令 (SBV2)
00C 番地の命令 (SBV3)
図 3.3-6 各キャッシュ容量時のメモリの割当て
アドレス
000H
Cache 4K バイト
200H
400H
$RAM
(WAY1)
600H
…
000H
200H
400H
600H
58
Cache 2K バイト
$RAM
IRAM
…
$RAM
(WAY2)
$RAM
IRAM
Cache 1K バイト
$RAM
IRAM
Cache OFF
IRAM
…
$RAM
IRAM
FUJITSU MICROELECTRONICS LIMITED
IRAM
CM71-10131-1
第 3 章 CPU および制御部
3.3
MB91402/403 シリーズ
3.3.3
各動作モードの状態
各動作モード時のキャッシュの状態およびキャッシュのエントリ更新について説明
します。
■ 各動作モード時のキャッシュの状態
禁止 / フラッシュはビット操作命令などでそのビットだけを変化させた場合の状態を
示しています。
表 3.3-2 各動作モード時の命令キャッシュの状態
禁止 (ENAB=0)
リセット直後
フラッシュ
キャッシュ メモリ
内容は不定
直前の状態を保持
禁止中書換え不可能
直前の状態を保持
アドレスタグ
内容は不定
直前の状態を保持
禁止中書換え不可能
直前の状態を保持
サブブロック
バリッドビット
内容は不定
直前の状態を保持
禁止中書換え不可能
直前の状態を保持
内容は不定
直前の状態を保持
禁止中書換え不可能
直前の状態を保持
エントリロック
ビット
内容は不定
直前の状態を保持
禁止中書換え不可能
直前の状態を保持 ( 要
エントリロック解除 )
TAG
バリッドビット
内容は不定
直前の状態を保持
禁止中フラッシュ可能
すべてのエントリが
インバリッド
通常モード
直前の状態を保持
禁止中フラッシュ可能
直前の状態を保持
グローバルロック アンロック
直前の状態を保持
禁止中書換え可能
直前の状態を保持
オートロック
フェイル
フェイルなし
直前の状態を保持
禁止中書換え可能
直前の状態を保持
エントリ
オートロック
アンロック
直前の状態を保持
禁止中書換え可能
直前の状態を保持
エントリロック
解除
解除なし
直前の状態を保持
禁止中書換え可能
直前の状態を保持
許可
禁止
禁止
直前の状態を保持
フラッシュ
フラッシュしない
直前の状態を保持
禁止中書換え可能
メモリアクセス直後の
サイクルでフラッシュ。
以後 , "0" に戻る。
タ LRU
グ
RAM
制
御
レ
ジ
ス
タ
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
59
第 3 章 CPU および制御部
3.3
MB91402/403 シリーズ
■ キャッシュのエントリ更新
キャッシュのエントリ更新は , 以下の表のように行います。
表 3.3-3 命令キャッシュのエントリ更新
アンロック
60
ロック
ヒット
更新しない。
更新しない。
ミス
メモリをロードし , キャッシュ
のエントリの内容を更新する。
タグミスの場合は更新しない。
サブブロックインバリッドの場
合は更新する。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
3.3.4
第 3 章 CPU および制御部
3.3
命令キャッシュのキャッシュ可能領域
命令キャッシュのキャッシュ可能領域について説明します。
■ キャッシュ可能領域
• 命令キャッシュは , 外バス空間のみをキャッシュ可能とします。
• DMA転送で外部メモリの内容が更新されたとしてもキャッシュの内容とのコヒーレ
ンシはとりません。
このような場合はキャッシュをフラッシュすることで , コヒーレンシを保ってくだ
さい。
• 各チップセレクトの領域ごとに非キャッシュ領域に設定することができます。この
場合でもキャッシュオフに比べて 1 サイクルのペナルティーを受けます 「
( 4.3 チッ
プセレクト領域の設定例」の項を参照 )。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
61
第 3 章 CPU および制御部
3.3
3.3.5
MB91402/403 シリーズ
I-Cache を使用するときの設定方法
I-Cache を使用するときの設定方法について説明します。
■ I-Cache を使用するときの設定方法
● 初期化
I-Cache を使い始める最初はキャッシュの中身をクリアしておく必要があります。
レジスタの FLSH ビットと ELKR ビットを "1" にして , 過去のデータを消去します。
ldi
#0x000003e7,r0 // I-Cache コントロールレジスタのアドレス
ldi
#0B00000110,r1 // FLSH ビット (bit1)
// ELKR ビット (bit2)
stb
r1,@r0
// レジスタへ書込み
これで , キャッシュが初期化されます。
● キャッシュを有効 (ON) にする
I-Cache を有効にするには ENAB ビットを "1" にします。
ldi
#0x000003e7,r0 // I-Cache コントロールレジスタのアドレス
ldi
#0B00000001,r1 // ENAB ビット (bit0)
stb
r1,@r0
// レジスタへ書込み
これ以降の命令アクセスがキャッシュに取り込まれていきます。
キャッシュの有効化は , キャッシュの初期化と同時に行うこともできます。
ldi
ldi
#0x000003e7,r0
// I-Cache コントロールレジスタのアドレス
#0B00000111,r1 // ENAB ビット (bit0)
// FLSH ビット (bit1)
// ELKR ビット (bit2)
stb
r1,@r0
// レジスタへ書込み
● キャッシュを無効 (OFF) にする
I-Cache を無効にするには ENAB ビットを "0" にします。
ldi
#0x000003e7,r0
// I-Cache コントロールレジスタのアドレス
ldi
#0B00000000,r1
// ENAB ビット (bit0)
stb
r1,@r0
// レジスタへ書込み
この状態 ( リセット後の状態と同じ ) では , キャッシュがないのと同じで何もしま
せん。
キャッシュミスが連続する場合, OFFにすると処理性能が向上することがあります。
62
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.3
MB91402/403 シリーズ
● キャッシュの内容をすべてロックする
現在 I-Cache に入っている命令がキャッシュから追い出されないようにロックしま
す。
レジスタの GBLK ビットを "1" にします。本機能使用時は , ENAB ビットを "1" に
しておく必要があります。
ldi
#0x000003e7,r0
// I-Cache コントロールレジスタのアドレス
ldi
#0B00100001,r1
// ENAB ビット (bit0)
// GBLK ビット (bit5)
stb
r1,@r0
// レジスタへ書込み
● 特定の命令をキャッシュにロックする
特定の命令群 ( サブルーチンなど ) をキャッシュにロックするには , それらの命令
を実行する前に EOLK ビットを "1" にします。
ロックした命令は高速な内部 ROM のようにアクセスされます。
ldi
#0x000003e7,r0
// I-Cache コントロールレジスタのアドレス
ldi
#0B00001001,r1
// ENAB ビット (bit0)
// EOLK ビット (bit3)
stb
r1,@r0
// レジスタへ書込み
メモリのウェイト数によりますが , stb 命令の次以降の命令から有効になります。
ロックしたい命令群が終わったところで EOLK ビットを "0" にします。
ldi
#0x000003e7,r0
// I-Cache コントロールレジスタのアドレス
ldi
#0B00000001,r1
// ENAB ビット (bit0)
// EOLK ビット (bit3)
stb
r1,@r0
// レジスタへ書込み
● キャッシュのロックを解除する
上記「●特定の命令をキャッシュにロックする」でロックした命令のロック情報を
解除します。
ldi
#0x000003e7,r0
// I-Cache コントロールレジスタのアドレス
ldi
#0B00000000,r1
// キャッシュディセーブル
stb
r1,@r0
// レジスタへ書込み
ldi
#0B00000100,r1
// ELKR ビット (bit2)
stb
r1,@r0
// レジスタへ書込み
ロック情報だけ解除されるので , ロックされていた命令は , LRU ビットの状態に応
じて順次新しい命令に置き換わります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
63
第 3 章 CPU および制御部
3.4
3.4
MB91402/403 シリーズ
プログラミングモデル
FR ファミリのプログラミングモデル , 汎用レジスタおよび専用レジスタについて説
明します。
■ 基本プログラミングモデル
図 3.4-1 に , FR ファミリの基本プログラミングモデルを示します。
図 3.4-1 基本プログラミングモデル
32 ビット
初期値
R0
XXXX XXXXH
.........
汎用レジスタ
.....
.........
R1
R12
R13
AC
R14
FP
XXXX XXXXH
R15
SP
0000 0000H
プログラムカウンタ
PC
プログラムステータス
PS
テーブルベースレジスタ
–
ILM
–
SCR
CCR
TBR
RP
リターンポインタ
システムスタックポインタ
SSP
ユーザスタックポインタ
USP
MDH
乗除算結果レジスタ
64
MDL
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.4
MB91402/403 シリーズ
3.4.1
汎用レジスタ
レジスタ R0 ∼ R15 は汎用レジスタです。
各種演算におけるアキュムレータおよびメモリアクセスのポインタとして使用され
ます。
■ 汎用レジスタ
図 3.4-2 に汎用レジスタの構成を示します。
図 3.4-2 汎用レジスタの構成
32 ビット
R0
初期値
XXXX XXXXH
.........
.....
.........
R1
R12
R13
AC
R14
FP
XXXX XXXXH
R15
SP
0000 0000H
レジスタ R0 ∼ R15 は汎用レジスタです。各種演算におけるアキュムレータ , およびメ
モリアクセスのポインタとして使用されます。
16本のレジスタのうち, 以下に示すレジスタは特殊な用途を想定しており, そのために
一部の命令が強化されています。
R13:仮想アキュムレータ
R14:フレームポインタ
R15:スタックポインタ
リセットによる初期値のR0∼R14は不定です。R15は, 00000000H(SSPの値)となります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
65
第 3 章 CPU および制御部
3.5
3.5
MB91402/403 シリーズ
専用レジスタ
専用レジスタは , 特定の目的のために使用します。
FR ファミリでは , 以下の専用レジスタが用意されています。
• PS (Program Status)
• CCR (Condition Code Register)
• SCR (System Condition code Register)
• ILM (Interrupt Level Mask Register)
• PC (Program Counter)
• TBR (Table Base Register)
• RP (Return Pointer)
• SSP (System Stack Pointer)
• USP (User Stack Pointer)
• MDH, MDL (Multiply & Divide register:乗除算結果レジスタ )
■ PS (Program Status)
プログラムステータスを保持するレジスタで , ILM と SCR, CCR の 3 つのパートに分か
れています。
図中 , 未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。
書込みは無効です。
図 3.5-1 プログラムステータスレジスタ (PS) のビット構成
bit31
20
16
10
ILM
8 7
0
SCR
CCR
■ CCR (Condition Code Register )
図 3.5-2 コンディションコードレジスタ (CCR) のビット構成
66
bit7
bit6
−
−
bit5
S
bit4
I
bit3
N
bit2
Z
bit1
V
FUJITSU MICROELECTRONICS LIMITED
bit0
C
初期値
--00XXXXB
CM71-10131-1
第 3 章 CPU および制御部
3.5
MB91402/403 シリーズ
[bit5] S:スタックフラグ
R15 として使用されるスタックポインタを指定します。
表 3.5-1 スタックフラグ (S) の内容
値
内容
0
SSP が R15 として使用されます。
EIT 発生時 , 自動的に "0" になります
( ただし , スタックに退避される値はクリアされる前の値です )。
1
USP が R15 として使用されます。
リセットにより "0" にクリアされます。
RETI 命令実行時は "0" にしてください。
[bit4] I:割込み許可フラグ
ユーザ割込み要求の許可・禁止を制御します。
表 3.5-2 割込み許可フラグ (I) の内容
値
内容
0
ユーザ割込み禁止。INT 命令実行時 , "0" にクリアされます ( ただし , ス
タック退避させる値はクリアする前の値です )。
1
ユーザ割込み許可。ユーザ割込み要求のマスク処理は , ILM の保持する値
により制御されます。
リセットにより "0" にクリアされます。
[bit3] N:ネガティブフラグ
演算結果を 2 の補数で表現された整数とみなしたときの符号を示します。
表 3.5-3 ネガティブフラグ (N) の内容
値
内容
0
演算結果が正の値であったことを示します。
1
演算結果が負の値であったことを示します。
リセットによる初期状態は不定です。
[bit2] Z:ゼロフラグ
演算結果が "0" であったかどうかを示します。
表 3.5-4 ゼロフラグ (Z) の内容
値
内容
0
演算結果が "0" 以外の値であったことを示します。
1
演算結果が "0" であったことを示します。
リセットによる初期状態は不定です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
67
第 3 章 CPU および制御部
3.5
MB91402/403 シリーズ
[bit1] V:オーバフローフラグ
演算に使用したオペランドを 2 の補数で表現される整数であるとみなし , 演算の結
果 , オーバフローが発生したかどうかを示します。
表 3.5-5 オーバフローフラグ (V) の内容
値
内容
0
演算の結果 , オーバフローは発生していないことを示します。
1
演算の結果 , オーバフローが発生したことを示します。
リセットによる初期状態は不定です。
[bit0] C:キャリフラグ
演算により , 最上位ビットからのキャリ , またはボローが発生したかどうかを示し
ます。
表 3.5-6 キャリフラグ (C) の内容
値
内容
0
キャリもボローも発生していないことを示します。
1
キャリまたはボローが発生したことを示します。
リセットによる初期状態は不定です。
■ SCR (System Condition code Register)
図 3.5-3 システムコンディションコードレジスタ (SCR) のビット構成
bit10
D1
bit9
D0
bit8
T
初期値
XX0B
[bit10, bit9] D1, D0:ステップ除算用フラグ
ステップ除算実行時の中間データを保持します。
除算処理の実行途中には変更しないでください。
ステップ除算実行途中にほかの処理を行う場合は , PS レジスタの値を退避・復帰す
ることによりステップ除算の再開が保証されます。
リセットによる初期状態は不定です。
DIV0S 命令の実行により被除数と除数を参照して設定されます。
DIV0U 命令の実行により , 強制的にクリアされます。
68
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.5
MB91402/403 シリーズ
[bit8] T:ステップトレーストラップフラグ
ステップトレーストラップを有効にするかどうかを指定するフラグです。
表 3.5-7 ステップトレーストラップ (T) の内容
値
内容
0
ステップトレーストラップ無効
1
ステップトレーストラップ有効
このとき , ユーザ用 NMI とユーザ割込みがすべて割込み禁止となります。
リセットにより "0" に初期化されます。
ステップトレーストラップの機能をエミュレータが使用します。エミュレータ使用
時 , ユーザプログラム中で使用することはできません。
■ ILM (Interrupt Level Mask Register)
図 3.5-4 割込みレベルレジスタ (ILM) のビット構成
bit20
ILM4
bit19
ILM3
bit18
ILM2
bit17
ILM1
bit16
ILM0
初期値
01111B
割込みレベルマスク値を保持するレジスタで , この ILM の保持する値がレベルマスク
に使用されます。
CPU に入力される割込み要求の中で , 対応する割込みレベルが , この ILM で示される
レベルよりも強い場合にのみ割込み要求が受け付けられます。
レベル値は , 0(00000 B) が最強で , 31(11111B ) が最弱です。
プログラムから設定可能な値には制限があります。
• 元の値が 16 ∼ 31 のとき:新たな値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を
設定する命令を実行すると , ( 指定した値+ 16) という値
が転送されます。
• 元の値が 0 ∼ 15 のとき:0 ∼ 31 の任意の値を設定可能です。
リセットにより , 15(01111 B ) に初期化されます。
PS レジスタに関して
• DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込み・NMI を受け付けた場合 , (b)
ステップ実行を行った場合 , (c) データイベントまたはエミュレータメニューにてブ
レークした場合 , 以下のような動作を行う場合があります。
(1) D0, D1 フラグが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み・NMI またはエミュレータ ) を実行します。
(3) EIT から復帰後 , DIV0U/DIV0S 命令が実行されて D0/D1 フラグが (1) と同じ値
に更新されます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
69
第 3 章 CPU および制御部
3.5
MB91402/403 シリーズ
• ユーザ割込み・NMI 要因が発生している状態で , 割込みを許可するために ORCCR,
STLIM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。
(1) PS レジスタが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み・NMI) を実行します。
(3) EIT から復帰後 , 上記命令が実行されて PS レジスタが (1) と同じ値に更新され
ます。
• 一部の命令で PS レジスタを先行処理しているため , 下記の例外動作により , デバッ
ガ使用時に割込み処理ルーチンでブレークしたり , PS フラグの表示内容が更新され
たりする場合があります。いずれの場合も EIT から復帰後以降に正しく再処理を行
いますので , EIT 前後の動作は仕様どおりの処理を行います。
1. DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込み・NMI を受け付けた場合 ,
(b) ステップ実行を行った場合 , (c) データイベントまたはエミュレータメニュー
にてブレークした場合 , 以下のような動作を行う場合があります。
(1) D0, D1 フラグが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み・NMI またはエミュレータ ) を実行します。
(3) EIT から復帰後 , DIV0U/DIV0S 命令が実行されて D0/D1 フラグが (1) と同じ
値に更新されます。
2. ユーザ割込み・NMI 要因が発生している状態で , 割込みを許可するために ORCCR,
STLIM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。
(1) PS レジスタが先行して更新されます。
(2) EIT 処理ルーチン ( ユーザ割込み・NMI) を実行します。
(3) EIT から復帰後 , 上記命令が実行されて PS レジスタが (1) と同じ値に更新さ
れます。
■ PC (Program Counter)
図 3.5-5 プログラムカウンタ (PC) のビット構成
bit31
PC
bit0
初期値
XXXXXXXXH
[bit31 ∼ bit0]
プログラムカウンタで , 実行している命令のアドレスを示しています。
命令の実行を伴う PC の更新時に , bit0 は "0" に設定されます。bit0 が "1" になる可能
性があるのは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , そ
の場合でも bit0 は無効であり , 命令を 2 の倍数のアドレスに置く必要があります。
リセットによる初期値は不定です。
70
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.5
MB91402/403 シリーズ
■ TBR (Table Base Register)
図 3.5-6 テーブルベースレジスタ (TBR) のビット構成
bit31
bit0
TBR
初期値
000FFC00H
[bit31 ∼ bit0]
テーブルベースレジスタで , EIT 処理の際に使用されるベクタテーブルの先頭アド
レスを保持します。
リセットによる初期値は , "000FFC00H" です。
■ RP (Return Pointer)
図 3.5-7 リターンポインタ (RP) のビット構成
bit31
bit0
RP
初期値
XXXXXXXXH
[bit31 ∼ bit0]
リターンポインタで , サブルーチンから復帰するアドレスを保持します。
CALL 命令実行時 , PC の値がこの RP に転送されます。
RET 命令実行時 , RP の内容が PC に転送されます。
リセットによる初期値は不定です。
■ SSP (System Stack Pointer)
図 3.5-8 システムスタックポインタ (SSP) のビット構成
bit31
bit0
SSP
初期値
00000000H
[bit31 ∼ bit0]
SSP は , システムスタックポインタです。
S フラグが "0" のとき , R15 として機能します。
SSP を明示的に指定することも可能です。また , EIT 発生時に PS と PC を退避する
スタックを指定するスタックポインタとしても使用されます。
リセットによる初期値は "00000000H" です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
71
第 3 章 CPU および制御部
3.5
MB91402/403 シリーズ
■ USP (User Stack Pointer)
図 3.5-9 ユーザスタックポインタ (USP) のビット構成
bit31
bit0
USP
初期値
XXXXXXXXH
[bit31 ∼ bit0]
USP は , ユーザスタックポインタです。
S フラグが "1" のとき , R15 として機能します。
USP を明示的に指定することも可能です。
リセットによる初期値は不定です。
RETI 命令で使用することはできません。
■ MDH, MDL (Multiply & Divide register:乗除算レジスタ )
図 3.5-10 乗除算結果格納レジスタ
bit31
bit0
MDH
MDL
[bit31 ∼ bit0]
乗除算用のレジスタで , 各々 32 ビット長です。
リセットによる初期値は不定です。
乗算実行時
32 ビット× 32 ビットの乗算のとき , 64 ビット長の演算結果は , 以下の配置で乗除
算結果格納レジスタに格納されます。
MDH …… 上位 32 ビット
MDL …… 下位 32 ビット
16 ビット× 16 ビットの乗算のときは , 以下のように結果が格納されます。
MDH …… 不定
MDL …… 結果 32 ビット
除算実行時
計算開始時 , 被除数を MDL に格納します。
DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S 命令の実行により除算を計算すると , 結果
が MDL と MDH に格納されます。
MDH …… 剰余
MDL …… 商
72
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.6
MB91402/403 シリーズ
データ構造
3.6
FR ファミリのデータ配置には , 次の 2 つがあります。
• ビットオーダリング
• バイトオーダリング
■ ビットオーダリング
FR ファミリでは , ビットオーダリングとして , リトルエンディアンを採用しています。
図 3.6-1 ビットオーダリングのビット構成
bit
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSB
LSB
■ バイトオーダリング
FR ファミリでは , バイトオーダリングとして , ビッグエンディアンを採用しています。
図 3.6-2 バイトオーダリングの構造
メモリ
n番地
(n+1)番地
(n+2)番地
(n+3)番地
CM71-10131-1
bit
bit
7
0
10101010
11001100
11111111
00010001
MSB
LSB
bit31
23
15
7
0
10101010 11001100 11111111 00010001
FUJITSU MICROELECTRONICS LIMITED
73
第 3 章 CPU および制御部
3.7
3.7
MB91402/403 シリーズ
ワードアライメント
命令やデータはバイト単位でアクセスするため , 配置するアドレスは命令長やデー
タ幅で異なります。
■ プログラムアクセス
FR ファミリのプログラムは , 2 の倍数のアドレスに配置する必要があります。PC の
bit0 は , 命令の実行に伴う PC の更新時に "0" に設定されます。"1" になる可能性がある
のは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , その場合でも
bit0 は無効であり , 命令は 2 の倍数のアドレスに置かなくてはなりません。
奇数アドレス例外はありません。
■ データアクセス
FR ファミリでは , データアクセスを行う際 , そのデータ長により , 強制的にアライメン
トを合わせます。
ワードアクセス
: アドレスは , 4 の倍数 ( 最下位 2 ビットは強制的に "00B")
ハーフワードアクセス : アドレスは , 2 の倍数 ( 最下位 ビットは強制的に "0")
バイトアクセス
: ──
ワードおよびハーフワードデータアクセス時に , 一部のビットが強制的に "0" にされる
のは , 実効アドレスの計算結果に対してです。例えば , @ (R13,Ri) のアドレッシング
モードの場合 , 加算前のレジスタは ( たとえ最下位ビットが "1" であっても ) そのまま
計算に使用され , 加算結果の下位ビットがマスクされます。計算前のレジスタがマスク
されるわけではありません。
[ 例 ] LD @ (R13,R2),R0
R13
0 0 0 0 2 2 2 2
H
R2
0 0 0 0 0 0 0 3
H
0 0 0 0 2 2 2 5
H
+)
加算結果
↓ 下位2ビット強制マスク
アドレス端子0 0 0 0 2 2 2 4
74
H
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.8
MB91402/403 シリーズ
3.8
メモリマップ
FR ファミリのメモリマップを示します。
■ メモリマップ
アドレス空間は 32 ビットリニアです。
図 3.8-1 メモリマップ
0000 0000H
バイトデータ
0000 0100H
ハーフワードデータ
0000 0200H
ダイレクト
アドレッシング領域
ワードデータ
0000 0400H
000F FC00H
ベクタテーブル
000F FFFFH
FFFF FFFFH
● ダイレクトアドレッシング領域
アドレス空間の下記の領域は , I/O 用の領域です。この領域は , ダイレクトアドレッシ
ングにより , 命令中で直接オペランドアドレスを指定することができます。
ダイレクトアドレス指定可能なアドレス領域の大きさは , データ長ごとに異なります。
• バイトデータ
( 8 ビット )
…… 000H ∼ 0FFH
• ハーフワードデータ
(16 ビット )
…… 000H ∼ 1FFH
• ワードデータ
(32 ビット )
…… 000H ∼ 3FFH
● ベクタテーブル初期領域
000FFC00H ∼ 000FFFFFH の領域は EIT ベクタテーブル初期領域です。
EIT処理時に使用されるベクタテーブルは, TBRを書き換えることにより任意のアドレ
スに配置可能ですが , リセットによる初期化によってこのアドレスに配置されます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
75
第 3 章 CPU および制御部
3.9
3.9
MB91402/403 シリーズ
分岐命令
FR ファミリでは , 分岐命令に遅延スロット付きの動作と遅延スロットなしの動作を
指定することができます。
■ 遅延スロット付きの分岐命令
以下に示す表記をした命令が , 遅延スロット付きの分岐動作を行います。
76
JMP:D @Ri
CALL:D label12
CALL:D @Ri
RET:D
BRA:D label9
BNO:D
label9
BEQ:D label9
BNE:D label9
BC:D
label9
BNC:D
label9
BN:D
BP:D
BV:D
label9
BNV:D
label9
BLT:D label9
BGE:D label9
BLE:D label9
BGT:D
label9
BLS:D label9
BHI:D label9
label9
FUJITSU MICROELECTRONICS LIMITED
label9
CM71-10131-1
第 3 章 CPU および制御部
3.9
MB91402/403 シリーズ
3.9.1
遅延スロット付き分岐命令の動作
遅延スロット付きの動作では , 分岐先の命令を実行する前に , 分岐命令の直後 (「遅
延スロット」とよびます ) に置かれた命令を実行した後に分岐します。
■ 遅延スロット付き分岐命令の動作
分岐動作の前に遅延スロットの命令を実行するため, 見かけ上の実行速度が1サイクル
となります。その代わり , 遅延スロットに有効な命令を入れることができないときは ,
NOP 命令を置かなくてはなりません。
[例]
;
命令の並び
ADD
R1, R2
;
BRA:D
LABEL
; 分岐命令
MOV
R2, R3 ; 遅延スロット ……分岐の前に実行されます。
…
LABEL : ST
R3, @R4 ; 分岐先
条件分岐命令の場合には , 分岐条件が成立する場合も成立しない場合も遅延スロット
に置かれた命令は実行されます。
遅延分岐命令では , 一部の命令の実行順序が反転するように見えますが , それは PC の
更新動作だけについてであり , その他の動作 ( レジスタの更新・参照など ) はあくまで
記述された順番で実行されます。
以下に , 具体的な説明をします。
● JMP:D @Ri / CALL:D @Ri 命令
JMP:D @Ri / CALL:D @Ri 命令で参照する Ri は , 遅延スロットの中の命令が Ri を更新
しても影響を受けません。
[例]
LDI:32
#Label, R0
JMP:D
@R0
LDI:8
#0,
; Label に分岐
R0
; 分岐先アドレスには影響を与えない。
…
● RET:D 命令
RET:D 命令が参照する RP は , 遅延スロットの中の命令が RP を更新しても影響を受
けません。
[例]
; これより前に設定された RP の示すアドレスへ分岐
RET:D
MOV
R8,
RP
; リターン動作には影響を与えない。
…
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
77
第 3 章 CPU および制御部
3.9
MB91402/403 シリーズ
● Bcc:D rel 命令
Bcc:D rel 命令が参照するフラグも , 遅延スロットの命令の影響を受けません。
[例]
ADD
#1,
BC:D
Overflow
AND CCR
R0
; フラグ変化
; 上記の命令の実行結果により分岐
; このフラグ更新は上記分岐命令では参照しない。
#0
…
● CALL:D 命令
CALL:D 命令の遅延スロットの中の命令で RP を参照すると , CALL:D 命令により更新
された内容が読み出されます。
[例]
CALL:D
Label
MOV
RP,
; RP
R0
を更新して分岐
; 上記 CALL:D の実行結果の RP を転送
…
■ 遅延スロット付き分岐命令の制限事項
● 遅延スロットに置くことができる命令
遅延スロット内で実行できるのは , 以下の条件を満たす命令のみです。
• 1 サイクル命令
• 分岐命令ではないこと
• 順番が変化した場合でも動作に影響を与えない命令
「1 サイクル命令」とは , 命令一覧表中でサイクル数の欄が「1」, 「a」, 「b」, 「c」
または「d」と記載された命令です。
● ステップトレーストラップ
遅延スロットがある分岐命令の実行と遅延スロットの間では , ステップトレースト
ラップは発生しません。
● 割込み /NMI
遅延スロットがある分岐命令の実行と遅延スロットの間では , 割込み /NMI を受理
しません。
● 未定義命令例外
遅延スロットに未定義命令があった場合には , 未定義命令例外は発生しません。こ
のとき , 未定義命令は NOP 命令として動作します。
78
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.9
MB91402/403 シリーズ
3.9.2
遅延スロットなし分岐命令の動作
遅延スロットなしの動作では , あくまで命令の並び順に実行します。直後の命令が
分岐前に実行されることはありません。
■ 遅延スロットなしの分岐命令
以下に示す表記をした命令が , 遅延スロットなしの分岐動作を行います。
JMP
@Ri
CALL
label12
CALL
@Ri
RET
BRA
label9
BNO
label9
BEQ
label9
BNE
label9
BC
label9
BNC
label9
BN
label9
BP
label9
BV
label9
BNV
label9
BLT
label9
BGE
label9
BLE
label9
BGT
label9
BLS
label9
BHI
label9
■ 遅延スロットなしの分岐命令の動作
遅延スロットなしの動作では , あくまで命令の並びの順に実行します。直後の命令が分
岐前に実行されることはありません。
[例]
;
命令の並び
ADD
R1, R2
;
BRA
LABEL
; 分岐命令 ( 遅延スロットなし )
MOV
R2, R3 ; 実行されません。
…
LABEL:
ST
R3, @R4 ; 分岐先
遅延スロットなしの分岐命令の実行サイクル数は , 分岐するときに 2 サイクル , 分岐し
ないときに 1 サイクルとなります。
遅延スロットに適当な命令を入れることができないために NOP を明記した遅延スロッ
ト付き分岐命令に比べ , 命令コード効率を上げることができます。
遅延スロットに有効な命令を設置できるときは遅延スロット付きの動作を選択し , そ
うでないときは遅延スロットなしの動作を選択することで , 実行速度とコード効率を
両立させることが可能となります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
79
第 3 章 CPU および制御部
3.10
3.10
MB91402/403 シリーズ
EIT( 例外・割込み・トラップ )
EIT とは , 現プログラム実行時にイベントの発生によりそのプログラムの実行を中断
してほかのプログラムを実行することを指し , 例外 (Exception), 割込み (Interrupt),
トラップ (Trap) の総称です。
■ EIT ( 例外・割込み・トラップ )
例外とは実行中のコンテキストに関連して発生する事象です。例外を起こした命令か
ら再実行します。
割込みとは実行中のコンテキストとは無関係に発生する事象です。イベント要因は
ハードウェアです。
トラップとは実行中のコンテキストに関連して発生する事象です。システムコールの
ようにプログラムで指示するものがあります。トラップを起こした命令の次の命令か
ら再実行します。
■ EIT の特長
• 割込みに多重割込みをサポート
• 割込みにレベルマスク機能 (15 レベルをユーザが使用可能 )
• トラップ命令 (INT)
• エミュレータ起動用 EIT( ハードウェア / ソフトウェア )
■ EIT 要因
EIT 要因として , 以下のものがあります。
• リセット
• ユーザ割込み ( 内部リソース , 外部割込み )
• NMI
• 遅延割込み
• 未定義命令例外
• トラップ命令 (INT)
• トラップ命令 (INTE)
• ステップトレーストラップ
• コプロセッサ不在トラップ
• コプロセッサエラートラップ
■ EIT からの復帰
EIT からの復帰には , RETI 命令を使用します。
80
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.10
MB91402/403 シリーズ
EIT 割込みレベル
3.10.1
割込みレベルは 0 ∼ 31 で , 5 ビットで管理されます。
表 3.10-1 に各レベルの割当てを示します。
表 3.10-1 EIT の割込みレベル
レベル
割込み要因
2 進数
10 進数
00000
0
( システム予約 )
…
…
…
…
…
…
00011
3
( システム予約 )
00100
4
INTE 命令
ステップトレーストラップ
00101
5
( システム予約 )
…
…
…
…
…
…
01110
14
( システム予約 )
01111
15
NMI( ユーザ用 )
10000
16
割込み
10001
17
割込み
…
…
…
…
11110
…
30
…
11111
31
─
備考
ILM の元の値が 16 ∼ 31 のとき , 15
以下の値をプログラムにより ILM に
設定することはできません。
初期値
ILM 設定時 , ユーザ割込み禁止
割込み
ICR 設定時 , 割込み禁止
操作が可能なのは , 16 ∼ 31 のレベルです。
未定義命令例外, コプロセッサ不在トラップ, コプロセッサエラートラップ, そしてINT
命令は , 割込みレベルの影響を受けません。また , ILM を変化させることもありません。
■ I フラグ
割込みの許可 / 禁止を指定するフラグです。PS レジスタの CCR の bit4 として設けられ
ています。
表 3.10-2 I フラグの設定
値
CM71-10131-1
内容
0
割込み禁止。
INT 命令実行時 "0" にクリアされます
( ただし , スタック退避させる値はクリアする前の値です )。
1
割込み許可。
割込み要求のマスク処理は , ILM の保持する値により制御されます。
FUJITSU MICROELECTRONICS LIMITED
81
第 3 章 CPU および制御部
3.10
MB91402/403 シリーズ
■ 割込みレベルマスクレジスタ (ILM)
割込みレベルマスク値を保持するプログラムステータスレジスタ (PS)(bit20 ∼ bit16) で
す。
CPU に入力される割込み要求の中で対応する割込みレベルが , この ILM で示されるレ
ベルよりも強い場合にのみ割込み要求が受け付けられます。
レベル値は , 0(00000B) が最強で , 31(11111B) が最弱です。
プログラムから設定可能な値には制限があります。元の値が 16 ∼ 31 のとき , 新たな値
として設定できるのは 16 ∼ 31 です。0 ∼ 15 の値を設定する命令を実行すると , ( 指定
した値+ 16) という値が転送されます。
元の値が 0 ∼ 15 のときは , 0 ∼ 31 の任意の値を設定可能です。
<注意事項>
設定するには STILM 命令を使用します。
■ 割込み /NMI に対するレベルマスク
NMI および割込み要求が発生したときは , 割込み要因の割込みレベル ( 表 3.10-1 を参
照 ) が ILM の保持するレベルマスク値と比較されます。そして , 次の条件が成立した
ときはマスクされ , 要求は受理されません。
要因の割込みレベル ≧ レベルマスク値
82
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.10
MB91402/403 シリーズ
割込み制御レジスタ (ICR:Interrupt Control
Register)
3.10.2
割込みコントローラ内に設けられたレジスタで , 割込みの各要求に対するレベルを
設定します。ICR は割込み要求入力の各々に対応して用意されています。ICR は I/O
空間にマッピングされており , CPU からはバスを通してアクセスされます。
■ 割込み制御レジスタ (ICR) のビット構成
図 3.10-1 割込み制御レジスタ (ICR) のビット構成
bit
7
6
−
−
5
4
3
2
1
0
初期値
−
ICR4
ICR3
ICR2
ICR1
ICR0
---11111B
R
R/W
R/W
R/W
R/W
R/W : リード / ライト可能
R : リードオンリ
[bit4] ICR4
このビットは , 常に "1" です。
[bit3 ∼ bit0] ICR3 ∼ ICR0
対応する割込み要因の割込みレベルの下位 4 ビットです。読出しおよび書込みが可
能です。
bit4 と合わせて , ICR は 16 ∼ 31 の範囲で値を設定することができます。
■ 割込み制御レジスタ (ICR) のマッピング
表 3.10-3 割込み要因と割込み制御レジスタ , 割込みベクタ
割込み制御レジスタ
割込み要因
対応する割込みベクタ
番号
レジスタ名
アドレス
IRQ00
ICR00
IRQ01
アドレス
16 進
10 進
00000440H
10H
16
TBR + 3BCH
ICR01
00000441H
11H
17
TBR + 3B8H
IRQ02
ICR02
00000442H
12H
18
TBR + 3B4H
…
…
…
…
…
…
…
…
…
…
…
…
IRQ45
ICR45
0000046DH
3DH
61
TBR + 308H
IRQ46
ICR46
0000046EH
3EH
62
TBR + 304H
IRQ47
ICR47
0000046FH
3FH
63
TBR + 300H
( 注意事項 ) 「第 5 章 割込みコントローラ」を参照してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
83
第 3 章 CPU および制御部
3.10
3.10.3
MB91402/403 シリーズ
システムスタックポインタ (SSP)
EIT の受理および復帰動作時のデータ退避 / 復活用スタックを示すポインタとしてシ
ステムスタックポインタ (SSP) が使用されます。
図 3.10-2 システムスタックポインタ (SSP) のビット構成
bit
31
0
初期値
00000000H
SSP
EIT 処理時に内容が 8 減ぜられ , RETI 命令の実行による EIT からの復帰動作時に 8 加
算されます。
リセットによる初期値は "00000000H" です。
SSP は , CCR 中の S フラグが "0" のときに汎用レジスタ R15 としても機能します。
■ 割込みスタック
システムスタックポインタ (SSP) により示される領域で , PC および PS の値が退避 / 復
帰されます。割込み後は SSP の示すアドレスに PC が , (SSP + 4) のアドレスに PS が
格納されています。
図 3.10-3 割込みスタック
[例]
SSP
[割込み前]
80000000H
[割込み後]
SSP
7FFFFFF8H
メモリ
80000000H
80000000H
7FFFFFFCH
7FFFFFFCH
PS
7FFFFFF8H
7FFFFFF8H
PC
84
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.10
MB91402/403 シリーズ
3.10.4
テーブルベースレジスタ (TBR)
テーブルベースレジスタ (TBR:Table Base Register) は , EIT 用ベクタテーブルの
先頭アドレスを示すレジスタです。
図 3.10-4 テーブルベースレジスタ (TBR) のビット構成
bit
31
0
初期値
000FFC00H
TBR
TBR と EIT 要因ごとに決められたオフセット値を加算したアドレスがベクタアドレス
となります。
リセットによる初期値は "000FFC00H" です。
■ EIT ベクタテーブル
テーブルベースレジスタ (TBR) の示すアドレスから 1K バイトの領域が , EIT 用ベクタ
領域となっています。
1 ベクタあたりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は下記のよ
うに表されます。
vctadr = TBR + vctofs
= TBR + (3FCH − 4 × vct)
vctadr
: ベクタアドレス
vctofs
: ベクタオフセット
vct
: ベクタ番号
加算結果の下位 2 ビットは常に "00B" として扱われます。
"000FFC00H" ∼ "000FFFFFH" の領域がリセットによるベクタテーブルの初期領域です。
ベクタテーブルの詳細は , 「付録 B 割込みベクタ」を参照してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
85
第 3 章 CPU および制御部
3.10
3.10.5
MB91402/403 シリーズ
多重 EIT 処理
複数の EIT 要因が同時に発生した場合 , CPU は 1 つの EIT 要因を選択して受理
し , EIT シーケンスを実行した後に再び EIT 要因の検出を行う , という動作を繰り返
します。EIT 要因検出の際に , 受理可能な EIT 要因がなくなったとき , 最後に受理し
た EIT 要因のハンドラの命令を実行します。そのため , 複数の EIT 要因が同時に発
生した場合の各要因のハンドラの実行順序は , 次の 2 つの要素により決まります。
• EIT 要因受理の優先順位
• 受理した場合にほかの要因をどのようにマスクするか
■ EIT 要因受理の優先度
EIT 要因受理の優先度とは , PS と PC を退避して PC を更新し ( 必要に応じて ) ほかの
要因のマスク処理を行うという , EIT シーケンスを実行する要因を選ぶときの順番で
す。必ずしも , 先に受理された要因のハンドラが先に実行されるわけではありません。
EIT 要因受理の優先度は , 3.10-4 のようになっています。
表 3.10-4 EIT 要因の受理の優先度とほかの要因へのマスク
受理の優先順位
要因
ほかの要因に対するマスク
1
リセット
ほかの要因は破棄されます。
2
未定義命令例外
取消し
3
INT 命令
I フラグ= 0
4
コプロセッサ不在トラップ
―
コプロセッサエラートラップ
5
ユーザ割込み
ILM =受理した要因のレベル
6
NMI( ユーザ用 )
ILM = 15
7
(INTE 命令 )
ILM = 4*
8
NMI( エミュレータ用 )
ILM = 4
9
ステップトレーストラップ
ILM = 4
10
INTE 命令
ILM = 4
*: INTE 命令とエミュレータ用 NMI が同時に発生したときのみ優先度が 6 になります
( 本マクロではエミュレータ用 NMI をデータアクセスによるブレークに使用してい
ます )。
86
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.10
MB91402/403 シリーズ
EIT 要因を受理した後のほかの要因に対するマスクの処理を加味すると , 同時に発生し
た EIT 要因の各ハンドラの実行順序は , 3.10-5 のようになります。
表 3.10-5 EIT ハンドラの実行順序
ハンドラの実行順序
要因
1
リセット *1
2
未定義命令例外
3
ステップトレーストラップ *2
4
INTE 命令 *2
5
NMI( ユーザ用 )
6
INT 命令
7
ユーザ割込み
8
コプロセッサ不在トラップ , コプロセッサエラートラップ
*1:
ほかの要因は破棄されます。
*2:
INTE 命令をステップ実行したときはステップトレーストラップの EIT のみを発
生します。INTE による要因は無視されます。
図 3.10-5 多重 EIT 処理
[例]
メインルーチン
NMIのハンドラ
①最初に実行
INT命令
のハンドラ
優先度
(高) NMI発生
(低) INT命令実行
CM71-10131-1
②次に実行
FUJITSU MICROELECTRONICS LIMITED
87
第 3 章 CPU および制御部
3.10
3.10.6
MB91402/403 シリーズ
EIT の動作
EIT の動作について説明します。
以下の説明で , 転送元の「PC」とは各 EIT 要因を検出した命令のアドレスを示すもの
とします。また , 「次の命令のアドレス」とは , EIT を検出した命令が下記のように
なっていることを意味します。
• LDI:32 のとき
…… PC + 6
• LDI:20, COPOP, COPLD, COPST, COPSV のとき
…… PC + 4
• その他の命令 のとき
…… PC + 2
■ ユーザ割込み /NMI の動作
ユーザ割込みまたはユーザ用 NMI の割込み要求が発生すると , 以下の順序で要求受理
の可否が判定されます。
[ 割込み要求受理の可否判定 ]
① 同時に発生した要求の割込みレベルを比較し, 最も強いレベル(最も小さい数値)
を保持するものが選択されます。
比較に使用されるレベルは, マスク可能割込みについては対応するICRの保持す
る値が , NMI についてはあらかじめ定められた定数が使用されます。
② 同じレベルの割込み要求が複数発生しているときは , 最も若い割込み番号を持
つ割込み要求が選択されます。
③ 割込みレベル ≧ レベルマスク値 のとき , 割込み要求はマスクされます。
割込みレベル < レベルマスク値 のとき , ④へ。
④ 選択された割込み要求がマスク可能割込みであるとき , I フラグが "0" ならば割
込み要求はマスクされ , 受理されません。I フラグが 1 ならば⑤へ。
選択された割込み要求が NMI であるとき , I フラグの値にかかわらず⑤へ。
⑤ 上記の条件が成立したとき , 命令処理の切れ目で割込み要求が受理されます。
EIT 要求検出時にユーザ割込み /NMI の要求が受理されると , 受理された割込み要求に
対応した割込み番号を使用して , CPU は以下のように動作します。
( ) はレジスタの指すアドレスを表します。
[ 動作 ]
① SSP − 4
→ SSP
② PS
→ (SSP)
③ SSP − 4
→ SSP
④ 次の命令のアドレス
→ (SSP)
⑤ 受理した要求の割込みレベル
→ ILM
⑥ "0"
→ S フラグ
⑦ (TBR +受理した割込み要求のベクタオフセット ) → PC
割込みシーケンス終了後 , ハンドラの先頭の命令を実行する前に新たな EIT の検出を
行います。この時点で受理可能な EIT が発生していると , CPU は EIT 処理シーケンス
に遷移します。
88
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.10
MB91402/403 シリーズ
■ INT 命令の動作
INT #u8 命令は , 以下のように動作します。
u8 で示されるベクタの割込みハンドラへ分岐します。
[ 動作 ]
① SSP − 4
→ SSP
② PS
→ (SSP)
③ SSP − 4
→ SSP
④ PC + 2
→ (SSP)
⑤ "0"
→ I フラグ
⑥ "0"
→ S フラグ
⑦ (TBR + 3FCH − 4 × u8)
→ PC
■ INTE 命令の動作
INTE 命令は , 以下のように動作します。
ベクタ番号 #9 のベクタの割込みハンドラへ分岐します。
[ 動作 ]
① SSP − 4
→ SSP
② PS
→ (SSP)
③ SSP − 4
→ SSP
④ PC + 2
→ (SSP)
⑤ "00100B"
→ ILM
⑥ "0"
→ S フラグ
⑦ (TBR + 3D8H)
→ PC
INTE 命令およびステップトレーストラップの処理ルーチン中では , INTE 命令を使用
しないでください。また , ステップ実行中は INTE による EIT の発生はありません。
■ ステップトレーストラップの動作
PS 中の SCR における T フラグをセットしてステップトレースの機能をイネーブルに
しておくと , 一命令実行ごとにトラップが発生してブレークします。
[ ステップトレーストラップ検出の条件 ]
① T フラグ = 1
② 遅延分岐命令ではないとき
③ INTE 命令 , ステップトレーストラップの処理ルーチン以外を実行中のとき
以上の条件が成立すると , 命令動作の切れ目でブレークします。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
89
第 3 章 CPU および制御部
3.10
MB91402/403 シリーズ
[ 動作 ]
① SSP − 4
→ SSP
② PS
→ (SSP)
③ SSP − 4
→ SSP
④ 次の命令のアドレス
→ (SSP)
⑤ "00100B"
→ ILM
⑥ "0"
→ S フラグ
⑦ (TBR + 3CCH)
→ PC
Tフラグをセットしてステップトレーストラップをイネーブルにしたとき, ユーザ用の
NMI とユーザ割込みは禁止状態となります。また , INTE 命令による EIT は発生しなく
なります。
FR ファミリでは , T フラグをセットした次の命令からトラップが発生します。
■ 未定義命令例外の動作
命令のデコード時に未定義命令であることを検出すると , 未定義命令例外が発生しま
す。
未定義命令例外の検出条件は , 以下のとおりです。
① 命令のデコード時に , 未定義命令であることを検出
② 遅延スロット外に置かれている ( 遅延分岐命令の直後ではない )
以上の条件が成立すると , 未定義命令例外が発生してブレークします。
[ 動作 ]
① SSP − 4
→ SSP
② PS
→ (SSP)
③ SSP − 4
→ SSP
④ PC
→ (SSP)
⑤ "0"
→ S フラグ
⑥ (TBR + 3C4H)
→ PC
PC として退避されるのは , 未定義命令例外を検出した命令自身のアドレスです。
■ コプロセッサ不在トラップ
実装していないコプロセッサを使用するコプロセッサ命令を実行すると , コプロセッ
サ不在トラップが発生します。
[ 動作 ]
90
① SSP − 4
→ SSP
② PS
→ (SSP)
③ SSP − 4
→ SSP
④ 次の命令のアドレス
→ (SSP)
⑤ "0"
→ S フラグ
⑥ (TBR + 3E0H)
→ PC
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.10
MB91402/403 シリーズ
■ コプロセッサエラートラップ
コプロセッサを使用しているときにエラーが発生した場合 , 次にそのコプロセッサを
操作するコプロセッサ命令を実行したときにコプロセッサエラートラップが発生しま
す。
[ 動作 ]
① SSP − 4
→ SSP
② PS
→ (SSP)
③ SSP − 4
→ SSP
④ 次の命令のアドレス
→ (SSP)
⑤ "0"
→ S フラグ
⑥ (TBR + 3DCH)
→ PC
■ RETI 命令の動作
RETI 命令は , EIT 処理ルーチンから復帰する命令です。
[ 動作 ]
① (R15)
→ PC
② R15 + 4
→ R15
③ (R15)
→ PS
④ R15 + 4
→ R15
RETI 命令は , S フラグが "0" の状態で実行する必要があります。
■ 遅延スロットの注意事項
分岐命令の遅延スロットには , EIT に関して制約があります。
「3.9 分岐命令」を参照してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
91
第 3 章 CPU および制御部
3.11
3.11
MB91402/403 シリーズ
リセット ( デバイス初期化 )
FR ファミリデバイスの初期化であるリセット動作について説明します。
■ リセット ( デバイスの初期化 )
リセット要因が発生すると , デバイスはすべてのプログラムおよびハードウェア動作
を停止して状態を初期化します。この状態をリセット状態とよびます。
リセット要因の消失により , デバイスは初期状態からプログラムおよびハードウェア
動作を開始します。このリセット状態から動作開始にいたる一連の動作をリセット
シーケンスとよびます。
92
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.11
リセットレベル
3.11.1
FR ファミリのリセット動作は , 2 種類のレベルに分けられ , それぞれ発生要因およ
び初期化の内容が異なります。各リセットレベルについて説明します。
■ 設定初期化リセット (INIT)
すべての設定を初期化する最強レベルのリセットを設定初期化リセット (INIT) とよび
ます。
設定初期化リセット (INIT) により初期化される主な内容は以下のとおりです。
● 設定初期化リセット (INIT) による初期化箇所
• 内部クロックに関するすべての設定 ( クロックソース選択 , 分周比設定 )
• 外部バスインタフェースのすべての設定
• その他 , 端子状態に関するすべての設定
• 動作初期化リセット (RST) で初期化されるすべての箇所
詳細はそれぞれの機能の解説を参照してください。
<注意事項>
電源投入後は必ず INIT 端子にて設定初期化リセット (INIT) をかけてください。
■ 動作初期化リセット (RST)
プログラム動作を初期化する通常レベルのリセットを動作初期化リセット (RST) とよ
びます。
設定初期化リセット (INIT) 時には , 同時に動作初期化リセット (RST) も発生します。
動作初期化リセット (RST) により初期化される主な内容は以下のとおりです。
● 動作初期化リセット (RST) による初期化箇所
• 動作モード ( バスモードおよび外部バス幅の設定 )
• プログラム動作
• CPU および内部バス
• 周辺リソースのレジスタ設定値
• 外部バスの CS0 領域に関するすべての設定
詳細はそれぞれの機能の解説を参照してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
93
第 3 章 CPU および制御部
3.11
3.11.2
MB91402/403 シリーズ
リセット要因
FR ファミリコアマクロにおける各リセット発生要因と発生するリセットレベルにつ
いて説明します。
過去に発生したリセット要因は , リセット要因レジスタ (RSRR) を読み出すことに
より知ることが可能です。
各説明にあるレジスタ , フラグの詳細な説明は , 「3.12.4 クロック生成制御部のブ
ロックダイヤグラム 」,「3.12.5 クロック生成制御部のレジスタ」で説明します。
■ INIT 端子入力 ( 設定初期化リセット端子 )
INIT 端子は , 設定初期化リセット端子として機能します。
本端子へ"L"レベル入力を行っている間, 設定初期化リセット(INIT)要求が発生します。
本端子へ "H" レベルを入力することにより , 設定初期化リセット (INIT) 要求は解除さ
れます。
本端子要求による設定初期化リセット (INIT) が発生した場合 , リセット要因レジスタ
(RSRR) 中の bit15:INIT ビットがセットされます。
本端子要求による設定初期化リセット (INIT) は , すべてのリセット要因中で最強のも
のであり , すべての入力・動作・状態よりも優先されます。
なお , 電源投入直後は必ず INIT 端子にて設定初期化リセット (INIT) をかけてください。
また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INIT 端子への
"L" レベル入力を発振回路の要求する発振安定待ち時間の間持続してください (INIT 端
子による INIT では , 発振安定待ち時間の設定は最小値に初期化されています )。
• 発生要因
:外部 INIT 端子への "L" レベル入力
• 解除要因
:外部 INIT 端子への "H" レベル入力
• 発生レベル :設定初期化リセット (INIT)
• 対応フラグ :bit15:INIT
94
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.11
■ ソフトウェアリセット (STCR:SRST ビット書込み )
スタンバイ制御レジスタ (STCR) の bit4:SRST ビットに "0" が書き込まれると , ソフト
ウェアリセット要求が発生します。
ソフトウェアリセット要求は , 動作初期化リセット (RST) 要求です。
要求が受け付けられて動作初期化リセット (RST) が発生するとソフトウェアリセット
要求は解除されます。
ソフトウェアリセット要求による動作初期化リセット(RST)が発生した場合, リセット
要因レジスタ (RSRR) の bit11:SRST ビットがセットされます。
ソフトウェアリセット要求による動作初期化リセット(RST)は, タイムベースカウンタ
制御レジスタ (TBCR) の bit7:SYNCR ビットがセットされている場合 ( 同期リセット
モード ), すべてのバスアクセスが停止してからでないと発生しません。
このため, バスの使用状況によっては動作初期化リセット (RST)が発生するまでに長時
間を要する場合があります。
・発生要因 : STCR( スタンバイ制御レジスタ ) の bit4:SRST ビットへの "0" 書込み
・解除要因 : 動作初期化リセット (RST) の発生
・発生レベル:動作初期化リセット (RST)
・対応フラグ: bit11:SRST
■ ウォッチドッグリセット
ウォッチドッグタイマ制御レジスタ (RSRR) に対して書込みを行うと , ウォッチドッグ
タイマが起動します。その後 , RSRR の bit9, bit8:WT1, WT0 ビットにて設定した周期内
にウォッチドッグリセット発生延期レジスタ (WPR) への A5H/5AH 書込みが行われない
と , ウォッチドッグリセット要求が発生します。
ウォッチドッグリセット要求は , 設定初期化リセット (INIT) 要求です。要求が受け付け
られて設定初期化リセット (INIT) が発生するか , 動作初期化リセット (RST) が発生す
ると , ウォッチドッグリセット要求は解除されます。
ウォッチドッグリセット要求による設定初期化リセット(INIT)が発生した場合, リセッ
ト要因レジスタ (RSRR) の bit13:WDOG ビットがセットされます。
なお , ウォッチドッグリセット要求による設定初期化リセット (INIT) が発生した場合
には , 発振安定待ち時間の設定は初期化されません。
・発生要因 : ウォッチドッグタイマの設定周期経過
・解除要因 : 設定初期化リセット (INIT) または動作初期化リセット (RST) の発生
・発生レベル:設定初期化リセット (INIT)
・対応フラグ:bit13:WDOG
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
95
第 3 章 CPU および制御部
3.11
3.11.3
MB91402/403 シリーズ
リセットシーケンス
リセット要因の消失により , デバイスはリセットシーケンスの実行を開始します。
リセットシーケンスは , リセットレベルによりそれぞれ動作内容が異なります。
各リセットレベルにおけるリセットシーケンスの動作内容について説明します。
■ 設定初期化リセット (INIT) 解除シーケンス
設定初期化リセット (INIT) 要求が解除されると , デバイスは以下の動作を順に実行し
ます。
(1) 設定初期化リセット (INIT) の解除 , 発振安定待ち状態へ遷移
(2) 発振安定待ち時間 (STCR の bit3, bit2:OS1, OS0 にて設定 ) の間 , 動作初期化リセッ
ト (RST) 状態を保持 , 内部クロック停止
(3) 動作初期化リセット (RST) 状態 , 内部クロック動作開始
(4) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移
(5) 000FFFF8H 番地より , 8 ビットバス幅として動作し , モードベクタの読出し
(6) モードレジスタ (MODR) へ , モードベクタの書込み
(7) 000FFFFCH 番地より , リセットベクタの読出し
(8) プログラムカウンタ (PC) へ , リセットベクタの書込み
(9) プログラムカウンタ (PC) の示す番地より , プログラム動作開始
■ 動作初期化リセット (RST) 解除シーケンス
動作初期化リセット(RST)要求が解除されると, デバイスは以下の動作を順に実行しま
す。
(1) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移
(2) 000FFFF8H 番地より , 8 ビットバス幅として動作し , モードベクタの読出し
(3) モードレジスタ (MODR) へ , モードベクタの書込み
(4) 000FFFFCH 番地より , リセットベクタの読出し
(5) プログラムカウンタ (PC) へ , リセットベクタの書込み
(6) プログラムカウンタ (PC) の示す番地より , プログラム動作開始
96
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
3.11.4
第 3 章 CPU および制御部
3.11
発振安定待ち時間
デバイスの原発振が停止していたか , その可能性がある状態から復帰したとき , 自動
的に発振安定待ち状態に遷移します。
この機能により , 発振開始後の安定していないクロック入力を使用しないようにし
ます。
発振安定待ち時間中は , 内部および外部へのクロック供給を停止し , 内蔵タイムベー
スカウンタのみが動作して , スタンバイ制御レジスタ (STCR) にて設定された安定待
ち時間の経過を待ちます。
■ 発振安定待ち時間発生要因
発振安定待ち時間の発生要因を , 以下に示します。
● 設定初期化リセット (INIT) の解除時
各種要因による設定初期化リセット (INIT) が解除された直後に , 発振安定待ち状態
へ遷移します。
発振安定待ち時間経過後は , 動作初期化リセット (RST) 状態へ遷移します。
● ストップモードからの復帰時
ストップモードが解除された直後に , 発振安定待ち状態へ遷移します。ただし , 設
定初期化リセット (INIT) 要求により解除された場合は , 設定初期化リセット (INIT)
状態に遷移し , 設定初期化リセット (INIT) が解除された後 , 発振安定待ち状態へ遷
移します。
発振安定待ち時間経過後は , ストップモードが解除された要因に対応した状態へと遷
移します。
• 有効な外部割込み要求入力 (NMI を含む ) の発生による復帰時:
通常動作状態へ遷移します。
• 設定初期化リセット (INIT) 要求による復帰時:
設定初期化リセット (INIT) 状態へ遷移します。
• 動作初期化リセット (RST) 要求による復帰時:
動作初期化リセット (RST) 状態へ遷移します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
97
第 3 章 CPU および制御部
3.11
MB91402/403 シリーズ
■ 発振安定待ち時間の選択
発振安定待ち時間は , 内蔵タイムベースカウンタを使用して計測します。
発振安定待ち発生要因が発生して発振安定待ち状態へ遷移すると , 内蔵タイムベース
カウンタは一度初期化された後 , 発振安定待ち時間の計測を開始します。
スタンバイ制御レジスタ (STCR) の bit3, bit2:OS1, OS0 ビットにより , 発振安定待ち時
間を 4 種類のうちから選択して設定することができます。
一度選択した設定は , INIT 端子による設定初期化リセット (INIT) 以外では初期化され
ません。それ以外のウォッチドッグリセットによる設定初期化リセット (INIT) や , 動
作初期化リセット(RST)では , リセット発生以前に設定した発振安定待ち時間が保持さ
れます。
発振安定待ち時間の選択の 4 種類の設定は , それぞれ以下の用途を想定してあります。
• OS1, OS0 = 00B:発振安定待ち時間なし
( ストップモードで発振器を停止させない場合 )
• OS1, OS0 = 01B:発振安定待ち時間 ( 短 )
( ストップモードで発振器を停止させない場合 )
• OS1, OS0 = 10B:発振安定待ち時間 ( 中 )
( セラミック振動子などの安定が速い発振子を使用する場合 )
• OS1, OS0 = 11B:発振安定待ち時間 ( 長 )
( 一般の水晶発振子などを使用する場合 )
なお , 電源投入直後は必ず INIT 端子にて設定初期化リセット (INIT) をかけてください。
また , 電源投入直後は , INIT 端子への "L" レベル入力をクロックが安定するまでの間持
続してください (INIT 端子による INIT では , 発振安定待ち時間の設定は最小値に初期
化されています )。
98
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
3.11.5
第 3 章 CPU および制御部
3.11
リセット動作モード
動作初期化リセット (RST) には , 非同期リセットモードと同期リセットモードの 2
つのモードがあり , タイムベースカウンタ制御レジスタ (TBCR) の bit7:SYNCR
ビットによってどちらのモードで動作するかを設定します。
このモード設定は , 設定初期化リセット (INIT) のみで初期化されます。
設定初期化リセット (INIT) は , 常に非同期でリセット動作を行います。
■ 非同期リセット動作
動作初期化リセット (RST) 要求が発生した際に , 即座に動作初期化リセット (RST) 状態
への遷移を行う動作を非同期リセット動作とよびます。
このモードにおいては, リセット(RST)要求またはハードウェアスタンバイ要求が受け
付けられると , 内部バスアクセスの動作状態にかかわらず , 即時にリセット (RST) 状態
へ遷移します。
このモードでは , 各状態へ遷移する時点で行われていたバスアクセスについては , その
結果を保証できません。しかし , それら要求を確実に受け付けることが可能です。
タイムベースカウンタ制御レジスタ (TBCR) の bit7:SYNCR ビットが "0" のときに非同
期リセットモードとなります。
設定初期化リセット (INIT) の発生後の初期値は , 非同期リセットモードとなります。
■ 同期リセット動作
動作初期化リセット(RST)要求が発生した際に, すべてのバスアクセスが停止してから
動作初期化リセット (RST) 状態への遷移を行う動作を同期リセット動作とよびます。
このモードにおいては , リセット (RST) 要求が受け付けられても , 内部バスアクセスが
行われている間は , リセット (RST) 状態への遷移を行いません。
上記要求が受け付けられると , それにより内部バスに対してスリープ要求が発行され
ます。各バスが動作を切り上げてスリープ状態に移行すると , 動作初期化リセット
(RST) 状態へ遷移します。
このモードでは , 各状態へ遷移する時点ではすべてのバスアクセスが停止しているた
め , すべてのバスアクセスの結果を保証できます。
しかし , バスアクセスが何らかの理由により停止しない場合 , その間各要求を受け付け
ることができなくなります ( このような場合でも , 設定初期化リセット (INIT) は即座に
有効となります )。バスアクセスが停止しない要因には以下の場合があげられます。
外部バスインタフェースに対してバス解放要求 (BRQ) が入力され続け , バス解放アク
ノリッジ (BGRNT) が有効となっている場合で , 内部バスから新たなバスアクセス要求
が発生しているような場合。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
99
第 3 章 CPU および制御部
3.11
MB91402/403 シリーズ
外部バスインタフェースに対してレディ要求 (RDY) が入力され続け , バスウェイトが
有効となっている場合。また , 以下の場合においては , 最終的には各状態へ遷移します
が , 遷移するまでに長時間かかってしまいます。
DMA コントローラについては , 各要求の受付けにより転送停止を行いますので , 各状
態への遷移を遅延させることはありません。
タイムベースカウンタ制御レジスタ (TBCR) の bit7:SYNCR ビットが "1" のときに同期
リセットモードとなります。
設定初期化リセット (INIT) の発生後の初期値は , 非同期リセットモードに戻ります。
100
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
3.12
クロック生成制御
クロックの発生とその制御について説明します。
■ クロック生成制御
FR ファミリデバイスの内部動作クロックは以下のように発生します。
• ソースクロックの選択:クロックの供給源を選択します。
• ベースクロックの生成:ソースクロックを 2 分周または PLL 発振させ , 基本クロッ
クを生成します。
• 各内部クロックの生成:ベースクロックを分周し , 各部に供給する 3 種類の動作ク
ロックを生成します。
以下 , 各クロック生成とその制御について説明します。
各説明にあるレジスタ , フラグの詳細な説明は ,「3.12.4 クロック生成制御部のブロッ
クダイヤグラム」,「3.12.5 クロック生成制御部のレジスタ」を参照してください。
■ 外部クロック
外部クロックの場合は X0 端子からの入力になります。
外部ソースクロックに関しては「2.3 動作説明 ■クロック」を参照してください。
■ 発振器
発振子を X0, X1 端子に接続します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
101
第 3 章 CPU および制御部
3.12
3.12.1
MB91402/403 シリーズ
PLL 制御
メインのソースクロックに対応した PLL 発振回路について , 動作 ( 発振 ) 許可 / 禁止
と逓倍率設定を独立に制御することが可能です。各制御は , クロックソース制御レ
ジスタ (CLKR) の設定によって行います。以下に , 各制御内容について説明します。
■ PLL 動作許可
メイン PLL 発振動作の許可 / 停止は , クロックソース制御レジスタ (CLKR) の
bit10(PLL1EN ビット ) の設定によって行います。
● PLL 動作制御
どちらのビットも設定初期化リセット (INIT) 後は "0" に初期化され , PLL の発振動作は
停止しています。停止中は , ソースクロックとして , PLL 出力を選択することはできま
せん。
プログラム動作を開始したら , まず , クロックソースとして使用する PLL の逓倍率を
設定し , かつ動作許可した後 , PLL のロック待ち時間経過後にソースクロックを切り換
えてください。この際の PLL ロック待ち時間は , タイムベースタイマ割込みを使用す
ることができます。
ソースクロックとして PLL 出力を選択している間は , その PLL を動作停止させること
はできません ( レジスタへの書込みは無効となります )。ストップモードに移行する際
などで PLL を停止させたい場合は , 一度ソースクロックをメインクロックの 2 分周し
たものに選択し直した後 , PLL を停止させてください。
なお ,PLL はストップモード遷移時に自動的に停止しますので , 動作停止を改めて設定
する必要はありません。その後 , ストップモードから復帰する際 , PLL は自動的に発振
動作を開始します。
102
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.12
■ PLL 逓倍率
メイン PLL の逓倍率は , クロックソース制御レジスタ (CLKR) の bit14 ∼ bit12 (PLL1S2,
PLL1S1, PLL1S0 ビット ) によって設定します。
設定初期化リセット (INIT) 後は , 全ビットが "0" に初期化されています。
● PLL 逓倍率設定
PLL 逓倍率設定を初期値より変更する場合 , プログラム動作開始後 , PLL を動作許可す
る前または同時に設定してください。逓倍率変更後は , ロック待ち時間経過後にソース
クロックを切り換えてください。この際の PLL ロック待ち時間には , タイムベースタ
イマ割込みを使用することができます。
動作中に PLL 逓倍率設定を変更する場合 , 一度ソースクロックを該当 PLL 以外に切り
換えてから変更してください。逓倍率変更後は , 上記同様にロック待ち時間経過後に
ソースクロックを切り換えてください。
PLL 逓倍率設定の変更を PLL 使用中に変更することも可能ですが , この際は逓倍率設
定書換え後から自動的に発振安定待ち状態に遷移します。設定された発振安定待ち時
間が経過するまでの間はプログラム動作を停止します。
PLL 以外にクロックソースを切り換えた場合にはプログラム動作は停止しません。
■ 発振安定待ち
ソースクロックとして選択するクロックが安定動作状態にない場合には , 発振安定待
ち時間が必要となります。INIT 端子により外部で発振安定待ちを制御する必要があり
ます
( 「3.11.4 発振安定待ち時間」を参照 )。
● 電源投入後の待ち時間
電源投入後は , まず , 入力クロックの発振安定待ち時間が必要となります。
発振安定待ち時間の設定は , INIT 端子入力へ "L" レベルを入力する時間により確保し
ます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
103
第 3 章 CPU および制御部
3.12
3.12.2
MB91402/403 シリーズ
クロック分配
ソースクロックから生成したベースクロックを元に , 各機能用の動作クロックをそ
れぞれ生成します。
内部動作クロックは全部で 3 種類あり , それぞれが独立に分周比を設定できます。
この項では , 各内部動作クロックについて説明します。
■ CPU クロック (CLKB)
CPU と内部メモリ (FR コア内部 ) および内部バスで使用するクロックです。
このクロックを使用する回路には , 以下のようなものがあります。
• CPU
• 命令キャッシュ
• データ RAM
• ビットサーチモジュール
• I-bus, D-bus, X-bus, F-bus
• DMA コントローラ
• DSU
動作可能な上限周波数は 33 MHz ですので , これを超える周波数になる逓倍率と分周比
の組合せを設定しないでください。
■ 周辺クロック (CLKP)
FR コア内の周辺回路で使用するクロックです。
このクロックを使用する回路には , 以下のようなものがあります。
• ペリフェラルバス
• クロック制御部 ( バスインタフェース部のみ )
• 割込みコントローラ
• 外部割込み入力
• UART
• 16 ビットタイマ
動作可能な上限周波数は 16.5 MHz ですので , これを超える周波数になる逓倍率と分周
比の組合せを設定しないでください。
■ 外部インタフェースクロック (MCLKO)
FR コア外の周辺回路で使用するクロックです。
次の回路がこのクロックを使用します。
• LAN コントローラ , GPIO IF, I2C IF, 外部メモリ IF, 内蔵 RAM
外部インタフェースで使用するクロックです。
このクロックを使用する回路には , 以下のようなものがあります。
• メモリインタフェース
• CLK 出力 (MCLK)
動作可能な上限周波数は 33 MHz ですので , これを超える周波数になる逓倍率と分
周比の組合せを設定しないでください。
104
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
3.12.3
第 3 章 CPU および制御部
3.12
クロック分周
各内部動作クロックは , それぞれ独立に , ベースクロックからの分周比を設定するこ
とができます。この機能により , 各回路に最適な動作周波数を設定することができ
ます。
■ クロック分周
分周比は , 基本クロック分周設定レジスタ 0(DIVR0) および基本クロック分周設定レジ
スタ 1(DIVR1) にて設定します。各レジスタには各クロックに対応する 4 ビットずつの
設定ビットがあり , ( レジスタ設定値+ 1) がそのクロックのベースクロックに対する分
周比となります。分周比設定が奇数であっても , 常にデューティ比は 50% となります。
設定値の変更があった場合 , 設定後 , 次のクロックの立上りから変更後の分周比が有効
となります。
分周比設定は , 動作初期化リセット (RST) の発生では初期化されず , リセット発生前の
設定が維持されます。設定初期化リセット (INIT) の発生によってのみ初期化されます。
初期状態では , 周辺クロック (CLKP) 以外はすべて分周比が "1" となりますので , ソー
スクロックを高速なものに変更する前に必ず分周比の設定を行ってください。
各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , 分
周比の設定の組合せで , 上限周波数を超える設定をした場合には動作が保証されませ
んので注意してください。ソースクロック選択の変更設定との順序を間違えないよう
に注意してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
105
第 3 章 CPU および制御部
3.12
3.12.4
MB91402/403 シリーズ
クロック生成制御部のブロックダイヤグラム
図 3.12-1 にクロック生成制御部のブロックダイヤグラムを示します。図中のレジス
タの詳細な説明は , 「3.12.5 クロック生成制御部のレジスタ」を参照してください。
■ クロック発生制御部のブロックダイヤグラム
図 3.12-1 クロック発生制御部のブロックダイヤグラム
[クロック生成部]
DIVR0, DIVR1レジスタ
R-bus
CPUクロック分周
セレ
クタ
セレ
クタ
外部バスクロック分周
セレ
クタ
停止制御
周辺クロック分周
CPUクロック
各周辺クロック
外部バスクロック
CLKRレジスタ
X1
PLL
発振回路
セレクタ
X0
1/2
[ ストップ・スリープ制御部]
内部割込み
STCRレジスタ
内部リセット
ストップ状態
状態遷移
制御回路
SLEEP状態
リセット発生
F/F
リセット発生
F/F
内部リセット(RST)
内部リセット(INIT)
[リセット要因回路]
INIT端子
RSRRレジスタ
[ウォッチドッグ制御部]
ウォッチドッグ F/ F
WPRレジスタ
タイムベースカウンタ
カウンタクロック
CTBRレジスタ
TBCRレジスタ
セレ
クタ
オーバフロー検出F/F
割込み許可
106
FUJITSU MICROELECTRONICS LIMITED
タイムベースタイマ
割込み要求
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
クロック生成制御部のレジスタ
3.12.5
クロック生成制御部で使用するレジスタの機能について説明します。
■ リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ (RSRR)
図 3.12-2 リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ (RSRR) のビット構成
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
アドレス : 0000 0480H
INIT
−
WDOG
−
SRST
LINIT
WT1
WT0
アクセス
R
R
R
R
R
R
R/W
R/W
初期値 (INIT 端子 )
1
0
0
0
0
0
0
0
初期値 (INIT)
*
*
*
×
×
*
0
0
初期値 (RST)
×
×
×
*
*
×
0
0
*
X
R/W
R
−
×
:要因により変化します。
:初期化されません。
:リード / ライト可能
:リードオンリ
:未定義ビット
:不定値
直前に発生したリセットの要因の保持 , およびウォッチドッグタイマの周期設定およ
び起動制御を行うレジスタです。
本レジスタを読むと , 保持されたリセット要因は読出し後にクリアされます。読み出す
までの間に複数回のリセットが発生した場合 , リセット要因フラグは累積され , 複数の
フラグがセットされることになります。
本レジスタに書き込むと , ウォッチドッグタイマが起動されます。それ以降は , リセッ
ト (RST) が発生するまでウォッチドッグタイマは動作を続けます。
[bit15]: INIT (INITialize reset occurred)
INIT 端子入力によるリセット (INIT) の発生の有無を示します。
表 3.12-1 INIT の機能
0
INIT 端子入力による INIT は発生していません。
1
INIT 端子入力による INIT が発生しました。
• 読出し直後に "0" に初期化されます。
• 読出し可能で , 書込みはビット値に対して意味を持ちません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
107
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
[bit13]: WDOG (WatchDOG reset occurred)
ウォッチドッグタイマによるリセット (INIT) の発生の有無を示します。
表 3.12-2 WDOG の機能
0
ウォッチドッグタイマによる INIT は発生していません。
1
ウォッチドッグタイマによる INIT が発生しました。
• INIT 端子入力によるリセット (INIT), または読出し直後に "0" に初期化されます。
• 読出し可能で , 書込みはビット値に対して意味を持ちません。
[bit11]: SRST (Software ReSeT occurred)
STCRレジスタの SRST ビット書込み( ソフトウェアリセット ) によるリセット (RST)
の発生の有無を示します。
表 3.12-3 SRST の機能
0
ソフトウェアリセットによる RST は発生していません。
1
ソフトウェアリセットによる RST が発生しました。
• INIT 端子入力によるリセット (INIT), または読出し直後に "0" に初期化されます。
• 読出し可能で , 書込みはビット値に対して意味を持ちません。
[bit10]: LINIT (Lowvoltage detect INITialize reset occurred)
MB91402/403 シリーズは低電圧リセット機能を持ちません。
• INIT 端子入力によるリセット (INIT), または読出し直後に "0" に初期化されます。
• 読出し可能で , 書込みはビット値に対して意味を持ちません。
[bit9, bit8]: WT1, WT0 (Watchdog interval Time select)
ウォッチドッグタイマの周期を設定します。
このビットに書き込む値により , ウォッチドッグタイマの周期を下表に示す 4 種類
のうちから選択します。
表 3.12-4 ウォッチドッグタイマの周期設定
ウォッチドッグリセットの発生 WPR への最終 "5AH" 書込みから
を抑止するために最低限必要な ウォッチドッグリセットが発生
WPR への書込み間隔
するまでの時間
WT1
WT0
0
0
φ × 216 ( 初期値 )
φ × 216 ∼ φ × 217
0
1
φ × 218
φ × 218 ∼ φ × 219
1
0
φ × 220
φ × 220 ∼ φ × 221
1
1
φ × 222
φ × 222 ∼ φ × 223
φ : システムベースクロックの周期
• リセット (RST) により "00B" に初期化されます。
• 読出し可能で , 書込みはリセット (RST) 後に 1 回のみ有効で , それ以降の書込み
は無効です。
108
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
■ スタンバイ制御レジスタ (STCR)
図 3.12-3 スタンバイ制御レジスタ (STCR) のビット構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス : 0000 0481H
STOP
SLEEP
HIZ
SRST
OS1
OS0
−
−
アクセス
R/W
R/W
R/W
R/W
R/W
R/W
初期値 (INIT 端子 )
0
0
1
1
0
0
−
1
−
1
初期値 (INIT)
0
0
1
1
×
×
1
1
初期値 (RST)
0
0
×
1
×
×
×
×
R/W :リード / ライト可能
−
:未定義ビット
×
:不定値
( 注意事項 ) INIT 端子による初期化と同時の場合のみ。それ以外は INIT 時と同じ。
デバイスの動作モードを制御するレジスタです。
ストップ , スリープの 2 つのスタンバイモードへの遷移 , ストップモード中の端子およ
び発振停止制御を行うほか , 発振安定待ち時間の設定 , ソフトウェアリセットの発行を
行います。
<注意事項>
スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ
制御レジスタの bit8 : SYNCS ビットにて設定します ) を使用した上で , 以下のシーケンス
を必ず使用してください。
(LDI
#value_of_standby,R0) ; value_of_standby は STCR へのライトデータ
(LDI
#_STCR,R12)
; _STCR は STCR のアドレス (481H)
STB
R0,@R12
; スタンバイ制御レジスタ (STCR) への書込み
LDUB
@R12,R0
; 同期スタンバイのための STCR 読出し
LDUB
@R12,R0
; もう一度 STCR をダミー読出し
NOP
NOP
NOP
NOP
NOP
[bit7]: STOP (STOP mode)
ストップモードへの遷移を指示します。bit6:SLEEP ビットと本ビット両方に "1" を
書き込んだ場合は , 本ビットの方が優先となり , ストップモードへ遷移します。
表 3.12-5 STOP の機能
0
ストップモードへの遷移を行いません。( 初期値 )
1
ストップモードへ遷移します。
• リセット (RST) およびストップ復帰要因により "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
109
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
[bit6]: SLEEP (SLEEP mode)
スリープモードへの遷移を指示します。bit7:STOP ビットと本ビット両方に "1" を書
き込んだ場合は, bit7:STOPビットの方が優先となり, ストップモードへ遷移します。
表 3.12-6 SLEEP の機能
0
スリープモードへの遷移を行いません。( 初期値 )
1
スリープモードへ遷移します。
• リセット (RST) およびスリープ復帰要因により "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit5]: HIZ (HIZ mode)
ストップモード時の端子状態を制御します。
表 3.12-7 HIZ の機能
0
ストップモード遷移前の端子状態を維持します。
1
ストップモード中は端子出力をハイインピーダンス状態にします。
( 初期値 )
• リセット (INIT) により "1" に初期化されます。
• 読出しおよび書込みが可能です。
( 注意事項 ) MB91402/403 シリーズにおいては , ストップモードにおける HIZ=1 の
設定は禁止です。
[bit4]: SRST (Software ReSeT)
ソフトウェアリセット (RST) の発行を指示します。
表 3.12-8 SRST の機能
0
ソフトウェアリセットを発行します。
1
ソフトウェアリセットの発行を行いません。( 初期値 )
• リセット (RST) により "1" に初期化されます。
• 読出しおよび書込みが可能です。読出し値は , 常に "1" となります。
110
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
[bit3, bit2]: OS1, OS0 (Oscillation Stabilization time select)
リセット (INIT) 後 , およびストップモード復帰後などにおける発振安定待ち時間を
設定します。
本ビットに書き込む値により , 発振安定待ち時間を下表に示す 4 種類のうちから選
択します。
表 3.12-9 発振安定待ち時間の設定
OS1
OS0
0
0
φ × 21 ( 初期値 )
0
1
φ × 211
120.0 µs
1
0
φ × 216
3932.0 µs
1
1
φ × 222
251.7 ms
原発振 33 MHz の場合 (PLL 未使用時 )
発振安定待ち時間
120 ns
φ : システムベースクロックの周期。この場合は原発振入力の周期
• INIT 端子入力によるリセット (INIT) により "00B" に初期化されます。
• 読出しおよび書込みが可能です。
[bit1, bit0]: Reserved
• リセット (INIT) により "1" に初期化されます。
• 書込み時は "1" を設定してください。
■ タイムベースカウンタ制御レジスタ (TBCR)
図 3.12-4 タイムベースカウンタ制御レジスタ (TBCR) のビット構成
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
アドレス : 0000 0482H
TBIF
TBIE
TBC2
TBC1
TBC0
−
アクセス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値 (INIT)
0
0
×
×
×
×
0
0
初期値 (RST)
0
0
×
×
×
×
×
×
SYNCR SYNCS
R/W : リード / ライト可能
−
:未定義ビット
×
:不定値
タイムベースタイマ割込みなどを制御するレジスタです。
タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択およびリセット動
作のオプション機能の設定を行います。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
111
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
[bit15]: TBIF (Time-Base timer Interrupt Flag)
タイムベースタイマ割込みフラグです。
タイムベースカウンタが設定されたインターバル時間 (bit13 ∼ bit11:TBC2 ∼ TBC0
ビットにて設定 ) を経過したことを示します。
bit14:TBIE ビットにより割込み発生が許可 (TBIE=1) されているときに本ビットが
"1" になると , タイムベースタイマ割込み要求が発生します。
クリア要因
命令による "0" の書込み
セット要因
設定されたインターバル時間の経過
( タイムベースカウンタ出力の立下りエッジ検出 )
• リセット (RST) により "0" に初期化されます。
• 読出し / 書込み可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込んでも
ビット値は変化しません。また , リードモディファイライト (RMW) 系命令での
読出し値は , 常に "1" となります。
[bit14]: TBIE (Time-Base timer Interrupt Enable)
タイムベースタイマ割込み要求出力許可ビットです。
タイムベースカウンタのインターバル時間経過による割込み要求出力を制御しま
す。本ビットが "1" のときに , bit15:TBIF ビットが "1" になると , タイムベースタイ
マ割込み要求が発生します。
0
タイムベースタイマ割込み要求出力禁止 ( 初期値 )
1
タイムベースタイマ割込み要求出力許可
• リセット (RST) により "1" に初期化されます。
• 読出しおよび書込みが可能です。
112
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
[bit13 ∼ bit11]: TBC2 ∼ TBC0 (Time-Base timer Counting time select)
タイムベースタイマで使用するタイムベースカウンタのインターバル時間を設定
します。
本ビットに書き込む値により , インターバル時間を下表に示す 8 種類のうちから選
択します。
表 3.12-10 インターバル時間の設定
TBC2 TBC1 TBC0 タイマインターバル
時間
原発振 33 MHz の場合
(PLL 未使用時 )
0
0
0
φ × 211
120.0 µs
0
0
1
φ × 212
240.0 µs
0
1
0
φ × 213
480.0 µs
0
1
1
φ × 222
251.7 ms
1
0
0
φ × 223
502.4 ms
1
0
1
φ × 224
1004.8 ms
1
1
0
φ × 225
2009.6 ms
1
1
1
φ × 226
4019.2 ms
φ : システムベースクロックの周期
• 初期値は不定です。割込みを許可する前に必ず値を設定してください。
• 読出しおよび書込みが可能です。
[bit10]: (reserved bit)
予約ビットです。読出し値は不定で , 書込みは動作に意味を持ちません。
[bit9]: SYNCR (SYNChronous Reset enable)
同期リセット動作許可ビットです。
動作初期化リセット (RST) 要求が発生した際に , 即座にリセット (RST) 動作を行う
か , すべてのバスアクセスが停止してから動作初期化リセット (RST) を行う同期リ
セット動作を行うかを選択します。
0
非同期リセット動作 ( 初期値 )
1
同期リセット動作
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
113
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
[bit8]: SYNCS (SYNChronous Standby enable)
同期スタンバイ動作許可ビットです。
スタンバイモード ( スリープモードまたはストップモード ) を使用する際は , 必ず
"1" を設定してください。
0
非同期スタンバイ動作 ( 初期値 )
1
同期スタンバイ動作
• リセット (INIT) により "0" に初期化されます。
• 読出しおよび書込みが可能です。
■ タイムベースカウンタクリアレジスタ (CTBR)
図 3.12-5 タイムベースカウンタクリアレジスタ (CTBR) のビット構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス : 0000 0483H
D7
D6
D5
D4
D3
D2
D1
D0
アクセス
W
W
W
W
W
W
W
W
初期値 (INIT)
×
×
×
×
×
×
×
×
初期値 (RST)
×
×
×
×
×
×
×
×
W :ライトオンリ
X :不定値
タイムベースカウンタを初期化するためのレジスタです。
本レジスタに連続して "A5H" , "5AH" を書き込むと , "5AH" 書込みの直後にタイムベー
スカウンタを全ビット "0" にクリアします。"A5H" 書込みと "5AH" 書込みの間の時間に
制限はありませんが , "A5H" 書込みの後に "5AH" 以外のデータを書き込むと , 再度
"A5H" を書き込まないと "5AH" を書き込んでもクリア動作を行いません。
本レジスタの読出し値は不定です。
<注意事項>
本レジスタを使用してタイムベースカウンタをクリアすると , 発振安定待ちの時間 ,
ウォッチドッグタイマ周期およびタイムベースタイマの周期が一時的に変動します。
114
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
■ クロックソース制御レジスタ (CLKR)
図 3.12-6 クロックソース制御レジスタ (CLKR) のビット構成
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
アドレス : 0000 0484H
−
アクセス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値 (INIT)
0
0
0
0
0
0
0
0
初期値 (RST)
×
×
×
×
×
×
×
×
PLL1S2 PLL1S1 PLL1S0
PLL1EN CLKS1 CLKS0
−
R/W : リード / ライト可能
−
:未定義ビット
×
:不定値
クロックソース制御レジスタ (CLKR) は , システムのベースクロックとするクロック
ソースの選択や PLL の制御を行うレジスタです。このレジスタでクロックソースを 2
種類のうちから選択します。また , PLL の動作許可および逓倍率の選択を制御します。
以下に , クロックソース制御レジスタ (CLKR) の各ビットの機能を説明します。
[bit15] (reserved bit)
このビットは , 予約ビットです。
[bit14 ∼ bit12] PLL1S2 ∼ PLL1S0(PLL1 ratio Select 2 ∼ 0)
これらのビットは , PLL の逓倍率選択ビットです。表 3.12-11 に示す PLL の逓倍率
を 8 種類のうちから選択します。
これらのビットをクロックソースとしてメインPLLを選択している間に書き換える
ことを禁止します。
表 3.12-11 メイン PLL 逓倍率の設定
PLL1S2
PLL1S1
PLL1S0
メイン PLL 逓倍率
0
0
0
× 1 ( 等倍 )
設定禁止
0
0
1
× 2 (2 逓倍 )
φ=30.0 ns (33.0 MHz)
0
1
0
× 3 (3 逓倍 )
φ=20.2 ns (49.5 MHz)
0
1
1
× 4 (4 逓倍 )
設定禁止
1
0
0
× 5 (5 逓倍 )
設定禁止
1
0
1
× 6 (6 逓倍 )
設定禁止
1
1
0
× 7 (7 逓倍 )
設定禁止
1
1
1
× 8 (8 逓倍 )
設定禁止
原発振 16.5 MHz の場合
φ : システムベースクロックの周期
• リセット (INIT) により "000B" に初期化されます。
• 読出しおよび書込みが可能です。
<注意事項>
PLL の発振保証周波数範囲は , 32.5 MHz ∼ 62.5 MHz です。この範囲内になるように設定
してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
115
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
[bit11](reserved bit)
このビットは , 予約ビットです。
[bit10] PLL1EN(PLL1 ENable)
このビットは , メイン PLL の動作許可ビットです。
このビットは,クロックソースとしてPLLを選択している間は書換えを禁止します。
また , このビットが "0" の間はクロックソースとしてメイン PLL を選択することを
禁止します (bit9, bit8 の CLKS1, CLKS0 ビットの設定による )。
以下の表に , メイン PLL の動作許可ビット (PLL1EN) の機能を示します。
表 3.12-12 メイン PLL の動作許可ビット (PLL1EN) の機能
PLL1EN
機能
0
メイン PLL 停止 ( 初期値 )
1
メイン PLL 動作許可
• リセット (INIT) により , "0" に初期化されます。
• 読出しおよび書込みが可能です。
[bit9, bit8] CLKS1, CLKS0(CLocK source Select)
これらのビットは , FR コアで使用するクロックソースを設定します。
これらのビットに書き込む値により , クロックソースを以下の表に示す 2 種類のう
ちから選択します。
以下に , クロックソースの設定を示します。
表 3.12-13 クロックソースの設定
CLKS1
CLKS0
0
0
X0/X1 からの原発振入力の 2 分周 ( 初期値 )
0
1
X0/X1 からの原発振入力の 2 分周
1
0
メイン PLL
1
1
設定禁止
クロックソース設定
以下に , CLKS1, CLKS0 ビットの変更不可能な組合せおよび変更可能な組合せを示
します。
表 3.12-14 CLKS1, CLKS0 ビットの変更不可能 / 変更可能な組合せ
変更不可能な組合せ
変更可能な組合せ
"00B" → "11B"
"00B" → "01B" または "10B"
"01B" → "10B"
"01B" → "11B" または "00B"
"10B" → "01B" または "11B"
"10B" → "00B"
"11B" → "00B" または "10B"
"11B" → "01B"
• リセット (INIT) により "00B" に初期化されます。
• 読出しおよび書込みが可能です。
116
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
■ ウォッチドッグリセット発生延期レジスタ (WPR)
図 3.12-7 ウォッチドッグリセット発生延期レジスタ (WPR) のビット構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス : 0000 0485H
D7
D6
D5
D4
D3
D2
D1
D0
アクセス
W
W
W
W
W
W
W
W
初期値 (INIT)
×
×
×
×
×
×
×
×
初期値 (RST)
×
×
×
×
×
×
×
×
W : ライトオンリ
× :不定値
ウォッチドッグリセットの発生を延期するためのレジスタです。
本レジスタに連続して "A5H" , "5AH" を書き込むと , "5AH" 書込みの直後にウォッチ
ドッグタイマの検出用 FF をクリアし , ウォッチドッグリセットの発生を延期します。
"A5H" 書込みと "5AH" 書込みの間の時間に制限はありませんが , "A5H" 書込みの後に
"5AH" 以外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH" を書き込んで
もクリア動作を行いません。また , 下表の期間内に両データの書込みを終えないと
ウォッチドッグリセットを発生します。
RSRR レジスタの WT1(bit9) , WT0(bit8) の状態により下表のように変化します。
表 3.12-15 ウォッチドックタイマ周期の設定
WPR への最終 "5AH" 書込みか
WT1
WT0
RSRR のウォッチドッグリセッ
トの発生を抑止するために最低
限必要な WPR への書込み間隔
らウォッチドッグリセットが発
生するまでの時間
0
0
φ × 216 ( 初期値 )
φ × 216 ∼ φ × 217
0
1
φ × 218
φ × 218 ∼ φ × 219
1
0
φ × 220
φ × 220 ∼ φ × 221
1
1
φ × 222
φ × 222 ∼ φ × 223
φ : システムベースクロックの周期。
WT1, WT0 は RSRR の bit9, bit8 でウォッチドッグタ
イマ周期設定
ただし , ストップ , スリープ , DMA 転送中など , CPU が動作していない間は自動的に
クリアを行いますので , これらの条件が発生すると , ウォッチドッグリセットは自動的
に延期されます。ただし , 外部バスのホールド要求 (BRQ) が受け付けられている場合で
はウォッチドッグリセットは延期されませんので , 長期間外部バスをホールドする場
合はスリープモードにしてからホールド要求 (BRQ) を入力してください。
本レジスタの読出し値は不定です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
117
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
■ 基本クロック分周設定レジスタ 0 (DIVR0)
図 3.12-8 基本クロック分周設定レジスタ 0 (DIVR0) のビット構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス : 0000 0486H
B3
B2
B1
B0
P3
P2
P1
P0
アクセス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値 (INIT)
0
0
0
0
0
0
1
1
初期値 (RST)
×
×
×
×
×
×
×
×
R/W : リード / ライト可能
× :不定値
各内部クロックのベースクロックに対する分周比を制御するレジスタです。
本レジスタでは , CPU および内部バスのクロック (CLKB) と , 周辺回路およびペリフェ
ラルバスクロック (CLKP) の分周比の設定を行います。
各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , 分
周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は保証されませんの
で注意してください ( ソースクロック選択の変更設定との順序を間違えないように注
意してください )。
本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周
比が有効となります。
[bit15 ∼ bit12] B3 ∼ B0 (clkB divide select 3 ∼ 0)
CPU クロック (CLKB) クロック分周比設定ビットです。
CPU と内部メモリおよび内部バスのクロック (CLKB) のクロック分周比を設定しま
す。
本ビットに書き込む値により , CPU および内部バスのクロックのベースクロックに
対する分周比 ( クロック周波数 ) を表 3.12-16 に示す 16 種類のうちから選択します。
表 3.12-16 クロック分周比 (CPU クロック ) の設定
クロック周波数 : 原発振 16.5 MHz
および PLL の 2 逓倍の場合
B3
B2
B1
B0
クロック分周比
0
0
0
0
φ
0
0
0
1
φ × 2 (2 分周 )
16.5 MHz
0
0
1
0
φ × 3 (3 分周 )
11 MHz
0
0
1
1
φ × 4 (4 分周 )
8.25 MHz
0
1
0
0
φ × 5 (5 分周 )
6.6 MHz
0
1
0
1
φ × 6 (6 分周 )
5.5 MHz
…
…
…
…
…
1
1
1
1
φ × 16(16 分周 )
33 MHz ( 初期値 )
…
2.063 MHz
φ : システムベースクロックの周期
• リセット (INIT) により "0000B" に初期化されます。
• 読出しおよび書込みが可能です。
118
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
<注意事項>
CPU クロックの動作可能上限周波数は 33.0 MHz ですので , これを超える設定はしないで
ください。
[bit11 ∼ bit8] P3 ∼ P0 (clkP divide select 3 ∼ 0)
周辺クロック (CLKP) クロック分周比設定ビットです。
周辺回路およびペリフェラルバスのクロック (CLKP) のクロック分周比を設定しま
す。
本ビットに書き込む値により , 周辺回路およびペリフェラルバスのクロックのベー
スクロックに対する分周比 ( クロック周波数 ) を表 3.12-17 に示す 16 種類のうちか
ら選択します。
表 3.12-17 クロック分周比 ( 周辺クロック ) の設定
クロック周波数 : 原発振 16.5 MHz
および PLL2 逓倍の場合
P3
P2
P1
P0
クロック分周比
0
0
0
0
φ
設定禁止
0
0
0
1
φ × 2 (2 分周 )
16.5 MHz
0
0
1
0
φ × 3 (3 分周 )
11 MHz
0
0
1
1
φ × 4 (4 分周 )
8.25 MHz ( 初期値 )
0
1
0
0
φ × 5 (5 分周 )
6.6 MHz
0
1
0
1
φ × 6 (6 分周 )
5.5 MHz
…
1
…
1
…
1
…
1
…
φ × 16(16 分周 )
…
2.063 MHz
φ : システムベースクロックの周期
• リセット (INIT) により "0011B" に初期化されます。
• 読出しおよび書込みが可能です。
<注意事項>
FR コア内部の周辺回路の動作可能上限周波数は 16.5 MHz ですので , これを超える設定は
しないでください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
119
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
■ 基本クロック分周設定レジスタ 1 (DIVR1)
図 3.12-9 基本クロック分周設定レジスタ 1 (DIVR1) のビット構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス : 0000 0487H
T3
T2
T1
T0
−
−
−
−
アクセス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値 (INIT)
0
0
0
0
0
0
0
0
初期値 (RST)
×
×
×
×
×
×
×
×
R/W : リード / ライト可能
−
:未定義ビット
×
:不定値
基本クロック分周設定レジスタ 1(DIVR1) は , 各内部クロックのベースクロックに対す
る分周比を制御するレジスタです。このレジスタでは , 外部拡張バスインタフェースの
クロック (CLKT) の分周比の設定を行います。各クロックには , 動作可能な上限周波数
が規定されています。ソースクロックの選択 , PLL の逓倍率の設定 , 分周比の設定の組
合せで,上限周波数を超える設定をした場合には動作は保証されませんので注意してく
ださい。ソースクロック選択の変更設定との順序を間違えないように注意してくださ
い。
このレジスタの設定に変更があった場合,設定後の次のクロックレートから変更後の分
周比が有効となります。
[bit7 ∼ bit4] T3 ∼ T0(clkT divide select 3 ∼ 0)
これらのビットは , 外部バスクロック (CLKT) のクロック分周比設定ビットです。外
部拡張バスインタフェースのクロック (CLKT) のクロック分周比を設定します。こ
のビットに書き込む値により , 外部拡張バスインタフェースのクロックのベースク
ロックに対する分周比 ( クロック周波数 ) を , 表 3.12-18 に示す 16 種類のうちから
選択します。
以下に , クロック分周比 ( 外部バスクロック ) の設定を示します。
表 3.12-18 クロック分周比 ( 外部バスクロック ) の設定
クロック周波数 : 原発振 16.5 MHz
および PLL の 2 逓倍の場合
T3
T2
T1
T0
0
0
0
0
φ
33 MHz ( 初期値 )
0
0
0
1
φ × 2 (2 分周 )
16.5 MHz
0
0
1
0
φ × 3 (3 分周 )
11 MHz
0
0
1
1
φ × 4 (4 分周 )
8.25 MHz
0
1
0
0
φ × 5 (5 分周 )
6.6 MHz
0
1
0
1
φ × 6 (6 分周 )
5.5 MHz
…
…
…
…
1
1
1
1
クロック分周比
…
φ × 16(16 分周 )
…
2.063 MHz
φ : システムベースクロックの周期
読出しおよび書込みが可能です。
120
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.12
[bit3 ∼ bit0] (reserved bit)
このビットは , 予約ビットです。
書込み時は必ず "0000B" を設定してください。
<注意事項>
外部バス上限周波数は 33 MHz ですので , これを超える設定はしないでください。また ,
外部バスに接続される MAC IF において , 100Base の通信を行うには , 25 MHz より上に
設定を行う必要があります (33 MHz ≧ 外部バス周波数 > 25 MHz)。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
121
第 3 章 CPU および制御部
3.12
3.12.6
MB91402/403 シリーズ
クロック制御部にある周辺回路
クロック制御部にある周辺回路機能について説明します。
■ タイムベースカウンタ
クロック制御部には , 26 ビット長のタイムベースカウンタがあり , システムベースク
ロックで動作しています。
タイムベースカウンタは , 発振安定待ち時間の計測のほか , 以下の用途に使用されま
す。発振安定待ち時間の詳細につては , 「3.11.4 発振安定待ち時間」を参照してくださ
い。
• ウォッチドッグタイマ
システムの暴走検出用のウォッチドッグタイマをタイムベースカウンタのビット
出力を使用して計測します。
• タイムベースタイマ
タイムベースカウンタ出力を使用してインターバル割込みを発生します。
以下 , これらの機能について説明します。
● ウォッチドッグタイマ
ウォッチドッグタイマは , タイムベースカウンタ出力を使用した暴走検出用タイマで
す。プログラムの暴走などで設定したインターバルの間にウォッチドッグリセットの
発生延期動作が行われなくなると , ウォッチドッグリセットとして設定初期化リセッ
ト (INIT) 要求を発生します。
【ウォッチドッグタイマの起動と周期設定】
ウォッチドッグタイマは , リセット (RST) 後の 1 回目のリセット要因レジスタ /
ウォッチドッグタイマ制御レジスタ (RSRR) への書込み動作により起動します。こ
のとき , ウォッチドッグタイマのインターバル時間を bit9, bit8:WT1, WT0 ビットに
より設定します。インターバル時間の設定は , この最初の書込みで設定した時間の
みが有効となり , それ以降の書込みはすべて無視されます。
【ウォッチドッグリセットの発生延期】
いったん , ウォッチドッグタイマを起動すると , プログラムで定期的にウォッチ
ドッグリセット発生延期レジスタ (WPR) に対して "A5H" , "5AH" の順でデータを書
き込む必要があります。この操作により , ウォッチドッグリセット発生用フラグが
初期化されます。
【ウォッチドッグリセットの発生】
ウォッチドッグリセット発生用フラグは , 設定したインターバルのタイムベースカ
ウンタ出力の立下りエッジによってセットされます。2 度目の立下りエッジの検出
時にフラグがセットされていると , ウォッチドッグリセットとして設定初期化リ
セット (INIT) 要求を発生します。
122
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.12
【ウォッチドッグタイマの停止】
いったん , ウォッチドッグタイマを起動すると , 動作初期化リセット (RST) が発生
するまではウォッチドッグタイマを停止することはできません。
動作初期化リセット (RST) の発生する以下の状態では , ウォッチドッグタイマは停
止し , 再度プログラム動作にて起動するまでは機能しません。
• 動作初期化リセット (RST) 状態
• 設定初期化リセット (INIT) 状態
• 発振安定待ちリセット状態
• ハードウェアスタンバイ状態
【ウォッチドッグタイマの一時停止 ( 自動発生延期 )】
ウォッチドッグタイマは , CPU のプログラム動作が停止している場合には , いった
ん , ウォッチドッグリセット発生用フラグを初期化し , ウォッチドッグリセットの
発生を延期します。プログラム動作の停止とは具体的には以下の動作を示します。
• スリープ状態
• ストップ状態
• 発振安定待ち RUN 状態
• I-bus ( 命令バス ) または D-bus ( データバス ) のどちらかに対する DMA 転送中
• エミュレータデバッガ , モニタデバッガを使用時のブレーク中
• INTE 命令の実行から RETI 命令の実行までの期間
• 命令キャッシュ制御レジスタ(ISIZE, ICHRC), RAMモード時のキャッシュメモリ
へのデータアクセス中
また , タイムベースカウンタのクリアを行うと , 同時にウォッチドッグリセット発
生用フラグも初期化されてウォッチドッグリセットの発生が延期されます。
なお , システムの暴走により上記の状態となってしまった場合には , ウォッチドッ
グリセットが発生しない可能性があります。その場合には , 外部 INIT 端子によりリ
セット (INIT) をかけてください。
● タイムベースタイマ
タイムベースタイマは , タイムベースカウンタ出力を使用したインターバル割込み発
生用タイマです。マクロ外部に接続された PLL のロック待ち時間やサブクロックなど
の発振安定待ち時間など , 最大で { ベースクロック× 227} サイクルまでの比較的長時
間の時間計測を行う用途に適しています。
設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジを検出
すると , タイムベースタイマ割込み要求を発生します。
【タイムベースタイマの起動とインターバル設定】
タイムベースタイマは , タイムベースカウンタ制御レジスタ (TBCR) の bit13 ∼
bit11:TBC2 ∼ TBC0 ビットにてインターバル時間を設定します。
設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジは
常に検出されているため , インターバル時間の設定後はまず bit15:TBIF ビットをク
リアしてから , bit14:TBIE ビットを "1" にして割込み要求出力を許可してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
123
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
インターバル時間を変更する際は , あらかじめ bit14:TBIE ビットを "0" にして割込
み要求出力を禁止しておいてください。
タイムベースカウンタはこれら設定に影響されず常にカウント動作を行っていま
すので , 正確なインターバル割込み時間を得るためには , 割込みを許可する前にタ
イムベースカウンタをクリアしてください。クリアしない場合は割込み許可直後に
割込み要求が発生することがあります。
【プログラムによるタイムベースカウンタのクリア】
タイムベースカウンタクリアレジスタ(CTBR)に対して "A5H" , "5AH" の順でデータ
を書き込むと , "5AH" 書込みの直後に , タイムベースカウンタを全ビット "0" にクリ
アします。"A5H" 書込みと "5AH" 書込みの間の時間に制限はありませんが , "A5H"
書込みの後に "5AH" 以外のデータを書き込むと , 再度 "A5H" を書き込まないと
"5AH" を書き込んでもクリア動作を行いません。
このタイムベースカウンタのクリアを行うことにより , 同時にウォッチドッグリ
セット発生用フラグも初期化され , ウォッチドッグリセットの発生がいったん延期
されます。
【コアマクロ状態によるタイムベースカウンタのクリア】
タイムベースカウンタは , 以下のコアマクロ状態の遷移時に , 同時に全ビット "0" に
クリアされます。
• ストップ状態
• 設定初期化リセット (INIT) 状態
• ハードウェアスタンバイ状態
特にストップ状態の場合 , 発振安定待ち時間の計測にタイムベースカウンタが使用
されるため , 意図せずにタイムベースタイマのインターバル割込みが発生してしま
うことがあります。そのため, ストップモードを設定する前には, タイムベースタイ
マ割込みを禁止し , タイムベースタイマを使用しないようにしてください。
それ以外の状態については, 動作初期化リセット(RST)が発生するため, タイムベー
スタイマ割込みは自動的に禁止されます。
124
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
3.12.7
第 3 章 CPU および制御部
3.12
クロックの滑らかな起動と停止
内部電圧降下または電圧サージを抑制するための方法を説明します。
■ クロックの滑らかな起動と停止
内部電圧降下または電圧サージを抑制するために C 端子に 5.0µF 程度のバイパスコン
デンサを接続すると内部電圧変化が大幅に抑制されます。また,すべてのクロック(CPU
および内部バスクロック (CLKB), 外部バスクロック (CLKT), 周辺回路およびペリフェ
ラルバスクロック (CLKP)) を低周波数から目標とする周波数にいきなり切り換えるの
ではなく , 段階的に切り換えてください。
低周波数での動作に戻す場合も段階的に行って,以下のようなクロックの起動とシャッ
トダウンを行ってください。
高周波数での動作から低周波数での動作に切り換える場合も , 同様の方法で行います。
● 起動
1) PLL 動作許可 ( クロックソース制御レジスタ (CLKR) の PLL1EN ビットを "1" に設
定してください )。
2) 発振安定待ち時間
3) CLKB, CLKT, CLKPを16分周します(DIVR0, DIVR1レジスタを設定してください)。
4) PLL の逓倍率を設定し , X0 を PLL 側に切り換えます ( クロックソース制御レジス
タ (CLKR) を設定してください )。
5) CLKB, CLKT, CLKP の分周比を段階的に下げます。分周ステップの間に待機ループ
を挿入します。
● シャットダウン
1) CLKB, CLKT, CLKP を段階的 ( ステップ数は周波数の設定による ) に最大分周係数
まで分周し , 分周ステップの間に待機ループを挿入します
(DIVR0, DIVR1 レジスタを設定してください )。
2) PLL からX0/X1よりの原発振に切り換えます(クロックソース制御レジスタ(CLKR)
を設定してください )。
3) PLL を無効にします ( クロックソース制御レジスタ (CLKR) の PLL1EN ビットを "0"
に設定してください )。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
125
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
■ クロックの滑らかな起動と停止のプログラム例
● 起動手順
#macro wait_loop loop_number
#local _wait64_loop
ldi
#loop_number,r0
_wait64_loop:
add
#-1,r0
bne
_wait64_loop
#endm
smooth_up_start3:
ldi #_DIVR0,r1
// CLKB および CLKP 用の分周レジスタ
ldi #_DIVR1,r2
// CLKT 用の分周レジスタ
ldi #_CLKR,r3
// CLKR レジスタ
ldi #0xff,r4
ldi #0x11,r5
ldi #0x33,r6
ldi #0x77,r7
ldi #0x01,r8
ldi #0x34,r12
ldi #0x36,r13
nop
nop
nop
stb r12,@r3
// PLL → X0 PLL 動作許可
//CLKB, CLKT, CLKP を 16 分周します
stb
r4,@r1
// CLKB , CLKP 16 分周
stb
r4,@r2
// CLKT 16 分周
wait_loop 4
stb r13,@r3
//X0 を PLL 側に切り換えます。
wait_loop 4
//CLKB, CLKP の分周比を段階的に下げます。
stb r7,@r1
// CLKB , CLKP 16 分周→ 8 分周
wait_loop 8
stb r6,@r1
// CLKB , CLKP
8 分周→ 4 分周
// CLKB , CLKP
4 分周→ 2 分周
wait_loop 8
stb r5,@r1
wait_loop 16
126
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
stb r8,@r1
// CLKB 2 分周→分周なし , CLKP 2 分周→ 2 分周
wait_loop 16
//CLKT の分周比を段階的に下げます。
stb r7,@r2
// CLKT 16 分周→ 8 分周
wait_loop 8
stb r6,@r2
// CLKT 8 分周→ 4 分周
wait_loop 8
stb r5,@r2
// CLKT 4 分周→ 2 分周
wait_loop 16
stb r8,@r2
// CLKT 分周なし
wait_loop 16
● シャットダウン手順
#macro wait_loop loop_number
#local _wait64_loop
ldi
#loop_number,r0
_wait64_loop:
add
#-1,r0
bne
_wait64_loop
#endm
smooth_down_start3:
ldi #_DIVR0,r1
// CLKB および CLKP 用の分周レジスタ
ldi #_DIVR1,r2
// CLKT 用の分周レジスタ
ldi #_CLKR,r3
// CLKR レジスタ
ldi #0x11,r5
ldi #0x3f,r6
ldi #0xff,r8
ldi #0x04,r9
ldi #0x33,r10
ldi #0xff,r12
ldi #0x00,r13
ldi #0x1f,r14
nop
nop
nop
//CLKT の分周比を段階的に上げます。
stb r14,@r2
// CLKT 分周なし→ 2 分周
wait_loop 16
stb r6,@r2
// CLKT
2 分周→ 4 分周
wait_loop 8
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
127
第 3 章 CPU および制御部
3.12
MB91402/403 シリーズ
stb r8,@r2
// CLKT
4 分周→ 16 分周
wait_loop 4
//CLKB, CLKP の分周比を段階的に上げます。
stb r5,@r1
// CLKB 分周なし→ 2 分周 , CLKP 2 分周→ 2 分周
wait_loop 16
stb r10,@r1
// CLKB , CLKP 2 分周→ 4 分周
wait_loop 8
stb r12,@r1
// CLKB , CLKP 4 分周→ 16 分周
wait_loop 4
//PLL の逓倍率を段階的に下げます。
stb r9,@r3
// PLL から X0/X1 よりの原発振に切り換えます。
stb r13,@r3
// PLL off
nop
nop
nop
ret
128
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.13
MB91402/403 シリーズ
3.13
デバイス状態制御
FR ファミリの各種状態とその制御および低消費電力モードについて説明します。
■ デバイス状態
FR ファミリの動作状態には以下のものがあります。
これらの詳細については , 「3.13.1 デバイス状態と各遷移」で説明します。
• RUN 状態 ( 通常動作 )
• スリープ状態
• ストップ状態
• 発振安定待ち RUN 状態
• 発振安定待ちリセット (RST) 状態
• 動作初期化リセット (RST) 状態
• 設定初期化リセット (INIT) 状態
■ 低消費電力モード
低消費電力モードには以下の 2 つがあります。
これらの詳細については「3.13.2 低消費電力モード」で説明します。
• スリープモード
• ストップモード
■ デバイス状態と各遷移
MB91402/403 シリーズのデバイスの状態遷移を図 3.13-1 に示します。
図 3.13-1 MB91402/403 シリーズの状態遷移
1 INIT
2 INIT
3
4
5
6
7
8
9
10
0(INT)
1(INIT
)
(INT)
(RST)
(RST)
(RST)
(
(
)
)
1
(INIT)
(INIT)
2
1
1
9
1
3
RUN
1
3
(RST)
7
4
5
1
1
8
RUN
6
CM71-10131-1
10
FUJITSU MICROELECTRONICS LIMITED
129
第 3 章 CPU および制御部
3.13
3.13.1
MB91402/403 シリーズ
デバイス状態と各遷移
デバイスの動作状態と , 各動作状態間の遷移について説明します。
■ RUN 状態 ( 通常動作 )
この状態は , プログラム実行状態です。
すべての内部クロックが供給され , すべての回路が動作可能な状態です。
各状態遷移要求を受け付けますが , 同期リセットモードを選択している場合 , 通常リ
セットモードの場合と一部要求に対する状態遷移動作が異なります。詳細は , 「3.11.5
リセット動作モード ■同期リセット動作」を参照してください。
■ スリープ状態
この状態は , プログラム停止状態です。プログラム動作により遷移します。
CPU のプログラム実行のみを停止し , 周辺回路は動作可能な状態です。命令キャッシュ
を停止し , 各種内蔵メモリおよび内部 / 外部バスは DMA コントローラが要求しない限
り停止状態です。
• 有効な割込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移
します。
• 設定初期化リセット (INIT) 要求の発生により設定初期化リセット (INIT) 状態へ遷移
します。
• 動作初期化リセット (RST) 要求の発生により動作初期化リセット (RST) 状態へ遷移
します。
• ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し
ます。
■ ストップ状態
この状態は , デバイス停止状態です。プログラム動作により遷移します。
すべての内部回路が停止します。内部クロックはすべて停止し , 発振回路の停止指示を
設定により有効にさせることが可能です。また , 設定により , 外部端子のアウトプット
許可を禁止にすることが可能です ( 一部端子を除く )。
• 特定の ( クロックを必要としない ) 有効な割込み要求の発生により , 発振安定待ち
RUN 状態へ遷移します。
• 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
• 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット状態へ遷移し
ます。
• ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し
ます。
130
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 3 章 CPU および制御部
3.13
■ 発振安定待ち RUN 状態
この状態は , デバイス停止状態です。ストップ状態からの復帰後に遷移します。
クロック発生制御部 ( タイムベースカウンタおよびコアマクロ状態制御部 ) を除くすべ
ての内部回路が停止します。内部クロックはすべて停止しますが , 発振回路の停止指示
は有効にはなりません。
• ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。
• 設定された発振安定待ち時間の経過により , RUN 状態 ( 通常動作 ) へ遷移します。
• 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
• 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット状態へ遷移し
ます。
• ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し
ます。
■ 発振安定待ちリセット状態
この状態は , デバイス停止状態です。ストップ状態または設定初期化リセット (INIT)
状態からの復帰後に遷移します。
クロック発生制御部 ( タイムベースカウンタおよびコアマクロ状態制御部 ) を除くすべ
ての内部回路が停止します。内部クロックはすべて停止しますが , 発振回路は動作許可
状態になります。
• ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。
• 内部回路に対し , 動作初期化リセット (RST) を出力します。
• 設定された発振安定待ち時間の経過により , 発振安定待ちリセット状態へ遷移しま
す。
• 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
• ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し
ます。
■ 動作初期化リセット (RST) 状態
この状態は , プログラム初期化状態です。動作初期化リセット (RST) 要求の受付け , ま
たは発振安定待ちリセット状態の終了により遷移します。
CPU のプログラム実行を停止し , プログラムカウンタは初期化されます。周辺回路は
一部を除き初期化されます。すべての内部クロックと発振回路は動作許可状態になり
ます。
• 内部回路に対して動作初期化リセット (RST) を出力します。
• 動作初期化リセット (RST) 要求の消失により , RUN 状態 ( 通常動作 ) へ遷移し , 動
作初期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの
復帰後だった場合は , 設定初期化リセットシーケンスを実行します。
• 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷
移します。
• ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し
ます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
131
第 3 章 CPU および制御部
3.13
MB91402/403 シリーズ
■ 設定初期化リセット (INIT) 状態
全設定初期化状態です。設定初期化リセット (INIT) 要求の受付け , またはハードウェ
アスタンバイ状態の終了により遷移します。
CPU のプログラム実行を停止し , プログラムカウンタは初期化されます。周辺回路は
すべて初期化されます。発振回路を動作します。すべての内部クロックは , INIT 端子へ
の "L" レベル入力期間は停止しますが , それ以外では動作します。
• 内部回路に対して設定初期化リセット (INIT) および動作初期化リセット (RST) を出
力します。
• 設定初期化リセット (INIT) 要求の消失により , 本状態は解除され , 発振安定待ちリ
セット状態へ遷移します。その後 , 動作初期化リセット (RST) 状態を経て , 設定初
期化リセットシーケンスを実行します。
■ 各状態遷移要求の優先順位
どの状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 一部要求
は特定の状態でしか発生しませんので , その状態でしか有効になりません。
【最強】設定初期化リセット (INIT) 要求
↓ ハードウェアスタンバイ要求
↓発振安定待ち時間の終了
( 発振安定待ちリセット状態および発振安定待ち RUN 状態にのみ発生 )
↓ 動作初期化リセット (RST) 要求
↓ 有効な割込み要求 (RUN, スリープ , ストップ状態のみ発生 )
↓ ストップモード要求 ( レジスタ書込み )(RUN 状態のみ発生 )
【最弱】スリープモード要求 ( レジスタ書込み )(RUN 状態のみ発生 )
132
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.13
MB91402/403 シリーズ
低消費電力モード
3.13.2
FR ファミリの各低消費電力モードとその使用方法について説明します。
■ 低消費電力モード
FR ファミリの低消費電力モードには , 以下のものがあります。
• スリープモード
レジスタ書込みにより , スリープ状態へ遷移させます。
• ストップモード
レジスタ書込みにより , ストップ状態へ遷移させます。
以下 , 各モードについて説明します。
■ スリープモード
スタンバイ制御レジスタ (STCR) の bit6:SLEEP ビットに "1" を書き込むとスリープモー
ドとなり , スリープ状態へ遷移します。以降 , スリープ状態からの復帰要因が発生する
まではスリープ状態を維持します。
スタンバイ制御レジスタ (STCR) の bit7:STOP ビットとこのビット両方に "1" を書き込
んだ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。
スリープ状態については , 「3.13.1 デバイス状態と各遷移 ■スリープ状態」も参照し
てください。
【スリープモードへの移行】
スリープモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウ
ンタ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下の
シーケンスを必ず使用してください。
(LDI
#value_of_sleep,R0) ; value_of_sleep は STCR へのライト
; データ
(LDI
#_STCR,R12)
; _STCR は STCR のアドレス (481H)
STB
R0,@R12
; スタンバイ制御レジスタ(STCR)への書込
; み
LDUB
@R12,R0
; 同期スタンバイのための STCR リード
LDUB
@R12,R0
; もう一度 STCR をダミーリード
NOP
NOP
NOP
NOP
NOP
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
133
第 3 章 CPU および制御部
3.13
MB91402/403 シリーズ
● スリープ状態で停止する回路
• CPU のプログラム実行
• 命令キャッシュ
• ビットサーチモジュール (DMA 転送が発生した場合は動作します。)
• 各種内蔵メモリ (DMA 転送が発生した場合は動作します。)
• 内部 / 外部バス (DMA 転送が発生した場合は動作します。)
● スリープ状態で停止しない回路
• クロック発生制御部
• 割込みコントローラ
• 周辺リソース
• DMA コントローラ
• DSU
● スリープ状態からの復帰要因
• 有効な割込み要求の発生
CPU の ILM にて設定したレベルより強い割込み要求が発生すると , スリープモード
は解除され , RUN 状態 ( 通常動作 ) へ遷移します。このとき , CPU のプロセッサステー
タスレジスタ (PS) の I フラグを "1" にセットして割込み受付けを許可状態にし , スリー
プ復帰後 , 割込みハンドラを実行するようにしてください。
CPU の ILM にて設定したレベル以下の割込み要求が発生しても , スリープモードは解
除されません。
• 設定初期化リセット (INIT) 要求の発生
設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT)
状態へ遷移します。
• ハードウェアスタンバイ要求の発生
ハードウェアスタンバイ要求が発生すると , 無条件でハードウェアスタンバイ状態
に遷移します。
• 動作初期化リセット (RST) 要求の発生
動作初期化リセット (RST) 要求が発生すると , 無条件で動作初期化リセット (RST)
状態へ遷移します。
各要因の優先順位については , 「3.13.1 デバイス状態と各遷移 ■各状態遷移要求の優
先順位」を参照してください。
● 同期スタンバイ動作
タイムベースカウンタ制御レジスタ (TBCR) の bit8:SYNCS ビットに "1" を設定してあ
る場合には同期スタンバイ動作が許可されます。この場合 , SLEEP ビットへの書込み
のみではスリープ状態へは遷移しません。その後 , STCR レジスタを読み出すことに
よってスリープ状態へ遷移します。
スリープモードを使用する場合は ,【スリープモードへの移行】にあるシーケンスを必
ず使用してください。
134
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.13
MB91402/403 シリーズ
■ ストップモード
スタンバイ制御レジスタ (STCR) の bit7:STOP ビットに "1" を書き込むとストップモー
ドとなり , ストップ状態へ遷移します。以降 , ストップ状態からの復帰要因が発生する
まではストップ状態を維持します。
スタンバイ制御レジスタ (STCR) の bit6:SLEEP ビットと本ビット両方に "1" を書き込ん
だ場合は bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。
ストップ状態については , 「3.13.1 デバイス状態と各遷移 ■ストップ状態」を参照し
てください。
【ストップモードへの移行】
ストップモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウ
ンタ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下の
シーケンスを必ず使用してください。
(LDI
#value_of_stop,R0); value_of_stop は STCR へのライトデー
; タ
(LDI
STB
#_STCR,R12)
R0,@R12
; _STCR は STCR のアドレス (481H)
; スタンバイ制御レジスタ(STCR)への書込
; み
LDUB
@R12,R0
; 同期スタンバイのための STCR リード
LDUB
@R12,R0
; もう一度 STCR をダミーリード
NOP
NOP
NOP
NOP
NOP
● ストップ状態で停止する回路
すべての内部回路
● ストップ状態で停止しない回路
なし
● ストップ状態での端子のハイインピーダンス制御
• スタンバイ制御レジスタ (STCR) の bit5:HIZ ビットに "1" が設定してあると , ストッ
プ状態中の端子出力のアウトプット許可を禁止状態にします。本制御の対象となる
端子については ,「付録 C 各 CPU ステートにおける端子状態」を参照してください。
• スタンバイ制御レジスタ (STCR) の bit5:HIZ ビットに "0" が設定してあると , ストッ
プ状態中の端子出力はストップ状態への遷移前の値を保持します。詳細は , 「付録
C 各 CPU ステートにおける端子状態」を参照してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
135
第 3 章 CPU および制御部
3.13
MB91402/403 シリーズ
● ストップ状態からの復帰要因
• 特定の ( クロックを必要としない ) 有効な割込み要求の発生
外部割込み入力端子のみが有効です。
CPU の ILM にて設定したレベルより強い割込み要求が発生すると , ストップモード
は解除され , RUN 状態 ( 通常動作 ) へ遷移します。このとき , CPU のプロセッサステー
タスレジスタ (PS) の I フラグを "1" にセットして割込み受付けを許可状態にし , ストッ
プ復帰後 , 割込みハンドラを実行するようにしてください。
CPU の ILM にて設定したレベル以下の割込み要求が発生してもストップモードは解
除されません。
• 設定初期化リセット (INIT) 要求の発生
設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT)
状態へ遷移します。
• ハードウェアスタンバイ要求の発生
ハードウェアスタンバイ要求が発生すると , 無条件でハードウェアスタンバイ状態
に遷移します。
• 動作初期化リセット (RST) 要求の発生
動作初期化リセット (RST) 要求が発生すると , 無条件で動作初期化リセット (RST)
状態へ遷移します。
各要因の優先順位については , 「3.13.1 デバイス状態と各遷移 ■各状態遷移要求の優
先順位」を参照してください。
● 同期スタンバイ動作
タイムベースカウンタ制御レジスタ (TBCR) の bit8:SYNCS ビットに "1" を設定してあ
る場合には同期スタンバイ動作が許可されます。この場合 , STOP ビットへの書込みの
みではストップ状態へは遷移しません。その後 , STCR レジスタを読み出すことによっ
てストップ状態へ遷移します。
ストップモードを使用する場合は ,【ストップモードへの移行】にあるシーケンスを必
ず使用してください。
136
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 3 章 CPU および制御部
3.14
MB91402/403 シリーズ
動作モード
3.14
動作モードには , バスモードとアクセスモードがあります。それぞれのモードにつ
いて説明します。
■ 動作モード
バスモード
アクセスモード
シングルチップ
外 ROM 外バス
32 ビットバス幅
16 ビットバス幅
8 ビットバス幅
● バスモード
バスモードとは, 内部ROMの動作と外部アクセス機能の動作を制御するモードを指し,
モード設定端子 (MDI2 ∼ MDI0) とモードデータの内容で指定します。ただし , アーキ
テクチャ上は上記バスモードをサポートしますが , 本コアは , シングルチップおよび内
ROM 外バスモードは使用できません。外 ROM 外バスモードのみ選択可能です。
● アクセスモード
アクセスモードとは , 外部データバス幅を制御するモードを示し , モードレジスタ内の
WTH1, WTH0 ビットと ACR0 ∼ ACR7(Area Configuration Register) 内の DBW1 , DBW0
ビットで指定します。
■ モード設定
FR ファミリでは , モード端子 (MDI2 ∼ MDI0) とモードレジスタ (MODR) で動作モー
ドの設定を行います。
● モード端子
MDI2 ∼ MDI0 の 3 端子で , モードベクタフェッチに関する指定およびテストモードの
設定を行います。
表 3.14-1 モード設定
モード端子
MDI2 ∼ MDI0
モード名
リセットベクタアクセス領域
0 0 0
Reserved
0 0 1
外 ROM モードベクタ
0 1 0
Reserved
―
0 1 1
Reserved
―
1 0 0
Reserved
―
1 0 1
Reserved
―
1 1 0
Reserved
―
1 1 1
Reserved
―
CM71-10131-1
備考
―
外部
バス幅はモードデータで設定
FUJITSU MICROELECTRONICS LIMITED
137
第 3 章 CPU および制御部
3.14
MB91402/403 シリーズ
● モードレジスタ (MODR)
モードベクタフェッチによってハードウェアがモードレジスタ (MODR) に書き込む
データをモードデータとよびます。
本レジスタにハードウェアによる設定が行われた後 , 本レジスタの設定に従った動作
モードで動作します。
モードレジスタは , INIT レベルのリセット要因でしか設定されません。また , ユーザプ
ログラムからはアクセスすることはできません。ただし , 例外として , INTE 命令によ
りエミュレーションモードに遷移した状態, ICEを使用したデバッグ時にブレークによ
りエミュレーションモードに遷移した状態では , 0000_07FDH に本レジスタがマッピン
グされます。ICE 使用時には , その機能を使用して本レジスタに適切な値を書き込むこ
とにより , プログラムロード前のモードデータの設定を行います。
<注意事項>
FR ファミリのモードレジスタのアドレス (0000_07FFH) には何も存在しません。
<レジスタ詳細説明>
図 3.14-1 モードレジスタのビット構成 (MODR)
MODR
bit7
0
bit6
0
bit5
0
bit4
0
bit3
0
bit2
0
bit1
bit0
初期値
WTH1 WTH0 XXXXXXXXB
動作モード設定ビット
[bit7 ∼ bit2] 予約ビット
必ず "000000B" を設定してください。"000000B" 以外の値を設定したときの動作は
保証できません。
[bit1, bit0] WTH1, WTH0( バス幅指定ビット )
バス幅指定を行います。この値が ACR0(CS0 領域 ) の DBW1, DBW0 ビットに設定
されます。"10B" "11B" 以外を設定してください。
表 3.14-2 バス幅指定の設定内容
138
WTH1
WTH0
0
0
8 ビットバス幅
外バスモード
0
1
16 ビットバス幅
外バスモード
1
0
設定禁止
1
1
設定禁止
機能
FUJITSU MICROELECTRONICS LIMITED
備考
CM71-10131-1
第4章
外部バスインタフェース
外部バスインタフェースコントローラは , LSI の内
部バスと外部のメモリ , 機能マクロ , および I/O デ
バイスとのインタフェースを制御します。
本章では , 外部バスインタフェースの各機能につい
て説明します。
4.1 外部バスインタフェース ( メモリインタフェース )
の概要
4.2 外部バスインタフェースのレジスタ
4.3 チップセレクト領域の設定例
4.4 エンディアンとバスアクセス
4.5 通常バスインタフェースの動作
4.6 バーストアクセスの動作
4.7 プリフェッチ動作
4.8 SDRAM/FCRAM インタフェースの動作
4.9 レジスタ設定手順
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
139
第 4 章 外部バスインタフェース
4.1
4.1
MB91402/403 シリーズ
外部バスインタフェース ( メモリインタフェース )
の概要
外部バスインタフェースコントローラは , " コア内部バス " と外部メモリおよび周辺
リソースとのインタフェースを制御します。
外部バスインタフェース ( メモリインタフェース ) の各機能について説明します。
■ 外部バスインタフェースの特長
• 最大 32 ビット長 (4G バイト空間 ) のアドレス出力
• 各種外部メモリ (8 ビット /16 ビット /32 ビット品 ) を直結できるほか , 複数のアクセ
スタイミングを混在制御可能
- 非同期 SRAM, 非同期 ROM/ フラッシュメモリ ( 複数ライトストローブ方式また
はバイトイネーブル方式 )
- ページモード ROM/ フラッシュメモリ ( ページサイズ 2/4/8 が可能 )
- バーストモード ROM/ フラッシュメモリ
- SDRAM(FCRAMタイプも対応, CASレイテンシ1∼8, 2バンク品および4バンク品)
- 同期メモリ (ASIC 内蔵メモリなど )
( 注意事項 ) Synchronous SRAM を直結できません。
• 独立した 8 個のバンク ( チップセレクト領域 ) を設定でき , それぞれに対応したチッ
プセレクト出力が可能
- 各領域のサイズは 64K バイトの倍数単位で設定可能 (1 チップセレクト領域あた
り 64K バイト∼ 2G バイトまで )
- 各領域は論理アドレス空間上の任意の位置に設定可能 ( 領域サイズによりバウン
ダリの制限あり )
• チップセレクト領域ごとに以下の機能を独立に設定可能
- チップセレクト領域の許可 / 禁止 ( 禁止された領域はアクセスを行いません )
- 各種メモリ対応などのアクセスタイミングタイプ設定
- 詳細アクセスタイミング設定(ウェイトサイクルなどのアクセスタイプ個別設定)
- データバスの幅設定 (8 ビット /16 ビット /32 ビット )
- バイトオーダリングのエンディアン設定 ( ビッグまたはリトル )(CS0 領域は , ビッ
グエンディアンのみ可能 )
- 書込み禁止の設定 ( 読出し専用領域 )
- 内蔵キャッシュへの取込み許可 / 禁止設定
- プリフェッチ機能の許可 / 禁止設定
- 最大バースト長設定 (1, 2, 4, 8)
140
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 4 章 外部バスインタフェース
4.1
• アクセスタイミングタイプごとに異なる詳細なタイミングを設定可能
- 同一タイプでもチップセレクト領域ごとに異なる設定を混在可能
- オートウェイトは , 最大 15 サイクルまで設定可能 ( 非同期 SRAM, ROM, Flash,
I/O 領域 )
- 外部 RDY 入力によるバスサイクルの延長が可能 ( 非同期 SRAM, ROM, Flash, I/O
領域 )
- ファーストアクセスウェイトとページウェイトを設定可能
( バースト・ページ
モード ROM/Flash 領域 )
- 各種アイドル・リカバリサイクル , セットアップ遅延などの挿入が可能
- CAS レイテンシ , RAS-CAS ディレイなどのタイミング設定可能 (SDRAM 領域 )
- 分散 / 集中オートリフレッシュ , セルフリフレッシュなどの各種リフレッシュタ
イミング制御可能 (SDRAM 領域 )
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
141
第 4 章 外部バスインタフェース
4.1
MB91402/403 シリーズ
■ 外部バスインタフェースのブロックダイヤグラム
図 4.1-1 外部バスインタフェースのブロックダイヤグラム
アドレスバス
データバス
A-OUT
32
32
外部データバス
D31~D0
MUX
ライトバッファ
スイッチ
リードバッファ
スイッチ
DATA BLOCK
ADDRESS BLOCK
+1 or +2
EXTERNAL
ADDRESS BUS
A22~A0
address buffer
ASR
CS7~CS0
ACR
comparator
SRAS,SCAS
SWE,MCLKE
SDRAM制御部
DQMUU,DQMUL
DQMLU,DQMLL
RCR
(注意事項)SWE,DQM は,
Refresh counter
外部端子:WE,WR3~WR0と
共有
外部端子制御部
RD,WE
WR3~WR0
全block制御
resisters
&
control
142
FUJITSU MICROELECTRONICS LIMITED
RDY
MCLKO
CM71-10131-1
第 4 章 外部バスインタフェース
4.1
MB91402/403 シリーズ
■ 外部バスインタフェースのレジスタ一覧
図 4.1-2 外部バスインタフェースのレジスタ一覧
アドレス
bit31
24 23
16 15
8 7
0
00000640H
ASR0
ACR0
00000644H
ASR1
ACR1
00000648H
ASR2
ASR2
0000064CH
ASR3
ACR3
00000650H
ASR4
ACR4
00000654H
ASR5
ACR5
00000658H
Reserved
Reserved
0000065CH
ASR7
ACR7
00000660H
AWR0
AWR1
00000664H
AWR2
AWR3
00000668H
AWR4
AWR5
0000066CH
Reserved
AWR7
00000670H
MCRA
MCRB
Reserved
Reserved
00000674H
Reserved
Reserved
Reserved
Reserved
00000678H
IOWR0
IOWR1
IOWR2
Reserved
0000067CH
Reserved
Reserved
Reserved
Reserved
00000680H
CSER
CHER
Reserved
TCR
Reserved
Reserved
00000684H
RCR
00000688H
Reserved
∼
000007F8H
000007FCH
Reserved
(MODR)
Reserved
Reserved
Reserved:予約レジスタです。アクセスを禁止します。
MODR はユーザプログラムからはアクセスできません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
143
第 4 章 外部バスインタフェース
4.2
4.2
MB91402/403 シリーズ
外部バスインタフェースのレジスタ
外部バスインタフェースで使用するレジスタの構成および機能について説明します。
■ 外部バスインタフェースのレジスタの種類
外部バスインタフェースで使用するレジスタには , 以下のものがあります。
• 領域選択レジスタ (ASR0 ∼ ASR5, ASR7)
• 領域構成レジスタ (ACR0 ∼ ACR5, ACR7)
• 領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7)
• メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA)
• メモリ設定レジスタ (FCRAM オートプリチャージありモード用 )(MCRB)
• DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2)
• チップセレクト領域許可レジスタ (CSER)
• キャッシュ取込みレジスタ (CHER)
• 端子 / タイミングコントロールレジスタ (TCR)
• リフレッシュコントロールレジスタ (RCR)
• モードレジスタ (MODR)
144
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
領域選択レジスタ 0 ∼ 5, 7(ASR0 ∼ ASR5, ASR7)
4.2.1
図 4.2-1 に領域選択レジスタの構成を示します。
■ 領域選択レジスタ 0 ∼ 5, 7 (ASR0 ∼ ASR5, ASR7) の構成
図 4.2-1 領域選択レジスタ 0 ∼ 5, 7(ASR0 ∼ ASR5, ASR7) の構成
初期値
ASR0
0000 0640H
ASR1
0000 0644H
ASR2
0000 0648H
ASR3
0000 064CH
ASR4
0000 0650H
ASR5
0000 0654H
ASR7
0000 065CH
bit31 bit30 bit29 bit28
A31
A30
A29
...
bit31 bit30 bit29 bit28
A31
A30
A29
...
bit15 bit14 bit13 bit12
A31
A30
A29
...
bit15 bit14 bit13 bit12
A31
A30
A29
...
bit15 bit14 bit13 bit12
A31
A30
A29
...
bit15 bit14 bit13 bit12
A31
A30
A29
...
bit15 bit14 bit13 bit12
A31
A30
A29
...
...
bit18 bit17 bit16
INIT 時
RST 時
アクセス
...
A18
0000H
0000H
R/W
...
bit18 bit17 bit16
...
A18
A17
A16
xxxxH
xxxxH
R/W
...
bit2
bit1
bit0
...
A18
A17
A16
xxxxH
xxxxH
R/W
...
bit2
bit1
bit0
...
A18
A17
A16
xxxxH
xxxxH
R/W
...
bit2
bit1
bit0
...
A18
A17
A16
xxxxH
xxxxH
R/W
...
bit2
bit1
bit0
...
A18
A17
A16
xxxxH
xxxxH
R/W
...
bit2
bit1
bit0
...
A18
A17
A16
xxxxH
xxxxH
R/W
A17
A16
R/W : リード / ライト可能
×
:不定値
<注意事項>
ASR と ACR はワードアクセスで同時設定してください。
ASR, ACRをハーフワードでアクセスする場合にはASR設定後にACRを設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
145
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
■ 領域選択レジスタ (ASR0 ∼ ASR5, ASR7) のビット機能
ASR0 ∼ ASR5, ASR7(Area Select Register 0 ∼ 5, 7) は , CS0 ∼ CS5, CS7 の各チップセレ
クト領域の開始アドレスを指定します。
開始アドレスは, A31∼A16の上位16ビットを設定できます。各チップセレクト領域は,
このレジスタに設定されたアドレスから始まり , ASR0 ∼ ASR5, ASR7 レジスタの
ASZ3 ∼ ASZ0 ビットで設定された範囲をとります。
各チップセレクト領域のバウンダリは , ASR0 ∼ ASR5, ASR7 レジスタの ASZ3 ∼ ASZ0
ビットの設定に従います。例えば , ASZ3 ∼ ASZ0 ビットにより , 1M バイトの領域を設
定した場合は , ASR0 ∼ ASR5, ASR7 レジスタの下位 4 ビットは無視され , A31 ∼ A20
ビットのみ意味を持ちます。
ASR0 レジスタは , INIT および RST により " 0000H" に初期化されます。ASR1 ∼ ASR5,
ASR7 は , INIT および RST によっては初期化されて不定となります。
CSER レジスタにより各チップセレクト領域を有効にする前に , 必ず対応する ASR レ
ジスタを設定してください。
146
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
領域構成レジスタ 0 ∼ 5, 7(ACR0 ∼ ACR5, ACR7)
4.2.2
ACR0 ∼ ACR5, ACR7(Area Configuration Register 0 ∼ 5, 7) は , 各チップセレク
ト領域の機能を設定します。
■ 領域構成レジスタ 0 ∼ 5, 7 (ACR0 ∼ ACR5, ACR7) の構成
図 4.2-2 領域構成レジスタ 0 ∼ 5, 7(ACR0 ∼ ACR5, ACR7) の構成
初期値
ACR0
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
0000 0642H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0
ACR0
bit7
bit6
bit5
0000 0643H SREN PFEN WREN
ACR1
bit15
bit14
bit13
bit4
0
bit12
bit3
bit2
bit1
bit10
bit9
RST 時
アクセス
1111**00B
1111**00B
R/W
00000000B
00000000B
R/W
bit0
TYP3 TYP2 TYP1 TYP0
bit11
INIT 時
bit8
0000 0646H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
ACR1
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0000 0647H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
ACR2
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit7
bit6
bit5
bit4
bit3
bit2
bit1
R/W
bit8
0000 0652H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
ACR4
R/W
bit0
0000 064FH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
ACR4
R/W
bit8
0000 064EH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
ACR3
R/W
bit0
0000 064BH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
ACR3
R/W
bit8
0000 064AH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
ACR2
R/W
R/W
bit0
0000 0653H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
R/W
R/W : リード / ライト可能
X
: 不定値
*:モード端子の設定による
( 続く )
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
147
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
( 続き )
初期値
ACR5
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
INIT 時
RST 時
0000 0656H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
ACR5
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit7
bit6
bit5
bit4
bit3
bit2
bit1
R/W
bit8
0000 065EH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB
ACR7
R/W
bit0
0000 0657H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
ACR7
アクセス
R/W
bit0
0000 065FH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB
R/W
R/W : リード / ライト可能
X
: 不定値
以下に , 各ビットの機能を説明します。
[bit15 ∼ bit12] ASZ3 ∼ ASZ0:Area SiZe bit 3 ∼ 0
各チップセレクト領域のサイズを以下のとおり設定します。
表 4.2-1 領域のサイズ設定
ASZ3 ASZ2
ASZ1
ASZ0
各チップセレクト領域のサイズ
0
0
0
0
64 K バイト (00010000H バイト , ASR A[31:16] ビット指定が有効 )
0
0
0
1
128 K バイト (00020000H バイト , ASR A[31:17] ビット指定が有効 )
0
0
1
0
256 K バイト (00040000H バイト , ASR A[31:18] ビット指定が有効 )
0
0
1
1
512 K バイト (00080000H バイト , ASR A[31:19] ビット指定が有効 )
0
1
0
0
1 M バイト (00100000H バイト , ASR A[31:20] ビット指定が有効 )
0
1
0
1
2 M バイト (00200000H バイト , ASR A[31:21] ビット指定が有効 )
0
1
1
0
4 M バイト (00400000H バイト , ASR A[31:22] ビット指定が有効 )
0
1
1
1
8 M バイト (00800000H バイト , ASR A[31:23] ビット指定が有効 )
1
0
0
0
16 M バイト (01000000H バイト , ASR A[31:24] ビット指定が有効 )
1
0
0
1
32 M バイト (02000000H バイト , ASR A[31:25] ビット指定が有効 )
1
0
1
0
64 M バイト (04000000H バイト , ASR A[31:26] ビット指定が有効 )
1
0
1
1
128 M バイト (08000000H バイト , ASR A[31:27] ビット指定が有効 )
1
1
0
0
256 M バイト (10000000H バイト , ASR A[31:28] ビット指定が有効 )
1
1
0
1
512 M バイト (20000000H バイト , ASR A[31:29] ビット指定が有効 )
1
1
1
0
1024 M バイト (40000000H バイト , ASR A[31:30] ビット指定が有効 )
1
1
1
1
2048 M バイト (80000000H バイト , ASR A[31] ビット指定が有効 )
ASZ3 ∼ ASZ0 では , ASR とのアドレス比較のビット数を変更させることにより , 各
領域のサイズを設定します。そのため , ASR には比較されないビットが存在します。
ACR0 の ASZ3 ∼ ASZ0 ビットは , RST により 1111B(0FH) に初期化されますが , この設
定にかかわらず RST 直後の CS0 領域は特別に 00000000H から FFFFFFFFH ( 全領域 ) に
設定されています。これはリセットベクタおよび初期プログラムのフェッチのためで
148
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
あり , 一時的な状態です。ACR0 への最初の書込み後より , 全領域設定が解除され , 上
記の表に従ったサイズに設定されます。初期プログラムの早期の段階で , 必ず ACR0
を含む CS0 領域のすべての設定を行ってください。初期状態のままでは , CSER レジ
スタの bit0:CSE0 を "0" に設定しても CS0 領域は禁止されず , また , ACR0 レジスタの
bit5:WREN を "0" に設定しても CS0 領域への書込みはマスクされません。
ASR7 で設定する領域に FCRAM を接続する場合には , それぞれ 128M バイト (1011H)
以下に設定してください。
[bit11, bit10] DBW1, DBW0:Data Bus Width 1,0
各チップセレクト領域のデータバス幅を以下のとおり設定します。
表 4.2-2 チップセレクト領域のデータバス幅の設定
DBW1
DBW0
0
0
8 ビット
0
1
16 ビット
( ハーフワードアクセス )
1
0
32 ビット
( ワードアクセス )
1
1
データバス幅
( バイトアクセス )
Reserved
設定禁止
ACR0 の DBW1, DBW0 ビットは , リセットシーケンス中にモードベクタの WTH
ビットの値と同じ値が書き込まれます。
FCRAM を接続する領域では , 本ビットによるデータバス幅の設定はすべて同じに
してください。
[bit9, bit8] BST1, BST0:Burst Size 1,0
各チップセレクト領域のバースト長を以下のとおりに設定します。
表 4.2-3 各チップセレクト領域の最大バースト長の設定
BST1
BST0
0
0
1( シングルアクセス )
0
1
2 バースト
1
0
4 バースト
1
1
8 バースト
最大バースト長
シングルアクセス以外のバースト長が設定された領域は , プリフェッチアクセスま
たはバス幅を超えるサイズのデータの読出しを行った場合のみ , バースト長から決
まるアドレス境界内で連続したバーストアクセスを行います。
• バス幅 32 ビット領域の最大バースト長は 4 バースト以下に設定してください。
2 バースト以下を推奨します。
• バス幅 16 ビット領域の最大バースト長は 2 バースト以下を推奨します。
シングルアクセス以外のバースト長設定を行った領域では RDY 入力を無視します。
FCRAM を接続する領域では , 本ビットによるバースト長の設定はすべて同じにし
てください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
149
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit7] SREN:ShaRed ENable
各チップセレクト領域の BRQ/BGRNT による共有の許可・禁止を設定します。
表 4.2-4 各チップセレクト領域の BRQ/BGRNT による共有の許可 / 禁止の設定
SREN
共有の許可・禁止
0
BRQ/BGRNT による共有を禁止 (CSn は Hi-Z になりません *1)
1
BRQ/BGRNT による共有を許可 (CSn は Hi-Z になります *2)
CSER により許可されたすべての領域の共有が許可されている場合のみ , アクセス
ストローブ出力 (RD, WRn, WE) が Hi-Z になります。
[bit6] PFEN:PreFetch ENable
各チップセレクト領域のプリフェッチの許可 / 禁止を以下のとおりに設定します。
表 4.2-5 各チップセレクト領域のプリフェッチの許可 / 禁止の設定
PFEN
プリフェッチ許可 / 禁止
0
プリフェッチ禁止
1
プリフェッチ許可
プリフェッチが許可された領域に対しての読出しを行うと , それに続くアドレスに
対して先読みを行い , 内蔵プリフェッチバッファに蓄積します。蓄積されたアドレ
スに対して内部バスからのアクセスがあると , 外部アクセスを行わずにプリフェッ
チバッファに先読みされたデータを返します。
詳細は「4.7 プリフェッチ動作」の項を参照してください。
[bit5] WREN:WRite ENable
各チップセレクト領域の書込みの許可 / 禁止を設定します。
表 4.2-6 各チップセレクト領域の書込みの許可 / 禁止の設定
WREN
書込み許可 / 禁止
0
書込み禁止
1
書込み許可
書込みが禁止された領域に対する書込みアクセスが内部バスから発生しても , その
アクセスは無視され , 外部アクセスを一切行いません。
データ領域などの書込みが必要な領域は , WREN ビットに "1" を設定してください。
150
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit4] LEND:Little ENDian select
各チップセレクト領域のバイトオーダリングを設定します。
表 4.2-7 各チップセレクト領域のバイトオーダリングの設定
LEND
バイトオーダリング
0
ビッグエンディアン
1
リトルエンディアン
ACR0のLENDビットには必ず"0"が設定され, 常にビッグエンディアンとなります。
[bit3 ∼ bit0] TYP3 ∼ TYP0:TYPe select
各チップセレクト領域のアクセスタイプを以下のとおりに設定します。
表 4.2-8 各チップセレクト領域のアクセスタイプの設定
TYP3 TYP2 TYP1 TYP0
0
x
x
通常アクセス ( 非同期 SRAM, I/O, single/page/burst-ROM/Flash)
1
x
x
アドレスデータマルチプレックスアクセス (8/16 ビットバス幅限定 )
x
0
RDY 端子による WAIT 挿入無効
x
1
RDY 端子による WAIT 挿入有効 ( バースト時は無効 )
0
x
WR3 ∼ WR0 端子をライトストローブとして使用 (WE は "H" 固定 )
1
x
WE 端子をライトストローブとして使用 *1
0
Memory type A: SDRAM/FCRAM( オートプリチャージを使用しません )*2
1
Memory type B: FCRAM( オートプリチャージを使用します )*2
0
x
0
1
アクセスタイプ
0
0
1
0
設定禁止
0
1
1
設定禁止
1
0
0
設定禁止
1
0
1
設定禁止
1
1
0
設定禁止
1
1
1
マスク領域設定 ( アクセスタイプは重複した領域のものになります。)*3
*1 : この設定をした場合 , WR3 ∼ WR0 は , 各バイトのイネーブルとして使用できます。
*2 : ACR7 レジスタにのみ有効です。ACR0, ACR1, ACR2, ACR3, ACR4, ACR5 レジス
タでは設定禁止です。
*3 : 「● CS 領域マスク設定機能」を参照してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
151
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
● CS 領域マスク設定機能
ある CS 領域 ( 以降 , ベース設定領域とよびます ) の中に , 一部動作設定を変更した領
域を定義したい場合 , 別の CS 領域の設定にて , ACR:TYP3 ∼ TYP0=1111B を設定し ,
マスク設定領域として機能させることができます。
マスク設定機能を使用しない場合 , 複数の CS 領域でオーバラップする領域設定を禁止
します。
マスク設定領域へのアクセスは , 以下のような動作を行います。
• マスク設定領域に対応する CS はアサートされません。
• ベース設定領域に対応する CS がアサートされます。
• ACR の以下の設定はマスク設定領域側のものが有効になります。
- bit11, bit10 (DBW1, DBW0)
: バス幅設定
- bit9, bit8 (BST1, BST0)
: バースト長設定
- bit7 (SREN)
: 共有許可設定
- bit6 (PFEN)
: プリフェッチ許可設定
- bit5 (WREN)
: ライト許可設定
( 注意事項 ) この設定のみ , ベース設定領域と異
なる設定を禁止します。
- bit4 (LEND)
: リトルエンディアン設定
• ACR の以下の設定はベース設定領域側のものが有効になります。
- bit3 ∼ bit0 (TYP3 ∼ TYP0):アクセスタイプ設定
• AWR の設定はマスク設定領域側のものが有効になります。
• CHER の設定はマスク設定領域側のものが有効になります。
マスク設定領域は, ほかのベース設定領域内の一部の領域にのみ設定できます。ベース
設定領域がない領域に対して , マスク設定領域を設けないでください。また , マスク設
定領域を複数重複させないでください。ASR および ACR の ASZ3 ∼ ASZ0 ビットの設
定には十分注意してください。
これらのビットの使用に際して , 以下の制限事項があります。
• 書込み許可設定をマスクで実現することはできません。
• 書込み許可設定は , ベースとなるベース設定領域とマスク設定領域とで同じ設定と
してください。
• マスク設定領域で書込み禁止を設定すると , その領域はマスクされずベース設定領
域として動作します。
• ベース設定領域で書込み禁止を設定し , マスク設定領域で書込み許可を設定すると ,
ベース設定のない領域となって誤動作します。
152
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7)
4.2.3
領域ウェイトレジスタについて説明します。
■ 領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7)
AWR0 ∼ AWR5, AWR7 は , 各チップセレクト領域の各種ウェイトタイミングを指定し
ます。
AWR0 以外は初期値が不定ですので , 各領域を CSER レジスタによって有効にする前
に , 設定を行ってください。
図 4.2-3 領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7) の構成
初期値
AWR0H
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
INIT 時
RST 時
アクセス
0000 0660H
W15
W14
W13
W12
W11
W0
W09
W08
011111111B
011111111B
R/W
AWR0L
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
0000 0661H
W07
W06
W05
W04
W03
W02
W01
W00
11111111B
11111011B
R/W
AWR1H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
0000 0662H
W15
W14
W13
W12
W11
W0
W09
W08
xxxxxxxxB
xxxxxxxxB
R/W
AWR1L
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0000 0663H
W07
W06
W05
W04
W03
W02
W01
W00
xxxxxxxxB
xxxxxxxxB
R/W
AWR2H
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
0000 0664H
W15
W14
W13
W12
W11
W0
W09
W08
xxxxxxxxB
xxxxxxxxB
R/W
AWR2L
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
0000 0665H
W07
W06
W05
W04
W03
W02
W01
W00
xxxxxxxxB
xxxxxxxxB
R/W
AWR3H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
0000 0666H
W15
W14
W13
W12
W11
W0
W09
W08
xxxxxxxxB
xxxxxxxxB
R/W
AWR3L
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0000 0667H
W07
W06
W05
W04
W03
W02
W01
W00
xxxxxxxxB
xxxxxxxxB
R/W
AWR4H
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
0000 0668H
W15
W14
W13
W12
W11
W0
W09
W08
xxxxxxxxB
xxxxxxxxB
R/W
AWR4L
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
0000 0669H
W07
W06
W05
W04
W03
W02
W01
W00
xxxxxxxxB
xxxxxxxxB
R/W
R/W : リード / ライト可能
X
: 不定値
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
153
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
( 続く )
( 続き )
初期値
AWR5H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
INIT 時
RST 時
アクセス
0000 066AH
W15
W14
W13
W12
W11
W0
W09
W08
xxxxxxxxB
xxxxxxxxB
R/W
AWR5L
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0000 066BH
W07
W06
W05
W04
W03
W02
W01
W00
xxxxxxxxB
xxxxxxxxB
R/W
AWR7H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
0000 066EH
W15
W14
W13
W12
W11
W0
W09
W08
xxxxxxxxB
xxxxxxxxB
R/W
AWR7L
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0000 066FH
W07
W06
W05
W04
W03
W02
W01
W00
xxxxxxxxB
xxxxxxxxB
R/W
R/W : リード / ライト可能
X
: 不定値
● 通常アクセスおよびアドレス / データマルチプレックスアクセス
ACR0 ∼ ACR7 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ
たチップセレクト領域は , 通常アクセスまたはアドレス / データマルチプレックスアク
セス動作を行う領域となります。
表 4.2-9 アクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定
TYP3 TYP2 TYP1 TYP0
0
0
x
x
アクセスタイプ
通常アクセス ( 非同期 SRAM, I/O, single/page/burst-ROM/Flash)
通常アクセスまたはアドレス / データマルチプレックスアクセス領域に対しての AWR0 to
AWR5, AWR7 の各ビットの機能を以下に示します。AWR0 以外は初期値が不定ですので ,
各領域を CSER レジスタによって有効にする前に設定を行ってください。
[bit15 ∼ bit12] W15 ∼ W12: ファーストアクセスウェイトサイクル
(First Access Wait Cycle)
これらのビットは , 各サイクルの最初のデータ取込み時のオートウェイトサイクル
数を設定します。バーストアクセスサイクル以外は , このウェイト設定にのみ使用
されます。
CS0 領域は , 初期値 7 ウェイトに設定されます。その他の領域は初期値不定です。
表 4.2-10 自動ウェイトサイクル数の設定 ( ファーストアクセス時 )
W15
W14
W13
W12
0
0
0
0
自動ウェイトサイクル 0
0
0
0
1
自動ウェイトサイクル 1
ファーストアクセスウェイトサイクル
…
1
154
1
…
1
1
自動ウェイトサイクル 15
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit11 ∼ bit8] W11 ∼ W08: ページ内アクセスウェイトサイクル
(Inpage Access Wait Cycle)
これらのビットは , バーストアクセス時 , ページ内アクセスのオートウェイトサイ
クル数を設定します。バーストアクセスサイクル以外では意味がありません。
表 4.2-11 自動ウェイトサイクル数の設定 ( バーストアクセス時 )
W11
W10
W09
W08
0
0
0
0
自動ウェイトサイクル 0
0
0
0
1
自動ウェイトサイクル 0
1
1
1
1
ページ内アクセスウェイトサイクル
…
…
自動ウェイトサイクル 15
ファーストアクセスウェイトサイクルとページ内アクセスウェイトサイクルに同
じ値を設定しても , それぞれのアクセスサイクルでのアドレスからのアクセスタイ
ムは同じにはならないことに注意してください。ページ内アクセスサイクルでは ,
アドレス出力遅延が含まれるためです。
[bit7, bit6] W07, W06:読出し→書込みアイドルサイクル (Read → Write Idle Cycle)
読出し→書込みアイドルサイクルは , 読出しサイクル後に書込みサイクルが続く場
合に , 読出しデータと書込みデータのデータバス上での衝突を防ぐために設定しま
す。アイドルサイクル中はすべてのチップセレクト信号をネゲートし , データ端子
はハイインピーダンス状態を維持します。
読出し後に書込みが続く場合 , もしくは , 読出しの後に別のチップセレクト領域へ
のアクセスが発生した場合に指定したアイドルサイクルを挿入します。
表 4.2-12 アイドルサイクルの設定内容
CM71-10131-1
W07
W06
0
0
0 サイクル
0
1
1 サイクル
1
0
2 サイクル
1
1
3 サイクル
読出し→書込みアイドルサイクル
FUJITSU MICROELECTRONICS LIMITED
155
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit5, bit4] W05, W04:書込みリカバリサイクル (Write Recovery Cycle)
書込みリカバリサイクルは , 書込みアクセス後に続けてアクセスする際の時間間隔
に制限のあるデバイスへのアクセスを制御する場合に設定します。書込みリカバリ
サイクル中はすべてのチップセレクト信号をネゲートし , データのライトイネーブ
ル端子を "H" に維持します。
書込みリカバリサイクルを "1" 以上に設定した場合は , 書込みアクセスの後には必
ず書込みリカバリサイクルが挿入されます。
表 4.2-13 書込みリカバリサイクル数の設定内容
W05
W04
0
0
0 サイクル
0
1
1 サイクル
1
0
2 サイクル
1
1
3 サイクル
書込みリカバリサイクル
[bit3] W03:WRn, 出力タイミング選択
WRn, 出力タイミング設定は , 書込みストローブ出力を非同期ストローブとして使
用するか , 同期書込みイネーブルとして使用するかを選択します。非同期ストロー
ブとすることにより通常メモリ / I/O に対応し , 同期イネーブルとすることによりク
ロック同期のメモリ / I/O (ASIC 内蔵メモリなど ) に対応します。
表 4.2-14 WR0 ∼ WR1, WRn 出力タイミング設定
W03
WRn, 出力タイミング選択
0
MCLK 同期書込みイネーブル出力 (AS="L" から有効 )
1
非同期書込みストローブ出力 ( 通常動作 )
同期書込みイネーブルとした場合 (AWR:W03 ビットが "0"), 以下のような動作とな
ります。
• 同期書込みイネーブル出力のタイミングは , 外部メモリアクセスクロックの MCLK
出力の立上りエッジで取り込まれることを前提としたタイミングになります。非同
期ストローブ出力とはタイミングが異なります。
• WRn, WE 端子出力は AS 端子出力がアサートされているタイミングから , 同期書
込みイネーブル出力をアサートします。外部バスへの書込みが行われる場合 , 同
期書込みイネーブル出力は "L" を出力します。外部バスからの読出しが行われる
場合 , 同期書込みイネーブル出力は "H" を出力します。
• 同期書込みイネーブル出力をアサートした次のクロックサイクルにて, 外部デー
タ出力端子より書込みデータを出力します。
• 読出しストローブ出力 (RD) は , WRn, 出力タイミング設定の内容にかかわらず ,
非同期読出しストローブとして機能します。データの入出力方向制御にそのまま
使用してください。
156
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
同期書込みイネーブル出力を使用する場合には , 以下の制限があります。
• 以下の追加ウェイト設定をしないでください。
- CS → RD/WRn セットアップ設定 (AWR:W01 ビットには常には "0" を書いてく
ださい )
- ファーストアクセスウェイトサイクル設定 (AWR:W15 ∼ W12 ビットには常に
"0000B" を書いてください )
• 以下のアクセスタイプ設定 (ACR レジスタ中の TYP3 ∼ TYP0 ビット (bit3 ∼ bit0))
を設定しないでください。
- WRXO3 ∼ WRXO0 をライトストローブとして使用する設定 (ACR:TYP1 ビッ
トには常に "0" を書いてください )
- RDY 入力有効設定 (ACR:TYP0 ビットには常に "0" を書いてください )
• 同期書込みイネーブル出力の場合 , バースト長は常に "1" (ACR:BST1, BST0 ビッ
トに "00B") を設定してください。
[bit2] W02:アドレス→ CS 遅延 (Address → CS Delay)
アドレス→ CS 遅延設定は , CS の立下りに対してアドレスなどが一定のセットアッ
プを必要とする場合や , 連続して同一のチップセレクト領域にアクセスする際にも
CS のエッジを必要とする場合などに設定します。
アドレス出力から , CSXO7 ∼ CSXO0 出力のディレイを設定します。
表 4.2-15 アドレス→ CSn 遅延設定
W02
アドレス→ CS 遅延
0
遅延なし
1
遅延あり
"0" を設定し , 遅延なしを選択した場合は , AS のアサートと同じタイミングで CSXO7 ∼
CSXO0 がアサート開始されます。このとき , 同じチップセレクト領域に連続したア
クセスを実行した場合 , 両アクセスの間も CSXO7 ∼ CSXO0 はアサートを継続した
まま変化しないことがあります。
"1" を設定し , 遅延ありを選択した場合は , 外部メモリクロック MCLK 出力の立上
りから CSXO7 ∼ CSXO0 がアサート開始されます。このとき , 同じチップセレクト
領域に連続したアクセスを実行した場合でも , 両アクセスの間に CSXO7 ∼ CSXO0
ネゲートタイミングが発生します。
CS遅延ありを選択した場合は, 遅延させたCSXO7∼CSXO0のアサートから, 読出し/
書込みストローブをアサートする前に , 1 サイクルのセットアップサイクルを挿入
します (W01 の CS → RD/WRn セットアップ設定と同等の動作となります )。
アドレス→ CS 遅延設定は , 同一領域に対して出力される DACK2 ∼ DACK0 信号に
も同様に作用します。
DACK2 ∼ DACK0 出力は , その領域に対する CSXO7 ∼ CSXO0 と同じ波形となりま
す。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
157
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit1] W01:CS → RD/WRn セットアップ延長サイクル (CS → RD/WRn setup)
CS→RD/WRnセットアップ延長サイクルは, CSXO7∼CSXO0アサート後, 読出し/書
込みストローブをアサートするまでの期間を延長する場合に設定します。CS アサー
ト後 , 読出し / 書込みストローブをアサートする前に最低 1 サイクルのセットアッ
プ延長サイクルを挿入します。
表 4.2-16 CSn → RD/WRn セットアップ延長サイクルの機能
W01
CS → RD/WRn セットアップ延長サイクル
0
0 サイクル
1
1 サイクル
"0" を設定して 0 サイクルを選択した場合は , 最速で ,CSXO7 ∼ CSXO0 アサート直
後の外部メモリクロック MCLKO 出力の立上りから RDXO/WRXO3 ∼ WRXO0 が出
力されます。
"1" を設定し , 1 サイクルを選択した場合は , RDXO/WRXO3 ∼ WRXO0/WE とも , 必
ず 1 サイクル以上遅れて出力されます。
同一チップセレクト領域内で , CSXO7 ∼ CSXO0 をネゲートしないまま連続してアク
セスする場合 , このセットアップ延長サイクルは挿入されません。アドレス確定の
セットアップ延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→
CS 遅延を挿入することにより , 毎アクセス時に CS がいったんネゲートされるため ,
このセットアップ延長サイクルが有効となります。
W02 の CS 遅延設定を挿入してある場合 , W01 ビットの設定によらず常にこのセッ
トアップサイクルが有効となります。
[bit0] W00:RD/WRn → CS ホールド延長サイクル (RD/WRn → CS Hold Cycle)
RD/WRn → CS ホールド延長サイクルは , 読出し / 書込みストローブネゲート後 ,
CSXO7 ∼ CSXO0 ネゲートまでの期間を延長する場合に設定します。読出し / 書込
みストローブネゲート後 , CSXO7 ∼ CSXO0 をネゲートする前に , 1 サイクルのホー
ルド延長サイクルを挿入します。
表 4.2-17 RD/WRn → CSn ホールド延長サイクルの機能
W00
RD/WRn → CS ホールド延長サイクル
0
0 サイクル
1
1 サイクル
"0" を設定して 0 サイクルを選択した場合は , RDXO/WRXO3 ∼ WRXO0 がネゲート
された後の外部メモリクロック MCLKO 出力の立上りエッジよりホールド遅延経過
後に CSXO7 ∼ CSXO0 がネゲートされます。
"1" を設定して 1 サイクルを選択した場合は , CSXO7 ∼ CSXO0 は 1 サイクル遅れ
てネゲートされます。
同一チップセレクト領域内で , CSXO7 ∼ CSXO0 をネゲートしないまま連続してア
クセスする場合 , このホールド延長サイクルは挿入されません。アドレス確定の
ホールド延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CS
遅延を挿入することにより , 毎アクセス時に CSXO7 ∼ CSXO0 がいったんネゲート
されるため , このホールド延長サイクルが有効となります。
158
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
● Memory type A(SDRAM/FCRAM) および Memory type B(FCRAM)
ACR0 ∼ ACR7 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ
たチップセレクト領域は , SDRAM/FCRAM アクセスを行う領域となります。
表 4.2-18 アクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定
TYP3 TYP2 TYP1 TYP0
アクセスタイプ
1
0
0
0
Memory type A: SDRAM/FCRAM ( オートプリチャーを使用しません )
1
0
0
1
Memory type B: FCRAM ( オートプリチャージを使用します )
SDRAM アクセス領域に対しての AWR6, AWR7 の各ビットの機能を以下に示します。
初期値が不定ですので, 各領域をCSERレジスタによって有効にする前に設定を行って
ください。
SDRAM/FCRAM を接続する領域では , 本レジスタの設定をすべて同じにしてくださ
い。
[bit15] W15:予約ビット
予約ビットです。必ず "0" を設定してください。
[bit14 ∼ bit12] W14 ∼ W12:RAS-CAS ディレイサイクル (RAS-CAS delay Cycle)
これらのビットには , RAS 出力から CAS 出力までのサイクル数を設定してくださ
い。
表 4.2-19 RAS 出力から CAS 出力までのサイクル数の設定
W14
W13
W12
0
0
0
1 サイクル
0
0
1
2 サイクル
1
…
1
1
RAS-CAS ディレイサイクル
…
8 サイクル
SDRAM/FCRAM を接続する領域では , 本ビットによる RAS-CAS ディレイサイクル
の設定をすべて同じにしてください。
[bit11] W11:予約ビット
予約ビットです。必ず "0" を設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
159
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit10 ∼ bit8] W10 ∼ W08:CAS レイテンシ (CAS レイテンシ Cycle)
これらのビットには , CAS レイテンシを設定してください。
表 4.2-20 CAS レイテンシの設定
W10
W09
W08
0
0
0
1 サイクル
0
0
1
2 サイクル
1
…
1
CAS レイテンシ
…
1
8 サイクル
SDRAM/FCRAM を接続する領域では , 本ビットによる CAS レイテンシの設定をす
べて同じにしてください。
[bit7, bit6] W07, W06:読出し→書込みアイドルサイクル (Read → Write Idle Cycle)
これらのビットには , 最後の読出しデータ入力サイクルから , 書込みコマンド発行
までの最小サイクル数を設定してください。
表 4.2-21 読出し→書込みサイクル
W07
W06
0
0
1 サイクル
0
1
2 サイクル
1
0
3 サイクル
1
1
4 サイクル
読出し→書込みアイドルサイクル
SDRAM/FCRAMを接続する領域では, 本ビットによる読出し→書込みアイドルサイ
クルの設定をすべて同じにしてください。
[bit5, bit4] W05, W04:書込みリカバリサイクル (Write Recovery Cycle)
これらのビットには , 最後の書込みデータ出力から , 次のリードコマンド発行まで
の最小サイクル数を設定してください。
表 4.2-22 書込みリカバリサイクル設定
W05
W04
0
0
1 サイクル
0
1
2 サイクル
1
0
3 サイクル
1
1
4 サイクル
書込みリカバリサイクル
SDRAM/FCRAMを接続する領域では, 本ビットによる書込みリカバリサイクルの設
定をすべて同じにしてください。
160
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit3, bit2] W03, W02:RAS アクティブタイム (RAS Active time)
これらのビットには , RAS アクティブタイムの最小サイクル数を設定してくださ
い。
表 4.2-23 RAS アクティブタイム設定
W03
W02
0
0
1 サイクル
0
1
2 サイクル
1
0
5 サイクル
1
1
6 サイクル
RAS アクティブタイム
SDRAM/FCRAM を接続する領域では , 本ビットによる RAS アクティブタイムの設
定をすべて同じにしてください。
[bit1, bit0] W01, W00:RAS プリチャージサイクル (RAS precharge cycle)
これらのビットには , RAS プリチャージサイクル数を設定してください。
表 4.2-24 RAS プリチャージサイクル設定
W01
W00
0
0
1 サイクル
0
1
2 サイクル
1
0
3 サイクル
1
1
4 サイクル
RAS プリチャージサイクル
SDRAM/FCRAM を接続する領域では , 本ビットによる RAS プリチャージサイクル
の設定をすべて同じにしてください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
161
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
メモリ設定レジスタ (SDRAM/FCRAM オート
プリチャージなしモード用 )(MCRA)
4.2.4
メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA)
の構成および機能について説明します。
■ メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA)
の構成
図 4.2-4 メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA) の構成
初期値
MCRA
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
0000 0670H
予約
PSZ2 PSZ1 PSZ0 WBST BANK ABS1 ABS0
INIT 時
RST 時
アクセス
xxxxxxxxB
xxxxxxxxB
R/W
R/W : リード / ライト可能
× :不定値
ACR0 ∼ ACR7 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ
たチップセレクト領域に接続する SDRAM/FCRAM の各種設定を行います。
表 4.2-25 アクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定
TYP3 TYP2 TYP1 TYP0
1
0
0
0
アクセスタイプ
Memory type A: SDRAM/FCRAM ( オートプリチャージを使用しません )
MCRB とレジスタハードウェアを共用しています。したがって , MCRA を変更した場
合は MCRB も変更されます。
同時に異なる値を書き込んだ場合 , MCRA に書き込んだ値が両レジスタに設定されま
す。
[bit31] 予約:予約ビット
予約ビットです。必ず "0" を設定してください。
[bit30 ∼ bit28] PSZ2 ∼ PSZ0:ページサイズ (Page SiZe)
これらのビットには , 接続する SDRAM のページサイズを設定してください。
表 4.2-26 SDRAM のページサイズの設定
PSZ2 PSZ1 PSZ0
162
SDRAM Page size
0
0
0
8 ビットカラムアドレス= A0 ∼ A7(256 メモリワード )
0
0
1
9 ビットカラムアドレス= A0 ∼ A8(512 メモリワード )
0
1
0
10 ビットカラムアドレス= A0 ∼ A9(1024 メモリワード )
0
1
1
11 ビットカラムアドレス= A0 ∼ A9, A11(2048 メモリワード )
1
x
x
設定禁止
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit27] WBST:ライトバースト設定 (Write BurST enable)
これらのビットには , 書込み時にバースト書込みを行うかどうかを設定してくださ
い。
表 4.2-27 書込みバースト設定
WBST
ライトバースト設定
0
シングル書込み
1
バースト書込み
なお , FCRAM を接続する場合は , 必ず "1" を設定してください。FCRAM は "Burstread, Single-write" モードをサポートしていません。
[bit26] BANK:バンク数設定 (BANK type select)
これらのビットには , 接続する SDRAM のバンク数を設定してください。
表 4.2-28 バンク数設定
BANK
バンク数設定
0
2 バンク
1
4 バンク
[bit25, bit24] ABS1, ABS0:アクティブバンク数設定 (Active Bank Select)
これらのビットには , 同時にアクティブにする最大バンク数を設定してください。
表 4.2-29 アクティブバンク数設定
CM71-10131-1
ABS1
ABS0
0
0
1 バンク
0
1
2 バンク
1
0
3 バンク
1
1
4 バンク
アクティブバンク数設定
FUJITSU MICROELECTRONICS LIMITED
163
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
メモリ設定レジスタ (FCRAM オートプリチャージ
ありモード用 )(MCRB)
4.2.5
メモリ設定レジスタ (FCRAM オートプリチャージありモード用 ) (MCRB) の構成お
よび機能について説明します。
■ メモリ設定レジスタ (FCRAM オートプリチャージありモード用 )(MCRB) の構成
ACR0 ∼ ACR7 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ
たチップセレクト領域に接続する FCRAM の各種設定を行います。
図 4.2-5 メモリ設定レジスタ (FCRAM オートプリチャージありモード用 )(MCRB) の構成
初期値
MCRB
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
0000 0671H
予約
PSZ2 PSZ1 PSZ0 WBST BANK ABS1 ABS0
INIT 時
RST 時
アクセス
xxxxxxxxB
xxxxxxxxB
R/W
R/W : リード / ライト可能
× :不定値
表 4.2-30 アクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定
TYP3 TYP2 TYP1 TYP0
1
0
0
1
アクセスタイプ
Memory type B: FCRAM ( オートプリチャージを使用します )
MCRA とレジスタハードウェアを共用しています。したがって , MCRA を変更した場
合は MCRB も変更されます。
同時に異なる値を書き込んだ場合には , MCRA に書き込んだ値が両レジスタに設定さ
れます。
MCRA と同じ機能です。しかし , 本 TYP 設定においては , WBST ビットの機能を使用
できません (FCRAM は " バースト読出し , シングル書込み " モードをサポートしてい
ません )。
164
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2)
4.2.6
DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成および機能について説明
します。
■ DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成
DMA フライバイアクセス時の各種ウェイトを設定します。
図 4.2-6 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成
初期値
IOWR0
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
0000 0678H RYE0 HLD0 WR01 WR00 IW03 IW02 IW01 IW00
IOWR1
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit15
bit14
bit13
bit12
bit11
bit10
bit9
RST 時
アクセス
xxxxxxxxB
xxxxxxxxB
R/W
xxxxxxxxB
xxxxxxxxB
R/W
xxxxxxxxB
xxxxxxxxB
R/W
bit16
0000 0679H RYE1 HLD1 WR11 WR10 IW13 IW12 IW11 IW10
IOWR2
INIT 時
bit8
0000 067AH RYE2 HLD2 WR21 WR20 IW23 IW22 IW21 IW20
R/W : リード / ライト可能
× :不定値
[bit31, bit23, bit15] RYE0, RYE1, RYE2:RDY 機能設定 (ReadY Enable0,1,2)
DMA フライバイアクセス時の ch.0 ∼ ch.2 のチャネルごとの RDY 機能によるウェ
イト制御の設定を行います。
表 4.2-31 RDY 機能設定
RYEn
RDY 機能設定
0
I/O アクセスに対する RDY 入力は無効となります。
1
I/O アクセスに対する RDY 入力が有効になります。
"1" を設定することにより , 該当するチャネルのフライバイ転送時 , RDY 端子によ
るウェイト挿入が可能となります。IOWR, IORD は RDY 端子が許可になるまで延
長されます。また , メモリ側の RDXO/WRXO3 ∼ WRXO0/WE もそれに同期して延
長されます。
フライバイ転送相手のチップセレクト領域が ACR レジスタにより RDY 有効に設定
されていると , IOWR 側の RYEn ビットとは関係なく , RDY 端子によるウェイト挿
入が可能となります。また , フライバイ転送相手のチップセレクト領域で ACR レジ
スタにより RDY 無効にされている場合でも , IOWR 側の RYEn ビットにより RDY
有効に設定されていると , フライバイアクセス時のみ , RDY 端子によるウェイト挿
入が可能となります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
165
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit30, bit22, bit14] HLD0, HLD1, HLD2:ホールドウェイト設定 (HoLD wait control)
DMA フライバイアクセス時の転送元アクセス側の読出しストローブ信号のホール
ドサイクルを制御します。
表 4.2-32 ホールドウェイト設定
HLDn
ホールドウェイト設定
0
ホールド延長サイクルを挿入しません。
1
ホールド延長サイクルを挿入し , 読出しサイクルを 1 サイクル延長
します。
"0" 設定時は , 転送元アクセス側の読出しストローブ信号 ( メモリ→ I/O の場合は
RDXO, I/O →メモリの場合は IORD) と書込みストローブ信号 ( メモリ→ I/O の場合
は IOWR, I/O →メモリの場合は , WRXO3 ∼ WRXO0 および WE) は同じタイミング
で出力されます。
"1"設定時は, 転送元アクセス側データの転送先に対するホールドタイムを確保する
ため , ライトストローブ信号に対してリードストローブ信号を "1" サイクル長く出
力します。
[bit29, bit28, bit21, bit20, bit13, bit12] WR01, WR00, WR11, WR10, WR21, WR20
:I/O アイドルサイクル設定 (I/O Idle Cycle)
DMA フライバイアクセス時に , 連続した I/O アクセスに対するアイドルサイクルを
設定します。
表 4.2-33 I/O アイドルサイクル数の設定内容
WRn1
WRn0
0
0
0 サイクル
0
1
1 サイクル
1
0
2 サイクル
1
1
3 サイクル
I/O アイドルサイクル設定
アイドルサイクルを 1 サイクル以上設定した場合 , DMA フライバイアクセス時に ,
I/O アクセスの後に設定したサイクル数のアイドルサイクルを挿入します。アイド
ルサイクル中は , すべての CS およびストローブ出力はネゲートされ , データ端子は
ハイインピーダンスとなります。
166
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit27 ∼ bit24, bit19 ∼ bit16, bit11 ∼ bit8]
IW03 ∼ IW00, IW13 ∼ IW10, IW23 ∼ IW20 :
I/O ウェイトサイクル (I/O Wait Cycle)
DMA フライバイアクセス時の I/O アクセスの自動ウェイトサイクルを指定します。
表 4.2-34 I/O ウェイトサイクル数の設定内容
IWn3
IWn2
IWn1
IWn0
0
0
0
0
0 サイクル
0
0
0
1
1 サイクル
1
1
1
1
I/O ウェイトサイクル
…
…
15 サイクル
ウェイトサイクルの挿入数は , 転送元と転送先とでのデータの同期のため , IWnn
ビットによる I/O 側の設定とフライバイ転送相手 ( メモリなど ) のウェイト設定の
うち , 大きい方を使用します。そのため , IWnn ビットに設定したサイクル数より多
いウェイトが挿入される場合があります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
167
第 4 章 外部バスインタフェース
4.2
4.2.7
MB91402/403 シリーズ
チップセレクト領域許可レジスタ (CSER )
チップセレクト領域許可レジスタ (CSER) の構成および機能について説明します。
■ チップセレクト領域許可レジスタ (CSER) のビット構成
図 4.2-7 チップセレクト領域許可レジスタ (CSER) のビット構成
初期値
CSER
bit31
0000 0680H CSE7
bit30
−
bit29
bit28
bit27
bit26
bit25
bit24
INIT 時
CSE5 CSE4 CSE3 CSE2 CSE1 CSE0 00000001B
RST 時
アクセス
00000001B
R/W
R/W : リード / ライト可能
− :未定義ビット
[bit31 ∼ bit24] CSE7 ∼ CSE0:チップセレクト領域許可 (Chip select enable 0 ∼ 7)
CS0 ∼ CS7 の各チップセレクト領域許可ビットです。
初期値は , "00000001B" で CS0 領域のみ許可されています。
"1" を書き込むことにより ASR0 ∼ ASR7, ACR0 ∼ ACR7, AWR0 to AWR5, AWR7 の
設定に従って動作します。
許可にする前に , 必ず対応するチップセレクト領域のすべての設定を行ってくださ
い。ただし , リフレッシュコントロールレジスタ RCR の PON ビットによるパワー
オンシーケンスの実行は , CSER によるチップセレクト領域の許可を行った後に開
始してください。CSER で許可されていない領域に接続された FCRAM に対しては ,
パワーオンシーケンスは無効となります。
表 4.2-35 チップセレクト領域許可 0 ∼ 7 の機能
CSEn
領域コントロール
0
禁止
1
許可
bit30 には常に "0" を書き込んでください。
表 4.2-36 チップセレクト領域許可ビットの対応する CS 領域
168
CSE のビット
対応する CS 領域
bit24:CSE0
CS0
bit25:CSE1
CS1
bit26:CSE2
CS2
bit27:CSE3
CS3
bit28:CSE4
CS4
bit29:CSE5
CS5
−
bit31:CSE7
−
CS7
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
キャッシュ取込み許可レジスタ (CHER)
4.2.8
キャッシュ取込み許可レジスタ (CHER) の構成および機能について説明します。
■ キャッシュ取込み許可レジスタ (CHER) の構成
各チップセレクト領域から読み出したデータの内蔵キャッシュへの取込みを制御しま
す。
図 4.2-8 キャッシュ取込み許可レジスタ (CHER) の構成
初期値
CHER
bit23
0000 0681H CHE7
bit22
−
bit21
bit20
bit19
bit18
bit17
bit16
CHE5 CHE4 CHE3 CHE2 CHE1 CHE0
INIT 時
RST 時
アクセス
xxxxxxx1B
xxxxxxx1B
R/W
R/W : リード / ライト可能
− :未定義ビット
× :不定値
[bit23 ∼ bit16] CHE7 ∼ CHE0= キャッシュ領域設定 (Cache Enable 7 ∼ 0)
チップセレクト領域ごとにキャッシュへの取込みの許可・禁止を指定します。
表 4.2-37 キャッシュ領域設定
CHEn
キャッシュ領域設定
0
非キャッシュ領域
( 該当する領域より読み出したデータをキャッシュに保存しません )
1
キャッシュ領域
( 該当する領域より読み出したデータをキャッシュに保存します )
bit22 には常に "0" を書き込んでください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
169
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
端子 / タイミングコントロールレジスタ (TCR)
4.2.9
端子 / タイミングコントロールレジスタ (TCR) の構成および機能について説明します。
■ 端子 / タイミングコントロールレジスタ (TCR) の構成
共通端子機能設定やタイミング制御など , 外部バス IF コントローラ全般にかかわる機
能を制御します。
図 4.2-9 端子 / タイミングコントロールレジスタ (TCR) の構成
初期値
TCR
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0000 0683H BREN PSUS PCLR 予約
予約
予約 RDW1 RDW0 00000000B
INIT 時
RST 時
アクセス
0000xxxxB
R/W
R/W : リード / ライト可能
× :不定値
[bit7] BREN:BRQ 入力許可設定 (BRQ enable)
BRQ 端子入力を許可し , 外部バス共有を可能にします。
表 4.2-38 BRQ 入力許可の設定
BREN
BRQ 入力許可設定
0
BRQ/BGRNT によるバス共有を行いません。
BRQ 入力は無効となります。
1
BRQ/BGRNT によるバス共有を行います。
BRQ 入力は有効となります。
初期状態 ("0") のときは , BRQ の入力を無視します。
"1" を設定すると , BRQ 入力が "H" になった後 , バス開放が可能になった時点でバ
スを開放 ( ハイインピーダンス制御 ) して BGRNT をアクティブ ("L" 出力 ) にします。
アドレス , データのアウトプットイネーブル (AC3 ∼ AC0, DC3 ∼ DC0) を禁止状態
("H"出力)にします。CSX7∼CSX0は, ACRのSRENビットが"1"の領域に対してのみ,
対応する CSC7 ∼ CSC0 を禁止状態 ("H" 出力 ) にします。各ストローブのアウト
プットイネーブル (RDXC, WRXC) は , CSER で有効に設定してある領域に対応する
ACR の SREN がすべて "1" の場合に禁止状態 ("H" 出力 ) となります。
<注意事項>
MB91402/403 シリーズは内蔵 RAM への 32bit bus を FR コアと MPU I/F で共用するため
に FR コアが持つ外部バス共有機能を使用しています。そのため , MPU I/F を使用すると
きは , 本ビットをセットする必要があります ( 図 1.2-1 を参照してください )。
170
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit6] PSUS:プリフェッチ抑止 (Prefetch SUSpend)
すべての領域に対するプリフェッチの一時停止を制御します。
表 4.2-39 プリフェッチの制御
PSUS
プリフェッチ制御
0
プリフェッチ許可
1
プリフェッチ抑止
"1" を設定すると , "0" を書き込むまでの間 , 新規のプリフェッチ動作を行いません。
この間 , プリフェッチバッファへのミスが発生しない限りはプリフェッチバッファ
の内容は消去されませんので , プリフェッチを再開する前に bit5:PCLR ビット機能
によりプリフェッチバッファのクリアを行ってください。
[bit5] PCLR:プリフェッチバッファ全クリア (Prefetch buffer CleaR)
プリフェッチバッファのすべての内容をクリアします。
表 4.2-40 プリフェッチバッファの制御
PCLR
プリフェッチバッファ制御
0
通常状態
1
プリフェッチバッファクリア
"1" を書き込むと 1 度だけプリフェッチバッファをすべてクリアします。バッファ
クリアが完了すると自動的にビット値は "0" に戻ります。
PSUS ビットでプリフェッ
チを中断 ("1" に設定 ) しておいてからバッファのクリアを行ってください (PSUS と
PCLR の両ビットに同時に "10B" を書込み可能 )。
[bit4 ∼ bit2] 予約:予約ビット
予約ビットです。必ず "0" を設定してください。
[bit1, bit0] RDW1, RDW0:ウェイトサイクル短縮 (ReDuce Wait cycle)
すべてのチップセレクト領域およびフライバイ用 I/O チャネルに対して , 自動アク
セスサイクルウェイトの設定値を AWR レジスタの設定値はそのままで自動ウェイ
トサイクルのみ一律に削減します。アイドルサイクルやリカバリサイクル , セット
アップやホールドサイクルの設定には影響しません。
表 4.2-41 ウエイトサイクルの設定
RDW1
RDW0
0
0
通常ウェイト (AWR0 to AWR5, AWR7 の設定値 )
0
1
AWR0 to AWR5, AWR7 の設定値の 1/2(1 ビット右シフト )
1
0
AWR0 to AWR5, AWR7 の設定値の 1/4(2 ビット右シフト )
1
1
AWR0 to AWR5, AWR7 の設定値の 1/8(3 ビット右シフト )
ウェイトサイクル短縮
この機能は , ベースクロックを低速にしている間や , 外部バスクロックの分周比設
定を大きくしている間など , 低速クロックで動作している間 , 過剰なアクセスサイ
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
171
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
クルウェイトがかかることを防ぐためのものです。
通常 , このような場合にウェイトサイクルを設定し直すには , すべての AWR をそれ
ぞれ書換えなければなりませんが , RDW1, RDW0 ビットの機能を使うと , すべての
AWRの設定は高速クロックのときの設定のままで, アクセスサイクルウェイトのみ
一度に削減することができます。
クロックを高速に戻す前に , 必ず RDW1, RDW0 ビットを "00B" に設定し直してくだ
さい。
172
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
リフレッシュコントロールレジスタ (RCR)
4.2.10
リフレッシュコントロールレジスタ (RCR) の構成および機能について説明します。
■ リフレッシュコントロールレジスタ (RCR) のビット構成
図 4.2-10 リフレッシュコントロールレジスタ (RCR) のビット構成
初期値
RCRH
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
0000 0684H SELF RRLD RFINT5 RFINT4 RFINT3 RFINT2 RFINT1 RFINT0
RCRL
bit23
bit22
bit21
bit20
bit19
bit18
bit17
INIT 時
RST 時
アクセス
00xxxxxxB
00xxxxxxB
R/W
xxxx0xxxB
xxxx0xxxB
R/W
bit16
0000 0685H BRST RFC2 RFC1 RFC0 PON TRC2 TRC1 TRC0
R/W : リード / ライト可能
× :不定値
SDRAM に対する各種リフレッシュ制御設定を行います。どの領域に対しても SDRAM
制御を設定していない場合 , 本レジスタの設定には意味がありませんが , その場合はレ
ジスタ値を初期化状態から書き換えないでください。
リードモディファイライト (RMW) 系命令 の読出しの場合は , SELF, RRLD, PON ビッ
トは必ず "0" を返します。
[bit31] SELF:セルフリフレッシュ制御 (SELF refresh assert)
セルフリフレッシュモードに対応するメモリに対してセルフリフレッシュモード
の制御を行います。
表 4.2-42 セルフリフレッシュの制御
SELF
セルフリフレッシュ制御
0
オートリフレッシュもしくはパワーダウン
1
セルフリフレッシュモードへ移行
"1" を設定すると SELF コマンド発行後にセルフリフレッシュを行います。"0" を書
き込むとセルフリフレッシュモードを終了します。
デバイスをストップモードにする際に SDRAM の内容を保持させたい場合は , ス
トップモードに入れる前に本ビットにてセルフリフレッシュモードに入れてくだ
さい。この際 , セルフリフレッシュ遷移前に集中リフレッシュを行いますので , そ
れが終了するまでの間に発生した外部アクセス要求は待たされます。また , ストッ
プモードへの遷移も待たされます。
セルフリフレッシュモードからの解除は , 本ビットへの "0" 書込みまたは SDRAM に
対するアクセスの発生によって行われます。この際 , 解除直後に集中リフレッシュを
行いますので , SDRAM アクセスを含む外部アクセスを行うと , しばらくの間 , 外部ア
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
173
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
クセス要求が待たされて CPU の動作が停止します。
セルフリフレッシュモードに入れない状態で LSI をストップモードにすると , その
ままパワーダウンモードとなり , SDRAM の内容が破壊されます。
リードモディファイライト (RMW) 系命令の読出しの場合は , 必ず "0" を返します。
[bit30] RRLD:リフレッシュカウンタ起動制御 (Refresh counter ReLoaD)
リフレッシュカウンタの動作開始およびリロードを指示します。
表 4.2-43 リフレッシュカウンタ起動の制御
RRLD
リフレッシュカウンタ起動制御
0
無効 ( 何もしません )
1
オートリフレッシュを 1 回実行し , RFINT の値をリロードします。
初期状態ではリフレッシュカウンタは停止しています。この状態で本ビットに "1"
を設定すると , その時点で CSER で有効になっているすべての SDRAM 領域に対し
て分散リフレッシュモード時はオートリフレッシュを 1 回 , 集中リフレッシュモー
ド時は RFC で指定された回数実行し , その後 RFINT5 ∼ RFINT0 ビットの値をリ
ロードします。これ以降 , リフレッシュカウンタはダウンカウントを開始し , カウ
ンタ値が "000000B" からアンダフローを発生するたびに , RFINT5 ∼ RFINT0 ビット
の値をリロードすると同時にオートリフレッシュを 1 回実行する , という動作を繰
り返します。リロード終了後 "0" に戻ります。
オートリフレッシュを停止させたい場合は , RFINT5 ∼ RFINT0 ビットに "000000B"
を書き込んでください。
リードモディファイライト (RMW) 系命令の読出しの場合は , 必ず "0" を返します。
[bit29 ∼ bit24] RFINT5 ∼ RFINT0: オートリフレッシュインターバル
(ReFresh INTerval)
RFINT5 ∼ RFINT0 は , オートリフレッシュの間隔を指定します。
オートリフレッシュ間隔は分散リフレッシュモード時 {(RFINT5 ∼ RFINT0 の値 ) ×
32×(外部バスクロックサイクル)}, 集中リフレッシュモード時 {(RFINT5∼RFINT0
の値 ) × 32 × (RFC での指定回数 ) × ( 外部バスクロックサイクル )} で求めること
ができます。
オートリフレッシュを停止させたい場合は , RFINT5 ∼ RFINT0 ビットに "000000B"
を書き込んでください。
なお , オートリフレッシュコマンドを発行している時間も , リフレッシュカウンタ
はダウンカウントを行っています。
174
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
[bit23] BRST:バーストリフレッシュ制御 (BuRST refresh select)
オートリフレッシュの際の動作モードを制御します。
表 4.2-44 オートリフレッシュモードの制御
BRST
オートリフレッシュモードの制御
0
分散リフレッシュ ( 分散してオートリフレッシュを起動します )
1
バーストリフレッシュ
(1 回に連続してオートリフレッシュを起動します )
分散リフレッシュを設定している場合 , 1 回のリフレッシュ間隔ごとに 1 回 , オート
リフレッシュコマンドを発行します。
バーストリフレッシュを設定している場合 , 1 回のリフレッシュ間隔ごとに , リフ
レッシュカウンタに設定した回数のオートリフレッシュコマンドを連続して発行
します。
[bit22 ∼ bit20] RFC2 ∼ RFC0:リフレッシュ回数 (ReFresh Count)
SDRAM すべてをリフレッシュするために必要なリフレッシュ回数を指定します。
表 4.2-45 リフレッシュ回数の設定
RFC2
RFC1
RFC0
0
0
0
256
0
0
1
512
0
1
0
1024
0
1
1
2048
1
0
0
4096
1
0
1
8192
1
1
0
設定禁止
1
1
1
リフレッシュ禁止
リフレッシュ回数
ここで指定されたリフレッシュ回数は , セルフリフレッシュモード遷移前および遷
移後に実行される集中リフレッシュの際の回数となります。また , BRST ビットに
よりバーストリフレッシュを選択している場合は , リフレッシュインターバル 1 回
ごとに発行されるリフレッシュコマンドの回数となります。
[bit19] PON:パワーオン制御 (Power ON)
SDRAM(FCRAM) のパワーオンシーケンスを制御します。
表 4.2-46 パワーオンシーケンスの制御
PON
パワーオン制御
0
無効 ( 何もしません )
1
パワーオンシーケンス開始
PON ビットに "1" を書き込むことにより , SDRAM のパワーオンシーケンスを開始
します。パワーオンシーケンスを開始する前に必ず対応する AWR, MCRA(B), CSER
などのレジスタを設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
175
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
パワーオンシーケンスを開始すると本ビットは "0" に戻ります。
PON ビットを有効にするときには , RFINT の設定と RRLD を有効にしてリフレッ
シュカウンタも動作させてください。PON ビットのみでは , リフレッシュ動作を行
いません。
SELF ビットと同時に有効にしないでください。
リードモディファイライト (RMW) 系命令 の読出しの場合は , 必ず "0" を返します。
[bit18 ∼ bit16] TRC2 ∼ TRC0:リフレッシュサイクル (tRC) 設定
(Time of Refresh Cycle)
リフレッシュサイクル (tRC) を設定してください。
表 4.2-47 リフレッシュサイクルの設定
176
TRC2
TRC1
TRC0
0
0
0
4
0
0
1
5
0
1
0
6
0
1
1
7
1
0
0
8
1
0
1
9
1
1
0
10
1
1
1
11
リフレッシュサイクル (tRC)
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.2
MB91402/403 シリーズ
モードレジスタ (MODR)
4.2.11
モードレジスタ (MODR) の構成および機能について説明します。
■ モードレジスタ (MODR)
動作モードを決定します。本レジスタは , INIT 直後のリセットシーケンス中に , ハード
ウェアにより "000FFFF8H" 番地に配置された 1 バイトのモードデータを自動的に書き
込みます。
ユーザプログラムによるアクセスはできません。ただし , 例外として , エミュレータデ
バッガ , モニタデバッガを使用して , 0000_07FDH をマニュアル操作でアクセスするこ
とにより , 変更可能です。ICE 使用時はその機能を使用して , 本レジスタに適切な値を
書き込むことにより , プログラムロード前のモードデータの設定を行います。
FR ファミリのモードレジスタのアドレス (0000_07FFH) には何も存在しません。
図 4.2-11 モードレジスタ (MODR) のビット構成
初期値
MODR
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
予約
予約
予約
予約
予約
予約 WTH1 WTH0
INIT 時
RST 時
アクセス
xxxxxxxxB
xxxxxxxxB
R/W
R/W : リード / ライト可能
× :不定値
[bit23 ∼ bit18] 予約:予約ビット
予約ビットです。必ず "0" が設定されるようにしてください。
[bit17, bit16] WTH1, WTH0:初期バス幅設定 (bus WidTH 1, 0)
リセットベクタ読出し時のバス幅 , および ACR0 レジスタの DBW1, DBW0 ビット
の初期値を指定します。
表 4.2-48 初期バス幅の設定
WTH1
WTH0
0
0
8 ビット
0
1
16 ビット
1
0
32 ビット
1
1
設定禁止
バス幅
WTH1, WTH0 ビットの設定が , ACR0 レジスタの DBW1, DBW0 ビットに反映され
ます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
177
第 4 章 外部バスインタフェース
4.3
4.3
MB91402/403 シリーズ
チップセレクト領域の設定例
外部バスインタフェースには全 8 領域分のチップセレクト領域を設定できます。
チップセレクト領域の設定例を説明します。
■ チップセレクト領域の設定例
各領域のアドレス空間は , ASR0 ∼ ASR7(Area Select Register) と ACR0 ∼ ACR7(Area
Configuration Register) の ASZ3 ∼ ASZ0 ビットで , 4G バイトの空間に最小 64K バイト
単位で任意に配置することができます。これらのレジスタによって指定された領域に
対してバスアクセスを行うと , アクセスサイクル中に対応するチップセレクト信号
(CSX0, CSX1, CSX6) が "L" 出力となります。
● ASR および ASZ3 ∼ ASZ0 の設定例
• ASR0=000CH ACR0 → ASZ3 ∼ ASZ0=0010B
: チップセレクト領域 0 は , 000C0000H から 000FFFFFH に割り当てられます。
• ASR1=0020H ACR1 → ASZ3 ∼ ASZ0=0000B
: チップセレクト領域 1 は , 00200000H から 0020FFFFH に割り当てられます。
• ASR6=0800H ACR6 → ASZ3 ∼ ASZ0=0100B
: チップセレクト領域 6 は , 08000000H から 080FFFFFH に割り当てられます。
このとき , ACR → ASZ3 ∼ ASZ0 が 1M バイトの設定になっているので , バ
ウンダリは 1M バイト単位となり , ASR6[bit19 ∼ bi1t6] は無視されます。
リセット後は , ACR0 に書込みが行われるまでの間 , 00000000H ∼ FFFFFFFFH がチップ
セレクト領域 0 に割り当てられます。
チップセレクト領域は , お互いにオーバラップしないように設定してください。
図 4.3-1 チップセレクト領域の設定例
(初期値)
(例)
00000000H
00000000H
000C0000H
領域0
256Kバイト
領域1
64Kバイト
領域6
1Mバイト
000FFFFFH
00100000H
領域0
00200000H
0020FFFFH
00210000H
08000000H
080FFFFFH
FFFFFFFFH
178
FFFFFFFFH
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
4.4
エンディアンとバスアクセス
WR3∼WR0の制御信号は, データバス幅に関係なくデータバスのバイト位置に常に1
対 1 に対応します。以下に , バスモード別に , 設定されたデータバス幅で使用される
FR ファミリのデータバスのバイト位置とそれに対応する制御信号をまとめます。
■ データバス幅と制御信号との関係
WR3∼WR0の制御信号は, データバス幅に関係なくデータバスのバイト位置に常に1対
1 に対応します。
ここでは , バスモード別に設定されたデータバス幅で使用されるデータバスのバイト
位置とそれに対応する制御信号をまとめます。
● 通常バスインタフェース
図 4.4-1 通常バスインタフェース
a) 32ビットバス幅
データバス 制御信号
b) 16ビットバス幅
データバス 制御信号
c) 8ビットバス幅
データバス 制御信号
D31
WR0
WR0
WR0
WR1
WR1
-
-
WR2
-
-
-
WR3
-
-
-
D0
(D15~D0は未使用)
(D23~D0は未使用)
● 時分割入出力インタフェース
図 4.4-2 時分割入出力インタフェース
a) 16ビットバス幅
データバス
b) 8ビットバス幅
出力アドレス 制御信号
データバス 出力アドレス 制御信号
D31
A15~A8
WR0
A7~A0
WR0
A7~A0
WR1
-
-
-
D16
-
-
-
-
-
-
-
-
-
-
-
-
(D15~D0は未使用)
CM71-10131-1
(D23~D0は未使用)
FUJITSU MICROELECTRONICS LIMITED
179
第 4 章 外部バスインタフェース
4.4
4.4.1
MB91402/403 シリーズ
ビッグエンディアンのバスアクセス
FR ファミリは CS0 領域を除いて , チップセレクトごとにビッグエンディアン / リト
ルエンディアンを切り換えて使用可能です。ACR レジスタの LEND ビットを "1" に
設定した場合は , その領域をリトルエンディアンとして扱います。
通常 , FR ファミリは , ビッグエンディアンで外部バスアクセスを行います。
■ データフォーマット
内部レジスタと外部データバスとの関係は以下のようになります。
● ワードアクセス (LD, ST 命令実行時 )
図 4.4-3 データフォーマット(ワードアクセス)
内部レジスタ 外部バス
D31
D31
AA
AA
BB
BB
CC
CC
DD
DD
D23
D23
D15
D15
D7
D7
D0
D0
● ハーフワードアクセス (LDUH, STH 命令実行時 )
図 4.4-4 データフォーマット(ハーフワードアクセス)
a)出力アドレス下位"00H"
内部レジスタ
b)出力アドレス下位"10H"
外部バス
D31
内部レジスタ 外部バス
D31
D31
D31
D23
D23
D23
D15
D15
AA
D23
BB
D15
AA
D7
D7
AA
BB
BB
D7
D7
BB
D0
D0
D15
AA
D0
D0
● バイトアクセス (LDUB, STB 命令実行時 )
図 4.4-5 データフォーマット(バイトアクセス)
a)出力アドレス下位"00H"
b)出力アドレス下位"01H"
c)出力アドレス下位"10H"
d)出力アドレス下位"11H"
内部レジスタ 外部バス
内部レジスタ 外部バス
内部レジスタ 外部バス
内部レジスタ 外部バス
D31 D31
D31
D31 D31
D31 D31
D31
D23 D23
D23 D23
D23
D15 D15
D15
AA
D23 D23
D23
AA
D15 D15
D15
D15 D15
AA
D7
D7
D7
D0
180
D7
D7
AA
AA
D0
D0
D7
D7
AA
D0
D0
D7
AA
D0
FUJITSU MICROELECTRONICS LIMITED
D0
AA
D0
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
■ データバス幅
● 32 ビットバス幅
図 4.4-6 データバス幅 (32 ビットバス )
内部レジスタ
D31
D23
D15
D07
外部バス
AA
BB
AA
BB
読出し/書込み
CC
CC
DD
DD
D31
D23
D15
D07
● 16 ビットバス幅
図 4.4-7 データバス幅 (16 ビットバス )
内部レジスタ
外部バス
出力アドレス下位
D31
D23
D15
D07
AA
読出し/書込み
BB
"00H"
"10H"
AA
CC
BB
DD
D31
D23
CC
DD
● 8 ビットバス幅
図 4.4-8 データバス幅 (8 ビットバス )
内部レジスタ
D31
D23
D15
D07
CM71-10131-1
外部バス
出力アドレス下位
読出し/書込み
AA
"00H"
"01H"
"10H"
"11H"
AA
BB
CC
DD
D31
BB
CC
DD
FUJITSU MICROELECTRONICS LIMITED
181
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
■ 外部バスアクセス
外部バスアクセス (32 ビット /16 ビット /8 ビットバス幅 ) をワード / ハーフワード / バ
イトアクセスの別に , 図 4.4-9 , 図 4.4-10 , 図 4.4-11 に示します。
また , 以下の項目も合わせて 図 4.4-9 , 図 4.4-10 , 図 4.4-11 に示します。
• アクセスバイト位置
• プログラムアドレス
• 出力アドレスバスアクセス回数
PA1/PA0
: プログラムで指定したアドレス下位 2 ビット
出力 A1/A0
: 出力するアドレスの下位 2 ビット
: 出力するアドレスの先頭バイト位置
: アクセスするデータバイト位置
+
①∼④
: バスアクセス回数
FR ファミリは , ミスアラインエラーを検出しません。したがって , ワードアクセスの
場合には , プログラムで指定したアドレス下位 2 ビットが "00B" "01B" "10B" "11B" で
あっても , 出力するアドレスの下位 2 ビットはすべて "00B" となり , ハーフワードアク
セスの場合には "00B" "01B" のときには "00B" に , "00B" "01B" のときには "10B" になり
ます。
● 32 ビットバス幅
(A) ワードアクセス
図 4.4-9 外部バスアクセス (32 ビット幅 )
(a) PA1/PA0=00B
(b) PA1/PA0=01B
(c) PA1/PA0=10B
(d) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ① 出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
①
①
①
MSB
LSB
①
⇒
00H
01H
10H
11H
⇒
00H
01H
10H
11H
⇒
00H
01H
10H
11H
⇒
00H
01H
10H
11H
32 ビット
(B) ハーフワードアクセス
(a) PA1/PA0=00B
(b) PA1/PA0=01B
(c) PA1/PA0=10B
(d) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=10B
→ ①出力 A1/A0=10B
①
①
①
①
⇒
182
00H
01H
10H
11H
⇒
00H
01H
10H
11H
⇒
00H
01H
10H
11H
FUJITSU MICROELECTRONICS LIMITED
⇒
00H
01H
10H
11H
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
(C) バイトアクセス
(a) PA1/PA0=00B
(b) PA1/PA0=01B
(c) PA1/PA0=10B
(d) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=01B
→ ①出力 A1/A0=10B
→ ① 出力 A1/A0=11B
①
①
①
①
⇒
00H
01H
10H
⇒
11H
00H
01H
10H
11H
⇒
00H
01H
10H
11H
⇒
00H
01H
10H
11H
● 16 ビットバス幅
(A) ワードアクセス
図 4.4-10 外部バスアクセス (16 ビットバス幅 )
(a) PA1/PA0=00B
(a) PA1/PA0=01B
(c) PA1/PA0=10B
(d) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
②出力 A1/A0=10B
②出力 A1/A0=10B
②出力 A1/A0=10B
②出力 A1/A0=10B
MSB
LSB
①
⇒
00H
01H
①
⇒
00H
01H
①
⇒
00H
01H
①
⇒
00H
01H
②
⇒
10H
11H
②
⇒
10H
11H
②
⇒
10H
11H
②
⇒
10H
11H
16 ビット
(B) ハーフワードアクセス
(a) PA1/PA0=00B
(a) PA1/PA0=01B
(c) PA1/PA0=10B
(d) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=10B
→ ①出力 A1/A0=10B
①
⇒
00H
01H
10H
11H
CM71-10131-1
①
⇒
00H
01H
10H
11H
①
⇒
00H
01H
10H
11H
FUJITSU MICROELECTRONICS LIMITED
①
⇒
00H
01H
10H
11H
183
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
(C) バイトアクセス
(a) PA1/PA0=00B
(a) PA1/PA0=01B
(c) PA1/PA0=10B
(d) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=01B
→ ①出力 A1/A0=10B
→ ①出力 A1/A0=10B
①
⇒
00H
01H
10H
11H
①
⇒
00H
01H
10H
11H
⇒
①
00H
01H
10H
11H
⇒
①
00H
01H
10H
11H
● 8 ビットバス幅
(A) ワードアクセス
図 4.4-11 外部バスアクセス (8 ビットバス幅 )
(a) PA1/PA0=00B
(a) PA1/PA0=01B
(a) PA1/PA0=10B
(a) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
②出力 A1/A0=01B
③出力 A1/A0=10B
④出力 A1/A0=11B
②出力 A1/A0=01B
③出力 A1/A0=10B
④出力 A1/A0=11B
②出力 A1/A0=01B
③出力 A1/A0=10B
④出力 A1/A0=11B
②出力 A1/A0=01B
③出力 A1/A0=10B
④出力 A1/A0=11B
MSB LSB
①
⇒
00H
①
⇒
00H
①
⇒
00H
①
⇒
00H
②
⇒
01H
②
⇒
01H
②
⇒
01H
②
⇒
01H
③
⇒
10H
③
⇒
10H
③
⇒
10H
③
⇒
10H
④
⇒
11H
④
⇒
11H
④
⇒
11H
④
⇒
11H
8 ビット
(B) ハーフワードアクセス
(a) PA1/PA0=00B
(a) PA1/PA0=01B
(a) PA1/PA0=10B
(a) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=00B
②出力 A1/A0=01B
②出力 A1/A0=01B
②出力 A1/A0=01B
②出力 A1/A0=11B
①
⇒
00H
①
⇒
00H
00H
00H
②
⇒
01H
②
⇒
01H
01H
01H
184
10H
10H
①
⇒
10H
①
⇒
10H
11H
11H
②
⇒
11H
②
⇒
11H
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
(C) バイトアクセス
(a) PA1/PA0=00B
(a) PA1/PA0=01B
(a) PA1/PA0=10B
(a) PA1/PA0=11B
→ ①出力 A1/A0=00B
→ ①出力 A1/A0=01B
→ ①出力 A1/A0=10B
→ ①出力 A1/A0=11B
①
⇒
00H
01H
①
⇒
00H
00H
00H
01H
01H
01H
10H
10H
10H
10H
11H
11H
①
⇒
11H
①
⇒
11H
■ 外部デバイスとの接続例
図 4.4-12 外部デバイスとの接続例
D07
~
D00
WR3
D15
~
D08
WR2
D23
~
D16
WR1
D31
~
D24
WR0
FR コア
A31
~
A00
A31
A31
A02
A01
~
00H
D31
01H
D24 D23
10H
11H
D16 D15 D08 D07
D00
A31
~
~
0
D15
A00
1
D08 D07
D00
*
32ビットデバイス
16ビットデバイス
("00B"~"11B" アドレス下位2ビット)
("0"/"1" アドレス下位1ビット)
0
D07
D00
8ビットデバイス*
*:16ビット/8ビットデバイスの場合は,本マクロの
MSB側のデータバスを使用します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
185
第 4 章 外部バスインタフェース
4.4
4.4.2
MB91402/403 シリーズ
リトルエンディアンのバスアクセス
FR ファミリは CS0 領域を除いて , チップセレクトごとにビッグエンディアン / リト
ルエンディアンを切り換えて使用可能です。ACR レジスタの LEND ビットを "1" に
設定した場合は , その領域はリトルエンディアンとして扱います。
FR ファミリのリトルエンディアンバスアクセスは , ビッグエンディアン時のバスア
クセス動作を利用し , 基本的にはビッグエンディアン時の出力アドレスの順番と制
御信号の出力は同じで , データバスのバイト位置をバス幅に応じてスワップするこ
とにより実現しています。
接続時には , ビッグエンディアン領域とリトルエンディアン領域を物理的に分ける
必要がありますので注意してください。
■ リトルエンディアンとビッグエンディアンの相違点
リトルエンディアンとビッグエンディアンの相違点を以下に説明します。
• 出力するアドレスの順番はビッグエンディアン / リトルエンディアンでは変わりま
せん。
• ワードアクセス
: ビッグエンディアンのアドレス A1,A0=00B に対応する
MSB 側のバイトデータがリトルエンディアンでは LSB 側
のバイトデータになります。
ワードアクセスの場合は , ワード内の 4 バイトのすべての
バイト位置が反転します。
• ハーフワードアクセス : ビッグエンディアンのアドレス A0 に対応する MSB 側の
バイトデータがリトルエンディアンでは LSB 側のバイト
データになります。
ハーフワードアクセスの場合は , ハーフワード内の 2 バイ
トのバイト位置が反転します。
• バイトアクセス
: ビッグエンディアン / リトルエンディアンとも同じです。
■ リトルエンディアン領域に対する制限事項
• リトルエンディアン領域に対してプリフェッチを許可している場合は , その領域に
対するアクセスは必ずワードアクセスにて行ってください。プリフェッチバッファ
に読み込まれたデータをワード長以外でアクセスすると , 正しくエンディアン変換
が行われず , 誤ったデータを読み出してしまいます。これは , エンディアン変換機構
のハードウェア的な制限によるものです。
• リトルエンディアン領域には , 命令コードを配置しないでください。
186
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
■ データフォーマット
内部レジスタと外部データバスとの関係は以下のようになります。
● ワードアクセス (LD, ST 命令実行時 )
図 4.4-13 内部レジスタと外部データバスとの関係 ( ワードアクセス )
内部レジスタ 外部バス
D31
D31
AA
DD
BB
CC
CC
BB
DD
AA
D23
D23
D15
D15
D7
D7
D0
D0
● ハーフワードアクセス (LDUH, STH 命令実行時 )
図 4.4-14 内部レジスタと外部データバスとの関係 ( ハーフワードアクセス )
b)出力アドレス下位"10B"
a)出力アドレス下位"00B"
内部レジスタ
外部バス
D31
内部レジスタ 外部バス
D31
D31
D31
D23
D23
D23
D15
D15
BB
D23
AA
D15
AA
D7
D7
BB
BB
AA
D7
D7
BB
D0
D0
D15
AA
D0
D0
● バイトアクセス (LDUB, STB 命令実行時 )
図 4.4-15 内部レジスタと外部データバスとの関係 ( バイトアクセス )
a)出力アドレス下位"00B"
内部レジスタ 外部バス
D31
b)出力アドレス下位"01B"
内部レジスタ 外部バス
D31 D31
c)出力アドレス下位"10B"
内部レジスタ 外部バス
d)出力アドレス下位"11B"
内部レジスタ 外部バス
D31 D31
D31 D31
D31
D23 D23
D23 D23
D23
D15 D15
D15
AA
D23
D23 D23
AA
D15
D15 D15
D15 D15
AA
D7
D7
D7
AA
D0
CM71-10131-1
D7
D7
AA
D0
D0
D7
D7
AA
D0
D0
D7
AA
D0
FUJITSU MICROELECTRONICS LIMITED
D0
AA
D0
187
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
■ データバス幅
● 32 ビットバス幅
図 4.4-16 データバス幅 (32 ビット )
内部レジスタ
D31
D23
D15
D07
外部バス
AA
BB
DD
CC
読出し/書込み
CC
BB
DD
AA
D31
D23
D15
D07
● 16 ビットバス幅
図 4.4-17 データバス幅 (16 ビット )
内部レジスタ
外部バス
出力アドレス下位
D31
D23
D15
D07
AA
読出し/書込み
BB
"00"
"10"
DD
BB
CC
AA
D31
D23
CC
DD
● 8 ビットバス幅
図 4.4-18 データバス幅 (8 ビット )
内部レジスタ
D31
D23
D15
D07
188
外部バス
出力アドレス下位
読出し/書込み
AA
"00"
"01"
"10"
"11"
DD
CC
BB
AA
D31
BB
CC
DD
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
■ 外部デバイスとの接続例
FR ファミリと外部デバイスとの接続例をバス幅ごとに示します。
● 32 ビットバス幅
図 4.4-19 外部デバイスとの接続例 (32 ビットバス幅)
00H
D31
01H
10H
D07
~
D00
WR3
D15
~
D08
WR1
D23
~
D16
WR0
D31
~
D24
WR2
FR70 コア
A31
~
A02
11H
D24 D23 D16 D15 D08 D07
ビッグエンディアン領域
11H
D00
D31
01H
10H
00H
D24 D23 D16 D15 D08 D07
D00
リトルエンディアン領域
● 16 ビットバス幅
図 4.4-20 外部デバイスとの接続例 (16 ビットバス幅)
D23
~
D16
0
D15 D08 D07
WR1
D31
~
D24
WR0
FR70 コア
1
1
D00
ビッグエンディアン領域
CM71-10131-1
A31
~
A01
D15
0
D08 D07
D00
リトルエンディアン領域
FUJITSU MICROELECTRONICS LIMITED
189
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
● 8 ビットバス幅
図 4.4-21 外部デバイスとの接続例 (8 ビットバス幅)
FR70 コア
D07
A31
~
A00
WR0
D31
~
D24
D00
D07
ビッグエンディアン領域
190
D00
リトルエンディアン領域
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
ビッグエンディアンとリトルエンディアンの外部
アクセスの比較
4.4.3
バス幅に対するワードアクセス , ハーフワードアクセスおよびバイトアクセスにつ
いて , ビッグエンディアンとリトルエンディアンの外部アクセスの比較を示します。
これらの図は , ビッグエンディアン領域とリトルエンディアン領域とを分け ,
「4.4.1 ビッグエンディアンのバスアクセス」および「4.4.2 リトルエンディアンの
バスアクセス」で示した外部デバイスとの接続例に従ってデータバスを接続した場
合に , すべてのアクセスについて内部 Reg においてビッグエンディアンになること
を示します。
■ ワードアクセス
表 4.4-1 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( ワードアクセス )
ビッグエンディアンモード
内部 Reg
外部端子
リトルエンディアンモード
内部 Reg
制御端子
アドレス下位2ビット:"0"
D31
32 ビット
バス幅
外部端子
D31
D31
D31
AA
AA
WR0
AA
DD
WR0
BB
BB
WR1
BB
CC
WR1
CC
CC
-
CC
BB
-
DD
-
DD
AA
DD
D00
内部 Reg
D00
①
外部端子
アドレス : "0"
D31
BB
内部 Reg
制御端子
AA CC
WR0
AA
BB DD
WR1
BB
"2"
DD BB
WR0
CC AA
WR1
D16
CC
-
-
-
DD
-
-
-
CC
-
-
-
DD
-
-
-
①
②
D00
D00
①
内部 Reg
D31
②
外部端子
アドレス : "0"
"1"
制御端子
内部 Reg
D31
AA BB CC DD
外部端子
アドレス : "0"
"2" "3"
D31
AA
WR0
"1"
制御端子
"2"
"3"
D31
AA
D24
DD CC BB AA
WR0
D24
BB
- - - -
-
BB
- - - -
-
CC
- - - -
-
CC
- - - -
-
DD
- - - -
-
DD
- - - -
-
D00
D00
①
CM71-10131-1
制御端子
D31
D31
D16
8 ビット
バス幅
外部端子
アドレス : "0"
"2"
D31
AA
-
D00
D00
①
16 ビット
バス幅
制御端子
アドレス : "0"
②
③
④
FUJITSU MICROELECTRONICS LIMITED
①
②
③
④
191
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
■ ハーフワードアクセス
表 4.4-2 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( ハーフワードアクセス ) (1 / 2)
ビッグエンディアンモード
内部 Reg
外部端子
リトルエンディアンモード
制御端子
アドレス: "0"
D31
D31
WR0
BB
WR0
BB
WR1
AA
WR1
-
-
AA
-
D00
-
BB
D00
D00
①
内部 Reg
D31
外部端子
①
制御端子
アドレス: "2"
D31
CC
DD
D00
内部 Reg
D31
外部端子
アドレス: "2"
D31
-
-
-
CC
-
DD
-
CC
DD
D00
制御端子
内部 Reg
D31
AA
WR0
BB
WR1
-
外部端子
制御端子
BB
WR0
AA
WR1
AA
-
-
BB
-
-
D16
AA
-
-
BB
-
-
D00
D00
①
内部 Reg
外部端子
①
制御端子
アドレス : "2"
D31
内部 Reg
D31
CC
WR0
DD
WR1
外部端子
制御端子
アドレス : "2"
D31
DD
WR0
CC
WR1
CC
-
-
DD
-
-
D16
D16
CC
-
-
DD
-
-
D00
D00
①
192
CC
アドレス : "0"
D31
D16
D31
-
①
アドレス : "0"
D31
D31
16 ビット
バス幅
DD
D00
①
外部端子
制御端子
-
D00
内部 Reg
制御端子
AA
BB
32 ビット
バス幅
外部端子
アドレス: "0"
D31
D31
AA
D00
内部 Reg
FUJITSU MICROELECTRONICS LIMITED
①
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
表 4.4-2 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( ハーフワードアクセス ) (2 / 2)
ビッグエンディアンモード
内部 Reg
外部端子
アドレス : "0"
D31
リトルエンディアンモード
制御端子
内部 Reg
アドレス : "0"
"1"
D31
D31
AA BB
BB
D00
WR0
-
-
-
-
-
-
-
-
-
D00
内部 Reg
BB AA
AA
BB
D00
制御端子
内部 Reg
D31
CC DD
DD
-
-
-
-
-
-
-
①
②
制御端子
"3"
D31
DD CC
WR0
D24
-
-
-
-
-
-
-
-
-
D00
CC
DD
D00
①
CM71-10131-1
-
外部端子
WR0
D24
D00
-
アドレス : "2"
"3"
D31
CC
WR0
D00
②
外部端子
アドレス : "2"
D31
"1"
D24
①
8 ビット
バス幅
制御端子
D31
D24
AA
外部端子
-
-
-
-
-
-
-
-
-
①
②
D00
②
FUJITSU MICROELECTRONICS LIMITED
193
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
■ バイトアクセス
表 4.4-3 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( バイトアクセス ) (1 / 3)
ビッグエンディアンモード
内部 Reg
外部端子
リトルエンディアンモード
制御端子
内部 Reg
アドレス : "0"
D31
D31
D31
AA
-
-
-
-
AA
D00
D00
D00
①
①
外部端子
制御端子
内部 Reg
アドレス : "1"
D31
外部端子
D31
D31
-
BB
-
WR1
BB
-
D00
-
BB
D00
D00
①
32 ビット
バス幅
内部 Reg
外部端子
アドレス:
D31
①
制御端子
外部端子
アドレス:
D31
"2"
D31
-
-
-
-
D00
CC
外部端子
D00
①
制御端子
内部 Reg
アドレス : "3"
D31
D31
DD
D00
外部端子
D31
-
-
-
-
-
-
-
DD
D00
DD
-
D00
①
194
制御端子
アドレス : "3"
D31
DD
D00
-
-
CC
D00
①
内部 Reg
制御端子
-
-
CC
D00
内部 Reg
"2"
D31
CC
WR1
-
-
BB
制御端子
アドレス : "1"
D31
D00
WR0
-
-
AA
内部 Reg
制御端子
D31
WR0
AA
D00
外部端子
アドレス : "0"
FUJITSU MICROELECTRONICS LIMITED
①
CM71-10131-1
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
表 4.4-3 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( バイトアクセス ) (2 / 3)
ビッグエンディアンモード
内部 Reg
外部端子
リトルエンディアンモード
制御端子
内部 Reg
アドレス : "0"
D31
D31
D31
WR0
AA
-
D16
-
-
-
AA
D00
-
AA
D00
①
内部 Reg
外部端子
①
制御端子
内部 Reg
アドレス : "1"
D31
外部端子
D31
D31
BB
制御端子
アドレス : "1"
D31
-
-
BB
WR1
D16
WR1
D16
-
-
-
BB
D00
-
BB
D00
①
内部 Reg
外部端子
①
制御端子
内部 Reg
アドレス : "2"
D31
外部端子
制御端子
アドレス : "2"
D31
D31
CC
D31
CC
WR0
-
WR0
-
D16
D16
-
-
-
CC
D00
-
CC
D00
①
内部 Reg
外部端子
①
制御端子
内部 Reg
アドレス : "3"
D31
外部端子
D31
DD
制御端子
アドレス : "3"
D31
D31
-
-
DD
WR1
D16
WR1
D16
-
-
-
DD
D00
-
DD
D00
①
CM71-10131-1
WR0
-
D16
16 ビット
バス幅
制御端子
アドレス : "0"
D31
AA
外部端子
FUJITSU MICROELECTRONICS LIMITED
①
195
第 4 章 外部バスインタフェース
4.4
MB91402/403 シリーズ
表 4.4-3 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( バイトアクセス ) (3 / 3)
ビッグエンディアンモード
内部 Reg
外部端子
リトルエンディアンモード
制御端子
内部 Reg
アドレス : "0"
D31
D31
D31
AA
WR0
D24
-
-
-
-
-
AA
-
AA
D00
①
内部 Reg
外部端子
①
制御端子
内部 Reg
アドレス : "1"
D31
外部端子
制御端子
アドレス : "1"
D31
D31
BB
D31
BB
WR0
D24
WR0
D24
-
-
-
-
-
BB
D00
-
BB
D00
①
内部 Reg
外部端子
①
制御端子
内部 Reg
アドレス : "2"
D31
外部端子
制御端子
アドレス : "2"
D31
D31
CC
D31
CC
WR0
D24
WR0
D24
-
-
-
-
-
CC
D00
-
CC
D00
①
内部 Reg
外部端子
①
制御端子
内部 Reg
アドレス : "3"
D31
外部端子
制御端子
アドレス : "3"
D31
D31
DD
D31
DD
WR0
D24
WR0
D24
-
-
-
-
-
DD
D00
-
DD
D00
①
196
WR0
D24
D00
8 ビット
バス幅
制御端子
アドレス : "0"
D31
AA
外部端子
FUJITSU MICROELECTRONICS LIMITED
①
CM71-10131-1
MB91402/403 シリーズ
4.5
第 4 章 外部バスインタフェース
4.5
通常バスインタフェースの動作
通常バスインタフェースの動作について説明します。
■ 通常バスインタフェース
通常バスインタフェースでは , 読出し / 書込みアクセスともに 2 クロックサイクルが基
本バスサイクルになります。
通常バスインタフェースにおける以下の動作について , タイミングチャートを示して
説明します。
• 基本タイミング ( アクセスが連続する場合 )
• WRn +バイト制御タイプ
• 読出し→書込み
• 書込み→書込み
• 自動ウェイトサイクル
• 外部ウェイトサイクル
• 同期書込みイネーブル出力
• CSn 遅延設定
• CSn → RD/WRn セットアップ , RD/WRn → CSn ホールド設定
• DMA フライバイ転送 (I/O →メモリ )
• DMA フライバイ転送 ( メモリ→ I/O)
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
197
第 4 章 外部バスインタフェース
4.5
4.5.1
MB91402/403 シリーズ
基本タイミング ( アクセスが連続する場合 )
(ACR → TYP3 ∼ TYP0 = 0000B, AWR = 0008H)
アクセスが連続する場合の基本タイミングを示します。
■ 通常バスインタフェース ( 基本タイミング ( アクセスが連続する場合 ))
図 4.5-1 通常バスインタフェース ( 基本タイミング ( アクセスが連続する場合 ))
MCLKO
MCLKI *
A31~A0
#1
#2
CSn
RD
読出し
D31~D0
#1
#2
WRn
書込み
D31~D0
#1
#2
DC3~DC0
* : 内部信号です
• AS は , バスアクセス開始サイクルに 1 サイクルアサートします。
• A31 ∼ A0 は , ワード / ハーフワード / バイト アクセスの先頭バイト位置のアドレス
をバスアクセス開始サイクルからバスアクセス終了サイクルまで出力します。
• CSn は , AWR0 to AWR5, AWR7 レジスタの W02 ビットが "0" のときは , AS と同じ
タイミングでアサートし , 連続するアクセスがある場合には CSn はネゲートしませ
ん。AWR レジスタの W00 ビットが "0" の場合はバスサイクル終了後に CSX7 ∼
CSX0 をネゲートし , W00 ビットが "1" の場合はバスアクセス終了の 1 サイクル後に
ネゲートします。
• RD は , バスアクセス第二サイクルから MCLKI ↑より遅延してアサートします。AWR
レジスタ W15 ∼ W12 ビットのウェイトサイクルを挿入した後にネゲートします。
• WRn は , バスアクセス第二サイクルから MCLKO ↑より遅延してアサートします。
AWRレジスタW15∼W12ビットのウェイトサイクルを挿入した後にネゲートします。
• RD, WRn をアサートするタイミングは AWR レジスタ W01 ビットを "1" に設定する
ことにより 1 サイクル遅らせることができます。
198
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 4 章 外部バスインタフェース
4.5
• ACR → TYP3 ∼ TYP0=0x0xB のように WRn を使用する設定の場合には WE は "H"
固定です。
• リードアクセスの場合 , RD アサート後ウェイトサイクルが終了したサイクルの
MCLKI の立上りで D 31 ∼ D0 を取り込みます。
• ライトアクセスの場合 , WRn をアサートしたタイミングから D 31 ∼ D0 にデータを
出力します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
199
第 4 章 外部バスインタフェース
4.5
MB91402/403 シリーズ
WRn +バイト制御タイプ
(ACR → TYP3 ∼ TYP0 = 0010B, AWR = 0008H)
4.5.2
WRn +バイト制御タイプの動作タイミングを示します。
■ 通常バスインタフェース (WRn +バイト制御タイプ )
図 4.5-2 通常バスインタフェース (WRn +バイト制御タイプ )
MCLKO
MCLKI*
A31~A0
AS
CSn
*
RD
WR1, WR0
読出し
WR3, WR2
D31~D0
WE
WR1, WR0
WR3, WR2
書込み
D31~D0
DC1, DC0
DC3, DC2
* : 内部信号です
• AS, CSn, RD, A31 ∼ A0, D31 ∼ D0 は , 「4.5.1 基本タイミング ( アクセスが連続
する場合 ) (ACR → TYP3 ∼ TYP0 = 0000B, AWR = 0008H)」と同様の動作を行
います。
200
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 4 章 外部バスインタフェース
4.5
AWR レジスタ W15 ∼ W12
• WE は , バスアクセス第二サイクルからアサートします。
ビットのウェイトサイクルを挿入した後にネゲートします。RD, WRn をアサートす
るタイミングは AWR レジスタ W01 ビットを "1" に設定することにより 1 サイク
ル遅らせることができます (「4.5.1 基本タイミング ( アクセスが連続する場合 )
(ACR → TYP3 ∼ TYP0 = 0000B, AWR = 0008H)」の WRn と同様の動作を行います )。
• WRn は , バイトイネーブル信号としてアクセスするバイト位置を負論理で示しま
す。バスアクセス開始サイクルからバスサイクル終了までアサートします。アドレ
スと同じタイミングで変化します。リード / ライトアクセスともにアクセスするバ
イト位置を示します。
• ライトアクセスの場合 , WE をアサートしたタイミングから D31 ∼ D0 にデータを
出力します。
• ACR → TYP3 ∼ TYP0=0x0xB(WRn 使用 ), TYP3 ∼ TYP0=0x1xB(WE + byte control)
の領域を混在させる場合には , 使用するすべての領域にて , 必ず以下の設定を行っ
てください。
- リード→ライトアイドルサイクルを最低 1 サイクル以上設定してください。
- ライトリカバリサイクルを最低 1 サイクル以上設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
201
第 4 章 外部バスインタフェース
4.5
MB91402/403 シリーズ
読出し → 書込みタイミング
(ACR → TYP3 ∼ TYP0=0000B, AWR=0048H)
4.5.3
読出し→書込み動作のタイミングを示します。
■ 通常バスインタフェース ( 読出し → 書込みタイミング )
図 4.5-3 通常バスインタフェース ( 読出し → 書込みタイミング )
リード
アイドル
ライト
MCLKO
MCLKI *
A31~A0
AS
CSn
RD
WRn
DI31~DI0
DO31~DO0
DC3~DC0 *
* : 内部信号です
• AWR レジスタ W07, W06 ビットの設定により , 0 ∼ 3 サイクルまでのアイドルサイ
クル挿入が可能です。
• 読出し側の CS 領域の設定が有効になります。
• リードアクセスの次のアクセスがライトアクセス , または別の領域へのアクセスで
ある場合にこのアイドルサイクルを挿入します。
• DI31 ∼ DI0 は読出し時の D31 ∼ D0 を表します。DO31 ∼ DO0 は書込み時の D31 ∼
D0 を表します。
202
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.5
MB91402/403 シリーズ
書込み → 書込みタイミング
(ACR → TYP3 ∼ TYP0=0000B, AWR=0018H)
4.5.4
書込み→書込み動作のタイミングを示します。
■ 通常バスインタフェース ( 書込み → 書込みタイミング )
図 4.5-4 通常バスインタフェース ( 書込み → 書込みタイミング )
ライト
ライトリカバリ
ライト
MCLK *
A31~A0
AS
CSn
WRn
D31~D0
DC3~DC0 *
* : 内部信号です
• AWR レジスタ W05, W04 ビットの設定により , 0 ∼ 3 サイクルまでのライトリカバ
リサイクルを挿入可能です。
• すべてのライトサイクル後に , リカバリサイクルが発生します。
• 設定したバス幅以上のアクセスによってライトアクセスが分割された場合もライ
トリカバリサイクルは発生します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
203
第 4 章 外部バスインタフェース
4.5
4.5.5
MB91402/403 シリーズ
自動ウェイトタイミング
(ACR → TYP3 ∼ TYP0=0000B, AWR=2008H)
自動ウェイトサイクルの動作タイミングを示します。
■ 通常バスインタフェース ( 自動ウェイトタイミング )
図 4.5-5 通常バスインタフェース ( 自動ウェイトタイミング )
基本サイクル
ウェイトサイクル
MCLKO
MCLKI *
A31~A0
AS
CSn
RD
読出し
D31~D0
WRn
書込み
D31~D0
DC3~DC0 *
* : 内部信号です
• AWR レジスタ W15 ∼ W12 ビット ( ファーストウェイトサイクル ) の設定により自
動ウェイトサイクルを 0 ∼ 15 まで設定可能です。
• 図 4.5-5 では , 自動ウェイトサイクルを 2 サイクル挿入して合計 4 サイクルのアクセ
スとなっています。
• 自動ウェイトを設定した場合 , バスサイクルは最小で 2 サイクル+ ( ファーストウェ
イトサイクル ) となります。書込みの場合は内部状態によりさらに長くなることが
あります。
204
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.5
MB91402/403 シリーズ
外部ウェイトタイミング
(ACR → TYP3 ∼ TYP0=0001B, AWR=2008H)
4.5.6
外部ウェイトサイクルの動作タイミングを示します。
■ 通常バスインタフェース ( 外部ウェイトタイミング )
図 4.5-6 通常バスインタフェース ( 外部ウェイトタイミング )
基本サイクル
自動ウェイト2サイクル
RDYによる
ウェイトサイクル
MCLKO
MCLKI *
A31~A0
AS
CSn
RD
読出し
D31~D0
WRn
書込み
D31~D0
DC3~DC0*
RDY
解除
ウェイト
* : 内部信号です
ACR レジスタの TYP0 ビットを "1" に設定し , 外部 RDY 入力端子を有効にすることに
より外部ウェイトサイクルを挿入可能です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
205
第 4 章 外部バスインタフェース
4.5
4.5.7
MB91402/403 シリーズ
同期書込みイネーブル出力タイミング
(ACR → TYP3 ∼ TYP0=0000B, AWR=0000H)
同期書込みイネーブル出力の動作タイミングを示します。
■ 通常バスインタフェース ( 同期書込みイネーブル出力タイミング )
図 4.5-7 通常バスインタフェース ( 同期書込みイネーブル出力タイミング )
MCLKO
MCLKI*
A31~A0
#2
#1
AS
CSn
RD
読出し
D31~D0
#1
#2
WRn
書込み
D31~D0
#1
#2
DC3~DC0*
* : 内部信号です
• 同期書込みイネーブルとした場合 (AWR:W03 ビットが "0"), 以下のような動作とな
ります。
• WRn, WE 端子出力は , AS がアサートされているタイミングで , 同期書込みイネーブ
ル出力をアサートします。外部バスへの書込みが行われる場合には , 同期書込みイ
ネーブル出力は "L" を出力します。外部バスからの読出しが行われる場合には , 同
期書込みイネーブル出力は "H" を出力します。
• 同期書込みイネーブル出力をアサートした次のクロックサイクルにて , 外部データ
出力端子より書込みデータを出力します。
• 読出しストローブ出力 (RD) は , WRn, WE 出力タイミング設定の内容にかかわらず ,
非同期読出しストローブとして機能します。データの入出力制御にそのまま使用し
てください。
同期書込みイネーブル出力を使用する場合には , 以下の制限があります。
206
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 4 章 外部バスインタフェース
4.5
- 同期書込みイネーブル出力のタイミングが無意味なものとなりますので , 以下の
追加ウェイト設定をしないでください。
- CSn → RD/WRn セットアップ設定 (AWR:W01 ビットは常に "0" を書いてくだ
さい )
- ファーストウェイトサイクル設定 (AWR:W15 ∼ W12 ビットは常に "0000B" を
書いてください )
- 同期書込みイネーブル出力のタイミングが無意味なものとなりますので , 以下の
アクセスタイプ設定 (ACR レジスタの TYP3 ∼ TYP0 ビット (bit3 ∼ bit0)) を設定
しないでください。
- マルチプレックスバス設定 (ACR→TYPE[2]ビットは常に"0"を書いてください)
- RDY 入力有効設定 (ACR → TYPE[0] ビットは常に "0" を書いてください )
- 同期書込みイネーブル出力の場合 , バースト長は常に "1"(BST1, BST0 ビットに
"0") を設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
207
第 4 章 外部バスインタフェース
4.5
4.5.8
MB91402/403 シリーズ
CSn 遅延設定
(ACR → TYP3 ∼ TYP0=0000B, AWR=000CH)
CSn 遅延設定の動作タイミングを示します。
■ 通常バスインタフェース (CSn 遅延設定 )
図 4.5-8 通常バスインタフェース (CSn 遅延設定 )
MCLKO
MCLKI *
A31~A0
AS
CSn
RD
読出し
D31~D0
WRn
書込み
D31~D0
DC3~DC0 *
* : 内部信号です
• W02 ビットが "1" のときは AS アサートの次のサイクルからアサートし , 連続する
アクセスがある場合にはネゲート期間を挿入します。
• 遅延させた CS7 ∼ CS0 のアサートから , リード / ライトストローブをアサートする
前に , 1 サイクルのセットアップサイクルを挿入します (W01 の CSn → RD/WRn セッ
トアップ設定と同等の動作となります )。
208
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.5
MB91402/403 シリーズ
4.5.9
CSn → RD/WRn セットアップおよび RD/WRn →
CSn ホールド設定
(TYP3 ∼ TYP0=0000B, AWR=000BH)
CSn → RD/WRn セットアップおよび RD/WRn → CSn ホールド設定の動作タイミング
を示します。
■ 通常バスインタフェース(CSn→RD/WRnセットアップおよびRD/WRn→CSnホー
ルド設定 )
図 4.5-9 通常バスインタフェース
(CSn → RD/WRn セットアップおよび RD/WRn → CSn ホールド設定 )
MCLKO
MCLKI *
A31~A0
AS
CSn
CS->RD/WRn
RD/WRn->CS
Delay
Delay
RD
読出し
D31~D0
WRn
書込み
D31~D0
DC3~DC0
* : 内部信号です
• AWR レジスタの W01 ビットを "1" に設定することにより , CSn → RD/WRn セット
アップディレイを設定可能です。チップセレクトアサート後 , リード / ライトスト
ローブまでの期間を延長する場合に設定します。
• AWR レジスタの W00 ビットを "1" に設定することにより , RD/WRn → CSn ホール
ドディレイを設定可能です。リード / ライトストローブネゲート後 , チップセレク
トネゲートまでの期間を延長する場合に設定します。
• CSn → RD/WRn セットアップディレイ (W01 ビット ) と RD/WRn → CSn ホールド
ディレイ (W00 ビット ) は独立に設定可能です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
209
第 4 章 外部バスインタフェース
4.5
MB91402/403 シリーズ
• 同一チップセレクト領域内で , チップセレクトをネゲートしないまま連続してアク
セスする場合は , CSn → RD/WRn セットアップディレイ , RD/WRn → CSn ホールド
ディレイともに挿入されません。
• アドレス確定からのセットアップサイクルおよびアドレス確定のホールドサイク
ルが必要な場合は , アドレス→ CSn 遅延設定 (AWR レジスタの W02 ビット ) を "1"
に設定してください。
210
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.5
MB91402/403 シリーズ
DMA フライバイ転送 (I/O →メモリ )
(TYP3 ∼ TYP0=0000B, AWR=0008H, IOWR=51H)
4.5.10
( メモリ側のウェイト設定なしの場合)
DMA フライバイ転送 (I/O →メモリ ) の動作タイミングを示します。
■ 通常バスインタフェース (DMA フライバイ転送 (I/O →メモリ ))
図 4.5-10 通常バスインタフェース (DMA フライバイ転送 (I/O →メモリ ))
I/Oウェイト I/Oホールド
サイクル *1 ウェイト*2
基本サイクル
I/Oアイドル
サイクル
基本サイクル
I/Oウェイト I/Oホールド
サイクル*1
ウェイト *2
MCLKO
MCLKI *
A31~A0
AS
CSn
WRn
D31~D0
DC3~DC0=H *
IORD
DACK[n] *
* : 内部信号です
• IOWR0 ∼ IOWR2 レジスタの HLD ビットを "1" に設定することにより , I/O リード
サイクルを 1 サイクル延長します。
• IOWR0 ∼ IOWR2 レジスタの IW3 ∼ IW0 ビットの設定により , 0 ∼ 15 サイクルま
でのウェイトサイクルを挿入可能です。
• メモリ側にもウェイトの設定がある場合 (W15 ∼ W12 が "0" でないとき ) は , I/O
ウェイト (IW3 ∼ IW0 ビット ) と比較して大きい方の値をウェイトサイクルとして
使用します。
• データ出力 (DO31 ∼ DO0) は不定です。また , データ入力 (D31 ∼ D16) はサンプリ
ングしません。
<注意事項>
DMA の fly-by 転送は MPU IF と Ethernet MAC IF のみをサポートします。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
211
第 4 章 外部バスインタフェース
4.6
MB91402/403 シリーズ
バーストアクセスの動作
4.6
外部バスインタフェースにおいては , 1 回のアクセスシーケンスで複数のデータを連
続して転送する動作をバーストアクセスとよびます。バーストアクセス以外の通常
のアクセスサイクルをシングルアクセスとよびます。1 回のアクセスシーケンスと
は , AS および CSn のアサートから始まり , CSn がネゲートされるまでを示します。
複数のデータとは , その領域に設定されたバス幅単位で 2 単位以上のデータを示し
ます。
バーストアクセスの動作について説明します。
■ バーストアクセス (first access wait cycle:1, page wait cycle:1)
(ACR → TYP3 ∼ TYP0=0000B, AWR=3208H)
図 4.6-1 通常バスインタフェース ( バーストアクセス (first access wait cycle:1, page wait cycle:1))
第一サイクル
ウェイト
インページアクセス
ウェイト
インページアクセス
ウェイト
インページアクセス
ウェイト
MCLKO
MCLKI *
A31~A0
AS (LBA)
CSn
RD
WRn
BAA
D31~D0
* : 内部信号です
• 外部バスインタフェースにおいては , 1 回のアクセスシーケンスで複数のデータを
連続して転送する動作をバーストアクセスとよびます。バーストアクセス以外の通
常のアクセスサイクルをシングルアクセスとよびます。ここでいう 1 回のアクセス
シーケンスとは , AS および CSn のアサートから始まり , CSn がネゲートされるまで
を示します。複数のデータとは , その領域に設定されたバス幅単位で 2 単位以上の
データを示します。
• バーストサイクルは, ページモードROMなどの非同期メモリやバーストフラッシュ
メモリなど , まとまったデータを読む際のアクセスサイクルの効率化のほか , 通常
の非同期メモリからの読出しにも使用できます。
212
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 4 章 外部バスインタフェース
4.6
• バーストサイクル時のアクセスシーケンスは , 以下の 2 種類のサイクルに分かれま
す。
- ファーストアクセスサイクル
バーストアクセスの開始サイクルで , 通常のシングルアクセスサイクルと同じ動
作を行います。
- ページアクセスサイクル
ファーストアクセスサイクルに引き続き , CSn や RD( リードストローブ) をアサー
トしたまま行うサイクルです。シングルサイクル時とは異なるウェイトサイクル
を設定することができます。バースト長設定から決定されるアドレスバウンダリ
内にある間 , ページアクセスサイクルは繰り返して行われます。アドレスバウン
ダリ内のアクセスが終了するとバーストアクセスは終了となり , CSn がネゲート
されます。
• AWR レジスタの W15 ∼ W12 ビットの設定により , 0 ∼ 15 サイクルの第一ウェイト
サイクルを挿入可能です。このとき , ファーストアクセスサイクルは最小でウェイ
トサイクル+ 2 サイクルとなります ( 図 4.6-1 では 3 サイクル )。
• AWR レジスタの W11 ∼ W08 ビットの設定により , 0 ∼ 15 サイクルのページウェイ
トサイクルを挿入可能です。このとき , ページアクセスサイクルはページウェイト
サイクル+ 1 サイクルとなります ( 図 4.6-1 では 2 サイクル )。
• ACR レジスタの BST ビットの設定により , バースト長を 1, 2, 4, 8 に設定可能です。
バースト長を "1" に設定するとシングルアクセスとなり , 第一サイクルのみが繰り
返されます。ただし , データバス幅 32 ビット (ACR レジスタ BST ビットを "10B")
に設定した場合は , バースト長を 4 以下に設定してください ( バースト長 8 に設定
した場合は誤動作します )。
• バーストアクセスを有効にした場合 , プリフェッチアクセスまたは設定したデータ
バス幅よりも大きなサイズで転送を行うときにバーストアクセスを行います。例え
ば , データバス幅を 8 ビット , バースト長を 4 に設定した領域にワードアクセスを
行った場合にはバイトアクセスを 4 回ではなく , 4 バースト 1 回のアクセスを行い
ます。
• バースト設定を行った領域では , RDY 入力は無視されますので ACR → TYP3 ∼
TYP0=0xx1B に設定しないでください。
• バーストアクセス中に設定したウェイト後に A31 ∼ A0 の更新を行います。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
213
第 4 章 外部バスインタフェース
4.7
4.7
MB91402/403 シリーズ
プリフェッチ動作
プリフェッチ動作について説明します。
■ プリフェッチ動作
外部バスインタフェースコントローラは 8 ビット× 16 本で構成されるプリフェッチ
バッファを内蔵しています。
TCR レジスタの PSUS ビットが "0" の場合には , ACR レジスタの PFEN ビットをセッ
ト ("1") してある領域に対するリードアクセスが発生すると , それ以降続くアドレスに
対してプリフェッチを行い , プリフェッチバッファ内に蓄積します。
蓄積されたアドレスに対して内部バスからのアクセスがあると , 外部アクセスを行わ
ずにプリフェッチバッファに先読みされたデータを返します。これにより, 外部バス領
域への連続したアクセスでの待ち時間を少なくすることができます。
● プリフェッチによる外部アクセスを開始する基本条件
プリフェッチによる外部バスアクセスは , 以下の条件が揃っている場合に発生します。
• TCR レジスタの PSUS ビットが "0" であること。
• スリープまたはストップモードでないこと。
• プリフェッチ許可されたチップセレクト領域への外部バスリードアクセスが行わ
れたこと。ただし , DMA アクセスおよびリードモディファイライト (RMW) 系命令
によるリードアクセスを除きます。
• プリフェッチアクセス以外の外部バスアクセス要求 ( プリフェッチを許可していな
い領域への外部バス領域アクセスや , 外部バス領域との間の DMA 転送など ) が発生
していないこと。
• 次の 1 回のプリフェッチアクセスで取り込む部分のプリフェッチバッファがすべて
空であること。
これらの条件が成立する間 , プリフェッチアクセスを続けます。
なお , プリフェッチアクセス後に , プリフェッチを許可していない領域への外部バス領
域アクセスが発生した後でも , プリフェッチバッファクリア条件が発生しない限り , プ
リフェッチ許可領域へのプリフェッチアクセスは引き続き行われます。
複数のプリフェッチ許可領域と複数のプリフェッチ禁止領域とを混在させてアクセス
を行っている場合 , プリフェッチバッファは常に最後にアクセスされたプリフェッチ
許可領域に対するプリフェッチを行い , そのデータを保持しています。この場合 , プリ
フェッチ禁止領域へのアクセスはプリフェッチバッファの状態には一切影響を及ぼさ
ないため , プリフェッチ禁止のデータアクセスとプリフェッチ許可の命令フェッチと
が混在しても , プリフェッチバッファ内のデータを無駄にすることはありません。
214
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 4 章 外部バスインタフェース
4.7
● 1 回のプリフェッチアクセス動作の単位
1 回のプリフェッチアクセスの単位は , ACR レジスタの DBW ビット ( バス幅 ) と BST
ビット ( バースト長 ) によって決まります。
プリフェッチアクセスは常に DBW ビットで設定されたバス幅いっぱいのサイズでア
クセスし , BST ビットにて設定されたバースト長の回数のアクセスを 1 回のアクセス
で行います。つまり , BST ビットに "00B" 以外を設定した場合 , プリフェッチアクセス
は常にページモード / バーストモードでのアクセスとなります。対応していない ROM/
RAM やアクセスタイム不足に注意してください (AWR レジスタの W15 ∼ W08 ビット
に適切な値を設定してください )。
バーストアクセス時は , バースト長に依存したアドレスバウンダリ内でしか連続アク
セスを行いません。そのため , バッファの空きバイト数が例えば 4 バイトあったとして
も , バウンダリをまたいでいる場合には 4 バイト分を 1 回でアクセスすることはできま
せん ( プリフェッチバッファ先頭が xxxxxx0EH で , バッファに 4 バイト空きがあり , バ
ス幅 16 ビットであっても , 2 バーストを設定した場合は , 次のプリフェッチアクセスで
は xxxxxx0EH と xxxxxx0FH の 2 バイトしか取り込みません )。
以下に , 2 つの例を示します。
• バス幅 16 ビット , バースト長 2 を設定した領域→
1 回のプリフェッチでバッファに読み出されるデータ量は , 4 バイト分となりま
す。
この場合 , プリフェッチバッファに 4 バイト分の空きができるまでプリフェッチ
アクセスは行われません。
• バス幅 8 ビット , バースト長 8 を設定した領域→
1 回のプリフェッチでバッファに読み出されるデータ量は , 8 バイト分となりま
す。
この場合 , プリフェッチバッファに 8 バイト分の空きができるまでプリフェッチ
アクセスは行われません。
● バースト長設定とプリフェッチ効率
「● 1 回のプリフェッチアクセス動作の単位」で説明した 1 回のプリフェッチアクセス
が行われている間に , プリフェッチアクセス以外の外部バスアクセス要求やプリ
フェッチバッファへのミスが発生した場合でも , 実行中のプリフェッチバッファのア
クセスが終了するまでは , それらのアクセス要求は待たされます。
そのため , バースト長をあまり大きく設定すると , プリフェッチ以外のバスアクセスの
効率や反応が低下します。反面 , バースト長を "1" に設定すると , バースト / ページア
クセスメモリを接続している場合でも常にシングルアクセスを行うため , 読込みサイ
クルの無駄が多く発生します。また , 1 回のプリフェッチアクセスで読み出されるデー
タが多い設定の場合には , それだけプリフェッチバッファの空きができないとプリ
フェッチアクセスが開始できないため , プリフェッチバッファへのアクセス頻度が少
ないと外部バスがアイドル状態になりやすくなります。例えば , バス幅が 16 ビット・
バースト長 8 を設定した場合 , 1 回のプリフェッチでバッファに読み出されるデータ量
は , 16 バイト分となるため , プリフェッチバッファがすべて空にならないと , 新たなプ
リフェッチアクセスができなくなります。
これらを考慮し , 使用状況・環境に応じて最適なバースト長設定を調整してください。
一般に , バースト / ページアクセスのできない非同期メモリを接続する場合は , バース
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
215
第 4 章 外部バスインタフェース
4.7
MB91402/403 シリーズ
ト長は 1( シングルアクセス ) を設定するのが最適です。ページ ROM など , 連続アクセ
スサイクルの短いメモリを接続する場合は , バースト長は 1( シングルアクセス ) 以外
を設定するのが最適です。この場合は , バス幅に応じて 1 回で 8 バイト ( バッファの半
分 ) を読み込む設定をするのが最適ですが , 外部アクセスの頻度や外部アクセスクロッ
クの分周比設定などによっても条件は変わってきます。
● プリフェッチバッファからの読出し
プリフェッチバッファ内にストアされたデータは , 内部バスからのアクセスでアドレ
スが一致すると読み出され , 外部へのアクセスを行いません。バッファの読出しは順方
向であればアドレスが連続していなくてもヒット可能 ( 最大 16 バイト ) ですので , 短
い前方への分岐などでも極力外部バスへの 2 度読みが発生しないようになっています。
内部バスからのアクセスで , 現在プリフェッチアクセス中のアドレスが一致した場合 ,
プリフェッチアクセスが完了してデータが取り込まれるまでの間は , 内部に対して
ウェイトを返します。この場合 , バッファミス扱いにはなりません。
DMA 転送での読出しにて , プリフェッチバッファ内のアドレスが一致した場合は , プ
リフェッチバッファ内のデータは使用されず , 外部バスから新たに読出しを行います。
この場合 , バッファミス扱いになりますが , 引き続きプリフェッチを継続せずに , プリ
フェッチ許可領域への新たな外部アクセスが発生するまではプリフェッチアクセスを
行いません。
● プリフェッチバッファのクリア , 更新
プリフェッチバッファは , 以下の条件のいずれかが成立した場合にすべてクリアされ
ます。
• TCR レジスタの PCLR ビットに "1" が書き込まれたとき
• バッファリードミス ( 後述 ) が発生したとき
• バッファライトヒット ( 後述 ) が発生したとき
プリフェッチバッファは , 以下の条件が成立した場合に一部のみクリアされます。
• バッファリードヒットが発生したとき。この場合 , ヒットしたアドレス以前のバッ
ファのみがクリアされます。
バッファリードミスとは , 以下のものを示します。
• プリフェッチ許可領域へのリードアクセスで , バッファ内のアドレスに一致するも
のがない場合。この場合 , 外部バスに対して新たにアクセスを行います。この際の
リードデータは , バッファ内にはストアされませんが , 続くアドレスからプリ
フェッチアクセスを開始し , バッファにストアしていきます。
• プリフェッチ許可領域へのリードアクセスで , リードモディファイライト (RMW) 系
命令による読出しである場合。この場合 , 外部バスに対して新たにアクセスを行い
ます。この際のリードデータは , バッファ内にはストアされませんし , 続けてプリ
フェッチアクセスを行いません(次にそのアドレスに対して書込みが行われるため)。
• プリフェッチ許可領域へのリードアクセスで , DMA 転送による読出しである場合。
この場合 , 外部バスに対して新たにアクセスを行います。この際のリードデータは ,
バッファ内にはストアされませんし , 続けてプリフェッチアクセスを行いません。
216
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 4 章 外部バスインタフェース
4.7
バッファライトヒットとは , 以下のものを示します。
• プリフェッチ許可領域へのライトアクセスで , バッファ内のアドレスに 1 バイトで
も一致するものがあった場合。この場合 , 外部バスに対して新たにアクセスを行い
ますが , プリフェッチアクセスは , 新たなリードアクセスが発生するまでは行われ
ません。
● プリフェッチ許可領域に対する制限事項
リトルエンディアン領域に対してプリフェッチを許可している場合は , その領域に対
するアクセスは必ずワードアクセスにて行ってください。プリフェッチバッファに読
み出されたデータをワード長以外でアクセスすると , 正しくエンディアン変換が行わ
れず , 誤ったデータを読み出してしまいます。これは , エンディアン変換機構のハード
ウェア的な制限によるものです。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
217
第 4 章 外部バスインタフェース
4.8
MB91402/403 シリーズ
SDRAM/FCRAM インタフェースの動作
4.8
SDRAM/FCRAM インタフェースの動作について説明します。
■ SDRAM/FCRAM インタフェース
CS6, CS7 の領域は , 領域構成レジスタ (ACR) の TYP3 ∼ TYP0 ビットを "100XB" に設
定することにより SDRAM/FCRAM 空間として使用できます。
SDRAM/FCRAM インタフェースにおける以下の動作について , タイミングチャートを
示して説明します。
• バースト読出し / 書込み ( ページヒット , CAS レイテンシを 2 に設定した場合 )
• シングル読出し / 書込み ( ページヒット , CAS レイテンシを 3, オートプリチャージ
なしに設定した場合 )
• シングル読出し / 書込み ( ページミス , CAS レイテンシを 3, オートプリチャージあ
りに設定した場合 )
• オートリフレッシュ
■ バースト読出し / 書込み ( ページヒット , CAS レイテンシ= 2)
図 4.8-1 バースト読出し / 書込み ( ページヒット , CAS レイテンシを 2)
MCLKO
A13~A0
#1
DO31~DO0 (書込み)
#1
#1
#2
#3
#4
#1
DI31~DI0 (読出し)
SRAS, SCAS,
SWE
#2
#3
#4
READ
WRIT
ライトリカバリ
Cas レイテンシ
ライトサイクル
リードサイクル
• A13 ∼ A0 は , SDRAM 容量により , すべての端子を使用しない場合があります。接
続例を参考にしてください。
• MCLKO は , SDRAM に入力するクロックです。アドレス , データ , コマンドなどの
信号は , MCLKO の立上りで SDRAM に取り込まれます。
• AWR レジスタの W05, W04 ビットで SDRAM/FCRAM の規格に合わせてライトリカ
バリサイクルを設定してください。
• AWR レジスタの W10 ∼ W08 ビットで SDRAM/FCRAM の規格に合わせて CAS レ
イテンシを設定してください。
• バースト長の設定は ACR レジスタの BST ビットにて設定してください。
• DO31 ∼ DO0 は書込み時の D31 ∼ D0 を表します。DI31 ∼ DI0 は読込み時の D31 ∼
D0 を表します。
218
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 4 章 外部バスインタフェース
4.8
MB91402/403 シリーズ
■ シングル読出し/ 書込み( ページヒット, CAS レイテンシ=3, オートプリチャージなし)
図 4.8-2 シングル読出し / 書込み ( ページヒット , CAS レイテンシを 3, オートプリチャージなし )
MCLKO
A13~A0
#1
#1
DO31~DO0 (書込み)
#1
DI31~DI0 (読出し)
SRAS, SCAS,
SWE
#1
読出し
書込み
リード→ライト
Cas レイテンシ
アイドル
サイクル
リードサイクル
ライトサイクル
AWR レジスタの W07, W06 ビットで SDRAM/FCRAM の規格に合わせてリード→ライ
トアイドルサイクルを設定してください。
■ シングル読出し ( ページミス , CAS レイテンシ= 3, オートプリチャージなし )
図 4.8-3 シングル読出し ( ページミス , CAS レイテンシ= 3, オートプリチャージなし )
MCLKO
A13~A0
BA
Row
#1
D31~D0
SRAS, SCAS,
SWE
#1
PRE
読出し
ACTV
RAS
プリチャージサイクル
(tRP)
RAS→CASディレイ
(tRCD)
Casレイテンシ
• ページミスが発生した場合は , PRE チャージコマンド , ACTV コマンド発行後に読
出しを行います。
• SDRAM/FCRAM の規格に合わせて , AWR レジスタの W01, W00 ビットに RAS プリ
チャージサイクル (tRP) を設定してください。
• SDRAM/FCRAM の規格に合わせて , AWR レジスタの W14 ∼ W12 ビットに RAS to
CAS ディレイ (tRCD) を設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
219
第 4 章 外部バスインタフェース
4.8
MB91402/403 シリーズ
■ シングル読出し/書込み(CASレイテンシ=1, TYP=1001B, オートプリチャージあり)
図 4.8-4 シングル読出し / 書込み (CAS レイテンシ= 1, TYP = 1001B, オートプリチャージあり )
MCLKO
A13~A0
Row
DO31~DO0 (書込み)
Col
Row
Col
Row
Col
#3
#1
DI31~DI0 (読出し)
#2
SRAS, SCAS,
SWE
ACTV
WRITA
ACTV
CL+BL-1
READA
ACTV
CL+BL-1
WRITA
リードライト
アイドルサイクル
• TYP = 1001B に設定した場合 , オートプリチャージ付きのリード / ライトコマンド
を発行します。ただし , READA/WRITA 発行から ACTV 発行までのサイクルは CL
+ BL − 1 に固定されますので , FCRAM 接続の場合のみ TYP = 1001B 設定が可能
です。
• PRE コマンドを発行するサイクルがなくなるため , ページミスを多発するような場
合に有効です。
■ オートリフレッシュ
図 4.8-5 オートリフレッシュ
MCLKO
A31~A0
DC3~DC0 *
"H"
SRAS, SCAS,
SWE
REF
ACTV
tRC
リフレッシュサイクル
* : 内部信号です
• RCR レジスタの RFINT5 ∼ RFINT0 × 32 サイクルごとにリフレッシュコマンドを
発行し , リフレッシュ終了後にアクセスを再開します。
• SDRAM/FCRAM の規格に合わせて , RCR レジスタの TRC ビットを設定してくださ
い。
220
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
4.8.1
第 4 章 外部バスインタフェース
4.8
セルフリフレッシュ
セルフリフレッシュについて説明します。
■ セルフリフレッシュ
リフレッシュコントロールレジスタ (RCR) の SELF ビットへの "1" 書込みにより ,
SDRAM/FCRAM インタフェースはセルフリフレッシュ以降シーケンスを開始します。
SDRAM/FCRAM インタフェースは RFC2 ∼ RFC0 で設定した回数オートリフレッシュ
を実行した後 , SDRAM/FCRAM へ SELF コマンドを発行してセルフリフレッシュモー
ドへ移行します。
セルフリフレッシュモードの解除は , SELF ビットへの "0" 書込みおよび SDRAM/
FCRAM へのリード / ライトアクセスで行います。
SDRAM/FCRAM インタフェースは , セルフリフレッシュモード中に SELF ビットへの
"0" 書込みもしくは SDRAM/FCRAM へのアクセスを検出した場合に SELFX コマンド
を発行し , RFC2 ∼ RFC0 で設定した回数のオートリフレッシュを実行します。した
がって , セルフリフレッシュモードを設定し , チップをスリープモードに入れた後に ,
DMA 転送で SDRAM/FCRAM へのアクセスがあった場合にもセルフリフレッシュモー
ドは解除されます。
● セルフリフレッシュモード以降の手順
① SELF ビットへ "1" をセット
② RFC2 ∼ RFC0 で設定した回数の REF コマンド発行
③ SELF コマンドを発行
● セルフリフレッシュモード解除の手順
① SELF ビットへ "0" 書込みもしくは SDRAM/FCRAM へのアクセス
② SELFX コマンドの発行
③ RFC2 ∼ RFC0 で設定した回数の REF コマンド発行
④通常アクセス状態に移行
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
221
第 4 章 外部バスインタフェース
4.8
4.8.2
MB91402/403 シリーズ
パワーオンシーケンス
パワーオンシーケンスについて説明します。
■ パワーオンシーケンス
リフレッシュコントロールレジスタ (RCR) の PON ビットを "1" にセットすることによ
りパワーオンシーケンスを開始しします。
以下の手順に従い PON ビットを "1" に設定し , パワーオンシーケンスへ移行させてく
ださい。
① SDRAM/FCRAM マニュアルに規定してあるクロック安定待ち時間を確保してく
ださい。
② ACR, AWR, MCRA, MCRB を設定してください。
③ CSER を設定し , SDRAM/FCRAM を接続した領域を有効にしてください。
④ RCR の値を設定すると同時に PON ビットを "1" に設定してください。
以上の手順を実行すると SDRAM/FCRAM インタフェースは以下のパワーオンシーケ
ンスを実行します。
⑤ REF コマンドを 8 回実行します。
⑥ ACR の BST ビット , AWR の CL(CAS レイテンシ ), MCRA の WBST ビットに従
いモードレジスタセットしてください。
⑦ 通常アクセス状態に移行します。
222
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
4.8.3
第 4 章 外部バスインタフェース
4.8
複数領域への SDRAM/FCRAM 接続
複数領域への SDRAM/FCRAM 接続について説明します。
■ 複数領域への SDRAM/FCRAM 接続
SDRAM/FCRAM 設定を CS6, CS7 領域に設定可能ですが , 同時に 2 つの領域に SDRAM/
FCRAM を接続する場合は同じタイプのものを接続してください。具体的には ,
以下のレジスタ設定が同じになるものを接続してください。
•
ACR レジスタ :DBW1, DBW0, BST1, BST0, TYP3 ∼ TYP0 の設定を同じにしてく
ださい。
•
AWR レジスタ : すべてのビットが同じになるようにしてください。
•
MCR レジスタ : レジスタが共通のため , すべての設定が同じになります。
•
RCR レジスタ : レジスタが共通のため , すべての設定が同じになります。
なお, 2つの領域を同時に有効にした場合, パワーオンシーケンス/オートリフレッシュ/
セルフリフレッシュを同時に行います。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
223
第 4 章 外部バスインタフェース
4.8
4.8.4
MB91402/403 シリーズ
アドレスマルチプレックス・フォーマット
アドレスマルチプレックス・フォーマットについて説明します。
■ アドレスマルチプレックス・フォーマット
SDRAM/FCRAM へのアクセスアドレスは , ASZ3 ∼ ASZ0 ビット , DBW1, DBW0 ビッ
ト , PSZ2 ∼ PSZ0 ビット , バンクビットの設定によりローアドレス , バンクアドレス ,
カラムアドレスへの対応が変わります。アドレスの対応は , 下位ビットから カラムア
ドレス , バンクアドレス , ローアドレスの順に並べます。各ビットを , 以下のように設
定してください。
• ASZ3 ∼ ASZ0 ビット:対応する領域に接続する SDRAM/FCRAM の総容量を設定し
ます。2 個並列に使用する場合は合計容量を設定してくださ
い。ローアドレス本数に影響します。
• DBW1, DBW0 ビット:データバス幅を設定します (8 ビット品 2 個を並列に接続する
場合は 16 ビットに設定してください )。
データバス幅指定に従い , カラムアドレスのシフトを行いま
す。
8 ビット:そのまま , 16 ビット:1 ビット シフト , 32 ビット:
2 ビットシフト。
• PSZ2 ∼ PSZ0 ビット: SDRAM/FCRAM で使用するカラムアドレスの本数を設定し
てください。
• BANK ビット
: SDRAM/FCRAM のバンクアドレスの本数を設定してくださ
い。
以下にアクセスアドレスとローアドレス , バンクアドレス , カラムアドレスの対応の例
を示します。
図 4.8-6 アクセスアドレスとローアドレス , バンクアドレス , カラムアドレスの対応
(1) 4Mバイト(ASZ=0110B), 8ビットバス幅(DBW=00B), 256カラム(PSZ=000B), 2バンク(BANK=0B)
A22A21
A31
A9 A8 A7
Row
A0
BA
Column
(2) 16Mバイト(ASZ=1000B), 16ビットバス幅(DBW=01B), 512カラム(PSZ=001B), 4バンク(BANK=1B)
A24A23
A31
A12A11A10 A9
Row
BA
A1 A0
Column
(3) 64Mバイト(ASZ=1010B), 32ビットバス幅(DBW=10B), 512カラム(PSZ=001B), 4バンク(BANK=1B)
A31
A26A25
A13A12A11A10
Row
224
BA
FUJITSU MICROELECTRONICS LIMITED
A2 A1 A0
Column
CM71-10131-1
第 4 章 外部バスインタフェース
4.8
MB91402/403 シリーズ
4.8.5
メモリ接続例
メモリ接続例について説明します。
■ メモリ接続例
SDRAM/FCRAM インタフェースから SDRAM/FCRAM への接続は , 基本的に以下のよ
うなります。
表 4.8-1 メモリ接続例
SDRAM/FCRAM
インタフェース端子
SDRAM/FCRAM
端子
備考
MCLKO
CLK
MCLKE
CKE
SRAS
RAS
SCAS
CAS
WE
WE
CS7
CS
A9 ∼ A0
A9 ∼ A0
A10/AP
A10/AP
ローアドレス出力時 A10, その他 AP
A13 ∼ A11
A13 ∼ A11
SDRAM/FCRAM で使用するアドレスまで接続。
A14
BA0
2 バンク品の場合は BA
A15
BA1
2 バンク品の場合は使用しません。
D31 ∼ D16
DQ
エンディアン , データバス幅により接続が変わります。
詳しい接続は , 「4.4 エンディアンとバスアクセス」を
参照してください。
DQMUU(WR0),
DQMUL(WR1)
DQM
エンディアン , データバス幅により接続が変わります。
詳しい接続は , 「4.4 エンディアンとバスアクセス」を
参照してください。
CM71-10131-1
CS6/CS7 領域のみ SDRAM/FCRAM 設定が可能です。
FUJITSU MICROELECTRONICS LIMITED
225
第 4 章 外部バスインタフェース
4.8
MB91402/403 シリーズ
● 8 ビットの SDRAM/FCRAM を使用する場合 ( ビッグエンディアン )
合計データ幅 16 ビット . . . SDRAM 2 個を使用します。
合計データ幅 8 ビット . . . . SDRAM 1 個を使用します。
容量 64M ビットの SDRAM を使用する場合 ( バンクアドレス 2 本 , ローアドレス 12 本 )
を示します。
図 4.8-7 8 ビットの SDRAM/FCRAM を使用する場合 ( ビッグエンディアン )
MB91402/403シリーズ
CS7
A13~A0
DQMUU
SRAS SCAS SWE
WR0 DQMUL
WR1
AS BAA WE MCLKE
MCLK
D31~D16
[D31~D24]
____
CS
IA13~IA0
______
RAS
______
CAS
_____
WE CKE
DQM
CLK
DQ7~DQ0
SDRAM(No.1)
[D23~D16]
____
CS
IA13~IA0
______
RAS
______
CAS
_____
WE
CKE
DQM
CLK
DQ7~DQ0
SDRAM(No.2)
● 16 ビットの SDRAM/FCRAM を使用する場合
合計データ幅 16 ビット . . . SDRAM 1 個を使用します。
容量 64M ビットの SDRAM を使用する場合 ( バンクアドレス 2 本 , ローアドレス 12 本 )
を示します。
図 4.8-8 16 ビットの SDRAM/FCRAM を使用する場合
MB91402/403シリーズ
CS7
A13~A0
DQMUU
SRAS SCAS SWE
WR0 DQMUL
AS BAA WE MCLKE
WR1
MCLK
D31~D16
[D31~D16]
____
CS
IA13~IA0
______ ______
RAS CAS
_____
WE CKE DQMU DQML
CLK
DQ15~DQ0
SDRAM(No.1)
データ幅 16 ビットで使用時は SDRAM No.2 は不要であり , DQ15 ∼ DQ0, DQM1, DQM0
を開放としてください。
226
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
4.9
第 4 章 外部バスインタフェース
4.9
レジスタ設定手順
レジスタ設定手順を説明します。
■ レジスタ設定手順
外部バスインタフェースに関する設定は , 以下の手順で行ってください。
(1) レジスタの内容を書き換える場合は , 必ず CSER レジスタの対応する領域を使用し
ない設定 ("0") にして行ってください。"1" のまま設定を変更した場合 , その前後
のアクセスは保証されません。
(2) レジスタの変更は以下の手順で行ってください。
① 該当領域に対応する CSER のビットを "0" に設定してください。
② ASR と ACR をワードアクセスで同時に設定してください。
ASR, ACR をハーフワードでアクセスする場合には , ASR 設定後に ACR を設定
してください。
③ AWR を設定してください。
④ 該当領域に対応する CHER のビットを設定してください。
⑤ 該当領域に対する CSER のビットを設定してください。
(3) CS0領域はリセット解除後から有効になっており, プログラム領域として使用して
いる場合は CSER を "1" のままで書き換える必要がありますが , この場合は内部ク
ロックが低い初期状態で上記②∼④の設定を行ってください。その後 , クロックを
高速クロックに切り換えてください。
(4) プリフェッチ許可を設定した領域のレジスタ値の変更は以下の手順で行ってくだ
さい。
① 該当領域に対応する CSER のビットを "0" に設定してください。
② TCRレジスタPSUSビットおよびPCLRビットをともに"1"に設定してください。
③ ASR と ACR をワードアクセスにて同時に設定してください。
ASR, ACR をハーフワードでアクセスする場合には , ASR 設定後に ACR を設定
してください。
④ AWR を設定してください。
⑤ 該当領域に対応する CHER のビットを設定してください。
⑥ TCR レジスタの PSUS ビットおよび PCLR ビットに "0" を設定してください。
⑦ 該当領域に対応する CSER のビットを "1" に設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
227
第 4 章 外部バスインタフェース
4.9
228
MB91402/403 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第5章
割込みコントローラ
割込みコントローラの概要 , レジスタの構成 / 機
能 , 割込みコントローラの動作 , およびホールド
リクエスト取下げ要求機能の使用例について説明
します。
5.1 割込みコントローラの概要
5.2 割込みコントローラのレジスタ
5.3 割込みコントローラの動作
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
229
第 5 章 割込みコントローラ
5.1
5.1
MB91402/403 シリーズ
割込みコントローラの概要
割込みコントローラは , 割込み受付け / 調停処理を行います。
■ ハードウェア構成
本モジュールは , 以下のレジスタおよび回路より構成されます。
• ICR レジスタ
• 割込み優先度判定回路
• 割込みレベル , 割込み番号 ( ベクタ ) 発生部
• ホールドリクエスト取下げ要求発生部
■ 割込みコントローラの主要機能
本モジュールには , 主に以下のような機能があります。
• 割込み要求の検出
• 優先度判定 ( レベルおよび番号による )
• 判定結果の要因の割込みレベル伝達 (CPU へ )
• 判定結果の要因の割込み番号伝達 (CPU へ )
• 割込みレベルが "11111B" 以外の割込み発生によるストップモードからの復帰指示
(CPU へ )
• DMAC へのホールドリクエスト取下げ要求発生
230
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 5 章 割込みコントローラ
5.1
MB91402/403 シリーズ
■ 割込みコントローラのレジスタ一覧
図 5.1-1 割込みコントローラのレジスタ一覧
アドレス
00000440H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR00
00000441H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR01
00000442H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR02
00000443H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR03
00000444H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR04
ICR3
ICR2
ICR1
ICR0
ICR05
00000445H
−
−
−
ICR4
00000446H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR06
00000447H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR07
00000448H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR08
00000449H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR09
0000044AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR10
0000044BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR11
0000044CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR12
ICR3
ICR2
ICR1
ICR0
ICR13
0000044DH
−
−
−
ICR4
0000044EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR14
0000044FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR15
00000450H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR16
00000451H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR17
00000452H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR18
00000453H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR19
00000454H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR20
ICR3
ICR2
ICR1
ICR0
ICR21
00000455H
−
−
−
ICR4
00000456H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR22
00000457H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR23
00000458H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR24
00000459H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR25
0000045AH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR26
0000045BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR27
0000045CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR28
ICR3
ICR2
ICR1
ICR0
ICR29
0000045DH
−
−
−
ICR4
0000045EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR30
0000045FH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR31
00000460H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR32
00000461H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR33
00000462H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR34
00000463H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR35
00000464H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR36
−
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR37
00000465H
−
−
( 続く )
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
231
第 5 章 割込みコントローラ
5.1
MB91402/403 シリーズ
( 続き )
アドレス
00000466H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR38
00000467H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR39
00000468H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR40
00000469H
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR41
ICR3
ICR2
ICR1
ICR0
ICR42
0000046AH
−
−
−
ICR4
0000046BH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR43
0000046CH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR44
0000046DH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR45
0000046EH
−
−
−
ICR4
ICR3
ICR2
ICR1
ICR0
ICR46
0000046FH
−
−
−
ICR4
R
ICR3
R/W
ICR2
R/W
ICR1
R/W
ICR0
R/W
ICR47
00000045H
−
−
−
LVL4
R
LVL3
R/W
LVL2
R/W
LVL1
R/W
LVL0
R/W
HRCL
■ 割込みコントローラのブロックダイヤグラム
図 5.1-2 割込みコントローラのブロックダイヤグラム
WAKEUP(LEVEL≠11111Bのとき "1")
UNMI
優先度判定
*
NMI
処理
LEVEL4~LEVEL0
5
/
ホールド
リクエスト
取下げ要求
レベル判定
RI00
ICR00
・
・
・
・
レベル,
ベクタ
発生
6
ベクタ
/
判定
・
・
RI47
ICR47
MHALTI
VCT5~VCT0
(DLYIRQ)
R-bus
*:MB91402/403シリーズはNMI端子を持ちません。
232
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 5 章 割込みコントローラ
5.2
MB91402/403 シリーズ
割込みコントローラのレジスタ
5.2
割込みコントローラのレジスタ構成および機能について説明します。
■ 割込み制御レジスタ (ICR)
図 5.2-1 割込み制御レジスタ (ICR) のビット構成
ch.0
0000 0440H
∼
ch.47
bit7
−
bit6
−
bit5
bit4
bit3
bit2
bit1
bit0
初期値
−
ICR4
ICR3
ICR2
ICR1
ICR0
---11111B
R
R/W
R/W
R/W
R/W
0000 046FH
R/W : リード / ライト可能
R
:リードオンリ
−
: 未定義ビット
割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており , 対応する割
込み要求の割込みレベルを設定します。
[bit7 ∼ bit5] 未定義ビット
書き込むときは "000B" を書き込んでください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
233
第 5 章 割込みコントローラ
5.2
MB91402/403 シリーズ
[bit4 ∼ bit0] ICR4 ∼ ICR0
割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。
本レジスタに設定した割込みレベルが CPU の ILM レジスタに設定されたレベルマ
スク値以上の場合は , CPU 側にて割込み要求がマスクされます。
リセットにより , "11111B" に初期化されます。
設定可能な割込みレベル設定ビットと割込みレベルの対応を表 5.2-1 に示します。
表 5.2-1 設定可能な割込みレベル設定ビットと割込みレベルの対応
ICR4
ICR3
ICR2
ICR1
ICR0
0
0
0
0
0
0
0
1
1
1
0
14
0
1
1
1
1
15
1
0
0
0
0
16
1
0
0
0
1
17
1
0
0
1
0
18
1
0
0
1
1
19
1
0
1
0
0
20
1
0
1
0
1
21
1
0
1
1
0
22
1
0
1
1
1
23
1
1
0
0
0
24
1
1
0
0
1
25
1
1
0
1
0
26
1
1
0
1
1
27
1
1
1
0
0
28
1
1
1
0
1
29
1
1
1
1
0
30
(弱)
1
1
1
1
1
31
割込み禁止
割込みレベル
システム予約
NMI
設定可能な最強レベル
(強)
ICR4 は "1" 固定で , "0" を書き込むことはできません。
234
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 5 章 割込みコントローラ
5.2
MB91402/403 シリーズ
■ Hold Request Cancel Level register (HRCL)
図 5.2-2 Hold Request Cancel Level register(HRCL) のビット構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
LVL4
LVL3
LVL2
LVL1
LVL0
HRCL
R
R/W
R/W
R/W
R/W
---11111B( 初期値 )
アドレス:00000045H
R/W : リード / ライト可能
R
:リードオンリ
−
: 未定義ビット
ホールドリクエスト取下げ要求発生のためのレベル設定レジスタです。
[bit7 ∼ bit5] 未定義ビット
書き込むときは "000B" を書き込んでください。
[bit4 ∼ bit0] LVL4 ∼ LVL0
バスマスタへのホールドリクエスト取下げ要求を出すための割込みレベルを設定
します。
本レジスタに設定した割込みレベルより強いレベルを持つ割込み要求が発生した
場合は , バスマスタに対してホールドリクエスト取下げ要求を出します。
LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
235
第 5 章 割込みコントローラ
5.3
5.3
MB91402/403 シリーズ
割込みコントローラの動作
割込みコントローラの以下の動作について説明します。
• 優先順位判定
• ホールドリクエストの取下げ要求
• スタンバイモード ( ストップ / スリープ ) からの復帰
■ 優先順位判定
本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選
択し , その要因の割込みレベルと割込み番号を CPU へ出力します。
割込み要因の優先順位判定基準は , 次のとおりです。
以下の条件を満たす要因
• 割込みレベルの数値が 31 以外 (31 は割込み禁止 )
• 割込みレベルの数値が最も小さい要因
• その中で , 最も小さい割込み番号の要因
上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし
て 31(11111B) を出力します。そのときの割込み番号は不定です。
割込み要因と割込み番号 , 割込みレベルの関係を表 5.3-1 に示します。
236
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 5 章 割込みコントローラ
5.3
MB91402/403 シリーズ
表 5.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (1 / 2)
割込み番号
割込み要因
リセット
モードベクタ
システム予約
システム予約
システム予約
システム予約
システム予約
コプロセッサ不在トラップ
コプロセッサエラートラップ
INTE 命令
命令ブレーク例外
オペランドブレークトラップ
ステップトレーストラップ
NMI 要求 (tool)
未定義命令例外
NMI 要求
Ethernet MAC IF
認証処理部
予約
MPU IF
I2C IF
GPIO
外部割込み 6
外部割込み 7
リロードタイマ 0
リロードタイマ 1
リロードタイマ 2
UART0( 受信完了 )
UART1( 受信完了 )
UART0( 送信完了 )
UART1( 送信完了 )
DMAC0( 終了 , エラー )
Ethernet MAC IF
DMAC1( 終了 , エラー )
MPU IF
DMAC2( 終了 , エラー )
DMAC3( 終了 , エラー )
DMAC4( 終了 , エラー )
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
CM71-10131-1
TBR デフォルト リソース
のアドレス
番号
10 進
16 進
割込み
レベル
オフセット
0
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
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
FH 固定
ICR00
ICR01
ICR02
ICR03
ICR04
ICR05
ICR06
ICR07
ICR08
ICR09
ICR10
ICR11
ICR12
ICR13
ICR14
3FCH
3F8H
3F4H
3F0H
3ECH
3E8H
3E4H
3E0H
3DCH
3D8H
3D4H
3D0H
3CCH
3C8H
3C4H
3C0H
3BCH
3B8H
3B4H
3B0H
3ACH
3A8H
3A4H
3A0H
39CH
398H
394H
390H
38CH
388H
384H
000FFFFCH
000FFFF8H
000FFFF4H
000FFFF0H
000FFFECH
000FFFE8H
000FFFE4H
000FFFE0H
000FFFDCH
000FFFD8H
000FFFD4H
000FFFD0H
000FFFCCH
000FFFC8H
000FFFC4H
000FFFC0H
000FFFBCH
000FFFB8H
000FFFB4H
000FFFB0H
000FFFACH
000FFFA8H
000FFFA4H
000FFFA0H
000FFF9CH
000FFF98H
000FFF94H
000FFF90H
000FFF8CH
000FFF88H
000FFF84H
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
4
5
8
9
31
1F
ICR15
380H
000FFF80H
−
32
20
ICR16
37CH
000FFF7CH
−
33
34
35
36
37
38
39
40
41
42
21
22
23
24
25
26
27
28
29
2A
ICR17
ICR18
ICR19
ICR20
ICR21
ICR22
ICR23
ICR24
ICR25
ICR26
378H
374H
370H
36CH
368H
364H
360H
35CH
358H
354H
000FFF78H
000FFF74H
000FFF70H
000FFF6CH
000FFF68H
000FFF64H
000FFF60H
000FFF5CH
000FFF58H
000FFF54H
−
−
−
−
−
−
−
−
−
−
FUJITSU MICROELECTRONICS LIMITED
−
−
−
−
6
7
−
0
1
2
3
237
第 5 章 割込みコントローラ
5.3
MB91402/403 シリーズ
表 5.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (2 / 2)
割込み要因
システム予約
システム予約
U-TIMER0
U-TIMER1
タイムベースタイマ
オーバフロー
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
遅延割込み要因ビット
システム予約
(REALOS にて使用 )
システム予約
(REALOS にて使用 )
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
システム予約
INT 命令で使用
238
割込み番号
TBR デフォルト リソース
のアドレス
番号
割込み
レベル
オフセット
ICR27
ICR28
ICR29
ICR30
350H
34CH
348H
344H
000FFF50H
000FFF4CH
000FFF48H
000FFF44H
−
−
−
−
2F
ICR31
340H
000FFF40H
−
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
ICR32
ICR33
ICR34
ICR35
ICR36
ICR37
ICR38
ICR39
ICR40
ICR41
ICR42
ICR43
ICR44
ICR45
ICR46
ICR47
33CH
338H
334H
330H
32CH
328H
324H
320H
31CH
318H
314H
310H
30CH
308H
304H
300H
000FFF3CH
000FFF38H
000FFF34H
000FFF30H
000FFF2CH
000FFF28H
000FFF24H
000FFF20H
000FFF1CH
000FFF18H
000FFF14H
000FFF10H
000FFF0CH
000FFF08H
000FFF04H
000FFF00H
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
64
40
−
2FCH
000FFEFCH
−
65
41
−
2F8H
000FFEF8H
−
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
∼
255
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
∼
FF
−
−
−
−
−
−
−
−
−
−
−
−
−
−
2F4H
2F0H
2ECH
2E8H
2E4H
2E0H
2DCH
2D8H
2D4H
2D0H
2CCH
2C8H
2C4H
2C0H
2BCH
000FFEF4H
000FFEF0H
000FFEECH
000FFEE8H
000FFEE4H
000FFEE0H
000FFEDCH
000FFED8H
000FFED4H
000FFED0H
000FFECCH
000FFEC8H
000FFEC4H
000FFEC0H
000FFEBCH
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
∼
000H
∼
000FFC00H
−
10 進
43
44
45
46
16 進
2B
2C
2D
2E
47
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 5 章 割込みコントローラ
5.3
MB91402/403 シリーズ
■ ホールドリクエスト取下げ要求 (Hold Request Cancel Request)
優先度の高い割込み処理を CPU のホールド中に行いたい場合は , ホールドリクエスト
発生元においてリクエストを取り下げてもらう必要があります。この取下げ要求発生
の基準となる割込みレベルを HRCL レジスタに設定します。
● 発生基準
HRCL レジスタに設定した割込みレベルより強いレベルの割込み要因が発生した場合
には , ホールドリクエスト取下げ要求を発生します。
HRCL レジスタの割込みレベル>優先度判定後の割込みレベル→取下げ要求発生
HRCL レジスタの割込みレベル≦優先度判定後の割込みレベル→取下げ要求なし
取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効
であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割
込み要因をクリアしてください。
● 設定可能なレベル
HRCL レジスタに設定可能な値は , ICR と同様に "10001B" から "11111B" までです。
"11111B" に設定した場合はすべての割込みレベルに対して取下げ要求を発生します。
ホールドリクエスト取下げ要求発生となる割込みレベルの設定を表 5.3-2 に示します。
表 5.3-2 ホールドリクエスト取下げ要求発生となる割込みレベルの設定
HRCL レジスタ
17
18 ∼ 31
取下げ要求発生となる割込みレベル
割込みレベル 16
割込みレベル 16, 17
∼
割込みレベル 16 ∼ 30〔初期値〕
リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割
込みが発生していると DMA 転送が行われませんので , HRCL レジスタの値を必要な値
に設定してください。
■ スタンバイモード ( ストップ / スリープ ) からの復帰
割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し
ます。周辺からの割込み要求 ( 割込みレベルが 11111B 以外 ) が 1 つでも発生すると ,
クロック制御部に対してストップモードからの復帰要求を発生します。
優先度判定部はストップ復帰後にクロックが供給されてから動作を再開しますので ,
優先度判定部の結果が出るまでの間 CPU は命令を実行します。
スリープ状態からの復帰においても , 同様に動作します。また , スリープ中であっても ,
本モジュール内のレジスタはアクセス可能です。
<注意事項>
• NMI 要求においてもストップモードからの復帰を行います。ただし , ストップ時に有効
な入力を検出するように NMI の設定を行ってください。
• ストップおよびスリープからの復帰の要因としたくない割込み要因は , 対応する周辺
の制御レジスタにて割込みレベルを "11111B" にしてください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
239
第 5 章 割込みコントローラ
5.3
MB91402/403 シリーズ
■ ホールドリクエスト取下げ要求機能 (HRCR) の使用例
DMA 転送中に , CPU が優先度の高い処理を行いたいときは , DMA に対してホールド
リクエストを取り下げてもらってホールド状態を解除する必要があります。ここでは ,
割込みを利用して DMA に対してホールドリクエストの取下げ , すなわち CPU の優先
動作を実現します。
● 制御レジスタ
HRCL( ホールドリクエストキャンセルレベル設定レジスタ )
本レジスタに設定した割込みレベルより強いレベルの割込みが発生した場合に ,
DMA に対してホールドリクエスト取下げ要求を発生します。その基準となるレベ
ルを設定します。
ICR
使用する割込み要因に対応する ICR に , HRCL レジスタよりも強いレベルを設定しま
す。
● ハードウェア構成
各信号の流れは , 次のようになっています。
図 5.3-1 ホールドリクエストの各信号の流れ
本モジュール
IRQ
バスアクセス要求
MHALTI
I - UNIT
DHREQ
DMA
B-UNIT
DHREQ : D-busホールドリクエスト
CPU
(ICR)
DHACK : D-busホールドアクノリッジ
IRQ
(HRCL)
DHACK
: 割込み要求
MHALTI : ホールドリクエスト
取下げ要求
● シーケンス
図 5.3-2 割込みレベル HRCL > ICR(LEVEL)
RUN
バスホールド
割込み処理
バスホールド(DMA転送)
割込みルーチンの例
CPU
バスアクセス要求
①割込み要因クリア
DHREQ
~
DHACK
②RETI
IRQ
LEVEL
MHALTI
割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した
レベルより強いと DMA に対して MHALTI をアクティブにします。これによって , DMA
はアクセス要求を下げ , CPU はホールド状態から復帰して割込み処理を行います。
多重割込みの場合を , 以下に示します。
240
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 5 章 割込みコントローラ
5.3
MB91402/403 シリーズ
図 5.3-3 割込みレベル HRCL > ICR( 割込みⅠ ) > ICR( 割込みⅡ )
RUN
バスホールド
割込み I
CPU
割込み処理 II
③
④
割込み処理 I
①
バスホールド(DMA転送)
②
バスアクセス要求
DHREQ
DHACK
IRQ1
IRQ2
LEVEL
MHALTI
割込みルーチンの例
① , ③割込み要因クリア
∼
② , ④ RETI
上記例では , 割込みルーチン I を実行中にそれよりも優先度の高い割込みが発生した場
合を示しています。HRCL レジスタに設定した割込みレベルより高い割込みレベルが
発生している間は , DHREQ は "L" レベルになります。
<注意事項>
HRCL レジスタと ICR に設定する割込みレベルの関係には , 十分注意してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
241
第 5 章 割込みコントローラ
5.3
242
MB91402/403 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第6章
外部割込み制御部
外部割込み制御部の概要 , レジスタの構成 / 機能 ,
および動作について説明します。
6.1 外部割込み制御部の概要
6.2 外部割込み制御部のレジスタ
6.3 外部割込み制御部の動作
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
243
第 6 章 外部割込み制御部
6.1
6.1
MB91402/403 シリーズ
外部割込み制御部の概要
外部割込み制御部は , INT7, INT6 に入力される外部割込み要求の制御を行います。
外部割込み入力は , 検出する要求のレベルとして , "H", "L", " 立上りエッジ ", " 立下
りエッジ " から選択できます。
■ 外部割込み制御部のレジスタ一覧
外部割込み制御部のレジスタ一覧を示します。
図 6.1-1 外部割込み 制御部のレジスタ一覧
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
外部割込み許可レジスタ
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
(ENIR)
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
外部割込み要因レジスタ
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
(EIRR)
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
要求レベル設定レジスタ
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
(ELVR)
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
■ 外部割込み制御部のブロックダイヤグラム
外部割込み制御部のブロックダイヤグラムを図 6.1-2 に示します。
図 6.1-2 外部割込み制御部のブロックダイヤグラム
R-bus
割込み許可レジスタ
8
割込み
要求
9
ゲート
要因 F/F
エッジ検出回路
2
INT7,INT6
244
8
割込み要因レジスタ
8
要求レベル設定レジスタ
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 6 章 外部割込み制御部
6.2
MB91402/403 シリーズ
外部割込み制御部のレジスタ
6.2
外部割込み制御部で使用するレジスタの構成および機能について説明します。
■ 外部割込み許可レジスタ (ENIR : ENable Interrupt request Register)
図 6.2-1 外部割込み許可レジスタ (ENIR : ENable Interrupt request Register) のビット構成
ENIR
bit7
アドレス : 000041H
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W : リード / ライト可能
ENIR は外部割込み要求出力のマスク制御を行います。このレジスタの "1" を書かれた
ビットに対応する割込み要求出力は許可され (INT0 の許可を EN0 が制御 ), 割込みコン
トローラに対して要求が出力されます。"0" が書かれたビットに対応する端子は割込み
要因を保持しますが , 割込みコントローラに対しては要求を発生しません。
NMI に対するマスクビットは , 存在しません。
■ 外部割込み要因レジスタ (EIRR : External Interrupt Request Register)
図 6.2-2 外部割込み要因レジスタ (EIRR : External Interrupt Request Register) のビット構成
EIRR
アドレス : 000040H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
ER7
ER6
ER5
ER4
ER3
ER2
ER1
ER0
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W : リード / ライト可能
EIRR は読出し時には対応する外部割込み要求があることを示し , 書込み時にはこの要
求を示すフリップフロップ内容をクリアするレジスタです。この EIRR レジスタを読
み出したときに "1" であった場合 , そのビットに対応する端子に外部割込み要求がある
ことを示します。また , このレジスタに "0" を書き込むと , 対応するビットの要求フ
リップフロップがクリアされます。"1" の書込みは無効です。
リードモディファイライト (RMW) 系命令の読出し時には "1" が読まれます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
245
第 6 章 外部割込み制御部
6.2
MB91402/403 シリーズ
■ 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register)
図 6.2-3 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) のビット構成
ELVR
アドレス : 000042H
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
初期値
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
00000000B
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
初期値
00000000B
ELVR
アドレス : 000043H
LB3
LA3
LB2
LA2
LB1
LA1
LB0
LA0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W : リード / ライト可能
ELVR は要求検出の選択を行うレジスタです。INT7 ∼ INT0 に 2 ビットずつ割り当て
られていて , 以下のような設定になります。要求入力がレベルの場合 , EIRR の各ビッ
トをクリアしても入力がアクティブレベルならば該当するビットは再びセットされま
す。
表 6.2-1 ELVR 割当て表
LBx
LAx
0
0
"L" レベルで要求あり
0
1
"H" レベルで要求あり
1
0
立上りエッジで要求あり
1
1
立下りエッジで要求あり
動 作
NMI は常にその立下りエッジが検出されます ( ストップ時を除く )。
ストップ時は , "L" レベル検出となります。
246
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 6 章 外部割込み制御部
6.3
MB91402/403 シリーズ
6.3
外部割込み制御部の動作
要求レベル , 許可レジスタの設定の後 , 対応する端子に ELVR レジスタで設定された
要求が入力されると本モジュールは , 割込みコントローラに対して割込み要求信号
を発生します。割込みコントローラ内で同時に発生した割込みの優先順位を識別し
た結果 , 本リソースからの割込みが最も優先順位が高かったときに該当する割込み
が発生します。
■ 外部割込みの動作について
図 6.3-1 外部割込みの動作
外部割込み
割込みコントローラ
CPU
リソース要求
ELVR
ICR y y
EIRR
IL
CMP
ENIR
ICR x x
CMP
ILM
割込み
要因
■ スタンバイからの復帰について
クロック停止モードのスタンバイ状態からの復帰に外部割込みを使う場合は , 外部割
込み要求レベル設定レジスタ (ELVR) の設定にかかわらず , 入力要求は "H" レベル要求
となります。
■ 外部割込みの動作手順について
外部割込み部内に存在するレジスタの設定を行う際 , 次の手順で設定してください。
1.
許可レジスタの対象となるビットを禁止状態にする
2.
要求レベル設定レジスタの対象となるビットを設定する
3.
要因レジスタの対象となるビットをクリアする
4.
許可レジスタの対象となるビットを許可状態にする
( ただし , 3. と 4. は 16 ビットデータによる同時書込み可能 )
本モジュール内のレジスタを設定するときには必ず許可レジスタを禁止状態に設定し
ておかなくてはなりません。また , 許可レジスタを許可状態にする前に必ず要因レジス
タをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態時に
誤って割込み要因が起こってしまうことを避けるためです。
<注意事項>
外部割込みのすべてのチャネルをスタンバイからの復帰に使用可能です。使用しないチャ
ネルは , スタンバイに入る前に必ず , 禁止状態にしてください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
247
第 6 章 外部割込み制御部
6.3
MB91402/403 シリーズ
■ 外部割込み要求レベルについて
① 要求レベルがエッジ要求のときにエッジがあったことを検出するには , パルス幅は
最小 3 マシンサイクル ( 周辺系クロックマシンサイクル ) を必要とします。
② 要求入力レベルがレベル設定のとき , 外部より要求入力が入って , その後 , 取り下げ
られても内部に要因保持回路が存在するので , 割込みコントローラへの要求はアク
ティブのままです。
割込みコントローラへの要求を取り下げるには要因レジスタをクリアする必要が
あります。
図 6.3-2 レベル設定時の要因保持回路のクリア
割込み入力
レベル検出
割込み要因 F/F
許可ゲート
(要因保持回路)
割込み
コントローラ
クリアしない限り要因を保持し続ける
図 6.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求
"H"レベル
割込み入力
割込みコントローラ
への割込み要求
要因F/Fのクリアによって要求取り下げとなる
248
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第7章
REALOS 関連ハード
REALOS 関連ハードは , リアルタイム OS により
使用されます。したがって , REALOS を使用する
場合にはユーザプログラムで使用することはでき
ません。
7.1 遅延割込みモジュール
7.2 遅延割込みモジュールのレジスタ
7.3 遅延割込みモジュールの動作
7.4 ビットサーチモジュール
7.5 ビットサーチモジュールのレジスタ
7.6 ビットサーチモジュール動作
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
249
第 7 章 REALOS 関連ハード
7.1
7.1
MB91402/403 シリーズ
遅延割込みモジュール
遅延割込みモジュールは , タスク切換え用の割込みを発生するためのモジュールで
す。
本モジュールを使用することで , ソフトウェアで CPU に対して割込み要求の発生 /
取消しを行うことができます。
■ 遅延割込みモジュールのレジスタ一覧
図 7.1-1 遅延割込みモジュールのレジスタ一覧
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
−
−
−
−
DLYI
アドレス : 000044H
DICR
R/W
R/W : リード / ライト可能
■ 遅延割込みモジュールのブロックダイヤグラム
図 7.1-2 遅延割込みモジュールのブロックダイヤグラム
R-bus
割込み要求
250
DLYI
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 7 章 REALOS 関連ハード
7.2
MB91402/403 シリーズ
7.2
遅延割込みモジュールのレジスタ
遅延割込みモジュールのレジスタについて説明します。
■ DICR (Delayed Interrupt Control Register)
図 7.2-1 遅延割込みモジュールレジスタ (DICR) のビット構成
アドレス : 000044H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
−
−
−
−
−
DLYI
-------0B ( 初期値 )
R/W
R/W : リード / ライト可能
− :未定義ビット
遅延割込みを制御するレジスタです。
[bit0] DLYI
DLYI
説 明
0
遅延割込み要因の解除・要求なし〔初期値〕
1
遅延割込み要因の発生
本ビットにより , 該当する割込み要因の発生・解除を制御します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
251
第 7 章 REALOS 関連ハード
7.3
7.3
MB91402/403 シリーズ
遅延割込みモジュールの動作
遅延割込みは , タスク切換え用の割込みを発生します。本機能により , ソフトウェア
で CPU に対して割込み要求の発生 , 取消しを行うことができます。
■ 割込み番号
遅延割込みは , 最も大きな割込み番号に対応した割込み要因に割り当てられています。
本マクロでは , 遅延割込みを割込み番号 63(3FH) に割り当てています。
■ DICR の DLYI ビット
このビットに "1" を書き込むことで遅延割込み要因が発生します。また , "0" を書き込
むことで , 遅延割込み要因を解除します。
本ビットは , 一般の割込みにおける割込み要因フラグと同じものであり , 割込みルーチ
ンの中で本ビットをクリアし , 併せてタスクの切換えを行うようにしてください。
252
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 7 章 REALOS 関連ハード
7.4
MB91402/403 シリーズ
7.4
ビットサーチモジュール
入力レジスタに書き込まれたデータに対して , "0", "1" または変化点を検索して検出
したビット位置を返します。
■ ビットサーチモジュールのレジスタ一覧
ビットサーチモジュールのレジスタ一覧を図 7.4-1 に示します。
図 7.4-1 ビットサーチモジュールのレジスタ一覧
bit31
bit0
アドレス:000003F0H
BSD0
0 検出用データレジスタ
アドレス:000003F4H
BSD1
1 検出用データレジスタ
アドレス:000003F8H
BSDC
変化点検出用データレジスタ
アドレス:000003FCH
BSRR
検出結果レジスタ
■ ビットサーチモジュールのブロックダイヤグラム
図 7.4-2 ビットサーチモジュールのブロックダイヤグラム
D-bus
入力ラッチ
アドレスデコーダ
検出モード
1検出データ化
ビットサーチ回路
検索結果
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
253
第 7 章 REALOS 関連ハード
7.5
7.5
MB91402/403 シリーズ
ビットサーチモジュールのレジスタ
ビットサーチモジュールで使用するレジスタの構成および機能について説明します。
■ 0 検出用データレジスタ (BSD0)
図 7.5-1 0 検出用データレジスタ (BSD0) のビット構成
bit31
bit0
000003F0H
W
W
: ライトオンリ
初期値 : 不定
書き込んだ値に対して , 0 検出を行います。
リセットによる初期値は不定です。読出し値は不定です。
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令を使用しないでください )。
■ 1 検出用データレジスタ (BSD1)
図 7.5-2 1 検出用データレジスタ (BSD1) のビット構成
bit31
bit0
000003F4H
R/W
R/W : リード / ライト可能
初期値 : 不定
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令を使用しないでください )。
• 書込み時
書き込んだ値に対して , 1 を検出します。
• 読出し時
ビットサーチモジュールの内部状態の退避用データが読み出されます。割込みハン
ドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避 / 復帰する
ときに使用します。0 検出 , 変化点検出 , データレジスタにデータを書き込んだ場合
でも , 1 検出用データレジスタのみ操作することで退避 / 復帰できます。
リセットによる初期値は不定です。
254
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 7 章 REALOS 関連ハード
7.5
MB91402/403 シリーズ
■ 変化点検出用データレジスタ (BSDC)
図 7.5-3 変化点検出用データレジスタ (BSDC) のビット構成
bit31
bit0
000003F8H
W
W →ライトオンリ
初期値→不定
書き込んだ値に対して , 変化点の検出を行います。
リセットによる初期値は不定です。
読出し値は不定です。
データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ
ト長のデータ転送命令を使用しないでください )。
■ 検出結果レジスタ (BSRR)
図 7.5-4 検出結果レジスタ (BSRR) のビット構成
bit31
bit0
000003FCH
R
R →リードオンリ
初期値→不定
0 検出 , 1 検出または変化点検出の結果が読み出されます。
どの検出結果が読み出されるかは , 最後に書き込んだデータレジスタによって決定さ
れます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
255
第 7 章 REALOS 関連ハード
7.6
7.6
MB91402/403 シリーズ
ビットサーチモジュール動作
ビットサーチモジュールの 3 種類の動作について説明します。
• 0 検出
• 1 検出
• 変換点検出
■ 0 検出
0 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の
"0" を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。
検出した位置と , 返す数値の関係は , 表 7.6-1 のとおりです。
"0" が存在しないとき ( すなわち FFFFFFFFH という数値のとき ), 32 という値をサーチ
結果として返します。
【実行例】
書込みデータ
読出し値 (10 進 )
11111111111111111111000000000000 B (FFFFF000H)
→ 20
11111000010010011110000010101010 B (F849E0AAH)
→ 5
10000000000000101010101010101010 B (8002AAAAH)
→ 1
11111111111111111111111111111111 B (FFFFFFFFH)
→ 32
■ 1 検出
1 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の
"1" を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。
検出した位置と返す値との関係は , 表 7.6-1 のとおりです。
"1" が存在しないとき ( すなわち 00000000H という数値のとき ), 32 という値をサーチ
結果として返します。
【実行例】
書込みデータ
256
読出し値 (10 進 )
00100000000000000000000000000000 B (20000000H)
→ 2
00000001001000110100010101100111 B (01234567H)
→ 7
00000000000000111111111111111111 B (0003FFFFH)
→ 14
00000000000000000000000000000001 B (00000001H)
→ 31
00000000000000000000000000000000 B (00000000H)
→ 32
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 7 章 REALOS 関連ハード
7.6
MB91402/403 シリーズ
■ 変化点検出
変化点検出用データレジスタに書き込まれたデータを bit30 から LSB へスキャンして
MSB の値と比較します。最初に MSB と異なる値を検出した位置を返します。
検出結果は , 検出結果レジスタを読み出すことで得られます。
検出した位置と返す値は , 表 7.6-1 のとおりです。
変化点が存在しないときは , 32 を返します。
変化点検出では , 結果として "0" を返すことはありません。
【実行例】
書込みデータ
読出し値 (10 進 )
00100000000000000000000000000000 B (20000000H)
→ 2
00000001001000110100010101100111 B (01234567H)
→ 7
00000000000000111111111111111111 B (0003FFFFH)
→ 14
00000000000000000000000000000001 B (00000001H)
→ 31
00000000000000000000000000000000 B (00000000H)
→ 32
11111111111111111111000000000000 B (FFFFF000H)
→ 20
11111000010010011110000010101010 B (F849E0AAH)
→ 5
10000000000000101010101010101010 B (8002AAAAH)
→ 1
11111111111111111111111111111111 B (FFFFFFFFH)
→ 32
表 7.6-1 ビット位置と返す値 (10 進 )
検出した
ビット位置
返す値
検出した
ビット位置
返す値
検出した
ビット位置
返す値
検出した
ビット位置
返す値
31
0
23
8
15
16
7
24
30
1
22
9
14
17
6
25
29
2
21
10
13
18
5
26
28
3
20
11
12
19
4
27
27
4
19
12
11
20
3
28
26
5
18
13
10
21
2
29
25
6
17
14
9
22
1
30
24
7
16
15
8
23
0
31
存在しない
32
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
257
第 7 章 REALOS 関連ハード
7.6
MB91402/403 シリーズ
■ 退避 / 復帰の処理
割込みハンドラ中でビットサーチモジュールを使う場合のように , ビットサーチモ
ジュールの内部状態を退避 / 復帰させる必要がある場合には , 以下の手順に従ってくだ
さい。
① 1 検出用データレジスタを読み出して , この内容を保存する ( 退避 )
② ビットサーチモジュールを使用
③ ①で退避したデータを 1 検出用データレジスタに書き込む ( 復帰 )
以上の操作により , 次に検出結果レジスタを読み出したときに得られる値は , ①以前に ,
ビットサーチモジュールに書き込まれた内容に応じたものとなります。最後に書き込ま
れたデータレジスタが 0 検出用または変化点検出用であっても , 上記の手順で正しく元
に戻ります。
258
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第8章
16 ビットリロードタイマ
16 ビットリロードタイマの概要 , レジスタの構成 /
機能 , および 16 ビットリロードタイマの動作につ
いて説明します。
8.1 16 ビットリロードタイマの概要
8.2 16 ビットリロードタイマのブロックダイヤグラム
8.3 16 ビットリロードタイマのレジスタ
8.4 16 ビットリロードタイマの動作
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
259
第 8 章 16 ビットリロードタイマ
8.1
8.1
MB91402/403 シリーズ
16 ビットリロードタイマの概要
16 ビットタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジスタ , 内
部カウントクロック作成用プリスケーラ , コントロールレジスタで構成されていま
す。
入力クロックとして内部クロック 3 種類 ( マシンクロックの 2 / 8 / 32 分周 ) と外部
クロックから選択できます。
外部イベントカウント機能をリロードモードで使用すると , 外部クロックモードの
分周器として使用することができます。
本マクロは , 本タイマを 0 ∼ 2 までの 3 チャネル内蔵しています。
ch.0 と ch.1 は , 割込みによる DMA 転送の起動が可能です。
■ 16 ビットリロードタイマのレジスタ一覧
図 8.1-1 16 ビットリロードタイマのレジスタ一覧
bit15
bit14
bit13
bit12
bit11
bit10
−
−
−
−
CSL1
CSL0 MOD2 MOD1
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
MOD0
−
INTE
UF
CNTE
TRG
bit15
OUTL RELD
bit9
bit8
コントロールステータスレジスタ
(TMCSR0 ∼ TMCSR2)
bit0
16 ビットタイマレジスタ (TMR0 ∼ TMR2)
bit15
bit0
16 ビットリロードレジスタ
(TMRLR0 ∼ TMRLR2)
260
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 8 章 16 ビットリロードタイマ
8.2
MB91402/403 シリーズ
8.2
16 ビットリロードタイマのブロックダイヤグラム
16 ビットリロードタイマのブロックダイヤグラムを示します。
■ 16 ビットリロードタイマのブロックダイヤグラム
図 8.2-1 16 ビットリロードタイマのブロックダイヤグラム
16
16ビットリロードレジスタ
8
リロード
RELD
16ビットダウンカウンタ UF
OUTE
16
OUTL
OUT
2
GATE
2
2
UF
IRQ
CNTE
リトリガ
CSL0
φ
φ
EXCK
21
23
25
プリスケーラ
クリア
TRG
OPEN (LSI内部)
IN CTL.
φ
内部クロック
INTE
CSL1
クロックセレクタ
R-bus
CTL.
3
OPEN (LSI内部)
MOD2
MOD1
MOD0
3
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
261
第 8 章 16 ビットリロードタイマ
8.3
8.3
MB91402/403 シリーズ
16 ビットリロードタイマのレジスタ
16 ビットリロードタイマのレジスタの構成と機能について説明します。
■ コントロールステータスレジスタ (TMCSR0 ∼ TMCSR2)
図 8.3-1 コントロールステータスレジスタ (TMCSR0 ∼ TMCSR2) のビット構成
TMCSRTMCSR0 ∼ TMCSR2
アドレス
bit11
bit10
bit9
bit8
bit7
ch.0 0000 004EH CSL1 CSL0 MOD2 MOD1 MOD0
ch.1 0000 0056H R/W R/W R/W R/W R/W
bit6
bit5
bit4
bit3
OUTL RELD INTE
R/W R/W R/W
−
R
bit2
UF
R/W
bit1
bit0
CNTE TRG
R/W R/W
初期値 : 000000 000000B
ch.2 0000 005EH
R/W : リード / ライト可能
R
: リードオンリ
16 ビットタイマの動作モードおよび割込みの制御をします。
UF, CNTE, TRG ビット以外のビットの書換えは , CNTE=0 のときに行うようにしてく
ださい。
同時書込みは可能です。
[bit11, bit10] CSL1, CSL0 (Count clock SeLect)
カウントクロックセレクトビットです。
選択されるクロックソースを表 8.3-1 に示します。また , 外部イベントカウントモー
ドを設定した場合のカウント有効エッジは , MOD1, MOD0 ビットにより設定され
ます。
表 8.3-1 CSL ビット設定クロックソース
CSL1
CSL0
クロックソース (φ:マシンクロック )
0
0
φ/21
0
1
φ/23
1
0
φ/25
1
1
外部クロック ( イベント )
外部クロックに必要な最小パルス幅は , 2T(T:周辺系クロックマシンサイクル ) で
す。
262
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 8 章 16 ビットリロードタイマ
8.3
MB91402/403 シリーズ
[bit9 ∼ bit7] MOD2 ∼ MOD0 (MODe)
動作モードおよび入出力端子の機能を設定するビットです。
MOD2 ビットは , 入力端子の機能を選択するビットです。"0" の場合には入力端子
がトリガ入力端子となり , 有効エッジが入力されるとリロードレジスタの内容をカ
ウンタへロードしてカウント動作を継続します。
"1"の場合にはゲートカウントモー
ドになり , 入力端子がゲート入力となり , 有効レベルが入力されている間のみカウ
ントをします。
MOD1, MOD0ビットは, 各モードにおける端子の機能を設定します。
MOD2∼MOD0
ビットの設定を表 8.3-2 および表 8.3-3 に示します。
表 8.3-2 MOD2 ∼ MOD0 ビットの設定方法 (1)
内部クロックモード時 (CSL0, CSL1=00B, 01B, 10B)
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
0
0
1
0
0
1
1
X
0
1
0
1
0
トリガ禁止
−
−
立上りエッジ
立下りエッジ
両エッジ
"L" レベル
1
X
1
−
"H" レベル
トリガ入力
表 8.3-3 MOD2 ∼ MOD0 ビットの設定方法 (2)
イベントカウントモード時 (CSL0, CSL1=11B)
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
1
0
1
−
−
X
0
0
1
1
トリガ入力
立上りエッジ
立下りエッジ
両エッジ
( 注意事項 ) 表中の X は , 任意の値
[bit6] (reserved)
未使用ビットです。
常に "0" が読み出されます。
[bit5] OUTL
外部タイマ出力レベルを設定するビットです。本ビットが "0" のときと , "1" のとき
では出力レベルが逆になります。
表 8.3-4 OUTL, RELD の設定方法
CM71-10131-1
UOTL
RELD
出力波形
0
0
カウント中 "H" の矩形波
0
1
カウント中 "L" の矩形波
1
0
カウントスタート時 "L" のトグル出力
1
1
カウントスタート時 "H" のトグル出力
FUJITSU MICROELECTRONICS LIMITED
263
第 8 章 16 ビットリロードタイマ
8.3
MB91402/403 シリーズ
[bit4] RELD
リロード許可ビットです。"1" のときにリロードモードになり , カウンタの値が
0000H → FFFFH へのアンダフローと同時にリロードレジスタの内容をカウンタへ
ロードしてカウント動作を続けます。
"0" のときにカウンタの値が 0000H → FFFFH へのアンダフローによりカウント 動作
を停止します。
[bit3] INTE
割込み要求許可ビットです。"1" のときに UF ビットが "1" になると割込み要求を発
生します。"0" のときは割込み要求を発生しません。
[bit2] UF
タイマ割込み要求フラグです。カウンタの値が , 0000H → FFFFH へのアンダフロー
により "1" にセットされます。"0" の書込みによってクリアされます。
このビットへの "1" 書込みは , 意味がありません。
リードモディファイライト (RMW) 系命令における読出し時には , "1" が読み出され
ます。
[bit1] CNTE
タイマのカウントイネーブルビットです。このビットに "1" を書き込むと , 起動ト
リガ待ち状態になります。"0" 書込みによりカウント動作を停止します。
[bit0] TRG
ソフトウェアトリガビットです。"1" 書込みによりソフトウェアトリガがかかり , リ
ロードレジスタの内容をカウンタへロードしてカウント動作を開始します。
"0" 書込み動作は意味がありません。読出し値は , 常に "0" です。
このレジスタによるトリガ入力は , CNTE=1 のときにのみ有効となります。
CNTE=0 のときには , 何も起こりません。
■ 16 ビットタイマレジスタ (TMR0 ∼ TMR2)
図 8.3-2 16 ビットタイマレジスタ (TMR0 ∼ TMR2) のビット構成
TMR0 ∼ TMR2
ch.0 0000 004AH
ch.1 0000 0052H
ch.2 0000 005AH
R
X
R
X
R
X
R
X
∼∼
bit15
∼∼
アドレス
……
……
bit0
R
X
R
X
R
X
R
X
R : リードオンリ
16 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定で
す。
このレジスタの読出しは , 必ず 16 ビットデータ転送命令で行ってください。
264
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 8 章 16 ビットリロードタイマ
8.3
MB91402/403 シリーズ
■ 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2)
図 8.3-3 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) のビット構成
TMRLR0 ∼ TMRLR2
ch.1 0000 0050H
ch.2 0000 0058H
初期値
W
X
W
X
W
X
W
X
∼∼
bit15
∼∼
アドレス
ch.0 0000 0048H
……
……
bit0
W
X
W
X
W
X
W
X
W : ライトオンリ
16 ビットリロードレジスタは , カウントの初期値を保持しておくレジスタです。
初期値は不定です。このレジスタへの書込みは , 必ず 16 ビットデータ転送命令で行っ
てください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
265
第 8 章 16 ビットリロードタイマ
8.4
8.4
MB91402/403 シリーズ
16 ビットリロードタイマの動作
16 ビットリロードタイマの動作について説明します。
■ 内部クロック動作
内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマシ
ンクロックの 2, 8, 32 分周のクロックから選択することができます。
カウント許可と同時にカウント動作を開始したい場合は , コントロールステータスレ
ジスタの CNTE ビットと TRG ビットの両方に "1" を書き込んでください。
カウンタの起動 , カウンタの動作について , 図 8.4-1 に示します。
カウンタスタートのトリガが入力されてからリロードレジスタのデータがカウンタへ
ロードされるまでに , T(T:周辺系クロックマシンサイクル ) の時間がかかります。
図 8.4-1 カウンタの起動および動作
カウンタクロック
リロード
データ
カウンタ
-1
-1
-1
データロード
CNTE(レジスタ)
TRG(レジスタ)
T
266
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 8 章 16 ビットリロードタイマ
8.4
MB91402/403 シリーズ
■ アンダフロー動作
カウンタの値が 0000H から FFFFH になるときをアンダフローとしています。したがっ
て , 〔リロードレジスタの設定値+ 1〕カウントでアンダフローが発生します。
アンダフロー発生時にコントロールレジスタの RELD ビットが "1" の場合には , リロー
ドレジスタの内容をカウンタへロードしてカウント動作を継続します。RELD ビット
が "0" の場合には , カウンタは FFFFH で停止します。
アンダフローによりコントロールレジスタの UF ビットがセットされ , INTE ビットが
"1" のときに割込み要求を発生します。
アンダフロー動作について図 8.4-2 に示します。
図 8.4-2 アンダフロー動作
カウンタクロック
カウンタ
0000H
リロード
データ
-1
-1
-1
データロード
アンダフローセット
〔RELD=1〕
カウントクロック
カウンタ
0000H
FFFFH
アンダフローセット
〔RELD=0〕
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
267
第 8 章 16 ビットリロードタイマ
8.4
MB91402/403 シリーズ
■ カウンタの動作状態
カウンタの状態は , コントロールレジスタの CNTE ビットと内部信号の WAIT 信号に
よって決まっています。設定可能な状態として CNTE=0, WAIT=1 の停止状態 (STOP 状
態 ), CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT 状態 ), CNTE=1, WAIT=0 の動作
状態 (RUN 状態 ) があります。各状態の遷移を図 8.4-3 に示します。
図 8.4-3 カウンタ状態遷移
ハードウェアによる状態遷移
リセット
STOP
CNTE=0
CNTE=0, WAIT=1
レジスタアクセスによる状態遷移
T1:入力禁止
T0:汎用ポート
カウンタ:停止時の値を保持
リセット直後は不定
CNTE=1
TRG=0
CNTE=0
CNTE=1
TRG=1
WAIT
RUN
CNTE=1, WAIT=1
T1:トリガ入力のみ有効
T0:初期値出力
CNTE=1, WAIT=0
T1:T1として機能
T0:T0として機能
カウンタ:停止時の値を保持
リセット直後ロード
するまでは不定
カウンタ:動作
RELD・UF
TRG=1
TRG=1
LOAD
TINからトリガ
CNTE=1, WAIT=0
リロードレジスタの内容をカウ
ンタへロード
RELD・UF
ロード終了
■ その他
リロードタイマの ch.0 , ch.1 は , その割込み要求信号により DMA 転送を起動すること
が可能です。
DMA コントローラは , 転送要求の受付けと同時にリロードタイマの割込みフラグをク
リアします。
■ 注意点
• 内部プリスケーラは , コントロールステータスレジスタの bit1( タイマ許可:CNTE)
が "1" に設定されている状態でトリガ ( ソフトウェア トリガ ) がかかると動作可能
となります。
ゲートカウントモードのみで使用する場合でも有効ゲートレベル入力前に必ず 1 度
トリガをかけてください (CNTE を設定するときに同レジスタ bit0(TRG) に "1" を書
き込むことを推奨します )。
• 割込み要求フラグセットタイミングとクリアタイミングが重複した場合には , フラ
グセットが優先し , クリア動作は無効となります。
• 16 ビットタイマリロードレジスタへの書込みとリロードのタイミングが重なった場合には ,
旧データがカウンタにロードされて新データがカウンタにロードされるのは , 次のリロード
のときになります。
• 16 ビットタイマレジスタはロードとカウントのタイミングが重複した場合には , ロード ( リ
ロード ) 動作の方が優先されます。
268
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第9章
U-TIMER
U-TIMER の概要 , レジスタの構成 , 機能 , および動
作について説明します。
9.1 U-TIMER の概要
9.2 U-TIMER のレジスタ
9.3 U-TIMER の動作
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
269
第 9 章 U-TIMER
9.1
9.1
MB91402/403 シリーズ
U-TIMER の概要
U-TIMER は , UART のボーレートを発生するための 16 ビットタイマです。チップの
動作周波数と , U-TIMER のリロード値の組合せで任意のボーレートを設定できます。
また , カウントアンダフローで割込みを発生するので , インターバルタイマとしても
使用可能です。
MB91402/403 シリーズは , 本タイマを 2 チャネル内蔵しています。インターバルタ
イマとして使用する場合には 2 組の U-TIMER をカスケードして使用でき , 最大 232 × φ
のインターバルをカウントできます。
■ U-TIMER のレジスタ一覧
図 9.1-1 U-TIMER のレジスタ一覧
bit15
bit8 bit7
bit0
(R)
UTIM1, UTIM0
UTIMR1, UTIMR0
(W)
UTIMC1, UTIMC0
(R/W)
■ U-TIMER のブロックダイヤグラム
図 9.1-2 U-TIMER のブロックダイヤグラム
bit15
bit0
UTIMR(リロードレジスタ)
ロード
bit15
bit0
UTIM(タイマ)
クロック
(周辺系クロック)
MUX
ch.0
のみ
アンダフロー
コントロール
F/F
UARTへ
U-TIMER1アンダフロー
270
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 9 章 U-TIMER
9.2
MB91402/403 シリーズ
9.2
U-TIMER のレジスタ
U-TIMER で使用するレジスタの構成および機能について説明します。
■ U-TIMER(UTIM1, UTIM0)
図 9.2-1 U-TIMER(UTIM1, UTIM0) のビット構成
UTIM1, UTIM0
ch.0 アドレス
0000 0064H
ch.1 アドレス
0000 006CH
bit15
bit14
bit2
bit1
bit0
b15
b14
b2
b1
b0
R
アクセス
0
初期値
R : リードオンリ
UTIM1, UTIM0 は , タイマの値を示します。16 ビット転送命令でアクセスしてくださ
い。
■ リロードレジスタ (UTIMR1, UTIMR0)
図 9.2-2 リロードレジスタ (UTIMR1, UTIMR0) のビット構成
UTIMR1, UTIMR0
ch.0 アドレス
0000 0064H
ch.1 アドレス
0000 006CH
bit15
bit14
bit2
bit1
bit0
b15
b14
b2
b1
b0
W
アクセス
0
初期値
W : ライトオンリ
UTIMR1, UTIMR0 は , UTIM1, UTIM0 がアンダフローしたときに UTIM1, UTIM0 にリ
ロードされる値を格納するレジスタです。
16 ビット転送命令でアクセスしてください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
271
第 9 章 U-TIMER
9.2
MB91402/403 シリーズ
■ U-TIMER コントロールレジスタ (UTIMC1, UTIMC0)
図 9.2-3 U-TIMER コントロールレジスタ (UTIMC1, UTIMC0) のビット構成
UTIMC1, UTIMC0
ch.0 アドレス
0000 0067H
ch.1 アドレス
0000 006FH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
UCC1
−
−
UTIE UNDR CLKS UTST UTCR
R/W
−
−
R/W
R/W
R/W
R/W
0
−
−
0
0
0
0
R/W アクセス
1
初期値
R/W : リード / ライト可能
UTIMC1, UTIMC0 は , U-TIMER の動作を制御します。
[bit7] UCC1 (U-timer Count Control 1)
UCC1 ビットは , U-TIMER のカウントの仕方を制御します。
表 9.2-1 U-TIMER のカウント方法
UCC1
動作
0
通常動作 . α = 2n + 2 〔初期値〕
1
+ 1 モード α = 2n + 3
n : UTIMR の設定値
α : UART に対する出力クロックの周期
U-TIMER は , UART に対して通常の 2(n + 1) の周期のクロックのほかに奇数分周を
設定できます。
UCC1 を "1" に設定すると 2n + 3 の周期を発生します。
設定例 :
1.UTIMR=5, UCC1=0 ──→ 発生周期 = 2n + 2 = 12 サイクル
2.UTIMR=25, UCC1=1 ──→ 発生周期 = 2n + 3 = 53 サイクル
3.UTIMR=60, UCC1=0 ──→ 発生周期 = 2n + 2 = 122 サイクル
U-TIMER をインターバルタイマとして使用する場合は , UCC1 の値を "0" に設定し
てください。
[bit6, bit5] (reserved)
[bit4] UTIE (U-TIMER Interrupt Enable)
UTIE は , U-TIMER のアンダフローによる割込み許可ビットです。
0 : 割込み禁止 〔初期値〕
1 : 許可
[bit3] UNDR (UNDeR flow flag)
UNDR は , アンダフローが発生したことを示すフラグです。UTIE が "1" で UNDR
がセットされるとアンダフロー割込みが発生します。
UNDR はリセット , または "0"
書込みによりクリアされます。
リードモディファイライト (RMW) 系命令の読出し時は , 常に "1" が読み出されま
す。また , UNDR に対する "1" 書込みは無効です。
272
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 9 章 U-TIMER
9.2
[bit2] CLKS (clock select)
CLKS は , U-TIMER の ch.0 と ch.1 のカスケード指定ビットです。
0: クロックソースは , 周辺系クロック (φ)〔初期値〕
1: U-TIMER ch.0 のソースクロックタイミングとして , ch.1 のアンダフロー信号を
使用 ( 図 9.1-2 の F/F)
CLKS は ch.0 でのみ有効 , ch.1 では常に "0" にしてください。
( 注意事項 ) φ( 周辺系クロック ) は , ギアの設定により周期が変わります。
[bit1] UTST (U-TIMER STart)
U-TIMER の動作許可ビットです。
0: 停止。動作中でも "0" を書き込むと停止します。〔初期値〕
1: 動作。動作中に "1" を書き込んでも動作は続行されます。
[bit0] UTCR (U-TIMER CleaR)
UTCRに"0"を書き込むとU-TIMER は"0000H"にクリアされます(F/Fも"0"にクリア) 。
常に "1" が読まれます。
<注意事項>
• ストップ状態からスタートビット UTST をアサート ( スタート ) すると自動的にリロー
ドします。
• ストップ状態からクリアビット UTCR とスタートビット UTST を同時にアサートする
と , カウンタを "0" にクリアして , 直後のカウントダウンでアンダフローが発生します。
• 動作中にクリアビット UTCR をアサートすると , カウンタも "0" にクリアされます。こ
のため , 出力波形にヒゲ状の短いパルスが出力される場合があり , UART やカスケード
モードの上位側の U-TIMER が誤動作する可能性があります。出力クロックを使用して
いる場合には , 動作中にクリアビットによるクリアを行わないでください。
• カスケードモードで , 下位側の UTIMR( リロードレジスタ ) に "0" または "1" をセット
すると正しくカウントされません。
• U-TIMER コントロールレジスタのビット 1(U-TIMER スタートビット:UTST) および
bit0(U-TIMER のクリアビット:UTCR) をタイマ停止状態で同時にアサートすると , ク
リアした後のカウンタロードのタイミングで同レジスタの bit3( アンダフローフラグ:
UNDR) がセットします。また , 内部ボーレートクロックは同タイミングで "H" レベル
になります。
• 割込み要求セットタイミングとクリアタイミングが重複した場合には , フラグセット
が優先され , クリア動作は無効となります。
• ch.0 をカスケードモードで使用しない場合や本モジュールを単にタイマ機能として使
用する場合には , U-TIMER コントロールレジスタの bit2( 基準クロック選択ビット:
CLKS) には常に "0" を書き込んでください。また , "CLKS" の設定変更は , 本モジュー
ルが動作停止の状態で行ってください。
• U-TIMER リロードレジスタへの書込みとリロードのタイミングが重複した場合には ,
旧データがカウンタにロードされ , 新データがカウンタにロードされるのは , 次のリ
ロードのタイミングとなります。
• タイマクリアとタイマカウント / リロードのタイミングが重複した場合には , タイマク
リアが最優先されます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
273
第 9 章 U-TIMER
9.3
9.3
MB91402/403 シリーズ
U-TIMER の動作
U-TIMER のボーレートの計算およびカスケードモードについて説明します。
■ ボーレートの計算
UART は , 対応する U-TIMER (U-TIMER0 → UART0, U-TIMER1 → UART1) のアンダ
フローフリップフロップ ( 図 9.1-2 の F/F) をボーレート 用クロックソースとして使用
します。
● 非同期 ( 調歩同期 ) モード
UART は , U-TIMER の出力を 16 分周して使用します。
φ
bps =
n … UTIMR ( リロード値 )
……… UCC1=0 時
(2n+2) × 16
φ … 周辺系マシンクロック周波数
( ギアにより変動 )
φ
bps =
……… UCC1=1 時
(2n+3) × 16
最大 bps :257812.5bps (16.5 MHz 時 )
● CLK 同期モード
φ
bps =
(2n+2)
n … UTIMR ( リロード値 )
……… UCC1=0 時
φ … 周辺系マシンクロック周波数
( ギアにより変動 )
φ
bps =
(2n+2)
……… UCC1=1 時
最大 bps : 4125000bps (16.5 MHz 時 )
<注意事項>
UART のモード 2(CLK 同期モード ) で U-TIMER をボーレートとして使用する場合 , UTIMR
に "0" を設定することは禁止です。
274
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 9 章 U-TIMER
9.3
MB91402/403 シリーズ
■ カスケードモード
U-TIMER ch.0 と ch.1 はカスケードモードで使用できます。
例 ) UTIMR ch.0 を "0100B" に , UTIMR ch.1 を "0002B" に設定した場合 :
図 9.3-1 カスケードモードのタイミングチャート
φ
UTIM ch.1
01
00
02
01
00
02
01
00
02
01
00
02
01
00
02
01
00
02
01
00
F/F ch.1
UTIM ch.0
0002H
0001H
0000H
0100H
F/F ch.0
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
275
第 9 章 U-TIMER
9.3
276
MB91402/403 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 10 章
UART
UART の概要 , レジスタの構成 / 機能 , および
UART の動作について説明します。
10.1 UART の概要
10.2 UART のレジスタ
10.3 UART の動作
10.4 UART の応用例
10.5 ボーレートと U-TIMER のリロード値の設定例
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
277
第 10 章 UART
10.1
10.1
MB91402/403 シリーズ
UART の概要
UART は , 非同期 ( 調歩同期 ) 通信 , または CLK 同期通信を行うためのシリアル I/O
ポートです。MB91402/403 シリーズは , UART を 2 チャネル内蔵します。
■ UART の特長
• 全二重ダブルバッファ
• 非同期 ( 調歩同期 ), CLK 同期通信が可能
• マルチプロセッサモードのサポート
• 完全プログラマブルボーレート
• 内蔵タイマにより任意のボーレートを設定可能 (「第 9 章 U-TIMER」を参照 )
• 外部クロックによる自由なボーレートの設定が可能
• エラー検出機能 ( パリティ , フレーミング , オーバラン )
• 転送信号は NRZ 符号
• MSB ファースト /LSB ファースト選択可能
• 割込みによる DMA 転送の起動が可能
• DRCL レジスタへの書込み動作による DMAC の割込み要因クリア
278
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 10 章 UART
10.1
MB91402/403 シリーズ
■ UART のレジスタ一覧
図 10.1-1 UART のレジスタ一覧
bit15
bit8 bit7
bit0
SCR0, SCR1
SMR0, SMR1
(R/W)
SSR0, SSR1
SIDR (R)/SODR (W)
(R/W)
DRCL0, DRCL1
(W)
8 ビット
8 ビット
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
D7
D6
D5
D4
D3
D2
D1
D0
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
PE
ORE
FRE
RIE
TIE
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
MD1
MD0
−
−
CS0
−
SCKE
−
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
PEN
P
SBL
CL
A/D
REC
RXE
TXE
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
−
−
−
−
−
−
−
−
R/W
R
W
−
RDRF TDRE MSBF
シリアルインプットレジスタ
シリアルアウトプットレジスタ
(SIDR/SODR)
シリアルステータスレジスタ
(SSR0, SSR1)
シリアルモードレジスタ (SMR0, SMR1)
シリアルコントロールレジスタ
(SCR0, SCR1)
(DRCL0, DRCL1)
: リード / ライト可能
: リードオンリ
: ライトオンリ
: 未定義ビット
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
279
第 10 章 UART
10.1
MB91402/403 シリーズ
■ UART のブロックダイヤグラム
図 10.1-2 UART のブロックダイヤグラム
制御信号
受信割込み
(CPUへ)
U-TIMERより
外部クロック
SCK
SCK(クロック)
送信クロック
クロック
選択回路
SIN (受信データ)
送信割込み
(CPUへ)
受信クロック
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート
回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SOUT(送信データ)
受信用シフタ
受信状態判定回路
送信用シフタ
受信終了
送信開始
SIDR
SODR
DMA用
受信エラー発生信号
(DMACへ)
R-bus
MD1
MD0
SMR
レジスタ
CS0
SOE
SCR
レジスタ
PEN
P
SBL
CL
A/D
REC
RXE
TXE
SSR
レジスタ
PE
ORE
FRE
RDRF
TDRE
RIE
TIE
制御信号
280
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 10 章 UART
10.2
MB91402/403 シリーズ
10.2
UART のレジスタ
UART で使用するレジスタの構成および機能について説明します。
■ シリアルモードレジスタ (SMR1, SMR0)
図 10.2-1 シリアルモードレジスタ (SMR1, SMR0) のビット構成
SMR1, SMR0
bit7
bit6
アドレス : 000063H MD1
00006BH R/W
MD0
R/W
bit5
−
bit4
bit3
−
CS0
W
bit2
bit1
bit0
−
SCKE
R/W
−
初期値
00--0-0-B
R/W : リード / ライト可能
W
: ライトオンリ
−
:未定義ビット
SMR1, SMR0 は , UART の動作モードを指定します。動作モードの設定は動作停止中に
行い , 動作中にこのレジスタへの書込みを行わないでください。
[bit7, bit6] MD1, MD0 (MoDe select)
UART の動作モードを選択します。
表 10.2-1 動作モード選択
モード
MD1
MD0
0
0
0
非同期 ( 調歩同期 ) ノーマルモード〔初期値〕
1
0
1
非同期 ( 調歩同期 ) マルチプロセッサモード
2
1
0
CLK 同期モード
―
1
1
設定禁止
動作モード
<注意事項>
モード 1 の 非同期マルチプロセッサモードとは , 1 台のホスト CPU に数台のスレーブ
CPU が接続される使用方法です。本リソースでは , 受信データのデータ形式を判別でき
ません。したがって , マルチプロセッサモード のマスタのみをサポートします。また , パ
リティチェック機能を使用できませんので SCR レジスタの PEN は "0" に設定してくださ
い。
[bit5, bit4] (reserved)
常に "1" を書き込んでください 。
[bit3] CS0(Clock Select)
UART の動作クロックを選択します。
0 : 内蔵タイマ (U-TIMER) 〔初期値〕
1 : 外部クロック
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
281
第 10 章 UART
10.2
MB91402/403 シリーズ
[bit2] (reserved)
常に "0" を書き込んでください。
[bit1] SCKE(Serial Clock Enable)
本ビットの値が SCKE[1], SCKE[0] 端子に出力されます。SCKOUT1, SCKOUT0,
SCKIN1, SCKIN0 の方向制御に使用できます。
[bit0] (reverse)
未使用ビットです。
■ シリアルコントロールレジスタ (SCR1, SCR0)
図 10.2-2 シリアルコントロールレジスタ (SCR1, SCR0) のビット構成
SCR1, SCR0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
アドレス : 000062H PEN
00006AH R/W
P
R/W
SBL
R/W
CL
R/W
A/D
R/W
REC
W
RXE
R/W
TXE
R/W
初期値
00000100B
R/W : リード / ライト可能
W :ライトオンリ
SCR1, SCR0 はシリアル通信を行う場合の転送プロトコルを制御します。
[bit7] PEN (Parity Enable)
シリアル通信において , パリティを付加してデータ通信を行うかどうかを指定しま
す。
0:パリティなし 〔初期値〕
1:パリティあり
<注意事項>
パリティを付加できるのは , 非同期 ( 調歩同期 ) 通信モードのノーマルモード ( モード 0)
のみです。マルチプロセッサモード ( モード 1) および CLK 同期通信 ( モード 2) では , パ
リティを付加することはできません。
[bit6] P (Parity)
パリティを付加してデータ通信を行うとき , 偶数 / 奇数パリティを指定します。
0:偶数パリティ 〔初期値〕
1:奇数パリティ
[bit5] SBL (Stop Bit Length )
非同期 ( 調歩同期 ) 通信を行うときのフレームエンドマークであるストップビット
のビット長を指定します。
0:1 ストップビット 〔初期値〕
1:2 ストップビット
282
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 10 章 UART
10.2
[bit4] CL(Character Length):
送受信する 1 フレームのデータ長を指定します。
0:7 ビットデータ 〔初期値〕
1:8 ビットデータ
<注意事項>
7 ビットデータを扱えるのは , 非同期 ( 調歩同期 ) 通信のうちのノーマルモード ( モード 0)
のみです。マルチプロセッサモード ( モード 1) および CLK 同期通信 ( モード 2) では , 8
ビットデータとしてください。
[bit3] A/D (Address/Data)
非同期 ( 調歩同期 ) 通信のマルチプロセッサモード ( モード 1) において , 送受信す
るフレームのデータ形式を指定します。
0:データフレーム 〔初期値〕
1:アドレスフレーム
[bit2] REC (Receiver Error Clear)
"0" を書き込むことで , SSR レジスタのエラーフラグ (PE, ORE, FRE) をクリアしま
す。
"1" 書込みは無効であり , 読出し値は常に "1" になります。
[bit1] RXE (Receiver Enable )
UART の受信動作を制御します。
0:受信動作を禁止します。〔初期値〕
1:受信動作を許可します。
<注意事項>
受信中 ( 受信シフトレジスタにデータが入力されているとき ) に受信動作を禁止した場合
には , そのフレームの受信を完了して受信データバッファ SIDR レジスタに受信データを
ストアしたところで受信動作を停止します。
[bit0] TXE(Transmitter Enable)
UART の送信動作を制御します。
0:送信動作を禁止します。〔初期値〕
1:送信動作を許可します。
<注意事項>
送信中 ( 送信レジスタからデータが出力されているとき ) に送信動作を禁止した場合は ,
送信データバッファ SODR レジスタにデータがなくなった後に送信動作を停止します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
283
第 10 章 UART
10.2
MB91402/403 シリーズ
■ シリアルインプットデータレジスタ (SIDR)/
シリアルアウトプットデータレジスタ (SODR)
図 10.2-3 シリアルインプットデータレジスタ (SIDR)/
シリアルアウトプットデータレジスタ (SODR) のビット構成
SIDR
アドレス ch.0 000061H
ch.1 000069H
SODR
アドレス ch.0 000061H
ch.1 000069H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
D7
R
D6
R
D5
R
D4
R
D3
R
D2
R
D1
R
D0
R
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
D7
W
D6
W
D5
W
D4
W
D3
W
D2
W
D1
W
D0
W
初期値
xxxxxxxxB
初期値
xxxxxxxxB
R : リードオンリ
W: ライトオンリ
本レジスタは , 受信 / 送信用のデータバッファレジスタです。
データ長が 7 ビットの場合 bit7(D7) は無効データとなります。SODR レジスタへの書
込みは , SSR レジスタの TDRE が "1" のときに書き込んでください。
<注意事項>
このアドレスへの書込みは SODR レジスタへの書込みを , 読出しは SIDR レジスタの読
出しを意味します。
■ シリアルステータスレジスタ (SSR1, SSR0)
図 10.2-4 シリアルステータスレジスタ (SSR1, SSR0) のビット構成
SSR1, SSR0
アドレス ch.0 000060H
ch.1 000068H
bit7
bit6
bit5
PE
R
ORE
R
FRE
R
bit4
bit3
bit2
RDRF TDRE MSBF
R
R
R/W
bit1
bit0
RIE
R/W
TIE
R/W
初期値
00001000B
R/W : リード / ライト可能
R
: リードオンリ
SSR1, SSR0 は UART の動作状態を表すフラグで構成されています。
[bit7] PE(Parity Error )
受信時にパリティエラーが発生したときにセットされる割込み要求フラグです。
一度セットされたフラグをクリアするには , SCR レジスタの REC ビット (bit10) に
"0" を書き込みます。
本ビットがセットされた場合には , SIDR のデータは無効データとなります。
0:パリティエラーなし 〔初期値〕
1:パリティエラーが発生
284
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 10 章 UART
10.2
[bit6] ORE (Over Run Error)
受信時にオーバランエラーが発生したときにセットされる割込み要求フラグです。
一度セットされたフラグをクリアするには , SCR レジスタの REC ビットに "0" を書
き込みます。
本ビットがセットされた場合には , SIDR のデータは無効データとなります。
0:オーバランエラーなし 〔初期値〕
1:オーバランエラー発生
[bit5] FRE (FRaming Error )
受信時にフレーミングエラーが発生したときにセットされる割込み要求フラグで
す。
一度セットされたフラグをクリアするには , SCR レジスタの REC ビットに "0" を書
き込みます。
本ビットがセットされた場合には , SIDR のデータは無効データとなります。
0:フレーミングエラーなし 〔初期値〕
1:フレーミングエラー発生
<注意事項>
• シリアルモードレジスタの bit3 による内 / 外ボーレートクロックの切換えは書込み後 ,
すぐに反映されるので , UART が動作停止状態のときに行ってください。
• シリアルモードレジスタの bit3 はライトオンリです。
[bit4] RDRF(Receiver Data Register Full )
SIDR レジスタに受信データがあることを示す割込み要求フラグです。
SIDR レジスタに受信データがロードされるとセットされ , SIDR レジスタを読み出
すと自動的にクリアされます。
0:受信データなし 〔初期値〕
1:受信データあり
[bit3] TDRE(Transmitter Data Register Empty )
SODR に送信データを書き込めることを示す割込み要求フラグです。
SODR レジスタに送信データを書き込むとクリアされます。書き込んだデータが送
信用シフタにロードされて転送が開始されると再びセットされ , 次の送信データを
書き込めることを表します。
0:送信データの書込み禁止
1:送信データの書込み許可 〔初期値〕
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
285
第 10 章 UART
10.2
MB91402/403 シリーズ
[bit2] MSBF (MSB First)
データ転送方向選択を制御します。
0:シリアルデータを最下位ビット側から転送します (LSB ファースト )。〔初期値〕
1:シリアルデータを最上位ビット側から転送します (MSB ファースト )。
<注意事項>
シリアルデータレジスタへの読出し , 書込み時にデータの上位側と下位側を入れ替えるた
め , SODR にデータを書き込んだ後 , このビットを書き換えると , そのデータは無効にな
ります。
[bit1] RIE (Receiver Interrupt Enable )
受信割込みを制御します。
0:割込みを禁止します。〔初期値〕
1:割込みを許可します。
<注意事項>
受信割込み要因には , PE, ORE, FRE によるエラー発生のほかに RDRF による正常受信が
あります。
[bit0] TIE (Transmitter Interrupt Enable)
送信割込みを制御します。
0:割込みを禁止します。〔初期値〕
1:割込みを許可します。
<注意事項>
送信割込み要因は , TDRE による送信要求があります。
■ DRCL1, DRCL0
図 10.2-5 DRCL1, DRCL0 のビット構成
DRCL1, DRCL0
アドレス ch.0 000066H
ch.1 00006EH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
W
−
W
−
W
−
W
−
W
−
W
−
W
−
W
初期値
--------B
W : ライトオンリ
− : 未定義ビット
DMAC の割込み要因をクリアするためのレジスタです。任意の値を書き込むことに
よって DMAC への割込み要因がクリアされます。初めて DMAC を起動する際 , または
それ以前に UART を使用している場合にはこのレジスタを利用して割込み要因をクリ
アしてください ( このレジスタは書込み専用です )。
286
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 10 章 UART
10.3
MB91402/403 シリーズ
UART の動作
10.3
UART には , 非同期 ( 調歩同期 ) モードとクロック同期モードがあり , さらに非同期
モードには , ノーマルモードとプロセッサモードがあります。これらの各動作モー
ドにおける動作について説明します。
■ 動作モード
UART には 表 10.3-1 に示す動作モードがあり , SMR レジスタ , SCR レジスタに値を設
定することによりモードを切り換えることができます。
表 10.3-1 UART の動作モード
モード
パリティ
データ長
あり / なし
7 ビット
あり / なし
8 ビット
1
なし
8 ビット+ 1 ビット
2
なし
8 ビット
0
動作モード
非同期 ( 調歩同期 )
ノーマルモード
非同期 ( 調歩同期 )
マルチプロセッサモード
クロック同期モード
ストップビット長
1 ビットまたは
2 ビット
なし
ただし , 非同期 ( 調歩同期 ) モードでのストップビット長については送信動作のみに指
定が可能です。受信動作については常に 1 ビット長となります。上記モード以外では
動作しませんので設定しないでください。
■ UART のクロック選択
● 内部タイマ
CS0 を "0" に設定して U-TIMER を選択した場合は , U-TIMER に設定したリロード値で
ボーレートが決まります。このときのボーレートの算出式は , 次のとおりです。
非同期 ( 調歩同期 )
φ /(16 × β)
CLK 同期
φ / β
φ : 周辺系マシンクロック周波数
β : U-TIMER で設定した周期 (2n + 2 または 2n + 3, n はリロード値 )
非同期 ( 調歩同期 ) モードのボーレートは , 設定したボーレートの− 1% ∼+ 1% まで
の範囲で転送が可能です。
● 外部クロック
CS0 を "1" に設定して外部クロックを選択した場合のボーレートは , 外部クロックの周
波数を f とすると次のようになります。
非同期 ( 調歩同期 )
f/16
CLK 同期
f
ただし , f は最大で周辺系クロック /8 です。33 MHz の場合は 4.125 MHz までです。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
287
第 10 章 UART
10.3
MB91402/403 シリーズ
■ 非同期 ( 調歩同期 ) モード
● 転送データフォーマット
UART は , NRZ(Non Return to Zero) 形式のデータのみを扱います。図 10.3-1 に , データ
フォーマットを示します。
図 10.3-1 転送データフォーマット ( モード 0, モード 1)
SIN, SOUT
0
1
0
1
1
0
0
1
0
1
1
STOP
MSB
A/D STOP
Start LSB
(モード0)
(モード1)
転送されたデータは 01001101B
図 10.3-1 に示すように , 転送データは必ずスタートビット ("L" レベル データ ) より始
まり , LSB ファーストで指定されたデータビット長の転送が行われ , ストップビット
("H" レベル データ ) で終了します。外部クロックを選択している場合は , 常にクロッ
クを入力してください。
ノーマルモード ( モード 0) ではデータ長を 7 ビットまたは 8 ビットに設定することが
できますが , マルチプロセッサモード ( モード 1) では 8 ビットでなければなりません。
また, マルチプロセッサモードではパリティを付加することはできません。そのかわり,
A/D ビットが必ず付加されます。
● 受信動作
SCR レジスタの RXE ビット (bit1) が "1" ならば , 常に受信動作が行われています。
受信ラインにスタートビットが現れると , SCR レジスタで決められたデータフォー
マットに従って 1 フレームデータの受信が行われます。1 フレームの受信が終わると ,
エラーが発生した場合にはエラーフラグのセットが行われた後に RDRF フラグ(SSRレ
ジスタ bit4 ) がセットされます。このとき , 同じ SSR レジスタの RIE ビット (bit1) が
"1" にセットされていると CPU に対して受信割込みが発生します。SSR レジスタの各
フラグを調べ , 正常受信なら SIDR レジスタを読み出して , エラーが発生していれば必
要な処理を行うようにしてください。
RDRF フラグは , SIDR レジスタを読み出すとクリアされます。
● 送信動作
SSR レジスタの TDRE フラグ (bit3) が "1" のとき , SODR レジスタに送信データを書き
込みます。ここで , SCR レジスタの TXE ビット (bit0) が "1" の場合には送信が行われ
ます。
SODR レジスタにセットしたデータが送信用シフトレジスタにロードされて送信が開
始されると TDRE フラグが再びセットされ , 次の送信データをセットできるようにな
ります。このとき , 同じ SSR レジスタの TIE ビット (bit0) が "1" にセットされていると
CPU に対して送信割込みが発生して , SODR レジスタに送信データをセットするよう
に要求します。
TDRE フラグは , SODR レジスタにデータをセットするといったんクリアされます。
288
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 10 章 UART
10.3
MB91402/403 シリーズ
■ クロック同期モード
● 転送データフォーマット
UART は , NRZ(Non Return to Zero) 形式のデータのみを扱います。図 10.3-2 に , 送受信
クロックとデータとの関係を示します。
図 10.3-2 転送データフォーマット ( モード 2)
SODR書込み
マーク
SCK
RXE, TXE
SIN, SOUT
1
LSB
0
1
1
0
0
1
0
MSB
(モード2)
転送されたデータは,01001101B
内部クロック (U-TIMER ) を選択している場合は , データを送信するとデータ受信用同
期クロックが自動的に生成されます。また , 外部クロックを選択している場合は , 送信
側 UART の送信用データバッファ SODR レジスタにデータがあること (TDRE フラグ
が "0") を確かめた後 , 正確に 1 バイト分のクロックを供給する必要があります。また ,
送信開始前と終了後は , 必ずマークレベルにしてください。
データ長は 8 ビットのみとなり , パリティを付加することはできません。また , スター
ト / ストップビットがないのでオーバランエラー以外のエラー検出は行われません。
● 初期化
クロック同期モードを使用する場合の各制御レジスタの設定値を示します。
① SMR レジスタ
MD1, MD0
:"10B"
CS
:クロック入力を指定
SOE
:送信を行う場合は "1", 受信のみの場合は "0"
② SCR レジスタ
PEN
:"0"
P, SBL, A/D
:これらのビットには意味がありません
CL
:"1"
REC
:"0" ( 初期化するため )
RXE, TXE
:少なくとも , どちらか一方を "1"
③ SSR レジスタ
CM71-10131-1
RIE
:割込みを使用する場合は "1", 割込みを使用しない場合 は "0"
TIE
:"0"
FUJITSU MICROELECTRONICS LIMITED
289
第 10 章 UART
10.3
MB91402/403 シリーズ
● 通信開始
SODR レジスタへの書込みによって通信を開始します。受信のみの場合でも , 必ず仮の
送信データを SODR レジスタに書き込む必要があります。
● 通信終了
SSR レジスタの RDRF フラグが "1" に変化したことにより確認できます。SSR レジス
タの ORE ビットによって , 通信が正常に行われたかを判断してください。
■ 割込み発生およびフラグのセットタイミング
UART には , 5 つのフラグと 2 つの割込み要因があります。
5 つのフラグとは PE/ORE/FRE/RDRF/TDRE です。PE はパリティエラー , ORE はオー
バランエラー , FRE はフレーミングエラーのことで , 受信時エラーが発生したときに
セットされ , SCR レジスタの REC に "0" を書き込むとクリアされます。RDRF は受信
データが SIDR レジスタにロードされるとセットされ , SIDR レジスタを読み出すこと
でクリアされます。ただし , モード 1 ではパリティ検出機能 , モード 2 ではパリティ検
出機能とフレーミングエラー検出機能はありません。TDRE は , SODR レジスタが空に
なり , 書込み可能な状態になるとセットされ , SODR レジスタへ書き込むとクリアされ
ます。
2 つの割込み要因は , 受信用のものと送信用のものです。受信時は , PE/ORE/FRE/RDRF
により割込みを要求します。送信時は , TDRE により割込みを要求します。各動作モー
ドによる割込みフラグのセットタイミングを以下に示します。
● モード 0 の受信動作時
PE, ORE, FRE, RDRF は受信転送が終了して最後のストップビットを検出するときにフ
ラグがセットされ, CPUへの割込み要求が発生します。
PE, ORE, FREがアクティブ時は,
SIDR のデータは無効データとなります。
図 10.3-3 ORE, FRE, RDRF のセットタイミング ( モード 0)
データ
D6
D7
STOP
PE, ORE, FRE
RDRF
受信割込み
290
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 10 章 UART
10.3
MB91402/403 シリーズ
● モード 1 の受信動作時
ORE, FRE, RDRF は受信転送が終了して最後のストップビットを検出するときにフラ
グがセットされ , CPU への割込み要求が発生します。また , 受信可能なデータ長は 8
ビットのため , 最後の 9 ビット目のアドレス / データを示すデータは無効データとなり
ます。ORE, FRE がアクティブ時は , SIDR のデータは無効データとなります。
図 10.3-4 ORE, FRE, RDRF のセットタイミング ( モード 1)
データ
D7
アドレス/
データ
STOP
PE, ORE, FRE
RDRF
受信割込み
● モード 2 の受信動作時
ORE, RDRF は受信転送が終了し , 最後のデータ (D7) を検出するときにフラグがセット
され , CPU への割込み要求が発生します。ORE がアクティブ時は , SIDR のデータは無
効データとなります。
図 10.3-5 ORE, RDRF のセットタイミング ( モード 2)
データ
D5
D6
D7
PE, ORE, FRE
RDRF
受信割込み
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
291
第 10 章 UART
10.3
MB91402/403 シリーズ
● モード 0, モード 1, モード 2 の送信動作時
TDRE は SODR レジスタへ書き込まれるとクリアされ , 内部のシフトレジスタに転送
されて次のデータ書込みが可能な状態になるとセットされ , CPU への割込み要求が発
生します。送信動作中に SCR レジスタの TXE に "0"( モード 2 のときは RXE も含む )
を書き込むと , SSR レジスタの TDRE が "1" となり , 送信用のシフタが停止してから
UART の送信動作を禁止します。送信動作中に SCR レジスタの TXE に "0"( モード 2
のときは RXE も含む ) を書き込んだ後 , 送信が停止する前に SODR レジスタへ書き込
まれたデータが送信されます。
図 10.3-6 TDRE のセットタイミング ( モード 0, モード 1)
SODR書込み
TDRE
CPUへ割込みを要求する
SO割込み
SOUT[n]出力
ST D0 D1 D2 D3 D4 D5 D6 D7
SP
SP ST D0 D1
A/D
ST :スタートビット D0~D7 :データビット
SP :ストップビット A/D
: アドレス/データマルチプレクサ
図 10.3-7 TDRE のセットタイミング ( モード 2)
SODR書込み
TDRE
CPUへ割込みを要求する
SO割込み
SOUT[n]出力
D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5
D0~D7 :データビット
■ 使用上の注意
通信モードの設定は , 動作停止中に行ってください。モード設定時に送受信したデータ
は保証されません。割込みによる DMA 転送を最初に起動する前に DRCL レジスタに
書き込んでください。
292
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 10 章 UART
10.4
MB91402/403 シリーズ
10.4
UART の応用例
UART の応用例を示します。
モード 1 は , 1 台のホスト CPU に数台のスレーブ CPU が接続されるような場合に
使用されます。
■ UART の応用例
モード 1 を使用した場合のシステム構築例を図 10.4-1 に示します。
このリソースでは , ホスト側の通信インタフェースのみをサポートします。
図 10.4-1 モード 1 を使用時のシステム構築例
SOUT[n]
SIN[n]
ホストCPU
SOUT SIN
スレーブCPU#0
SOUT SIN
スレーブCPU#1
通信はホスト CPU がアドレスデータを転送することによって始まります。アドレス
データとは , SCR レジスタの A/D が "1" のときのデータで , それにより通信先となるス
レーブ CPU が選択されてホスト CPU との通信が可能になります。通常データは , SCR
レジスタのA/Dが"0"のときのデータです。図 10.4-2 にそのフローチャートを示します。
このモードにおいては , パリティチェック機能を使用できませんので SCR レジスタの
PEN ビットを "0" としてください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
293
第 10 章 UART
10.4
MB91402/403 シリーズ
図 10.4-2 モード 1 使用時の通信フローチャート
(ホストCPU)
START
転送モードを"1"とする
D0~D7にスレーブCPUを
選択するデータ、A/Dに"1"
をセットして1バイト転送
A/Dに"0"をセット
受信動作許可
スレーブCPU と通信
NO
通信終了?
YES
ほかの
スレーブCPUと
通信
NO
YES
受信動作禁止
END
294
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 10 章 UART
10.5
MB91402/403 シリーズ
ボーレートと U-TIMER のリロード値の設定例
10.5
ボーレートと U-TIMER のリロード値の設定例を示します。
■ ボーレートと U-TIMER のリロード値の設定例
表中の周波数は , 周辺系マシンクロック周波数を表します。また , UCC1 は U-TIMER
の UTIMC レジスタの UCC1 ビットに設定する値です。
表中の "-" 部は , 誤差が± 1% を超えてしまうため使用できないことを示します。
表 10.5-1 非同期 ( 調歩同期 ) モード
ボーレート
(bps)
同期
(ms)
16.5 MHz
12.5 MHz
10 MHz
8.25 MHz
1200
833.33
428(UCC1=1)
324(UCC1=1)
259(UCC1=1)
214(UCC1=0)
2400
416.67
214(UCC1=0)
162(UCC1=0)
129(UCC1=0)
106(UCC1=1)
4800
208.33
106(UCC1=1)
80(UCC1=1)
64(UCC1=0)
52(UCC1=1)
9600
104.17
52(UCC1=1)
39(UCC1=1)
31(UCC1=1)
26(UCC1=0)
19200
52.08
26(UCC1=0)
19(UCC1=1)
──
12(UCC1=1)
38400
26.04
12(UCC1=1)
12(UCC1=1)
──
57600
17.36
8(UCC1=0)
10400
96.15
49(UCC1=0)
──
36(UCC1=1)
──
29(UCC1=0)
──
3(UCC1=1)
24(UCC1=0)
31250
32.00
15(UCC1=1)
11(UCC1=1)
9(UCC1=0)
──
62500
16.00
──
──
4(UCC1=0)
──
16.5 MHz
12.5 MHz
10 MHz
8.25 MHz
表 10.5-2 クロック同期モード
ボーレート
(bps)
同期
(ms)
250K
4.00
32(UCC1=0)
24(UCC1=0)
19(UCC1=0)
15(UCC1=1)
500K
2.00
15(UCC1=1)
11(UCC1=1)
9(UCC1=0)
7(UCC1=1)
1M
1.00
7(UCC1=1)
5(UCC1=0)*
4(UCC1=0)
3(UCC1=1)
* : ± 1% 以上の誤差あり
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
295
第 10 章 UART
10.5
296
MB91402/403 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章
DMAC
(DMA コントローラ )
DMA コントローラ (DMAC) の概要 , レジスタの構
成 / 機能 , および DMA コントローラ (DMAC) の動
作について説明します。
11.1 DMAC の概要
11.2 DMAC のレジスタ
11.3 DMAC の動作
11.4 転送要求の設定
11.5 転送シーケンス
11.6 DMA 転送全般
11.7 動作フローチャート
11.8 データパス
11.9 DMA 設定例
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
297
第 11 章 DMAC (DMA コントローラ )
11.1
11.1
MB91402/403 シリーズ
DMAC の概要
DMAC は , DMA(Direct Memory Access) 転送を実現するためのモジュールです。
DMA 転送により , CPU を介さずに各種データ転送を高速に行うことが可能となり ,
システムのパフォーマンスを向上させます。
■ DMAC のハードウェア構成
本モジュールは , 主に以下のものより構成されます。
• 独立した DMA チャネル× 5 チャネル
• 5 チャネル独立アクセス制御回路
• 32 ビット アドレスレジスタ ( リロード指定可能:各チャネル 2 本 )
• 16 ビット 転送回数レジスタ ( リロード指定可能:各チャネル 1 本 )
• 4 ビットブロック回数レジスタ ( 各チャネル 1 本 )
• フライバイ転送 (I/O →メモリ )
I/O 側のアクセス信号のために , IORD が出力されます。
• 2 サイクル転送
■ DMAC の主要機能
本モジュールによるデータ転送には主に以下のような機能があります。
複数チャネルの独立したデータ転送が可能 (5 チャネル )
(1) 優先順位 (ch.0>ch.1>ch.2>ch.3>ch.4)
(2) ch.0, ch.1 間にて順位回転を可能
(3) DMAC 起動要因
• 外部専用端子入力 ( エッジ検出 / レベル検出 ch.0 ∼ ch.2 のみ )
• 内蔵周辺要求 ( 割込み要求を共用 --- 外部割込みを含む )
• ソフトウェア要求 ( レジスタ書込み )
(4) 転送モード
• デマンド転送 / バースト転送 / ステップ転送 / ブロック転送
• アドレッシングモード 32 ビットフルアドレス指定 ( 増加 / 減少 / 固定 )
( アドレス増減幅は− 255 ∼+ 255 まで指定可能 )
• データの種類バイト / ハーフワード / ワード長
• シングルショット / リロード選択可能
298
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.1
MB91402/403 シリーズ
図 11.1-1 DMA チャネルの接続
MB91402/403シリーズ
FRコア
DREQ0
DACK0
DMAC
(ch.0)
IORD
Ethernet MAC IF
DEOP0
EOT0
DREQ1
DACK1
DMAC
(ch.1)
IORD
DEOP1
MPU IF
開放
EOT1
DMAC
(ch.2~ch.4)
CM71-10131-1
DREQ以外からの要因
FUJITSU MICROELECTRONICS LIMITED
299
第 11 章 DMAC (DMA コントローラ )
11.1
MB91402/403 シリーズ
■ DMAC のレジスタ一覧
図 11.1-2 DMAC のレジスタ一覧
bit 31
ch.0 コントロール / ステータスレジスタ A DMACA0
00000200H
ch.0 コントロール / ステータスレジスタ B DMACB0
00000204H
ch.1 コントロール / ステータスレジスタ A DMACA1
00000208H
ch.1 コントロール / ステータスレジスタ B DMACB1
0000020CH
ch.2 コントロール / ステータスレジスタ A DMACA2
00000210H
ch.2 コントロール / ステータスレジスタ B DMACB2
00000214H
ch.3 コントロール / ステータスレジスタ A DMACA3
00000218H
ch.3 コントロール / ステータスレジスタ B DMACB3
0000021CH
ch.4 コントロール / ステータスレジスタ A DMACA4
00000220H
ch.4 コントロール / ステータスレジスタ B DMACB4
00000224H
全体制御レジスタ
DMACR
00000240H
ch.0 転送元アドレスレジスタ
DMASA0
00001000H
ch.0 転送先アドレスレジスタ
DMADA0
00001004H
ch.1 転送元アドレスレジスタ
DMASA1
00001008H
ch.1 転送先アドレスレジスタ
DMADA1
0000100CH
ch.2 転送元アドレスレジスタ
DMASA2
00001010H
ch.2 転送先アドレスレジスタ
DMADA2
00001014H
ch.3 転送元アドレスレジスタ
DMASA3
00001018H
ch.3 転送先アドレスレジスタ
DMADA3
0000101CH
ch.4 転送元アドレスレジスタ
DMASA4
00001020H
ch.4 転送先アドレスレジスタ
DMADA4
00001024H
300
FUJITSU MICROELECTRONICS LIMITED
24 23
16 15
87
0
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.1
MB91402/403 シリーズ
■ DMAC 5 チャネルブロックダイヤグラム
図 11.1-3 DMAC 5 チャネルブロックダイヤグラム
カウンタ
バスコントローラへ
DMA転送要求
DMA起動
要因選択回路
&
要求受付け制御
セレクタ
ライトバック
バッファ
DTC 2段レジスタ
ペリフェラル起動要求/停止入力
外部端子起動要求/停止入力
DTCR
カウンタ
DSS2~DSS0
読出し
書込み
読出し/書込み
制御
優先度回路
割込みコントローラへ
ERIE,EDIE
セレクタ
周辺割込みクリア
BLKレジスタ
状態遷移回路
セ
レ
ク
タ
DDNO
バスコン
トローラ
へ
バ
ス
制
御
部
ア
ド
レ
アクセス ス
カ
アドレス
ウ
ン
タ
CM71-10131-1
カ
ウ
ン
タ
バ
ッ
フ
ァ
カ
ウ
ン
タ
バ
ッ
フ
ァ
TYPE1, TYPE0,
MOD1, MOD0,
WS1, WS0
DDNOレジスタ
MCLREQ
バ
ス
制
御
部
DMAコントロール
セ
レ
ク
タ
IRQ4~IRQ0
X-bus
バッファ
DSAD 2段レジスタ
SADM,
SASZ7~SASZ0
SADR
DDAD 2段レジスタ
DADM,
DASZ7~DASZ0
DADR
ライトバック
セ
レ
ク
タ
ライトバック
FUJITSU MICROELECTRONICS LIMITED
301
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
DMAC のレジスタ
11.2
DMAC で使用するレジスタの構成および機能について説明します。
■ レジスタ設定時の注意
DMAC の設定をする場合 , DMA が停止しているときに行う必要があるビットがありま
す。動作中 ( 転送中 ) に設定した場合には正常な動作が保証されません。
* マークは DMAC 転送中に設定すると動作に影響するビットです。このビットの書換
えは DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってください。
DMA 転送の起動禁止状態 (DMACR:DMAE=0 または DMACA:DENB=0) のときに設定
した場合は , 起動許可後に設定が有効になります。
DMA転送の一時停止状態(DMACR:DMAH3∼DMAH0≠0000BまたはDMACA:PAUS=1)
のときに設定した場合は , 一時停止解除後に設定が有効になります。
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4
(DMACA0 ∼ DMACA4)
コントロール / ステータスレジスタ A
DMAC各チャネルの動作を制御するレジスタで, チャネルごとに独立して存在します。
各ビットの機能は以下に示すとおりです。
図 11.2-1 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ A
(DMACA0 ∼ DMACA4) のビット構成
アドレス
ch.0
ch.1
ch.2
ch.3
ch.4
0000 0200H
0000 0208H
0000 0210H
0000 0218H
0000 0220H
bit
31
30
29
28
27
26
25
24
23
21
20
19
Reserved
IS4 ∼ IS0
DENB PAUS STRG
22
18
17
16
BLK3 ∼ BLK0
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
bit
15
14
13
11
11
10
9
8
7
6
5
4
3
2
1
0
DTC15 ∼ DTC0
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:リード / ライト可能
( 初期値:00000000_00000000_0000XXXX_XXXXXXXXB)
[bit31] DENB (Dma ENaBle) :DMA 動作許可ビット
各転送チャネルに対応し , DMA 転送の起動許可 / 禁止を行います。
起動されたチャネルは , 転送要求が発生して受け付けられると DMA 転送を開始し
ます。
起動許可されていないチャネルに対して発生した転送要求は , すべて無効となりま
す。
起動されたチャネルの転送が指定回数分すべて終了した場合 , 本ビットは "0" にな
り , 転送を停止します。
本ビットに "0" を書き込むと強制停止しますが , 必ず PAUS ビット [DMACA:bit30]
で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) してください。一時停止
しないで強制停止した場合は DMA を停止しますが転送データは保証されません。
停止の確認を DSS2 ∼ DSS0 ビット [DMACB:bit18 ∼ bit16] で行ってください。
302
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.2
表 11.2-1 DMA 動作制御
DENB
機 能
0
対応チャネル DMA 動作禁止 ( 初期値 )
1
対応チャネル DMA 動作許可
• リセット時 , 停止要求が受け付けられた場合:"0" に初期化されます。
• 読出し / 書込み可能です。
• DMAC 全体制御レジスタ DMACR の bit15:DMAE ビットにより , 全チャネルの動
作が禁止されている場合 , 本ビットへの "1" 書込みは無効となり , 停止状態を維
持します。また , 本ビットにより動作が許可されている状態にて前記ビットによ
り動作が禁止された場合 , 本ビットは "0" となり , 転送を中断します ( 強制停止 )。
[bit30] PAUS (PAUSe):一時停止指示
対応するチャネルの DMA 転送の一時停止制御を行います。本ビットがセットされ
ると , 再び本ビットがクリアされるまでの間は DMA 転送を行いません (DMA が停
止中は DSS ビットが "1xxB" になります )。
本ビットをセットしてから起動した場合 , 一時停止状態のままとなります。
本ビットがセットされている間に新たに発生した転送要求は受け付けられますが ,
本ビットをクリアしないと転送を開始しません (「11.6 DMA 転送全般 ■転送要求
の受付けと転送」を参照 )。
表 11.2-2 DMA 転送の一時停止制御
PAUS
機 能
0
対応チャネル DMA 動作許可 ( 初期値 )
1
対応チャネル DMA 一時停止
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
[bit29] STRG (Software TRiGger) :転送要求
対応するチャネルの DMA 転送要求を生成します。本ビットに "1" を書き込むと , レ
ジスタへの書込みが終了した時点より転送要求が発生し , 対応チャネルの転送を開
始します。ただし , 対応するチャネルが起動されていない場合は , 本ビットへの操
作は無効となります。
( 注意事項 ) DMAE ビットの書込みによる起動と同時に本ビットによる転送要求が
同時の場合 , 転送要求は有効となり , 転送を開始します。また , PAUS
ビットへの"1"書込みと同時である場合,転送要求は有効となりますが,
PAUS ビットを "0" に戻すまで DMA 転送を開始しません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
303
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
表 11.2-3 DMA 転送要求の生成
STRG
機 能
0
無効
1
DMA 起動要求
• リセット時:"0" に初期化されます。
• 読出し値は常に "0" となります。
• 書込み値は "1" のみ有効で , "0" は動作に影響を与えません。
[bit28 ∼ bit24] IS4 ∼ IS0 (Input Select)*:転送要因選択
転送要求の要因を以下のように選択します。ただし , STRG ビット機能によるソフ
トウェア転送要求は本設定にかかわらず有効となります。
表 11.2-4 転送要求の要因選択
IS
00000B
機能
ソフトウェア転送要求にのみ有効
00001B
↓
01101B
設定禁止
01110B
DREQ "H" レベル または ↑エッジ検出
01111B
DREQ "L" レベル または ↓エッジ検出
10000B
UART0 受信完了
10001B
UART1 受信完了
10010B
UART0 送信完了
10011B
UART1 送信完了
10100B
設定禁止
10101B
設定禁止
10110B
リロードタイマ 0
10111B
リロードタイマ 1
11000B
設定禁止
11001B
設定禁止
11010B
↓
11111B
設定禁止
• リセット時:"00000B" に初期化されます。
• 読出し / 書込み可能です。
304
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
<注意事項>
• デマンド転送モードを選択した場合は , IS4 ∼ IS0=01110B, 01111B にのみ設定可能で
す。ほかの要因での起動はしないでください。
• 外部要求入力は , ch.0, ch.1, ch.2 にのみ有効です。ch.3, ch.4 は外部要求入力は選択で
きません。また , レベル検出かエッジ検出かはモード設定により決定されます ( デマン
ド転送はレベル , ほかはエッジ検出になります )。
[bit23 ∼ bit20] Reserved
• リセット時:"0000B" に初期化されます。
• 書込み時
:"0000B" を設定してください。
[bit19 ∼ bit16] BLK3 ∼ BLK0 (BLocK size) :ブロックサイズ指定
対応するチャネルのブロック転送時のブロックサイズを指定します。本ビットに設定
した値が 1 回の転送単位におけるワード数 ( 正確には , データ幅設定の繰返し回数 ) と
なります。ブロック転送を行わない場合は 0001B ( サイズ 1) を設定してください ( デ
マンド転送時は本レジスタ値は無視されてサイズ 1 となります )。
表 11.2-5 ブロックサイズの指定
BLK3 ∼ BLK0
XXXXB
機 能
対応チャネルのブロックサイズ指定
• リセット時:初期化されません。
• 読出し / 書込み可能です。
• 全ビット "0" を指定した場合 , ブロックサイズは 16 ワードとなります。
• 読出し時は , 常にブロックサイズ ( リロード値 ) が読み出されます。
[bit15 ∼ bit0] DTC15 ∼ DTC0 (Dma Terminal Count register) *:転送回数レジスタ
転送回数を格納するレジスタです。各レジスタは 16 ビット長で構成されています。
すべてのレジスタには専用のリロードレジスタがあります。転送回数レジスタの
リロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設定
値をレジスタに戻します。
表 11.2-6 転送回数の指定
DTC15 ∼ DTC0
XXXXH
機 能
対応チャネルの転送回数指定
DMA 転送が起動すると , 本レジスタのデータを DMA 専用転送回数カウンタのカウ
ンタバッファに格納して 1 転送単位ごとに− 1 カウントします ( 減算 )。DMA の転
送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は終了
します。よって , DMA 動作中の転送回数値を読み出すことはできません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
305
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
• 読出し / 書込み可能です。DTC のアクセスは , 必ずハーフワード長またはワード
長にてアクセスしてください。
• 読出し時の値は , カウント値となります。リロード値の読出しはできません。
306
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4
(DMACB0 ∼ DMACB4)
コントロール / ステータスレジスタ B
DMAC各チャネルの動作を制御するレジスタで, チャネルごとに独立して存在します。
各ビットの機能は以下に示すとおりです。
図 11.2-2 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4
コントロール / ステータスレジスタ B
(DMACB0 ∼ DMACB4) のビット構成
bit
アドレス
ch.0
ch.1
ch.2
ch.3
ch.4
0000 0204H
0000 020CH
0000 0214H
0000 021CH
0000 0224H
31
30
TYPE1,
TYPE0
29
28
27
MOD1,
MOD0
26
WS1,
WS0
25
24
23
22
21
20
19
SAD
M
DAD
M
DTC
R
SAD
R
DAD
R
ERIE
EDIE
18
17
16
DSS2 ∼
DSS0
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
bit
15
14
13
11
11
10
9
8
7
6
SASZ7 ∼ SASZ0
5
4
3
2
1
0
DASZ7 ∼ DASZ0
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:リード / ライト可能
( 初期値:00000000_00000000_XXXXXXXX_XXXXXXXXB)
[bit31, bit30] TYPE1, TYPE0 (TYPE) *:転送タイプ設定
対応チャネルの動作タイプを以下のように設定します。
2 サイクル転送モード : 転送元アドレス (DMASA) と転送先アドレス (DMADA) を
設定して読出し動作と書込み動作を転送回数分繰り返し
て転送するモード。転送元 / 転送先ともに全領域 (32 ビッ
トアドレス ) 指定可能です。
フライバイ転送モード : 転送先アドレス (DMADA) にメモリアドレスを設定するこ
とにより外部 ↔ 外部転送を 1 サイクルで行うモード。メ
モリアドレスは必ず外部領域を指定してください。
表 11.2-7 転送タイプの設定
TYPE1, TYPE0
機 能
00B
2 サイクル転送 ( 初期値 )
01B
フライバイ : メモリ→ I/O 転送
10B
フライバイ : I/O →メモリ転送
11B
設定禁止
• リセット時:"00B" に初期化されます。
• 読出し / 書込み可能です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
307
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
[bit29, bit28] MOD1, MOD0 (MODE)* :転送モード設定
対応チャネルの動作モードを以下のように設定します。
表 11.2-8 転送モードの設定
MOD1, MOD0
機 能
00B
ブロック / ステップ転送モード
01B
バースト転送モード
10B
デマンド転送モード
11B
設定禁止
( 初期値 )
• リセット時:"00B" に初期化されます。
• 読出し / 書込み可能です。
[bit27, bit26] WS1, WS0 (Word Size) :転送データ幅選択
対応チャネルの転送データ幅を選択します。本レジスタに設定したデータ幅単位で
指定回数分の転送を行います。
表 11.2-9 転送データ幅の選択
WS1, WS0
機 能
00B
バイト単位で転送
01B
ハーフワード単位で転送
10B
ワード単位で転送
11B
設定禁止
( 初期値 )
• リセット時:"00B" に初期化されます。
• 読出し / 書込み可能です。
[bit25] SADM (Source-ADdr. Count-Mode select) *:
転送元アドレスカウントモード
指定
対応するチャネルの転送元アドレスの 1 転送ごとのアドレス処理を指定します。
アドレス増加 / 減少は , 設定された転送元アドレスカウント幅 (SASZ) に従って 1 転
送後に加算 / 減算され , 転送終了時に次回アクセス用アドレスが対応するアドレス
レジスタ (DMASA) に書き込まれます。
よって , DMA 転送が終了されるまで転送元アドレスレジスタは更新されません。
アドレス固定にする場合は,本レジスタを増減に指定してアドレスカウント幅を"0"
としてください。
308
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.2
表 11.2-10 転送元アドレスカウントモードの指定
SADM
機 能
0
転送元アドレスは増加 ( 初期値 )
1
転送元アドレスは減少
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
[bit24] DADM (Destination-ADdr. Count-Mode select) *:
転送先アドレスカウント
モード指定
対応するチャネルの転送先アドレスの 1 転送ごとのアドレス処理を指定します。
アドレス増加 / 減少は , 設定された転送先アドレスカウント幅 (DASZ) に従って 1 転
送後に加算 / 減算され , 転送終了時に次回アクセス用アドレスが対応するアドレス
レジスタ (DMADA) に書き込まれます。
よって , DMA 転送が終了されるまで転送先アドレスレジスタは更新されません。
アドレス固定にする場合は,本レジスタを増減に指定してアドレスカウント幅を"0"
としてください。
表 11.2-11 転送先アドレスカウントモードの指定
DADM
機 能
0
転送先アドレスは増加 ( 初期値 )
1
転送先アドレスは減少
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
[bit23] DTCR (DTC-reg. Reload)*:転送回数レジスタリロード指定
対応するチャネルの転送回数レジスタのリロード機能を制御します。
本ビットによりリロード動作が許可されている場合 , 転送終了後に回数レジスタ値
を初期設定値に戻して再度転送を起動します。
回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード
指定をしていても , 転送終了にて停止するシングルショット動作となります。
表 11.2-12 転送回数レジスタリロードの指定
DTCR
機 能
0
転送回数レジスタリロードを禁止
1
転送回数レジスタリロードを許可
( 初期値 )
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
309
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
[bit22] SADR (Source-ADdr.-reg. Reload) *:転送元アドレスレジスタリロード指定
対応するチャネルの転送元アドレスレジスタのリロード機能を制御します。
本ビットによりリロード動作が許可されている場合 , 転送終了後に転送元アドレス
レジスタ値を初期設定値に戻します。
回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード
指定をしていても , 転送終了にて停止するシングルショット動作となります。この
場合 , アドレスレジスタ値は初期設定値がリロードされた状態で停止します。
本ビットによりリロード動作が禁止されている場合は , 転送終了時のアドレスレジ
スタ値は最終アドレスの次のアクセスアドレスとなります ( アドレス増加を指定し
ている場合は , 増加したアドレスとなります )。
表 11.2-13 転送元アドレスレジスタリロードの指定
SADR
機 能
0
転送元アドレスレジスタリロード禁止 ( 初期値 )
1
転送元アドレスレジスタリロード許可
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
[bit21] DADR (Dest.-ADdr.-reg. Reload)*:転送先アドレスレジスタリロード指定
対応するチャネルの転送先アドレスレジスタのリロード機能を制御します。
本ビットによりリロード動作が許可されている場合 , 転送終了後に転送先アドレス
レジスタ値を初期設定値に戻します。
その他 , 機能の詳細は bit22:SADR の内容と等価になります。
表 11.2-14 転送先アドレスレジスタリロードの指定
DADR
機 能
0
転送先アドレスレジスタリロード禁止 ( 初期値 )
1
転送先アドレスレジスタリロード許可
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
310
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
[bit20] ERIE (ERror Interrupt Enable)* :エラー割込み出力許可
エラー発生による終了時の割込み発生を制御します。 発生したエラーの内容は
DSS2 ∼ DSS0 にて示されます。すべての終了要因で本割込みが発生するのではな
く , 特定の終了要因の際にのみ割込みが発生することに注意してください (DSS2 ∼
DSS0 ビットの説明を参照 )。
表 11.2-15 エラー割込み発生の制御
ERIE
機 能
0
エラー割込み要求出力禁止
1
エラー割込み要求出力許可
( 初期値 )
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
[bit19] EDIE (EnD Interrupt Enable) *:終了割込み出力許可
正常終了時の割込み発生を制御します。
表 11.2-16 終了割込み発生の制御
EDIE
機 能
0
終了割込み要求出力禁止
1
終了割込み要求出力許可
( 初期値 )
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
[bit18 ∼ bit16] DSS2 ∼ DSS0 (DMA Stop Status)*:転送停止要因表示
対応するチャネルの DMA 転送停止 / 終了の要因を示す 3 ビット のコード ( 終了コー
ド ) を表示します。終了コードの内容は以下のとおりです。
表 11.2-17 DMA 転送停止 / 終了の要因表示
DSS2 ∼ DSS0
機 能
割込み発生
000B
初期値
x01B
アドレスエラー ( アンダフロー / オーバフロー )
エラー
x10B
転送停止要求
エラー
x11B
正常終了
終了
1xxB
DMA 一時停止中
(DMAH, PAUS ビット , 割込みなど )
なし
なし
転送停止要求は , 周辺回路からの要求を使用した場合にのみセットされます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
311
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
<注意事項>
「割込み発生」欄は , 発生可能な割込み要求の種類を示します。
• リセット時:"000B" に初期化されます。
• "000B" を書き込むことにより , クリアされます。
• 読出し / 書込み可能ですが , 本ビットへの書込みは "000B" のときのみ有効となります。
[bit15 ∼ bit8] SASZ7 ∼ SASZ0 (Source Addr. count SiZe) * : 転送元アドレスカウント
サイズ指定
対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減を指定します。
本ビットに設定した値が 1 回の転送単位におけるアドレス増減となります。アドレ
スの増減は転送元アドレスカウントモード (SADM) の指定に従います。
表 11.2-18 転送元アドレスカウントサイズ指定
SASZ7 ∼ SASZ0
XXH
機 能
転送元アドレスの増減幅を指定します。0 ∼ 255
• リセット時:初期化されません。
• 読出し / 書込み可能です。
[bit7 ∼ bit0] DASZ7 ∼ DASZ0 (Des Addr. count size) * : 転送先アドレスカウント
サイズ指定
対応するチャネルの 1 転送ごとの転送先アドレス (DMADA) の増減を指定します。
本ビットに設定した値が一回の転送単位におけるアドレス増減となります。アドレ
スの増減は転送先アドレスカウントモード (DADM) の指定に従います。
表 11.2-19 転送先アドレスカウントサイズ指定
DASZ7 ∼ DASZ0
XXH
機 能
転送先アドレスの増減幅を指定します。0 ∼ 255
• リセット時:初期化されません。
• 読出し / 書込み可能です。
312
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
■ DMAC-ch.0, ch.1 , ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ
(DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4)
DMAC 各チャネルの動作を制御するレジスタで , チャネルごとに独立して存在します。
各ビットの機能は以下に示すとおりです。
図 11.2-3 DMAC-ch.0, ch.1 , ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ
(DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) のビット構成
bit
アドレス
ch.0
ch.1
ch.2
ch.3
ch.4
0000 1000H
0000 1008H
0000 1010H
0000 1018H
0000 1020H
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
DMASA31 ∼ DMASA16
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
bit
15
14
13
11
11
10
9
8
7
6
5
4
3
2
1
0
DMASA15 ∼ DMASA0
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
( 初期値:XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXXXB)
bit
ch.0
ch.1
ch.2
ch.3
ch.4
0000 1004H
0000 100CH
0000 1014H
0000 101CH
0000 1024H
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
DMADA31 ∼ DMADA16
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
bit
15
14
13
11
11
10
9
8
7
6
5
4
3
2
1
0
DMADA15 ∼ DMADA0
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:リード / ライト可能
( 初期値:XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXXXB)
転送元 / 転送先アドレスを格納するレジスタ群です。各レジスタは 32 ビット長で構成
されています。
[bit31 ∼ bit0] DMASA31 ∼ DMASA0 (DMA Source Addr.) *: 転送元アドレス設定
転送元アドレスを設定します。
[bit31 ∼ bit0] DMADA31 ∼ DMADA0 (DMA Destination Addr.) *:転送先アドレス設定
転送先アドレスを設定します。
DMA 転送が起動すると , 本レジスタのデータを DMA 専用アドレスカウンタのカウ
ンタバッファに格納して 1 転送ごとに設定に従ってアドレスカウントします。DMA
の転送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA を
終了します。
よって, DMA動作中のアドレスカウンタ値を読み出すことはできません。
すべてのレジスタには専用のリロードレジスタがあります。転送元 / 転送先アドレ
スレジスタのリロードを許可しているチャネルに使用した場合 , 転送終了時に自動
的に初期設定値をレジスタに戻します。この際 , ほかのアドレスレジスタには影響
を与えません。
• リセット時:初期化されません。
• 読出し / 書込み可能です。本レジスタには , 必ず 32 ビットデータでアクセスして
ください。
• 読出し時の値は , 転送中は転送前のアドレス値 , 転送終了時には次のアクセスア
ドレス値となります。リロード値の読出しはできません。よって , 転送アドレス
をリアルタイムで読み出すことはできません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
313
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
<注意事項>
本レジスタにて DMAC 自身のレジスタを設定しないでください。DMAC 自身のレジスタ
に DMA 転送を行うことはできません。
■ DMAC-ch.0, ch.1 , ch.2, ch.3, ch.4 DMAC 全体制御レジスタ (DMACR)
DMAC 5 チャネル分全体の動作を制御するレジスタです。本レジスタには必ずバイト長
でアクセスしてください。
各ビットの機能は以下に示すとおりです。
図 11.2-4 DMAC-ch.0, ch.1 , ch.2, ch.3, ch.4 DMAC 全体制御レジスタ (DMACR) のビット構成
アドレス
0000 0240H
bit 31
30
DMAE
R/W
bit 15
29
28
PM01
−
27
26
25
24
23
22
21
20
DMAH3 ∼ DMAH0
19
18
17
16
−
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
14
13
11
11
10
9
8
7
6
5
4
3
2
1
0
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
R/W
( 初期値:0XX00000_XXXXXXXX_XXXXXXXX_XXXXXXXXB)
:未定義ビット
:不定値
[bit31] DMAE (DMA Enable) :DMA 動作許可
DMA 全チャネルの動作を制御します。
本ビットにより DMA 動作が禁止されている場合 , チャネルごとの起動 / 停止の設
定や動作状態にかかわらず , 全チャネルの転送動作が禁止されます。転送中であっ
たチャネルは要求を取り下げ , ブロック境界にて転送を停止します。禁止状態にて ,
各チャネルに対して行われる起動操作は , すべて無効となります。
本ビットにより DMA 動作が許可されている場合 , チャネルごとに起動 / 停止操作
が有効となります。本ビットで DMA 動作許可を行ったのみでは , 各チャネルに対
する起動は行われません。
本ビットに "0" を書き込むと強制停止しますが , 必ず DMAH3 ∼ DMAH0 ビット
[DMACR:bit27 ∼ bit24] で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) し
てください。一時停止しないで強制停止した場合は DMA は停止しますが転送デー
タは保証されません。停止の確認は DSS2 ∼ DSS0 ビット [DMACB:bit18 ∼ bit16] で
行ってください。
表 11.2-20 DMA 動作の制御
DMAE
機 能
0
全チャネル DMA 転送禁止
1
全チャネル DMA 転送許可
( 初期値 )
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
314
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.2
MB91402/403 シリーズ
[bit28] PM01 (Priority mode ch.0, ch.1 robin) :チャネル優先度回転
ch.0, ch.1 の優先度を転送ごとに順位を回転させるときに設定します。
表 11.2-21 チャネル優先度回転の制御
PM01
機 能
0
優先順位固定 ( ch.0 > ch.1 )
1
優先順位回転 ( ch.0 > ch.1 ←→ ch.1 > ch.0 )
( 初期値 )
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
[bit27 ∼ bit24] DMAH3 ∼ DMAH0 (DMA Halt) :DMA 一時停止
DMA 全チャネルの一時停止を制御します。本ビットがセットされると , 再び本ビッ
トがクリアされるまでの間は全チャネルの DMA 転送を行いません。
本ビットをセットしてから起動した場合,全チャネルが一時停止のままとなります。
本ビットがセットされている間に DMA 転送が許可 (DENB=1) されているチャネル
に発生した転送要求は , すべて有効となり , 本ビットをクリアすることにより転送
を開始します。
表 11.2-22 DMA 一時停止の制御
DMAH3 ∼ DMAH0
機 能
0000B
全チャネル DMA 動作許可
0000B 以外
全チャネル DMA 一時停止
( 初期値 )
• リセット時:"0" に初期化されます。
• 読出し / 書込み可能です。
[bit30, bit29, bit23 ∼ bit0] (Reserved)
読出し値は不定です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
315
第 11 章 DMAC (DMA コントローラ )
11.3
11.3
MB91402/403 シリーズ
DMAC の動作
DMAC は , CPU の命令動作を介することなく高速にデータ転送を制御する多機能
DMA コントローラです。
■ 主要動作
• 各転送チャネルは , 独立に各種機能を設定します。
• 各チャネルは起動許可後 , 設定した転送要求を検出するまでは転送動作を行いませ
ん。
• 転送要求検出により , バスコントローラに対して DMA 転送要求を出力し , バスコン
トローラの制御によりバス権を取得して転送を開始します。
• 転送はチャネルごとに独立に設定されたモード設定に従ったシーケンスで行われ
ます。
■ 転送モード
DMA の各チャネルは , それぞれの DMACB レジスタの MOD1, MOD0 ビットで設定さ
れた転送モードに従って転送動作を行います。
● ブロック / ステップ転送
1 回の転送要求にて 1 ブロック転送単位のみ転送を行い , その後 , 次の転送要求が受け
付けられるまでは DMA はバスコントローラに対して転送要求を停止します。
1 ブロック転送単位:設定されたブロックサイズ分 (DMACA:BLK3 ∼ BLK0)
● バースト転送
1 回の転送要求にて指定転送回数終了まで連続して転送を行います。
指定転送回数:ブロックサイズ分×転送回数分
(DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0)
● デマンド転送
外部からの転送要求入力 (DREQ 端子 * のレベル検出 ) 終了か , 指定転送回数終了まで
は連続して転送を行います。
デマンド転送での指定転送回数は設定した転送回数分 (DMACA:DTC15 ∼ DTC0) とな
ります。ブロックサイズは "1" 固定となり , レジスタ値は無視されます。
*:MB91402/403 シリーズの DREQ 端子の接続先は図 11.1-1 を参照してください。
316
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.3
■ 転送タイプ
● 2 サイクル転送 ( 通常転送 )
DMA コントローラの動作は , 読出し動作と書込み動作を 1 つの単位として動作を行い
ます。
転送元レジスタのアドレスからデータを読み出して転送先レジスタのアドレスへデー
タを書き込みます。
● フライバイ転送 (I/O →メモリ )
DMA コントローラの動作は , 書込み動作を 1 つの単位として行います。
フライバイ転送を設定して DMA 転送を行うと DMA はバスコントローラに対してフラ
イバイ転送 ( 読出し ) 要求を出し , バスコントローラは外部インタフェースにフライバ
イ転送 ( 書込み ) をさせます。
フライバイ転送のアクセス領域は必ず外部領域にしてください。
■ 転送アドレス
アドレッシングには以下のようなものがあり , 各チャネル転送元 / 転送先ごとに独立に
設定します。
2 サイクル転送とフライバイ転送でのアドレス設定レジスタ (DMASA, DMADA) の指
定方法は異なります。
● 2 サイクル転送でのアドレスの指定
あらかじめアドレスを設定してあるレジスタ (DMASA, DMADA) から読み出した値を
アドレスとしてアクセスします。
転送要求を受け付けると DMA はレジスタからアドレスを一時記憶バッファに格納し
て転送を開始します。
1 回の転送 ( アクセス ) ごとにアドレスカウンタにて , 次回アクセスアドレスを生成
( 加算 / 減算 / 固定を選択可能 ) して一時記憶バッファに戻します。この一時記憶バッ
ファの内容は1ブロック転送単位終了ごとにレジスタ(DMASA, DMADA)へライトバッ
クされます。
よって , アドレスレジスタ (DMASA, DMADA) 値は , 1 ブロック転送単位ごとにしか更
新されませんので転送中のアドレスをリアルタイムに知ることはできません。
● フライバイ転送でのアドレスの指定
フライバイ転送では転送先アドレスレジスタ (DMADA) から読み出した値をアドレス
としてアクセスします。転送元アドレスレジスタ (DMASA) は無視されます。設定す
るアドレスは必ず外部領域にしてください。
転送要求を受け付けると DMA はレジスタからアドレスを一時記憶バッファに格納し
て転送を開始します。
1 回の転送 ( アクセス ) ごとにアドレスカウンタにて , 次回アクセスアドレスを生成
( 加算 / 減算 / 固定を選択可能 ) して一時記憶バッファに戻します。この一時記憶バッ
ファの内容は 1 ブロック転送単位終了ごとにレジスタ (DMADA) へライトバックされ
ます。
よって , アドレスレジスタ (DMADA) 値は , 1 ブロック転送単位ごとにしか更新されま
せんので転送中のアドレスをリアルタイムに知ることはできません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
317
第 11 章 DMAC (DMA コントローラ )
11.3
MB91402/403 シリーズ
■ 転送回数と転送終了
● 転送回数
1 ブロック転送単位終了ごとに , 転送回数レジスタをデクリメント ( − 1) します。転送
回数レジスタが "0" になると指定転送回数終了となり , 終了コードを表示して停止また
は再起動 * します。
転送回数レジスタ値はアドレスレジスタと同様に 1 ブロック転送単位ごとにしか更新
されません。
*:転送回数レジスタリロードを禁止に設定している場合は転送を終了します。許可さ
れている場合はレジスタ値を初期化して転送待ち状態になります(DMACB:DTCR)。
● 転送終了
転送終了要因には以下のようなものがあり,終了時は終了コードとして要因が表示され
ます (DMACB:DSS2 ∼ DSS0)。
• 指定転送回数の終了(DMACA:BLK3∼BLK0×DMACA:DTC15∼DTC0) => 正常終了
• 周辺回路からの転送停止要求の発生 => エラー
•
アドレスエラーの発生 => エラー
• リセットの発生 => リセット
各終了要因に対応して , 転送停止要因表示 (DSS) されて転送終了割込み / エラー割込み
を発生可能です。
318
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.4
MB91402/403 シリーズ
11.4
転送要求の設定
DMA 転送を起動する転送要求には , 外部転送要求 , 内蔵周辺要求およびソフトウェ
ア要求の 3 種類があります。 ソフトウェア要求については , ほかの要求の設定にか
かわらず常に使用することができます。
■ 外部転送要求端子 (DREQ 入力 )
MB91402/403 シリーズはチャネルごとに 1 本用意された入力端子への入力により , 転
送要求を発生します。ch.0, ch.1 にのみ対応しています ( 図 11.1-1 を参照 )。
この際の有効入力は , 転送タイプと起動要因設定により次の要因が選択されます。
エッジ検出
転送タイプがブロック / ステップ / バースト転送のときはエッジ検出が選択されます。
• 立下りエッジ検出
: 転送要因選択レジスタで設定
DMACA:IS4 ∼ IS0=01110B のとき
• 立上りエッジ検出
: 転送要因選択レジスタで設定
DMACA:IS4 ∼ IS0=01111B のとき
転送タイプがデマンド転送のときはレベル検出が選択されます。
• "H" レベル検出
: 転送要因選択レジスタで設定
DMACA:IS4 ∼ IS0=01110B のとき
• "L" レベル検出
: 転送要因選択レジスタで設定
DMACA:IS4 ∼ IS0=01111B のとき
■ 内蔵周辺要求
内蔵周辺回路の割込み発生により , 転送要求を発生します。
チャネルごとに , どの周辺の割込みにより転送要求を発生するかを設定します
(DMACA:IS4 ∼ IS0=1xxxxB)。
外部転送要求とは同時に使用することができません。
<注意事項>
転送要求に使用した割込み要求は, CPUへの割込み要求としても見えますので割込みコン
トローラの ICR レジスタにより , 割込み禁止に設定してください。
■ ソフトウェア要求
レジスタのトリガビットへの書込みにより , 転送要求を発生します (DMACA:STRG)。
上記 2 つの転送要求とは独立で , 常に使用することができます。
起動 ( 転送許可 ) と同時にソフトウェア要求を行った場合 , 直後にバスコントローラに
対して DMA 転送要求を出力して転送を開始します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
319
第 11 章 DMAC (DMA コントローラ )
11.5
11.5
MB91402/403 シリーズ
転送シーケンス
チャネルごとに , DMA 転送起動後の動作シーケンスなどを決定する転送タイプと転
送モードを独立して設定することができます (DMACB:TYPE1, TYPE0, MOD1,
MOD0 の設定 ) 。
■ 転送シーケンスの選択
レジスタの設定により以下のシーケンスを選択可能です。
• バースト 2 サイクル転送
• デマンド 2 サイクル転送
• ブロック / ステップ 2 サイクル転送
• バーストフライバイ転送
• デマンド フライバイ転送
• ブロック / ステップフライバイ転送
■ バースト 2 サイクル転送
1 回の転送要因にて指定転送回数の転送を続けて行います。2 サイクル転送の場合は転
送元 / 転送先アドレスは 32 ビット全領域指定可能です。
転送要因は , 周辺転送要求 / ソフトウェア転送要求 / 外部端子 (DREQ 入力 ) エッジ入力
検出要求を選択できます。
表 11.5-1 指定可能転送アドレス表
転送元アドレス指定
方向
転送先アドレス指定
32 ビット全領域指定可能
→
32 ビット全領域指定可能
● バースト転送の特長
• 転送要求を 1 回受け付けると , 転送回数レジスタが "0" になるまで連続して転送を
行います。
転送回数はブロックサイズ分×転送回数分になります (DMACA:BLK3 ∼ BLK0 ×
DMACA:DTC15 ∼ DTC0)。
• 転送中に再度要求が発生した場合 , 要求は無視されます。
• 転送回数レジスタのリロード機能が有効である場合 , 転送終了後より次の転送要求
を受け付けます。
• 転送中により高い優先順位の他チャネルの転送要求を受け付けた場合 , ブロック転
送単位の境目でチャネルを切り換え , そのチャネルの転送要求がクリアされるまで
復帰しません。
320
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.5
MB91402/403 シリーズ
図 11.5-1 外部端子立上りエッジ起動 , ブロック数= 1, 転送回数= 4 のときのバースト転送例
転送要求(↑エッジ)
バス動作
CPU
SA
転送回数
DA
SA
4
DA
SA
3
DA
SA
2
DA
CPU
1
0
転送終了
■ バーストフライバイ転送
転送領域が外部領域のみであること , 転送単位が書込み (I/O →メモリ ) だけであること
を除けば 2 サイクル転送と同じです。
表 11.5-2 指定可能転送アドレス表
転送元アドレス指定
方向
転送先アドレス指定
指定不要 ( 無効 )
なし
外部領域
■ デマンド転送 2 サイクル転送
転送要求として , DREQ 入力の "H" または "L" レベルを選択している場合にのみ , デマ
ンド転送シーケンスとなります ( レベル選択は , DMACA:IS3 ∼ IS0 にて設定します )。
● 連続転送の特長
• 転送要求を 1 回の転送ごとにチェックし , 外部からの入力レベルが設定した転送要
求レベルの間は要求をクリアせずに連続して転送を行います。外部入力が変化する
と要求がクリアされ , 転送は転送の境目にて停止します。これを指定転送回数終了
まで繰り返します。
• その他はバースト転送と同等に動作します。
図 11.5-2 外部端子 "H" レベル起動 , ブロック数= 1, 転送回数= 3 のときのデマンド転送例
転送要求("H"レベル)
バス動作
転送回数
CPU
SA
DA
SA
3
CPU
DA
2
SA
DA
1
CPU
0
転送終了
表 11.5-3 指定可能転送アドレス表
CM71-10131-1
転送元アドレス指定
方向
転送先アドレス指定
外部領域
→
外部領域
外部領域
→
内蔵 I/O
外部領域
→
内蔵 RAM
内蔵 I/O
→
外部領域
FUJITSU MICROELECTRONICS LIMITED
321
第 11 章 DMAC (DMA コントローラ )
11.5
MB91402/403 シリーズ
<注意事項>
デマンド転送時は , 必ず外部領域のアドレスを転送元か転送先 , または両方に設定してく
ださい。デマンド転送モード時は , DMA 転送を外バスタイミングに合わせているため , 必
ず外部領域へのアクセスが必要になります。
■ デマンド転送フライバイ転送
転送領域が外部領域のみであること , 転送単位が書込み (I/O →メモリ ) だけであること
を除けば 2 サイクル転送と同じです。
表 11.5-4 指定可能転送アドレス表
転送元アドレス指定
方向
転送先アドレス指定
指定不要 ( 無効 )
なし
外部領域
■ ステップ / ブロック転送 2 サイクル転送
ステップ / ブロック転送 (1 転送要求ごとに指定ブロック回数分のみ転送を行う ) の場
合は転送元 / 転送先アドレスは 32 ビット全領域指定可能です。
表 11.5-5 指定可能転送アドレス表
転送元アドレス指定
方向
転送先アドレス指定
32 ビット全領域指定可能
→
32 ビット全領域指定可能
● ステップ転送
ブロックサイズに "1" を設定すると , ステップ転送シーケンスとなります。
ステップ転送の特長
• 転送要求を 1 回受け付けると , 1 回の転送を行った後 , 転送要求をクリアして転送
を停止します ( バスコントローラに対して DMA 転送要求を取り下げる )。
• 転送中に再度要求が発生した場合 , 要求は無視されます。
• 転送中により高い優先順位の他チャネルの転送要求を受け付けた場合 , 転送停止
後に , チャネルを切り換えて続けて転送を開始します。ステップ転送における優
先順位は , 転送要求が同時に発生した場合にのみ意味があります。
● ブロック転送
ブロックサイズを "1" 以外に設定すると , ブロック転送シーケンスとなります。
ブロック転送の特長
1 転送単位が複数回 ( ブロック数 ) の転送サイクルから構成されること以外は , ステッ
プ転送と全く同じ動作となります。
322
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.5
MB91402/403 シリーズ
図 11.5-3 外部端子立上りエッジ起動 , ブロック数= 2, 転送回数= 2 のときのブロック転送例
転送要求(↑エッジ)
バス動作
ブロック数
転送回数
CPU
SA
DA
SA
2
DA
1
CPU
SA
0
DA
SA
0
2
DA
1
CPU
0
1
転送終了
■ ステップ / ブロック転送 2 サイクル転送フライバイ転送
転送領域が外部領域のみであること , 転送単位が読出し ( メモリ→ I/O) または書込み
(I/O →メモリ ) だけであること以外は 2 サイクル転送と同じです。
表 11.5-6 指定可能転送アドレス表
CM71-10131-1
転送元アドレス指定
方向
転送先アドレス指定
指定不要 ( 無効 )
なし
外部領域
FUJITSU MICROELECTRONICS LIMITED
323
第 11 章 DMAC (DMA コントローラ )
11.6
11.6
MB91402/403 シリーズ
DMA 転送全般
DMA 転送の動作全般について説明します。
■ ブロックサイズ
• 転送データの 1 転送単位はブロックサイズ指定レジスタに設定した数 ( ×データ幅 )
のデータの集合となります。
• 1 転送サイクルにて転送されるデータは , データ幅指定の値に固定されるため , 1 転
送単位はブロックサイズ指定値分の転送サイクル数より構成されることになりま
す。
• 転送中により高位の優先順位の転送要求が受け付けられた場合または転送の一時
停止要求が発生した場合において , ブロック転送時においても 1 転送単位の境界に
ならないと停止しません。これにより , 分割・一時停止を希望しないデータブロッ
クのデータ保護が可能ですが , ブロックサイズが大きい場合はレスポンスを低下さ
せる原因ともなります。
• リセット発生の場合にのみ即時に停止しますが , 転送中であったデータの内容など
は保証されません。
■ リロード動作
本モジュールでは , チャネルごとに以下の 3 種類のリロード機能の設定が可能です。
● 転送回数レジスタリロード機能
指定回数の転送が終了した後,転送回数レジスタに初期設定値を再設定して起動受付け
待ちします。
全転送シーケンスを繰り返して行う際に設定します。
リロード指定をしない場合 , 指定回数の転送終了後は回数レジスタ値が "0" のままとな
り , 以降の転送は行われません。
● 転送元アドレスレジスタリロード機能
指定回数の転送が終了した後 , 転送元アドレスレジスタに初期設定値を再設定します。
転送元アドレス領域内で固定領域から繰り返して転送する場合に設定します。
リロード指定をしない場合,指定回数の転送終了後は転送元アドレスレジスタ値が終了
時の次のアドレスとなります。アドレス領域を固定しない場合に使用します。
324
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.6
● 転送先アドレスレジスタリロード機能
指定回数の転送が終了した後 , 転送先アドレスレジスタに初期設定値を再設定します。
転送先アドレス領域内で固定領域へ繰り返して転送する場合に設定します。
• 転送元 / 転送先レジスタのリロード機能を有効にしたのみでは , 指定回数転送終了
後の再起動は行われず , 各アドレスレジスタ値が再設定されるのみとなります。
● 動作モードとリロード動作の特殊な例
• 外部端子入力レベル検出による連続転送モードで転送している場合 , 転送回数レジ
スタのリロード機能を使用すると , 入力が連続している間に転送終了となってもそ
のままリロードして転送を継続します。この場合も終了コードはセットされます。
• 転送終了にていったん停止し , 再度入力検出から行いたい場合は , リロード指定を
行わないでください。
• バースト / ブロック / ステップ転送モードで転送している場合では , 転送終了となる
とリロード後 , いったん転送を中断し , 改めて転送要求入力が検出されるまで転送
を行いません。
■ アドレッシングモード
各転送チャネルの転送先および転送元アドレスをそれぞれ独立に指定します。
指定方法には下記の方法があります。転送シーケンスによって設定してください。
● アドレスレジスタ指定
• 2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) には転送元アド
レスを , 転送先アドレス設定レジスタ (DMADA) には転送先アドレスを設定してく
ださい。
• フライバイ転送モードでは , 転送先アドレス設定レジスタ (DMASA) にはメモリア
ドレスを設定してください。このときの転送先アドレス設定レジスタ (DMADA) の
値は無視されます。
アドレスレジスタの特長
最大 32 ビット長のレジスタです。32 ビット長の場合にはメモリマップ上の全空間
がアクセス可能です。
アドレスレジスタの機能
• 毎アクセス時に読み出され , アドレスバスへ放出されます。
• 同時にアドレスカウンタにて次回アクセス時のアドレス計算が行われ , 計算結果
のアドレスにてアドレスレジスタを更新します。
• アドレス計算は , 各チャネル / 転送先 / 転送元それぞれ独立に , 加算 / 減算の内よ
り選択します。アドレスの増減幅はアドレスカウントサイズ指定レジスタ値によ
ります (DMACB:SASZ, DASZ)。
• 転送終了時のアドレスレジスタには , リロード機能を有効にしていない場合 , 最
終アドレスにアドレス計算をした結果のアドレスが残されます。
• リロード機能を有効にしている場合 , アドレスの初期値がリロードされます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
325
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
<注意事項>
• 32 ビット長フルアドレス計算の結果 , オーバフロー / アンダフローが発生した場合に
はアドレスエラーとして検出され , そのチャネルの転送を中止します ( 終了コードに関
する項目を参照 )。
• アドレスレジスタに DMAC 自身のレジスタのアドレスを設定しないでください。
• デマンド転送時は , 必ず外部領域のアドレスを転送元か転送先 , または両方に設定して
ください。
• DMAC により DMAC 自身のレジスタへの転送を行わないでください。
■ データの種類
1 回の転送で転送されるデータ長 ( データ幅 ) を以下から選択します。
・バイト ・ハーフワード ・ワード
DMA 転送においても , ワードバウンダリ仕様が守られるため , 転送先 / 転送元アドレ
ス指定においてデータ長と食い違うアドレスが設定された場合には異なる下位ビット
は無視されます。
• ワード
… 実際のアクセスアドレスは下位 2 ビット が "00B" から始まる 4 バ
イトとなります。
• ハーフワード … 実際のアクセスアドレスは下位 1 ビット が "0" から始まる 2 バイ
トとなります。
• バイト
… 実際のアクセスアドレスとアドレス指定が一致します。
転送元アドレスと転送先アドレスの下位ビットが食い違っている場合,内部アドレスバ
ス上には設定そのままのアドレスが出力されますが , バス上の各転送対象において , 上
記の決まりに従ってアドレスが修正されてアクセスが行われます。
■ 転送回数制御
転送回数は , 最大で 16 ビット長の範囲内 (1 回∼ 65536 回 ) で指定します。転送回数指
定値は転送回数レジスタ (DMACA:DTC) に設定します。
レジスタ値は転送開始時に一時記憶バッファに格納され,転送回数カウンタにより減算
されます。このカウンタ値が "0" となったとき , 指定回数の転送終了として検出され ,
そのチャネルの転送停止または再起動受付け待ち ( リロード指定時 ) が行われます。
転送回数レジスタ群の特長
• 各レジスタ 16 ビット 長です。
• すべてのレジスタにはそれぞれ専用リロードレジスタがあります。
• レジスタ値が "0" 時に起動すると , 65536 回の転送を行います。
リロード動作
• リロード機能があるレジスタで , リロード機能が許可されている場合にのみ有効
です。
• 転送起動時に , 回数レジスタの初期値をリロードレジスタに退避します。
• 転送回数カウンタにてカウントを行った際に "0" になると , 転送終了を通知する
とともに , リロードレジスタより初期値を読み出して回数レジスタに書き込みま
す。
326
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.6
■ CPU 制御
DMA 転送要求が受け付けられると , DMA はバスコントローラに対して転送要求を発
行します。
バスコントローラはバス動作の切れ目にて内部バス使用権を DMA に明け渡して DMA
転送が開始されます。
● DMA 転送と割込み
• DMA 転送中は , 基本的には転送終了まで割込みの受付けを停止します。
また , 割込み処理動作中に DMA 転送要求があった場合 , 転送要求が受け付けられ ,
転送終了まで割込み処理動作を停止します。
• 例外として , NMI 要求 , または割込みコントローラにて設定されたホールド抑止レ
ベルより高いレベルの割込み要求が発生した場合には , DMAC は転送単位 (1 ブロッ
ク ) の境界にてバスコントローラの転送要求を一時取り下げ , 割込み要求がクリア
されるまでは転送を一時停止状態にします。この間 , 転送要求は内部で保持されま
す。割込み要求がクリアされた後に再度 DMAC はバスコントローラは転送要求を
発行してバス使用権を取得し , DMA 転送を再開します。
● DMA 抑止
• DMA 転送中に , より優先度の高い割込み要因が発生すると DMA 転送を中断して該
当割込みルーチンへ分岐します。この機能は割込み要求がある限り有効ですが , 割
込み要因をクリアすると抑止機能が働かなくなり , 割込み処理ルーチン内で DMA 転
送を再開します。このため , DMA 転送を中断するレベルの割込み要因の処理ルーチ
ン内で , 割込み要因クリア後の DMA 再転送開始を抑止したいときは , DMA 抑止機
能を使用します。DMA 抑止機能は , DMA 全体制御レジスタの DMAH3 ∼ DMAH0
ビットに "0" 以外の値を書くことで起動し , "0" を書くことで停止します。
• 本機能は主として割込み処理ルーチン内で使用します。割込み処理ルーチンで割込
み要因をクリアする前に DMA 抑止レジスタの内容を 1 つ増加させます。このよう
にすると , 以降 , DMA 転送を行いません。割込み処理への対応を行った後 , 復帰す
る前に DMAH3 ∼ DMAH0 ビットの内容を 1 つ減少させます。多重割込みの場合に
は , DMAH3 ∼ DMAH0 ビットの内容は , まだ "0" にならないため , 引き続いて DMA
転送は抑止されます。また , 多重割込みでない場合は DMAH3 ∼ DMAH0 ビットの
内容は "0" になるため , その後すぐに DMA 要求を有効にします。
<注意事項>
• レジスタのビット数は 4 ビットですので , 15 レベルを超える多重割込みで本機能を使
用することはできません。
• DMA タスクの優先順位は必ずほかの割込みレベルより 15 レベルは上に置いてくださ
い。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
327
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
■ ホールド調停
BREQ による外部バスホールド要求と本モジュールによる DMA 転送要求との関係は ,
以下に示すとおりとなります。
● 外部ホールド中の DMA 転送要求
DMA 転送を開始しますが , 外部バス領域へのアクセスがあった場合 , その時点で DMA
転送を一時停止します。外部ホールドが解除され次第 , DMA 転送を再開します。
● DMA 転送中の外部ホールド要求
外部ホールド状態となります。DMA 転送による外部バス領域へのアクセスがあった場
合 , その時点で DMA 転送を一時停止します。外部ホールドが解除され次第 , DMA 転
送を再開します。
● DMA 転送要求と外部ホールド要求の同時発生
外部ホールド状態となり , また , 内部では DMA 転送を開始します。DMA 転送による
外部バス領域へのアクセスがあった場合 , その時点で DMA 転送を一時停止します。外
部ホールドが解除され次第 , DMA 転送を再開します。
■ 動作開始
DMA 転送の開始は , チャネルごとに独立に制御しますが , その前に全チャネルの動作
を許可しておく必要があります。
● 全チャネル動作許可
DMAC 各チャネルに起動を行う前に , DMA 動作許可ビット (DMACR:DMAE) にてあら
かじめ全チャネルの動作を許可する必要があります。許可されていない状態にて行っ
た起動設定 , および発生した転送要求はすべて無効となります。
● 転送起動
チャネルごとの制御レジスタにある動作許可ビットにて , 転送動作を起動します。起動
されたチャネルに対する転送要求が受け付けられると , 設定されたモードにて DMA 転
送動作が開始されます。
● 一時停止状態からの起動
チャネルごとまたは全チャネル制御にて , 起動前に一時停止状態にしてあった場合 , 転
送動作を起動しても一時停止状態を維持します。この間に転送要求が発生した場合は ,
要求を受け付けて保持します。一時停止を解除した時点から転送を開始します。
328
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.6
■ 転送要求の受付けと転送
• 起動後 , 各チャネルに対して設定した転送要求のサンプリングが開始されます。
• 外部端子起動要因でエッジ検出を選択した場合 , 転送要求が検出されると転送要求
クリア条件を満たすまで DMAC 内部で要求を保持します ( ブロック / ステップ / バー
スト転送で外部端子起動要因を選択したとき )。
• 外部端子起動要因でレベル検出 , または周辺割込み起動を選択した場合は , 転送要
求がクリアされるまで DMAC は転送を続けますがクリアされると 1 転送単位で転
送を停止します ( デマンド転送 / 周辺割込み起動 )。
周辺割込みはレベル検出扱いとなりますので割込みは DMA による割込みクリアで
行うようにしてください。
• 転送要求は , 他チャネルの要求が受け付けられて転送が行われている間でも , 常に
受け付けられており , 優先順位の判断を行って , 1 転送単位ごとに転送するチャネル
を決定しています。
■ DMA による周辺割込みクリア
• 本 DMA には周辺割込みをクリアする機能があります。この機能は DMA 起動要因
に周辺割込みを選択したときに機能します (IS4 ∼ IS0=1xxxxB のとき )。
• 周辺割込みのクリアは設定された起動要因にのみ行われます。つまり IS4 ∼ IS0 で
設定された周辺機能のみがクリアされます。
● 割込みクリアの発生タイミング
転送モードにより発生するタイミングが違います (「11.7 動作フローチャート」を参
照 )。
[ ブロック / ステップ転送 ]
ブロック転送を選択した場合には , 1 ブロック ( ステップ ) 転送ごとにクリア信号
を発生します。
[ バースト転送 ]
バースト転送を選択した場合には , 指定転送回数がすべて終了したらクリア信号を
発生します。
[ デマンド転送 ]
デマンド転送では外部端子からの起動要求のみをサポートするため , クリア信号を
発生しません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
329
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
■ 一時停止
DMA 転送は , 以下の場合に一時停止します。
● 制御レジスタへの書込みによる一時停止の設定(各チャネル独立または全チャネル同時に設
定)
一時停止ビットにより一時停止を設定すると,一時停止解除設定を再度設定するまでの
間 , 対応するチャネルの転送を停止します。一時停止の確認は DSS ビットで行ってく
ださい。
一時停止を解除すると , 転送を再開します。
● NMI/ ホールド抑止レベル割込み処理中
NMI 要求 , またはホールド抑止レベルより高いレベルの割込み要求が発生した場合 , 転
送中のチャネルはすべて転送単位の境界にて一時停止し , バス権を開放して NMI/ 割込
み処理を優先させます。また , NMI/ 割込み処理中に受け付けられた転送要求はそのま
ま保持され , NMI 処理の終了を待ちます。
要求が保持されたチャネルは , NMI/ 割込み処理が終了した後に転送を再開します。
■ 動作終了 / 停止
DMA 転送の終了は , チャネルごとに独立に制御しますが , 全チャネルの動作を禁止す
ることも可能です。
● 転送終了
リロード動作が有効でない場合 , 転送回数レジスタが "0" になると転送を停止し , 終了
コードにて『正常終了』を表示した後 , 以降の転送要求が無効となります
(DMACA:DENB ビットをクリアする )。
リロード動作が有効である場合,転送回数レジスタが"0"になると初期値をリロードし,
終了コードにて『正常終了』を表示した後 , 再度転送要求待ちとなります
(DMACA:DENB ビットをクリアしない )。
● 全チャネル動作禁止
DMA 動作許可ビット DMAE にて全チャネルの動作を禁止すると , 動作中であったチャ
ネルも含めて DMAC のすべての動作が停止します。以降 , 再度全チャネル DMA 動作
を許可しても , チャネルごとに再起動しないと , 転送は行われません。この場合 , 割込
みは一切発生しません。
330
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
■ エラーによる停止
指定回数の転送終了による正常終了以外の要因で停止する場合として,各種エラー発生
による停止および強制停止があります。
● 周辺回路からの転送停止要求の発生
転送要求を出力する周辺回路によっては,異常を検出した際などに転送停止要求を発生
するものがあります ( 例:通信系周辺における受信 / 送信エラーなど )。
この転送停止要求を受け取った DMAC は , 終了コードにて『転送停止要求』を表示し
て対応するチャネルの転送を停止します。
表 11.6-1 周辺回路からの転送停止要求の発生
IS
機能
00000B
転送停止要求
ソフトウェア転送要求にのみ有効
00001B
↓
01101B
設定禁止
01110B
DREQ "H" レベル または ↑エッジ検出
01111B
DREQ "L" レベル または ↓エッジ検出
10000B
UART0 受信完了
10001B
UART1 受信完了
10010B
UART0 送信完了
10011B
UART1 送信完了
10100B
設定禁止
10101B
設定禁止
10110B
リロードタイマ 0
10111B
リロードタイマ 1
11000B
設定禁止
11001B
設定禁止
なし
あり
なし
11010B
↓
11111B
設定禁止
各転送停止要求の発生条件についての詳細は , 各周辺回路の仕様を参照してください。
● アドレスエラーの発生
各アドレッシングモードにて,以下に示すような不適切なアドレッシングが行われたと
き , アドレスエラーとして検出されます (32 ビットアドレス指定時に , アドレスカウン
タにてオーバフロー / アンダフローが発生した場合 )。
アドレスエラーを検出すると , 終了コードにて『アドレスエラーの発生』を表示して対
応するチャネルの転送を停止します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
331
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
■ DMAC 割込み制御
転送要求となる周辺割込みとは独立に , DMAC はチャネルごとに以下の割込みを出力
することが可能です。
• 転送終了割込み : 正常終了した場合にのみ発生
• エラー割込み
: 周辺回路よりの転送停止要求 ( 周辺に起因するエラー )
アドレスエラーの発生 ( ソフトウェアに起因するエラー )
これら割込みはすべて終了コードの内容に従って出力されます。
割込み要求のクリアは , DMACB の DSS2 ∼ DSS0( 終了コード ) に "000B" を書き込む
ことにより行います。
なお , 終了コードは再起動する際には必ず "000B" を書き込んでクリアしてください。
リロード動作が有効である場合は自動的に再起動しますが,この際には終了コードはク
リアされず , 次の転送終了による新しい終了コードの書込み時まで保持されます。
終了コードにて表示できる終了要因は 1 種類のみですので , 複数の要因が同時に発生し
た場合は優先判断を行った結果を表示します。この際に発生する割込みは , 表示されて
いる終了コードに従います。
終了コードの表示の優先順位を以下に示します ( 上から , 優先度の高い順 )。
1. リセット
2. "000B" 書込みによるクリア
3. 転送停止要求
4. 正常終了
5. アドレスエラー検出による停止
6. チャネル選択と制御
■ スリープ中の DMA 転送
• DMAC は , スリープモード中でも動作させることができます。
• スリープモードでの動作を期待する場合 , 次のことに注意する必要があります。
- CPU は停止状態なので DMAC のレジスタを書き換えることはできません。スリー
プモードに入る前に設定を済ませておいてください。
- スリープモードは , 割込みで解除されますので DMAC 起動要因で周辺での割込み
を選択した場合は , 割込みコントローラで割込みを禁止する必要があります。
同様に DMAC 終了割込みでスリープモードを解除したくない場合は割込みを禁止にし
てください。
332
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
■ チャネル選択と制御
転送チャネルの数は 5 チャネルまで同時設定が可能です。各チャネルは基本的に各機
能を独立に設定することが可能です。
● チャネル間優先順位
DMA 転送は同時に 1 チャネルのみ可能なため , 各チャネル間には優先順位が設定され
ます。
順位設定には , 固定 / 回転の 2 モードがあり , チャネルグループ ( 詳細は「●チャネル
グループ」を参照 ) ごとに選択します。
(1) 固定モード
チャネル番号の小さい順に固定されます。
(ch.0 > ch.1 > ch.2 > ch.3 > ch.4)
転送中に , より高い優先度の転送要求が受け付けられた場合 , 1 転送単位 ( ブロックサ
イズ指定レジスタに設定した数×データ幅 ) の転送が終了した時点で , 転送チャネルが
高優先度側に切り換わります。
高優先度側の転送が終了すると , 元のチャネルの転送を再開します。
図 11.6-1 固定モード時の DMA 転送
ch.0転送要求
ch.1転送要求
バス動作
CPU
SA
転送チャネル
DA
SA
ch.1
DA
SA
ch.0
DA
SA
ch.0
DA
CPU
ch.1
ch.0転送終了
ch.1転送終了
(2) 回転モード (ch.0, ch.1 間のみ )
動作許可後の初期状態は (1) と同じ順位に設定されますが , 1 転送終了ごとにその
チャネルの優先度は逆転します。よって , 同時に転送要求が出力されている場合は
1 転送単位ごとにチャネルが切り換わります。
連続 / バースト転送を設定した場合に効果のあるモードです。
図 11.6-2 回転モード時の DMA 転送
ch.0転送要求
ch.1転送要求
バス動作
CPU
転送チャネル
SA
DA
ch.1
SA
DA
ch.0
SA
DA
ch.1
SA
DA
CPU
ch.0
ch.0転送終了
ch.1転送終了
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
333
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
● チャネルグループ
優先順位の選択は , 以下の単位で設定します。
表 11.6-2 DMA 優先順位選択の設定
モード
優先度
固定
ch.0 > ch.1
回転
ch.0 > ch.1
↑↓
ch.1 > ch.0
備考
初期状態は上側の順位です。
上側が転送されると反転します。
■ 外部端子と内部動作タイミングに関する補足
● DREQ 入力の最小有効パルス幅について (0, 1, 2 チャネルのみ )
バースト / ステップ / ブロック / デマンド転送すべての転送モードで動作時最小 5 シス
テムクロックサイクル ( 外部バスクロックの 5 周期分 ) の幅が必要です。
DACK出力は , DREQ 入力の受付けを示すものではありません。DMA許可状態で転送前
であれば DREQ 入力は常に受け付けられます。そのため , DACK 出力のアサートまで
DREQ 入力を保持する必要はありません ( デマンド転送モードを除く )。
● デマンド転送要求の停止時の DREQ 入力のネゲートタイミングについて
(1) 2 サイクル転送時
デマンド転送時は , 必ず外部領域のアドレスを転送元か転送先 , または両方に設定
してください。
・転送対象が外部 ↔ 外部の場合
最後の DMA 転送の転送元アクセス時の外部 WRXO3 ∼ WRXO0 端子出力が "L" 区
間の間にネゲートしてください。
(DACK="L" & WRXO3 ∼ WRXO0="L" の区間 ) これより後に DREQ 入力をネゲート
した場合 , 次の転送まで行う可能性があります。
・転送対象が外部 ↔ 内部の場合
最後の DMA 転送の転送元アクセス時の外部 RDXO 端子出力が "L" 区間の間にネ
ゲートしてください。
(DACK="L" & RDXO="L" の区間 ) これより後に DREQ 入力をネゲートした場合 , 次
の転送まで行う可能性があります。
図 11.6-3 2 サイクル外部 => 内部転送時の DREQ 入力のネゲートタイミング例
バス動作
CPU
領域
SA
DA
SA
DA
外部
内部
外部
内部
CPU
SA
DA
SA
DA
外部
内部
外部
内部
CPU
D31~D0
DACK[n]
DEOP[n]
RDXO
WRXO3~WRXO0
DREQ(”H”レベル)
334
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
・転送対象が内部 ↔ 外部の場合
最後の DMA 転送の転送元アクセス時の外部 WRXO3 ∼ WRXO0 端子出力が "L" 区
間の間にネゲートしてください。
(DACK="L" & WRXO3 ∼ WRXO0="L" の区間 ) これより後に DREQ 入力をネゲート
した場合 , 次の転送まで行う可能性があります。
(2) フライバイ ( 書込み ) 転送時
デマンド転送時は , 必ず外部領域のアドレスを転送先に設定してください。
・フライバイ ( 書込み ) の場合
最後の DMA 転送の転送元アクセス時の外部 WRXO3 ∼ WRXO0 端子出力が "L" 区
間の間にネゲートしてください。
(DACK="L" & WRXO3 ∼ WRXO0="L" の区間 ) これより後に DREQ 入力をネゲート
した場合 , 次の転送まで行う可能性があります。
図 11.6-4 フライバイ ( 書込み ) の場合の DREQ 入力のネゲートタイミング例
バス動作
CPU
領域
DA
DA
DA
DA
外部
外部
外部
外部
CPU
DA
DA
DA
DA
外部
外部
外部
外部
CPU
D31~D0
DACK[n]
DEOP[n]
RDXO
WRXO3~WRXO0
DREQ(”H”レベル)
● 同一チャネルで引き続き転送を行うための DREQ 入力のタイミングについて
• バースト / ステップ / ブロック / デマンド転送時
DREQ 入力によって同一チャネルの転送を連続させた場合の動作は保証できませ
ん。転送終了によって内部に保持した要求をクリアするため , 最速タイミングで
DREQ 入力が再度アサートされたとしても最低でも 1 システムクロックサイクル
(CLK 出力の 1 周期分 ) はほかのチャネルの転送要求の検出が有効になっており , 結
果ほかのチャネルの優先度が高ければそちらの転送が開始されます。また , それよ
り以前に DREQ 入力が再度アサートされても , 転送が終了していないので無視され
ます。ほかのチャネルの転送要求が発生していない場合には , DACK 端子出力がア
サートされた時点で DREQ 入力を再度アサートすることにより , 同一チャネルでの
転送を再開します。
● DACK 出力のタイミングについて
• 本 DMAC の DACK 出力は , 受け付けられた転送要求に対する転送が行われている
ことを示します。
• DACK の出力は , 基本的に外部バスアクセスタイミングのアドレス出力に同期して
います。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
335
第 11 章 DMAC (DMA コントローラ )
11.6
MB91402/403 シリーズ
● DEOP 出力のタイミングについて
• 本 DMA での DEOP 出力は , 受け付けられたチャネルの DMA 転送が指定転送回数
分終了したことを示すものです。
• DEOP 出力は最終転送ブロックの外部領域アクセスが開始されると出力されます。
そのため , ブロックサイズを "1" 以外に設定 ( ブロック転送モード ) している場合 ,
最終ブロックの最後のデータ転送時に DEOP が出力されます。この場合 , 転送がま
だ行われている間 (DEOP 出力される前 ) でも , DACK 出力がアサートされていると ,
次の DREQ 入力の受付けは開始されています。
• DEOP の出力は外部バスアクセスタイミングの RDXO, WRXO3 ∼ WRXO0 に同期し
ています。しかし , 転送元 / 転送先が内部領域であった場合には DEOP は出力され
ません。
● 転送中に外部端子転送要求が再度入力された場合について
• バースト / ステップ / ブロック転送時
DACK 信号が DMAC 内部でアサートされるまでの間 , 次の転送要求が入力されても
無効となります。しかし , 外部バス制御ユニットと DMAC の動作が完全に同期して
いないため , DREQ 入力で転送要求を有効にするには DACK と DEOP 出力により
DREQ 入力を作成する回路を初期化する必要があります。
• デマンド転送時
全転送回数が終了した際に転送回数レジスタのリロードを指定している場合 , 再度
転送要求が受け付けられます。
● ブロック転送中にほかの転送要求が発生した場合について
指定したブロックの転送が終了するまでは , ほかの要求は検出されません。ブロックの
境界にて , その時点で受け付けられている転送要求を評価し , 最も優先順位の高いチャ
ネルの転送を行います。
● 外部 I/O―外部メモリ間の転送について
本 DMAC の転送対象として , 外部 I/O と外部メモリの区別は存在しません。外部 I/O
は , アドレス固定の外部アドレスとして設定してください。
フライバイ転送を行う場合,外部メモリは転送先アドレスレジスタにアドレスを設定し
てください。また , 外部 I/O に対しては IORD 出力と IOWR 出力を使用することができ
ます。
336
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.7
MB91402/403 シリーズ
11.7
動作フローチャート
DMAC のブロック転送 , バースト転送およびデマンド転送の動作フローチャートを
示します。
■ ブロック転送
図 11.7-1 ブロック転送
DMA停止
DENB=>0
DENB=1
起動要求待機
リロード許可
起動要求
初期アドレス,転送回数,
ブロック数ロード
転送元アドレスアクセス
アドレス演算
フライバイ時は1回のアクセス
転送先アドレスアクセス
アドレス演算
ブロック数-1
BLK=0
転送回数-1
周辺割込み起動要因選択時のみ
アドレス,転送回数,ブロック数
ライトバック
割込みクリア
割込みクリア発生
DTC=0
DMA転送終了
DMA割込み発生
ブロック転送
・すべての起動要因で起動可能(選択)
・すべての領域へのアクセス可能
・ブロック数の設定可能
・ブロック数終了で割込みクリア発行
・指定転送回数終了でDMA割込みを発行
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
337
第 11 章 DMAC (DMA コントローラ )
11.7
MB91402/403 シリーズ
■ バースト転送
図 11.7-2 バースト転送
DMA停止
DENB=>0
DENB=1
起動要求待機
リロード許可
初期アドレス,転送回数,
ブロック数ロード
転送元アドレスアクセス
アドレス演算
フライバイ時は1回のアクセス
転送先アドレスアクセス
アドレス演算
ブロック数-1
BLK=0
転送回数-1
DTC=0
アドレス,転送回数,ブロック数
ライトバック
周辺割込み起動要因選択時のみ
割込みクリア
DMA転送終了
割込みクリア発生
DMA割込み発生
バースト転送
・すべての起動要因で起動可能(選択)
・すべての領域へのアクセス可能
・ブロック数の設定可能
・指定転送回数終了で割込みクリア,DMA割込みを発行
338
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.7
MB91402/403 シリーズ
■ デマンド転送
図 11.7-3 デマンド転送
DMA停止
DENB=>0
なし
リロード許可
DENB=1
起動要求待機
起動要求あり
初期アドレス,転送回数,
ブロック数ロード
転送元アドレスアクセス
アドレス演算
フライバイ時は1回のアクセス
転送先アドレスアクセス
アドレス演算
転送回数-1
アドレス,転送回数,ブロック数
ライトバック
DTC=0
周辺割込み起動要因選択時のみ
割込みクリア
割込みクリア発生
DMA転送終了
DMA割込み発生
デマンド転送
・DREQ入力からの要求(レベル検出)のみ受付け。ほかの要因での起動禁止
・外部領域へのアクセスは必須条件(外部領域へのアクセスが次の起動要因となるため)
・ブロック数は,設定に関係なく1固定になる
・指定転送回数終了で割込みクリア,DMA割込みを発行
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
339
第 11 章 DMAC (DMA コントローラ )
11.8
MB91402/403 シリーズ
データパス
11.8
DMAC を使用したデータ転送例を示します ( 他の組合せは省略 )。
■ 2 サイクル転送時のデータの動き
転送例を 6 種類図示します ( ほかの組合せは省略 )。
図 11.8-1 DMAC を使用したデータ転送例
外部領域=>外部領域転送
FR CORE
FR CORE
DMAC
DMAC
C
P
U
D-bus
RAM
バスコントローラ
X-bus
データバッファ
ライトサイクル
I-bus
C
P
U
D-bus
バスコントローラ
データバッファ
RAM
I/O
X-bus
外部バスインタフェース
I-bus
外部バスインタフェース
リードサイクル
I/O
外部領域=>内部RAM領域転送
FR CORE
FR CORE
DMAC
バスコントローラ X-bus
D-bus
RAM
データバッファ
ライトサイクル
I-bus
C
P
U
バスコントローラ X-bus
D-bus
データバッファ
RAM
I/O
外部バスインタフェース
I-bus
C
P
U
DMAC
外部バスインタフェース
リードサイクル
I/O
外部領域=>内蔵I/O領域転送
FR CORE
FR CORE
DMAC
バスコントローラ X-bus
C
P
U
D-bus
データバッファ
RAM
ライトサイクル
I-bus
バスコントローラ X-bus
C
P
U
D-bus
データバッファ
外部バスインタフェース
I-bus
DMAC
外部バスインタフェース
リードサイクル
RAM
I/O
I/O
( 続く )
340
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 11 章 DMAC (DMA コントローラ )
11.8
MB91402/403 シリーズ
( 続き )
内部RAM領域=>外部領域転送
FR CORE
FR CORE
DMAC
DMAC
C
P
U
D-bus
RAM
バスコントローラ
X-bus
データバッファ
ライトサイクル
I-bus
C
P
U
D-bus
バスコントローラ
データバッファ
RAM
I/O
X-bus
外部バスインタフェース
I-bus
外部バスインタフェース
リードサイクル
I/O
内部RAM領域=>内蔵I/O領域転送
FR CORE
FR CORE
DMAC
DMAC
C
P
U
D-bus
バスコントローラ
X-bus
データバッファ
ライトサイクル
I-bus
C
P
U
D-bus
RAM
バスコントローラ
X-bus
データバッファ
外部バスインタフェース
I-bus
外部バスインタフェース
リードサイクル
RAM
I/O
I/O
内蔵I/O領域=>内部RAM領域転送
FR CORE
FR CORE
DMAC
DMAC
C
P
U
D-bus
バスコントローラ
データバッファ
RAM
X-bus
ライトサイクル
I-bus
C
P
U
D-bus
バスコントローラ
データバッファ
RAM
I/O
CM71-10131-1
X-bus
外部バスインタフェース
I-bus
外部バスインタフェース
リードサイクル
I/O
FUJITSU MICROELECTRONICS LIMITED
341
第 11 章 DMAC (DMA コントローラ )
11.8
MB91402/403 シリーズ
■ フライバイ転送時のデータの動き
図 11.8-2 フライバイ転送 (I/O →メモリ )
フライバイ転送 (I/O→メモリ)
DMAC
I-bus
C
P
U
バスコントローラ
D-bus
データバッファ
X-bus
外部バスインタフェース
リードサイクル
memory
FR CORE
I/O
RAM
342
WRXO3~WRXO0, CSXO[n]でmemory
書込みをします。
WRXO3~WRXO0とDACK[n]または
IORDでI/O読出しをします。
I/O
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.9
DMA 設定例
11.9
各周辺部において DMA 転送を行う際の CPU に内蔵される DMAC の設定例を示し
たものです。各周辺コントローラ部における DMA の設定は各機能説明の章を参照し
てください。
■ MAC IF
受信 DMA の場合は , DMA 制御信号を使用した転送が可能です。その場合は , DMAC
の ch.0 を使用します。送信 DMA の場合は , ソフトウェア要求にのみ対応します。
● 受信 DMA 設定例
以下に , FR コアの DMAC(ch.0) を使用して , MAC IF 部の受信 FIFO から外部メモリへ
の DMA( フライバイモード ) 転送の設定例を示します。
1) 転送元アドレス設定
転送元アドレス設定レジスタ (DMASA0: DMASA) に MAC のバッファメモリポート
レジスタ (BMPR8) を設定する。
2) 転送先アドレス設定
転送先アドレス設定レジスタ (DMADA0: DMADA) に転送先アドレスを設定する。
3) DMA 動作許可
DMAC 全体動作許可レジスタ (DMACR: DMAE) に "1"( 全チャネル DMA 転送許可 )
を設定する。
4) DMAC コントロール / ステータスレジスタ B(DMACB0) を設定
以下に示した以外の設定は , 初期値を意味します。
• TYPE:転送タイプ設定
TYPE1, TYPE0 = 10B( フライバイ : I/O →メモリ転送 )
• MODE:転送モード設定
MOD1, MOD0 = 10B( デマンド転送モード )
• WS:転送データ幅選択
WS1, WS0 = 10B( ワード単位で転送 )
• DADM:転送先アドレスカウントモード指定
DADM = 0( 転送元アドレスは増加します )
( 注意事項 ) 転送先の外部メモリのデータ配置に応じた対応が必要です。
• リロードおよび割込み設定
必要に応じて設定してください。
• SASZ:転送元アドレスカウントサイズ指定
SASZ = 00H( 転送アドレス増減幅 :0)
• DASZ:転送先アドレスカウントサイズ指定
DASZ = 04H( 転送アドレス増減幅 :4)
( 注意事項 ) 転送先の外部メモリまたは I/O に応じたアドレス増減幅の設定が必
要です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
343
第 11 章 DMAC (DMA コントローラ )
11.9
MB91402/403 シリーズ
5) DMAC コントロール / ステータスレジスタ A(DMACA0) 設定
以下に示した以外の設定は , 初期値を意味します。
• DENB : DMA 動作許可ビット
DENB = 1( 対応チャネル DMA 動作許可 )
• IS : 転送要因選択
IS4 ∼ IS0 = 01110B(DREQ "H" レベル )
• BLK : ブロックサイズ指定
BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない )
• DTC : 転送回数レジスタ
受信データ長を設定する。
例 ) 1536 バイトの場合 , 1536/ ワード= 384
⇒ DTC = 180H
6) 転送要求
MAC IF の DMA イネーブルビット (BMPR12: DMA RENA) に "1"(DMA リード動作
イネーブル ) を書き込む。
5) の DENB(DMA 動作許可ビット ) の設定が最後の場合には , 上記の順番は問いま
せん。
● 送信 DMA 設定例
以下に , FR コアの DMAC を使用して外部メモリから MAC IF 部の送信 FIFO への DMA
( ソフトウェア起動 ) 転送の設定例を示します。
1) 転送元アドレス設定
転送元アドレス設定レジスタ (DMASAn: DMASA) に転送元アドレスを設定する。
2) 転送先アドレス設定
転送先アドレス設定レジスタ (DMADAn: DMADA) に , MAC のバッファメモリポー
トレジスタ (BMPR8) を設定する。
3) DMA 動作許可
DMAC 全体動作許可レジスタ (DMACR: DMAE) に "1"( 全チャネル DMA 転送許可 )
を設定する。
4) DMAC コントロール / ステータスレジスタ B(DMACBn) を設定
以下に示した以外の設定は , 初期値を意味します。
• TYPE:転送タイプ設定
TYPE1, TYPE0 = 00B(2 サイクル転送 )
• MODE:転送モード設定
MOD1, MOD0 = 01B( バースト転送モード )
• WS:転送データ幅選択
WS1, WS0 = 10B( ワード単位で転送 )
• SADM:転送元アドレスカウントモード指定
SADM = 0( 転送元アドレスは増加します )
( 注意事項 ) 転送先の外部メモリのデータ配置に応じた対応が必要です。
• リロードおよび割込み設定
344
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.9
必要に応じて設定してください。
• SASZ:転送元アドレスカウントサイズ指定
SASZ = 04H( 転送アドレス増減幅 :4)
注 ) 転送先の外部メモリまたは I/O に応じたアドレス増減幅の設定が必要です。
• DASZ:転送先アドレスカウントサイズ指定
DASZ = 00H( 転送アドレス増減幅 :0)
5) DMAC コントロール / ステータスレジスタ A(DMACAn) を設定
以下に示した以外の設定は , 初期値を意味します。
• DENB : DMA 動作許可ビット
DENB = 1( 対応チャネル DMA 動作許可 )
• IS : 転送要因選択
IS4 ∼ IS0 = 00000B( ソフトウェア転送要求にのみ有効 )
• BLK : ブロックサイズ指定
BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない )
• DTC : 転送回数レジスタ
送信データ長を設定する。
例 ) 1536 バイトの場合 , 1536/ ワード= 384
⇒ DTC = 180H
6) 転送要求
DMACAn: STRG:転送要求
STRG = 1(DMA 起動要求 )
6) の設定が最後の場合には , 1) ∼ 5) までの設定の順番は問いません。また , 5) と 6)
の設定は同時でも構いません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
345
第 11 章 DMAC (DMA コントローラ )
11.9
MB91402/403 シリーズ
■ MPU IF
送信 / 受信とも , DMA 制御信号を使用した転送 ( 受信のみフライバイ転送が可能 ) が可
能です。その場合は , DMAC の ch.1 を使用します。しかし , MPU IF の DMA 制御信号
は , 1 組 (ch.1) のため , 送信 / 受信どちらかのみの使用となります。したがって , 送信 /
受信ともに , DMA 転送を実施する場合は , 受信 DMA 転送を , DMA 制御信号を使用し
た転送で実施し , 送信 DMA 転送に関しては , 別の DMA チャネルにて , ソフトウェア起
動による転送により実施します。
● 受信 DMA 設定例
以下に , FR コアの DMAC(ch.1) を使用して , MPU IF 部の受信 FIFO から , 外部メモリ
への DMA( フライバイモード ) 転送の設定例を示します。
1) 転送元アドレス設定
転送元アドレス設定レジスタ (DMASA1: DMASA) に MPU IF の RX データレジスタ
(MIFRXDR) を設定する。
2) 転送先アドレス設定
転送先アドレス設定レジスタ (DMADA1: DMADA) に , 転送先アドレスを設定する。
3) DMA 動作許可
DMAC 全体動作許可レジスタ (DMACR: DMAE) に "1"( 全チャネル DMA 転送許可 )
を設定する。
4) DMAC コントロール / ステータスレジスタ B(DMACB1) を設定
以下に示した以外の設定は , 初期値を意味します。
• TYPE:転送タイプ設定
TYPE1, TYPE0 = 10B( フライバイ : I/O →メモリ転送 )
• MODE:転送モード設定
MOD1, MOD0 = 10B( デマンド転送モード )
• WS:転送データ幅選択
WS1, WS0 = 10B( ワード単位で転送 )
• DADM:転送先アドレスカウントモード指定
DADM = 0( 転送元アドレスは増加します )
( 注意事項 ) 転送先の外部メモリのデータ配置に応じた対応が必要です。
• リロードおよび割込み設定
必要に応じて設定してください。
• SASZ:転送元アドレスカウントサイズ指定
SASZ = 00H( 転送アドレス増減幅 :0)
• DASZ:転送先アドレスカウントサイズ指定
DASZ = 04H( 転送アドレス増減幅 :4)
( 注意事項 ) 転送先の外部メモリまたは I/O に応じたアドレス増減幅の設定が必
要です。
346
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 11 章 DMAC (DMA コントローラ )
11.9
5) DMAC コントロール / ステータスレジスタ A(DMACA0) を設定
以下に示した以外の設定は , 初期値を意味します。
• DENB : DMA 動作許可ビット
DENB = 1( 対応チャネル DMA 動作許可 )
• IS : 転送要因選択
IS4 ∼ IS0 = 01110B(DREQ "H" レベル )
• BLK : ブロックサイズ指定
BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない )
• DTC : 転送回数レジスタ
受信データ長を設定する。
例 ) 1536 バイトの場合 , 1536/ ワード= 384
⇒ DTC = 180H
6) 転送要求
MPU IF 部の DMA イネーブルビット (MIFCR: RX_DMA_ENA) に "1" を書き込む。
5) の DENB(DMA 動作許可ビット ) の設定が最後の場合には上記の順番は問いません。
● 送信 DMA 設定例
以下に , FR コアの DMAC を使用して , 外部メモリから MPU IF 部の送信 FIFO への DMA
( ソフトウェア起動 ) 転送の設定例を示します。
1) 転送元アドレス設定
転送元アドレス設定レジスタ (DMASAn: DMASA) に転送元アドレスを設定する。
2) 転送先アドレス設定
転送先アドレス設定レジスタ (DMADAn: DMADA) に , MPU IF の TX Data Register
(MIFTXDR) を設定する。
3) DMA 動作許可
DMAC 全体動作許可レジスタ (DMACR: DMAE) に "1"( 全チャネル DMA 転送許可 )
を設定する。
4) DMAC コントロール / ステータスレジスタ B(DMACBn) を設定
以下に示した以外の設定は , 初期値を意味します。
• TYPE:転送タイプ設定
TYPE1, TYPE0 = 00B(2 サイクル転送 )
• MODE:転送モード設定
MOD1, MOD0 = 01B( バースト転送モード )
• WS:転送データ幅選択
WS1, WS0 = 10B( ワード単位で転送 )
• SADM:転送元アドレスカウントモード指定
SADM = 0( 転送元アドレスは増加します )
( 注意事項 ) 転送先の外部メモリのデータ配置に応じた対応が必要です。
• リロードおよび割込み設定
使用に応じて設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
347
第 11 章 DMAC (DMA コントローラ )
11.9
MB91402/403 シリーズ
• SASZ:転送元アドレスカウントサイズ指定
SASZ = 04H( 転送アドレス増減幅 :4)
( 注意事項 ) 転送先の外部メモリまたは I/O に応じたアドレス増減幅の設定が必
要です。
• DASZ:転送先アドレスカウントサイズ指定
DASZ = 00H( 転送アドレス増減幅 :0)
5) DMAC コントロール / ステータスレジスタ A(DMACAn) を設定
以下に示した以外の設定は , 初期値を意味します。
• DENB : DMA 動作許可ビット
DENB = 1( 対応チャネル DMA 動作許可 )
• IS : 転送要因選択
IS4 ∼ IS0 = 00000B( ソフトウェア転送要求にのみ有効 )
• BLK : ブロックサイズ指定
BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない )
• DTC : 転送回数レジスタ
送信データ長を設定する。
例 ) 1536 バイトの場合 , 1536/ ワード= 384
⇒ DTC = 180H
6) 転送要求
DMACAn:STRG:転送要求
STRG = 1(DMA 起動要求 )
6) の設定が最後の場合には , 1) ∼ 5) までの設定の順番は問いません。また , 5) と 6)
の設定は同時でも構いません。
348
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章
LAN コントローラ
LAN コントローラの概要 , レジスタ , 動作 , パケッ
トフィルタ , および SMI インタフェースについて
説明します。
12.1 LAN コントローラの概要
12.2 LAN コントローラのレジスタ
12.3 LAN コントローラの動作
12.4 パケットフィルタ
12.5 SMI インタフェース
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
349
第 12 章 LAN コントローラ
12.1
12.1
MB91402/403 シリーズ
LAN コントローラの概要
IEEE802.3 規格に準拠した L3/4 フィルタリング機能内蔵の 10/100BASE-T トラン
シーバを内蔵した Ethernet LAN コントローラです。
■ LAN コントローラの主要機能
LAN コントローラには以下のような機能があります。
• パケットフィルタリング機能搭載
• L3/L4 のパケットフィルタリング機能により , CPU の負荷の軽減を可能とします。
• IEEE802.3 に準拠した 10/100M MAC
• MII インタフェース ( 全二重 / 半二重 )
• PHY デバイス制御用 SMI インタフェース
LAN を使用して外部とデータ通信を行うときに , 以下の動作をハードウェアで行い ,
CPU 負荷の軽減を実現します。
• 送信データを LAN のデータフォーマットに変換 /LAN のデータフォーマットから受
信データに変換。
• 複数パケットの連続送受信処理 ( バッファマネージャ )
送信バッファ 1536 バイト / 受信バッファ 3072 バイト
• エラーチェック
• コリジョン ( 衝突 ) 発生時の再送信 ( ネットワーク管理 )
<注意事項>
MB91402/403 シリーズで 100Mbps 通信を行うには , LAN コントローラの動作周波数 (FR
の外部バス周波数 ) を 25 MHz より上に設定する必要があります。
350
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.1
MB91402/403 シリーズ
■ LAN コントローラのブロックダイヤグラム
図 12.1-1 LAN コントローラのブロックダイヤグラム
FR CORE
パソコン/携帯
電話による
遠隔操作
PLL
UART 2チャネル
RAM
I-Cache
4Kバイト
8Kバイト
DMAC
INTC
タイマ
DSU
5ch
インターネット
MPU IF
GPIO
内蔵RAM
64Kバイト
SMI
CM71-10131-1
EtherMAC
-L3/L4
Filtering
パソコン/家電
などの制御機器
I2C
MII
PHY
8/16
Memory
controller
8/16
SRAM/
SDRAM
FUJITSU MICROELECTRONICS LIMITED
ROM/
FLASH
351
第 12 章 LAN コントローラ
12.1
MB91402/403 シリーズ
■ LAN コントローラの特長
● FR コアインタフェース
LAN コントローラの FR コアインタフェースには , FR コアとインタフェースをするた
めのデータバスバッファがあります。
● DMA リード動作 ( データ受信動作 )
DMAリード動作は, バッファメモリ内の受信データを外部メモリに転送する動作(デー
タ受信動作 ) です。これにより , 一度の指示でデータを受け取ることができます。
● バッファメモリマネージャ
LAN インタフェースには , 通常データリンクコントローラと FR コアインタフェース
の間に送受信データのバッファがあります。LAN コントローラには , このバッファメ
モリを管理および制御する専用のハードウェア ( バッファメモリマネージャ ) と RAM
が内蔵されています。
● データリンクコントローラ
データリンクコントローラ(DLC)は, IEEE802.3 CSMA/CD方式用10/100 MbpsのEthernet
規格に準拠した諸機能を実行します。
<データリンクコントローラの機能>
• バッファ内の送信データを LAN のデータフォーマットに変換して送信する機能
• LAN のデータフォーマットをバッファ内の受信データに変換して受信する機能
• 送信時 , 衝突 ( コリジョン ) が発生して送信が失敗した場合 , 2 進指数バックオフア
ルゴリズム法による再送信機能
• 自分のアドレス以外にも , 登録されているマルチキャストアドレスの場合にデータ
を受信する機能 ( マルチキャストアドレスフィルタ機能 )
また , フィルタリング機能を実装していることで , 必要なデータだけを受け取ることが
できます。
<フィルタリング機能>
レイヤ 3/4 のフィルタリング機能 ( ハードウェアに実装 )。
● ネットワーク管理機能
LAN コントローラの内部レジスタから , ネットワークの管理をすることができます。
結果ステータス情報では以下の情報を知ることができます。
• ネットワークへの送信動作が成功したか
• 受信時に , CRC エラー, アライメントエラー( ビットサイズが 8 の整数倍でない ) な
どが発生したか
• 送信時に衝突 ( コリジョン ) 発生したか , またその回数
これによって , 送受信したデータのエラー情報を知ることができます。この情報を使用
しての処理は , 利用者が作成する必要があります。
● マルチキャスト受信アドレスフィルタリング機能
デスティネーションアドレス 48 ビットの CRC を計算した下位 6 ビットを指定してフィ
ルタリングする機能により , L3/L4 フィルタリングテーブルでフィルタリングする検索
範囲を狭くすることができ , 負荷を軽減することができます。
352
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.1
MB91402/403 シリーズ
■ LAN コントローラのブロックダイヤグラム
図 12.1-2 LAN コントローラのブロックダイヤグラム
リクエスト
データ
書込み
信号
データ
送信データ
リンク
コントローラ
書込み信号
制御信号
送信バッファ
メモリ
マネージャ
データ
ステータス
バッファ情報
制御信号
制御信号
レジスタ
ブロック
データ
FRコア
インタ
フェース
データ
エラー情報
割込み信号
データ
フィルタリング
情報
読出し
信号
受信データ
リンク
コントローラ
バッファ情報
制御信号
フィルタ
リング
ブロック
バッファ
情報
読出し信号
データ
受信バッファ
メモリ
マネージャ
SMIブロック
ここでは , LAN コントローラの 6 つの機能ブロックについて説明します。
データリンクコントローラ部
IEEE802.3 規格で規定されたデータリンクレイヤの機能を実行します。送信時には
バッファメモリから読み出した送信データにプリアンブル , CRC コードを付加して
出力します。また , コリジョン発生時には自動的にバックオフアルゴリズムを実行
して再送信を行います。
受信時には , 送られてくる受信パケットのアドレスの一致を確認し , エラーチェッ
クの後 , プリアンブルと CRC を除去してパラレルデータに変換してバッファメモリ
に書き込みます。また , データリンクコントローラ部にはマルチキャストアドレス
フィルタ機能があり , 最大 64 グループのマルチキャストアドレスグループの認識を
行うことができます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
353
第 12 章 LAN コントローラ
12.1
MB91402/403 シリーズ
バッファマネージャ部
送受信データをバッファリングするために RAM を内蔵しています ( 送信バッファ
1536 バイト , 受信バッファ 3072 バイト )。バッファメモリは 1 ポートの送信バッ
ファと 2 ポートの受信バッファで , バッファマネージャにより FR コア側とネット
ワーク側からのアクセスのアービトレーション , バッファポインタの更新などをす
べて自動的に行います。また , 送信バッファにはパケットチェーン機能があり , 複
数パケット分の送信データを格納しておくと , 1 回の送信スタート指示により , 連続
してバッファ内のパケットを送信することができます。
FR コアインタフェース部
FR コアバスと接続するためのデータバスとバス制御信号の入出力を行います。ま
た , バイトオーダを設定できます。
LAN コントローラにはデータリンクコントロールレジスタ , バッファメモリポート
レジスタ , マルチキャストアドレスレジスタの三組のレジスタセットがあり , FR コ
アインタフェースを通してアクセスすることができます。また , バッファメモリ
ポートとFRコア間の受信データの転送は, DMA転送によって行うことができます。
レジスタブロック
データリンクコントロールレジスタ , バッファメモリポートレジスタなどのレジス
タ類をまとめています。アドレスにより個々のステータスを知ることができます。
また , 割込み信号も出力します。
フィルタブロック
従来 , CPU で実行されてきたパケット受信時に行うフィルタリング処理をハード
ウェアに実装していることで , CPU の処理負荷を大幅に軽減することができます。
L3/L4 のフィルタリング機能を備えています。
SMI ブロック
SMI I/F を介して PHY レジスタへの読出し・書込みを行うブロックです。PHY レジ
スタから各種ステータス ( 半二重 / 全二重 , リンクステータス , 10/100 識別など ) 情
報を引き出すとともにデバイスの設定を行う際にも使用されます。
354
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
12.2
LAN コントローラのレジスタ
LAN コントローラのレジスタについて説明します。
■ LAN コントローラのレジスタ一覧
表 12.2-1 レジスタ一覧 (1 / 2)
アドレス
レジスタ名
レジスタ略称
サイズ
R/W
初期値
Data Link Control Register 0
DLCR0
8 ビット
R/W
0-000000
0110_0001H
Data Link Control Register 1
DLCR1
8 ビット
R/W
00000000
0110_0002H
Data Link Control Register 2
DLCR2
8 ビット
R/W
00000000
0110_0003H
Data Link Control Register 3
DLCR3
8 ビット
R/W
00000000
0110_0004H
Data Link Control Register 4
DLCR4
8 ビット
R/W
00000010
0110_0005H
Data Link Control Register 5
DLCR5
8 ビット
R/W
01000001
0110_0006H
Data Link Control Register 6
DLCR6
8 ビット
R/W
10000000
0110_0007H
Data Link Control Register 7
DLCR7
8 ビット
R/W
00000000
0110_0008H Data Link Control Register 8
DLCR8
8 ビット
R/W
00000000
0110_0009H Data Link Control Register 9
DLCR9
8 ビット
R/W
00000000
0110_000AH Data Link Control Register A
DLCR10
8 ビット
R/W
00000000
0110_000BH Data Link Control Register B
DLCR11
8 ビット
R/W
00000000
0110_000CH Data Link Control Register C
DLCR12
8 ビット
R/W
00000000
0110_000DH Data Link Control Register D
DLCR13
8 ビット
R/W
00000000
0110_0008H Multicast Address Register 1
MAR8
8 ビット
R/W
00000000
0110_0009H Multicast Address Register 2
MAR9
8 ビット
R/W
00000000
0110_000AH Multicast Address Register 3
MAR10
8 ビット
R/W
00000000
0110_000BH Multicast Address Register 4
MAR11
8 ビット
R/W
00000000
0110_000CH Multicast Address Register 5
MAR12
8 ビット
R/W
00000000
0110_000DH Multicast Address Register 6
MAR13
8 ビット
R/W
00000000
0110_000EH Multicast Address Register 7
MAR14
8 ビット
R/W
00000000
0110_000FH Multicast Address Register 8
MAR15
8 ビット
R/W
00000000
0110_0010H Buffer Memory Port Register 8
BMPR8
32 ビット R/W
0110_000AH Buffer Memory Port Register 10
BMPR10
8 ビット
R/W
00000000
−
−
−
−
0110_000CH Buffer Memory Port Register 12
BMPR12
8 ビット
R/W
00000000
0110_000EH Buffer Memory Port Register 14
BMPR14
8 ビット
R/W
00000000
FL_CMD
16 ビット R/W
BANK2
BANK1
BANK0
0110_0000H
0110_000BH 予約
0110_0014H
Filter Command Register
0110_0018H
Filter Status Register
FL_STATUS
0110_001CH
Filter Data Register
FL_DATA
CM71-10131-1
1 ビット
R
32 ビット R/W
FUJITSU MICROELECTRONICS LIMITED
00000000 00000000
00000000 00000000
00000000 ---0---0
XXXXXXX0
00000000 00000000
00000000 00000000
355
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
表 12.2-1 レジスタ一覧 (2 / 2)
アドレス
レジスタ名
レジスタ略称
サイズ
R/W
初期値
FL_CONTROL
11 ビット R/W
XXXXX00
XXXXXXXX0
FL_SUBNET
32 ビット R/W
11111111 11111111
11111111 11111111
SMI_CMD
16 ビット R/W
0--00000 ---00000
0110_0020H
Filter mode Control Register
0110_0024H
Filter Subnet Register
0110_0028H
SMI Command Register
0110_002CH
SMI Command Status Register
0110_0030H
SMI Data Register
0110_0034H
SMI Polling Register
0110_0038H
SMI PHY Address Register
SMI_PHY_ADD
5 ビット
R/W
XXX00000
0110_003CH
SMI Control Register
SMI_CONTROL
3 ビット
R/W
XXXXX111
0110_0040H
SMI Status Register
SMI_STATUS
5 ビット
R
XXXXXXXX
0110_0044H
SMI Interrupt Enable Register
SMI_INTENABLE
1 ビット
R/W
XXXXXXX0
0110_0048H
SMI MDC Register
SMI_MDCDIV
5 ビット
R/W
XXX01011
SMI_CMD_ST
2 ビット
R
XXXXXX00
SMI_DATA
16 ビット R/W
00000000 00000000
SMI_POLLINTVL
16 ビット R/W
00000000 00000000
レジスタバンクについて
LAN コントローラが専有する I/O アドレス空間は 32 バイトで , バンク切換えによっ
て各レジスタとI/Oアドレス空間とを切り換えてアクセスするようになっています。
レジスタバンクはレジスタバンクビット (DLCR7:RBNKn) により切り換えることが
できます。
表 12.2-2 レジスタバンクビット (DLCR7:RBNKn)
bit3
bit2
0
0
バンク 0(DLCR0 ∼ DLCR7, DLCR8 ∼ DLCR13 のレジスタセット )
を使用
0
1
バンク 1(DLCR0 ∼ DLCR7, MAR8 ∼ MAR15 のレジスタセット ) を
使用
1
−
バンク 2(DLCR0 ∼ DLCR7, BMPR8 ∼ BMPR14 のレジスタセット )
を使用
モード
<注意事項>
バッファメモリポートレジスタ (BMPR8) とパケットフィルタ関連および SMI インタ
フェースレジスタに関しては , ワードアクセスにのみ対応です。
356
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 12 章 LAN コントローラ
12.2
■ レジスタ詳細
レジスタの各ビットへのアクセス制限を表す記号説明
[ 記号 ]
R
: 読出し可能
R0 : 常に "0" 読出し
R1 : 常に "1" 読出し
RX : 読出しは不定
W
: 書込み可能
W0 : 常に "0" 書込み
W1 : 常に "1" 書込み
WX : 書込み無効
[ 組合せ ] "/" と ","
R/W: 書き込んだデータを読み出せる
R, W: 書込みと読出しでビットの意味が異なる
[ リードモディファイライト (RMW) 系命令への対応 ] "(" ")" の利用
R(RM1)/W : 書込みした値を読出し可能 (RMW 時の読出しは常に "1")
R(RM1), W: 読出し可能 (RMW 時は常に "1"), 書込み可能
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
357
第 12 章 LAN コントローラ
12.2
12.2.1
MB91402/403 シリーズ
送信ステータスレジスタ :DLCR0
データリンクコントローラの送信ステータスを表示するレジスタです。バイト / ハー
フワードでアクセスしてください。
■ 送信ステータスレジスタ (DLCR0) のビット構成
図 12.2-1 送信ステータスレジスタ (DLCR0) のビット構成
アドレス
0110 0000H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
0
R0/WX
TMT OK
NET BSY
−
−
LTE COL
COL
RETRY
OVER
0
R, W
X
R/WX
0
R0/WX
0
R0/WX
0
R, W
0
R, W
0
R, W
初期値
属性
R/WX :読出し可能 , 書込み無効
R0/WX :常に "0" 読出し , 書込み無効
R, W : 書込みと読出しでビットの意味が異なる
−
:未定義ビット
X
:不定値
[bit7] TMT OK : 送信 O.K
TMT OK
読出し動作
書込み動作
0
本ビットがクリアされた
影響なし
1
送信バッファ内の全パケット送信を完了
本ビットをクリア
パケットレディビットが "1" の場合 , 送信バッファ内の全パケットの送信を完了す
ると自動的に "1" がセットされ , クリアされるまで保持します。
[bit6] NET BSY : ネットビジー
NET BSY
読出し動作
0
ネットワークが空きである ( キャリアが検出されない )
1
ネットワークが使用中である ( キャリアが検出されている )
[bit5, bit4] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit3] LTE COL : レイトコリジョン
LTE COL
358
読出し動作
書込み動作
0
レイトコリジョンなし
影響なし
1
レイトコリジョンが起きた
本ビットをクリア
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
[bit2] COL : コリジョンエラー
COL
読出し動作
書込み動作
0
コリジョンエラーなし
影響なし
1
パケット送信中にネットワーク上でパケットの
衝突 ( コリジョン ) が発生した
本ビットをクリア
コリジョンエラービットが "1" の場合 , 16 回までの衝突はデータリンクコントロー
ラが自動的に再送信を行います。発生した衝突回数はコリジョンカウントビット
(DLCR4: COLn) を読み出すことにより知ることができます。
[bit1] RETRY OVER : リトライオーバ
RETRY OVER
読出し動作
書込み動作
0
16 回コリジョンエラーなし
影響なし
1
パケット送信中にコリジョンが続いて
16 回発生した
本ビットをクリア
[bit0] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
bit7, bit3∼bit0のステータスビットはDLCR2の対応するビットをセットしておくと,
ビットセットにより FR コアの外部割込み -INT をアサートします。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
359
第 12 章 LAN コントローラ
12.2
12.2.2
MB91402/403 シリーズ
受信ステータスレジスタ :DLCR1
データリンクコントローラの受信ステータスを表示するレジスタです。バイト / ハー
フワードでアクセスしてください。
■ 受信ステータスレジスタ (DLCR1) のビット構成
図 12.2-2 受信ステータスレジスタ (DLCR1) のビット構成
アドレス
0110 0001H
bit7
bit6
PKT RDY
0
R, W
bit5
RX ERR FIL DROP
0
R, W
0
R, W
bit4
bit3
RX
LNGPKT
RX
SRTPKT
0
R, W
0
R, W
bit2
bit1
bit0
ALG ERR CRC ERR OVRFLO
0
R, W
0
R, W
0
R, W
初期値
属性
R, W : 書込みと読出しでビットの意味が異なる
[bit7] PKT RDY : パケットレディ
PKT RDY
読出し動作
書込み動作
0
受信バッファ内に受信されたパケットが
影響なし
存在しない
1
受信バッファへの転送が完了
本ビットをクリア
• パケットレディビットが "1" の場合 , 自局あてのパケットを正常に受信し , 受信
バッファへの転送が完了したことを示します。すなわち , 受信バッファ内に少な
くとも 1 パケットの受信データがあることを示します。
• パケットレディビットを "1" にすると , 本ビットをクリアします。しかし , ホス
ト側が受信バッファより 1 パケット分の受信データを読み出した後も , まだ受信
バッファ内に受信したパケットが残っている場合には本ビットは自動的に再
セットされます。
[bit6] RX ERR : 通信エラー
RX ERR
読出し動作
書込み動作
0
通信エラーなし
影響なし
1
通信エラーあり
本ビットをクリア
[bit5] FIL DROP : フィルタリング Drop
FIL DROP
360
読出し動作
書込み動作
0
フィルタリング機能によるパケットの
Drop なし
影響なし
1
フィルタリング機能でパケットが Drop
された
本ビットをクリア
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
[bit4] RX LNG PKT : ロングパケット
RX LNG PKT
読出し動作
書込み動作
0
ロングパケットエラーなし
影響なし
1
ロングパケットエラーあり
本ビットをクリア
ロングパケットビットが "1" の場合 , 受信したパケットのデータ長 ( アドレス+デー
タ長+データ本体 ) が規定の最大データ長 (1514 バイト ) を超えることを示します。
[bit3] RX SRT PKT : ショートパケット
RX SRT PKT
読出し動作
書込み動作
0
ショートパケットエラーなし
影響なし
1
ショートパケットエラーあり
本ビットをクリア
ショートパケットビットが "1" の場合 , 受信したパケットのデータ長 ( アドレス+
データ長+データ本体 ) が規定の最小データ長 (60 バイト ) に満たないことを示し
ます。イネーブルショートパケット受信ビット [DLCR5:bit3] がセットされている場
合には 16 バイト未満の場合にセットされます。
[bit2] ALG ERR : アライメントエラー
ALG ERR
読出し動作
書込み動作
0
アライメントエラーなし
影響なし
1
アライメントエラーあり
本ビットをクリア
アライメントエラービットが "1" の場合 , 受信したパケットの CRC が正しくなく ,
かつ受信したデータのビット数が 8 の倍数でないことを示します。
[bit1] CRC ERR : CRC エラー
CRC ERR
CM71-10131-1
読出し動作
書込み動作
0
CRC エラーなし
影響なし
1
受信したパケットの CRC が正しくない
本ビットをクリア
FUJITSU MICROELECTRONICS LIMITED
361
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
[bit0] OVRFLO : オーバフローエラー
OVRFLO
読出し動作
書込み動作
0
オーバフローエラーなし
影響なし
1
オーバフローエラーあり
本ビットをクリア
オーバフローエラービットが "1" の場合 , 受信したパケットのデータ長が受信バッ
ファメモリの空き容量よりも大きかったため , 消去されたことを示します。本ビッ
トがセットされても次のパケットがバッファメモリの空き容量よりも小さかった
場合は正常に受信されます。本ビットがセットされた場合には受信バッファメモリ
がほぼいっぱいの状態であることを示しており , バッファ内のデータを至急ホスト
システム側へ転送してください。
bit7 ∼ bit0 のステータスビットは DLCR3 の対応するビットをセットしておくと , ビッ
トセットにより FR コアの外部割込み -INT をアサートします。
■ 受信ステータスレジスタ :DLCR1 の補足説明
● ショートパケットビット [DLCR1:bit3]
RX SRT PKT ビットは , 以下の条件でセットされます。
表 12.2-3 RX SRT PKT ビットのセット条件
R(K) < 20 バイト 20 バイト <= R(K)< 最小データ長 *2
RX SRT PKT
ビット
セットされる *1
セットされる *1
R(K)>= 最小データ長 *2
セットされない
*1: コリジョンエラー時 ( 時局が送信したパケットが起こしたコリジョン ) により送信側データの
キャリアドロップが起こったときには RX SRT PKT ビットはセットされません。
*2: 最小データ長は , DLCR5<ENA SRT PKT> =0 のとき → 64 バイトとなります。
DLCR5<ENA SRT PKT> =1 のとき → 24 バイトとなります。
R(K)>= 最小データ長の場合にのみ CRC エラーのチェックを行います。
362
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
12.2.3
送信割込みイネーブルレジスタ :DLCR2
送信割込みを許可するレジスタです。バイト / ハーフワードでアクセスしてくださ
い。
■ 送信割込みイネーブルレジスタ (DLCR2) のビット構成
図 12.2-3 送信割込みイネーブルレジスタ (DLCR2) のビット構成
アドレス
0110 0002H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
0
R/W
ENA TMT
OK
−
−
−
ENA LTE
COL
ENA COL
ENA
RETRY
OVER
0
R/W
0
R0, WX
0
R0, WX
0
R0, WX
0
R/W
0
R/W
0
R/W
初期値
属性
R/W
:リード / ライト可能
R0/WX :常に "0" 読出し , 書込み無効
−
:未定義ビット
[bit7] ENA TMT OK : 送信 O.K 割込み発生許可
ENA TMT OK
モード
0
TMT OK 割込み発生禁止
1
TMT OK 割込み発生許可
[bit6 ∼ bit4] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit3] ENA LTE COL : レイトコリジョン 割込み発生許可
ENA LTE COL
モード
0
LTE COL 割込み発生禁止
1
LTE COL 割込み発生許可
[bit2] ENA COL : コリジョンエラー 割込み発生許可
ENA COL
モード
0
COL 割込み発生禁止
1
COL 割込み発生許可
[bit1] ENA RETRY OVER : リトライオーバ 割込み発生許可
ENA RETRY OVER
CM71-10131-1
モード
0
RETRY OVER 割込み発生禁止
1
RETRY OVER 割込み発生許可
FUJITSU MICROELECTRONICS LIMITED
363
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
[bit0] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
DLCR0 のステータスビットと対応するビットを "1" にセットすることにより , ステー
タスビットセット時に FR コアの外部割込み INT0 をアサートします。
364
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
12.2.4
受信割込みイネーブルレジスタ :DLCR3
受信割込みを許可するレジスタです。バイト / ハーフワードでアクセスしてくださ
い。
■ 受信割込みイネーブルレジスタ (DLCR3) のビット構成
図 12.2-4 受信割込みイネーブルレジスタ (DLCR3) のビット構成
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0110 0003H
ENA PKT
RDY
ENA RX
ERR
ENA FIL
DROP
ENA RX
LNG PKT
ENA RX
SRT PKT
ENA ALG
ERR
ENA CRC
ERR
ENA
OVRFLO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
初期値
属性
R/W : リード / ライト可能
[bit7] ENA PKT RDY : パケットレディ割込み発生許可
ENA PKT RDY
モード
0
PKT RDY 割込み発生禁止
1
PKT RDY 割込み発生許可
[bit6] ENA RX ERR : 通信エラー割込み発生許可
ENA RX ERR
モード
0
RX ERR 割込み発生禁止
1
RX ERR 割込み発生許可
[bit5] ENA FIL DROP : フィルタリングドロップ割込み発生許可
ENA FIL DROP
モード
0
FIL DROP 割込み発生禁止
1
FIL DROP 割込み発生許可
[bit4] ENA RX LNG PKT : ロングパケット割込み発生許可
ENA RX LNG PKT
CM71-10131-1
モード
0
RX LNG PKT 割込み発生禁止
1
RX LNG PKT 割込み発生許可
FUJITSU MICROELECTRONICS LIMITED
365
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
[bit3] ENA RX SRT PKT : ショートパケット割込み発生許可
ENA RX SRT PKT
モード
0
RX SRT PKT 割込み発生禁止
1
RX SRT PKT 割込み発生許可
[bit2] ENA ALG ERR : アライメントエラー割込み発生許可
ENA ALG ERR
モード
0
ALG ERR 割込み発生禁止
1
ALG ERR 割込み発生許可
[bit1] ENA CRC ERR : CRC エラー割込み発生許可
ENA CRC ERR
モード
0
CRC ERR 割込み発生禁止
1
CRC ERR 割込み発生許可
[bit0] ENA OVRFLO : オーバフロー割込み発生許可
ENA OVRFLO
モード
0
OVRFLO 割込み発生禁止
1
OVRFLO 割込み発生許可
DLCR1 のステータスビットと対応するビットを "1" にセットすることにより , ステー
タスビットセット時に FR コアの外部割込み INT0 をアサートします。
366
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
12.2.5
送信モードレジスタ :DLCR4
送信部の動作モードの設定とコリジョン発生回数を表示するレジスタです。
■ 送信モードレジスタ (DLCR4) のビット構成
図 12.2-5 送信モードレジスタ (DLCR4) のビット構成
アドレス
bit7
bit6
bit5
bit4
0110 0004H
COL3
0
R
COL2
0
R
COL1
0
R
COL0
0
R
bit3
−
0
R0, WX
bit2
bit1
bit0
−
0
R0, WX
LBC
1
R/W
−
0
R0, WX
初期値
属性
R/W
: リード / ライト可能
R0,WX :常に "0" 読出し , 書込み無効
R
:リードオンリ
−
:未定義ビット
[bit7 ∼ bit4] COL3 ∼ COL0 : コリジョンカウント
送信完了までに発生したコリジョンの回数を表示します。送信完了時にクリアされ
ます。
[bit3, bit2] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit1] LBC : ループバックコントロール
LBC
読出し動作 / 書込み動作
0
ループバックモード
1
通常の送受信動作
ループバック動作中も外部にデータは出力されます。
[bit0]: 未定義
書込みによる動作への影響はありません。読出し値は常に "0" です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
367
第 12 章 LAN コントローラ
12.2
12.2.6
MB91402/403 シリーズ
受信モードレジスタ :DLCR5
受信部の動作モードの設定と受信バッファメモリの状態を表示するレジスタです。
バイト / ハーフワードでアクセスしてください。
■ 受信モードレジスタ (DLCR5) のビット構成
図 12.2-6 受信モードレジスタ (DLCR5) のビット構成
アドレス
0110 0005H
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
AM1
AM0
0
R0, WX
0
R/W
1
R/W
−
BUF EMP
−
−
ENA SRT
PKT
0
R0, WX
1
R, WX
0
R0, WX
0
R0, WX
0
R/W
初期値
属性
R/W
: リード / ライト可能
R,WX :読出し可能 , 書込み無効
R0,WX :常に "0" 読出し , 書込み無効
−
:未定義ビット
[bit7] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit6] BUF EMP : バッファエンプティ
BUF EMP
読出し動作
0
受信バッファメモリ内に有効なデータが残っている
1
受信バッファメモリ内に有効なデータがない
[bit5, bit4] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit3] ENA SRT PKT : イネーブルショートパケット受信
368
ENA SRT PKT
読出し動作 / 書込み動作
0
データ長 ( アドレス+データ長+データ本体 ) 60 バイト以上 1514
バイト以下のパケットを受信
1
データ長 ( アドレス+データ長+データ本体 ) 16 バイト以上 1514
バイト以下のパケットを受信
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
[bit2]: ( イネーブルリモートリセット )
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit1, bit0] AM1, AM0 : アドレスマッチモード
表 12.2-4 アドレスマッチモードの設定
CM71-10131-1
AM1
AM0
0
0
0
1
1
0
フィジカルアドレス , ブロードキャストアドレス , マルチキャストア
ドレスで , かつマルチキャストアドレスレジスタで選択されたパケッ
トを受信
1
1
デスティネーションアドレスにかかわらず , すべてのパケットを受信
アドレス一致検出モード
パケットの受信を行いません。すべての受信パケットをアドレス不
一致としてリジェクト
FUJITSU MICROELECTRONICS LIMITED
369
第 12 章 LAN コントローラ
12.2
12.2.7
MB91402/403 シリーズ
コントロールレジスタ 1:DLCR6
LAN コントローラの送受信動作開始を設定するレジスタです。バイト / ハーフワー
ドでアクセスしてください。
■ コントロールレジスタ 1 (DLCR6) のビット構成
図 12.2-7 コントロールレジスタ 1 (DLCR6) のビット構成
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0110 0006H
ENA DLC
−
0
R0, WX
−
0
R0, WX
−
0
R0, WX
−
0
R0, WX
−
0
R0, WX
−
0
R0, WX
−
0
R0, WX
1
R/W
初期値
属性
R/W
: リード / ライト可能
R0,WX :常に "0" 読出し , 書込み無効
−
:未定義ビット
[bit7] ENA DLC : イネーブルデータリンクコントローラ
ENA DLC
読出し動作 / 書込み動作
0
LAN コントローラは送受信動作可能な状態
1
LAN コントローラは送受信動作不可能な状態
本ビットが "0" のときにはノード ID レジスタとフィルタテーブルにアクセスする
ことを禁止します。
[bit6 ∼ bit0] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
370
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
12.2.8
コントロールレジスタ 2:DLCR7
LAN コントローラの各動作モードを設定するレジスタです。バイト / ハーフワード
でアクセスしてください。
■ コントロールレジスタ 2 (DLCR7) のビット構成
図 12.2-8 コントロールレジスタ 2 (DLCR7) のビット構成
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0110 0007H
−
−
−
−
RBNK1
RBNK0
−
BYTE
SWAP
0
R0, WX
0
R0, WX
0
R0, WX
0
R0, WX
0
R/W
0
R/W
0
R0, WX
0
R/W
初期値
属性
R/W
: リード / ライト可能
R0,WX :常に "0" 読出し , 書込み無効
−
:未定義ビット
[bit7 ∼ bit4] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit3, bit2] RBNK1, RBNK0 : レジスタバンク
RBNK1
RBNK0
0
0
バンク 0(DLCR0 ∼ DLCR7, DLCR8 ∼ DLCR15) のレジスタ
セットを使用
0
1
バンク 1(DLCR0 ∼ DLCR7, MAR8 ∼ MAR15) のレジスタセッ
トを使用
1
−
バンク 2(DLCR0 ∼ DLCR7, BMPR10 ∼ BMPR14) のレジスタ
セットを使用
モード
• LAN コントローラには 3 種類の内部レジスタセットがあり , FR コア側からは本
ビットによりバンク切換えをすることにより各レジスタセットをアクセスする
ことができます。
• DLCR0 ∼ DLCR7 と BMPR8 はレジスタバンクにかかわらず常にアクセスできま
す。
[bit1] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
371
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
[bit0] BYTE SWAP : バイトスワップ
BYTE SWAP
モード
0
BMPR8 へのアクセスに対してバイトスワップを行いません
( リトルエンデュアル )
1
BMPR8 へのアクセスに対してバイトスワップを行い , 上位と下位の
データを入れ替えます ( ビックコンディアン )
BMPR8 以外のレジスタアクセスは本ビットをセットしてもバイトスワップされま
せん。
372
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
ノード ID レジスタ 1 ∼ 6:DLCR8 ∼ DLCR13
12.2.9
自局のノード ID を格納しておくレジスタです。バイト / ハーフワードでアクセスし
てください。
■ ノード ID レジスタ 1 ∼ 6 (DLCR8 ∼ DLCR13) のビット構成
図 12.2-9 ノード ID レジスタ 1 ∼ 6 (DLCR8 ∼ DLCR13) のビット構成
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
DLCR8
ch.8
0110 0008H
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
DLCR9
ch.9
0110 0009H
ID15
ID14
ID13
ID12
ID11
ID10
ID9
ID8
DLCR10 ch.10 0110 000AH
ID23
ID22
ID21
ID20
ID19
ID18
ID17
ID16
DLCR11 ch.11 0110 000BH
ID31
ID30
ID29
ID28
ID27
ID26
ID25
ID24
DLCR12 ch.12 0110 000CH
ID39
ID38
ID37
ID36
ID35
ID34
ID33
ID32
DLCR13 ch.13 0110 000DH
ID47
ID46
ID45
ID44
ID43
ID42
ID41
ID40
0
0
0
0
0
0
0
0
初期値
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
属性
R/W : リード / ライト可能
• 自局のノード ID を格納しておくレジスタです
• DLCR8 ∼ DLCR13 は自局のノード ID を格納しておくレジスタです。受信パケット
内のデスティネーションアドレスと本レジスタの値を比較し , 一致したパケットを
アドレスマッチモードビット (DLCR5:AMn) の設定に従って受信します。
• DLCR8 がノード ID の LSB になり , DLCR13 がノード ID の MSB になります。
• Ethernet では , デスティネーションアドレスは , LSB 側から送出されます。
• イネーブルデータリンクコントローラビット (DLCR6 : ENA DLC) が "1" のときにの
み読出し / 書出し可能です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
373
第 12 章 LAN コントローラ
12.2
12.2.10
MB91402/403 シリーズ
マルチキャストアドレスレジスタ 1 ∼ 8:MAR8 ∼
MAR15
アドレスマッチモードビット [DLCR5:bit1, bit0] を "1", "0" に設定した場合に受信
するマルチキャストアドレスパケットを選択するレジスタです。
■ マルチキャストアドレスレジスタ 1 ∼ 8 (MAR8 ∼ MAR15) のビット構成
図 12.2-10 マルチキャストアドレスレジスタ 1 ∼ 8 (MAR8 ∼ MAR15) のビット構成
ch.8
ch.9
ch.10
ch.11
ch.12
ch.13
ch.14
ch.15
0110 0008H
0110 0009H
0110 000AH
0110 000BH
0110 000CH
0110 000DH
0110 000EH
0110 000FH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
MID7
MID15
MID23
MID31
MID39
MID47
MID55
MID63
0
R/W
MID6
MID14
MID22
MID30
MID38
MID46
MID54
MID62
0
R/W
MID5
MID13
MID21
MID29
MID37
MID45
MID53
MID61
0
R/W
MID4
MID12
MID20
MID28
MID36
MID44
MID52
MID60
0
R/W
MID3
MID11
MID19
MID27
MID35
MID43
MID51
MID59
0
R/W
MID2
MID10
MID18
MID26
MID34
MID42
MID50
MID58
0
R/W
MID1
MID9
MID17
MID25
MID33
MID41
MID49
MID57
0
R/W
MID0
MID8
MID16
MID24
MID32
MID40
MID48
MID56
0
R/W
初期値
属性
• アドレスマッチモードビット (DLCR5.AMn) を "1", "0" に設定した場合に受信するマ
ルチキャストアドレスパケットを選択するレジスタです。
• マルチキャストアドレスは 32 ビットの CRC 回路に入力され , 計算された CRC の下
位 6 ビットにより 64 個のグループにグルーピングされます。MIDxx の xx 部分が
CRC の下位 6 ビットの数字に対応しており , MID0 に "1" をセットすると CRC の下
位 6 ビット "000000B" のパケットが有効 , MID63 に "1" をセットすると CRC の下位
6 ビット "111111B" のパケットが有効となります。
• イネーブルデータリンクコントローラビット (DLCR6.-ENA DLC) が "1" のときにの
み読出し / 書出し可能です。
マルチキャストの動作
本機能は受信したパケットのデスティネーションアドレスの先頭ビットが "1" の場
合は CRC 回路によりデスティネーションアドレス 48 ビットの CRC が計算され , 下
位 6 ビットが内部にラッチされます。そして , この 6 ビットの値とマルチキャスト
アドレスレジスタとが比較され , 対応するマルチキャストレジスタのビットがセッ
トされている場合にはそのマルチキャストパケットは受信され , セットされていな
い場合には破棄されます。これにより , すべてのマルチキャストアドレスは 64 個に
グループ分けされ , 任意のグループのマルチキャストパケットのみを受信すること
ができます。マルチキャストアドレスレジスタの全ビットが "0" の場合にはマルチ
キャストアドレスパケットを受信できません。また , 逆に全ビット "1" にセットし
た場合にはすべてのマルチキャストアドレスパケットを受信します。
374
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 12 章 LAN コントローラ
12.2
• マルチキャストアドレス機能の CRC の生成多項式はパケットの最後に付加され
る 32 ビットの CRC と同一です。
G(x) = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
デスティネーションアドレスの全ビットが "1" の場合にはブロードキャストアド
レスパケットなのでマルチキャストアドレスとは関係なく受信されます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
375
第 12 章 LAN コントローラ
12.2
12.2.11
MB91402/403 シリーズ
バッファメモリポートレジスタ :BMPR8
FR コアとバッファメモリ間で送受信データの転送を行うためのデータポートです。
バイト / ハーフワードでアクセスしてください。
■ バッファメモリポートレジスタ (BMPR8) のビット構成
図 12.2-11 バッファメモリポートレジスタ (BMPR8) のビット構成
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0110 0010H
BMP7
BMP15
BMP23
BMP31
0
R/W
BMP6
BMP14
BMP22
BMP30
0
R/W
BMP5
BMP13
BMP21
BMP29
0
R/W
BMP4
BMP12
BMP20
BMP28
0
R/W
BMP3
BMP11
BMP19
BMP27
0
R/W
BMP2
BMP10
BMP18
BMP26
0
R/W
BMP1
BMP9
BMP17
BMP25
0
R/W
BMP0
BMP8
BMP16
BMP24
0
R/W
初期値
属性
R/W : リード / ライト可能
• FR コアとバッファメモリ間で送受信データの転送を行うためのデータポートです。
本レジスタはワードアクセスしかできません。
• バイトスワップビット (DLCR7.BYTE SWAP) をセットすることにより本レジスタの
MSB, LSB のバイトオーダを入れ替えることができます。
376
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
12.2.12
送信パケット数レジスタ :BMPR10
送信開始ビットと送信パケット数を設定するレジスタです。バイト / ハーフワードで
アクセスしてください。
■ 送信パケット数レジスタ (BMPR10) のビット構成
図 12.2-12 送信パケット数レジスタ (BMPR10) のビット構成
アドレス
0110 000AH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
TMST
TX PKT
CNT 6
TX PKT
CNT 5
TX PKT
CNT 4
TX PKT
CNT 3
TX PKT
CNT 2
TX PKT
CNT 1
TX PKT
CNT 0
0
R0/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
初期値
属性
R/W
: リード / ライト可能
R0/W :常に "0" 読出し , 書込み可能
[bit7] TMST : 送信スタートビット
TMST
書込み動作
0
影響なし
1
パケットの送信を起動
送信パケットを FR コアから送信バッファに転送後セットしてください。
[bit6 ∼ bit0] TX PKT CNT 6 ∼ TX PKT CNT 0 : 送信パケット数
• 送信開始後 , 1 パケット送信が完了するごとにデクリメントされ , 現在まだ送信
していないパケット数を表示します。全パケットの送信が完了すると "00H" にな
ります。
• LAN コントローラは 1 回の送信コマンドで複数のパケット送信を起動すること
ができます。本レジスタには TMST ビットセットと同時に送信パケット数 ( バッ
ファメモリに転送したパケット数 ) を書き込んでください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
377
第 12 章 LAN コントローラ
12.2
12.2.13
MB91402/403 シリーズ
DMA イネーブルレジスタ :BMPR12
FR コアと LAN コントローラ間の DMA 転送を制御するレジスタです。バイト / ハー
フワードでアクセスしてください。
■ DMA イネーブルレジスタ (BMPR12) のビット構成
図 12.2-13 DMA イネーブルレジスタ (BMPR12) のビット構成
アドレス
0110 000CH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
0
R0, WX
−
−
−
−
−
−
DMA
RENA
0
R0, WX
0
R0, WX
0
R0, WX
0
R0, WX
0
R0, WX
0
R0, WX
0
R/W
初期値
属性
R/W
: リード / ライト可能
R0,WX :常に "0" 読出し , 書込み無効
−
:未定義ビット
[bit7 ∼ bit2] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit1] DMA RENA :
DMA RENA
書込み動作
0
DMA 読出し動作禁止
1
DMA 読出し ( 受信バッファの読出し ) 動作許可
[bit0]: 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
378
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.2
MB91402/403 シリーズ
12.2.14
受信バッファポインタコントロールレジスタ :BMPR14
FR コアと LAN コントローラ間の DMA 転送を制御するレジスタです。バイト / ハー
フワードでアクセスしてください。
■ 受信バッファポインタコントロールレジスタ (BMPR14) のビット構成
図 12.2-14 受信バッファポインタコントロールレジスタ (BMPR14) のビット構成
アドレス
0110 000EH
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
−
−
0
R0, WX
0
R0, WX
−
−
−
−
−
SKI PRX
PKT
0
R0, WX
0
R0, WX
0
R0, WX
0
R0, WX
0
R0, WX
0
R/W
初期値
属性
R/W
: リード / ライト可能
R0,WX :常に "0" 読出し , 書込み無効
−
:未定義ビット
[bit7 ∼ bit3] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
[bit2] SKI PRX PKT : 受信バッファポインタスキップ
SKI PRX PKT
読出し動作
書込み動作
0
受信バッファポインタスキップ
完了
影響なし , 受信バッファポインタ
はスキップされません。
1
受信バッファポインタスキップ
中 ( 更新中 )
受信バッファポインタを次のパ
ケットの先頭までスキップ
• 受信バッファポインタスキップビットが "1" の場合 , 本ビットに "1" を書き込ん
でから , ポインタのスキップが完了するまでのトランジェント状態であることを
示します。
• 受信バッファポインタスキップビットを "1" にすると , スキップ動作完了時に本
ビットは自動的にクリアされます。また , スキップしようとしたパケットが受信
バッファ内の最後のパケットの場合には , 受信バッファポインタをスキップ後 ,
バッファエンプティビット (DLCR5.BUF EMP) をセットします。
[bit1, bit0] − : 未定義ビット
書込みによる動作への影響はありません。読出し値は常に "0" です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
379
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
LAN コントローラの動作
12.3
LAN コントローラの動作について説明します。
■ バッファメモリについて
図 12.3-1 バッファメモリについて
自動的に行われる処理
・パラレルデータから
シリアルデータへ変換
・64ビットのプリアンブル
コードの生成付加
・32ビットのCRC コード
の生成付加
・LANに出力
バッファメモリマネージャ
(ハード処理)
データリンク
コントローラ
(ハード処理)
送信バッファメモリ
(1536バイト)
パケット長
パケット長
送信データパケット n
パケット長
送信データパケット n+1
パケット長
送信データパケット n+2
空き容量
次の送信データ
パケットが格納される
メモリ
受信バッファメモリ
(3072バイト)
L
A
N
パケット長
受信データパケット n
パケット長
自動的に行われる処理
・シリアルデータからパラ
レルデータへ変換
・アドレスの比較
・32ビットのCRCコードの
チェック,除去
・64ビットのプリアンブル
の除去
・受信バッファに転送
受信データパケット n+1
バッファメモリ
ポートレジスタ
(BNPR8)
パケット長
受信データパケット n+2
DMA←→FR
パケット長
受信データパケット n+3
空き容量
次の受信データ
パケットが格納される
LAN ←→バッファメモリの転送については , ハードで処理するため ,
利用者はレジスタ←→バッファメモリレジスタ間の送信 , 受信を行います。
380
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
■ 受信データパケットのフォーマット
図 12.3-2 受信データパケットのフォーマット
bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
パケット長
デスティネーションアドレス ( 上位 4 バイト )
デスティネーションアドレス ( 下位 2 バイト )
ソースアドレス ( 上位 2 バイト )
ソースアドレス ( 下位 4 バイト )
長さ / タイプ
データ本体
データ本体
中略
データ本体
CRC
■ パケット長のフォーマット (4 バイト )
図 12.3-3 パケット長のフォーマット (4 バイト )
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
パケット長
11 ビット
• パケット長は 11 ビットで表されるため , 先頭の 2 バイトと 3 バイト目の上位 5 ビッ
トには "0" を書き込んでください。
• 送信時 : パケット長には , アドレス+データ長+データ本体のデータ長を書き込ん
でください。
• 受信時 : 各受信データの先頭に 4 バイトのデータ長 ( アドレス+データ長+データ
本体 ) 情報が書き込まれます。
■ パケットのフォーマット
図 12.3-4 パケットのフォーマット
スタートフレームデリミタ
デスティネー
プリアン
ションアドレス
ブル
7バイト 1
6バイト
バイト
ソース
アドレス
6バイト
長さ/タイプ *1
2バイト
データ本体
CRC
46バイト~ 4バイト
1500バイト
1バイト=8ビット
IEEE802.3パケットフォーマット
送信データ*2
送信パケット
受信パケット
受信データ*3
*1 : データ本体の長さ / タイプを設定するフィールドです。LAN コントローラの動作上ではこの値には意味
がありません。
*2 : 送信データの先頭にはこの送信データのバイト数情報を付加して , 送信バッファへ転送してください。
*3 : 受信ステータス内のデータ長には , この受信データのバイト数がセットされます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
381
第 12 章 LAN コントローラ
12.3
12.3.1
MB91402/403 シリーズ
送信フロー ( ホスト→バッファメモリ )
送信フロー ( ホスト→バッファメモリ ) について説明します。
■ メイン処理
図 12.3-5 メイン処理
1. ステータスのクリア
2. メモリ(RAM)上に,送信データを組み立てる
・デスティネーションアドレス
・ソースアドレス
・データ長
・データ本体
3. LANコントローラの動作モードの設定
4. バッファ上に組み立てた送信データを置く
(プログラムによる転送/DMA転送)
5. 送信OK割込み発生を許可する
(送信が終了すると割込み発生)
6. 送信パケット数をレジスタに書き込む
(送信スタート)
7. ハードで自動的に付加
・プリアンブル
・スタートフレームデリミタ
・CRC
送信
バッファ内の全パケット
が送信を完了したか
(ハード処理)
YES
NO
382
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
図 12.3-6 割込み
TMT OK
ERROR
割込み開始
8.
割込み開始
各種ステータスの
クリア(送信OK
ステータスなど)
エラー処理
9. 割込み禁止にする
10.
RETI(復帰)
上位のネットワーク
プロトコルに
送信完了を通知する
RETI(復帰)
● 手順
【パケット送信】
メイン処理
1. 各ステータスのクリア
①送信ステータスレジスタ (DLCR0) の設定:設定値 8AH
表 12.3-1 送信ステータスレジスタ (DLCR0) の設定
ビット
値
DLCR0 の位置
TMT OK
1
bit7
LTE COL
1
bit3
RETRY OVER
1
bit1
②ループバックコントロールビット (DLCR4 : LBC) に "1"( 通常の送受信動作 ) を書
き込む。
2. メモリ (RAM) 上に送信データを組み立てる
①デスティネーションアドレス
②ソースアドレス
③長さ / タイプ
④データ本体の設定
( 注意事項 ) 送信データ長が 4 バイトで割り切れない場合には送信データの最後
にダミーデータを付加する。
図 12.3-7 メモリへの送信データの置き方
スタートフレームデリミタ
デスティネー
プリアン
ションアドレス
ブル
7バイト 1
6バイト
バイト
CM71-10131-1
ソース
アドレス
6バイト
長さ/タイプ
2バイト
データ本体
CRC
46バイト~ 4バイト
1500バイト
FUJITSU MICROELECTRONICS LIMITED
383
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
3.LAN コントローラの動作モードの設定
表 12.3-2 コントロールレジスタ 2(DLCR7) の設定
ビット
値
DLCR7 の位置
RBNK1
1( バンク 2 を選択 )
bit3
RBNK0
1( バンク 2 を選択 )
bit2
BYTE SWAP
使用に応じてバイトスワップを設定
bit0
4. 外部メモリからバッファ上に送信データを置くための DMA 転送を行う。
DMA 設定 ( 送信例 )
FR コアの DMAC に下記の設定を行います。
①転送元アドレス設定:
転送元アドレス設定レジスタ (DMASAn : DMASA) に転送元アドレスを設定する。
②転送先アドレス設定:
転送先アドレス設定レジスタ (DMADAn : DMADA) に , MAC のバッファメモリ
ポートレジスタ (BMPR8) を設定する。
③ DMA 動作許可:
DMAC 全体動作許可レジスタ (DMACR : DMAE) に "1"( 全チャネル DMA 転送許
可 ) を設定する。
④ DMAC コントロール / ステータスレジスタ B(DMACBn) 設定:
以下に示した以外の設定は , 初期値を意味します。
•
TYPE:転送タイプ設定
TYPE1, TYPE0 = 00B(2 サイクル転送 )
•
MODE:転送モード設定
MOD1, MOD0 = 01B( バースト転送モード )
•
WS:転送データ幅選択
WS1, WS0 = 10B( ワード単位で転送 )
•
SADM:転送元アドレスカウントモード指定
SADM = 0( 転送元アドレスは増加します )
( 注意事項 ) 転送元のバッファに応じた対応が必要です。
•
リロードおよび割込み設定
使用に応じて設定してください。
•
SASZ:転送元アドレスカウントサイズ指定
SASZ = 04H( 転送アドレス増減幅 :4)
( 注意事項 ) 転送元のバッファに応じた対応が必要です。
•
DASZ:転送先アドレスカウントサイズ指定
DASZ = 00H( 転送アドレス増減幅 :0)
384
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
⑤ DMAC コントロール / ステータスレジスタ A(DMACAn) 設定:
以下に示した以外の設定は , 初期値を意味します。
•
DENB : DMA 動作許可ビット
DENB = 1( 対応チャネル DMA 動作許可 )
•
IS : 転送要因選択
IS4 ∼ IS0 = 00000B( ソフトウェア転送要求のみ有効 )
•
BLK : ブロックサイズ指定
BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない )
•
DTC : 転送回数レジスタ
送信データ長を設定する。
例 )1536 バイトの場合 , 1536/ ワード= 384
⇒ DTC = 180H
⑥転送要求:
DMACAn.STRG:転送要求
STRG = 1(DMA 起動要求 )
5. バッファにデータを転送 (DMA 設定 ) 送信パケット数の書込み
①送信割込みイネーブルレジスタ (DLCR2) の設定:設定値 8EH
ビット
値
DLCR2 の位置
ENA TMT OK
1
bit7
ENA LTE COL
1
bit3
ENA COL
1
bit2
ENA RETRY OVER
1
bit1
6. 送信スタート
①イネーブルデータリンクコントロールビット (DLCR6 : ENA DLC) に "0"(LAN コ
ントローラは送受信可能な状態 ) を書き込む。
②送信パケット数ビット (BMPR10 : TX PKT CNTn) にこれから送信するパケットの
数を書き込む。
③送信スタートビット (BMPR10 : TMST) に "1"( パケットの送信を起動 ) を書き込む
( パケット送信が完了するまでは次の送信データを送信バッファへ転送すること
も , その送信動作を起動することも行わないこと )。
④送信バッファの残りを計算し , すべてのデータを転送するまで , ② , ③の処理を繰
り返す。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
385
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
(7. ハードの処理 )
①パケットの送信フォーマットに変換する
プリアンブル , スタートフレームデリミタ , CRC を付加し , LAN ネットワーク上
へ送信される。
②送信パケット数ビット (BMPR10 : TX PKT CNTn) が "0" になるまで , パケットの
送信が行われる (1 パケット送信するごとに , 自動でデクリメントされる )。
③送信が終了すると , 送信 O.K. ビット (DLCR0 : TMT OK) が "1" になります。
送信の完了 ( 割込み発生 )
8. ステータスクリア
送信ステータスレジスタ (DLCR0) の設定:設定値 8AH
ビット
値
DLCR0 の位置
TMT OK
1
bit7
LTE COL
1
bit3
RETRY OVER
1
bit1
9. 割込み禁止にする
送信 O.K 割込み発生許可ビット (DLCR2 : ENA TMT OK) に "0"(TMT OK 割込み発
生禁止 ) を書き込む。
10. 上位に通知
必要ならば上位のネットワークプロトコルに送信完了を通知する。
386
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
12.3.2
受信フロー ( バッファメモリ→ホスト )
受信フロー ( バッファメモリ→ホスト ) について説明します。
■ メイン処理
図 12.3-8 メイン処理
1. 初期処理(ステータスのクリア)
2. 各種割込み許可
3. LANコントローラのレジスタの設定
4. 受信スタート(自動的に行われる)
(受信が終了すると割込み発生)
5. ハードの処理
・自局あてのパケットかを確認する
・プリアンブルとCRCを取り除いて,
バッファメモリに転送
・エラーをチェック
・パケットレディビットに"1"(完了)が書き込まれる
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
387
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
図 12.3-9 割込み
ERROR
PKT-RDY
割込み開始
割込み開始
6. 割込み禁止に変更する
エラー処理
7. パケット長の読出し
RETI(復帰)
8. DMA動作許可
9. データ読出し(DMA
転送)(ハードの処理)
1パケット受信
10.
バッファエンプティ
NO
YES(バッファの領域がなくなった)
11. DMA動作禁止
12. 各種ステータスのクリア
13. 割込み許可
RETI(復帰)
388
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
● 手順
【パケット受信】
メイン処理
1. 各ステータスのクリア
受信ステータスレジスタ (DLCR1) の設定:設定値 FFH
ビット
値
DLCR1 の位置
PKT RDY
1
bit7
RX ERR
1
bit6
FIL DROP
1
bit5
RX LNG PKT
1
bit4
RX SRT PKT
1
bit3
ALG ERR
1
bit2
CRC ERR
1
bit1
OVRFLO
1
bit0
2. 各種割込み許可
受信割込みイネーブルレジスタ (DLCR3) の設定:設定値 CAH
ビット
値
DLCR3 の位置
ENA PKT RDY
1
bit7
ENA RX ERR
1
bit6
ENA FIL DROP
0
bit5
ENA RX LNG PKT
0
bit4
ENA RX SRT PKT
1
bit3
ENA ALG ERR
0
bit2
ENA CRC ERR
1
bit1
ENA OVRFLO
0
bit0
3.LAN コントローラのレジスタの設定
①ループバックコントロールビット (DLCR4 : LBC) に "1"( 通常の送受信動作 ) を書
き込む。
②アドレスマッチモードビット (DLCR5 : AM1 ∼ AM0) において , "10B"( 選択され
たパケットを受信 ) または , "11B"( すべてのパケットを受信 ) に設定する。
③イネーブルデータリンクコントロールビット (DLCR6 : ENA DLC) に "0"(LAN コ
ントローラは送受信可能な状態 ) を書き込む。
(4. ハードの処理 )
受信スタート
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
389
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
(5. ハードの処理 )
• データリンクコントローラでデスティネーションアドレスのチェックをして , 自局
あてのパケットかを確認する。
• 自局あてのパケットはプリアンブルと CRC を取り除いて , バッファメモリに転送す
る。
• 同時に , CRC, ショートパケット , アライメントの各エラーをチェックして , エラー
が検出されると , 受信ステータスレジスタ (DLCR1) の対応するエラーステータス
ビットをセットして , バッファメモリへ転送したパケットデータを消去する。
• 正常に受信が完了し , パケットデータをすべてバッファメモリに転送するとバッファ
メモリマネージャはバッファメモリ内のパケットデータの先頭に 4 バイトのステータ
ス情報を書き込んで , パケットレディビット (DLCR1 : PKT RDY) が "1" となる。
受信の完了 ( 割込み発生 )
6. 割込み禁止にする
受信割込みイネーブルレジスタ (DLCR3) に "00H" を書き込む ( 受信割込みをすべて
禁止にする )。
7. パケット長の読出し
パケット長をバッファメモリポートレジスタ (BMPR8) より読み出す。
DMA 転送処理
8.DMA 動作イネーブル
DMA 設定 ( 受信例 )
FR コアの DMAC に下記の設定を行います。
1. 転送元アドレス設定:
転送元アドレス設定レジスタ (DMASA0 : DMASA) に MAC のバッファメモリ
ポートレジスタ (BMPR8) を設定する。
2. 転送先アドレス設定:
転送先アドレス設定レジスタ (DMADA0 : DMADA) に , 転送先アドレスを設定
する。
3. DMA 動作許可
DMAC 全体動作許可レジスタ (DMACR : DMAE) に "1"( 全チャネル DMA 転送
許可 ) を設定する。
4. DMAC コントロール / ステータスレジスタ B(DMACB0) 設定
以下に示した以外の設定は , 初期値を意味します。
•
TYPE:転送タイプ設定
TYPE1, TYPE0 = 10B ( フライバイ :I/O → メモリ転送 )
•
MODE:転送モード設定 MOD1, MOD0 = 10B( デマンド転送モード )
•
WS:転送データ幅選択
WS1, WS0 = 10B ( ワード単位で転送 )
390
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
•
第 12 章 LAN コントローラ
12.3
DADM:転送先アドレスカウントモード指定
DADM = 0 ( 転送元アドレスは増加します )
( 注意事項 ) 転送先のバッファに応じた対応が必要です。
•
リロードおよび割込み設定
必要に応じて設定してください。
•
SASZ:転送元アドレスカウントサイズ指定
SASZ = 00H ( 転送アドレス増減幅 :0)
•
DASZ:転送先アドレスカウントサイズ指定
DASZ = 04H ( 転送アドレス増減幅 :4)
( 注意事項 ) 転送先のバッファに応じた対応が必要です。
5. DMAC コントロール / ステータスレジスタ A(DMACA0) 設定
以下に示した以外の設定は , 初期値を意味します。
•
DENB : DMA 動作許可ビット
DENB = 1 ( 対応チャネル DMA 動作許可 )
•
IS : 転送要因選択
IS4 ∼ IS0 = 01110B (DREQ "H" レベル )
•
BLK : ブロックサイズ指定
BLK3 ∼ BLK0 = 0001B ( ブロック転送を行わない )
•
DTC : 転送回数レジスタ
受信データ長を設定する。
例 )1536 バイトの場合 , 1536/ ワード= 384
⇒ DTC = 180H
6. 転送要求
DMA イネーブルビット (BMPR12 : DMA RENA) に "1"(DMA 読出し動作許可 )
を書き込む。
9. データの読出し (DMA 転送 )
※ 受信したパケットのデータ長が 32 ビットで割り切れない場合には , 受信データ
の最後にダミーデータ ( 値は不定 ) が付加されてバッファメモリに格納されま
す。例えば , 受信ステータス内のデータ長の値が "007FH" の場合 , ホストシステ
ムでは , バッファメモリポートレジスタ (BMPR8) を 32 ワードリードし , 最後の
1 バイトは削除してください。
10. バッファエンプティの判断
① バッファエンプティビット (DLCR5 : BUF EMP) が "0"( 受信バッファメモリ内に
有効なデータが残っている ) の場合
② ①の処理をバッファエンプティビット (DLCR5 : BUF EMP) が "0"( 受信バッファ
メモリ内に有効なデータはない ) になるまで繰り返す。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
391
第 12 章 LAN コントローラ
12.3
MB91402/403 シリーズ
11.DMA 動作ディセーブル
DMA RENA ビット (BMPR12 : DMA RENA) に "0"(DMA 動作禁止 ) を書き込む。
12. ステータスのクリア
受信ステータスレジスタ (DLCR1) の設定:設定値 FFH
ビット
値
DLCR1 の位置
PKT RDY
1
bit7
RX ERR
1
bit6
FIL DROP
1
bit5
RX LNG PKT
1
bit4
RX SRT PKT
1
bit3
ALG ERR
1
bit2
CRC ERR
1
bit1
OVRFLO
1
bit0
13. 割込み許可にする
受信割込みイネーブルレジスタ (DLCR3) の設定:設定値 CAH
392
ビット
値
DLCR3 の位置
ENA PKT RDY
1
bit7
ENA RX ERR
1
bit6
ENA FIL DROP
0
bit5
ENA RX LNG PKT
0
bit4
ENA RX SRT PKT
1
bit3
ENA ALG ERR
0
bit2
ENA CRC ERR
1
bit1
ENA OVRFLO
0
bit0
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
12.4
第 12 章 LAN コントローラ
12.4
パケットフィルタ
パケットフィルタについて説明します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
393
第 12 章 LAN コントローラ
12.4
12.4.1
MB91402/403 シリーズ
パケットフィルタの概要
パケットフィルタについて説明します。
■ パケットフィルタの概要・特長
この LAN コントローラには「プロトコルタイプ」
「L3/L4 フィルタテーブル」の 2 種
類のテーブルが用意されており , 以下の情報に基づくフィルタを実現できます。
• プロトコルタイプ
(Ethernet のタイプフィールド )
プロトコルタイプ
(8 件登録可能 )
• IP アドレス
L3/L4 フィルタテーブル
(16 件登録可能 )
• TCP/UDP ポート番号
• ICMP メッセージタイプ
図 12.4-1 パケットフィルタの概要
チップ MB91402/403 シリーズ
L3/L4 フィルタテーブル
宛先アドレス :192.168.1.2 を破棄
送信元アドレス :163.170.2.3 を破棄
16 件登録可能
L3/L4 フィルタテーブルには , あらかじめ登録しておく
必要があります。
①データレジスタ (FL_DATA) に登録データを書き込む。
②コマンドレジスタ (FL_CMD) で書込み指示をする。
パケット
394
宛先アドレス:192.168.1.1
通過
宛先アドレス:192.168.1.2
L3/L4 フィルタテーブルに
登録されているため , 破棄
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
テーブル
12.4.2
パケットフィルタのテーブルについて説明します。
■ プロトコルタイプテーブル
プロトコルタイプによって, フィルタリングするときに使用します(最大8件登録可能)。
図 12.4-2 全体図
レコード 0
レコード 1
∼
レコード 7
全体で 8 エントリのテーブルとなっています。
テーブルとの比較はレコード番号 0 番から 7 番の順で行われ , 一致した時点で比較終了
となります。
図 12.4-3 構成
bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
−
②
−
8
7
6
5
①
4
3
2
−
1
0
③
● テーブルに設定できる項目
①【P_TYPE フィールド】[P_TYPE:16 ビット ]
フィルタリングの対象となるプロトコルを表す値を設定します。
IP プロトコルの値 (IPv4:0800H, IPv6:86DDH) はこのプロトコルタイプテーブルで参
照を行いません。設定しても意味がありません。また , フィルタモード設定レジス
タによる指定で処理しますので , PPPoE( ディスカバリステージ:8863H, セッション
ステージ:8864H) は , このフィールドには設定しません。
②【P_Pass_Drop フィールド】[P_Pass_Drop:1bit]
フィルタリングの設定です。P_TYPE フィールドの値と一致した場合に破棄するか
通過するかを指定します。
"1" のとき………破棄する ( このプロトコルはこのレコードを使用しない )
"0" のとき………通過する ( このプロトコルを使用する )
③【P_Valid フィールド】[P_Valid:1bit]
エントリ有効フラグです。使用しないエントリ番号の P_ Valid フィールドには "0"
を設定してください。
"0" のとき………このレコードは無効である。
"1" のとき………このレコードは有効である。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
395
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ L3/L4 フィルタテーブル
L3/L4 のパケットの情報でフィルタリングするときに使用します ( 最大 16 件登録可能 )。
図 12.4-4 L3/L4 フィルタテーブル
レコード 0
SRC0
SRC1
SRC2
SRC3
DES0
DES1
DES2
DES3
PORT LOWER
PORT UPPER
FILTERING1
FILTERING2
レコード 1
∼
レコード 15
12 個のデータレジスタで 1 つのレコードとなり , 全体で 16 エントリのテーブルとなっ
ています。
テーブルとの比較はレコード番号 0 番から 15 番の順で行われ , 一致した時点で比較終
了となります。
図 12.4-5 1 レコードの構成
bit31
bit0
SRC0
SRC1
SRC2
SRC3
DES0
DES1
DES2
DES3
DES PORT LOWER
DES PORT UPPER
P
396
SRC PORT LOWER
SRC PORT UPPER
フィルタ設定
PD
ACK
FUJITSU MICROELECTRONICS LIMITED
M T V
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
● テーブル詳細
• SRC0, SRC1, SRC2, SRC3:送信元 IP フィールド
送信元 IP アドレスを設定するフィールドです。
図 12.4-6 テーブル詳細 ( 送信元 IP フィールド )
bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
SRC0
SRC1
SRC2
SRC3
SRC0, SRC1, SRC2, SRC3: 送信元 IP アドレス
送信元 IP アドレスを設定します。
なお , 範囲指定のためのマスクをかけて比較する場合 , マスクしない IP アドレスの範
囲には "0" を設定してください。
(例)
• 192.168.1.0 ∼ 192.168.1.255 の範囲を指定する場合 , IP フィールドには 192.168.1.0 と
定義します ( フィルタサブネットレジスタ (FL_SUBNET) には 255.255.255.0 と設定
します )。
• 192.168.1.0 ∼ 192.168.1.31 の範囲を指定する場合も , IP フィールドには 192.168.1.0
と定義します ( フィルタサブネットレジスタ (FL_SUBNET) には 255.255.255.224 と
設定します )。
• DES0, DES1, DES2, DES3:宛先 IP フィールド
宛先 IP アドレスを設定するフィールドです。
図 12.4-7 テーブル詳細 ( 宛先 IP フィールド )
bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
DES0
DES1
DES2
DES3
DES0, DES1, DES2, DES3: 宛先 IP アドレス
宛先 IP アドレスを設定します。
なお , 範囲指定をする場合 , マスクしない IP アドレスの範囲には "0" を設定してくださ
い ( 指定方法は , 送信元 IP フィールドと同じです )。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
397
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
• PORT LOWER:下限ポート番号フィールド
ポート番号の下限値を設定するフィールドです。
図 12.4-8 テーブル詳細 ( 下限ポート番号フィールド )
bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
DES PORT LOWER
8
7
6
5
4
3
2
1
0
SRC PORT LOWER
[bit31 ∼ bit16]: DES PORT LOWER:宛先下限ポート番号
• 宛先ポート番号の下限値を指定します。
• TCP あるいは UDP の宛先ポート番号の比較において , 範囲指定を行わない場合
には宛先ポート番号を設定します。
- フィルタリングの対象が TCP の場合
範囲指定を行う場合には宛先番号の下限値を設定します。
- フィルタリングの対象が ICMP の場合
ICMP のメッセージタイプを入力します。
データレジスタの MR16 ビットが "1"( 範囲指定を行う ) の場合は DES PORT UPPER
も設定します。
[bit15 ∼ bit0]: SRC PORT LOWER:送信元下限ポート番号
• 送信元ポート番号の下限値を指定します。
• TCP あるいは UDP の送信元ポート番号の比較において , 範囲指定を行わない場
合 ( データレジスタの MR15 ビットが "0" の場合 ) には送信元ポート番号を設定
します。範囲指定を行う場合には送信元ポート番号の下限値を設定します。
データレジスタの MR15 ビットが "1"( 範囲指定を行う ) の場合は SRC PORT UPPER
も設定します。
設定例
• 送信元ポート番号の範囲指定を行う場合 (10 ∼ 20 を設定する場合 )
MR15
1
SRC PORT LOWER
10
SRC PORT UPPER
20
• 送信元ポート番号の範囲指定を行わず , 単独で指定する場合
(15 を設定する場合 )
398
MR15
0
SRC PORT LOWER
15
SRC PORT UPPER
0
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
• PORT UPPER:上限ポート番号フィールド
ポート番号の上限値を設定するフィールドです。
図 12.4-9 テーブル詳細 ( 上限ポート番号フィールド )
bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
DES PORT UPPER
8
7
6
5
4
3
2
1
0
SRC PORT UPPER
[bit31 ∼ bit16]: DES PORT UPPER:宛先上限ポート番号
• 宛先ポート番号の上限値を指定します。
• 範囲指定を行う場合(データレジスタのMR16ビットが"1"の場合)に設定します。
• 初期値として "0" を設定してください。
• 下限ポート番号 (DES PORT LOWER) より大きな値を設定してください。下限
ポート番号>上限ポート番号の場合は無視されます。
[bit15 ∼ bit0]: SRC PORT UPPER:送信元上限ポート番号
• 送信元ポート番号の上限値を指定します。
• 範囲指定を行う場合(データレジスタのMR15ビットが"1"の場合)に設定します。
• 初期値として "0" を設定してください。
• 下限ポート番号 (SRC PORT LOWER) より大きな値を設定してください。下限
ポート番号>上限ポート番号の場合は無視されます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
399
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
• FILTERING1:フィルタリングフィールド 1
フィルタリングの設定を行うフィールドです。
図 12.4-10 テーブル詳細 ( フィルタリングフィールド 1)
bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
P
−
8
7
6
5
4
3
2
MR MR MR MR MR MR MR MR MR MR MR MR MR MR MR MR
MR
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 − 0
1
0
T V
[bit22 ∼ bit20]: P
フィルタリングの対象とするプロトコルを指定します。
表 12.4-1 プロトコルの指定
P
意味
0
1
すべてのプロトコル
TCP
2
UDP
3
TCP または UDP
4
ICMP
[bit19]: MR16
TCP・UDP の宛先ポート番号を範囲指定して比較
MR16
意味
0
比較しません。
1
比較します。
[bit18]: MR15
TCP・UDP の送信元ポート番号を範囲指定して比較
MR15
意味
0
比較しません。
1
比較します。
[bit17]: MR14
TCP・UDP の宛先ポート番号の比較
MR14
400
意味
0
比較します。
1
比較しません。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
[bit16]: MR13
TCP・UDP の送信元ポート番号の比較
MR13
意味
0
比較します。
1
比較しません。
[bit15]: MR12
IPv6 宛先アドレス [127:112] (FP : TLA ID) の比較
MR12
意味
0
比較します。
1
比較しません。
[bit14]: MR11
IPv6 宛先アドレス [111:80] (NLA ID) の比較
MR11
意味
0
比較します。
1
比較しません。
[bit13]: MR10
IPv6 宛先アドレス [79:64] (SLA ID) の比較
MR10
意味
0
比較します。
1
比較しません。
[bit12]: MR9
IPv6 宛先アドレス [63:0]( インタフェース ID) の比較
MR9
意味
0
比較します。
1
比較しません。
[bit11]: MR8
IPv6 送信元アドレス [127:112](FP : TLA ID) の比較
MR8
CM71-10131-1
意味
0
比較します。
1
比較しません。
FUJITSU MICROELECTRONICS LIMITED
401
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
[bit10]: MR7
IPv6 送信元アドレス [111:80](NLA ID) の比較
MR7
意味
0
比較します。
1
比較しません。
[bit9]: MR6
IPv6 送信元アドレス [79:64](SLA ID) の比較
MR6
意味
0
比較します。
1
比較しません。
[bit8]: MR5
IPv6 送信元アドレス [63:0]( インタフェース ID) の比較
MR5
意味
0
比較します。
1
比較しません。
[bit7]: MR4
IPv4 宛先アドレスに範囲指定のためのマスクをかけて比較
MR4
意味
0
比較しません。
1
比較します。
[bit6]: MR3
IPv4 送信元アドレスに範囲指定のためのマスクをかけて比較
MR3
意味
0
比較しません。
1
比較します。
[bit5]: MR2
IPv4 宛先アドレスの比較
MR2
402
意味
0
比較します。
1
比較しません。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
[bit4]: MR1
IPv4 送信元アドレスの比較
MR1
意味
0
比較します。
1
比較しません。
[bit2]: MR0
ICMP タイプの比較
MR0
意味
0
比較します。
1
比較しません。
[bit1]: T
IPv4 IPv6, どちらのモードで通信するのかを設定します。
T
意味
0
IPv6
1
IPv4
[bit0]: V
エントリの有効フラグ
V
意味
0
このレコードは無効です。
1
このレコードは有効です。
使用しないエントリには , "0" を設定してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
403
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
• FILTERING2:フィルタリングフィールド 2
フィルタリングの設定を行うフィールドです。
図 12.4-11 テーブル詳細 ( フィルタリングフィールド 2)
bit 31
−
8
7 6
PD
−
5
4
3
ACK ACK
1
0
2
1
0
−
[bit8]: PD
条件に一致したメッセージの対処を指定します。
PD
意味
0
通過します。
1
破棄します。
[bit5]: ACK1
TCP のときの ACK フラグのチェックに使用します。
ACK1
意味
0
ACK フラグのチェックを行います。
1
ACK フラグのチェックを行いません。
[bit4]: ACK0
TCP のときの ACK フラグに応じたフィルタリングの設定に使用します。
ACK0
404
意味
0
ACK フラグが立っていないパケットにフィルタをかけます。
1
ACK フラグが立っているパケットにフィルタをかけます。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
MR フィールドでは下表のような設定有効・無効関係があります。表中 , ○は設定が有
効であることを示し , 対象となるプロトコルに対してビットの設定が必要であること
を示します。×は無効であることを示し , 設定の必要がないことを示します。設定の必
要のないものは " 比較を行わない " を設定してください。
表 12.4-2 MR フィールドでの設定有効・無効の関係
IPv4
ビット
IPv6
TCP UDP ICMP
TCP UDP ICMP
16
TCP・UDP の宛先ポート番号を範囲指定して
比較
○
○
×
×
○
○
×
×
15
TCP・UDP の送信元ポート番号を範囲指定して
比較
○
○
×
×
○
○
×
×
14 TCP・UDP の宛先ポート番号の比較
○
○
×
×
○
○
×
×
13 TCP・UDP の送信元ポート番号の比較
○
○
×
×
○
○
×
×
IPv6 宛先アドレス [127:112] (FP : TLA ID) の
比較
×
×
×
×
○
○
○
○
11 IPv6 宛先アドレス [111:80] (NLA ID) の比較
×
×
×
×
○
○
○
○
10 IPv6 宛先アドレス [79:64] (SLA ID) の比較
×
×
×
×
○
○
○
○
12
9
IPv6 宛先アドレス [63:0] ( インタフェース ID)
の比較
×
×
×
×
○
○
○
○
8
IPv6 送信元アドレス [127:112](FP : TLA ID) の
比較
×
×
×
×
○
○
○
○
7
IPv6 送信元アドレス [111:80](NLA ID) の比較
×
×
×
×
○
○
○
○
6
IPv6 送信元アドレス [79:64](SLA ID) の比較
×
×
×
×
○
○
○
○
5
IPv6 送信元アドレス [63:0]( インタフェース ID)
の比較
×
×
×
×
○
○
○
○
4
IPv4 宛先アドレスに範囲指定のためのマスクを
かけて比較
○
○
○
○
×
×
×
×
3
IPv4 送信元アドレスに範囲指定のためのマスク
をかけて比較
○
○
○
○
×
×
×
×
2
IPv4 宛先アドレスの比較
○
○
○
○
×
×
×
×
1
IPv4 送信元アドレスの比較
○
○
○
○
×
×
×
×
0
ICMP タイプの比較
×
×
○
×
×
×
○
×
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
405
第 12 章 LAN コントローラ
12.4
12.4.3
MB91402/403 シリーズ
レジスタ一覧
パケットフィルタのレジスタ一覧を , 図 12.4-12 に示します。
■ LAN コントローラのレジスタ一覧
図 12.4-12 LAN コントローラのレジスタ一覧
アドレス
0110_0014H
bit31
bit0
FL_CMD
フィルタコマンドレジスタ
0110_0018H
FL_STATUS
フィルタステータスレジスタ
0110_001CH
FL_DATA
フィルタデータレジスタ
0110_0020H
FL_CONTROL フィルタコントロールレジスタ
0110_0024H
FL_SUBNET
フィルタサブネットレジスタ
:使用領域
空白 :未使用領域
ワードアクセスオンリ
406
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
12.4.4
第 12 章 LAN コントローラ
12.4
レジスタ詳細
レジスタの各ビットへのアクセス制限を表す記号を説明します。
■ レジスタ詳細の見方
[ 記号 ]
R
: 読出し可能
R0 : 常に "0"
R1 : 常に "1"
RX : 不定
W
: 書込み可能
W0 : 常に "0" 書込み
W1 : 常に "1" 書込み
WX : 書込み無効
[ 組合せ ] "/" と ","
R/W : 書き込んだデータを読み出せる
R, W : 書込みと読出しでビットの意味が異なる
[ リードモディファイライト (RMW) 系命令への対応 ] "(" ")" の利用
R(RM1)/W : 書き込んだ値を読出し可能 ( リードモディファイライト (RMW) 系命
令時の読出しは常に "1")
R(RM1), W : 読出し可能 ( リードモディファイライト (RMW) 系命令時は常に "1"),
書込み可能
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
407
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ FL_CMD: コマンドレジスタ
テーブルアクセスの指示を行うレジスタです。ワードでアクセスしてください。
図 12.4-13 コマンドレジスタのビット構成
アドレス
0110_0014H
bit31
16
12 11
8
7
5
4
3
1
−
id
item
−
table
−
X
0
0
X
0
X
RX/WX
R/W
R/W
RX/WX R/W
0
cmd
0 初期値
RX/WX
R/W 属性
[bit31 ∼ bit16] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit15 ∼ bit12]: id:アクセスエントリ指定
id
0 ∼ 15
書込み動作
設定した位置に書き込む指示
• フィルタのエントリ位置 ( 番号 ) を示すフィールドです。
• item[bit11 ∼ bit18] の値が 12 の場合は , プロトコルタイプテーブルの設定のため ,
0∼7の範囲を指定してください(プロトコルタイプテーブルは8エントリのため)。
• テーブルの優先順位は , 上から (id 順 ) となります。
[bit11 ∼ bit8]: item:書込み種別
書込み動作
item
書き込むテーブル
SRC0 部分に書き込む指示
0∼3
4∼7
8
9
場所
DES0 部分に書き込む指示
L3/L4 フィルタテーブル
(table ビット [bit4] には "0" を設
定すること )
PORT LOWER 部分に書き込む指示
PORT UPPER 部分に書き込む指示
10
FILTERING1 部分に書き込む指示
11
FILTERING2 部分に書き込む指示
12
プロトコルタイプテーブル
(table ビット [bit4] には "1" を設
定すること )
P_TYPE 部分に書き込む指示
item はそれぞれのテーブル内に書き込む内容を指定するためのフィールドです。
L3/
L4 フィルタテーブルにおいては , 1 ワード (32 ビット ) データではテーブルの書込
みが 1 回で終了しないために 1 エントリ内のどの部分を書き込むのか指定するため
に必要なフィールドとなっています。プロトコルタイプテーブルのエントリ指定も
このフィールドにマージされています。
408
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
[bit7 ∼ bit5] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit4]: table:テーブル
table
書込み動作
0
L3/L4 フィルタテーブルを対象とする (item ビット [bit11 ∼ bit8] には 0 ∼
11 を設定すること )
1
プロトコルタイプテーブルを対象とする (item ビット [bit11 ∼ bit8] には
12 を設定すること )
• 上記のitemビット[bit11∼bit8]の書き込む場所に合わせたテーブルを指定します。
[bit3 ∼ bit1] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit0]: cmd:コマンド
cmd
書込み動作
0
読出し指示
1
書込み指示
コマンドフィールドは書込み / 読出しの指示です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
409
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ FL_STATUS: ステータスレジスタ
テーブルへのアクセス制御用に使用するレジスタです。ワードでアクセスしてくださ
い。
図 12.4-14 ステータスレジスタのビット構成
アドレス
bit31
1
0110_0018H
0
status
−
X
RX/WX
0
R
初期値
属性
R:リードオンリ
[bit31 ∼ bit1] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit0]: status:ステータス
status
読出し動作
0
現在 , 書込み動作は行われていない
1
現在 , 書込み動作中
新しいデータの書込みの際にはこのステータスの値が "0" になっていることを確認
します。
410
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ FL_DATA: データレジスタ
L3/L4 フィルタテーブル , プロトコルタイプテーブルに読み書きする 32 ビットのデー
タフィールドです。ワードでアクセスしてください。
FL_CMD レジスタの item フィールドの示す値によってデータレジスタに書くべきデー
タの内容は変わります。
図 12.4-15 データレジスタのビット構成
アドレス
bit31
0
0110_001CH
FL-DATA
0
R/W
初期値
属性
R/W : リード / ライト可能
表 12.4-3 L3/L4 フィルタテーブルの設定 (1 / 2)
item
ビット No.
L3/L4 フィルタ
テーブルとの対応
0
31 ∼ 0
SRC0
1
31 ∼ 0
SRC1
IPv6
2
31 ∼ 0
SRC2
IPv6
3
31 ∼ 0
SRC3
IPv6
4
31 ∼ 0
DES0
5
31 ∼ 0
DES1
IPv6
6
31 ∼ 0
DES2
IPv6
7
31 ∼ 0
DES3
IPv6
31 ∼ 16
DES PORT
LOWER
IPv4・IPv6 宛先 IP アドレスポート番号の下限値
15 ∼ 0
SRC PORT
LOWER
IPv4・IPv6 送信元ポート番号の下限値
8
9
対象
機能
IPv4・IPv6 送信元 IP アドレス
送信元アドレス (IPv6 のみ )
IPv4・IPv6 宛先 IP アドレス
宛先 IP アドレス (IPv6 のみ )
31 ∼ 16
DES PORT UPPER IPv4・IPv6 宛先ポート番号の上限値
15 ∼ 0
SRC PORT UPPER IPv4・IPv6 送信元ポート番号の上限値
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
411
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
表 12.4-3 L3/L4 フィルタテーブルの設定 (2 / 2)
item
10
11
412
ビット No.
L3/L4 フィルタ
テーブルとの対応
対象
31 ∼ 23
−
−
22 ∼ 20
P
19
MR16
IPv4・IPv6
TCP・UDP の宛先ポート番号を範囲指定して比
較
18
MR15
IPv4・IPv6
TCP・UDP の送信元ポート番号を範囲指定して
比較
17
MR14
IPv4・IPv6 TCP・UDP の宛先ポート番号の比較
16
MR13
IPv4・IPv6 TCP・UDP の送信元ポート番号の比較
15
MR12
IPv6
IPv6 宛先アドレス [127 ∼ 112] (FP : TLA ID) の
比較
14
MR11
IPv6
IPv6 宛先アドレス [111 ∼ 80] (NLA ID) の比較
13
MR10
IPv6
IPv6 宛先アドレス [79 ∼ 64] (SLA ID) の比較
12
MR9
IPv6
IPv6 宛先アドレス [63 ∼ 0] ( インタフェース ID)
の比較
11
MR8
IPv6
IPv6 送信元アドレス [127 ∼ 112](FP : TLA ID) の
比較
10
MR7
IPv6
IPv6 送信元アドレス [111 ∼ 80](NLA ID) の比較
9
MR6
IPv6
IPv6 送信元アドレス [79 ∼ 64](SLA ID) の比較
8
MR5
IPv6
IPv6 送信元アドレス [63 ∼ 0]( インタフェース
ID) の比較
7
MR4
IPv4
IPv4 宛先アドレスに範囲指定のためのマスクを
かけて比較
6
MR3
IPv4
IPv4 送信元アドレスに範囲指定のためのマスク
をかけて比較
5
MR2
IPv4
IPv4 宛先アドレスの比較
4
MR1
IPv4
IPv4 送信元アドレスの比較
3
−
−
2
MR0
1
T
IPv4・IPv6 通信モード
0
V
IPv4・IPv6 エントリ有効フラグ
31 ∼ 9
−
8
PD
7, 6
−
5
ACK1
IPv4・IPv6 ACK フラグのチェック
4
ACK_0
IPv4・IPv6
3∼0
−
−
機能
reserved
IPv4・IPv6 フィルタリングの対象とするプロトコル
reserved
IPv4・IPv6 ICMP タイプの比較
−
reserved
IPv4・IPv6 条件に一致したメッセージの対処
−
reserved
ACK フラグとパケットフィルタの関係
(ACK フラグをチェックする場合に有効 )
reserved
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
表 12.4-4 プロトコルタイプテーブルの設定
item
12
ビット No.
プロトコルタイプ
テーブルとの対応
対象
31 ∼ 25
−
−
24
P_Pass_Drop
IPv4・IPv6
23 ∼ 20
−
−
19 ∼ 4
P_TYPE15 ∼
P_TYPE0
IPv4・IPv6
3∼1
−
−
0
P_Valid
IPv4・IPv6
CM71-10131-1
機能
reserved
条件に一致したメッセージの対処
reserved
プロトコルを表す値
reserved
エントリ有効フラグ
FUJITSU MICROELECTRONICS LIMITED
413
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ FL_CONTROL: フィルタモード設定レジスタ
フィルタの各動作モードに該当するパケットをどう取り扱うかを指定するレジスタで
す。ワードでアクセスしてください。
図 12.4-16 フィルタモード設定レジスタのビット構成
アドレス
bit10
bit9
bit8
0110_0020H
UDF
tunnel
0
R/W
0
R/W
bit7
fragment L3/L4 table
0
R/W
0
R/W
bit6
p_type
0
R/W
bit5
bit4
bit3
bit2
bit1
bit0
discovery IPv4 drop IPv4 pass IPv6 drop IPv6 pass
0
R/W
0
R/W
0
R/W
0
R/W
IP i/o
0
R/W
0
R/W
初期値
属性
R/W : リード / ライト可能
[bit10] UDF : UDF フィールド
UDF
書込み動作
0
−
1
認識できない TCP/UDP/IP パケットを廃棄します。
TCP/UDP/IPヘッダが正常に認識されないことは本来はありえないケースですが, IP
ヘッダが IP アドレスの途中で途切れていた場合などが該当します。
[bit9] tunnel : tunnel フィールド
IPv4 の中に IPv6 がカプセル化されているパケットの場合の処理設定です。
tunnel
書込み動作
0
(IPv4 モード ) IPv6 は未知プロトコルとみなされ , L3/L4 フィルタテーブル
との IP アドレス比較はパケットのトンネルヘッダにあたる IPv4 アドレス
で行われ , IPv6 アドレスは比較対象になりません。この場合 , L3/L4 フィル
タにおけるフィルタの対象は IPv4 アドレスのみとなります。
1
(IPv6 モード ) L3/L4 フィルタテーブルとの IP アドレス比較はパケットの
IPv6 アドレスで行われ , IPv4 アドレスは比較対象になりません。
[bit8] fragment : fragment フィールド
fragment
書込み動作
0
フラグメントパケットは通過します。
1
フラグメントパケットは無条件に破棄されます。
"0" の場合 , TCP/UDP ヘッダを含む最初のフラグメントパケットは L3/L4 テーブル
にてフィルタリングが実行されます。2 番目以降のパケットは TCP/UDP ポート番
号をパラメータとしたフィルタにかかりません。
414
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
[bit7] L3/L4 table : L3/L4 table フィールド
L3/L4 テーブルに一致するエントリがないパケットの処理設定です。
L3/L4 table
書込み動作
0
パケットは通過します。
1
パケットは破棄されます。
[bit6] p_type : p_type フィールド
プロトコルタイプテーブルに一致するエントリがないパケットの処理設定です。
p_type
書込み動作
0
パケットは通過します。
1
パケットは破棄されます。
[bit5] discovery : discovery フィールド
discovery
書込み動作
0
無条件に通過します。
1
PPPoE ディスカバリステージのデータパケットは破棄されます。
[bit4] IPv4 drop : IPv4 drop フィールド
discovery フィールド [bit5] において "0" が設定されており , かつ PPPoE セッション
ステージにおけるパケットの上位層が IPv4 プロトコルの場合の処理設定です。
IPv4 drop
書込み動作
0
以下の IPv6 pass フィールド [bit3] の設定に従います。
1
パケットを破棄します。
[bit3] IPv4 pass : IPv4 pass フィールド
discovery フィールド [bit5] において "0" が設定されており , かつ PPPoE セッション
ステージにおけるパケットの上位層が IPv4 プロトコルの場合の処理設定です。
IPv4 pass
書込み動作
0
L3/L4 フィルタテーブル参照が行われます。
1
処理なしで , 通過します。
[bit2] IPv6 drop : IPv6 drop フィールド
PPPoE セッションステージにおけるパケットの上位層が IPv6 プロトコルの場合の
処理設定です。
IPv6 drop
CM71-10131-1
書込み動作
0
以下の IPv6 pass フィールド [bit1] の設定に従います。
1
パケットを破棄します。
FUJITSU MICROELECTRONICS LIMITED
415
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
[bit1] IPv6 pass : IPv6 pass フィールド
IPv6 drop フィールド [bit2] において "0" が設定されており , かつ PPPoE セッション
ステージにおけるパケットの上位層が IPv6 プロトコルの場合の処理設定です。
IPv6 pass
書込み動作
0
L3/L4 フィルタテーブルの参照が行われます。
1
処理なしで , 通過します。
[bit0] IP i/o : IP i/o フィールド
PPPoE セッションステージにおけるパケットの上位層が IPv4 プロトコルでも IPv6
プロトコルでもない場合の処理設定です。
IP i/o
416
書込み動作
0
パケットを通過します。
1
パケットを破棄します。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ FL_SUBNET: フィルタサブネットレジスタ
フィルタの範囲指定登録用レジスタです。ワードでアクセスしてください。
図 12.4-17 フィルタサブネットレジスタのビット構成
アドレス
bit31
0
FL_SUBNET
0110_0024H
FFFFFFFFH
R/W
初期値
属性
R/W : リード / ライト可能
フィルタが IPv4 アドレスのネットマスクを必要とする際に使用するフィルタの範囲指
定登録用のレジスタです。IPv4 アドレスのうち , 範囲指定だけを抽出したい場合には ,
L3/L4 フィルタテーブルの FILTERING1 フィールド MR4, MR3 に "1" を設定するとレ
ジスタに登録されているアドレスに範囲指定のマスクをかけます。このレジスタは範
囲指定のマスクをビット単位で登録可能です。
[bit31 ∼ bit0] FL_SUBNET : FL_SUBNET
フィルタの範囲指定を指定します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
417
第 12 章 LAN コントローラ
12.4
12.4.5
MB91402/403 シリーズ
テーブルアクセスの際の注意事項
テーブルアクセスの際の注意事項を説明します。
■ テーブルアクセスの際の注意事項
CPU がテーブルへアクセスしている間は , パケットの参照を正しくできません。した
がって , テーブルへのアクセスを行う際には , 必ずイネーブルデータリンクコントロー
ラ [DLCR6 : bit7] を "1" に設定し , LAN コントローラを送受信動作不可能な状態にして
ください。
418
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
12.4.6
フィルタの設定方法
フィルタの設定方法を説明します。
■ L3/L4 フィルタテーブルへのアクセス方法
手順 1. ステータスレジスタ (FL_STATUS) のステータス値が "0"( 現在書込み動作が行
われていない ) であることを確認します。
手順 2. データレジスタ (FL_DATA) にフィルタテーブルに登録するデータを書き込み
ますが , 一度に全部は書き込めないので 12 回に分けて処理します。まずは ,
FL_CMD レジスタの item フィールドが "0" の場合として , SRC_IP の最初の部
分 [bit127 ∼ bit96] に登録するデータ ( 送信元 IP アドレス (SRC IP アドレス )
の最初の 32 ビット [bit127 ∼ bit96]) をデータレジスタ (FL_DATA) に書き込み
ます。
FL_DATA:データレジスタ
0010010011111110…
(IP アドレスの最初の 32 ビット )
手順 3. コマンドレジスタの設定
①コマンドレジスタの id( テーブルのエントリ番号 ) にテーブルに登録したい場所
( 今回は "1") をセットします。
② item に "0" を設定します。
表 12.4-5 コマンドレジスタの設定
item
L3/L4 フィルタテーブルとの対応
機能
0
SRC0
送信元 IP アドレス
1
SRC1
2
SRC2
3
SRC3
4
DES0
5
DES1
6
DES2
7
DES3
8
PORT LOWER
ポート番号の下限値
9
PORT UPPER
ポート番号の上限値
10
FILTERING
フィルタリング
11
FILTER MODE
フィルタモード
送信元アドレス (IPv6 のみ )
宛先 IP アドレス
宛先 IP アドレス (IPv6 のみ )
③ table に "0"(L3/L4 フィルタテーブルを対象とする ) を設定します。
④ cmd に "1"( 書込み指示 ) をセットします。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
419
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ FL_CMD: コマンドレジスタ
図 12.4-18 コマンドレジスタのビット構成
bit31
16
12
8
id
1
item
0
X X X X X X X X
−
5
−
4
table
−
0
cmd
0
X
1
X
手順 4. ハードが書込み指示を開始するので , ステータスレジスタ (FL_STATUS) のス
テータス値が "0"( 現在書込み動作が行われていない ) となるまで待ちます。
手順 5. 同じように item 番号を変えながら 2 ∼ 4 を繰り返してフィルタテーブルを書
き込んでいきます。
■ 設定方法
(1) L3/L4 フィルタテーブルを初期化する場合
手順 1. データレジスタ (FL_DATA) の設定
bit0 に "1" を設定します ( レコード無効の設定 )。
手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0A01H
ビット名
値
FL_CMD の位置
id
0000B
bit15 ∼ bit12
item
1010B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
手順 3. id ビット 1 ∼ 15 についても 2. と同様に設定します ( すべてのエントリを無効
にします )。
420
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ L3/L4 フィルタテーブル全体の設定方法
下記の条件のデータのみを通過させる設定例を示します。
• 宛先ポート番号 12 は , すべての宛先 IP アドレスを通過
• 宛先ポート番号 11 ∼ 20 は宛先 IP アドレス 192.168.1.1 ( ただし , 宛先ポート番号 15
は , 宛先 IP アドレス 192.168.1.2 だけ通過 )
テーブルを上から参照 (ID 番号順 ) し , 条件に一致した段階でパケットのフィルタリン
グ処理を行うため , 条件の細かいものからテーブル番号の小さい順に設定する必要が
あります。
1) フィルタモード設定レジスタにて , プロトコルタイプテーブルに一致するエントリ
がないパケットについて破棄する設定
2) 宛先ポート番号 15, 宛先 IP アドレス 192.168.1.2 を有効 ( テーブル番号 0 番に設定 )
3) 宛先ポート番号11∼14, 宛先IPアドレス 192.168.1.1を有効(テーブル番号1番に設定)
4) 宛先ポート番号16∼20, 宛先IPアドレス 192.168.1.1を有効(テーブル番号2番に設定)
5) 宛先ポート番号 12 を有効 ( テーブル番号 3 番に設定 )
6) 残りのテーブル設定を無効にする。( テーブル番号 4 ∼ 15 番 )
■ フィルタモード設定レジスタの設定
フィルタモード設定レジスタ (FL_CONTROL) の設定:設定値 0000_0080H
ビット名
値
fi_control の位置
L3/L4 table
1
bit7
■ ポート番号 15, IP アドレス 2 を有効 ( テーブル番号 0 番に設定 )
● 宛先 IP アドレスの設定
手順 1. データレジスタ (FL_DATA) の設定
IP アドレス "192.168.1.2" を設定します。
手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0401H
CM71-10131-1
ビット名
値
FL_CMD の位置
id
0000B
bit15 ∼ bit12
item
0100B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
FUJITSU MICROELECTRONICS LIMITED
421
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
● 下限ポート番号フィールドの設定
手順 3. データレジスタ (FL_DATA) の設定
通過させる TCP の宛先ポート番号 "15" を bit31 ∼ bit16 に設定します。
図 12.4-19 データレジスタのビット構成
bit31
16 15
bit0
DES PORT LOWER
SRC PORT LOWER
手順 4. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0801H
ビット名
値
FL_CMD の位置
id
0000B
bit15 ∼ bit12
item
1000B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● フィルタリングフィールド 1 の設定
手順 5. データレジスタ (FL_DATA) の設定:設定値 0011_FF17H
422
ビット名
値
FL_DATA の位置
p
001B
bit22 ∼ bit20
MR16
0
bit19
MR15
0
bit18
MR14
0
bit17
MR13
1
bit16
MR12
1
bit15
MR11
1
bit14
MR10
1
bit13
MR9
1
bit12
MR8
1
bit11
MR7
1
bit10
MR6
1
bit9
MR5
1
bit8
MR4
0
bit7
MR3
0
bit6
MR2
0
bit5
MR1
1
bit4
MR0
1
bit2
t
1
bit1
V
1
bit0
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
手順 6. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0A01H
ビット名
値
FL_CMD の位置
id
0000B
bit15 ∼ bit12
item
1010B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● フィルタリングフィールド 2 の設定
手順 7. データレジスタ (FL_DATA) の設定:設定値 0000_0000H
ビット名
値
FL_DATA の位置
PD
0
bit8
手順 8. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0B01H
ビット名
値
FL_CMD の位置
id
0000B
bit15 ∼ bit12
item
1011B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
■ ポート番号 10 ∼ 14, IP アドレス 1 を有効 ( テーブル番号 1 番に設定 )
● 宛先 IP アドレスの設定
手順 1. データレジスタ (FL_DATA) の設定
宛先 IP アドレス "192.168.1.1" を設定します。
手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_1401H
CM71-10131-1
ビット名
値
FL_CMD の位置
id
0001B
bit15 ∼ bit12
item
0100B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
FUJITSU MICROELECTRONICS LIMITED
423
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
● 下限ポート番号フィールドの設定
手順 3. データレジスタ (FL_DATA) の設定
破棄したい TCP の宛先ポート番号の下限 "11" を設定します。
図 12.4-20 データレジスタのビット構成
bit31
16 15
bit0
DES PORT LOWER
SRC PORT LOWER
手順 4. コマンドレジスタ (FL_CMD) の設定:設定値 0000_1801H
ビット名
値
FL_CMD の位置
id
0001B
bit15 ∼ bit12
item
1000B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● 上限ポート番号フィールドの設定
手順 5. データレジスタ (FL_DATA) の設定
破棄したい TCP の宛先ポート番号の上限 "14" を設定します。
図 12.4-21 データレジスタのビット構成
bit31
16 15
bit0
DES PORT UPPER
SRC PORT UPPER
手順 6. コマンドレジスタ (FL_CMD) の設定:設定値 0000_1901H
424
ビット名
値
FL_CMD の位置
id
0001B
bit15 ∼ bit12
item
1001B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
● フィルタリングフィールド 1 の設定
手順 7. データレジスタ (FL_DATA) の設定:設定値 0019_FF17H
ビット名
値
FL_DATA の位置
P
001B
bit22 ∼ bit20
MR16
1
bit19
MR15
0
bit18
MR14
0
bit17
MR13
1
bit16
MR12
1
bit15
MR11
1
bit14
MR10
1
bit13
MR9
1
bit12
MR8
1
bit11
MR7
1
bit10
MR6
1
bit9
MR5
1
bit8
MR4
0
bit7
MR3
0
bit6
MR2
0
bit5
MR1
1
bit4
MR0
1
bit2
T
1
bit1
V
1
bit0
手順 8. コマンドレジスタ (FL_CMD) の設定
0000_1A01H を設定します。
ビット名
値
FL_CMD の位置
id
0001B
bit15 ∼ bit12
item
1010B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● フィルタリングフィールド 2 の設定
手順 9. データレジスタ (FL_DATA) の設定:設定値 0000_0000H
CM71-10131-1
ビット名
値
FL_DATA の位置
PD
0
bit8
FUJITSU MICROELECTRONICS LIMITED
425
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
手順 10.コマンドレジスタ (FL_CMD) の設定:設定値 0000_1B01H
ビット名
値
FL_CMD の位置
id
0001B
bit15 ∼ bit12
item
1011B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
■ ポート番号 16 ∼ 20, IP アドレス 1 を有効 ( テーブル番号 3 番に設定 )
● 宛先 IP アドレスの設定
手順 1. データレジスタ (FL_DATA) の設定
宛先 IP アドレス "192.168.1.1" を設定します。
手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_2401H
表 12.4-6
ビット名
値
FL_CMD の位置
id
0010B
bit15 ∼ bit12
item
0100B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● 下限ポート番号フィールドの設定
手順 3. データレジスタ (FL_DATA) の設定
破棄したい TCP の宛先ポート番号の下限 "16" を設定します。
図 12.4-22 データレジスタのビット構成
bit31
16 15
bit0
DES PORT LOWER
SRC PORT LOWER
手順 4. コマンドレジスタ (FL_CMD) の設定:設定値 0000_2801H
426
ビット名
値
FL_CMD の位置
id
0010B
bit15 ∼ bit12
item
1000B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
● 上限ポート番号フィールドの設定
手順 5. データレジスタ (FL_DATA) の設定
破棄したい TCP の宛先ポート番号の上限 "20" を設定します。
図 12.4-23 データレジスタのビット構成
bit31
16 15
bit0
DES PORT UPPER
SRC PORT UPPER
手順 6. コマンドレジスタ (FL_CMD) の設定:設定値 0000_2901H
ビット名
値
FL_CMD の位置
id
0010B
bit15 ∼ bit12
item
1001B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● フィルタリングフィールド 1 の設定
手順 7. データレジスタ (FL_DATA) の設定:設定値 0019_FF17H
CM71-10131-1
ビット名
値
FL_DATA の位置
P
001B
bit22 ∼ bit20
MR16
1
bit19
MR15
0
bit18
MR14
0
bit17
MR13
1
bit16
MR12
1
bit15
MR11
1
bit14
MR10
1
bit13
MR9
1
bit12
MR8
1
bit11
MR7
1
bit10
MR6
1
bit9
MR5
1
bit8
MR4
0
bit7
MR3
0
bit6
MR2
0
bit5
MR1
1
bit4
MR0
1
bit2
T
1
bit1
V
1
bit0
FUJITSU MICROELECTRONICS LIMITED
427
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
手順 8. コマンドレジスタ (FL_CMD) の設定:設定値 0000_2A01H
ビット名
値
FL_CMD の位置
id
0010B
bit15 ∼ bit12
item
1010B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● フィルタリングフィールド 2 の設定
手順 9. データレジスタ (FL_DATA) の設定:設定値 0000_0000H
ビット名
値
FL_DATA の位置
PD
0
bit8
手順 10.コマンドレジスタ (FL_CMD) の設定:設定値 0000_2B01H
428
ビット名
値
FL_CMD の位置
id
0010B
bit15 ∼ bit12
item
1011B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
■ 宛先ポート番号 12 を有効 ( テーブル番号 3 番に設定 )
● 下限ポート番号フィールドの設定
手順 1. データレジスタ (FL_DATA) の設定
通過したい TCP の宛先ポート番号 "12" を設定します。
図 12.4-24 データレジスタのビット構成
bit31
16 15
bit0
DES PORT LOWER
SRC PORT LOWER
手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_3801H
ビット名
値
FL_CMD の位置
id
0011B
bit15 ∼ bit12
item
1000B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● フィルタリングフィールド 1 の設定
手順 3. データレジスタ (FL_DATA) の設定:設定値 0019_FF37H
CM71-10131-1
ビット名
値
FL_DATA の位置
P
001B
bit22 ∼ bit20
MR16
1
bit19
MR15
0
bit18
MR14
0
bit17
MR13
1
bit16
MR12
1
bit15
MR11
1
bit14
MR10
1
bit13
MR9
1
bit12
MR8
1
bit11
MR7
1
bit10
MR6
1
bit9
MR5
1
bit8
MR4
0
bit7
MR3
0
bit6
MR2
1
bit5
MR1
1
bit4
MR0
1
bit2
T
1
bit1
V
1
bit0
FUJITSU MICROELECTRONICS LIMITED
429
第 12 章 LAN コントローラ
12.4
MB91402/403 シリーズ
手順 4. コマンドレジスタ (FL_CMD) の設定:設定値 0000_3A01H
ビット名
値
FL_CMD の位置
id
0011B
bit15 ∼ bit12
item
1010B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
● フィルタリングフィールド 2 の設定
手順 5. データレジスタ (FL_DATA) の設定:設定値 0000_0000H
ビット名
値
FL_DATA の位置
PD
0
bit8
手順 6. コマンドレジスタ (FL_CMD) の設定:設定値 0000_3B01H
ビット名
値
FL_CMD の位置
id
0011B
bit15 ∼ bit12
item
1011B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
■ 残りのテーブル設定を無効 ( テーブル番号 4 ∼ 15 番 )
● フィルタリングフィールド 1 の設定
手順 1. データレジスタ (FL_DATA) の設定:設定値 0000_0000H
ビット名
値
FL_DATA の位置
V
0
bit0
手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_4A01H
ビット名
値
FL_CMD の位置
id
0100B
bit15 ∼ bit12
item
1010B
bit11 ∼ bit8
table
0
bit4
cmd
1
bit0
手順 3. id ビット (FL_CMD.bit15 ∼ bit12) を変更して , 1.2. を繰り返す。
430
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
12.5
第 12 章 LAN コントローラ
12.5
SMI インタフェース
SMI インタフェースについて説明します。
■ SMI インタフェースの概要
SMI インタフェースには以下のような特長があります。
SMI I/F( シリアル通信 ) を通して PHY チップの MII レジスタにアクセスし , リンクス
テータスを周期的に監視します。ポーリングの結果は MAC ブロックに送られますの
で , ポーリング機能を利用して PHY の状態を取得してください。また , ホストから PHY
レジスタへのアクセスは , このブロック中のコマンドレジスタ , データレジスタに値を
セットすることで行われます。
<注意事項>
PHY は , 内部データから LAN に送り出すためにデジタル←→アナログ化する機能を持っ
た外付けチップです。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
431
第 12 章 LAN コントローラ
12.5
12.5.1
MB91402/403 シリーズ
レジスタ一覧
SMI 関連のレジスタ一覧を説明します。
■ SMI 関連のレジスタ一覧
図 12.5-1 SMI 関連のレジスタ一覧
bit31
アドレス
0110_0028H
bit0
SMI_CMD
SMI コマンドレジスタ
0110_002CH
SMI_CMD_ST
SMI コマンドステータスレジスタ
0110_0030H
SMI_DATA
SMI データレジスタ
0110_0034H
SMI_POLLINTVL SMI ポーリングレジスタ
0110_0038H
SMI_PHY_ADD
0110_003CH
SMI_CONTROL SMI コントロールレジスタ
0110_0040H
SMI_STATUS
0110_0044H
SMI_INTENABLE SMI リンクレジスタ
0110_0048H
SMI_MDCDIV
SMIPHY アドレスレジスタ
SMI ステータスレジスタ
SMIMDC クロック選択レジスタ
:使用領域
空白 :未使用領域
リードアクセスオンリ
432
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
12.5.2
レジスタ詳細
SMI 関連のレジスタの詳細を説明します。
■ SMI コマンドレジスタ : SMI_CMD
コマンドレジスタは PHY デバイスの MII レジスタへアクセスする際 , 書込みや読出し
のコマンドを発行するレジスタです。ワードでアクセスしてください。
図 12.5-2 SMI コマンドレジスタのビット構成
アドレス bit31
16
0110 0028H
15
Access
type
−
X
RX/WX
14
13 12
−
8 7
5 4
bit0
reg add
−
phy add
0
R/W
X
RX/WX
0
R/W
0
X
R/W RX/WX
初期値
属性
[bit31 ∼ bit16] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit15]: Access type:コマンド
Access type
書込み動作
0
読み出す
1
書き込む
[bit14, bit13] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit12 ∼ bit8]: reg add:アクセスレジスタ指定
MII register のアドレスを指定します。
[bit7 ∼ bit5] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit4 ∼ bit0]: phy add:PHY アドレス
PHY chip のアドレスを指定します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
433
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
■ SMI コマンドステータスレジスタ : SMI_CMD_ST
PHY デバイスへアクセスする際の制御用ステータスレジスタです。ワードでアクセス
してください。
図 12.5-3 SMI コマンドステータスレジスタのビット構成
アドレス bit31
2
0110 002CH
1
0
cmd_er cmd_st
−
X
RX
0
R
0
R
初期値
属性
[bit31 ∼ bit2] 予約 : 予約ビット
読出し値は不定です。
[bit1]: cmd_er:エラー
cmd_er
読出し動作
0
エラーのない場合
1
PHY デバイスの MII レジスタへのアクセスが失敗した場合
• アクセスが失敗する主な理由は PHY デバイスがダウンしていることです。
• 次のコマンドが成功するまでクリアされません。
[bit0]: cmd_st:PHY アクセス
cmd_st
読出し動作
0
PHY デバイスへアクセスなし
1
現在 , ハードウェアが PHY デバイスにアクセスを行っている
コマンド実行終了と同時にクリアされます。
434
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
■ SMI データレジスタ : SMI_DATA
コマンドレジスタは PHY デバイスの MII レジスタへアクセスする際 , 書込みや読出し
のコマンドを発行するレジスタです。ワードでアクセスしてください。
図 12.5-4 SMI データレジスタのビット構成
アドレス bit31
0110 0030H
16 15
−
X
RX/WX
bit0
data
0
R/W
初期値
属性
[bit31 ∼ bit16] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit15 ∼ bit0]: data:データ
SMI_CMD で指定された PHY デバイスの MII レジスタに対して書き込むべきデー
タを格納します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
435
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
■ SMI ポーリングレジスタ : SMI_POLLINTVL
PHY デバイスにアクセスする際の周期を設定するレジスタです。ワードでアクセスし
てください。
図 12.5-5 SMI ポーリングレジスタのビット構成
アドレス bit31
16 15
0110 0034H
bit0
Pollintvl
0
R/W
−
X
RX/WX
初期値
属性
[bit31 ∼ bit16] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit15 ∼ bit0]: Pollintvl:ポーリングサイクル
Pollintvl
0
1∼
書込み動作
ポーリングしない
ポーリングする際の周期を表す。
• PHY デバイスへ定期的にアクセス ( ポーリング ) する際の周期を設定します。
320 µs (128 サイクル× 5 @ 2 MHz) が 1 単位です。
• 2 MHz という値は MDC で供給する分周クロックの値に関係しており , MDC レジ
スタにより設定されます。詳しくは「■ SMIMDC クロック選択レジスタ :
SMI_MDCDIV」
を参照してください (MDC とは Management Data Clock の略で , PHY
と MB91402/403 シリーズとの間のクロックです )。
436
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
■ SMIPHY アドレスレジスタ : SMI_PHY_ADD
ポーリングを行う際に使用する PHY デバイスのアドレス設定するレジスタです。ワー
ドでアクセスしてください。
図 12.5-6 SMIPHY アドレスレジスタのビット構成
アドレス bit31
0110 0038H
5 4
−
X
RX/WX
bit0
phy_add
0
R/W
初期値
属性
[bit31 ∼ bit5] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit4 ∼ bit0]: phy_add:PHY アドレス
PHY デバイス用アドレスを指定します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
437
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
■ SMI コントロールレジスタ : SMI_CONTROL
PHY デバイスの動作モードを設定するレジスタです。ワードでアクセスしてください。
図 12.5-7 SMI コントロールレジスタのビット構成
アドレス bit31
3
0110 003CH
2
1
0
−
LS_
mode
LD_
mode
LA_
mode
X
RX/WX
1
R/W
1
R/W
1
R/W
初期値
属性
[bit31 ∼ bit3] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit2]: LS_mode:通信速度
LS_mode
書込み動作
0
10BASE の速度で通信する。
1
100BASE の速度で通信する。
[bit1]: LD_mode:通信モード
LD_mode
書込み動作
0
半二重モードとなる。
1
全二重モードとなる。
"1" を設定した場合でも , ポーリングを行い PHY デバイスのステータスを取得しな
いと MAC ブロックに反映されません。
[bit0]: LA_mode:オートリンク
LA_mode
書込み動作
0
オートリンクを無効にする。
1
オートリンクを有効にする。
bit0 が "1" にセットされている場合には , LS_mode [bit2], LD_mode [bit1] の設定は無
効です。
438
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
■ SMI ステータスレジスタ : SMI_STATUS
リンクの状態にかかわるステータスレジスタです。ワードでアクセスしてください。
図 12.5-8 SMI ステータスレジスタのビット構成
アドレス bit31
5
0110 0040H
4
3
2
1
0
−
Link
Status
Change
Link
Status
Link
Speed
Link
Duplex
Link
Auto
X
RX
1
0
1
1
0
初期値
R/WX R/WX R/WX R/WX R/WX 属性
[bit31 ∼ bit4] 予約 : 予約ビット
読出し値は不定です。
[bit4]: Link Status Change:ステータスチェンジ
Link Status
読出し動作
0
リンクアップまたはリンクダウン / スピード /duplex モード / オート
ネゴシエーションに変化なし
1
リンクアップまたはリンクダウン / スピード /duplex モード / オート
ネゴシエーションに変化あり
• SMI_INTENABLE レジスタの Link Status [bit0] に "1" がセットされている場合 ,
Link Status Change が "1" になると割込みがアサートされます ( 読出しクリア )。
• オートネゴシエーションが許可のときにのみ有効です。
[bit3]: Link Status:リンク
Link Status
読出し動作
0
リンクダウンを示します。
1
リンクアップを示します。
[bit2]: Link Speed:通信速度
Link Speed
読出し動作
0
10BASE の速度で通信しています。
1
100BASE の速度で通信しています。
[bit1]: Link Duplex:通信モード
Link Duplex
CM71-10131-1
読出し動作
0
半二重モードで通信しています。
1
全二重モードで通信しています。
FUJITSU MICROELECTRONICS LIMITED
439
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
[bit0]: Link Auto:オートリンク
Link Auto
440
読出し動作
0
オートリンクが無効となっています。
1
オートリンクが有効となっています。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
■ 割込みイネーブルレジスタ : SMI_INTENABLE
ステータスレジスタ (SMI_ATATUS) の値が変化したときの割込みを制御するレジスタ
です。ワードでアクセスしてください。
図 12.5-9 割込みイネーブルレジスタのビット構成
アドレス bit31
1
0
−
Link Status
Change
X
RX/WX
0
R/W
0110 0044H
初期値
属性
[bit31 ∼ bit1] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit0]: Link Status Change:割込みイネーブル
Link Status Change
書込み動作
0
リンク・ステータス変更割込みを無効にします。
1
リンク・ステータス変更割込みを有効にします。
bit0 が "1" にセットされている場合 , SMI_STATUS レジスタの bit4 が "1" になると
割込みがアサートされます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
441
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
■ SMIMDC クロック選択レジスタ : SMI_MDCDIV
システムクロックから MDC 用の分周クロックを生成するために使用するレジスタで
す。ワードでアクセスしてください。
図 12.5-10 SMIMDC クロック選択レジスタのビット構成
アドレス bit31
5 4
0110 0048H
−
X
RX/WX
0
mdcdiv
01011
R/W
初期値
属性
[bit31 ∼ bit5] 予約 : 予約ビット
• 読出し値は不定です。
• 書き込んだ値は動作に影響を与えません。
[bit4 ∼ bit0]: mdcdiv:分周値
分周クロック生成用の値を設定する ( この値は , 生成時の計算に使用される )。
[ 計算式 ]
分周値 (Hz)= システムクロック (Hz) ÷ (smi_mdcdiv レジスタ値+ 1) ÷ 2
442
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
12.5.3
第 12 章 LAN コントローラ
12.5
動作説明
SMI インタフェースの動作を説明します。
■ SMI のレジスタによる PHY デバイス ( レジスタ ) へのアクセス
● PHY デバイス MII レジスタの読出し手順
1) cmd_st ビット (SMI_CMD_ST. cmd_st) が , "0"(PHY デバイスにアクセスなし ) である
ことを確認する。
2) Access type ビット (SMI_CMD. Access type) に "0"( 読出しを行う ) をセットする。
phy add ビット (SMI_CMD. phy add) に PHY chip のアドレスをセットする。
ポーリング周期ビット (SMI_POLLINTVL.Pollintvl) にすべて "0"( ポーリングしない )
をセットする(SMIコントロールブロックからポーリングが行われている場合, ホスト
からのコマンドは無視されます。SMI_POLLINTVL レジスタに 16’h0000 をセットする
と , SMI コントロールブロックからのポーリングを停止できます )。
( ハードの処理 )
3) Command レジスタに書き込まれた設定に従って , PHY デバイスとの通信が始まりま
す。PHY デバイスはコマンドに従って指定されたアドレスの PHY レジスタからデー
タを読み出します。(cmd_st ビット (SMI_CMD_ST. cmd_st) が "1"( 現在 , ハードウェ
アが PHY デバイスへアクセスを行っている ) となります。
4) cmd_st ビット (SMI_CMD_ST.cmd_st) が "0"(PHY デバイスにアクセスなし ) になっ
たことを確認する ( 読出し完了 )。
5) cmd_er ビット (SMI_CMD_ST.cmd_er) が "0"( エラーなし ) であることを確認する
(SMI_CMD_ST レジスタのビット 1 にセットされていた場合 , 読出し動作が失敗であ
ることを示します。この場合 , SMI_DATA レジスタには正しい値が取り込まれてい
ません )。
6) data ビット (SMI_DATA.data) を読み出す (SMI_DATA レジスタから値を読み出す )。
● PHY デバイス MII レジスタの書込み手順
1) data ビット (SMI_DATA.data) に PHY デバイスに書き込みたいデータを格納する。
2) cmd_st ビット (SMI_CMD_ST.cmd_st) が "0"(PHY デバイスにアクセスなし ) である
ことを確認する。
Access type ビット (SMI_CMD.Access type) に "1"( 書込みを行う ) をセットする。
ポーリング周期ビット (SMI_POLLINTVL.Pollintbl) にすべて "0"( ポーリングしない )
をセットする (SMI_POLLINTVL レジスタについては , 読出しのときと同じ設定をし
ておきます )。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
443
第 12 章 LAN コントローラ
12.5
MB91402/403 シリーズ
( ハードの処理 )
3) SMI_DATA レジスタ , SMI_CMD レジスタに書き込まれた設定に従って , PHY デバ
イスとの通信が始まります。PHY デバイスはこのコマンドに従って指定されたアド
レスのPHYレジスタへデータを書き込みます。(cmd_stビット(SMI_CMD_ST.cmd_st)
が "1" ( 現在 , ハードウェアが PHY デバイスへアクセスを行っている ) となります。
4) cmd_st ビット (SMI_CMD_ST.cmd_st) が "0" (PHY デバイスにアクセスなし ) になっ
たことを確認する ( 書込み完了 )。
● ポーリング
ポーリングの前に , まず SMI I/F ブロックは PHY チップの初期化を行います。初期化
は, コントロールレジスタの設定に従い, PHYデバイスのMIIレジスタ0(control register),
4(autonegotiation advertise register) に書き込みます。オートネゴシエーションを許可にす
る場合は , オートネゴシエーションリスタートをします。その後 , オートネゴシエー
ションに必要と見られる時間だけ待ってポーリング動作に移ります。
以下にこの動作の説明を行います。
1) コントロールレジスタの中身が変わっている場合 ( オートネゴシエーションイネー
ブル , スピード , duplex mode), MII レジスタ 0, 4 の設定を行います。
2) そうでない場合は , MII レジスタ 1(status register) を読み出します。
3) リンクがダウンしていると , 対応する interrput bit をセットします。
4) オートネゴシエーションに対応していない場合は , 対応する interrupt bit をセットし
て , 次のインタフェースに移ります。
( ハードの処理 )
5) オートネゴシエーションが完了していない場合には , 何もしません。
6) オートネゴシエーションが完了している場合は , MII レジスタ 5 を読み出して動作
モード ( スピード , duplex) を判断します。
7) 結果がステータスレジスタに反映されます。
444
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章
MPU IF/GPIO
MPU/GPIO の概要 , 構成図 , 信号 , アドレス , レジ
スタ , MPU IF 動作 , および GPIO 動作について説
明します。
13.1 MPU/GPIO の概要
13.2 構成図
13.3 信号
13.4 アドレス一覧
13.5 レジスタ詳細説明
13.6 MPU IF 動作説明
13.7 GPIO (Port A) 動作説明
13.8 GPIO (Port B) 動作説明
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
445
第 13 章 MPU IF/GPIO
13.1
MB91402/403 シリーズ
MPU/GPIO の概要
13.1
MPU/GPIO の概要を説明します。
■ MPU IF
スレーブバスとして機能して, 外部のMCUと直接データ通信を行うためのポートで, 16
ビットまたは 8 ビットで通信することができます。
大量のデータ送受信を実現する大容量送受信 FIFO と通信用のレジスタにより構成さ
れ , CPU 負荷の軽減とともに , 効率の良い通信を実現します。
■ GPIO
4 ビットの専用汎用入出力ポート (Port A) と , MPU IF の端子を共有ピンとした最大 22
ビットの汎用入出力ポート (Port B) を備えており , さまざまな用途に使用できます。
Port A に関しては , 入力ポート設定時において , 信号変化における割込み発生機能を備
えております。
■ MPU/GPIO の特長
● 8/16 ビットデータインタフェース
GPIO(General Purpose I/O:Port B) と共通のため , 以下の使い方ができます。
① MPU IF のみ (16 ビット )
② MPU IF(8 ビット ), GPIO(8 ビット )
③ GPIO(22 ビット )
● 768 バイトシングルポート RAM × 2 面構成の RX_FIFO
RX_FIFO は 2 面で構成され , 一方の面が書き込まれている間に , もう一方の面を読み
込むことができます。書込み途中の場合は , 書込み動作と読出し動作の競合を避けるた
め , 読出し禁止データサイズに動作中のデータサイズが格納されます。
● 1536 バイトデュアルポート RAM × 1 面構成の TX_FIFO
TX_FIFO はデュアルポート RAM(1 面 ) で構成され , 本チップ内部からのデータ書込み
と , 外部からのデータ読出しを同時に行えます。
● 送受信レジスタ
大量のデータ送受信を実現する FIFO 以外に , 通信制御を目的とした送受信レジスタを
それぞれ 16 ビット備えています。これにより , データを送受信中においても通信制御
を可能にします。
● DMA 送受信機能
FR コアの DMA コントローラを使用して RX_FIFO および TX_FIFO への DMA 転送を
行うことができます。また , RX_FIFO への DMA 転送時にのみ , DMA コントローラに
よるフライバイ (I/O →メモリ ) 転送が可能とし , 高速なデータ送受信を実現します。
446
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 13 章 MPU IF/GPIO
13.1
● 専用汎用入出力ポート (Port A)
MPU IF と共有される汎用入出力ポート (Port B) 以外に , 専用の汎用入出力ポート
PA3 ∼ PA0 (4 ビット ) を備えています。
レジスタ設定により , ビットごとの入出力選択が可能です。また , 入力選択時において
は , 入力信号の変化に応じて割込み信号を発生する機能があります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
447
第 13 章 MPU IF/GPIO
13.2
13.2
MB91402/403 シリーズ
構成図
図 13.2-1 に MPU/GPIO のブロックダイヤグラムを示します。
■ MPU/GPIO のブロックダイヤグラム
図 13.2-1 MPU/GPIO のブロックダイヤグラム
シリアル通信
外部CPU
など
FRコア
PA3~PA0
GPIO(Port A)
入力信号変化
割込み
GPIO(Port B)
Rx FIFO
Tx_
REG
BUS IF
データセレクタ
外部IF通信
受信割込み
・REG Data In
・RxFIFO Full
Rx_
REG
MIFD15~MIFD0/
PB15~PB0
Tx FIFO
MIFCS/PB21
MIFA/PB20
MIFRD/PB19
制御部
MIFWR/PB18
MIFDRQR/PB17
MIFPRQT/PB16
MPU IF
MB91402/403シリーズ
448
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章 MPU IF/GPIO
13.3
MB91402/403 シリーズ
13.3
信号
表 13.3-1 に MPU/GPIO の信号を示します。
■ 信号の一覧
表 13.3-1 信号の一覧
端子名
名称
MIFD15 ∼ MIFD0/ 入力・出力データバス /
PB15 ∼ PB0
汎用 I/O ポート
入出力
機能
入出力
[MIFD15 ∼ MIFD0] データ入力・出力端子。
[PB15 ∼ PB0] 汎用入出力ポート
MIFCS/
PB21
チップセレクト信号 /
汎用 I/O ポート
入力 /
入出力
[MIFCS] チップセレクト信号入力端子。
ローアクティブです。
PB21 : 汎用入出力ポート
EXA/
PB20
アドレス信号 /
汎用 I/O ポート
入力 /
入出力
EXA アドレス信号入力端子。"0" のとき ,
レジスタ選択。"1" のとき , データ選
択。
PB20 : 汎用入出力ポート
MIFRD/
PB19
リードストローブ信号 /
汎用 I/O ポート
入力 /
入出力
MIFRD リードストローブ信号入力端子。
ローアクティブです。
PB19 : 汎用入出力ポート
MIFWD/
PB18
ライトバイトトローブ
信号 /
汎用 I/O ポート
入力 /
入出力
MIFRD ライトバイトストローブ信号入力端
子。ローアクティブです。
PB18 : 汎用入出力ポート
出力 /
入出力
MIFDRQR 受信データ要求信号端子。ロー
アクティブです。
外部 MCU → MB91402/403 シ
リーズへのデータ要求です。
外部に , データ受信可能である
ことを示す信号です。
PB17 : 汎用入出力ポート
MIFDRQR/
PB17
受信データ要求信号 /
汎用 I/O ポート
MIFDRQT/
PB16
送信データ要求信号 /
汎用 I/O ポート
出力 /
入出力
MIFDRQT 送信データ要求信号出力端子。
ローアクティブです。
MB91402/403 シリーズ→外部
MCU へのデータ要求です。
外部に , 送信データがあることを
示す信号です。
PB16 : 汎用入出力ポート
PA3 ∼ PA0
汎用 I/O ポート
入出力
[PA3 ∼ PA0] 汎用入出力ポート
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
449
第 13 章 MPU IF/GPIO
13.4
13.4
MB91402/403 シリーズ
アドレス一覧
表 13.4-1 に MPU/GPIO のアドレス一覧を示します。
■ アドレス一覧
表 13.4-1 アドレス一覧
ブロック
MPU IF
R/W
初期値
MPU.IF RX データレジス
0114 _0000H
MIFRXDR 32 ビット
タ
R
32'hxxxxxxxx
MPU.IF TX データレジス
MIFTXDR 32 ビット
0114 _0004H
タ
W
32'h0
0114 _0008H MPU.IF RX レジスタ
MIFRXR
16 ビット
R
16'h0
0114 _000CH MPU.IF TX レジスタ
MIFTXR
16 ビット
W
16'h0
0114 _0010H MPU.IF 制御レジスタ
MIFCR
11 ビット R/W
MPU.IF ステータスレジ
0114 _0014H
スタ
MIFSR
10 ビット
R
10'b0
MPU.IF RX FIFO ステー
0114 _0018H
タスレジスタ
MIFRXSR 32 ビット
R
32'h0
MPU.IF TX FIFO ステー
0114 _001CH
タスレジスタ
MIFTXSR 32 ビット
R
32'h06000000
アドレス
レジスタ名
0114 _0020H PA 制御レジスタ
GPIO
(PORT A) 0114 _0024
H PA データレジスタ
0114 _0030H PB 制御レジスタ
GPIO
(PORT B) 0114 _0034
H PB データレジスタ
450
略称
サイズ
9'b0
PACR
9 ビット
R/W
9'b0
PADR
8 ビット
R/W
接続先を反映
PBCR
9 ビット
R/W
22'b0
PBDR
8 ビット
R/W
接続先を反映
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
13.5
第 13 章 MPU IF/GPIO
13.5
レジスタ詳細説明
レジスタの各ビットへのアクセス制限を表す記号を説明します。
■ レジスタ詳細説明の見方
[ 記号 ]
R
: 読出し可能
R0 : 常に "0"
R1 : 常に "1"
RX : 不定
W
: 書込み可能
W0 : 常に "0" 書込み
W1 : 常に "1" 書込み
WX : 書込み無効
[ 組合せ ] "/" と ","
R/W : 書き込んだデータを読み出せる
R, W : 書込みと読出しでビットの意味が異なる
[ リードモディファイライト (RMW) 系命令への対応 ] "(" ")" の利用
R(RM1)/W : 書き込んだ値を読出し可能 (RMW 時の読出しは常に "1")
R(RM1), W : 読出し可能 (RMW 時は常に "1"), 書込み可能
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
451
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ MPU IF RX データレジスタ :MIFRXDR
RX_FIFO に接続されるデータレジスタです。
図 13.5-1 MPU IF RX データレジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0000H RD31 RD30 RD29 RD28 RD27 RD26 RD25 RD24 RD23 RD22 RD21 RD20 RD19 RD18 RD17 RD16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
属性
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0114 0002H RD15 RD14 RD13 RD12 RD11 RD10 RD9 RD8 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
属性
R : リードオンリ
[bit31 ∼ bit0] RD31 ∼ RD0 : RD DATA レジスタ
• RX_FIFO に接続されるデータレジスタです。
• アクセスするたびに , 内部にてアドレスをインクリメントして , RX_FIFO のデー
タを出力します。
■ MPU IF TX データレジスタ :MIFTXDR
TX_FIFO に接続されるデータレジスタです。
図 13.5-2 MPU IF TX データレジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0004H TD31 TD30 TD29 TD28 TD27 TD26 TD25 TD24 TD23 TD22 TD21 TD20 TD19 TD18 TD17 TD16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
属性
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0114 0006H TD15 TD14 TD13 TD12 TD11 TD10 TD9 TD8 TD7 TD6 TD5 TD4 TD3 TD2 TD1 TD0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
属性
W : ライトオンリ
[bit31 ∼ bit0] TD31 ∼ TD0 : TX DATA レジスタ
• TX_FIFO に接続されるデータレジスタです
• アクセスするたびに , 内部にてアドレスをインクリメントして , TX_FIFO のデー
タを書き込みます。
452
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ MPU IF RX レジスタ :MIFRXR
外部より , RX_REG に入力された値を示すレジスタです。
図 13.5-3 MPU IF RX レジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0008H RR15 RR14 RR13 RR12 RR11 RR10 RR9 RR8 RR7 RR6 RR5 RR4 RR3 RR2 RR1 RR0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
属性
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0114 0009H
−
X
RX
初期値
属性
R : リードオンリ
[bit31 ∼ bit16] RR15 ∼ RR0 : RX_REG
• 外部より , RX_REG に入力された値を示します。
• MIFCRレジスタのbit11, bit10:SELが"00B"の場合, RR15∼RR0が有効になります。
• MIFCRレジスタのbit11, bit10:SELが"01B"の場合, RR15∼RR8が有効になります。
• MIFCR レジスタの bit11, bit10:SEL が "1xB" の場合 , 無効になります。
[bit15 ∼ bit0] 予約 : 予約ビット
読出し値は不定です。
■ MPU IF TX レジスタ :MIFTXR
TX_REG への入力レジスタです。
図 13.5-4 MPU IF TX レジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 000CH TR15 TR14 TR13 TR12 TR11 TR10 TR9 TR8 TR7 TR6 TR5 TR4 TR3 TR2 TR1 TR0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
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 属性
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0114 000EH
−
X
WX
初期値
属性
[bit31 ∼ bit16] TR15 ∼ TR0 : TX_REG
• TX_REG への入力レジスタです。
• MIFCRレジスタのbit11, bit10:SELが"00B"の場合, TR15∼TR0が有効になります。
• MIFCRレジスタのbit11, bit10:SELが"01B"の場合, TR15∼TR8が有効になります。
• MIFCR レジスタの bit11, bit10:SEL が "1xB" の場合 , 無効になります。
[bit15 ∼ bit0] 予約 : 予約ビット
書き込んだ値は動作に影響を与えません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
453
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ MPU IF 制御レジスタ :MIFCR
TX_FIFO, RX_FIFO の動作指示を行うレジスタです。
図 13.5-5 MPU IF 制御レジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0010H
−
X
初期値
WX
属性
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
−
SEL
TX_ RX_ TX_ INT_ INT_
DMA_ DMA_ DMA_ TX_ RX_
ENA ENA ENA EMP FULL
X
WX
0
R/W
0
0
0
0
0
0
0
0
0 初期値
R/W R/W R/W R/W R/W R/W R/W R/W R/W 属性
0114 0012H
TX_
CLR
RX_
CLR
TX_ RX_
STAT STAT
[bit31 ∼ bit11] 予約 : 予約ビット
書き込んだ値は動作に影響を与えません。
[bit10, bit9] SEL : IF 選択制御
SEL
モード
00B
MPU IF:16 ビットバスモードが有効となります。
01B
MPU IF:8 ビットバスモード + Port B7 ∼ Port B0 が有効となります。
1xB
Port B21 ∼ Port B0 が有効となります。
[bit8] TX_DMA_ENA : TX_FIFO DMA 転送制御
TX_DMA_ENA
モード
0
TX_FIFO 領域が空のとき , DREQ 信号 (TX_FIFO データの DMA
転送要求信号 ) を有効にしません。
1
TX_FIFO 領域が空のとき , DREQ 信号 (TX_FIFO データの DMA
転送要求信号 ) を有効にします。
DREQ 信号は , フルになる前の DMA 書込み終了後に無効にします。
[bit7] RX_DMA_ENA : RX_FIFO DMA 転送制御
RX_DMA_ENA
モード
0
RX_FIFO 領域 (A 面または B 面 ) がフルのとき , DREQ 信号を出
力しません。
1
RX_FIFO 領域 (A 面または B 面 ) がフルのとき , DREQ 信号を出
力します。
RX_FIFO は 2 面で構成されており , それぞれがフルになるごとに DREQ 信号を出力
します。DREQ 信号は , RX_FIFO を読み出して , 空になる 1 つ前の DMA 読出し終
了後に無効とします。
454
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
[bit6] INT_TX_ENA : TX_FIFO エンプティ割込み制御
INT_TX_ENA
モード
0
TX_FIFO 領域が空のとき , 割込みは発生しません。
1
TX_FIFO 領域が空のとき , 割込みが発生します。
DREQ 信号は , フルになる前の DMA 書込み終了後に無効にします。
[bit5] INT_RX_FULL : RX_FIFO フル割込み制御
INT_RX_FULL
モード
0
RX_FIFO 領域 (A 面または B 面 ) がフルのとき , 割込みは発生しま
せん。
1
RX_FIFO 領域 (A 面または B 面 ) がフルのとき , 割込みが発生しま
す。
RX_FIFO は 2 面で構成されており , それぞれがフルになるごとに割込み信号が発生
します。
[bit4] INT_RX_REG_I : RX_REG データイン割込み制御
INT_RX_REG_I
モード
0
RX_REG にデータが入力されたとき , 割込みは発生しません。
1
RX_REG にデータが入力されたとき , 割込みが発生します。
[bit3] TX_CLR : TX_REG/FIFO クリア制御
TX_CLR
モード
0
処理なし。
1
TX_REG, および TX_FIFO アドレスをクリアします。
"1" を設定した場合 , クリア後自動的に "0" にリセットされます。
[bit2] RX_CLR : RX_REG/FIFO クリア制御
RX_CLR
モード
0
処理なし。
1
RX_REG, および RX_FIFO アドレスをクリアします。
"1" を設定した場合 , クリア後自動的に "0" にリセットされます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
455
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
[bit1] TX_STAT : 外部データ送信制御
TX_STAT
モード
0
外部インタフェースより , データ送信は行いません。
1
外部インタフェースより , データ送信を行います。
[bit0] RX_STAT : 外部データ受信制御
RX_STAT
456
モード
0
外部インタフェースより , データ受信は行いません。
1
外部インタフェースより , データ受信を行います。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ MPU IF ステータスレジスタ :MIFSR
TX_FIFO, RX_FIFO のステータス状況を示すレジスタです。
図 13.5-6 MPU IF ステータスレジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0014H
−
X
初期値
RX
属性
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0114 0016H
TX_FIFO
−
X
RX
0
R
0
R
RX_FIFO_ RX_FIFO_ TX_ RX_
REG_ REG_
B
A
OUT
IN
0
R
0
R
0
R
0
R
0
R
0
R
初期値
属性
[bit31 ∼ bit8] 予約 : 予約ビット
読出し値は不定です。
[bit7, bit6] TX_FIFO : TX_FIFO ステータス
TX_FIFO
モード
00B
TX_FIFO 領域にはデータがありません ( クリアした場合も )。
01B
TX_FIFO 領域にはデータがあります。
10B
TX_FIFO 領域は , データフルになりました。
11B
予約
[bit5, bit4] RX_FIFO_B : RX_FIFO ステータス SIDE-B(2 面ある RX_FIFO 領域の B 面
のステータス状況 )
RX_FIFO_B
モード
00B
RX_FIFO 領域 (B 面 ) にはデータがありません
( クリアした場合も )。
01B
RX_FIFO 領域 (B 面 ) にはデータがあります。
10B
RX_FIFO 領域 (B 面 ) は , データフルになりました。
11B
予約
[bit3, bit2] RX_FIFO_A : RX_FIFO ステータス SIDE-A(2 面ある RX_FIFO 領域の A 面
のステータス状況 )
RX_FIFO_A
CM71-10131-1
モード
00B
RX_FIFO 領域 (A 面 ) にはデータがありません
( クリアした場合も )。
01B
RX_FIFO 領域 (A 面 ) にはデータがあります。
10B
RX_FIFO 領域 (A 面 ) は , データフルになりました。
11B
予約
FUJITSU MICROELECTRONICS LIMITED
457
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
[bit1] TX_REG_OUT : TX_REG 出力 ステータス
TX_REG_OUT
モード
0
TX_REG からのデータ出力はありません ( クリアした場合も )。
1
TX_REG からのデータ出力がありました。
読出し処理を行うと "0" にリセットされます。
[bit0] RX_REG_IN : RX_REG 入力ステータス
RX_REG_IN
モード
0
外部ホストから RX_REG へのデータ入力はありません
( クリアした場合も )。
1
外部ホストから RX_REG へのデータ入力がありました。
読出し処理を行うと "0" にリセットされます。
458
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 13 章 MPU IF/GPIO
13.5
■ MPU IF RX FIFO ステータスレジスタ :MIFRXSR
RX_FIFO の読出し可能データサイズを示すレジスタです。
図 13.5-7 MPU IF RX FIFO ステータスレジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0018H
AP_RXSIZE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
属性
0114 001AH
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
DISAP_RXSIZE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
属性
[bit31 ∼ bit16] AP_RXSIZE: RX_FIFO 読出し許可データサイズ ( 単位はバイト )
• RX_FIFO から読出し可能なデータサイズを示します。
• 読出し許可データサイズを超えて, データを読み出すと正しいデータが反映され
ません。
[bit15 ∼ bit0] DISAP_RXSIZE:RX_FIFO 読出し禁止データサイズ ( 単位はバイト )
RX_FIFO から読出し禁止のデータサイズを示します。
<注意事項>
RX_FIFO はシングルポート RAM を 2 面で構成しており , 片方の面が読み出されている間
にもう一方の面を書き込むダブルバッファになっております。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
459
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ MPU IF TX FIFO ステータスレジスタ :MIFTXSR
TX_FIFO の書込み可能データサイズを示すレジスタです。
図 13.5-8 MPU IF TX FIFO ステータスレジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 001CH
AP_TXSIZE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 初期値
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
属性
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0114 001EH
−
X
RX
初期値
属性
[bit31 ∼ bit16] AP_TXSIZE: TX_FIFO 書込み許可データサイズ ( 単位はバイト )
TX_FIFO への書込み可能なデータサイズを示します。
<注意事項>
TX_FIFO はデュアルポート RAM を 1 面で構成しており , 本チップ内部からの書込みと外
部インタフェースからのデータ読出しを同時に行うことができます。
[bit15 ∼ bit0] 予約 : 予約ビット
読出し値は不定です。
460
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ Port A コントロールレジスタ :PACR
Port A の制御レジスタです。
図 13.5-9 Port A コントロールレジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0020H
−
X
初期値
RX
属性
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0114 0022H
−
X
RX
INTE
N
0
R/W
−
0
R/W
PADIR
0
R/W
初期値
属性
[bit31 ∼ bit9] 予約 : 予約ビット
読出し値は不定です。
[bit8] INTEN : 割込み許可制御
入力設定時 , 信号変化時の割込み信号発生許可制御ビットです。
INTEN
モード
0
信号変化時の割込み信号を発生しません。
1
信号変化時の割込み信号を発生します。
[bit7 ∼ bit4] 予約 : 予約ビット
[bit3 ∼ bit0] PADIR : Port A 方向制御
各 Port A ビットの方向制御を行います。
PADIR[x]
モード
0
入力
1
出力
各ビットは , 以下の端子に割り当てられます。
bit3 : PA3
bit2 : PA2
bit1 : PA1
bit0 : PA0
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
461
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ Port A データレジスタ :PADR
Port A のデータレジスタです。
図 13.5-10 Port A データレジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0024H
−
X
初期値
RX
属性
0114 0026H
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
PADATA
−
X
−
初期値
RX
R/W
属性
[bit31 ∼ bit4] 予約 : 予約ビット
読出し値は不定です。
[bit3 ∼ bit0] PADATA : Port A データ
各 Port A ビットのデータが反映されます。
各ビットは , 以下の端子に割り当てられます。
bit3 : PA3
bit2 : PA2
bit1 : PA1
bit0 : PA0
462
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ Port B 制御レジスタ :PBCR
Port B の制御レジスタです。
図 13.5-11 Port B 制御レジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0030H
PBDIR
−
X
0
初期値
RX
R/W
属性
0114 0032H
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
PBDIR
0
初期値
R/W
属性
[bit31 ∼ bit22] 予約 : 予約ビット
読出し値は不定です。
[bit21 ∼ bit0] PBDIR : Port B 方向制御
各 Port B ビットの方向制御を行います。
PBDIR[x]
モード
0
入力
1
出力
各ビットは , 以下の端子に割り当てられます。
bit21 ∼ bit0 ↔ PB21 ∼ PB0
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
463
第 13 章 MPU IF/GPIO
13.5
MB91402/403 シリーズ
■ Port B データレジスタ :PBDR
Port B のデータレジスタです。
図 13.5-12 Port B データレジスタのビット構成
bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16
アドレス
0114 0034H
PBDATA
−
X
−
初期値
RX
R/W
属性
0114 0036H
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
PBDATA
−
初期値
R/W
属性
[bit31 ∼ bit22] 予約 : 予約ビット
読出し値は不定です。
[bit21 ∼ bit0] PBDATA : Port B データ
各 Port B ビットのデータが反映されます。
各ビットは , 以下の端子に割り当てられます。
bit21 ∼ bit0 ↔ PB21 ∼ PB0
464
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章 MPU IF/GPIO
13.6
MB91402/403 シリーズ
13.6
MPU IF 動作説明
MPU IF の動作を説明します。
■ 受信動作
• データ受信要求信号(MIFDRQR)が有効となっているときに , 外部からのデータ書込
み処理が行われると , アドレス信号 (MIFA) に応じて RX_REG および RX_FIFO への
書込みが行われます。
• RX_REG への書込みが発生した場合 , MIFSR:bit0 に "1" が書き込まれます。
• データ受信は , 2 面の RX_FIFO を使用して交互に行います。それぞれの RX_FIFO が
フルとなった場合 , RX-FIFO ステータス SIDE-B[MIFSR:bit5, bit4], RX-FIFO ステー
タス SIDE-A[MIFSR:bit3, bit2] に "10B" が書き込まれます。
• RX_FIFOが両面フルとなったときにのみ, RX_FIFOデータの受信要求信号(MIFDRQR)
が無効となります
■ 送信動作
• データ送信要求信号 (MIFDRQT) を有効にするときに , 外部からのデータリード処理
が行われると , アドレス信号 (MIFA) に応じて TX_REG および TX_FIFO への読出し
を行い , 外部へデータを出力します。
• 外部から TX_REG への読出しが発生した場合 ,
TX_REG 出力ステータスビット
[MIFSR:bit1] が "1"(TX_REG レジスタからのデータ出力があり ) になります。一度 ,
TX_REG への読出しが行われますと再度 TX_REG への書込みが行われない限り ,
データを出力しません。
• TX_FIFO がエンプティになった場合 , ステータスレジスタ [MIFSR:bit7, bit6] に "00B"
が書き込まれます。割込み制御にて, TX_FIFOエンプティの割込みビット[MIFSR:bit6]
が "1" の場合に割込みを発生します。
• TX_REG および TX_FIFO のデータがすべて読み出された場合に , TX_FIFO データ
の送信要求信号 (MIFDRQT) が無効となります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
465
第 13 章 MPU IF/GPIO
13.6
MB91402/403 シリーズ
設定方法
13.6.1
MPUIF を使うために必要な項目 ( 概要 ) を以下に示します。
■ MPU IF 設定方法
表 13.6-1 受信設定
動作
参照先
レジスタ
データの受信要求をするには ?
1.
MIFCR[bit0]
受信されたデータを読み出すには ?
2.
MIFXDR
受信データをクリアするには ?
3.
MIFCR[bit2, bit0]
DMA 受信機能を使用するには ?
4.
MIFCR[bit8]
受信時に割込みを発生させるには ?
5.
MIFCR[bit5, bit4]
表 13.6-2 送信設定
動作
参照先
レジスタ
データの送信を要求するには ?
6.
MIFCR[bit1]
データ送信要求を終了するには ?
7.
MIFCR[bit3, bit1]
送信データをクリアするには ?
8.
MIFCR[bit3, bit1]
送信時に割込みを発生させるには ?
9.
MIFCR[bit5]
1. データの受信要求をするには ?
データ受信開始ビット [MIFCR:bit0] に "1" をセットする。
これにより , RX_FIFO データの受信要求信号 (MIFDRQR) が有効となり , 外部に対
してデータ書込みを要求します (RX_FIFO が両面ともフル時は除く )。
<注意事項>
受信要求信号 (MIFDRQR) が無効の場合は , 外部から RX_REG および RX_FIFO への書込
みが行われても , RX_REG および RX_FIFO への書込みは行われません。
2. 受信されたデータを読み出すには ?
MPUIF データレジスタ (MIFRXDR) を読み出します。ただし , RX_FIFO ステータス
SIDE-B[MIFSR:bit5, bit4], RX_FIFO ステータス SIDE-A[MIFSR:bit3, bit2] が , "01B" の
場合 , RX_FIFO がフルにならない受信データ量なので , 以下の手順で受信したデー
タを読み出します。
(1) データ受信開始ビット [MIFSR:bit0] に "0" をセットし , 外部からのデータ受信
をストップします。
(2)RX_FIFO 読出し許可データサイズビット [MIFRXSR:bit31 ∼ bit16] を読み出し
ます。
466
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 13 章 MPU IF/GPIO
13.6
3. 受信データをクリアするには ?
①データ受信開始ビット [MIFCR:bit0] に "0" をセットし , 外部からのデータ受信を
ストップします。
② RX_REG/FIFO クリアビット [MIFCR:bit2] に "1" をセットし , RX_REG/RX_FIFO
のアドレスをクリアします。
<注意事項>
クリアビット自体は , 自動的に "0" にクリアされます。いったん , データ受信開始ビット
[MIFCR:bit0] に "0" をセットした後に , 再びデータ受信開始ビット [MIFCR:bit0] を "1" に
セットする場合は , その前にクリアビット [MIFCR:bit2] を "1" にセットし , 受信データを
クリアする必要があります。このとき , 受信 FIFO 内のデータはクリアされるので , クリ
アビットを "1" にセットする前に受信 FIFO 内のデータをすべて読み出しておく必要があ
ります。
4.DMA 受信機能を使用するには ?
RX_FIFO DMA 転送制御ビット [MIFCR:bit8] に "1" をセットし , データ受信を開始
しますと , RX_FIFO のどちらかの面がフルとなったときに , FR コア内の DMA コン
トローラに対して , DMA 転送要求信号 (DREQ 信号 ) を有効にします。
5. 受信時に割込みを発生させるには ?
• RX_FIFO の SIDE-A, SIDE-B のどちらかの面がフルとなり , データが読み出せる
状態となったときに割込みを発生させるには ?
RX_FIFO フル割込み信号 [MIFCR:bit5] に "1" をセットします。
• RX_REG にデータが入力されたときに割込みを発生させるには ?
RX_REG データイン割込み制御ビット [MIFCR:bit4] に "1" をセットします。
6. データの送信を要求するには ?
データ送信開始ビット [MIFCR:bit1] に "1" をセットします。
これにより , TX_FIFO データの送信要求信号 (MIFDRQT) が有効となり , TX_FIFO
への書込みが MB91402/403 シリーズ内部で発生すると , 外部に対してデータ読出し
を要求します。
7. データ送信要求を終了するには ?
① TX_REG/FIFO クリアビット [MIFCR:bit3] に "1" をセットし , TX_REG レジスタ
および TX_FIFO アドレスをクリアします。
②データ送信開始ビット [MIFCR:bit1] に "0" をセットし , MIFDRQT 信号を無効と
します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
467
第 13 章 MPU IF/GPIO
13.6
MB91402/403 シリーズ
8. 送信データをクリアするには ?
① TX_REG/FIFO クリアビット [MIFCR:bit3] に "1" をセットし , TX_REG レジスタ /
TX_FIFO アドレスをクリアします。
②データ送信開始ビット [MIFCR:bit1] に "0" をセットし , 外部へのデータ送信をス
トップします。
<注意事項>
クリアビット自体は , 自動的に "0" にクリアされます。
9. 送信時に割込みを発生させるには ?
TX_FIFO 領域が空の場合に割込みを発生させるには ?
TX_FIFO エンプティ割込み制御ビット [MIFCR:bit6] に "1" をセットして , TX_FIFO
がエンプティになると割込みが発生します。
<注意事項>
割込み信号はステータスレジスタ (MIFSR) を読み出すことにより , 無効にする仕様となっ
ていますので , ステータスレジスタを読み出すと , 読出し終了後に割込み信号が無効とな
ります。
468
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 13 章 MPU IF/GPIO
13.6
MB91402/403 シリーズ
波形図
13.6.2
MPU IF の波形図を示します。
■ MPU IF の波形図
図 13.6-1 MPU IF の波形図
MB91402/403シリーズ内部側
受信動作
4'h0
A3~A0
CS4
WRn
> 3サイクル
RD
data1
D31~D0(読出し)
2サイクル
D31~D0(書込み)
MIFA
外部側
MIFCS
> 4サイクル
MIFWR
MIFRD
MIFD15~
MIFD0
data1
MB91402/403シリーズ内部側
送信動作
A3~A0
4'h0
CS4
WRn
RD
4'hf
4'h0
4'hf
> 3サイクル
D31~D0(読出し)
D31~D0(書込み)
data2
外部側
MIFA
MIFCS
MIFWR
MIFRD
> 5サイクル
MIFD15~
MIFD0
CM71-10131-1
data2
FUJITSU MICROELECTRONICS LIMITED
469
第 13 章 MPU IF/GPIO
13.7
13.7
MB91402/403 シリーズ
GPIO (Port A) 動作説明
GPIO (Port A) は , 入力信号の変化に応じて割込み信号を発生する機能を搭載した汎
用 I/O ポートです。
■ 割込み仕様
レジスタ PADIR(Port A Control Register7 ∼ Port A Control Register0) にて , 入力端子仕様
に設定し , レジスタ INTEN ビットを "1" にセットした場合 , 入力信号の変化に応じて
割込み信号を発生します。
■ 割込み動作波形
外部からの入力信号は , 内部でダブルラッチした値がレジスタに反映されます。
信号の変化は , ラッチ 3 段目とラッチ 2 段目を XOR することにより判別します。
それぞれのビットを OR した値から , 割込み信号の生成を行います。
割込み信号は , PADR レジスタを読み出すことによりクリアされます。
470
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
13.8
第 13 章 MPU IF/GPIO
13.8
GPIO (Port B) 動作説明
GPIO(Port B) は , 汎用 I/O ポートです。
GPIO(Port B) は , MPU IF の端子と共有しています。MIFCR レジスタの SEL ビット
を使用して設定することができます。
■ EXIFCR レジスタ
設定値は , 図 13.5-5 の SEL ビット (bit10, bit9) の説明を参照してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
471
第 13 章 MPU IF/GPIO
13.8
13.8.1
MB91402/403 シリーズ
端子選択仕様
Port B は , MPU IF の端子と共有します。
以下に , Port B 端子と MPU IF 端子のセレクタ仕様を示します。
■ Port B 端子と MPU IF 端子のセレクタ仕様
図 13.8-1 Port B 端子と MPU IF 端子のセレクタ仕様
SEL[1] | SEL[0]
EXDOE_L7~EXDOE_L0
MIFD7~MIFD0/
PB7~PB0
1
PBOE7~PBOE0 : Port B出力制御
0
EX_DOE : MPU IF出力制御
1
PBDO7~PBDO0 : Port Bデータ出力
0
EX_DO7~EX_DO0 : MPU IFデータ出力
EXDO7~EXDO0
PBDI7~PBDI0 : Port Bデータ入力
EX_DI7~EX_DI0 : MPU IFデータ入力
SEL[1]
EXDOE_L15~EXDOE_L8
MIFD15~MIFD8/
PB15~PB8
1
PBOE15~PBOE8 : Port B出力制御
0
EX_DOE : MPU IF出力制御
1
PBDO15~PBDO8 : Port Bデータ出力
0
EX_DO15~EX_DO8 : MPU IFデータ出力
EXDO15~EXDO8
PBDI15~PBDI8 : Port Bデータ入力
EX_DI15~EX_DI8 : MPU IFデータ入力
EXDOE_L21~EXDOE_L18
PBOE21~PBOE18 : Port B出力制御
SEL[1]
MIFCS,
MIFA, MIFRD,
MIFWR/
PB21~PB18
PBDO21~PBDO18 : Port Bデータ出力
PBDI21~PBDI18 : Port Bデータ入力
EXCS, EXA, EXRD, EXWR : 外部IF制御入力
SEL[1]
EXDOE_L17,EXDOE_L16
MIFDRQT,
MIFDRQR/
PB17,PB16
1
PBOE17,PBOE16 : Port B出力制御
0
EX_DOE : 外部IF出力制御
1
PBDO17,PBDO16 : Port Bデータ出力
0
MIFDRQT, MIFDRQR: 外部IF制御出力
EXDO17,EXDO16
PBDI17,PBDI16 : Port Bデータ入力
472
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章
I2C インタフェース
I2C インタフェースの概要 , レジスタ , 動作 , およ
び注意事項について説明します。
14.1 I2C インタフェースの概要
14.2 I2C インタフェースのレジスタ
14.3 I2C インタフェースの動作説明
14.4 注意事項
14.5 動作フローチャート
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
473
第 14 章 I2C インタフェース
14.1
14.1
MB91402/403 シリーズ
I2C インタフェースの概要
I2C インタフェースは IC 間バスをサポートし , I2C バス上のマスタ / スレーブデバイ
スとして動作するシリアル I/O ポートです。
■ I2C インタフェースの特長
I2C インタフェースの特長は , 下記のとおりです。
• マスタ送受信機能
• スレーブ送受信機能
• アービトレーション機能
• クロック同期化機能
• スレーブアドレス検出機能
• ゼネラルコールアドレス検出機能
• 転送方向検出機能
• スタートコンディションの繰返し発生および検出機能
• バスエラー検出機能
• 標準モード ( 最大 100 kbps)/ 高速モード ( 最大 400 kbps) に対応
474
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.1
MB91402/403 シリーズ
■ I2C インタフェースのブロックダイヤグラム
図 14.1-1 I2C インタフェースのブロックダイヤグラム
SDA
SCL
ノイズ
フィルタ
スタートコンディション/
ストップコンディション
検出回路
ADR
BSR
コンパレータ
BCR
DAR
CCR
アービトレーションロスト
検出回路
スタートコンディション/
ストップコンディション
発生回路
シフトクロック
発生回路
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
475
第 14 章 I2C インタフェース
14.1
MB91402/403 シリーズ
■ I2C インタフェースの機能説明
● スタートコンディション / ストップコンディション検出回路
SDA および SCL の状態変化からスタートコンディションおよびストップコンディショ
ンの検出を行います。
● スタートコンディション / ストップコンディション発生回路
SDA および SCL の状態を変化させてスタートコンディションおよびストップコンディ
ションの発生を行います。
● アービトレーションロスト検出回路
データ送信時に , SDA ラインへ出力したデータと SDA ラインより入力したデータを比
較して , データが一致しているかを確認します。一致していない場合には , アービト
レーションロストを発生させます。
● シフトクロック発生回路
クロックコントロールレジスタの設定により , シリアルデータ転送用クロックの発生
タイミングカウント , ならびに SCL クロックの出力コントロールを行います。
● コンパレータ
受信したアドレスと , アドレスレジスタに指定した自己アドレスとが一致するか , 受信
したアドレスがグローバルアドレスかを比較します。
● ADR
スレーブアドレスを指定する 7 ビットレジスタです。
● DAR
シリアルデータ転送に使用される 8 ビットレジスタです。
● BSR
I2C バスの状態などを示すための 8 ビットレジスタで , 以下の機能があります。
• 繰返しスタートコンディション検出
• アービトレーションロスト検出
• アクノリッジビット格納
• データ転送方向
• アドレッシング検出
• ゼネラルコールアドレス検出
• 第 1 バイト検出
● BCR
I2C バスのコントロールおよび割込みコントロールを行う 8 ビットレジスタで , 以下の
機能があります。
• 割込み要求 / 割込み許可
• スタートコンディション発生
• マスタ / スレーブの選択
• アクノリッジ発生許可
476
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
第 14 章 I2C インタフェース
14.1
● CCR
シリアルデータ転送用クロックの周波数を設定する 7 ビットレジスタです。
• 動作許可
• シリアルクロックの周波数の設定
• 標準モードのみの選択 ( 高速モードの選択は禁止 )
● ノイズフィルタ
3 段シフトレジスタ回路で構成されるノイズフィルタで , SCL/SDA 入力信号を連続サ
ンプリングした 3 回の値すべてが "1" の場合にフィルタ出力が "1" に , 逆に 3 回の値す
べてが "0" の場合にフィルタ出力が "0" に , それ以外のサンプリングに対しては 1 ク
ロック前の状態を保持します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
477
第 14 章 I2C インタフェース
14.2
14.2
MB91402/403 シリーズ
I2C インタフェースのレジスタ
I2C インタフェースのレジスタを説明します。
■ I2C インタフェースのレジスタマップ
表 14.2-1 I2C インタフェースのレジスタマップ
ブロック
I2C IF
アドレス
レジスタ名
略称
サイズ
R/W
初期値
010F
_0000H バスステータスレジスタ
BSR
8 ビット
R
00000000
010F
_0001H バスコントロールレジスタ
BCR
8 ビット
R/W
00000000
010F
_0002H クロックコントロールレジスタ
CCR
8 ビット
R/W
10000000
010F
_0003H アドレスレジスタ
ADR
8 ビット
R/W
10000000
010F
_0004H データレジスタ
DAR
8 ビット
R/W
XXXXXXXX
010F
_0005H 拡張 CS レジスタ
CSR
8 ビット
R/W
00000000
010F
_0006H バスクロック周波数レジスタ
FSR
8 ビット
R/W
00000001
010F
_0007H バスコントロール 2 レジスタ
BC2R
8 ビット
R/W
00XX0000
010F
_0008H
010F
∼
_FFFFH
アクセス禁止
( 注意事項 ) I2C IF へのレジスタアクセスは , バイトアクセスのみ可能です。
478
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
バスステータスレジスタ (BSR)
14.2.1
I2C バスのステータスを示します。
■ バスステータスレジスタ (BSR) のビット構成
図 14.2-1 バスステータスレジスタ (BSR) のビット構成
アドレス
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
010F 0000H
BB
RSC
AL
LRB
TRX
AAS
GCA
FBT
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
初期値
属性
表 14.2-2 バスステータスレジスタ (BSR) のビット詳細 (1 / 2)
ビット名
bit31
BB
初期値 R/W
0
R
bit30
RSC
0
R
bit29
AL
0
R
bit28
LRB
0
R
CM71-10131-1
機能
Bus Busy
I2C バスの状態を示すビットです。
0 : ストップコンディションを検出した。
1 : スタートコンディションを検出した ( バスは使用中 )。
Repeated Start Condition
繰返しスタートコンディション検出ビットです。
0 : 繰返しスタートコンディションは検出されていない。
1 : バス使用中に , 再びスタートコンディションを検出した。
( 注意事項 ) INT ビットへの "0" 書込み , スレーブ時にアドレスさ
れなかった場合 , バス停止中のスタートコンディショ
ン検出 , またはストップコンディション検出でクリア
されます。
Arbitration Lost
アービトレーションロスト検出ビットです。
0 : アービトレーションロストは検出されていない。
1 : マスタ送信中にアービトレーションロストが発生した , または
ほかのシステムがバスを使用中であるときに MSS ビットに "1"
を書き込んだ。
( 注意事項 ) INT ビットへの "0" 書込みでクリアされます。
【制限事項】
マルチマスタ環境で , 本 IF と同時にほかのマスタがゼネラルコー
ル・アドレスを送信し , かつ本インタフェースが 2 バイト目以降で
アービトレーションロストする使用方法を禁止します。
Last Received Bit
アクノリッジ (ACK)/ ネガティブアクノリッジ (NACK) を示すデー
タの 9 ビット目を格納するビットです。
0 : アクノリッジ (ACK) 検出
1 : ネガティブアクノリッジ (NACK) 検出
( 注意事項 ) スタートコンディション検出またはストップコン
ディションの検出でクリアされます。
FUJITSU MICROELECTRONICS LIMITED
479
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
表 14.2-2 バスステータスレジスタ (BSR) のビット詳細 (2 / 2)
ビット名
bit27
TRX
初期値 R/W
0
R
bit26
AAS
0
R
bit25
GCA
0
R
bit24
FBT
0
R
機能
Transfer/Receiver
データ送信の送受信状態を示すビットです。
0 : 受信状態。
1 : 送信状態。
Address As Slave
アドレッシング検出ビットです。
0 : スレーブ時に , アドレッシングされていない。
1 : スレーブ時に , アドレッシングされた。
( 注意事項 ) スタートコンディション検出 , またはストップコン
ディション検出でクリアされます。
General Call Address
ゼネラルコールアドレス (00H) 検出ビットです。
0 : スレーブ時に , ゼネラルコールアドレスを受信していない。
1 : スレーブ時に , ゼネラルコールアドレスを受信した。
( 注意事項 ) スタートコンディション検出 , またはストップコン
ディション検出でクリアされます。
First Byte Transfer
第一バイト検出ビットです。
0 : 受信データが第一バイト以外である。
1 : 受信データが第一バイト ( アドレスデータ ) である。
( 注意事項 ) スタートコンディション検出で "1" にセットされて
も , INT ビットの "0" 書込み , またはスレーブ時にア
ドレスされなかった場合にはクリアされます。
( 注意事項 ) このレジスタの全ビットは , CCR の EN ビットが "0" の期間にクリアされます。
480
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
バスコントロールレジスタ (BCR)
14.2.2
I2C バス制御レジスタです。
■ バスコントロールレジスタ (BCR) のビット構成
図 14.2-2 バスコントロールレジスタ (BCR) のビット構成
アドレス
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
010F 0001H
BER
BEIE
SCC
MSS
ACK
GCAA
INTE
INT
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
初期値
属性
表 14.2-3 バスコントロールレジスタ (BCR) のビット詳細 (1 / 3)
ビット名
初期値
R/W
機能
Bus ERror
バスエラー割込み要求フラグビットです。
• 書込み時
0 : バスエラー割込み要求フラグをクリアする。
1 : 関係なし。
bit23
BER
0
R/W
• 読出し時
0 : バスエラーは検出されていない。
1 : データ転送中に , 不正なスタート , ストップコンディ
ションを検出した。
( 注意事項 ) このビットがセットされた場合 , CCR レジスタの
EN ビットはクリアされ , 本インタフェースは停止
状態になり , データ転送は中断されます。
bit22
BEIE
0
R/W
bit21
SCC
0
R/W
Bus Error Interrupt Enable
バスエラー割込み許可ビットです。
0 : バスエラー割込み禁止。
1 : バスエラー割込み許可。
( 注意事項 ) このビットが "1" のとき , BER ビットが "1" なら
割込みを発生します。
Start Condition Continue
スタートコンディション発生ビットです。
• 書込み時
CM71-10131-1
0 : 関係なし。
1 : マスタ転送時に再びスタートコンディションを発生させ
る。
( 注意事項 ) このビットの読出し値は常に "0" です。
FUJITSU MICROELECTRONICS LIMITED
481
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
表 14.2-3 バスコントロールレジスタ (BCR) のビット詳細 (2 / 3)
ビット名
初期値
R/W
機能
Master Slave Select
マスタ / スレーブの選択ビットです。
• 書込み時
bit20
MSS
0
bit19
ACK
0
bit18
GCAA
0
bit17
482
INTE
0
"0" :ストップコンディションを発生して転送終了後 , ス
レーブモードとなります。
"1" :マスタモードとなり , スタートコンディションを発生
して転送を開始します。
R/W ( 注意事項 ) このビットは , マスタ送信中にアービトレーショ
ンロストが発生した場合にクリアされ , スレーブ
モードになります。
【制限事項】
マルチマスタ環境で , 本インタフェースと同時にほかのマスタ
がゼネラルコールアドレスを送信し , かつ本インタフェースが
2 バイト目以降でアービトレーションロストする使用方法を禁
止します。
ACKnowledge
データを受信した場合のアクノリッジ発生許可ビットです。
"0" : アクノリッジを発生しない。
R/W
"1" : アクノリッジを発生する。
( 注意事項 ) このビットは , スレーブ時のアドレスデータ受信
時には無効となります。
General Call Address Acknowledge
ゼネラルコールアドレスを受信した場合のアクノリッジ発生
R/W 許可ビットです。
"0" : アクノリッジを発生しない。
"1" : アクノリッジを発生する。
R/W
INTerrupt Enable
割込み許可ビットです。
"0" : 割込み禁止。
"1" : 割込み許可。
( 注意事項 ) このビットが "1" のときに INT ビットが "1" の場
合には割込みを発生します。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
表 14.2-3 バスコントロールレジスタ (BCR) のビット詳細 (3 / 3)
ビット名
初期値
R/W
機能
INTerrupt
転送終了割込み要求ビットです。
• 書込み時
"0" :転送終了割込み要求フラグをクリアする。
"1" :関係なし。
• 読出し時
bit16
INT
0
R/W
"0" :転送終了していない。
"1" :アクノリッジビットを含めた 1 バイト転送が終了した
ときに次の条件に該当する場合に設定されます。
- バスマスタである。
- アドレスされたスレーブである。
- ゼネラルコールアドレスを受信した(GCAA=1でのみ)。
- アービトレーションロストが起こった ( バス獲得状態
でのみ )。
- ほかのシステムがバスを使用中にスタートコンディ
ションを発生しようとした。
( 注意事項 ) このビットが "1" のとき , SCL ラインは "L" レベ
ルに保たれます。このビットへの "0" 書込みによ
りクリアされ , SCL ラインを開放し , 次バイトの
転送を行います。また , マスタ時にスタートコン
ディションまたはストップコンディションの発生
により "0" にリセットされます。
( 注意事項 ) このレジスタビット 7, 6 以外は , CCR の EN ビットが "0" の期間にクリアされます。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
483
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
<注意事項>
図 14.2-3 と図 14.2-4 に示したタイミングで , スタートコンディションを発生させる命令
を実行 (MSS ビットへの "1" 設定 ) すると , アービトレーションロスト検出 (AL ビット =1)
による割込み (INT ビット =1) は発生しません。
• AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 1
スタートコンディション未検出 (BB ビット =0) 状態で , SDA 端子または SCL 端子レベ
ルが "L" のときに , スタートコンディションを発生させる命令を実行 (BCR レジスタの
MSS ビットに "1" を設定 ) した場合。
図 14.2-3 AL ビット =1 検出による割込みが発生しないタイミング
SCL端子またはSDA端子が"L"レベル
SCL端子
"L"
SDA端子
"L"
1
I2C動作許可状態(ENビット=1)
マスタモード設定(MSSビット=1)
アービトレーションロスト検出(ALビット=1)
484
バスビジー(BBビット)
0
割込み(INTビット)
0
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
• AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 2
ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (EN ビット =1) してス
タートコンディションを発生させる命令を実行 (BCR レジスタの MSS ビットに "1" を
設定 ) した場合。
図 14.2-4 に示したとおり , I2C が動作禁止 (EN ビット =0) の状態で , I2C バス上のほか
のマスタが通信を開始すると , スタートコンディション未検出 (BB ビット =0) で I2C バ
スが占有されている状態になるためです。
図 14.2-4 AL ビット =1 検出による割込みが発生しないタイミング
スタートコンディション
9クロック目でINTビット割込みが ストップコンディション
発生しない
SCL端子
SDA端子
SLAVE ADDRESS
ACK
DAT
ACK
ENビット
MSSビット
ALビット
0
BBビット
0
INTビット
上記のような現象が発生する可能性がある場合には , 以下の手順でソフト処理をして
ください。
1) スタートコンディションを発生させる命令を実行 (MSS ビットへの "1" 設定 )。
2) タイマ機能などを使用して , CCR レジスタに設定されている I2C 転送周波数での 3
ビットデータ送信時間待つ *。
例:I2C 転送周波数 100 kHz の場合
3 ビットデータ送信時間 {1/(100 × 103)} × 3=30µs
3) BSR レジスタの AL ビットと BB ビットを確認し , AL ビット =1, BB ビット =0 の場
合には , CCR レジスタの EN ビットを "0" にして I2C を初期化する。AL ビットと
BB ビットがその他の状態のときは通常処理を行う。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
485
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
以下にフロー例を示します。
図 14.2-5 AL ビット =1 検出による割込みが発生しない場合のソフト処理フロー例
マスタモード設定
バス制御レジスタ(BCR)のMSSビットを"1"に設定
クロック制御レジスタ(ICCR)に
設定されているI2C転送周波数での
3ビットデータ送信時間待つ*
NO
BBビット=0で
かつALビット=1
YES
ENビットを"0"にしてI2Cの初期化
通常処理へ
*:アービトレーションロストが検出された場合,MSSビット=1設定後I2C転送周波数での
3ビットデータ送信時間後には確実にALビット=1となります。
• AL ビット =1 検出による割込み (INT ビット =1) が発生する例
バスビジー検出 (BB ビット =1) されている状態で , スタートコンディションを発生さ
せる命令を実行 (MSS ビットへの "1" 設定 ) してアービトレーションロストした場合に
は , AL ビット =1 検出時に INT ビット割込みが発生します。
図 14.2-6 AL ビット =1 時に割込みが発生するタイミング図
スタートコンディション
SCL端子
SDA端子
SLAVE ADDRESS
ACK
DAT
ENビット
MSSビット
ソフトでのALビットクリア
ALビット
BBビット
ソフトでのINTビットクリアで
SCL開放
INTビット
486
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
クロックコントロールレジスタ (CCR)
14.2.3
I2C バスの周波数を制御するレジスタです。
■ クロックコントロールレジスタ (CCR) のビット構成
図 14.2-7 クロックコントロールレジスタ (CCR) のビット構成
アドレス
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
010F 0002H
−
HSM
EN
CS4
CS3
CS2
CS1
CS0
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
−
初期値
属性
表 14.2-4 クロックコントロールレジスタ (CCR) のビット詳細
ビット名
bit23
bit22
bit21
bit20
∼
bit16
−
HSM
EN
CS4
∼
CS0
初期値
R/W
0
−
0
0
0
機能
未定義
読出し時は , 必ず "1" が読み出されます。
R/W
High Speed Mode
標準 / 高速モード設定ビットです。
"0" : 標準モード。
"1" : 高速モード。
R/W
ENable
動作許可ビットです。
"0" : 動作禁止。
"1" : 動作許可。
( 注意事項 )このビットが "0" のとき , BSR レジスタ , BCR レジス
タ (BER, BEIE ビットを除く ) の各ビットはクリアさ
れます。BER ビットがセットされた場合 , このビッ
トはクリアされます。
R/W
Clock Period Select 4 ∼ 0
シリアル転送クロックの周波数を設定するビットです。
CSR レジスタを設定することによりバスクロック周波数の上限を
拡張することができます ( 詳細は , CSR レジスタの説明を参照 )。
CSR レジスタを使用しない (CSR レジスタを初期状態のまま使用
する ) 場合には , シリアル転送クロックの周波数 fscl は表下の式
のようになります。
fscl は , マスタ動作時に以下に示す値を超えないように設定してください。
標準モード時:100 kHz
高速モード時:400 kHz
• 標準モード時
fscl = φ / ( (2 × m) + 2 )
φ:システムクロック *
• 高速モード時
fscl = φ / ( int(1.5 × m) + 2 )
φ:システムクロック *
int( ) は小数点以下切捨て
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
487
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
* : システムクロックは , 「3.12.3 クロック分周」に示す外部インタフェースクロック
(MCLKO) を意味します。
m は表 14.2-5 を参照してください。
<注意事項>
+ 2 のサイクルは , SCL 端子の出力レベルが変化したことをチェックしているための最小
のオーバヘッドです。SCL 端子の立上りのディレイが大きい場合やスレーブデバイスで
クロックを引き延ばしている場合には , この値より大きくなります。
m の値は , CS4 ∼ CS0 の値に対して次のようになります。
表 14.2-5 シリアル転送クロック周波数例
CS4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
488
CS3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
CS2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
CS1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
m
CS0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
標準
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
FUJITSU MICROELECTRONICS LIMITED
高速
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
設定禁止
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
CM71-10131-1
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
アドレスレジスタ (ADR)
14.2.4
アドレスレジスタ (ADR) について説明します。
■ アドレスレジスタ (ADR) のビット構成
図 14.2-8 アドレスレジスタ (ADR) のビット構成
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
010F 0003H
−
A6
A5
A4
A3
A2
A1
A0
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
−
初期値
属性
表 14.2-6 アドレスレジスタ (ADR) のビット詳細
ビット名
bit7
−
bit6 ∼
A6 ∼ A0
bit0
CM71-10131-1
初期値
R/W
1
−
0
R/W
機能
未定義
読出し時は , 必ず "1" となります。
Address6 ∼ Address0
スレーブアドレス格納ビットです。
( 注意事項 )スレーブ時 , アドレスデータ受信後に ADR レジスタ
との比較が行われ , 一致している場合はマスタに対し
てアクノリッジを送信します。
FUJITSU MICROELECTRONICS LIMITED
489
第 14 章 I2C インタフェース
14.2
14.2.5
MB91402/403 シリーズ
データレジスタ (DAR)
データレジスタ (DAR) について説明します。
■ データレジスタ (DAR) のビット構成
図 14.2-9 データレジスタ (DAR) のビット構成
アドレス
bit31
bit30
bit29
bit28
bit27
bit26
bit25
bit24
010F 0004H
D7
D6
D5
D4
D3
D2
D1
D0
X
R/W
X
R/W
X
R/W
X
R/W
X
R/W
X
R/W
X
R/W
X
R/W
初期値
属性
X:不定値
表 14.2-7 データレジスタ (DAR) のビット詳細
ビット名
bit31
∼
bit24
490
D7 ∼ D0
初期値
X
R/W
機能
R/W
Data7 ∼ Data0
シリアルデータ格納ビットです。
( 注意事項 ) シリアル転送に使用されるデータレジスタであり,
MSB から転送されます。データ受信時 (TRX = 0)
は , データ出力は "1" になります。
このレジスタの書込み側はダブルバッファになっ
ており , バスが使用中 (BB=1) である場合 , 書込み
データは各バイト転送時にシリアル転送用のレジ
スタにロードされます。読出し時はシリアル転送
用のレジスタを直接読み出すため , 受信データは
INT ビットがセットされている場合にのみ有効で
す。
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
拡張 CS レジスタ (CSR)
14.2.6
拡張 CS レジスタ (CSR) について説明します。
■ 拡張 CS レジスタ (CSR) のビット構成
図 14.2-10 拡張 CS レジスタ (CSR) のビット構成
アドレス
bit23
bit22
bit21
bit20
bit19
bit18
bit17
bit16
010F 0005H
TST1
TST0
CS10
CS9
CS8
CS7
CS6
CS5
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
初期値
属性
表 14.2-8 拡張 CS レジスタ (CSR) のビット詳細
ビット名
bit23,
bit22
bit21
∼
bit16
初期値
TST1,
TST0
CS10
∼
CS5
0
0
R/W
R/W
R/W
機能
Test Mode
Test モードビットです。
00
: 通常モード。
00 以外 : テストモード。
Clock Period Select 10 ∼ 5
CCR レジスタ内の CS4 ∼ CS0 を拡張して , バスクロックの使用
周波数の上限を拡張するときに設定します。
CS10 ∼ CS5 の初期値は , "000000B" で , "000000B" 以外の値を設
定することで周波数上限拡張モードになります。
: バスクロックの周波数の上限拡張なし
000000B
(CS4 ∼ CS0 のみを使用 )
000000B 以外: バスクロック周波数の上限拡張あり
fscl は , マスタ動作時に以下に示す値を超えないように設定してください。
標準モード時:100 kHz
高速モード時:400 kHz
• 標準モード時
fscl = φ / ( (2 × m) + 2 )
φ:システムクロック *
• 高速モード時
fscl = φ / ( int(1.5 × m) + 2 )
φ:システムクロック *
int( ) は小数点以下切捨て
* : システムクロックは ,「第 3 章 CPU および制御部」で記される外部インタフェース
クロック (MCLKO) を意味します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
491
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
<注意事項>
+ 2 のサイクルは , SCL 端子の出力レベルが変化したことをチェックしているための最小
のオーバヘッドです。SCL 端子の立上りのディレイが大きい場合やスレーブデバイスで
クロックを引き延ばしている場合には , この値より大きくなります。
拡張 CS レジスタを使用する場合の m の値は , CS10 ∼ CS0 の値+ 1 になります。
492
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
バスクロック周波数レジスタ (FSR)
14.2.7
ノイズフィルタの特性を設定するレジスタです。
■ バスクロック周波数レジスタ (FSR) のビット構成
図 14.2-11 バスクロック周波数レジスタ (FSR) のビット構成
アドレス
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
010F 0006H
−
−
−
−
FS3
FS2
FS1
FS0
0
R/W
0
R/W
0
R/W
1
R/W
0
0
0
0
−
−
−
−
初期値
属性
表 14.2-9 バスクロック周波数レジスタ (FSR) のビット詳細
ビット名
bit15
∼
bit12
−
bit11
∼
bit8
FS3
∼
FS0
初期値 R/W
0000
0001
機能
未定義
読出し時は , 必ず "0000B" となります。
−
Bus Clock Frequency Select 3 ∼ 0
使用するバスクロックの周波数を選択します。このレジスタの設
R/W 定によりノイズフィルタの特性が設定されます。下表に標準的な
設定値を示しますが , I2C バス上のノイズ状態により調整が必要と
なる場合があります。
表 14.2-10 バスクロック周波数設定例
CM71-10131-1
FS3
FS2
FS1
FS0
周波数 [MHz]
0
0
0
0
設定禁止
0
0
0
1
14 以上 ∼ 20 未満
0
0
1
0
20 以上 ∼ 40 未満
0
0
1
1
40 以上 ∼ 60 未満
0
1
0
0
60 以上 ∼ 80 未満
0
1
0
1
80 以上 ∼ 100 未満
0
1
1
0
100 以上 ∼ 120 未満
0
1
1
1
120 以上 ∼ 140 未満
1
0
0
0
140 以上 ∼ 160 未満
1
0
0
1
160 以上 ∼ 180 未満
1
0
1
0
180 以上 ∼ 200 未満
1
0
1
1
200 以上 ∼ 220 未満
1
1
0
0
−
1
1
0
1
−
1
1
1
0
−
1
1
1
1
−
FUJITSU MICROELECTRONICS LIMITED
493
第 14 章 I2C インタフェース
14.2
MB91402/403 シリーズ
バスコントロール 2 レジスタ (BC2R)
14.2.8
バスコントロール 2 レジスタ (BC2R) について説明します。
■ バスコントロール 2 レジスタ (BC2R) のビット構成
図 14.2-12 バスコントロール 2 レジスタ (BC2R) のビット構成
アドレス
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
010F 0007H
−
−
SCLS
X
−
SDAL
SCLL
0
SDAS
X
−
0
0
0
−
−
R
R
−
−
0
R/W
0
R/W
初期値
属性
表 14.2-11 バスコントロール 2 レジスタ (BC2R) のビット詳細
ビット名
bit7,
bit6
bit5
−
SDAS
初期値
R/W
00
−
未定義
読出し時は , 必ず "00B" となります。
R
SDA Status
ノイズフィルタ通過後の SDA ラインの信号レベルを示します。
"0" : SDA ラインは "0"。
"1" : SDA ラインは "1"。
X
機能
bit4
SCLS
X
R
SCL Status
ノイズフィルタ通過後の SCL ラインの信号レベルを示します。
"0" : SCL ラインは "0"。
"1" : SCL ラインは "1"。
bit3,
bit2
−
00
−
未定義
読出し時は , 必ず "00B" となります。
R/W
SDA Low drive
SDA 出力を強制的に "L" にします。
"0" : SDA 出力は通常動作。
"1" : SDA 出力を強制的に "L"。
R/W
SCL Low drive
SCL 出力を強制的に "L" にします。
"0" : SCL 出力は通常動作。
"1" : SCL 出力を強制的に "L"。
bit1
bit0
494
SDAL
SCLL
0
0
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
14.3
I2C インタフェースの動作説明
I2C バスは , 1 本のシリアルデータライン (SDA) と 1 本のシリアルクロック (SCL) の
2 本の双方向バスラインにより通信が行われます。本インタフェースには SDA 用に
SDA 入力 (SDAI) と SDA 出力 (SDAO) があり , オープンドレイン I/O セルを経て
SDA ラインに接続されます。また , SCL 用にも SCL 入力 (SCLI) と SCL 出力
(SCLO) があり , オープンドレイン I/O セルを経て SCL ラインに接続されます。
SDA ラインと SCL ラインには , ワイヤード論理で接続されます。
■ スタートコンディション
バスが開放されている状態 (BSR の BB=0, BCR の MSS=0) で MSS ビットに "1" を書き
込むと , 本インタフェースはマスタモードになりスタートコンディションを発生しま
す。マスタ時では , バスが使用状態 (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" にセットされま
す。上記 2 条件以外での MSS ビット , SCC ビットへの "1" 書込みは無視されます。
● I2C バス上でのスタートコンディション
SCL ラインが "1" の状態で , SDA ラインが "1" から "0" に変化することをスタートコン
ディションとよびます。
図 14.3-1 スタートコンディション
SDA
SCL
スタートコンディション
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
495
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ ストップコンディション
マスタ時 (MSS=1) に MSS ビットに "0" を書き込むと , ストップコンディションを発生
してスレーブになります。
ストップコンディションを発生させる条件は , 次のとおりです。
• バスマスタ時の割込み状態 (MSS=1 & BB=1 & INT=1 & AL=0) での MSS ビットへの
"0" 書込み。
上記以外での MSS ビットへの "0" 書込みは無視されます。
● I2C バス上でのストップコンディションについて
SCL ラインが "1" の状態で , SDA ラインが "0" から "1" に変化することをストップコン
ディションとよびます。
図 14.3-2 ストップコンディション
SDA
SCL
ストップコンディション
496
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ アドレッシング
マスタモードでは , スタートコンディション発生後 , BB=1, TRX=1 にセットされ , DAR
レジスタの内容を MSB から出力します。アドレスデータ送信後 , スレーブからアクノ
リッジを受信すると , 送信データの bit0( 送信後の DAR レジスタの bit0) を反転して TRX
ビットへ格納します。
スレーブモードでは , スタートコンディション発生後 , BB=1, TRX=0 にセットされ , マ
スタからの送信データを DAR レジスタへ受信します。アドレスデータ受信後に DAR
レジスタと ADR レジスタとの比較が行われ , 一致している場合には AAS=1 にセット
し , マスタに対してアクノリッジを送信します。その後 , 受信データの bit0( 受信後の
DAR レジスタの bit0) を TRX ビットへ格納します。
● スレーブアドレスの転送フォーマット
スレーブアドレスの転送フォーマットを示します。
図 14.3-3 スレーブアドレスの転送フォーマット
MSB
A6
A5
A4
A3
A2
A1
A0
LSB
0
R/W
ACK
スレーブアドレス
● スレーブアドレスのマップ
スレーブアドレスのマップを示します。
表 14.3-1 スレーブアドレスのマップ
スレーブアドレス
R/W
0000 000H
0
ゼネラルコールアドレス
0000 000H
1
スタートバイト
0000 001H
X
CBUS アドレス
0000 010H
X
予約
0000 011H
X
0000 0XXH
X
説明
予約
0001 XXXH
利用可能なスレーブアドレス
1111 0XXH
X
10 ビットスレーブアドレス *
1111 1XXH
X
予約
∼
X
1110 XXXH
*: 本マクロでは , 10 ビットスレーブアドレスをサポートしていません。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
497
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ SCL の同期調停
複数の I2C デバイスがほぼ同時にマスタデバイスとなり SCL ラインを駆動した場合 ,
それぞれのデバイスが SCL ラインの状態をセンスして , 遅いデバイスのタイミングに
合わせて自動的に SCL ラインの駆動タイミングを調整します。
図 14.3-4 SCL の駆動タイミングの調整
SCLライン
マクロA
SCLO(調停前)
SCLO(調停後)
SCLラインが"H"になってから,次の
SCLO="L"までのタイミングを取る
SCLラインが"H"になってから,
次のSCLO="L"までの
タイミングを取る
マクロB
SCLO(調停前)
SCLO(調停後)
498
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ アービトレーション
マスタ送信時に, ほかのマスタも同時にデータを送信している場合, アービトレーション
が発生します。本インタフェースの送信データが "1", SDA ライン上のデータが "0" の場
合 , 本インタフェースはアービトレーションを失ったとみなし , AL=1 にセットします。
また, ほかのマスタがバスを使用状態のときに, スタートコンディションを発生させよう
とすると , アービトレーションを失ったとみなし , AL=1 になります。また , バスが未使
用状態を確認し , MSS=1 を書き込んだ場合でも , 実際にスタートコンディションを発生
するまでの間に , ほかのマスタが発生したスタートコンディションを検出したときは ,
アービトレーションを失ったとみなし , AL=1 になります。
AL ビットが "1" にセットされると , MSS=0, TRX=0 となり , スレーブ受信モードとな
ります。
アービトレーションをなくした ( バス使用権をなくした ) 時点で , マスタは SDA のド
ライブを中止します。ただし , SCL のドライブは 1 バイト転送が終了し , 割込みがクリ
アされるまで中止されません。
図 14.3-5 アービトレーション
SDAライン
SCLライン
マクロA
出力と入力が一致しているため
パスを使用する権利がある
SDAI
SDAO
マクロB
SDAI
出力と入力が一致していないため
パスを使用する権利がある
SDAO
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
499
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ アクノリッジ / ネガティブアクノリッジ
9 ビット目のデータはアクノリッジ (ACK)/ ネガティブアクノリッジ (NACK) を示しま
す。9 ビット目のデータが "0" の状態がアクノリッジで , "1" の状態がネガティブアク
ノリッジです。
アクノリッジ / ネガティブアクノリッジは , 受信側が送信側に対して送信します。デー
タ受信時は , アクノリッジ / ネガティブアクノリッジが LRB ビットに格納されます。
スレーブ送信時に , マスタ受信側からのアクノリッジを受信しなかった場合 ( ネガティ
ブアクノリッジを受信した場合 ), TRX=0 となり , スレーブ受信モードになります。
これにより , マスタはスレーブが SCL を開放したときに , ストップコンディションを
発生させることができます。
図 14.3-6 アクノリッジ (ACK)/ ネガティブアクノリッジ (NACK)
ACK
SDAライン
SCLライン
マクロA(送信)
1
2
3
4
5
6
7
8
9
クロックは
送信側は受信側のACK/NACK
マスクが生成する 出力のためにバスを開放する
SDAO
SCLO
マクロB(受信)
ACK/NACKは,受信側が
送信側に返す
ACK
SDAO
SCLO
500
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ バスエラー
以下の条件が成立した場合はバスエラーと判断され , 本インタフェースは停止状態に
なります。
(1) データ転送中 (ACK ビットを含む ) の I2C バス上の基本規定違反の検出
(2) マスタ時のストップコンディション検出
(3) バスアイドル時の I2C バス上の基本規定違反の検出
図 14.3-7 バスエラー
SDAライン
SCLライン
D7
D6
D5
START
データ転送中のSCL="H"で,
SDAが変化。
バスエラーとなる。
■ 初期化
図 14.3-8 初期化フロー
Start
ADR
:書込み
CCR
:書込み
CS 4 ∼ CS0 :書込み
EN
:"1" 書込み
BCR
BER
BEIE
INT
INTE
CM71-10131-1
:書込み
:"0" 書込み
:"1" 書込み
:"0" 書込み
:"1" 書込み
スレーブアドレス設定
クロック周波数設定
マクロイネーブル設定
割込み設定
End
FUJITSU MICROELECTRONICS LIMITED
501
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ マスタからスレーブへの 1 バイト転送
図 14.3-9 マスタからスレーブへの 1 バイト転送フロー
マスタ
Start
スレーブ
DAR :書込み
MSS :"1"書込み
スタートコンディション
BBセット, TRXセット
BBセット, TRXセット
アドレスデータ転送
AASセット
アクノリッジ
LRBリセット
INTセット, TRXリセット
DAR :書込み
INT :"0"書込み
割込み
INTセット, TRXセット
ACK :"1"書込み
INT :"0"書込み
データ転送
アクノリッジ
LRBリセット
INTセット
割込み
MSS :"0"書込み
INTリセット
BBリセット, TRXリセット
ストップコンディション
INTセット
DAR :読出し
INT :"0"書込み
BBリセット,TRXリセット
AASリセット
End
502
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ スレーブからマスタへの 1 バイト転送
図 14.3-10 スレーブからマスタへの 1 バイト転送フロー
マスタ
Start
スレーブ
DAR :書込み
MSS :"1"書込み
スタートコンディション
BBセット, TRXセット
BBセット, TRXセット
アドレスデータ転送
AASセット
アクノリッジ
LRBリセット
INTセット, TRXリセット
ACK :"0"書込み
INT :"0"書込み
割込み
INTセット, TRXセット
DAR :書込み
INT :"0"書込み
データ転送
ネガティブアクノリッジ
INTセット
DAR:読出し
LRBセット, TRXセット
INTセット
割込み
MSS :"0"書込み
INTリセット
BBリセット, TRXリセット ストップコンディション
INT :"0"書込み
BBリセット, TRXリセット
AASリセット
End
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
503
第 14 章 I2C インタフェース
14.3
MB91402/403 シリーズ
■ バスエラー後の復帰
図 14.3-11 バスエラー後の復帰フロー
Start
BDR
BER
BEIE
:書込み
:"0" 書込み
:"1" 書込み
CCR
:書込み
CS4 ∼ CS0 :書込み
EN
:"1" 書込み
BCR
BER
BEIE
INT
INTE
:書込み
:"0" 書込み
:"1" 書込み
:"0" 書込み
:"1" 書込み
エラーフラグ解除
クロック周波数設定
マクロイネーブル設定
割込み設定
End
■ 割込み処理とマスタデバイス側へのウェイト要求動作
BCR レジスタの INT フラグが "H" の期間 ( 本インタフェースが割込みを発生して CPU
が割込み処理を行っている間 ) は , SCL 出力を "L" にします。スレーブ側が SCL ライ
ンを "L" にしている期間は , マスタ側は次の転送クロックを生成することができないた
めに , スレーブ側からマスタ側へウェイトをかけることになります。
504
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
14.4
第 14 章 I2C インタフェース
14.4
注意事項
I2C インタフェースの注意事項を説明します。
■ システムクロックと fscl について
本インタフェースには , 以下に示す範囲のシステムクロック * を供給してください。
システムクロックが 18 MHz を超える場合の通信には CSR の設定が必要です。
• マスタ動作
:14 MHz ∼ 33 MHz
• スレーブ動作 :14 MHz ∼ 33 MHz
* : システムクロックとは ,「第 3 章 CPU および制御部」で示される外部インタフェー
スクロック (MCLKO) を意味します。
fscl には以下に示す上限を超えないように CCR の設定を行ってください。fscl が各モー
ドの上限を超える場合 , I2C バス上のタイミング規定違反を起こすため , 正常な転送は
行われません。
標準 :100 kHz
高速 :400 kHz
■ 10 ビットスレーブアドレスについて
本インタフェースは 10 ビットスレーブアドレスをサポートしていません。したがって ,
本インタフェースに対して "78H" から "7BH" のスレーブアドレスを指定しないでくだ
さい。間違って指定した場合 , 1 バイト受信時にアクノリッジを返しますが , 正常な転
送はできません。
■ SCC, MSS, INT ビットの競合
SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , スタートコンディション発
生 , ストップコンディション発生の競合が起こります。このときの優先度は次のように
なります。
(1) 次バイト転送とストップコンディション発生
INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの "0" 書込みを優先
し , ストップコンディションが発生します。
(2) 次バイト転送とスタートコンディション発生
INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの "1" 書込みを優先
し , スタートコンディションが発生します。
(3) スタートコンディション発生とストップコンディション発生
SCC ビットに "1", MSS ビットに "0" の同時書込みを禁止します。
■ シリアル転送クロックの設定について
SCL 端子の立上りのディレイが大きい場合やスレーブデバイスでクロックを引き延ば
している場合には , オーバヘッドが発生するため , 設定値 ( 計算値 ) より小さくなるこ
とがあります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
505
第 14 章 I2C インタフェース
14.4
MB91402/403 シリーズ
■ マルチマスタで使用する場合のグローバル・コール・アドレス送信における制限
事項について
I2C インタフェースをマルチマスタで使用する場合 , I2C インタフェースと同時にほか
のマスタがグローバルコールアドレスを送信し , かつ I2C インタフェースが 2 バイト目
以降でアービトレーションロストとする使用法を禁止します。
以下のような使用方法は本制限事項に該当しません。
• I2C インタフェースをシングルマスタ環境で使用する。
• I2C インタフェースをマルチマスタ環境で使用するが , I2C インタフェースがゼネラ
ルコールアドレス送信を使用しない。
• I2C インタフェースをマルチマスタ環境で使用するが , I2C インタフェース以外がゼ
ネラルコールアドレス送信を使用しない。
• I2C インタフェースをマルチマスタ環境で使用し , I2C インタフェースと同時にほか
のマスタがゼネラルコールアドレスを送信するが , 2 バイト目以降で I2C インタ
フェースがアービトレーションロストすることがない。*
* : 送信データの値が大きい方がアービトレーションロストを発生するので , 2 バイ
ト目以降のデータが常にほかのマスタより小さいことが条件になります。
506
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.5
MB91402/403 シリーズ
14.5
動作フローチャート
I2C インタフェースの動作フローを説明します。
■ 動作フローチャート
I2C インタフェースを使用して通信を行う場合のフローチャート例を示します。
図 14.5-1 動作フローチャート (1)
初期化
エラー解除
アドレス設定
エラー解除設定
マスタ送信
送信
送信または受信?
受信
クロックおよびEN設定
クロックおよびEN設定
割込み設定
割込み設定
終了
終了
相手アドレス
および送信設定
相手アドレス
および受信設定
ウェイト
スタートコンディション
およびアドレス送信
エラー解除
WAIT
EN設定一時解除
BCR読出し
BSR読出し
*
(1)
アービト
レーションロスト?
(!BCR.MSSまたはBSR.AL)
(0)
終了
*:バスが "L" レベル固定でハングアップしている可能性があります。バスのハングアップの場合 , 復
帰処理またはシステム再起動が必要です。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
507
第 14 章 I2C インタフェース
14.5
MB91402/403 シリーズ
図 14.5-2 動作フローチャート (2)
*1
割込み処理
マスタ通信中?
BCR読出し
BSR読出し
バスエラー?
(BCR:BER)
NO
YES
EN設定一時解除
(OCR<=0h0c_ccccB)
(1)
(0)
アービト
レーションロスト?
(BCR:BER)
ウェイト
(100*PCLK)
*2
(1)
(0)
スレーブ?
(BSR:AASまたはOCL)
(0)
エラー解除
エラー解除
(1)
マスタ通信中?
(BCR:MSS)
(0)
(再)マスタ通信
(1)
送信または受信?
(BSR:TRX)
(0)
送信または受信?
(BSR:TRX)
(1)
(0)
ウェイト *3
(10*PCLK)
(1)
4
6
2
3
マスタ
データ送信
マスタ
データ受信
スレーブ
データ送信
スレーブ
データ受信
終了
ウェイト*3
(10*PCLK)
終了
*1:バスエラー検出により BCR:MSS がクリアされるためマクロ外部での判定フラグを必要とします。
*2:再通信を行う場合には , バスが "H" レベルで安定するまで , 機能停止期間が必要です。
*3:エラー解除から割込み要求がなくなるまで待ちます。
508
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.5
MB91402/403 シリーズ
図 14.5-3 動作フローチャート (3)
スレーブデータ送信
スレーブデータ受信
2
3
アドレス?
(BSR:FBT)
(0)
*1
送信データあり?
(1)
*3
受信データリード
(受信データ<=DAR)
なし
あり
次の受信データを
受信完了?
送信データセット
(DAR<=通信データ)
YES
NO
割込みクリアおよび
次の受信でACK
(BCR<=0100_0110B)
割込みクリアおよび送信
(BCR*=0100_0100B)
割込みクリアおよび
次の受信でNACK
(BCR<=0100_0100B)
*2 (10*FCLE)
ウェイト 終了
*1:スレーブ送信時から通信中止を要求することはできません。
*2:割込みクリアから実際に割込み要求がなくなるまで待ちます。
*3:GCA によってグローバルアドレスコールか通常のスレーブアドレスかを判定します。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
509
第 14 章 I2C インタフェース
14.5
MB91402/403 シリーズ
図 14.5-4 動作フローチャート (4)
3
マスタデータ受信
アドレス?
(BSR:FBT)
(1)
マスタデータ送信
2
(0)
送信完了?
終了
受信データリード
(受信データ<=DAR)
継続
スレーブNACK?
(BBRLRB)
(1)
(1)
マスタNACK?*2
(BSR_LRB)
(0)
(0)
送信データセット
(DAR<=送信データ)
ウェイト
(100*PCLE)
次の受信データ
で受信終了?
YES
NO
割込みクリアおよび送信
(BCR<=0100_0110B)
割込みクリアおよび
次の受信でACK
(BCR<=0100_1110B)
割込みクリアおよび
ストップコンディション
(BCR<=0100_0110B)
割込みクリアおよび
次の受信でNACK
(BCR<=0101_0110B)
*1
ウェイト (10*PCLK)
終了
*1:割込みクリアから実際に割込み要求がなくなるまで待ちます。
*2:マスタは ACK/NACK に関係なく , 通信を中止することができます。
510
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
第 14 章 I2C インタフェース
14.5
MB91402/403 シリーズ
図 14.5-5 動作フローチャート (5)
マクロがマスタ通常モード時、SDA="L"(スレーブが"L"ドライブ
またはバス短略)状態でハングアップした場合の復帰方法
システム
ハングアップ
解除開始
他にマスタデバイス
いない?
(強制クロック入力フェーズ)
(強制バスエラーフェーズ)
SCLを"L"ドライブ
YES
"L"幅期間ウェイト
SDA="L"ドライブ
SCLを"H"
SDAおよびSCLを
モニタ
1ビット期間ウェイト
0.6*H幅期間ウェイト
SDAを"H"
SDA=DおよびSCL="L"が
一定時間続く?
YES
SDAをモニタ
NO
SDAおよび
SCLをモニタ
YES
SDA="L"?
NO
0.6*H幅期間ウェイト
SDA=1および
SCL=1?
YES
2回クロック
入れた?
YES
NO
終了 *1
終了*2
終了*3
*1:他マスタデバイス通信中
*2:GIVE UP(復帰失敗)
*3:復帰成功
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
511
第 14 章 I2C インタフェース
14.5
512
MB91402/403 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
付録
I/O マップ , 割込みベクタ , 端子状態一覧 , リトル
エンディアン領域を使用する際の注意事項 , および
命令一覧について説明します。
付録 A I/O マップ
付録 B 割込みベクタ
付録 C 各 CPU ステートにおける端子状態
付録 D リトルエンディアン領域を使用する際の注意事項
付録 E 命令一覧
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
513
付録
付録 A I/O マップ
付録 A
MB91402/403 シリーズ
I/O マップ
メモリ空間領域と周辺リソースの各レジスタの対応を示します。
■ I/O マップ
[ 表の見方 ]
アドレス
+0
PDR0 [R/W] B
XXXXXXXX
00000H
レジスタ
+1
+2
PDR1 [R/W]B
PDR2 [R/W]B
XXXXXXXX
XXXXXXXX
+3
PDR3 [R/W]B
XXXXXXXX
ブロック
T-unit
ポートデータレジスタ
リード/ライト属性, アクセス単位
(B:バイト, H:ハーフワード, W:ワード)
リセット後のレジスタ初期値
レジスタ名(1コラムのレジスタが4n番地, 2コラムが4n+1番地・・・)
最左のレジスタ番地(ワードでアクセスした際は, 1コラム目の
レジスタがデータのMSB側となる。)
<注意事項>
レジスタのビット値は , 以下のように初期値を表します。
"1": 初期値 "1"
"0": 初期値 "0"
"X":初期値 "X"
"-" :リザーブ領域で , アクセス禁止
"*" :注意事項 , 表末に記述
514
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
付録
付録 A I/O マップ
MB91402/403 シリーズ
付表 A-1 I/O マップ (1 / 7)
アドレス
レジスタ
+0
+1
+2
+3
ブロック
0000_0000 H
∼
0000_003C H
―
予約
0000_0040 H
EIRR [R/W]
00000000
ENIR [R/W]
00000000
ELVR [R/W]
00000000 00000000
Ext Int
0000_0044 H
DICR [R/W]
-------0
HRCL [R/W]
----1111
―
DLYI/I-unit
TMRLR0 [W]
XXXXXXXX XXXXXXXX
TMR0 [R]
XXXXXXXX XXXXXXXX
0000_004C H
―
TMCSR0 [R/W]
----0000 00000000
0000_0050 H
TMRLR1 [W]
XXXXXXXX XXXXXXXX
TMR1 [R]
XXXXXXXX XXXXXXXX
0000_0054 H
―
TMCSR1 [R/W]
----0000 00000000
0000_0058 H
TMRLR2 [W]
XXXXXXXX XXXXXXXX
TMR2 [R]
XXXXXXXX XXXXXXXX
―
TMCSR2 [R/W]
----0000 00000000
0000_0048 H
0000_005C H
0000_0060 H
0000_0064 H
0000_0068 H
0000_006C H
SSR0 [R/W]
00001000
UTIM0 [R]
00000000
SSR1 [R/W]
00001000
UTIM1 [R]
00000000
リロードタイマ 0
リロードタイマ 1
リロードタイマ 2
SIDR0 [R]
SODR0 [W]
XXXXXXXX
SCR0 [R/W]
00000100
SMR0 [R/W]
00--0-0-
UART0
(UTIMR0 [W])
00000000
DRCL0 [W]
--------
UTIMC0 [R/W]
0--00001
U-TIMER0
SIDR1 [R]
SODR1 [W]
XXXXXXXX
SCR1 [R/W]
00000100
SMR1 [R/W]
00--0-0-
UART1
(UTIMR1 [W])
00000000
DRCL1 [W]
--------
UTIMC1 [R/W]
0--00001
U-TIMER1
0000_0070 H
∼
0000_01FC H
CM71-10131-1
―
FUJITSU MICROELECTRONICS LIMITED
予約
515
付録
付録 A I/O マップ
MB91402/403 シリーズ
付表 A-1 I/O マップ (2 / 7)
アドレス
レジスタ
+0
+1
+2
+3
0000_0200 H
DMACA0 [R/W]
00000000 00000000 0000XXXX XXXXXXXX
0000_0204 H
DMACB0 [R/W]
00000000 00000000 00000000 00000000
0000_0208 H
DMACA1 [R/W]
00000000 00000000 0000XXXX XXXXXXXX
0000_020C H
DMACB1 [R/W]
00000000 00000000 00000000 00000000
0000_0210 H
DMACA2 [R/W]
00000000 00000000 0000XXXX XXXXXXXX
0000_0214 H
DMACB2 [R/W]
00000000 00000000 00000000 00000000
0000_0218 H
DMACA3 [R/W]
00000000 00000000 0000XXXX XXXXXXXX
0000_021C H
DMACB3 [R/W]
00000000 00000000 00000000 00000000
0000_0220 H
DMACA4 [R/W]
00000000 00000000 0000XXXX XXXXXXXX
0000_0224 H
DMACB4 [R/W]
00000000 00000000 00000000 00000000
ブロック
DMAC
0000_0228 H
∼
0000_023C H
0000_0240 H
―
予約
DMACR [R/W]
0XX00000 XXXXXXXX XXXXXXXX XXXXXXXX
DMAC
―
予約
0000_0244 H
∼
0000_0300 H
0000_0304 H
ISIZE [R/W]
------10
―
命令キャッシュ
0000_0308 H
∼
0000_03E0 H
0000_03E4 H
―
予約
ICHCR [R/W]
0-000000
―
命令キャッシュ
0000_03E8 H
∼
0000_03EC H
―
0000_03F0 H
BSD0 [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_03F4 H
BSD1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_03F8 H
BSDC [W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_03FC H
BSRR [R]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
516
FUJITSU MICROELECTRONICS LIMITED
予約
ビットサーチ
モジュール
CM71-10131-1
付録
付録 A I/O マップ
MB91402/403 シリーズ
付表 A-1 I/O マップ (3 / 7)
アドレス
レジスタ
+0
+1
+2
+3
ブロック
0000_0400 H
∼
0000_043C H
―
予約
0000_0440 H
ICR00[R/W]
---11111
ICR01[R/W]
---11111
ICR02[R/W]
---11111
ICR03[R/W]
---11111
0000_0444 H
ICR04[R/W]
---11111
ICR05[R/W]
---11111
ICR06[R/W]
---11111
ICR07[R/W]
---11111
0000_0448 H
ICR08[R/W]
---11111
ICR09[R/W]
---11111
ICR10[R/W]
---11111
ICR11[R/W]
---11111
0000_044C H
ICR12[R/W]
---11111
ICR13[R/W]
---11111
ICR14[R/W]
---11111
ICR15[R/W]
---11111
0000_0450 H
ICR16[R/W]
---11111
ICR17[R/W]
---11111
ICR18[R/W]
---11111
ICR19[R/W]
---11111
0000_0454 H
ICR20[R/W]
---11111
ICR21[R/W]
---11111
ICR22[R/W]
---11111
ICR23[R/W]
---11111
0000_0458 H
ICR24[R/W]
---11111
ICR25[R/W]
---11111
ICR26[R/W]
---11111
ICR27[R/W]
---11111
0000_045C H
ICR28[R/W]
---11111
ICR29[R/W]
---11111
ICR30[R/W]
---11111
ICR31[R/W]
---11111
0000_0460 H
ICR32[R/W]
---11111
ICR33[R/W]
---11111
ICR34[R/W]
---11111
ICR35[R/W]
---11111
0000_0464 H
ICR36[R/W]
---11111
ICR37[R/W]
---11111
ICR38[R/W]
---11111
ICR39[R/W]
---11111
0000_0468 H
ICR40[R/W]
---11111
ICR41[R/W]
---11111
ICR42[R/W]
---11111
ICR43[R/W]
---11111
0000_046C H
ICR44[R/W]
---11111
ICR45[R/W]
---11111
ICR46[R/W]
---11111
ICR47[R/W]
---11111
割込み制御
ユニット
0000_0470 H
∼
0000_047C H
―
予約
0000_0480 H
RSRR [R/W]
10000000 (*2)
STCR [R/W]
00110011 (*2)
TBCR [R/W]
00XXXX00 (*1)
CTBR [W]
XXXXXXXX
0000_0484 H
CLKR [R/W]
00000000
WPR [W]
XXXXXXXX
DIVR0 [R/W]
00000011 (*1)
DIVR1 [R/W]
00000000
クロック制御
ユニット
0000_0488 H
∼
0000_063F H
―
予約
0000_0640 H
ASR0 [R/W]
00000000 00000000
ACR0 [R/W]
1111**00 00000000 (*3)
0000_0644 H
ASR1 [R/W]
XXXXXXXX XXXXXXXX
ACR1 [R/W]
XXXXXXXX XXXXXXXX
0000_0648 H
ASR2[R/W]
XXXXXXXX XXXXXXXX
ACR2 [R/W]
XXXXXXXX XXXXXXXX
0000_064C H
ASR3[R/W]
XXXXXXXX XXXXXXXX
ACR3 [R/W]
XXXXXXXX XXXXXXXX
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
メモリインタ
フェース
517
付録
付録 A I/O マップ
MB91402/403 シリーズ
付表 A-1 I/O マップ (4 / 7)
アドレス
レジスタ
+0
+1
+2
+3
0000_0650 H
ASR4[R/W]
XXXXXXXX XXXXXXXX
ACR4 [R/W]
XXXXXXXX XXXXXXXX
0000_0654 H
ASR5[R/W]
XXXXXXXX XXXXXXXX
ACR5 [R/W]
XXXXXXXX XXXXXXXX
0000_0658 H
―
0000_065C H
ASR7[R/W]
XXXXXXXX XXXXXXXX
ACR7 [R/W]
XXXXXXXX XXXXXXXX
0000_0660 H
AWR0 [R/W]
01111111 11111111
AWR1 [R/W]
XXXXXXXX XXXXXXXX
0000_0664 H
AWR2 [R/W]
XXXXXXXX XXXXXXXX
AWR3 [R/W]
XXXXXXXX XXXXXXXX
0000_0668 H
AWR4 [R/W]
XXXXXXXX XXXXXXXX
AWR5 [R/W]
XXXXXXXX XXXXXXXX
0000_066C H
―
AWR7 [R/W]
XXXXXXXX XXXXXXXX
0000_0670 H
MCRA [R/W]
XXXXXXXX
MCRB [R/W]
XXXXXXXX
IOWR0 [R/W]
XXXXXXXX
IOWR1 [R/W]
XXXXXXXX
CSER [R/W]
00000001
CHER [R/W]
XXXXXXX1
0000_0674 H
0000_0678 H
0000_0684 H
メモリインタ
フェース
―
―
0000_067C H
0000_0680 H
ブロック
IOWR2 [R/W]
XXXXXXXX
―
―
TCR [R/W]
00000000 (*1)
―
RCR [R/W]
00XXXXXX XXXX0XXX
―
0000_0688 H
∼
0000_0FFC H
518
―
FUJITSU MICROELECTRONICS LIMITED
予約
CM71-10131-1
付録
付録 A I/O マップ
MB91402/403 シリーズ
付表 A-1 I/O マップ (5 / 7)
アドレス
レジスタ
+0
+1
+2
+3
0000_1000 H
DMASA0 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_1004 H
DMADA0 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_1008 H
DMASA1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_100C H
DMADA1 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_1010 H
DMASA2 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_1014 H
DMADA2 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_1018 H
DMASA3 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_101C H
DMADA3 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_1020 H
DMASA4 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
0000_1024 H
DMADA4 [R/W]
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
ブロック
DMAC
0000_1028 H
∼
0000_FFFC H
―
予約
010F_0000 H
BSR[R]
00000000
BCR[R/W]
00000000
CCR[R/W]
10000000
ADR[R/W]
10000000
010F_0004 H
DAR[R/W]
XXXXXXXX
CSR[R/W]
00000000
FSR[R/W]
00000001
BC2R[R/W]
00XX0000
I 2C
010F_0008 H
∼
010F_FFFF H
―
0110_0000 H
DLCR0[*4]
0_000000
DLCR1[R, W]
00000000
DLCR2[*4]
00000000
DLCR3[R/W]
00000000
0110_0004 H
DLCR4[*4]
00000010
DLCR5[*4]
01000001
DLCR6[*4]
10000000
DLCR7[*4]
00000000
0110_0008 H
DLCR8[R/W]
00000000
DLCR9[R/W]
00000000
DLCR10[R/W]
00000000
DLCR11[R/W]
00000000
0110_000C H
DLCR12[R/W]
00000000
DLCR13[R/W]
00000000
CM71-10131-1
LAN コントローラ
バンク 0
―
FUJITSU MICROELECTRONICS LIMITED
519
付録
付録 A I/O マップ
MB91402/403 シリーズ
付表 A-1 I/O マップ (6 / 7)
アドレス
レジスタ
+0
+1
+2
+3
0110_0008 H
MAR8[R/W]
00000000
MAR9[R/W]
00000000
MAR10[R/W]
00000000
MAR11[R/W]
00000000
0110_000C H
MAR12[R/W]
00000000
MAR13[R/W]
00000000
MAR14[R/W]
00000000
MAR15[R/W]
00000000
0110_0008 H
―
―
BMPR10[*4]
00000000
―
0110_000C H
BMPR12[*4]
00000000
―
BMPR14[*4]
00000000
―
0110_0010 H
BMPR8 [R/W]
00000000-00000000 00000000----0---0
0110_0014 H
―
0110_0018 H
―
0110_001C H
0110_0020 H
0110_0024 H
―
バンク 2
FL_STATUS[R/W]
XXXXXXX0
FL_DATA[R/W]
00000000-00000000-00000000-00000000
―
FL_CONTROL[R/W]
XXXXX000-00000000
FL_SUBNET[R/W]
11111111-11111111-11111111-11111111
SMI_CMD[R/W]
0--00000----00000
―
0110_002C H
―
―
0110_0030 H
―
SMI_DATA[R/W]
00000000-00000000
0110_0034 H
―
SMI_POLLINTVL[R/W]
00000000-00000000
0110_0038 H
―
SMI_CMD_ST[R]
XXXXXX00
―
SMI_PHY_AD
D[R/W]
XXX00000
0110_003C H
―
―
SMI_CONTROL
[R/W]
XXXXX111
0110_0040 H
―
―
SMI_STATUS[R]
XXXXXXXX
0110_0044 H
―
―
SMI_INTENABLE
[R/W]
XXXXXXX0
―
SMI_MDCDIV
[R/W]
XXX01011
520
バンク 1
FL_CMD[R/W]
00000000----0---0
0110_0028 H
0110_0048 H
ブロック
―
FUJITSU MICROELECTRONICS LIMITED
SMI IF
CM71-10131-1
付録
付録 A I/O マップ
MB91402/403 シリーズ
付表 A-1 I/O マップ (7 / 7)
アドレス
レジスタ
+0
+1
+2
+3
0114_0000 H
MIFRXDR [R]
00000000-00000000 00000000-00000000
0114_0004 H
MIFTXDR [W]
00000000-00000000 00000000-00000000
0114_0008 H
MIFRXR[R]
00000000-00000000
―
0114_000C H
MIFTXR[W]
00000000-00000000
―
0114_0010 H
―
MIFCR[R/W]
XXXXX000-00000000
0114_0014 H
―
MIFSR[R]
XXXXXXXX-00000000
ブロック
MPU IF
MIFRXSR [R]
00000000-00000000 00000000-00000000
0114_0018 H
0114_001C H
MIFTXSR[R]
00000110-00000000
―
0114_0020 H
―
PACR[R/W]
XXXXXXX0-00000000
0114_0024 H
―
―
PADR[R/W]
0000XXXX
GPIO(PORT A)
0114_0028 H
∼
0114_002F H
0114_0030 H
0114_0034 H
―
―
PBCR[R/W]
XX000000-00000000-00000000
―
PBDR[R/W]
XXXXXXXX-XXXXXXXX-XXXXXXXX
予約
GPIO(PORT B)
*1: リセットレベルで初期値が異なるレジスタです。表示は , INIT レベルのものです。
*2: リセットレベルで初期値が異なるレジスタです。表示は , INIT 端子による INIT レベルによるも
のです。
*3: 初期値はモードベクタの WTH ビットにより設定されます。
*4: ビットにより属性が異なります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
521
付録
付録 B 割込みベクタ
付録 B
MB91402/403 シリーズ
割込みベクタ
表 B-1 に示す割込みベクタテーブルには , MB91402/403 シリーズの割込み要因と割
込みベクタ / 割込み制御レジスタの割当てが記載されています。
ICR: 割込みコントローラ内に設けられたレジスタで割込みの各要求に対する割込み
レベルを設定します。
ICR は割込み要求の各々に対応して用意されています。
TBR: EIT 用ベクタテーブルの先頭アドレスを示すレジスタです。
TBR と EIT 要因ごとに決められたオフセット値を加算したアドレスがベクタア
ドレスとなります。
TBR の示すアドレスから 1K バイトの領域が EIT 用ベクタ領域となっています。
1 ベクタあたりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は下記のよ
うに表されます。
vctadr = TBR + vctofs
= TBR + (3FCH - 4 × vct)
vctadr:ベクタアドレス
vctofs :ベクタオフセット
vc
:ベクタ番号
表 B-1 割込みベクタテーブル (1 / 3)
割込み番号
割込み要因
522
10 進 16 進
割込み
レベル
オフ TBR デフォルト リソース
セット
番号
のアドレス
リセット
0
00
-
3FCH
000FFFFCH
-
モードベクタ
1
01
-
3F8H
000FFFF8H
-
システム予約
2
02
-
3F4H
000FFFF4H
-
システム予約
3
03
-
3F0H
000FFFF0H
-
システム予約
4
04
-
3ECH
000FFFECH
-
システム予約
5
05
-
3E8H
000FFFE8H
-
システム予約
6
06
-
3E4H
000FFFE4H
-
000FFFE0H
-
コプロセッサ不在トラップ
7
07
-
3E0H
コプロセッサエラートラップ
8
08
-
3DCH
000FFFDCH
-
INTE 命令
9
09
-
3D8H
000FFFD8H
-
命令ブレーク例外
10
0A
-
3D4H
000FFFD4H
-
オペランドブレークトラップ
11
0B
-
3D0H
000FFFD0H
-
ステップトレーストラップ
12
0C
-
3CCH
000FFFCCH
-
NMI 要求 (tool)
13
0D
-
3C8H
000FFFC8H
-
未定義命令例外
14
0E
-
3C4H
000FFFC4H
-
NMI 要求
15
0F
FH 固定
3C0H
000FFFC0H
-
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
付録
付録 B 割込みベクタ
MB91402/403 シリーズ
表 B-1 割込みベクタテーブル (2 / 3)
割込み番号
割込み要因
10 進 16 進
割込み
レベル
オフ TBR デフォルト リソース
セット
番号
のアドレス
Ethernet MAC IF
16
10
ICR00
3BCH
000FFFBCH
4
認証マクロ処理部
17
11
ICR01
3B8H
000FFFB8H
5
予約
18
12
ICR02
3B4H
000FFFB4H
8
External IF
19
13
ICR03
3B0H
000FFFB0H
9
2
I C IF
20
14
ICR04
3ACH
000FFFACH
-
GPIO
21
15
ICR05
3A8H
000FFFA8H
-
外部割込み 6
22
16
ICR06
3A4H
000FFFA4H
-
外部割込み 7
23
17
ICR07
3A0H
000FFFA0H
-
リロードタイマ 0
24
18
ICR08
39CH
000FFF9CH
6
リロードタイマ 1
25
19
ICR09
398H
000FFF98H
7
リロードタイマ 2
26
1A
ICR10
394H
000FFF94H
-
UART0( 受信完了 )
27
1B
ICR11
390H
000FFF90H
0
UART1( 受信完了 )
28
1C
ICR12
38CH
000FFF8CH
1
UART0( 送信完了 )
29
1D
ICR13
388H
000FFF88H
2
UART1( 送信完了 )
30
1E
ICR14
384H
000FFF84H
3
DMAC0( 終了 , エラー )
Ethernet MAC IF
31
1F
ICR15
380H
000FFF80H
-
DMAC1( 終了 , エラー ) External IF
32
20
ICR16
37CH
000FFF7CH
-
DMAC2( 終了 , エラー )
33
21
ICR17
378H
000FFF78H
-
DMAC3( 終了 , エラー )
34
22
ICR18
374H
000FFF74H
-
DMAC4( 終了 , エラー )
35
23
ICR19
370H
000FFF70H
-
システム予約
36
24
ICR20
36CH
000FFF6CH
-
システム予約
37
25
ICR21
368H
000FFF68H
-
システム予約
38
26
ICR22
364H
000FFF64H
-
システム予約
39
27
ICR23
360H
000FFF60H
-
システム予約
40
28
ICR24
35CH
000FFF5CH
-
システム予約
41
29
ICR25
358H
000FFF58H
-
システム予約
42
2A
ICR26
354H
000FFF54H
-
システム予約
43
2B
ICR27
350H
000FFF50H
-
システム予約
44
2C
ICR28
34CH
000FFF4CH
-
U-TIMER0
45
2D
ICR29
348H
000FFF48H
-
U-TIMER1
46
2E
ICR30
344H
000FFF44H
-
タイムベースタイマオーバフロー
47
2F
ICR31
340H
000FFF40H
-
システム予約
48
30
ICR32
33CH
000FFF3CH
-
システム予約
49
31
ICR33
338H
000FFF38H
-
システム予約
50
32
ICR34
334H
000FFF34H
-
システム予約
51
33
ICR35
330H
000FFF30H
-
システム予約
52
34
ICR36
32CH
000FFF2CH
-
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
523
付録
付録 B 割込みベクタ
MB91402/403 シリーズ
表 B-1 割込みベクタテーブル (3 / 3)
割込み番号
割込み要因
10 進 16 進
割込み
レベル
オフ TBR デフォルト リソース
セット
番号
のアドレス
システム予約
53
35
ICR37
328H
000FFF28H
-
システム予約
54
36
ICR38
324H
000FFF24H
-
システム予約
55
37
ICR39
320H
000FFF20H
-
システム予約
56
38
ICR40
31CH
000FFF1CH
-
システム予約
57
39
ICR41
318H
000FFF18H
-
システム予約
58
3A
ICR42
314H
000FFF14H
-
システム予約
59
3B
ICR43
310H
000FFF10H
-
システム予約
60
3C
ICR44
30CH
000FFF0CH
-
システム予約
61
3D
ICR45
308H
000FFF08H
-
システム予約
62
3E
ICR46
304H
000FFF04H
-
遅延割込み要因ビット
63
3F
ICR47
300H
000FFF00H
-
システム予約 (REALOS にて使用 )
64
40
-
2FCH
000FFEFCH
-
システム予約 (REALOS にて使用 )
65
41
-
2F8H
000FFEF8H
-
システム予約
66
42
-
2F4H
000FFEF4H
-
システム予約
67
43
-
2F0H
000FFEF0H
-
システム予約
68
44
-
2ECH
000FFEECH
-
システム予約
69
45
-
2E8H
000FFEE8H
-
システム予約
70
46
-
2E4H
000FFEE4H
-
システム予約
71
47
-
2E0H
000FFEE0H
-
システム予約
72
48
-
2DCH
000FFEDCH
-
システム予約
73
49
-
2D8H
000FFED8H
-
システム予約
74
4A
-
2D4H
000FFED4H
-
システム予約
75
4B
-
2D0H
000FFED0H
-
システム予約
76
4C
-
2CCH
000FFECCH
-
システム予約
77
4D
-
2C8H
000FFEC8H
-
システム予約
78
4E
-
2C4H
000FFEC4H
-
システム予約
79
4F
-
2C0H
000FFEC0H
-
50
∼
FF
2BCH
000FFEBCH
INT 命令で使用
80
∼
255
∼
000H
∼
000FFC00H
524
-
FUJITSU MICROELECTRONICS LIMITED
-
CM71-10131-1
付録
付録 C 各 CPU ステートにおける端子状態
MB91402/403 シリーズ
付録 C
各 CPU ステートにおける端子状態
端子の状態に対する語句には以下の意味があります。
①無効
入力をサンプリングしない状態です。
②有効
入力をサンプリングして有効な値として使用します。
③直前状態保持
本モードになる直前に出力していた状態をそのまま出力していることを意味しま
す。
表 C-1 各 CPU ステートにおける端子状態 (1 / 2)
ストップ時
CM71-10131-1
INIT
端子名
スリープ時
D31 ∼ D16
入力状態 : 無効
←
←
A22 ∼ A0
直前状態保持
←
"L"
RDY
無効
←
←
RD
"H"
←
←
WR1, WR0
"H"
←
←
MCLKE
直前状態保持
←
"H"
SRAS
"H"
←
←
SCAS
"H"
←
←
WE
"H"
←
←
MCLKO
直前状態保持
←
"L"
CS7, CS6
"H"
←
←
INT7, INT6
有効
←
無効
SIN1, SIN0
SIN1, SIN0
無効
←
SOUT1, SOUT0
SOUT1, SOUT0
直前状態保
持
"H"
SCK1, SCK0
SCK1, SCK0
直前状態保
持
無効
TXCLK
無効
←
←
TXD3 ∼ TXD0
直前状態保持
←
"L"
TXEN
直前状態保持
←
"L"
RXCLK
無効
←
←
RXER
無効
←
←
RXD3 ∼ RXD0
無効
←
←
RXDV
無効
←
←
RXCRS
無効
←
←
HIZ=0*
FUJITSU MICROELECTRONICS LIMITED
備考
525
付録
付録 C 各 CPU ステートにおける端子状態
MB91402/403 シリーズ
表 C-1 各 CPU ステートにおける端子状態 (2 / 2)
ストップ時
INIT
端子名
スリープ時
COL
無効
←
←
MDCLK
直前状態保持
←
"L"
MDIO
直前状態保持
←
無効
MIFCS/PB21
無効 / 直前状態保持
←
無効
MIFA/PB20
無効 / 直前状態保持
←
無効
MIFRD/PB19
無効 / 直前状態保持
←
無効
MIFWR/PB18
無効 / 直前状態保持
←
無効
MIFDRQR/PB17
直前状態保持
←
"H"
MIFDRQT/PB16
直前状態保持
←
"H"
MIFD[15:0]/
PB[15:0]
直前状態保持
←
無効
PA3 ∼ PA0
直前状態保持
←
無効
SDA
直前状態保持
←
無効
SCL
直前状態保持
←
無効
HIZ=0*
備考
*: ストップモードにおける HIZ=1 の設定は禁止です。
526
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
付録 D
付録
付録 D リトルエンディアン領域を使用する際の注意事項
リトルエンディアン領域を使用する際の注意事項
リトルエンディアン領域を使用する際の注意事項を以下の項目ごとに説明します。
• C コンパイラ
• アセンブラ
• リンカ
• デバッガ
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
527
付録
付録 D リトルエンディアン領域を使用する際の注意事項
D.1
MB91402/403 シリーズ
C コンパイラ (fcc911)
C 言語でプログラミングをするにあたって , リトルエンディアン領域に対して次のよ
うな操作を行ったときには動作を保証できませんのでご注意ください。
• 初期値付き変数の配置
• 構造体代入
• 文字列操作関数を使用した文字型配列以外の操作
• 文字列操作関数使用時の -K lib オプションの指定
• double 型 , long double 型の使用
• スタックのリトルエンディアン領域への配置
■ 初期値付き変数の配置
リトルエンディアン領域に , 初期値付きの変数を配置することはできません。コンパイ
ラには , リトルエンディアンの初期値を生成する機能がありません。リトルエンディア
ン領域に変数を配置することはできますが , 初期値を設定することはできません。プロ
グラムの先頭で , 初期値を設定する処理を行ってください。
[ 例 ] リトルエンディアン領域の変数 little_data に初期値を設定する場合
extern int little_data;
void little_init(void) {
little_data =初期値 ;
}
void main(void) {
little_init();
...
}
528
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
付録
付録 D リトルエンディアン領域を使用する際の注意事項
MB91402/403 シリーズ
■ 構造体代入
構造体どうしの代入を行うとき , コンパイラは最適な転送方法を選択してバイト , ハー
フワード , ワードごとの転送を行います。このため , 通常の領域に割り当てられた構造
体変数とリトルエンディアンの領域に割り当てられた構造体変数の間で構造体代入を
行うと正しい結果が得られません。構造体のメンバをそれぞれ代入してください。
[ 例 ] リトルエンディアン領域の構造体変数 little_st に構造体を代入する場合
struct tag { char c; int i; } normal_st;
extern struct tag little_st;
#define
STRMOVE(DEST,SRC) DEST.c=SRC.c;DEST.i=SRC.i;
void main(void) {
STRMOVE(little_st,normal_st);
}
また , 構造体のメンバの配置はコンパイラごとに違うので , ほかのコンパイラでコンパ
イルされた構造体とは , メンバの配置が違っていることが考えられます。このようなと
きには , 前述の方法においても正しい結果が得られません。構造体のメンバの配置が一
致しないときは , リトルエンディアン領域に構造体変数を配置しないでください。
■ 文字列操作関数を使った文字型配列以外の操作
標準ライブラリとして用意されている文字列操作関数はバイト単位での処理を行いま
す。このため , リトルエンディアン領域に配置された char, unsigned char, signed char 型
以外の型がある領域に対し , 文字列操作関数を使った処理を行うと , 正しい結果が得ら
れません。このような処理を行わないでください。
[ 不具合例 ] memcpy でのワードデータの転送
int big = 0x01020304;
extern int little;
/* ビッグエンディアン領域
*/
/* リトルエンディアン領域
*/
memcpy(&little,&big,4); /* memcpy による転送
*/
上記の実行結果は
( ビッグエンディアン領域 )
01
02
03
04
( リトルエンディアン領域 )
→ memcpy →
01
02
03
04
03
02
01
となり , ワードデータの転送結果としては誤りになる。
( 正しい結果 )
CM71-10131-1
04
FUJITSU MICROELECTRONICS LIMITED
529
付録
付録 D リトルエンディアン領域を使用する際の注意事項
MB91402/403 シリーズ
■ 文字列操作関数使用時の -K lib オプションの指定
-K lib オプションを指定すると , コンパイラはいくつかの文字列操作関数に対してイン
ライン展開を行います。このとき , 最適な処理を選択するためにハーフワードまたは
ワードごとの処理に変更される場合があります。このため , リトルエンディアン領域に
対する処理が正しく実行されません。リトルエンディアン領域に対して文字列操作関
数を使った処理を行っているときは , -K lib オプションを指定しないでください。-K lib
オプションを包含する -O 4 オプションや -K speed オプションも同様に指定しないで
ください。
■ double 型 , long double 型の利用
double 型および long double 型へのアクセスは , 上位 1 ワード , 下位 1 ワードをそれぞれ
アクセスする方法で行われます。このため , リトルエンディアン領域に配置された
double 型 , long double 型変数に対するアクセスは , 正しい結果が得られません。リトル
エンディアン領域に割り当てられた同一型の変数どうしの代入は可能ですが , 最適化
の結果 , これらの代入が定数の代入に置き換えられるときもあります。double 型および
long double 型変数をリトルエンディアン領域に配置しないでください。
[ 不具合例 ] double 型データの転送
double big = 1.0;
/* ビッグエンディアン領域
*/
extern int little;
/* リトルエンディアン領域
*/
little = big;
/* double 型データの転送
*/
上記の実行結果は
( ビッグエンディアン領域 )
3f
f0
00
00
00
00
00
( リトルエンディアン領域 )
00
→
00
00
f0
3f
00
00
00
00
00
00
00
f0
3f
となり , double 型データの転送結果としては誤りになる。
( 正しい結果 ) 00
00
00
■ スタックのリトルエンディアン領域への配置
リトルエンディアン領域にスタックの一部あるいは全部が配置された場合には動作を
保証しません。
530
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
D.2
付録
付録 D リトルエンディアン領域を使用する際の注意事項
アセンブラ (fasm911)
FR のアセンブラ言語でプログラミングをするにあたって , リトルエンディアン領域
に関して注意が必要な項目を以下に示します。
■ セクションについて
リトルエンディアン領域は , 主にリトルエンディアン系 CPU とデータ交換を行うこと
を目的としています。そのため , リトルエンディアン領域を初期値のないデータセク
ションとして定義してください。もし , リトルエンディアン領域にコードやスタック ,
初期値付きデータセクションなどを指定した場合には , MB91402/403 シリーズでのア
クセス動作を保証できなくなります。
[例]
/* 正しいリトルエンディアン領域のセクション定義 */
.SECTION Little_Area, DATA, ALIGN=4
Little_Word:
.RES.W
1
Little_Half:
.RES.H
1
Little_Byte:
.RES.B
CM71-10131-1
1
FUJITSU MICROELECTRONICS LIMITED
531
付録
付録 D リトルエンディアン領域を使用する際の注意事項
MB91402/403 シリーズ
■ データのアクセスについて
リトルエンディアン領域へデータアクセスを行う場合,エンディアンを意識せずにコー
ディングできます。ただし , リトルエンディアン領域のデータへのアクセスは , 必ず
データサイズと同じサイズでアクセスしてください。
[例]
LDI
#0x01020304, r0
LDI
#Little_Word, r1
LDI
#0x0102, r2
LDI
#Little_Half, r3
LDI
#0x01, r4
LDI
#Little_Byte, r5
/* 32 ビットデータは , ST 命令 ( や LD 命令など ) でアクセスします。*/
ST
r0, @r1
/* 16 ビットデータは , STH 命令 ( や LDH 命令など ) でアクセスします。*/
STH
/*
r2, @r3
8 ビットデータは , STB 命令 ( や LDB 命令など ) でアクセスします。*/
STB
r4, @r5
本マクロでデータサイズと異なるサイズでアクセスした場合には,その値の保証はでき
ません。例えば , 連続する 2 つの 16 ビットデータを 32 ビットアクセス命令を使って一
度にアクセスした場合にはデータの値を保証できません。
532
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
D.3
付録
付録 D リトルエンディアン領域を使用する際の注意事項
リンカ (flnk911)
リトルエンディアン領域を使用するプログラムの作成において , リンク時のセク
ション配置で注意が必要な項目を以下に示します。
■ セクション種別の制限
リトルエンディアン領域には , 初期値なしデータセクションのみを配置することがで
きます。リトルエンディアン領域に初期値付きデータセクション , スタックセクション
およびコードセクションを配置した場合,リンカの内部ではビッグエンディアンでアド
レス解決などの演算処理を行っていますので , プログラム動作を保証できなくなりま
す。
■ エラーの未検出
リンカは , リトルエンディアン領域の認識をしていませんので , 上記制限事項に違反し
た配置が行われても , エラーメッセージを通知することはありません。リトルエンディ
アン領域に配置したセクションの内容を十分にご確認のうえ使用してください。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
533
付録
付録 D リトルエンディアン領域を使用する際の注意事項
D.4
MB91402/403 シリーズ
デバッガ (sim911, eml911, mon911)
デバッガを通してリトルエンディアン領域にアクセスする際の注意を以下に示しま
す。
■ シミュレータデバッガ
リトルエンディアン領域を示すようなメモリ空間指定コマンドはありません。した
がって , メモリ操作コマンドやメモリを操作する命令実行は , ビッグエンディアンとし
て扱われます。
■ エミュレータデバッガ , モニタデバッガ
以下のコマンドでリトルエンディアン領域をアクセスした場合には,正常な値として扱
われませんので注意してください。
• set memory/show memory/enter/examine/set watch コマンド
→ 浮動小数点 (single/double) のデータを扱った場合 , 指定した値を設定・表示とも
にできません。
• search memory コマンド
→ ハーフワード , ワードのデータを検索した場合 , 指定した値で検索が行われませ
ん。
• 行 / 逆アセンブル ( ソースウィンドウの逆アセンブル表示を含む )
→ 正常な命令コードを設定・表示ともにできません ( リトルエンディアン領域には ,
命令コードを配置しないようにしてください )。
• call/show call コマンド
→ スタック領域がリトルエンディアン領域に置かれた場合には正常に動作しませ
ん(リトルエンディアン領域にスタック領域を配置しないようにしてください)。
534
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
付録 E
付録
付録 E 命令一覧
命令一覧
FR ファミリ CPU の命令一覧の記号の意味と命令一覧表を示します。
E.1 命令一覧表の記号の意味
E.2 命令一覧表
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
535
付録
付録 E 命令一覧
E.1
MB91402/403 シリーズ
命令一覧表の記号の意味
命令一覧表に用いている記号の意味を説明します。
■ 命令一覧表に用いている記号の意味
● ニーモニック欄および動作欄
i4
4 ビット即値を示し , ゼロ拡張の場合は 0 ∼ 15, マイナス拡張の場合は -16 ∼ -1 の
指定になります。
i8
符号なし 8 ビット即値を示し , 0 ∼ 255 まで指定できます。
i20
符号なし 20 ビット即値を示し , 00000H ∼ FFFFFH まで指定できます。
i32
符号なし 32 ビット即値を示し , 00000000H ∼ FFFFFFFFH まで指定できます。
s8
符号付き 8 ビット即値を示し , -128 ∼ 127 まで指定できます。
s10
符号付き 10 ビット即値を示し , -512 ∼ 508 まで指定できます (4 の倍数 )。
u4
符号なし 4 ビット即値を示し , 0 ∼ 15 まで指定できます。
u8
符号なし 8 ビット即値を示し , 0 ∼ 255 まで指定できます。
u10
符号なし 10 ビット即値を示し , 0 ∼ 1020 まで指定できます (4 の倍数 )。
udisp6
符号なし 6 ビットアドレス値を示し , 0 ∼ 60 まで指定できます (4 の倍数 )。
disp8
符号付き 8 ビットアドレス値を示し , -0x80 ∼ 0x7F まで指定できます。
disp9
符号付き 9 ビットアドレス値を示し , -0x100 ∼ 0xFE まで指定できます (2 の倍数 )。
disp10
符号付き 10ビットアドレス値を示し, -0x200 ∼ 0x1FC まで指定できます (4の倍数)。
dir8
符号なし 8 ビットアドレス値を示し , 0 ∼ 0xFF まで指定できます。
dir9
符号なし 9 ビットアドレス値を示し , 0 ∼ 0x1FE まで指定できます (2 の倍数 )。
dir10
符号なし 10 ビットアドレス値を示し , 0 ∼ 0x3FC まで指定できます (4 の倍数 )。
536
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
付録
付録 E 命令一覧
MB91402/403 シリーズ
label9
符号付き 9 ビット分岐アドレスを示し , PC の値に対して -0x100 ∼ 0xFE まで指定で
きます (2 の倍数 )。
label12
符号付き 12 ビット分岐アドレスを示し , PC の値に対して -0x800 ∼ 0x7FE まで指定
できます (2 の倍数 )。
Ri, Rj
汎用レジスタ (R00 ∼ R15) を示します。
Rs
専用レジスタ (TBR, RP, USP, SSP, MDH, MDL) を示します。
● 動作欄
extu( )
ゼロ拡張操作を示し , 上位ビットの欠けている部分に "0" を補います。
extn( )
マイナス拡張操作を示し , 上位ビットの欠けている部分に "1" を補います。
exts( )
符号拡張操作を示し , () のデータの MSB が "0" ならばゼロ拡張操作をし , MSB が
"1" ならばマイナス拡張操作をします。
()
間接アドレッシングを示します。( ) 内のレジスタまたは式の示すアドレスのメモリ
読出し・書込み値です。
{}
演算の優先順位を明示するための括弧になります。( ) を間接アドレス指定に使用し
ているため , { } を使用します。
● 型欄
A ∼ F は図 E-1 の TYPE-A ∼ TYPE-F に対応します。
図 E-1 命令フォーマット
MSB
16ビット
4ビット
8ビット
OP
TYPE-A
TYPE-B
Ri
Rj
8ビット
4ビット
OP
i8/o8
Ri
8ビット
4ビット
4ビット
OP
u4/m4/i4
Ri
8ビット
8ビット
OP
TYPE-D
TYPE-E
CM71-10131-1
4ビット
4ビット
TYPE-C
TYPE-F
LSB
u8/rel8/dir/rlist
12ビット
4ビット
OP
Ri/Rs
5ビット
11ビット
OP
rel11
FUJITSU MICROELECTRONICS LIMITED
537
付録
付録 E 命令一覧
MB91402/403 シリーズ
● OP 欄
オペコードの表記は型欄の内容により , 以下のように分かれます。
型欄が A, C, D
OP の 8 ビットを 16 進数 2 桁で示します。
型欄が B
OP の上位 4 ビットを上位 , 下位は "0" とした 16 進数 2 桁で示します。
型欄が E
OP の上位 8 ビットを上位 2 桁 , SUB-OP の 4 ビットを次の 1 桁 , 残りを "0" とした
16 進数 4 桁で示します。
型欄が F
OP の上位 5 ビットを上位 , 不足分は "0" を詰めた 16 進数 2 桁で示します。
● CYC 欄
数値はマシンサイクルで , a ∼ d の最小は 1 サイクルです。
a
メモリアクセスサイクルで , レディ機能により延びる可能性があります。
b
メモリアクセスサイクルで , レディ機能により延びる可能性があります。ただし ,
LD動作の対象となるレジスタを直後の命令が参照する場合には,インターロックが
かかり , 実行サイクル数が 1 サイクル増えて 2 サイクルになります。
c
直後の命令が R15, SSP または USP に対して読出しや書込みを行う命令のとき , ま
たは命令フォーマットが TYPE-A の命令のときにインターロックがかかり実行サイ
クル数が 1 サイクル増えて 2 サイクルになります。
d
直後の命令が MDH/MDL を参照するときにインターロックがかかり , 実行サイクル
数が 1 サイクル増えて 2 サイクルになります。ただし , DIV1 命令の直後に , 専用レ
ジスタ (TBR, RP, USP, SSP, MDH, MDL) を ST Rs,@-R15 命令でアクセスすると , 常
にインターロックがかかり , 実行サイクル数が 1 サイクル増えて 2 サイクルになり
ます。
● FLAG 欄
C
操作の結果で変化します。
変化しません。
0
"0" になります。
1
"1" になります。
538
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
MB91402/403 シリーズ
E.2
付録
付録 E 命令一覧
命令一覧表
FR ファミリ CPU の命令数は全部で 165 あり , 以下の 16 種類に分類しています。
この命令を表 E.2-1 ∼表 E.2-14 に示します。
• 加減算命令 (10 命令 )
• 比較演算命令 (3 命令 )
• 論理演算命令 (12 命令 )
• ビット操作演算命令 (8 命令 )
• 乗除算命令 (10 命令 )
• シフト演算命令 (9 命令 )
• 即値データ転送命令 (3 命令 )
• メモリロード命令 (13 命令 )
• メモリストア命令 (13 命令 )
• レジスタ間転送命令 / 専用レジスタ転送命令 (5 命令 )
• 遅延なし分岐命令 (23 命令 )
• 遅延分岐命令 (20 命令 )
• ダイレクトアドレス指定命令 (14 命令 )
• リソース命令 (2 命令 )
• コプロセッサ命令 (4 命令 )
• その他の命令 (16 命令 )
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
539
付録
付録 E 命令一覧
MB91402/403 シリーズ
■ 命令一覧表
表 E.2-1 加減算命令 (10 命令 )
型
OP
CYC
FLAG
NZVC
ADD Rj, Ri
ADD #i4, Ri
ADD2 #i4, Ri
A
C
C
A6
A4
A5
1
1
1
CCCC
CCCC
CCCC
Ri+Rj → Ri
Ri+extu (i4) → Ri
Ri+extn (i4) → Ri
ゼロ拡張
マイナス拡張
ADD CRj, Ri
A
A7
1
CCCC
Ri+Rj+c → Ri
キャリ付き加算
ADDN Rj, Ri
ADDN #i4, Ri
ADDN2 #i4, Ri
A
C
C
A2
A0
A1
1
1
1
----------
Ri+Rj → Ri
Ri+extu (i4) → Ri
Ri+extn (i4) → Ri
ゼロ拡張
マイナス拡張
SUB Rj, Ri
A
AC
1
CCCC
Ri-Rj → Ri
SUB CRj, Ri
A
AD
1
CCCC
Ri-Rj-c → Ri
SUBN Rj, Ri
A
AE
1
----
型
OP
CYC
FLAG
NZVC
A
C
C
AA
A8
A9
1
1
1
CCCC
CCCC
CCCC
Ri-Rj
Ri-extu (i4)
Ri-extn (i4)
型
OP
CYC
FLAG
NZVC
動作
AND Rj, Ri
AND Rj, @Ri
ANDH Rj, @Ri
ANDB Rj, @Ri
A
A
A
A
82
84
85
86
1
1+2a
1+2a
1+2a
CC-CC-CC-CC--
Ri &=Rj
(Ri) &=Rj
(Ri) &=Rj
(Ri) &=Rj
−
○
○
○
ワード
ワード
ハーフワード
バイト
OR Rj, Ri
OR Rj, @Ri
ORH Rj, @Ri
ORB Rj, @Ri
A
A
A
A
92
94
95
96
1
1+2a
1+2a
1+2a
CC-CC-CC-CC--
Ri|=Rj
(Ri)|=Rj
(Ri)|=Rj
(Ri)|=Rj
−
○
○
○
ワード
ワード
ハーフワード
バイト
EOR Rj, Ri
EOR Rj, @Ri
EORH Rj, @Ri
EORB Rj, @Ri
A
A
A
A
9A
9C
9D
9E
1
1+2a
1+2a
1+2a
CC-CC-CC-CC--
Ri^=Rj
(Ri)^=Rj
(Ri)^=Rj
(Ri)^=Rj
−
○
○
○
ワード
ワード
ハーフワード
バイト
ニーモニック
動作
備考
キャリ付き減算
Ri-Rj → Ri
表 E.2-2 比較演算命令 (3 命令 )
ニーモニック
CMP Rj, Ri
CMP #i4, Ri
CMP2 #i4, Ri
動作
備考
ゼロ拡張
マイナス拡張
表 E.2-3 論理演算命令 (12 命令 )
ニーモニック
540
FUJITSU MICROELECTRONICS LIMITED
RMW
備考
CM71-10131-1
付録
付録 E 命令一覧
MB91402/403 シリーズ
表 E.2-4 ビット操作演算命令 (8 命令 )
FLAG
NZVC
型 OP CYC
ニーモニック
80
81
1+2a
1+2a
-------
RMW
備考
(Ri) &= {F0 H+u4}
○
下位4ビットを操作
(Ri) &={ {u4 << 4} +F H}
○
上位4ビットを操作
動作
BANDL #u4, @Ri (u4:0 ∼ 0F H)
BANDH #u4, @Ri (u4:0 ∼ 0F H)
C
C
BORL #u4, @Ri (u4:0 ∼ 0F H)
BORH #u4, @Ri (u4:0 ∼ 0F H)
C
C
90
91
1+2a
1+2a
-------
(Ri)|=u4
(Ri)|= {u4 << 4}
○
○
下位4ビットを操作
上位4ビットを操作
BEORL #u4, @Ri (u4:0 ∼ 0F H)
BEORH #u4, @Ri (u4:0 ∼ 0F H)
C
C
98
99
1+2a
1+2a
-------
(Ri)^=u4
(Ri)^ {u4 << 4}
○
○
下位4ビットを操作
上位4ビットを操作
BTSTL #u4, @Ri (u4:0 ∼ 0F H)
BTSTH #u4, @Ri (u4:0 ∼ 0F H)
C
C
88
89
2+a
2+a
−
−
下位4ビットテスト
上位4ビットテスト
0C-- (Ri) &u4
CC-- (Ri) & {u4 << 4}
表 E.2-5 乗除算命令 (10 命令 )
型
OP
CYC
FLAG
NZVC
動作
MUL Rj, Ri
MULU Rj, Ri
MULH Rj, Ri
MULUH Rj, Ri
A
A
A
A
AF
AB
BF
BB
5
5
3
3
CCCCCCCC-CC--
Rj × Ri → MDH, MDL
Rj × Ri → MDH, MDL
Rj × Ri → MDL
Rj × Ri → MDL
DIV0S Ri
DIV0U Ri
DIV1 Ri
DIV2 Ri
DIV3
DIV4S
E
E
E
E
E
E
97-4
97-5
97-6
97-7
9F-6
9F-7
1
1
d
1
1
1
-------C-C
-C-C
-------
ニーモニック
備考
32 × 32 ビット =64 ビット
符号なし
16 × 16 ビット =32 ビット
符号なし
ステップ演算
32/32 ビット =32 ビット
表 E.2-6 シフト演算命令 (9 命令 )
型
OP
CYC
FLAG
NZVC
LSL Rj, Ri
LSL #u4, Ri
LSL2 #u4, Ri
A
C
C
B6
B4
B5
1
1
1
CC-C
CC-C
CC-C
Ri << Rj → Ri
Ri << u4 → Ri
Ri << {u4+16} → Ri
論理シフト
LSR Rj, Ri
LSR #u4, Ri
LSR2 #u4, Ri
A
C
C
B2
B0
B1
1
1
1
CC-C
CC-C
CC-C
Ri >> Rj → Ri
Ri >> u4 → Ri
Ri >> {u4+16} → Ri
論理シフト
ASR Rj, Ri
ASR #u4, Ri
ASR2 #u4, Ri
A
C
C
BA
B8
B9
1
1
1
CC-C
CC-C
CC-C
Ri >> Rj → Ri
Ri >> u4 → Ri
Ri >> {u4+16} → Ri
算術シフト
ニーモニック
CM71-10131-1
動作
FUJITSU MICROELECTRONICS LIMITED
備考
541
付録
付録 E 命令一覧
MB91402/403 シリーズ
表 E.2-7 即値データ転送命令 ( 即値セット /16 ビット /32 ビット即値転送命令 )(3 命令 )
ニーモニック
LDI:32 #i32, Ri
LDI:20 #i20, Ri
LDI:8 #i8, Ri
型
OP
CYC
FLAG
NZVC
E
C
B
9F-8
9B
C0
3
2
1
----------
動作
備考
i32 → Ri
i20 → Ri
i8 → Ri
上位 12 ビットはゼロ
上位 24 ビットはゼロ
表 E.2-8 メモリロード命令 (13 命令 )
型
OP
CYC
FLAG
NZVC
LD @Rj, Ri
LD @(R13, Rj), Ri
LD @(R14, disp10), Ri
LD @(R15, udisp6), Ri
LD @R15+, Ri
LD @R15+, Rs
LD @R15+, PS
A
A
B
C
E
E
E
04
00
20
03
07-0
07-8
07-9
b
b
b
b
b
b
1+a+b
------------------CCCC
LDUH @Rj, Ri
LDUH @(R13, Rj), Ri
LDUH @(R14, disp9), Ri
A
A
B
05
01
40
b
b
b
----------
(Rj) → Ri
(R13+Rj) → Ri
(R14+disp9) → Rj
ゼロ拡張
ゼロ拡張
ゼロ拡張
LDUB @Rj, Ri
LDUB @(R13, Rj), Ri
LDUB @(R14, disp8), Ri
A
A
B
06
02
60
b
b
b
----------
(Rj) → Ri
(R13+Rj) → Ri
(R14+disp8) → Ri
ゼロ拡張
ゼロ拡張
ゼロ拡張
ニーモニック
動作
(Rj) → Ri
(R13+Rj) → Ri
(R14+disp10) → Ri
(R15+udisp6) → Ri
(R15) → Ri, R15+=4
(R15) → Rs, R15+=4
(R15) → PS, R15+=4
備考
Rs: 専用レジスタ
<注意事項>
命令フォーマット中の TYPE-B の o8 および TYPE-C の u4 フィールドと , アセンブラ記
述の disp8 ∼ disp10 の関係は以下のようになっています。
disp8 → o8=disp8
disp9 → o8=disp9 >>1
disp10 → o8=disp10 >>2
udisp6 → u4=udisp6 >>2
542
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
付録
付録 E 命令一覧
MB91402/403 シリーズ
表 E.2-9 メモリストア命令 (13 命令 )
型
OP
CYC
FLAG
NZVC
ST Ri, @Rj
ST Ri, @(R13, Rj)
ST Ri, @(R14, disp10)
ST Ri, @(R15, udisp6)
ST Ri, @-R15
ST Rs, @-R15
ST PS, @-R15
A
A
B
C
E
E
E
14
10
30
13
17-0
17-8
17-9
a
a
a
a
a
a
a
----------------------
Ri → (Rj)
Ri → (R13+Rj)
Ri → (R14+disp10)
Ri → (R15+udisp6)
R15-=4, Ri → (R15)
R15-=4, Rs → (R15)
R15-=4, PS → (R15)
ワード
ワード
ワード
STH Ri, @Rj
STH Ri, @(R13, Rj)
STH Ri, @(R14, disp9)
A
A
B
15
11
50
a
a
a
----------
Ri → (Rj)
Ri → (R13+Rj)
Ri → (R14+disp9)
ハーフワード
ハーフワード
ハーフワード
STB Ri, @Rj
STB Ri, @(R13, Rj)
STB Ri, @(R14, disp8)
A
A
B
16
12
70
a
a
a
----------
Ri → (Rj)
Ri → (R13+Rj)
Ri → (R14+disp8)
バイト
バイト
バイト
ニーモニック
動作
備考
Rs: 専用レジスタ
<注意事項>
命令フォーマット中の TYPE-B の o8 および TYPE-C の u4 フィールドと , アセンブラ記
述の disp8 ∼ disp10 の関係は以下のようになっています。
disp8 → o8=disp8
disp9 → o8=disp9 >>1
disp10 → o8=disp10 >>2
udisp6 → u4=udisp6 >>2
表 E.2-10 レジスタ間転送命令 / 専用レジスタ転送命令 (5 命令 )
ニーモニック
MOV Rj, Ri
MOV Rs, Ri
MOV Ri, Rs
MOV PS, Ri
MOV Ri, PS
CM71-10131-1
型
OP
CYC
FLAG
NZVC
A
A
A
E
E
8B
B7
B3
17-1
07-1
1
1
1
1
c
------------CCCC
動作
Rj → Ri
Rs → Ri
Ri → Rs
PS → Ri
Ri → PS
FUJITSU MICROELECTRONICS LIMITED
備考
汎用レジスタ間転送
Rs: 専用レジスタ
Rs: 専用レジスタ
543
付録
付録 E 命令一覧
MB91402/403 シリーズ
表 E.2-11 遅延なし分岐命令 (23 命令 )
型
OP
CYC
FLAG
NZVC
JMP @Ri
E
97-0
2
----
Ri → PC
CALL label12
CALL @Ri
F
E
D0
97-1
2
2
-------
PC+2 → RP, PC+2+rel11 × 2 → PC
PC+2 → RP, Ri → PC
RET
E
97-2
2
----
RP → PC
INT #u8
D
1F
3+3a
----
SSP-=4, PS→ (SSP) , SSP-=4, PC+2→ (SSP) ,
0 → I フラグ , 0 → S フラグ ,
(TBR+3FC-u8 × 4) → PC
INTE
E
9F-3
3+3a
----
SSP-=4, PS→ (SSP) , SSP-=4, PC+2→ (SSP) ,
0 → S フラグ , 4 → ILM,
(TBR+3D8-u8 × 4) → PC
RETI
E
97-3
2+2a
CCCC
(R15) → PC, R15+=4, (R15) → PS, R15+=4
BNO label9
BRA label9
BEQ label9
BNE label9
BC label9
BNC label9
BN label9
BP label9
BV label9
BNV label9
BLT label9
BGE label9
BLE label9
BGT label9
BLS label9
BHI label9
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
E1
E0
E2
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EE
EF
1
2
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
2/1
-------------------------------------------------
非分岐
PC+2+rel8 × 2 → PC
PC+2+rel8 × 2 → PC if Z==1
PC+2+rel8 × 2 → PC if Z==0
PC+2+rel8 × 2 → PC if C==1
PC+2+rel8 × 2 → PC if C==0
PC+2+rel8 × 2 → PC if N==1
PC+2+rel8 × 2 → PC if N==0
PC+2+rel8 × 2 → PC if V==1
PC+2+rel8 × 2 → PC if V==0
PC+2+rel8 × 2 → PC if V xor N==1
PC+2+rel8 × 2 → PC if V xor N==0
PC+2+rel8 × 2 → PC if (V xor N) or Z==1
PC+2+rel8 × 2 → PC if (V xor N) or Z==0
PC+2+rel8 × 2 → PC if C or Z==1
PC+2+rel8 × 2 → PC if C or Z==0
ニーモニック
動作
備考
リターン
<注意事項>
• 命令フォーマット中の TYPE-D の rel8 および TYPE-F の rel11 フィールドと , アセンブ
ラ記述の label9, label12 の関係は以下のようになっています。
label9 → rel8=(label9-PC-2)/2
label12 → rel11=(label12-PC-2)/2
• CYC 欄の "2/1" は , 分岐するときは 2, 分岐しないときは 1 を示します。
• RETI を実行するときは S フラグが "0" である必要があります。
544
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
付録
付録 E 命令一覧
MB91402/403 シリーズ
表 E.2-12 遅延分岐命令 (20 命令 )
型
OP
CYC
FLAG
NZVC
JMP:D @Ri
E
9F-0
1
----
Ri → PC
CALL:D label12
CALL:D @Ri
F
E
D8
9F-1
1
1
-------
PC+4 → RP, PC+2+rel11 × 2 → PC
PC+4 → RP, Ri → PC
RET:D
E
9F-2
1
----
RP → PC
BNO:D label9
BRA:D label9
BEQ:D label9
BNE:D label9
BC:D label9
BNC:D label9
BN:D label9
BP:D label9
BV:D label9
BNV:D label9
BLT:D label9
BGE:D label9
BLE:D label9
BGT:D label9
BLS:D label9
BHI:D label9
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
F1
F0
F2
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FD
FE
FF
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
-------------------------------------------------
非分岐
PC+2+rel8 × 2 → PC
PC+2+rel8 × 2 → PC if Z==1
PC+2+rel8 × 2 → PC if Z==0
PC+2+rel8 × 2 → PC if C==1
PC+2+rel8 × 2 → PC if C==0
PC+2+rel8 × 2 → PC if N==1
PC+2+rel8 × 2 → PC if N==0
PC+2+rel8 × 2 → PC if V==1
PC+2+rel8 × 2 → PC if V==0
PC+2+rel8 × 2 → PC if V xor N==1
PC+2+rel8 × 2 → PC if V xor N==0
PC+2+rel8 × 2 → PC if (V xor N) or Z==1
PC+2+rel8 × 2 → PC if (V xor N) or Z==0
PC+2+rel8 × 2 → PC if C or Z==1
PC+2+rel8 × 2 → PC if C or Z==0
ニーモニック
動作
備考
リターン
<注意事項>
• 命令フォーマット中の TYPE-D の rel8 および TYPE-F の rel11 フィールドと , アセンブ
ラ記述の label9, label12 の関係は以下のようになっています。
label9 → rel8=(label9-PC-2)/2
label12 → rel11=(label12-PC-2)/2
• 遅延分岐命令は必ず次の命令 ( 遅延スロット ) を実行してから分岐します。
• 遅延スロットに置くことができる命令は,以下の条件のいずれかに一致する必要があり
ます。
これ以外の命令を置くと , 置いた命令の定義動作以外の動作を行うことがあります。
- 分岐命令以外の , CYC 欄に 1 と記述された命令
- CYC 欄に a, b, c, d と記述された命令
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
545
付録
付録 E 命令一覧
MB91402/403 シリーズ
表 E.2-13 ダイレクトアドレス指定命令 (14 命令 )
型
OP
CYC
FLAG
NZVC
動作
DMOV @dir10, R13
DMOV R13, @dir10
DMOV @dir10, @R13+
DMOV @R13+, @dir10
DMOV @dir10, @-R15
DMOV @R15+, @dir10
D
D
D
D
D
D
08
18
0C
1C
0B
1B
b
a
2a
2a
2a
2a
-------------------
(dir10) → R13
R13 → (dir10)
(dir10) → (R13) , R13+=4
(R13) → (dir10) , R13+=4
R15-=4, (dir10) → (R15)
(R15) → (dir10) , R15+=4
ワード
ワード
ワード
ワード
ワード
ワード
DMOVH @dir9, R13
DMOVH R13, @dir9
DMOVH @dir9, @R13+
DMOVH @R13+, @dir9
D
D
D
D
09
19
0D
1D
b
a
2a
2a
-------------
(dir9) → R13
R13 → (dir9)
(dir9) → (R13) , R13+=2
(R13) → (dir9) , R13+=2
ハーフワード
ハーフワード
ハーフワード
ハーフワード
DMOVB @dir8, R13
DMOVB R13, @dir8
DMOVB @dir8, @R13+
DMOVB @R13+, @dir8
D
D
D
D
0A
1A
0E
1E
b
a
2a
2a
-------------
(dir8) → R13
R13 → (dir8)
(dir8) → (R13) , R13++
(R13) → (dir8) , R13++
バイト
バイト
バイト
バイト
ニーモニック
備考
<注意事項>
命令フォーマット中の TYPE-D の dir フィールドとアセンブラ記述の dir8 ∼ dir10 の関係
は以下のようになっています。
dir8 → dir=dir8
dir9 → dir=dir9 >>1
dir10 → dir=dir10 >>2
546
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
付録
付録 E 命令一覧
MB91402/403 シリーズ
表 E.2-14 その他の命令 (16 命令 )
ニーモニック
型
OP
CYC
FLAG
NZVC
NOP
E
9F-A
1
----
ANDCCR #u8
ORCCR #u8
D
D
83
93
c
c
STILM #u8
D
87
1
----
u8 → ILM
−
ILM 即値セット
ADDSP #s10
D
A3
1
----
R15+=s10
−
ADDSP 命令
EXTSB Ri
EXTUB Ri
EXTSH Ri
EXTUH Ri
E
E
E
E
97-8
97-9
97-A
97-B
1
1
1
1
-------------
符号拡張 8 → 32 ビット
ゼロ拡張 8 → 32 ビット
符号拡張 16 → 32 ビット
ゼロ拡張 16 → 32 ビット
−
−
−
−
LDM0 (reglist)
D
8C
注意事項
を参照
-------
−
ロードマルチ R0 ∼ R7
LDM1 (reglist)
D
8D
(R15) → reglist,
R15 インクリメント
(R15) → reglist,
R15 インクリメント
−
ロードマルチ R8 ∼ R15
STM0 (reglist)
D
8E
−
ストアマルチ R0 ∼ R7
STM1 (reglist)
D
8F
R15 ディクリメント ,
reglist → (R15)
R15 ディクリメント ,
reglist → (R15)
−
ストアマルチ R8 ∼ R15
ENTER #u10
D
0F
1+a
----
R14 → (R15-4) ,
R15-4 → R14,
R15-u10 → R15
−
関数の入口処理
LEAVE
E
9F-9
b
----
R14+4 → R15,
(R15-4) → R14
−
関数の出口処理
XCHB @Rj, Ri
A
8A
2a
----
Ri → TEMP
(Rj) → Ri
TEMP → (Rj)
○
セマフォ管理用
バイトデータ
注意事項
を参照
動作
RMW
何も変化しない
CCCC CCRandu8 → CCR
CCCC CCRoru8 → CCR
-------
備考
−
−
−
<注意事項>
• ADDSP 命令において , 命令フォーマット中の TYPE-D の s8 とアセンブラ記述の s10
の関係は以下のようになっています。
s10 → s8 = s10 >> 2
• ENTER 命令において , 命令フォーマット中の TYPE-D の u8 とアセンブラ記述の u10
の関係は以下のようになっています。
u10 → u8 = u10 >> 2
• LDM0(reglist), LDM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき ,
a × (n-1)+b+1 サイクルとなります。
• STM0(reglist), STM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき ,
a × n+1 サイクルとなります。
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
547
付録
付録 E 命令一覧
548
MB91402/403 シリーズ
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
索引
MB91402/403 シリーズ
索引
Numerics
A
0 検出
0 検出 ......................................................................256
0 検出用データレジスタ
0 検出用データレジスタ (BSD0) ........................254
16 ビット
16 ビットリロードタイマのレジスタ一覧 ........260
16 ビットタイマレジスタ
16 ビットタイマレジスタ (TMR0 ∼ TMR2)
..........................................................................264
16 ビットリロードレジスタ
16 ビットリロードレジスタ
(TMRLR0 ∼ TMRLR2) ..................................265
1 検出
1 検出 ......................................................................256
1 検出用データレジスタ
1 検出用データレジスタ (BSD1) ........................254
2 サイクル転送
2 サイクル転送時のデータの動き ......................340
ACR
領域構成レジスタ 0 ∼ 5,7 (ACR0 ∼ ACR5,ACR7)
の構成 .............................................................. 147
ADR
アドレスレジスタ (ADR) のビット構成 ........... 489
Area Wait Register
AWR (Area Wait Register) 設定例 .......................... 38
ASR
領域選択レジスタ (ASR0 ∼ ASR5,ASR7) の
ビット機能 ......................................................146
領域選択レジスタ 0 ∼ 5,7 (ASR0 ∼ ASR5,ASR7)
の構成 .............................................................. 145
AWR
AWR (Area Wait Register) 設定例 .......................... 38
領域ウェイトレジスタ (AWR0 ∼ AWR5,AWR7)
..........................................................................153
B
BC2R
バスコントロール 2 レジスタ (BC2R) の
ビット構成 ......................................................494
BCR
バスコントロールレジスタ (BCR) のビット構成
..........................................................................481
BMPR
DMA イネーブルレジスタ (BMPR12) の
ビット構成 ......................................................378
受信バッファポインタコントロールレジスタ
(BMPR14) のビット構成 ............................... 379
送信パケット数レジスタ (BMPR10) のビット構成
..........................................................................377
バッファメモリポートレジスタ (BMPR8) の
ビット構成 ......................................................376
BSD
0 検出用データレジスタ (BSD0) ........................ 254
1 検出用データレジスタ (BSD1) ........................ 254
BSDC
変化点検出用データレジスタ (BSDC) ..............255
BSR
バスステータスレジスタ (BSR) のビット構成
..........................................................................479
BSRR
検出結果レジスタ (BSRR) ..................................255
C
CCR
CCR (Condition Code Register ) ..............................66
クロックコントロールレジスタ (CCR) の
ビット構成 ......................................................487
CHER
キャッシュ取込み許可レジスタ (CHER) の構成
..........................................................................169
CM71-10131-1
FUJITSU MICROELECTRONICS LIMITED
549
索引
MB91402/403 シリーズ
CLKB
CPU クロック (CLKB) ..........................................104
CLKP
周辺クロック (CLKP) ...........................................104
CLKR
クロックソース制御レジスタ (CLKR) ..............115
Condition Code Register
CCR (Condition Code Register ) ..............................66
CPU
CPU ...........................................................................49
CPU クロック (CLKB) ..........................................104
CPU 制御 ................................................................327
CSER
チップセレクト領域許可レジスタ (CSER) の
ビット構成 ......................................................168
CSn
通常バスインタフェース (CSn 遅延設定 ) ........208
通常バスインタフェース (CSn → RD/WRn セット
アップおよび RD/WRn → CSn ホールド設定 )
..........................................................................209
CSR
拡張 CS レジスタ (CSR) のビット構成 .............491
CTBR
タイムベースカウンタクリアレジスタ (CTBR)
..........................................................................114
D
DAR
データレジスタ (DAR) のビット構成 ...............490
Delayed Interrupt Control Register
DICR (Delayed Interrupt Control Register) ............251
DICR
DICR (Delayed Interrupt Control Register) ............251
DICR の DLYI ビット ...........................................252
DIVR
基本クロック分周設定レジスタ 0 (DIVR0)
..........................................................................118
基本クロック分周設定レジスタ 1 (DIVR1)
..........................................................................120
DLCR
コントロールレジスタ 1 (DLCR6) のビット構成
..........................................................................370
コントロールレジスタ 2 (DLCR7) のビット構成
..........................................................................371
受信ステータスレジスタ (DLCR1) のビット構成
..........................................................................360
受信ステータスレジスタ :DLCR1 の補足説明
..........................................................................362
受信モードレジスタ (DLCR5) のビット構成
..........................................................................368
受信割込みイネーブルレジスタ (DLCR3) の
ビット構成 ......................................................365
送信ステータスレジスタ (DLCR0) のビット構成
..........................................................................358
送信モードレジスタ (DLCR4) のビット構成
..........................................................................367
送信割込みイネーブルレジスタ (DLCR2) の
ビット構成 ......................................................363
DLYI
DICR の DLYI ビット ...........................................252
550
DMA
DMA による周辺割込みクリア .......................... 329
通常バスインタフェース (DMA フライバイ転送
(I/O →メモリ )) ............................................... 211
DMAC
DMAC 5 チャネルブロックダイヤグラム ........301
DMAC 用 I/O ウェイトレジスタ
(IOWR0 ∼ IOWR2) の構成 ........................... 165
DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス
テータスレジスタ A (DMACA0 ∼ DMACA4)
..........................................................................302
DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス
テータスレジスタ B (DMACB0 ∼ DMACB4)
..........................................................................307
DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アド
レス設定レジスタ (DMASA0 ∼ DMASA4/
DMADA0 ∼ DMADA4) ................................. 313
DMAC の主要機能 ............................................... 298
DMAC のハードウェア構成 ............................... 298
DMAC のレジスタ一覧 .......................................300
DMAC 割込み制御 ............................................... 332
DMAC 全体制御レジスタ
DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 DMAC 全体制御
レジスタ (DMACR) ........................................ 314
DMA イネーブルレジスタ
DMA イネーブルレジスタ (BMPR12) の
ビット構成 ......................................................378
DMA 転送
DMA 転送 ................................................................ 44
スリープ中の DMA 転送 .....................................332
double 型
double 型 ,long double 型の利用 .......................... 530
DRCL
DRCL1,DRCL0 ......................................................286
DREQ
外部転送要求端子 (DREQ 入力 ) ........................ 319
E
EIRR
外部割込み要因レジスタ (EIRR : External Interrupt
Request Register) .............................................. 245
EIT
EIT ( 例外・割込み・トラップ ) .......................... 80
EIT からの復帰 ....................................................... 80
EIT の特長 ...............................................................80
EIT ベクタテーブル ...............................................85
EIT 要因 ................................................................... 80
EIT 要因受理の優先度 ...........................................86
ELVR
外部割込み要求レベル設定レジスタ (ELVR :
External LeVel Register) ..................................246
ENIR
外部割込み許可レジスタ (ENIR : ENable Interrupt
request Register) ............................................... 245
ETHERNET MAC IF
ETHERNET MAC IF ( 17 ピン ) ............................ 15
EXIFCR レジスタ
EXIFCR レジスタ ................................................. 471
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
索引
MB91402/403 シリーズ
F
FCRAM
SDRAM/FCRAM インタフェース ......................218
複数領域への SDRAM/FCRAM 接続 .................223
メモリ設定レジスタ (FCRAM オートプリチャー
ジありモード用 )(MCRB) の構成 .................164
メモリ設定レジスタ (SDRAM/FCRAM オートプ
リチャージなしモード用 )(MCRA) の構成
..........................................................................162
FL_CMD
FL_CMD: コマンドレジスタ .......................408, 420
FL_CONTROL
FL_CONTROL: フィルタモード設定レジスタ
..........................................................................414
FL_DATA
FL_DATA: データレジスタ .................................411
FL_STATUS
FL_STATUS: ステータスレジスタ .....................410
FL_SUBNET
FL_SUBNET: フィルタサブネットレジスタ
..........................................................................417
FR コアブロックダイヤグラム
FR コアブロックダイヤグラム .............................46
fscl
システムクロックと fscl について .....................505
FSR
バスクロック周波数レジスタ (FSR) のビット構成
..........................................................................493
G
GND
電源・GND (20 ピン ) ............................................17
GPIO
GPIO .......................................................................446
GPIO (Port A) (4 ピン ) ...........................................17
MPU IF/GPIO (Port B) ( 22 ピン ) ..........................16
MPU/GPIO の特長 .................................................446
MPU/GPIO のブロックダイヤグラム ................448
H
Hold Request Cancel Level register
Hold Request Cancel Level register (HRCL) .........235
HRCL
Hold Request Cancel Level register (HRCL) .........235
HRCR
ホールドリクエスト取下げ要求機能 (HRCR) の
使用例 ..............................................................240
I
K
-K lib
文字列操作関数使用時の -K lib オプションの指定
..........................................................................530
L
L3
I/O マップ
I/O マップ ..............................................................514
I2C IF
I2C IF ( 2 ピン ) ........................................................16
2
I C インタフェース
I2C インタフェースの機能説明 ..........................476
I2C インタフェースの特長 ..................................474
CM71-10131-1
I2C インタフェースのブロックダイヤグラム
..........................................................................475
2
I C インタフェースのレジスタマップ ..............478
I-Cache
I-Cache を使用するときの設定方法 .....................62
ICE
ICE ( 9 ピン ) ...........................................................12
ICHCR
命令キャッシュコントロールレジスタ (ICHCR)
............................................................................56
ICR
割込み制御レジスタ (ICR) ..................................233
割込み制御レジスタ (ICR) のビット構成 ........... 83
割込み制御レジスタ (ICR) のマッピング ........... 83
IF
MAC IF ................................................................... 343
MPU IF ................................................................... 346
ILM
ILM (Interrupt Level Mask Register) .......................69
割込みレベルマスクレジスタ (ILM) ................... 82
INIT
INIT 端子入力 ( 設定初期化リセット端子 ) ........ 94
設定初期化リセット (INIT) ................................... 93
設定初期化リセット (INIT) 解除シーケンス
............................................................................96
設定初期化リセット (INIT) 状態 ........................ 132
INT
INT 命令の動作 ....................................................... 89
SCC,MSS,INT ビットの競合 ............................... 505
INTE
INTE 命令の動作 ....................................................89
Interrupt Level Mask Register
ILM (Interrupt Level Mask Register) .......................69
IOWR
DMAC 用 I/O ウェイトレジスタ
(IOWR0 ∼ IOWR2) の構成 ........................... 165
IP アドレス
ポート番号 15,IP アドレス 2 を有効
( テーブル番号 0 番に設定 ) .........................421
ISIZE
キャッシュサイズレジスタ (ISIZE) .....................56
I フラグ
I フラグ .................................................................... 81
L3/L4 フィルタテーブル .....................................396
L3/L4 フィルタテーブル全体の設定方法 ......... 421
L3/L4 フィルタテーブルへのアクセス方法
..........................................................................419
L4
L3/L4 フィルタテーブル .....................................396
L3/L4 フィルタテーブル全体の設定方法 ......... 421
L3/L4 フィルタテーブルへのアクセス方法
..........................................................................419
FUJITSU MICROELECTRONICS LIMITED
551
索引
MB91402/403 シリーズ
LAN コントローラ
LAN コントローラの主要機能 ...........................350
LAN コントローラの特長 ...................................352
LAN コントローラのブロックダイヤグラム
..................................................................351, 353
LAN コントローラのレジスタ一覧 ...........355, 406
long double 型
double 型 ,long double 型の利用 ...........................530
LQFP-144
外形寸法図 (LQFP-144) ............................................8
端子配列図 (LQFP-144) ............................................9
M
MAC IF
MAC IF ...................................................................343
MAR
マルチキャストアドレスレジスタ 1 ∼ 8
(MAR8 ∼ MAR15) のビット構成 ................374
MB91402/403 シリーズ
MB91402/403 シリーズの特長 ................................2
MB91402/403 シリーズのブロックダイヤグラム
..............................................................................7
MCLKO
外部インタフェースクロック (MCLKO) ..........104
MCRA
メモリ設定レジスタ (SDRAM/FCRAM オートプ
リチャージなしモード用 )(MCRA) の構成
..........................................................................162
MCRB
メモリ設定レジスタ (FCRAM オートプリチャー
ジありモード用 )(MCRB) の構成 .................164
MDH
MDH,MDL (Multiply & Divide register:
乗除算レジスタ ) ..............................................72
MDL
MDH,MDL (Multiply & Divide register:
乗除算レジスタ ) ..............................................72
MEMORY IF
MEMORY IF ( 50 ピン ) .........................................14
MIFCR
MPU IF 制御レジスタ :MIFCR ............................454
MIFRXDR
MPU IF RX データレジスタ :MIFRXDR ...........452
MIFRXR
MPU IF RX レジスタ :MIFRXR ..........................453
MIFRXSR
MPU IF RX FIFO ステータスレジスタ :MIFRXSR
..........................................................................459
MIFSR
MPU IF ステータスレジスタ :MIFSR ................457
MIFTXDR
MPU IF TX データレジスタ :MIFTXDR ............452
MIFTXR
MPU IF TX レジスタ :MIFTXR ...........................453
MIFTXSR
MPU IF TX FIFO ステータスレジスタ :MIFTXSR
..........................................................................460
MODR
モードレジスタ (MODR) .....................................177
MPU
MPU/GPIO の特長 .................................................446
552
MPU/GPIO のブロックダイヤグラム ................ 448
MPU IF
MPU IF ...........................................................346, 446
MPU IF/GPIO (Port B) ( 22 ピン ) .......................... 16
MPU IF 設定方法 ..................................................466
MPU IF の波形図 ..................................................469
Port B 端子と MPU IF 端子のセレクタ仕様
..........................................................................472
MPU IF RX FIFO ステータスレジスタ
MPU IF RX FIFO ステータスレジスタ :MIFRXSR
..........................................................................459
MPU IF RX データレジスタ
MPU IF RX データレジスタ :MIFRXDR ........... 452
MPU IF RX レジスタ
MPU IF RX レジスタ :MIFRXR .......................... 453
MPU IF TX FIFO ステータスレジスタ
MPU IF TX FIFO ステータスレジスタ :MIFTXSR
..........................................................................460
MPU IF TX データレジスタ
MPU IF TX データレジスタ :MIFTXDR ............452
MPU IF TX レジスタ
MPU IF TX レジスタ :MIFTXR ........................... 453
MPU IF ステータスレジスタ
MPU IF ステータスレジスタ :MIFSR ................ 457
MPU IF 制御レジスタ
MPU IF 制御レジスタ :MIFCR ............................454
MSS
SCC,MSS,INT ビットの競合 ............................... 505
Multiply & Divide register
MDH,MDL (Multiply & Divide register:
乗除算レジスタ ) .............................................. 72
N
NMI
ユーザ割込み /NMI の動作 ................................... 88
割込み /NMI に対するレベルマスク ................... 82
O
OSCILLATOR
OSCILLATOR ( 2 ピン ) .........................................12
P
PACR
Port A コントロールレジスタ :PACR ................ 461
PADR
Port A データレジスタ :PADR ............................462
PBCR
Port B 制御レジスタ :PBCR ................................. 463
PBDR
Port B データレジスタ :PBDR ............................464
PC
PC (Program Counter) .............................................. 70
PHY
SMI のレジスタによる PHY デバイス ( レジスタ )
へのアクセス ..................................................443
PLL
PLL 逓倍率 ............................................................ 103
PLL 動作許可 ........................................................ 102
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
索引
MB91402/403 シリーズ
Port A コントロールレジスタ
Port A コントロールレジスタ :PACR ................461
Port A データレジスタ
Port A データレジスタ :PADR ............................462
Port B
Port B 端子と MPU IF 端子のセレクタ仕様
..........................................................................472
Port B 制御レジスタ
Port B 制御レジスタ :PBCR .................................463
Port B データレジスタ
Port B データレジスタ :PBDR .............................464
Program Counter
PC (Program Counter) ..............................................70
Program Status
PS (Program Status) ..................................................66
PS
PS (Program Status) ..................................................66
R
RCR
リフレッシュコントロールレジスタ (RCR) の
ビット構成 ......................................................173
RD
通常バスインタフェース (CSn → RD/WRn セット
アップおよび RD/WRn → CSn ホールド設定 )
..........................................................................209
RETI
RETI 命令の動作 .....................................................91
Return Pointer
RP (Return Pointer) ...................................................71
RP
RP (Return Pointer) ...................................................71
RSRR
リセット要因レジスタ / ウォッチドッグタイマ
制御レジスタ (RSRR) ....................................107
RST
動作初期化リセット (RST) ....................................93
動作初期化リセット (RST) 解除シーケンス
............................................................................96
動作初期化リセット (RST) 状態 .........................131
RUN 状態
RUN 状態 ( 通常動作 ) ..........................................130
発振安定待ち RUN 状態 ......................................131
S
SCC
SCC,MSS,INT ビットの競合 ...............................505
SCL
SCL の同期調停 ....................................................498
SCR
SCR (System Condition code Register) ....................68
シリアルコントロールレジスタ (SCR1,SCR0)
..........................................................................282
SDRAM
SDRAM/FCRAM インタフェース ......................218
複数領域への SDRAM/FCRAM 接続 .................223
メモリ設定レジスタ (SDRAM/FCRAM オートプ
リチャージなしモード用 )(MCRA) の構成
..........................................................................162
CM71-10131-1
SIDR
シリアルインプットデータレジスタ (SIDR)/ シリ
アルアウトプットデータレジスタ (SODR)
..........................................................................284
SMI
SMI 関連のレジスタ一覧 .................................... 432
SMI のレジスタによる PHY デバイス ( レジスタ )
へのアクセス ..................................................443
SMI_CMD
SMI コマンドレジスタ : SMI_CMD ...................433
SMI_CMD_ST
SMI コマンドステータスレジスタ : SMI_CMD_ST
..........................................................................434
SMI_CONTROL
SMI コントロールレジスタ : SMI_CONTROL
..........................................................................438
SMI_DATA
SMI データレジスタ : SMI_DATA .....................435
SMI_INTENABLE
割込みイネーブルレジスタ : SMI_INTENABLE
..........................................................................441
SMI_MDCDIV
SMIMDC クロック選択レジスタ : SMI_MDCDIV
..........................................................................442
SMIMDC クロック選択レジスタ
SMIMDC クロック選択レジスタ : SMI_MDCDIV
..........................................................................442
SMI_PHY_ADD
SMIPHY アドレスレジスタ : SMI_PHY_ADD
..........................................................................437
SMIPHY アドレスレジスタ
SMIPHY アドレスレジスタ : SMI_PHY_ADD
..........................................................................437
SMI_POLLINTVL
SMI ポーリングレジスタ : SMI_POLLINTVL
..........................................................................436
SMI_STATUS
SMI ステータスレジスタ : SMI_STATUS ......... 439
SMI インタフェース
SMI インタフェースの概要 ................................431
SMI コマンドステータスレジスタ
SMI コマンドステータスレジスタ : SMI_CMD_ST
..........................................................................434
SMI コマンドレジスタ
SMI コマンドレジスタ : SMI_CMD ...................433
SMI コントロールレジスタ
SMI コントロールレジスタ : SMI_CONTROL
..........................................................................438
SMI ステータスレジスタ
SMI ステータスレジスタ : SMI_STATUS ......... 439
SMI データレジスタ
SMI データレジスタ : SMI_DATA .....................435
SMI ポーリングレジスタ
SMI ポーリングレジスタ : SMI_POLLINTVL
..........................................................................436
SMR
シリアルモードレジスタ (SMR1,SMR0) ........... 281
SODR
シリアルインプットデータレジスタ (SIDR)/ シリ
アルアウトプットデータレジスタ (SODR)
..........................................................................284
SSP
SSP (System Stack Pointer) ...................................... 71
FUJITSU MICROELECTRONICS LIMITED
553
索引
MB91402/403 シリーズ
SSR
シリアルステータスレジスタ (SSR1,SSR0)
..........................................................................284
STCR
スタンバイ制御レジスタ (STCR) .......................109
ソフトウェアリセット
(STCR:SRST ビット書込み ) ...........................95
SYSTEM
SYSTEM ( 6 ピン ) ..................................................12
System Condition code Register
SCR (System Condition code Register) ....................68
System Stack Pointer
SSP (System Stack Pointer) ......................................71
T
Table Base Register
TBR (Table Base Register) .......................................71
TBCR
タイムベースカウンタ制御レジスタ (TBCR)
..........................................................................111
TBR
TBR (Table Base Register) .......................................71
TCR
端子 / タイミングコントロールレジスタ (TCR) の
構成 ..................................................................170
TEST
TEST ( 6 ピン ) ........................................................13
TMCSR
コントロールステータスレジスタ
(TMCSR0 ∼ TMCSR2) ...................................262
TMR
16 ビットタイマレジスタ (TMR0 ∼ TMR2)
..........................................................................264
TMRLR
16 ビットリロードレジスタ
(TMRLR0 ∼ TMRLR2) ..................................265
U-TIMER コントロールレジスタ
U-TIMER コントロールレジスタ
(UTIMC1,UTIMC0) .........................................272
UTIMR
リロードレジスタ (UTIMR1,UTIMR0) ..............271
W
WPR
ウォッチドッグリセット発生延期レジスタ
(WPR) ...............................................................117
WRn
通常バスインタフェース (CSn → RD/WRn セット
アップおよび RD/WRn → CSn ホールド設定 )
..........................................................................209
通常バスインタフェース
(WRn +バイト制御タイプ ) .........................200
U
UART
UART ( 6 ピン ) .......................................................13
UART の応用例 .....................................................293
UART のクロック選択 .........................................287
UART の特長 .........................................................278
UART のブロックダイヤグラム .........................280
UART のレジスタ一覧 .........................................279
User Stack Pointer
USP (User Stack Pointer) ..........................................72
USP
USP (User Stack Pointer) ..........................................72
UTIM
U-TIMER(UTIM1,UTIM0) ....................................271
UTIMC
U-TIMER コントロールレジスタ
(UTIMC1,UTIMC0) .........................................272
U-TIMER
U-TIMER(UTIM1,UTIM0) ....................................271
U-TIMER のブロックダイヤグラム ...................270
U-TIMER のレジスタ一覧 ...................................270
ボーレートと U-TIMER のリロード値の設定例
..........................................................................295
554
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
索引
MB91402/403 シリーズ
あ
え
アーキテクチャ
内部アーキテクチャ ...............................................48
アービトレーション
アービトレーション .............................................499
アクセス
データのアクセスについて .................................532
アクノリッジ
アクノリッジ / ネガティブアクノリッジ .........500
アドレス
アドレス一覧 .........................................................450
ポート番号 10 ∼ 14,IP アドレス 1 を有効
( テーブル番号 1 番に設定 ) ..........................423
ポート番号 16 ∼ 20,IP アドレス 1 を有効
( テーブル番号 3 番に設定 ) ..........................426
マルチマスタで使用する場合のグローバル・コー
ル・アドレス送信における制限事項について
..........................................................................506
アドレスマップ
アドレスマップ .......................................................39
アドレスマルチプレックス
アドレスマルチプレックス・フォーマット
..........................................................................224
アドレスレジスタ
アドレスレジスタ (ADR) のビット構成 ...........489
アドレッシング
アドレッシング .....................................................497
アドレッシングモード
アドレッシングモード .........................................325
アンダフロー
アンダフロー動作 .................................................267
エミュレータ
エミュレータデバッガ , モニタデバッガ ......... 534
エラー
エラーによる停止 ................................................331
エラーの未検出 ....................................................533
エントリ更新
キャッシュのエントリ更新 ..................................60
い
一時停止
一時停止 .................................................................330
う
ウェイト
通常バスインタフェース
( 外部ウェイトタイミング ) ..........................205
通常バスインタフェース
( 自動ウェイトタイミング ) ..........................204
割込み処理とマスタデバイス側への
ウェイト要求動作 ..........................................504
ウェイトレジスタ
DMAC 用 I/O ウェイトレジスタ
(IOWR0 ∼ IOWR2) の構成 ...........................165
ウォッチドッグ
ウォッチドッグリセット .......................................95
ウォッチドッグタイマ制御レジスタ
リセット要因レジスタ / ウォッチドッグタイマ
制御レジスタ (RSRR) ....................................107
ウォッチドッグリセット発生延期レジスタ
ウォッチドッグリセット発生延期レジスタ
(WPR) ...............................................................117
CM71-10131-1
お
オートプリチャージ
メモリ設定レジスタ (FCRAM オートプリチャー
ジありモード用 )(MCRB) の構成 ................ 164
メモリ設定レジスタ (SDRAM/FCRAM オートプ
リチャージなしモード用 )(MCRA) の構成
..........................................................................162
オートリフレッシュ
オートリフレッシュ ............................................ 220
か
外形寸法図
外形寸法図 (LQFP-144) ............................................ 8
解除
設定初期化リセット (INIT) 解除シーケンス
............................................................................96
動作初期化リセット (RST) 解除シーケンス
............................................................................96
外部インタフェース
外部インタフェースクロック (MCLKO) ..........104
外部ウェイト
通常バスインタフェース
( 外部ウェイトタイミング ) .........................205
外部クロック
外部クロック ........................................................ 101
外部端子
外部端子と内部動作タイミングに関する補足
..........................................................................334
外部デバイス
外部デバイスとの接続例 ............................185, 189
外部転送要求端子
外部転送要求端子 (DREQ 入力 ) ........................ 319
外部バス
外部バスアクセス ................................................182
外部バスインタフェース
外部バスインタフェースの特長 ........................ 140
外部バスインタフェースのブロックダイヤグラム
..........................................................................142
外部バスインタフェースのレジスタ一覧 ........143
外部バスインタフェースのレジスタの種類
..........................................................................144
外部割込み
外部割込み制御部のブロックダイヤグラム
..........................................................................244
外部割込み制御部のレジスタ一覧 .................... 244
外部割込みの動作手順について ........................ 247
外部割込みの動作について ................................247
外部割込み要求レベルについて ........................ 248
FUJITSU MICROELECTRONICS LIMITED
555
索引
MB91402/403 シリーズ
外部割込み許可レジスタ
外部割込み許可レジスタ (ENIR : ENable Interrupt
request Register) ...............................................245
外部割込み要因レジスタ
外部割込み要因レジスタ (EIRR : External Interrupt
Request Register) ..............................................245
外部割込み要求レベル設定レジスタ
外部割込み要求レベル設定レジスタ (ELVR :
External LeVel Register) ..................................246
カウンタ
カウンタの動作状態 .............................................268
書込み
シングル読出し / 書込み (CAS レイテンシ=
1,TYP = 1001B, オートプリチャージあり )
..........................................................................220
シングル読出し / 書込み ( ページヒット ,CAS レ
イテンシ= 3, オートプリチャージなし )
..........................................................................219
通常バスインタフェース ( 書込み → 書込みタイ
ミング ) ............................................................203
通常バスインタフェース ( 同期書込みイネーブル
出力タイミング ) ............................................206
通常バスインタフェース ( 読出し → 書込みタイ
ミング ) ............................................................202
バースト読出し / 書込み ( ページヒット ,CAS レ
イテンシ= 2) ..................................................218
各状態遷移要求
各状態遷移要求の優先順位 .................................132
拡張 CS レジスタ
拡張 CS レジスタ (CSR) のビット構成 .............491
カスケードモード
カスケードモード .................................................275
関数
文字列操作関数使用時の -K lib オプションの指定
..........................................................................530
文字列操作関数を使った文字型配列以外の操作
..........................................................................529
き
記号
命令一覧表に用いている記号の意味 .................536
基本クロック分周設定レジスタ
基本クロック分周設定レジスタ 0 (DIVR0)
..........................................................................118
基本クロック分周設定レジスタ 1 (DIVR1)
..........................................................................120
キャッシュ
各動作モード時のキャッシュの状態 ...................59
キャッシュ可能領域 ...............................................61
キャッシュのエントリ更新 ...................................60
キャッシュサイズレジスタ
キャッシュサイズレジスタ (ISIZE) .....................56
キャッシュ取込み許可レジスタ
キャッシュ取込み許可レジスタ (CHER) の構成
..........................................................................169
競合
SCC,MSS,INT ビットの競合 ...............................505
556
く
クリア
DMA による周辺割込みクリア .......................... 329
グローバル
マルチマスタで使用する場合のグローバル・コー
ル・アドレス送信における制限事項について
..........................................................................506
クロック
CPU クロック (CLKB) .........................................104
外部インタフェースクロック (MCLKO) ..........104
外部クロック ........................................................ 101
クロック .................................................................. 40
クロック生成制御 ................................................101
クロック同期モード ............................................ 289
クロックの滑らかな起動と停止 ........................ 125
クロックの滑らかな起動と停止のプログラム例
..........................................................................126
クロック発生制御部のブロックダイヤグラム
..........................................................................106
クロック分周 ........................................................ 105
周辺クロック (CLKP) .......................................... 104
シリアル転送クロックの設定について ............505
クロックコントロールレジスタ
クロックコントロールレジスタ (CCR) の
ビット構成 ......................................................487
クロックソース制御レジスタ
クロックソース制御レジスタ (CLKR) ..............115
け
検出結果レジスタ
検出結果レジスタ (BSRR) ..................................255
こ
構造体代入
構造体代入 ............................................................ 529
コール
マルチマスタで使用する場合のグローバル・コー
ル・アドレス送信における制限事項について
..........................................................................506
コプロセッサ
コプロセッサエラートラップ ..............................91
コプロセッサ不在トラップ ..................................90
コマンドレジスタ
FL_CMD: コマンドレジスタ ..............................408
コントロール / ステータスレジスタ
DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス
テータスレジスタ A (DMACA0 ∼ DMACA4)
..........................................................................302
DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス
テータスレジスタ B (DMACB0 ∼ DMACB4)
..........................................................................307
コントロールステータスレジスタ
コントロールステータスレジスタ
(TMCSR0 ∼ TMCSR2) ..................................262
コントロールレジスタ
コントロールレジスタ 1 (DLCR6) のビット構成
..........................................................................370
コントロールレジスタ 2 (DLCR7) のビット構成
..........................................................................371
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
索引
MB91402/403 シリーズ
し
事項
テーブルアクセスの際の注意事項 .....................418
システムクロック
システムクロックと fscl について .....................505
自動ウェイト
通常バスインタフェース
( 自動ウェイトタイミング ) ..........................204
シミュレータ
シミュレータデバッガ .........................................534
周辺クロック
周辺クロック (CLKP) ...........................................104
受信
受信データパケットのフォーマット .................381
受信ステータスレジスタ
受信ステータスレジスタ (DLCR1) のビット構成
..........................................................................360
受信ステータスレジスタ :DLCR1 の補足説明
..........................................................................362
受信動作
受信動作 .................................................................465
受信バッファポインタコントロールレジスタ
受信バッファポインタコントロールレジスタ
(BMPR14) のビット構成 ................................379
受信モードレジスタ
受信モードレジスタ (DLCR5) のビット構成
..........................................................................368
受信割込みイネーブルレジスタ
受信割込みイネーブルレジスタ (DLCR3) の
ビット構成 ......................................................365
主要動作
主要動作 .................................................................316
乗除算レジスタ
MDH,MDL (Multiply & Divide register:
乗除算レジスタ ) ..............................................72
初期化
INIT 端子入力 ( 設定初期化リセット端子 ) ........94
初期化 .....................................................................501
設定初期化リセット (INIT) ...................................93
設定初期化リセット (INIT) 解除シーケンス
............................................................................96
設定初期化リセット (INIT) 状態 ........................132
動作初期化リセット (RST) ....................................93
動作初期化リセット (RST) 解除シーケンス
............................................................................96
動作初期化リセット (RST) 状態 .........................131
リセット ( デバイスの初期化 ) .............................92
初期値
初期値付き変数の配置 .........................................528
シリアルアウトプットデータレジスタ
シリアルインプットデータレジスタ (SIDR)/ シリ
アルアウトプットデータレジスタ (SODR)
..........................................................................284
シリアルインプットデータレジスタ
シリアルインプットデータレジスタ (SIDR)/ シリ
アルアウトプットデータレジスタ (SODR)
..........................................................................284
シリアルコントロールレジスタ
シリアルコントロールレジスタ (SCR1,SCR0)
..........................................................................282
CM71-10131-1
シリアルステータスレジスタ
シリアルステータスレジスタ (SSR1,SSR0)
..........................................................................284
シリアル転送
シリアル転送クロックの設定について ............505
シリアルモードレジスタ
シリアルモードレジスタ (SMR1,SMR0) ........... 281
シングル
シングル読出し / 書込み ( ページヒット ,CAS レ
イテンシ= 3, オートプリチャージなし )
..........................................................................219
信号
信号の一覧 ............................................................ 449
す
スタートコンディション
スタートコンディション .................................... 495
スタック
スタックのリトルエンディアン領域への配置
..........................................................................530
割込みスタック ......................................................84
スタンバイ
スタンバイからの復帰について ........................ 247
スタンバイモード ( ストップ / スリープ ) からの
復帰 .................................................................. 239
スタンバイ制御レジスタ
スタンバイ制御レジスタ (STCR) .......................109
ステップ
ステップ / ブロック転送 2 サイクル転送 ......... 322
ステップトレーストラップ
ステップトレーストラップの動作 ...................... 89
ストップコンディション
ストップコンディション .................................... 496
ストップ状態
ストップ状態 ........................................................ 130
ストップモード
ストップモード ....................................................135
スリープ
スリープ中の DMA 転送 .....................................332
スリープ状態
スリープ状態 ........................................................ 130
スリープモード
スリープモード ....................................................133
スレーブ
スレーブからマスタへの 1 バイト転送 ............503
マスタからスレーブへの 1 バイト転送 ............502
スレーブアドレス
10 ビットスレーブアドレスについて ............... 505
せ
制御信号
データバス幅と制御信号との関係 .................... 179
制限
セクション種別の制限 ........................................ 533
セクション
セクション種別の制限 ........................................ 533
セクションについて ............................................ 531
設定
設定方法 ................................................................ 420
FUJITSU MICROELECTRONICS LIMITED
557
索引
MB91402/403 シリーズ
セルフリフレッシュ
セルフリフレッシュ .............................................221
そ
送信
マルチマスタで使用する場合のグローバル・コー
ル・アドレス送信における制限事項について
..........................................................................506
送信ステータスレジスタ
送信ステータスレジスタ (DLCR0) のビット構成
..........................................................................358
送信動作
送信動作 .................................................................465
送信パケット数レジスタ
送信パケット数レジスタ (BMPR10) のビット構成
..........................................................................377
送信モードレジスタ
送信モードレジスタ (DLCR4) のビット構成
..........................................................................367
送信割込みイネーブルレジスタ
送信割込みイネーブルレジスタ (DLCR2) の
ビット構成 ......................................................363
その他
その他 .....................................................................268
ソフトウェア要求
ソフトウェア要求 .................................................319
ソフトウェアリセット
ソフトウェアリセット
(STCR:SRST ビット書込み ) ...........................95
た
遅延
通常バスインタフェース (CSn 遅延設定 ) ........208
遅延スロット
遅延スロット付きの分岐命令 ..............................76
遅延スロット付き分岐命令の制限事項 ..............78
遅延スロット付き分岐命令の動作 ...................... 77
遅延スロットなしの分岐命令 ..............................79
遅延スロットなしの分岐命令の動作 .................. 79
遅延スロットの注意事項 ...................................... 91
遅延割込み
遅延割込みモジュールのブロックダイヤグラム
..........................................................................250
遅延割込みモジュールのレジスタ一覧 ............250
チップセレクト
チップセレクト領域の設定例 ............................178
チップセレクト領域
チップセレクト領域設定 ...................................... 35
チップセレクト領域許可レジスタ
チップセレクト領域許可レジスタ (CSER) の
ビット構成 ......................................................168
チャネル選択
チャネル選択と制御 ............................................ 333
注意
使用上の注意 ........................................................ 292
レジスタ設定時の注意 ........................................ 302
注意点
注意点 ....................................................................268
調歩同期
非同期 ( 調歩同期 ) モード ..................................288
つ
退避
退避 / 復帰の処理 .................................................258
タイミング
通常バスインタフェース
( 書込み → 書込みタイミング ) ....................203
通常バスインタフェース ( 基本タイミング
( アクセスが連続する場合 )) ........................198
通常バスインタフェース
( 読出し → 書込みタイミング ) ....................202
割込み発生およびフラグのセットタイミング
..........................................................................290
タイムベースカウンタ
タイムベースカウンタ .........................................122
タイムベースカウンタクリアレジスタ
タイムベースカウンタクリアレジスタ (CTBR)
..........................................................................114
タイムベースカウンタ制御レジスタ
タイムベースカウンタ制御レジスタ (TBCR)
..........................................................................111
ダイレクトアドレッシング
ダイレクトアドレッシング領域 ...........................34
端子
端子機能説明 ...........................................................11
端子番号対応表 .......................................................18
端子 / タイミングコントロールレジスタ
端子 / タイミングコントロールレジスタ (TCR) の
構成 ..................................................................170
端子配列図
端子配列図 (LQFP-144) ............................................9
558
ち
通常バスインタフェース
通常バスインタフェース .................................... 197
通常バスインタフェース (CSn 遅延設定 ) ........208
通常バスインタフェース (DMA フライバイ転送
(I/O →メモリ )) ............................................... 211
通常バスインタフェース
(WRn +バイト制御タイプ ) .........................200
通常バスインタフェース
( 外部ウェイトタイミング ) .........................205
通常バスインタフェース
( 書込み → 書込みタイミング ) ...................203
通常バスインタフェース ( 基本タイミング
( アクセスが連続する場合 )) ........................ 198
通常バスインタフェース
( 自動ウェイトタイミング ) .........................204
通常バスインタフェース ( 同期書込みイネーブル
出力タイミング ) ............................................ 206
通常バスインタフェース
( 読出し → 書込みタイミング ) ...................202
て
停止
エラーによる停止 ................................................331
動作終了 / 停止 ..................................................... 330
低消費電力
低消費電力モード ........................................129, 133
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
索引
MB91402/403 シリーズ
逓倍率
PLL 逓倍率 .............................................................103
データ
データのアクセスについて .................................532
データの種類 .........................................................326
データアクセス
データアクセス .......................................................74
データパケット
受信データパケットのフォーマット .................381
データバス幅
データバス幅 .................................................181, 188
データバス幅と制御信号との関係 .....................179
データフォーマット
データフォーマット .....................................180, 187
データレジスタ
データレジスタ (DAR) のビット構成 ...............490
テーブルアクセス
テーブルアクセスの際の注意事項 .....................418
テーブル設定
残りのテーブル設定を無効
( テーブル番号 4 ∼ 15 番 ) ............................430
テーブル番号
宛先ポート番号 12 を有効
( テーブル番号 3 番に設定 ) ..........................429
ポート番号 10 ∼ 14,IP アドレス 1 を有効
( テーブル番号 1 番に設定 ) ..........................423
ポート番号 15,IP アドレス 2 を有効
( テーブル番号 0 番に設定 ) ..........................421
ポート番号 16 ∼ 20,IP アドレス 1 を有効
( テーブル番号 3 番に設定 ) ..........................426
デバイス状態
デバイス状態 .........................................................129
デバイス状態と各遷移 .........................................129
デバッガ
エミュレータデバッガ , モニタデバッガ ..........534
シミュレータデバッガ .........................................534
デバッグ
デバッグ関連に関する取扱い上の注意 ...............31
デマンド転送
デマンド転送 .........................................................339
デマンド転送 2 サイクル転送 .............................321
デマンド転送フライバイ転送 .............................322
電源
電源・GND (20 ピン ) ............................................17
電源に関する取扱い上の注意 ...............................28
転送
2 サイクル転送時のデータの動き ......................340
ステップ / ブロック転送 2 サイクル転送 .........322
ステップ / ブロック転送 2 サイクル転送
フライバイ転送 ..............................................323
スレーブからマスタへの 1 バイト転送 .............503
デマンド転送 2 サイクル転送 .............................321
デマンド転送フライバイ転送 .............................322
転送アドレス .........................................................317
転送回数と転送終了 .............................................318
転送タイプ .............................................................317
転送モード .............................................................316
バースト 2 サイクル転送 .....................................320
バーストフライバイ転送 .....................................321
フライバイ転送時のデータの動き .....................342
マスタからスレーブへの 1 バイト転送 .............502
転送回数制御
転送回数制御 .........................................................326
CM71-10131-1
転送先
DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アド
レス設定レジスタ (DMASA0 ∼ DMASA4/
DMADA0 ∼ DMADA4) ................................. 313
転送シーケンス
転送シーケンスの選択 ........................................ 320
転送元
DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アド
レス設定レジスタ (DMASA0 ∼ DMASA4/
DMADA0 ∼ DMADA4) ................................. 313
転送要求
転送要求の受付けと転送 .................................... 329
と
同期調停
SCL の同期調停 ....................................................498
同期リセット
同期リセット動作 ..................................................99
動作開始
動作開始 ................................................................ 328
動作終了
動作終了 / 停止 ..................................................... 330
動作モード
動作モード ....................................................137, 287
トラップ
EIT ( 例外・割込み・トラップ ) .......................... 80
コプロセッサエラートラップ ..............................91
コプロセッサ不在トラップ ..................................90
取扱
デバイスの取扱いについて ..................................24
な
内蔵周辺要求
内蔵周辺要求 ........................................................ 319
内部アーキテクチャ
内部アーキテクチャの特長 ..................................47
内部クロック
内部クロック動作 ................................................266
内部動作タイミング
外部端子と内部動作タイミングに関する補足
..........................................................................334
に
入出力回路形式
入出力回路形式 ......................................................20
入出力端子
入出力端子 .............................................................. 10
ね
ネガティブアクノリッジ
アクノリッジ / ネガティブアクノリッジ ......... 500
の
ノード ID レジスタ
ノード ID レジスタ 1 ∼ 6 (DLCR8 ∼ DLCR13) の
ビット構成 ......................................................373
FUJITSU MICROELECTRONICS LIMITED
559
索引
MB91402/403 シリーズ
は
バースト
バースト 2 サイクル転送 .....................................320
バースト読出し / 書込み
( ページヒット ,CAS レイテンシ= 2) .........218
バーストアクセス
バーストアクセス (first access wait cycle:1, page
wait cycle:1) (ACR → TYP3 ∼ TYP0=0000B,
AWR=3208H) ...................................................212
バースト転送
バースト転送 .........................................................338
バーストフライバイ
バーストフライバイ転送 .....................................321
ハードウェア
ハードウェア構成 .................................................230
ハーバード
ハーバード←→プリンストン バスコンバータ
............................................................................50
ハーフワードアクセス
ハーフワードアクセス .........................................192
バイトアクセス
バイトアクセス .....................................................194
バイトオーダリング
バイトオーダリング ...............................................73
バイト制御
通常バスインタフェース
(WRn +バイト制御タイプ ) .........................200
パケット
パケット長のフォーマット (4 バイト ) .............381
パケットのフォーマット .....................................381
パケットフィルタ
パケットフィルタの概要・特長 .........................394
バスエラー
バスエラー .............................................................501
バスエラー後の復帰 .............................................504
バスクロック周波数レジスタ
バスクロック周波数レジスタ (FSR) のビット構成
..........................................................................493
バスコントロール 2 レジスタ
バスコントロール 2 レジスタ (BC2R) の
ビット構成 ......................................................494
バスコントロールレジスタ
バスコントロールレジスタ (BCR) のビット構成
..........................................................................481
バスコンバータ
32 ビット←→ 16 ビットバスコンバータ ............49
ハーバード←→プリンストン バスコンバータ
............................................................................50
バスステータスレジスタ
バスステータスレジスタ (BSR) のビット構成
..........................................................................479
発振安定待ち
発振安定待ち .........................................................103
発振安定待ち RUN 状態 ......................................131
発振安定待ち時間発生要因 ...................................97
発振安定待ちリセット状態 .................................131
発振安定待ち時間
発振安定待ち時間の選択 .......................................98
発振器
発振器 .....................................................................101
560
バッファメモリ
バッファメモリについて .................................... 380
バッファメモリポートレジスタ
バッファメモリポートレジスタ (BMPR8) の
ビット構成 ......................................................376
パワーオンシーケンス
パワーオンシーケンス ........................................ 222
汎用レジスタ
汎用レジスタ .......................................................... 65
ひ
ビッグエンディアン
リトルエンディアンとビッグエンディアンの
相違点 .............................................................. 186
ビットオーダリング
ビットオーダリング .............................................. 73
ビットサーチモジュール
ビットサーチモジュールのブロックダイヤグラム
..........................................................................253
ビットサーチモジュールのレジスタ一覧 ........253
非同期
非同期 ( 調歩同期 ) モード ..................................288
非同期リセット
非同期リセット動作 .............................................. 99
ふ
フィルタテーブル
L3/L4 フィルタテーブル .....................................396
L3/L4 フィルタテーブル全体の設定方法 ......... 421
L3/L4 フィルタテーブルへのアクセス方法
..........................................................................419
フィルタモード設定レジスタ
フィルタモード設定レジスタの設定 ................ 421
復帰
退避 / 復帰の処理 ................................................. 258
バスエラー後の復帰 ............................................ 504
フライバイ転送
通常バスインタフェース (DMA フライバイ転送
(I/O →メモリ )) ............................................... 211
フライバイ転送時のデータの動き .................... 342
フラグ
割込み発生およびフラグのセットタイミング
..........................................................................290
プリフェッチ動作
プリフェッチ動作 ................................................214
プリンストン
ハーバード←→プリンストン バスコンバータ
............................................................................50
フローチャート
動作フローチャート ............................................ 507
プログラミングモデル
基本プログラミングモデル ..................................64
プログラムアクセス
プログラムアクセス .............................................. 74
ブロックサイズ
ブロックサイズ ....................................................324
ブロックダイヤグラム
MB91402/403 シリーズのブロックダイヤグラム
..............................................................................7
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
索引
MB91402/403 シリーズ
ブロック転送
ステップ / ブロック転送 2 サイクル転送 .........322
ブロック転送 .........................................................337
プロトコルタイプテーブル
プロトコルタイプテーブル .................................395
分岐命令
遅延スロット付きの分岐命令 ...............................76
遅延スロット付き分岐命令の制限事項 ...............78
遅延スロット付き分岐命令の動作 .......................77
遅延スロットなしの分岐命令 ...............................79
遅延スロットなしの分岐命令の動作 ...................79
分周
クロック分周 .........................................................105
へ
ベクタテーブル
EIT ベクタテーブル ...............................................85
変化点検出
変化点検出 .............................................................257
変化点検出用データレジスタ
変化点検出用データレジスタ (BSDC) ..............255
変数
初期値付き変数の配置 .........................................528
ほ
ポート番号
宛先ポート番号 12 を有効
( テーブル番号 3 番に設定 ) ..........................429
ポート番号 10 ∼ 14,IP アドレス 1 を有効
( テーブル番号 1 番に設定 ) ..........................423
ポート番号 15,IP アドレス 2 を有効
( テーブル番号 0 番に設定 ) ..........................421
ポート番号 16 ∼ 20,IP アドレス 1 を有効
( テーブル番号 3 番に設定 ) ..........................426
ホールド調停
ホールド調停 .........................................................328
ホールドリクエスト
ホールドリクエスト取下げ要求
(Hold Request Cancel Request) .......................239
ホールドリクエスト取下げ要求機能 (HRCR) の
使用例 ..............................................................240
ボーレート
ボーレートと U-TIMER のリロード値の設定例
..........................................................................295
ボーレートの計算 .................................................274
本体
本体構成 ...................................................................53
ま
マスタ
スレーブからマスタへの 1 バイト転送 .............503
マスタからスレーブへの 1 バイト転送 .............502
マスタデバイス
割込み処理とマスタデバイス側への
ウェイト要求動作 ..........................................504
マルチキャストアドレスレジスタ
マルチキャストアドレスレジスタ 1 ∼ 8
(MAR8 ∼ MAR15) のビット構成 ................374
CM71-10131-1
マルチマスタ
マルチマスタで使用する場合のグローバル・コー
ル・アドレス送信における制限事項について
..........................................................................506
み
未検出
エラーの未検出 ....................................................533
め
命令
未定義命令例外の動作 .......................................... 90
命令一覧表 ............................................................ 540
命令一覧表に用いている記号の意味 ................ 536
命令概要 .................................................................. 50
命令キャッシュ ......................................................49
命令キャッシュタグ .............................................. 54
命令キャッシュの概要 .......................................... 52
命令キャッシュコントロールレジスタ
命令キャッシュコントロールレジスタ (ICHCR)
............................................................................56
メイン
メイン処理 ............................................................ 382
メイン処理
メイン処理 ............................................................ 387
メモリ
メモリ接続例 ........................................................ 225
メモリ空間
メモリ空間 .............................................................. 33
メモリ設定レジスタ
メモリ設定レジスタ (FCRAM オートプリチャー
ジありモード用 )(MCRB) の構成 ................ 164
メモリ設定レジスタ (SDRAM/FCRAM オートプ
リチャージなしモード用 )(MCRA) の構成
..........................................................................162
メモリマップ
メモリマップ .................................................... 34, 75
も
モード
モード設定 ............................................................ 137
モードレジスタ
モードレジスタ (MODR) .....................................177
文字型配列以外
文字列操作関数を使った文字型配列以外の操作
..........................................................................529
文字列操作
文字列操作関数使用時の -K lib オプションの指定
..........................................................................530
文字列操作関数を使った文字型配列以外の操作
..........................................................................529
モニタ
エミュレータデバッガ , モニタデバッガ ......... 534
ゆ
ユーザ割込み
ユーザ割込み /NMI の動作 ................................... 88
FUJITSU MICROELECTRONICS LIMITED
561
索引
MB91402/403 シリーズ
優先順位
各状態遷移要求の優先順位 .................................132
優先順位判定 .........................................................236
優先度
EIT 要因受理の優先度 ...........................................86
よ
読出し
シングル読出し ( ページミス ,CAS レイテンシ=
3, オートプリチャージなし ) ........................219
シングル読出し / 書込み (CAS レイテンシ=
1,TYP = 1001B, オートプリチャージあり )
..........................................................................220
シングル読出し / 書込み ( ページヒット ,CAS レ
イテンシ= 3, オートプリチャージなし )
..........................................................................219
通常バスインタフェース
( 読出し → 書込みタイミング ) ....................202
バースト読出し / 書込み
( ページヒット ,CAS レイテンシ= 2) .........218
り
リセット
INIT 端子入力 ( 設定初期化リセット端子 ) ........94
ウォッチドッグリセット .......................................95
設定初期化リセット (INIT) ...................................93
設定初期化リセット (INIT) 解除シーケンス
............................................................................96
設定初期化リセット (INIT) 状態 ........................132
同期リセット動作 ...................................................99
動作初期化リセット (RST) ....................................93
動作初期化リセット (RST) 解除シーケンス
............................................................................96
動作初期化リセット (RST) 状態 .........................131
非同期リセット動作 ...............................................99
リセット ...................................................................42
リセット ( デバイスの初期化 ) .............................92
リセット状態
発振安定待ちリセット状態 .................................131
リセット要因レジスタ
リセット要因レジスタ / ウォッチドッグタイマ
制御レジスタ (RSRR) ....................................107
リトルエンディアン
スタックのリトルエンディアン領域への配置
..........................................................................530
リトルエンディアンとビッグエンディアンの相違
点 ......................................................................186
リトルエンディアン領域に対する制限事項
..........................................................................186
リフレッシュコントロールレジスタ
リフレッシュコントロールレジスタ (RCR) の
ビット構成 ......................................................173
領域ウェイトレジスタ
領域ウェイトレジスタ (AWR0 ∼ AWR5,AWR7)
..........................................................................153
領域構成レジスタ
領域構成レジスタ 0 ∼ 5,7 (ACR0 ∼ ACR5,ACR7)
の構成 ..............................................................147
562
領域選択レジスタ
領域選択レジスタ (ASR0 ∼ ASR5,ASR7) の
ビット機能 ......................................................146
領域選択レジスタ 0 ∼ 5,7 (ASR0 ∼ ASR5,ASR7)
の構成 .............................................................. 145
リロードタイマ
16 ビットリロードタイマの
ブロックダイヤグラム ..................................261
16 ビットリロードタイマのレジスタ一覧 ....... 260
リロード値
ボーレートと U-TIMER のリロード値の設定例
..........................................................................295
リロード動作
リロード動作 ........................................................ 324
リロードレジスタ
リロードレジスタ (UTIMR1,UTIMR0) ..............271
れ
例外
EIT ( 例外・割込み・トラップ ) .......................... 80
未定義命令例外の動作 .......................................... 90
レジスタ
汎用レジスタ .......................................................... 65
レジスタ詳細 ........................................................ 357
レジスタ詳細説明の見方 .................................... 451
レジスタ詳細の見方 ............................................ 407
レジスタ設定時の注意 ........................................ 302
レジスタ設定手順 ................................................227
レベル
外部割込み要求レベルについて ........................ 248
レベルマスク
割込み /NMI に対するレベルマスク ................... 82
わ
ワードアクセス
ワードアクセス ....................................................191
割込み
DMAC 割込み制御 ............................................... 332
DMA による周辺割込みクリア .......................... 329
EIT ( 例外・割込み・トラップ ) .......................... 80
ユーザ割込み /NMI の動作 ................................... 88
割込み ......................................................................43
割込み /NMI に対するレベルマスク ................... 82
割込み仕様 ............................................................ 470
割込み処理とマスタデバイス側への
ウェイト要求動作 .......................................... 504
割込みスタック ......................................................84
割込み動作波形 ....................................................470
割込み発生およびフラグのセットタイミング
..........................................................................290
割込み番号 ............................................................ 252
割込みイネーブルレジスタ
割込みイネーブルレジスタ : SMI_INTENABLE
..........................................................................441
割込みコントローラ
割込みコントローラの主要機能 ........................ 230
割込みコントローラのブロックダイヤグラム
..........................................................................232
割込みコントローラのレジスタ一覧 ................ 231
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
索引
MB91402/403 シリーズ
割込み制御レジスタ
割込み制御レジスタ (ICR) ..................................233
割込み制御レジスタ (ICR) のビット構成 ...........83
CM71-10131-1
割込み制御レジスタ (ICR) のマッピング ........... 83
割込みレベルマスクレジスタ
割込みレベルマスクレジスタ (ILM) ................... 82
FUJITSU MICROELECTRONICS LIMITED
563
索引
MB91402/403 シリーズ
564
FUJITSU MICROELECTRONICS LIMITED
CM71-10131-1
CM71-10131-1
富士通マイクロエレクトロニクス • CONTROLLER MANUAL
FR70
32 ビット・マイクロコントローラ
MB91402/403 Series
ハードウェアマニュアル
2008 年 9 月 初版発行
発行
富士通マイクロエレクトロニクス株式会社
編集
マーケティング統括部 ビジネス推進部