東芝 オリジナル CMOS 16ビット マイクロコントローラ
TLCS-900/L1 シリーズ
TMP91C016
セミコンダクター社
はじめに
この度は弊社 16 ビットマイクロコントローラ TLCS-900/L1 シリーズ、
TMP91C016 をご利用いただき、誠にありがとうございます。
本 LSI をご利用になる前に、「使用上の注意、制限事項」の章を参照されます
ことをお願いいたします。
特に下記に示す注意事項に関しましては、十分にご注意願います。
ホルト状態からの解除に関する注意事項
通常は、割り込みによってホルト状態を解除することができますが、HALT モ
ードが IDLE1 、STOP モードに設定されている状態 (IDLE2 は対象外) で、CPU
が HALT モードに移行しようとしている期間(f
約 5 クロックの間)に、HALT
FPH
モードを解除可能な割り込み (NMI , INT0~INT3, INTRTC, INTALM0~INTALM4,
INTKEY, INTVLD0~INTVLD2) が入力されても、ホルトが解除できない場合があ
ります (割り込み要求は内部に保留されます )。
HALT モードへ完全に移行された後に、再度割り込みが発生すれば、問題なく
HALT モードを解除できますが、割り込み処理は内部に保留された割り込みと現
在の割り込みを比較し、その優先順位に従って順次処理されます。
低電圧/低消費電力
1. 概要と特長
TMP91C016 は、低電圧/低消費電力動作が可能な高速・高機能 16 ビットマイクロコントローラです。
TMP91C016F は、100 ピンミニフラットパッケージ製品です。JTMP91C016S は、100 パッドチッ
プ製品です。特長は次のとおりです。
(1) オリジナル 16 ビット CPU (900/L1_CPU 使用 )
• TLCS-90 と命令ニモニックで上位互換
• 16 M バイトのリニアアドレス空間
• 汎用レジスタ& レジスタバンク方式
• 16 ビット乗除算命令、ビット転送/ 演算命令
• マイクロ DMA: 4 チャネル (592 ns/2 バイト@ 27 MHz)
(2) 最小命令実行時間 : 148 ns @ 27 MHz
TMP91C016
CMOS 16 ビット マイクロコントローラ
TMP91C016F/JTMP91C016S
(3) 内蔵 RAM: なし
内蔵 ROM: なし
(4) 外部メモリ拡張
• 105 M バイト (プログラム, データ) まで拡張可能
• 外部データバス 8/16 ビット幅共存可能
…ダイナミックデータバスサイジング
• セパレートバスシステム
(5) 8 ビットタイマ: 4 チャネル
(6) 汎用シリアルインタフェース : 2 チャネル
チャネル 0
• UART
対応
• IrDA ver1.0 (115.2 kbps) 対応モード選択可能
チャネル 1
• UART 対応
• 同期式モード対応
030519TBP1
• マイコン製品の信頼性予測については、「品質保証と信頼性 / 取り扱い上のご注意とお願い」の 1.3 項に記載されておりますので必ず
お読みください。
• 当社は品質、信頼性の向上に努めておりますが、一般に半導体製品は誤作動したり故障することがあります。当社半導体製品を
使用いただく場合は、半導体製品の誤作動や故障により、生命・身体・財産が侵害されることのないように、購入者側の責任におい
て、機器の安全設計を行うことをお願いします。
なお、設計に際しては、最新の製品仕様をご確認の上、製品保証範囲内でご使用いただくと共に、考慮されるべき注意事項や条件
について「東芝半導体製品の取り扱い上のご注意とお願い」、「半導体信頼性ハンドブック」などでご確認ください。
• 本資料に掲載されている製品は、一般的電子機器 (コンピュータ、パーソナル機器、事務機器、計測機器、産業用ロボット、家電
器など) に使用されることを意図しています。特別に高い品質・信頼性が要求され、その故障や誤作動が直接人命を脅かしたり人体
に危害を及ぼす恐れのある機器 (原子力制御機器、航空宇宙機器、輸送機器、交通信号機器、燃焼制御、医療機器、各種安全装置な
ど) にこれらの製品を使用すること (以下 “特定用途” という) は意図もされていませんし、また保証もされていません。本資料に掲
載されている製品を当該特定用途に使用することは、お客様の責任でなされることとなります。
• 本資料に掲載されている製品は、外国為替および外国貿易法により、輸出または海外への提供が規制されているものです。
• 本資料に掲載されている技術情報は、製品の代表的動作・応用を説明するためのもので、その使用に際して当社および第三者の知的
財産権その他の権利に対する保証または実施権の許諾を行うものではありません。
• 本資料に掲載されている製品を、国内外の法令、規則および命令により製造、販売を禁止されている応用製品に使用することはで
きません。
• 本資料の掲載内容は、技術の進歩などにより予告なしに変更されることがあります。
91C016-1
2004-02-16
(7) LCD コントローラ
• シフトレジスタ型、RAM 内蔵型の両 LCD ドライバに対応
(8) RTC (リアルタイムクロック )
• TC8521A を基本とした仕様
(9) キーオンウェイクアップ (キー入力割り込み )
(10) ウォッチドッグタイマ
(11) メロディ/アラームジェネレータ
• メロディ: 4~5461 Hz のクロックを出力
• アラーム: 8 種類のアラームパターンを出力
• 5 種類のインタバル割り込みを出力
(12) チップセレクト/ウェイトコントローラ : 4 チャネル
(13) MMU
• 4 ローカルエリア /8 バンク方式により 105 M バイトまで拡張可能
(14) 表示データ縦横変換回路 (8 × 8)
(15) 割り込み機能 : 40 本
• CPU 9 本 ..............ソフトウエア割り込み命令、未定義命令実行違反
TMP91C016
• 内部 25 本 ..............7 レベルの優先順位の設定が可能
• 外部 9 本 ..............7 レベルの優先順位の設定が可能
(4 本はエッジの極性選択可能 )
(16) 入出力ポート : 31 端子 (
• スタンバイ機能
3 種類の HALT モード (プログラマブル IDLE2, IDLE1, STOP)
(17) DRAM コントローラ内蔵 : 1 チャネル
CAS 2 方式
•
(18) 入力電圧値比較用コンパレータ内蔵 : 3 チャネル
(19) トリプルクロック制御機能
• クロック逓倍回路 (DFM) 内蔵
• クロックギア機能: 高周波クロック fc ∼ fc/16 まで切り替え可能
• 低速クロック機能 (fs = 32.768 kHz)
(20) 動作電圧
• Vcc = 2.7 ∼3.6 V (fc max = 27 MHz)
• Vcc = 1.8 ∼3.6 V (fc max = 10 MHz)
(21) パッケージ: P-LQFP100-1414-0.50F 、またはチップ供給
詳細は当社営業窓口までお問い合わせください。
外部 16 ビットデータバスメモリ接続時)
91C016-2
2004-02-16
TMP91C016
SCLK1/ CTS1 (PC5)
VLD0~VLD2
(PB0~PB2)
VLDVCC, GND
VREF
TXD1 (PC3)
RXD1 (PC4)
OPTRX0 (P72)
OPTTX0 (P71)
VLD0~VLD2
(Detecter)
SIO/UART
(SIO1)
SIO/UART/IrDA
(SIO0)
CPU (TLCS-900/L1)
XWA
XBC
XDE
XHL
XI
XIY
XIZ
XSP
TA1OUT/SCOUT (P70)
REFOUT / LCAS / LDS (P67)
WE / UCAS / UDS (P66)
DRAMOE / EXRD (P73)
RAS (P63)
8-bit timer
(TMRA0)
8-bit timer
(TMRA1)
8-bit timer
(TMRA2)
8-bit timer
(TMRA3)
DRAMC
W
B C
D E
H L
SP
32ビット
PC
WDT
(Watchdog
timer)
I
IY
IZ
H-OSC
Clock gear,
Clock doubler
L-OSC
F SR
Port 1
Port 2
Port 5
CS/WAIT
controller
(4 blocks)
MMU
D1BSCP (PD0)
D2BLP (PD1)
D3BFR (PD2)
DLEBCD (PD3)
DOFFB (PD4)
Port 6
Port 7
Port 9
Port B
Port C
Port D
LCD
controller
HVC
conversion
Interrupt
controller
Keyboard
input
Melody/
alarm-out
RTC
DVCC [3]
DVSS [3]
X1
X2
EMU0
EMU1
XT1 (PC6)
XT2 (PC7)
RESET
M0
M1
D0~ D7
0~A7
8~A15
P10~P17 (D8~D15)
P20
~P27 (A16 ~A23)
RD
WR
HWR (P52)
WAIT (P53)/ EXWR
W /R (P56)/ MSX
CS0 (LCLK0)~ CS3 / CS2A
(P60~P63)
EA24, CS2B (P64),
EA25,
CS2C (LCK2/ VEECLK ) (P65),
EXWR (P53)
CS2D (P71)
CS2E (P72)
NMI (P74)
INT0~INT2,INT3
(PB3~PB5, P52)
KI0~KI7 (P90~P97)
MLDALM(PD7)
ALARM , MLDALM (PD6)
( ): リセット後の初期状態
図 1.1 TMP91C016 ブロック図
91C016-3
2004-02-16
2. ピン配置とピン機能
TMP91C016 のピン配置図および入出力ピンの名称と概略機能を示します。
2.1 ピン配置図
TMP91C016F ピン配置図は、図 2.1.1のとおりです。
VREF
VLD0/PB0
VLD2/PB2
P70/SCOUT/TA1OUT
P73/ DRAMOE / EXRD
VLDGND
VLDVCC
KI0/P90
KI1/P91
KI2/P92
KI3/P93
KI4/P94
KI5/P95
KI6/P96
KI7/P97
P71/OPTTX0/
P72/OPTRX0/ E2 CS
TXD1/PC3
RXD1/PC4
SCLK1/ CTS1 /PC5
HWR /INT3
P52/
P53/
WAIT / EXWR
INT2/PB5
INT1/PB4
INT0/PB3
AM0
DVCC1
VLD1/PB1
1
100
5
10
D2 CS
15
20
25
X2
PD7/MLDALM
X1
DVSS1
MLDALM
PD4
0 1 2 3 4 5 6 7 8
RD
DLBCD/PD3
D3BFR/PD2
D2BLP/PD1
DOFFB/
PD6/ALARM/
95
DVSS3
D1BSCP/PD0
90
DVCC3
WR
85
TMP91C016F
QFP100
Top view
30
RESE
PC7/XT2
PC6/XT1
図 2.1.1 ピン配置図 (100 ピン LQFP)
35
EMU1
W/MS
P61/CS1
P56/R/
P60/CS0 /LCLK0
/CS2
CS2
P63/CS3 /RAS
40
P64/EA24/CS2B
LCAS/ LDS/ REFOU
P66/UCAS /UDS /WE
P67/
P65/EA25/CS2C /LCLK2/VEECL
D0
45
D1
D2
80
D3
D4
9
75
70
65
60
55
D5
10
50
D6
TMP91C016
11
12
13
14
15
P20/A16
P21/A17
P22/A18
P23/A19
P24/A20
P25/A21
DVCC2
NMI / WE / CAS
P74/
DVSS2
P26/A22
P27/A23
P17/D15
P16/D14
P15/D13
P14/D12
P13/D11
P12/D10
P11/D9
P10/D8
D7
91C016-4
2004-02-16
TMP91C016
2.1.1 PAD座標値
表 2.1.1 PAD座標値
(チップサイズ 4.38 mm × 4.43 mm) 単位 (µm)
ピン
名称 X 座標 Y座標
No.
1 PB2 − 2057 1531 35 P56 − 239 − 2082 69 P21 2053 850
2 VLDGND − 2057 1417 36 P60 − 125 − 2082 70 P20 2053 964
3 VLDVCC − 2057 1303 37 P61 − 11 − 2082 71 A15 2053 1078
4 P90 − 2057 990 38 P62 103 − 2082 72 A14 2053 1192
5 P91 − 2057 876 39 P63 217 − 2082 73 A13 2053 1306
6 P92 − 2057 762 40 P64 331 − 2082 74 A12 2053 1420
7 P93 − 2057 648 41 P65 479 − 2082 75 A11 2053 1534
8 P94 − 2057 534 42 P66 593 − 2082 76 A10 1503 2082
9 P95 − 2057 420 43 P67 707 − 2082 77 A9 1389 2082
10 P96 − 2057 306 44 D0 821 − 2082 78 A8 1275 2082
11 P97 − 2057 192 45 D1 935 − 2082 79 A7 1160 2082
12 P70 − 2057 55 46 D2 1049 − 2082 80 A6 1046 2082
13 P71 − 2057 − 59 47 D3 1163 − 2082 81 A5 932 2082
14 P72 − 2057 − 174 48 D4 1277 − 2082 82 A4 818 2082
15 P73 − 2057 − 290 49 D5 1391 − 2082 83 A3 704 2082
16 PC3 − 2057 − 404 50 D6 1505 − 2082 84 A2 590 2082
17 PC4 − 2057 − 521 51 D7 2053 − 1534 85 A1 476 2082
18 PC5 − 2057 − 638 52 P10 2053 − 1420 86 A0 362 2082
19 P52 − 2057 − 755 53 P11 2053 − 1306 87
20 P53 − 2057 − 870 54 P12 2053 − 1192 88
21 PB5 − 2057 − 991 55 P13 2053 − 1078 89 DVCC3 20 2082
22 PB4 − 2057 − 1105 56 P14 2053 − 964 90 PD0 − 180 2082
23 PB3 − 2057 − 1219 57 P15 2053 − 850 91 DVSS3 − 294 2082
24 AM0 − 2057 − 1333 58 P16 2053 − 736 92 PD1 − 408 2082
25 DVCC1 −2057 − 1447 59 P17 2053 − 606 93 PD2 − 522 2082
26 X2 − 1507 − 2082 60 P27 2053 − 450 94 PD3 − 638 2082
27 DVSS1 −1342 − 2082 61 P26 2053 − 295 95 PD4 − 752 2082
28 X1 − 1176 − 2082 62 DVSS2 2053 − 140 96 PD6 − 866 2082
29 AM1 − 1060 − 2082 63 P74 2053 17 97 PD7 − 980 2082
RESET
30
31 PC6 − 831 − 2082 65 P25 2053 326 99 PB0 − 1388 2082
32 PC7 − 583 − 2082 66 P24 2053 482 100 PB1 − 1506 2082
33 EMU0 −467 − 2082 67 P23 2053 622
34 EMU1 −353 − 2082 68 P22 2053 736
− 946 − 2082 64 DVCC2 2053 171 98 VREF − 1274 2082
ピン
No.
名称 X 座標 Y 座標
ピン
No.
名称 X座標 Y座標
RD
WR
248 2082
134 2082
91C016-5
2004-02-16
2.2 ピン名称と機能
入出力ピンの名称と機能は、表 2.2.1 ~表 2.2.3 のとおりです。
表 2.2.1 ピン名称と機能 (1/3)
ピン名称 ピン数 入出力 機能
D0~D7 8
P10~P17
8
D8~D15
P20~P27
8
A16~A23
A8~A15 8
A0~A7 8
RD
WR
P52
HWR
1
1
1
INT3
P53
WAIT
EXWR
P56
W /R
1
1
MSK
P60
CS0
1
LCLK0
P61
CS1
CS2
CS2A
P63
3 CS
RAS
P64
1
1
1
1
EA24
CS2B
P65
1
EA25
CS2C
LCLK2
VEECLK
P66
UCAS
1
UDS
WE
入出力 デ-タ (下位): デ-タバス 0~7
入出力
入出力
ポ-ト 1: ビット単位で入出力の設定ができる入出力ポ-ト
外部 8 ビットバスで使用する際に使用できます。
デ-タ (上位): デ-タバス 8~15
出力
ポ-ト 2: 出力ポ-ト
出力
アドレス: アドレスバス 16~23
出力 アドレス: アドレスバス 8~15
出力 アドレス: アドレスバス 0~7
出力 リ-ド: 外部メモリをリ-ドするためのストロ-ブ信号
P5 <RDE > = 0 にすることによって、内部エリアをリ-ドしたときも RD が
出ます。
出力 ライト: D0~D7 端子のデ-タをライトするためのストロ-ブ信号
入出力
ポ-ト 52: 入出力ポ-ト (シュミット入力、プルアップ/プルダウン付き)
上位ライト: D8~D15 端子のデ-タをライトするためのストロ-ブ信号
出力
割り込み要求端子 3: 立ち上がり/ 立ち下がりエッジを選択可能な割り込み要
入力
求端子
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
ポ-ト 53: 入出力ポ-ト (プルアップ付き)
ウェイト: CPU へのバスウェイト要求端子です。((1 + N) WAIT モ-ド)
入力
RAM 用ライト信号。
出力
ポ-ト 56: 入出力ポ-ト (プルアップ付き)
リ-ド、ライト: “1” でリ-ドサイクルまたはダミ-サイクルを “0” でライト
出力
サイクルを示します。
外部 LCD ドライバ用昇圧クロック (VEECLK)出力要求
入力
ポ-ト 60: 入出力ポ-ト (プルアップ付き)
チップセレクト 0: アドレスが指定したアドレス領域内なら “0” を出力
出力
S/R TYPE LCDD のコマンド制御用 CS 信号
出力
ポ-ト 61: 入出力ポ-ト (プルアップ付き)
出力
チップセレクト 1: アドレスが指定したアドレス領域内なら “0” を出力
出力
チップセレクト 2: アドレスが指定したアドレス領域内なら “0” を出力
出力
拡張チップセレクト 2A: アドレスが特定のアドレス領域内なら “0” を出力
ポ-ト 63: 入出力ポ-ト (プルアップ付き)
チップセレクト 3: アドレスが指定したアドレス領域内なら “0” を出力
出力
ロ-アドレスストロ-ブ: アドレスが指定したアドレス領域内なら、
出力
DRAM 用
RAS ストロ-ブを出力
ポ-ト 64: 入出力ポ-ト (プルアップ付き)
拡張アドレス 24: デ-タエリアを拡張する際に使用するアドレスバス
出力
拡張チップセレクト 2B: アドレスが特定のアドレス領域内なら “0” を出力
出力
ポ-ト 65: 入出力ポ-ト (プルアップ付き)
拡張アドレス 25: デ-タエリアを拡張する際に使用するアドレスバス
出力
拡張チップセレクト 2C: アドレスが特定のアドレス領域内なら “0” を出力
出力
S/R TYPE LCDD のコマンド制御用 CS 信号
出力
外部 LCD ドライバ用昇圧クロック出力
出力
ポ-ト 66: 入出力ポ-ト (プルアップ付き)
上位カラムアドレスストロ-ブ: アドレスが指定したアドレス領域内で、
出力
DRAM 用上位側/CAS ストロ-ブを出力 (
出力
RAM 用上位側バイトイネ-ブル信号
出力
DRAM 用ライト信号 (8 ビットバスモ-ド )
TMP91C016
2CAS モ-ド)
91C016-6
2004-02-16
表 2.2.2 ピン名称と機能 (2/3)
ピン名称 ピン数 入出力 機能
P67
LCAS
LDS
REFOUT
P70
SCOUT
TA1OUT
P71
OPTTX0
CS2D
P72
OPTRX0
CS2E
P73
DRAMOE
EXRD
P74
NMI
WE
CAS
P90~P97
KI0~KI7
PB0
VLD0
PB1
VLD1
PB2
VLD2
PB3
INT0
PB4, PB5
INT1, INT2
PC3
TXD1
PC4
RXD1
PC5
SCLK1
CTS1
PC6
XT1
PC7
XT2
PD0
D1BSCP
1
1
1
1
1
1
入出力
入出力
入出力
入出力
入出力
入出力
8
1
1
1
1
2
1
1
1
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
1
1
1
入出力
入出力
入出力
ポ-ト 67: 入出力ポ-ト (プルアップ付き)
下位カラムアドレスストロ-ブ: アドレスが指定したアドレス領域内で、
出力
DRAM 用下位側/CAS ストロ-ブを出力 (
出力
RAM 用下位側バイトイネ-ブル信号
出力
リフレッシュアウト信号: “0” でリフレッシュサイクルが発生していること
を示します。(8 ビットバスモ-ド)
ポ-ト 70: 入出力ポ-ト (プルアップ付き)
出力
システムクロック出力: f
出力
8ビットタイマ 1 出力 : タイマ 0 またはタイマ 1 出力
FPH
ポ-ト 71: 入出力ポ-ト (プルアップ付き)
シリアル 0 送信デ-タ
出力
拡張チップセレクト 2D: アドレスが特定のアドレス領域内なら “0” を出力
出力
ポ-ト 72: 入出力ポ-ト (シュミット入力、プルアップ/プルダウン付き)
シリアル 0 受信デ-タ
入力
拡張チップセレクト 2E: アドレスが特定のアドレス領域内なら “0” を出力
出力
ポ-ト 73: 入出力ポ-ト (プルアップ付き)
DRAM 用リ-ド信号
出力
RAM 用リ-ド信号
出力
ポ-ト 74: 入出力ポ-ト (シュミット入力、プルアップ付き)
ノンマスカブル割り込み要求端子: 立ち下がりエッジの割り込み要求端子で
入力
す。プログラムにより、立ち上がりエッジでも割り込み要求可能となります。
DRAM 用ライト信号 (
出力
出力
カラムアドレスストロ-ブ: アドレスが指定したアドレス領域内で、
DRAM 用
入力
ポ-ト 90~97: 入力専用ポ-ト (シュミット入力、プルアップ付き)
入力
キ-入力 0~7: キ-オンウェイクアップ端子 0~7
RAS ストロ-ブを出力 (8 ビットアクセスのみ)
2CAS のみ)
ポ-ト B0: 入出力ポ-ト (プルアップ付き)
入力
メイン電源電圧監視用入力端子です。電圧が設定電圧以下になったときにレ
ベル割り込み要求されます。
ポ-ト B1: 入出力ポ-ト (プルアップ付き)
入力
バックアップ電源電圧監視用入力端子です。電圧が設定電圧以下になったと
きに、エッジ割り込み要求されます。
ポ-ト B2: 入出力ポ-ト (プルアップ付き)
入力
マイコン電源電圧監視用入力端子です。電圧が設定電圧以下になったとき
に、エッジ割り込み要求されます。
ポ-ト B3: 入出力ポ-ト (シュミット入力、プルアップ付き)
割り込み要求端子 0: レベル/ 立ち上がり/ 立ち下がりエッジを選択可能な
入力
割り込み要求端子です。
ポ-ト B4, B5: 入出力ポ-ト (シュミット入力、プルアップ/プルダウン付き)
入力
割り込み要求端子 1, 2: 立ち上がり/ 立ち下がりエッジを選択可能な
割り込み要求端子です。
ポ-ト C0: 入出力ポ-ト (プルアップ付き)
出力
シリアル 1 送信デ-タ
プログラムによりオ-プンドレイン出力端子となります。
ポ-ト C1: 入出力ポ-ト (シュミット入力、プルアップ/プルダウン付き)
入力
シリアル 1 受信デ-タ
ポ-ト C2: 入出力ポ-ト (シュミット入力、プルアップ/プルダウン付き)
シリアル 1 クロック入出力
シリアル 1 デ-タ送信可能 (Clear to send)
入力
ポ-ト C6: 入出力ポ-ト (オ-プンドレイン出力端子)
入力
低周波発振器接続端子です。
ポ-ト C7: 入出力ポ-ト (オ-プンドレイン出力端子)
出力
低周波発振器接続端子です。
ポ-ト D0: 入出力ポ-ト (プルアップ付き)
出力
LCD ドライバ用出力端子です。
TMP91C016
2CAS モ-ド)
または fs を出力
91C016-7
2004-02-16
表 2.2.3 ピン名称と機能 (3/3)
ピン名称 ピン数 入出力 機能
PD1
D2BLP
PD2
D3BFR
PD3
DLEBCD
PD4
DOFFB
PD6
ALARM
MLDALM
PD7
MLDALM
AM0~AM1
EMU0 1
EMU1 1
RESET
VREF 1
VLDVCC 1
VLDGND 1
X1/X2 2
DVCC 3
DVSS 3
1
1
1
1
1
1
2
1
入出力
入出力
入出力
入出力
入出力
入出力
入出力 発振子接続端子
ポ-ト D1: 入出力ポ-ト (プルアップ付き)
出力
LCD ドライバ用出力端子です。
ポ-ト D2: 入出力ポ-ト (プルアップ付き)
出力
LCD ドライバ用出力端子です。
ポ-ト D3: 入 出力ポ-ト (プルアップ付き)
出力
LCD ドライバ用出力端子です。
ポ-ト D4: 入出力ポ-ト (プルアップ付き)
出力
LCD ドライバ用出力端子です。
ポ-ト D6: 入出力ポ-ト (プルアップ付き)
RTC アラ-ム出力端子です。
出力
メロディ/ アラ-ム用出力の論理反転出力端子です。
出力
ポ-ト D7: 入出力ポ-ト (プルアップ付き)
出力
メロディ/アラ-ム用出力端子です。
入力 動作モ-ド:
(外部 16 ビットバス固定、もしくは外部 8/16 ビットバス混在時)
AM1 = “0”, AM0 = “1” に固定してください。
(外部 8 ビットバス固定時)
AM1 = “0”, AM0 = “0” に固定してください。
出力 “開放” してください。
出力 “開放” してください。
入力 リセット: LSI を初期化します。(シュミット入力、プルアップ付き)
入力 低速発振器電源、RTC 電源、低電圧検出器基準電源として使用します。
低電圧検出器電源端子
低電圧検出器 GND 端子 (0 V)
電源端子 (全 DVCC 端子を電源に接続してください。)
GND 端子 (全 DVSS 端子を GND (0 V) に接続してください。 )
TMP91C016
91C016-8
2004-02-16
TMP91C016
3. 動作説明
ここでは、TMP91C016 の機能および基本動作について、ブロックごとに説明します。
なお、本章の最後に 6. 「使用上の注意、制限事項」 としてブロック別の注意、制限事項などを掲載してい
ますのでご確認ください。
3.1 CPU
TMP91C016 には、高性能な 16 ビット CPU (900/L1-CPU) が内蔵されています。CPU の動作
については、前章の “TLCS-900/L1 CPU” を参照してください。
ここでは、“TLCS-900/L1 CPU” にて説明されていない TMP91C016 独自の CPU 機能について
説明します。
3.1.1 リセット動作
本デバイスにリセットをかけるには、電源電圧が動作範囲内であり、かつ、内部高周波発振
器の発振が安定した状態で、少なくとも 10 システムクロック間 (4 MHz クロック発振時で 80
µ s)、
RESET 入力を Low レベルにしてください。また、電源投入時は RESET 入力が Low レベ
ルで、電源電圧が動作範囲内になり、かつ、内部高周波発振器の発振が安定した状態で、少な
くとも 10 システムクロック間、
なお、リセット動作にてクロックギアは 1/16 モードに初期化されるので、システムクロッ
ク f
は、fc/32 ( = fc/16 × 1/2) となります。
SYS
リセットが受け付けられると、 CPU は、
RESET 入力の Low レベルを保持してください。
• プログラムカウンタ PC をアドレス FFFF00H~FFFF02H に格納されているリセット
ベクタに従いセット
PC<7:0> ← アドレス FFFF00H の値
PC<15:8> ← アドレス FFFF01H の値
PC<23:16> ← アドレス FFFF02H の値
• スタックポインタ XSP を 100H にセット
• ステータスレジスタ SR の IFF2~IFF0 ビットを “111” にセット (割り込みレベルのマ
スクレジスタをレベル 7 にセット)
• ステータスレジスタ SR の MAX ビットを “1” にセット (マキシマムモードにセット)
• ステータスレジスタ SR の RFP2~RFP0 ビットを “000” にクリア (レジスタバンクを
0 にセット)
を行い、リセットが解除されると、セットされた PC に従い命令の実行を開始します。なお、
上記以外の CPU 内部のレジスタは、変化しません。
また、リセットが受け付けられると、内蔵 I/O およびポート, その他の端子は、下記のとお
りとなります。
• 内蔵 I/O のレジスタを初期化
• ポート端子 (内蔵 I/O 用にも使える兼用端子を含む) を、汎用入力ポートまたは汎用出
力ポートのモードにセット
注) リセット動作により、CPU レジスタの PC, SR, XSP 以外のレジスタのデータは変化
しません。
図 3.1.1 に TMP91C016 のリセットタイミングチャートを示します。
91C016-9
2004-02-16
TMP91C016
リード
ライ ト
Data-in
0FFFF00H
リードサイクルで始まる )
(リセット解除後は、 2 ウェイトの
サンプリング
(P52 入力モード )
サンプリング
Data-in
Data-out
内部でプルアップを示します。
ハイインピーダンスを示します。
FPH
f
RESET
A23~A0
CS2
CS0, CS1, CS3
RD
D0~D15
WR
D0~D15
HWR
XT1, XT2
図 3.1.1 TMP91C016 リセットタイミングチャート
91C016-10
2004-02-16
3.2 メモリマップ
TMP91C016 のメモリマップを、図 3.2.1に示しています。
注) アドレス 000FE0H~00FE7H のエリアは RAM 内蔵 LCD ドライバ用にアサインしているため外部エリアとなり
ます。
000000H
000100H
000FE0H
000FE7H
010000H
FFFF00H
FFFFFFH
内蔵 I/O
(4 Kバイト)
外部メモリ
ベクタテーブル (256バイト
TMP91C016
ダイレクト
エリア
64 Kバイトエリア
(nn)
16 Mバイトエリア
(R)
(−R)
(R+ )
(R + R8/16)
(R + d8/16)
(nnn)
( = 内部エリア )
図 3.2.1 メモリマップ
91C016-11
2004-02-16
3.3 トリプルクロック/スタンバイ制御、ノイズ低減機能
低消費電力、低ノイズ化のためにクロックギア、クロック逓倍回路 (DFM) 、スタンバイ制御回
路、ノイズ低減回路などを内蔵しています。
この章は下記のような構成になっています。
3.3.1 クロック系統ブロック図
3.3.2 SFR 説明
3.3.3 システムクロック制御部
3.3.4 プリスケーラクロック制御部
3.3.5 クロック逓倍回路 (DFM)
3.3.6 ノイズ低減回路
3.3.7 スタンバイ制御部
TMP91C016
91C016-12
2004-02-16
TMP91C016
クロックの動作モードとしては、シングルクロックモード (X1, X2 端子のみ) とデュアルクロッ
クモード (X1, X2 と XT1, XT2 端子) とトリプルクロックモード (X1, X2 と XT1, XT2 端子と DFM)
の 3 モードがあります。
図 3.3.1 に動作モード別状態遷移図を示します。
IDLE2モード
(I/O動作 )
IDLE1モード
(発振器のみ動作 )
命
令
割
り
込
み
令
命
み
込
り
割
(a) シングルクロックモード状態遷移図
命
IDLE2モード
(I/O動作 )
IDLE1モード
(発振器のみ動作 )
IDLE2モード
(I/O動作 )
IDLE1モード
(発振器のみ動作 )
令
割
り
込
み
命 令
み
込
り
割
命
令
割
り
込
み
命 令
み
込
り
割
(b) デュアルクロックモード状態遷移図
リセット
/32)
(f
OSCH
リセット解除
NORMALモード
(f
/ギア値 /2)
OSCH
リセット
/32)
(f
OSCH
リセット解除
NORMALモード
(f
/ギア値 /2)
OSCH
命
令
SLOWモード
(fs/2)
命 令
割り込み
命
割り込み
令
命
STOPモード
(全回路停止 )
令
STOPモード
(全回路停止 )
IDLE2モード
(I/O動作 )
IDLE1モード
(発振器のみ動作 )
割
割
命
り
込
命 令
込
り
令
み
み
IDLE2モード
(I/O動作 )
IDLE1モード
(発振器 + DFM動作 )
(4 × f
命
令
注 2)
NORMALモード
/ギア値 /2)
OSCH
(DFM使用 )
(c) トリプルクロックモード状態遷移図
リセット
/32)
(f
OSCH
リセット解除
NORMALモード
(f
/ギア値 /2)
OSCH
命令
STOPモード
(全回路停止 )
命 令
注 1)
割り
込み
命
命
令
割
り
込
令
み
SLOWモード
(fs/2)
IDLE2モード
(I/O動作 )
IDLE1モード
(発振器のみ動作 )
注 1) SLOW モードから DFM 使用 NORMAL モードへの移行時に、 SLOW モードからの DFM 制御はできません。
(DFM 起動・停止・内部クロック切り替え: DFMCR0<ACT1:0> レジスタへの書き込み)
注 2) DFM 使用 NORMAL モードから NORMAL モードへの移行時には CPU クロック切り替え → DFM 回路停止の
順序で 2 回に分けて命令を行ってください。
注 3) DFM 使用 NORMAL モードから直接 STOP モードへは移行できません。必ず、一度 NORMAL モードを経由
してから STOP モードへ移行してください。(高周波発振停止は DFM を停止した後に行ってください。)
図 3.3.1 動作モード別状態遷移図
X1, X2 端子より入力されるクロック周波数を f
波数を fs 、SYSCR1<SYSCK> で選択されたクロックを f
をシステムクロック f
と定義します。また、この f
SYS
、 XT1, XT2 端子より入力されるクロック周
OSCH
FPH、fFPH
の 1 周期を 1 ステートと定義します。
SYS
を 2 分周したクロック周波数
91C016-13
2004-02-16
3.3.1 クロック系統ブロック図
TMP91C016
SYSCR0
<XTEN, RXTEN>
XT1
XT2
低速
発振器
fs
SYSCR0
X1
X2
<XEN, RTEN>
高速
発振器
DFM (クロック
f
OSCH
SYSCR0<WUEF>
SYSCR2<WUPTM1:0>
DFMCR0<ACT1:0, DLUPTM>
ウォームアップ (高速・低速発振器用 )/
× 4
タイマ
fc
fc/2
fc/4
÷ 2 ÷ 16÷4 ÷ 8
クロックギア
ロックアップ (DFM 用)
f
= f
DFM
OSCH
セレクタ
逓倍回路)
DFMCR0<ACT1:0>
fc/8
fc/16
SYSCR1<GEAR2:0>
SYSCR0
<PRCK1:0>
fc/16
f
FPH
÷ 2
SYSCR1<SYSCK>
÷2 ÷4
φT
φT0
fs
f
SYS
f
SYS
φ T0
TMRA0∼ TMRA3
プリスケーラ
SIO0∼ SIO1
CPU
割り込み
コントローラ
fs
プリスケーラ
WDT
I/Oポート
RTC
LCDC
MLD/ALM
図 3.3.2 デュアルクロック、スタンバイ関連のブロック図
91C016-14
2004-02-16
TMP91C016
3.3.2 SFR 説明
7 6 5 4 3 2 1 0
SYSCR0
(00E0H)
SYSCR1
(00E1H)
SYSCR2
(00E2H)
VLDCTL
(0449H)
Bit symbol XEN XTEN RXEN RXTEN RSYSCK WUEF PRCK1 PRCK0
Read/Write R/W
リセット後
機 能
1 1 1 0 0 0 0 0
高速
発振器
0: 停止
1: 発振
低速
発振器
0: 停止
1: 発振
STOP モード
解除後の
高速
発振器
0: 停止
1: 発振
STOP モード
解除後の
低速
発振器
0: 停止
1: 発振
STOP モード
解除後の
クロック
選択
0: 高速
1: 低速
発振器用
ウォームア
ップタイマ
(WUP) 制御
0 ライト :
Don’t care
1 ライト :
WUP
スタート
0 リード :
WUP 終了
1 リード
WUP 中
プリスケーラクロック選択
00: f
FPH
01: Reserved
10: fc/16
11: Reserved
Bit symbol SYSCK GEAR2 GEAR1 GEAR0
Read/Write R/W
リセット後
機 能
0 1 0 0
高速クロックのギア選択
000: 高速クロック
001: 高速クロック /2
010: 高速クロック /4
011: 高速クロック /8
システム
クロック
選択
0: 高速 (fc)
1: 低速 (fs)
100: 高速クロック /16
101:
110: Reserved
111:
Bit symbol SCOSEL WUPTM1 WUPTM0 HALTM1 HALTM0 SELDRV DRVE
Read/Write R/W R/W R/W R/W R/W R/W R/W
リセット後
機 能
0 1 0 1 1 0 0
0: fs
1: f
FPH
発振器用 WUP 時間選択
00: Reserved
8
01: 2
/入力周波数
14
10:2
/入力周波数
16
11:2
/入力周波数
HALT モード選択
00: Reserved
01: STOP モード
10: IDLE1 モード
11: IDLE2 モード
<DRVE>
使用モード
選択
0:
STOP
1:
IDLE1
1: STOP
IDLE1
モードで端
子をドライ
ブします。
Bit symbol XT1VSEL VLD2USE VLD1USE VLD0USE
Read/Write W R/W R/W R/W
リセット後
機 能
0 0 0 0
0: Vcc駆動
: Vref駆動
1
0: VLD未使用
1: VLD使用
0: VLD未使用
1: VLD使用
0: VLD未使用
1: VLD使用
注 1) SYSCR1<Bit7:4>, SYSCR2<Bit7> は、リードすると不定値が読み出されます。
注 2) 低速発振器はリセットにより発振許可となります。
図 3.3.3 クロック関係 SFR
91C016-15
2004-02-16
記号 名称 アドレス
DFM
DFMCR0
DFMCR1
control
register 0
DFM
control
register 1
DFM 使用に関する制約
E8H
E9H
TMP91C016
7 6 5 4 3 2 1 0
ACT1 ACT0 DLUPFG DLUPTM
R/W R/W R R/W
0 0 0 0
DFM LUP
停止
00
動作
01
動作
10
動作
11
停止
動作
停止
停止
f
FPH
選択
f
OSCH
f
OSCH
f
DFM
f
OSCH
ロック
アップ
(LUP)フラグ
0: LUP 終了
1: LUP 中
D7 D6 D5 D4 D3 D2 D1 D0
R/W R/W R/W R/W R/W R/W R/W R/W
0 0 0 1 0 0 1 1
入力周波数 4~6.75 MHz (@ 2.7 V~3.6 V) では 0BH をライトしてください。
入力周波数 2~2.5 MHz (@ 2 V ± 10%) では 1BH をライトしてください。
図 3.3.4 DFM 関係 SFR
ロック
アップ
時間選択
0: 212/f
OSCH
1: 210/f
OSCH
DFM 補正
(1) DFM の起動・停止などの制御は SLOW モード (fs) では行わないでください
(DFMCR0<ACT1:0>レジスタへの書き込み)。この制御は NORMAL モードから行う必要
があります。
(2) DFM を使用している状態 (DFMCR0<ACT1:0> = “10”) から DFM 動作を停止する場合は、
f
DFM
→ f
切り替えと DFM 停止を同時に行わず 2 回に分けた手順にて行ってくださ
OSCH
い。
LD (DFMCR0), C0H ; f
LD (DFMCR0), 00H ;
→ f
DFM
DFM 停止
OSCH
切り替え
(3) DFM を使用している状態 (DFMCR0<ACT1:0> = “10”) から高周波発振器を停止する場
合は、DFM を停止してから高周波発振器を停止してください。
詳細は 3.3.5 「クロック逓倍回路 (DFM)」 を参照してください。
91C016-16
2004-02-16
EMCCR0
(00E3H)
EMCCR1
(00E4H)
EMCCR2
(00E5H)
EMCCR3
(00E6H)
EMCCR4
(00E7H)
TMP91C016
7 6 5 4 3 2 1 0
Bit symbol
Read/Write R R/W R/W R/W R/W R/W R/W R/W
リセット後
機 能
Bit symbol
Read/Write
リセット後
機 能
Bit symbol
Read/Write
リセット後
機 能
Bit symbol ENFROM ENDROM ENPROM FFLAG DFLAG PFLAG
Read/Write R/W R/W R/W R/W R/W R/W
リセット後
機 能
Bit symbol
Read/Write
リセット後
機 能
注) Vcc = 2 V ± 10% では EMCCR0<DRVOSCH> は “1” 固定に設定してください。
PROTECT – – – – EXTIN DRVOSCH DRVOSCL
0 0 1 0 0 0 1 1
プロテクト
フラグ
0: OFF
1: ON
“0” をライト
してくださ
い。
“1” をライト
してくださ
い。
“0” をライト
してくださ
い。
“0” をライト
してくださ
い。
1: fc 外部
クロック
fc 発振器
ドライブ能力
1: NORMAL
0: WEAK
fs 発振器
ドライブ能力
1: NORMAL
0: WEAK
下記 1st-KEY, 2nd-KEY の書き込みによりプロテクト ON/OFF 切り替わり
1st-KEY: EMCCR1 = 5AH,EMCCR2 = A5H を連続ライト
2nd-KEY: EMCCR1 = A5H,EMCCR2 = 5AH を連続ライト
0 0 0 0 0 0
CS1A エリア
検出許可
0: 禁止
1: 許可
CS2B-2G エ
リア検出許可
0: 禁止
1: 許可
CS2A エリア
検出許可
0: 禁止
1: 許可
CS1A ライト
動作フラグ
“0” 読み出し :
ライトなし
“1” 読み出し :
ライトあり
CS2B-2G
ライト
動作フラグ
“0” 読み出し:
ライトなし
“1” 読み出し:
ライトあり
TA3MLDE3 TA3LCDE
CS2A ライト
動作フラグ
“0” 読み出し :
ライトなし
“1” 読み出し :
ライトあり
R/W R/W
0 0
MLD 回路
クロック
切り替え
0: 32 kHz
1: タイマ 3
LCD 回路
クロック
切り替え
0: 32 kHz
1: タイマ 3
図 3.3.5 ノイズ関係 SFR
91C016-17
2004-02-16
3.3.3 システムクロック制御部
TMP91C016
システムクロック制御部は、 CPU コアおよび内蔵 I/O へ供給されるシステムクロック (f
SYS
を生成する回路です。高速/ 低速の 2 つの発振回路と、DFM (クロック逓倍回路) から出力され
る fc, fs クロックを入力として、SYSCR1<SYSCK> レジスタにて高速/ 低速の切り替え、
SYSCR0<XEN>, <XTEN> でそれぞれ高速, 低速発振器の発振制御、さらに
SYSCR1<GEAR2:0> で高速クロックのギアを 1, 2, 4, 8, 16 段 (fc, fc/2, fc/4, fc/8, fc/16) に切り
替え、消費電力の低減を図ることができます。
リセットによりデュアルクロックモードになり、<XEN> = “1” , <XTEN> = “1”, <SYSCK> =
“0”, <GEAR2:0> = “100” に初期化されますので、システムクロック f
となります。例えば、X1, X2 端子に 16 MHz の発振子を接続していると、リセットにより f
は fc/32 ( = fc/16 × 1/2)
SYS
SYS
は 0.5 MHz となります。
また、TMP91C016 では VREF 端子に別電源を追加することで低周波クロックの消費電流
を低減させることができます。VLDCTL<XTVSEL> にて制御します。
(1) NORMAL ↔ SLOW モードの切り替え
発振子接続端子に発振子を接続している場合、発振子の発振安定を確認してから切り替
えるためにウォームアップタイマがあります。ウォームアップ時間は発振子の特性に合わ
せて SYSCR2<WUPTM1:0> により選択できます。このスタート, 終了確認は
SYSCR0<WUEF> を使用し、ソフト (命令) により下記設定例 1, 2 のように行ってくださ
い。
表 3.3.1 に切り替え時のウォームアップ時間を示します。
)
ウォームアップ
タイム選択
SYSCR2<WUPTM1:0>
01 (28/発振周波数 )
10 (214/発振周波数 )
11 (216/発振周波数 )
注 1) 切り替えようとするクロックが発振器などを使用しており、発振安定している場
合はウォームアップさせる必要はありません。
注 2) ウォームアップタイマは、発振クロックで動作しているため、発振周波数にゆら
ぎがある場合は誤差を含みます。従って、ウォームアップ時間は概略時間として
とらえる必要があります。
表 3.3.1 ウォームアップ時間 (クロック切り替え時)
計算値は
= 16 MHz,
NORMAL へ切り替え時 (fc) SLOW へ切り替え時 (fs)
16 [µ s] 7.8 [ms]
1.024 [ms] 500 [ms]
4.096 [ms] 2000 [ms]
f
OCSH
fs = 32.768 kHz の
場合です。
91C016-18
2004-02-16
TMP91C016
設定例 1
高速クロック (fc) から低速クロック (fs) へ切り替える場合
SYSCR0 EQU 00E0H
SYSCR1 EQU 00E1H
SYSCR2 EQU 00E2H
LD (SYSCR2), X−11− −X− B ;
SET 6, (SYSCR0) ;
SET 2, (SYSCR0) ;
WUP: BIT 2, (SYSCR0) ;
JR NZ, WUP ;
SET 3, (SYSCR1) ;
RES 7, (SYSCR0) ;
ウォームアップ時間を 2
低速発振イネーブル
ウォームアップタイマ クリア&スタート
ウォームアップ終了検出
高速 → 低速へ切り替え
高速発振ディセーブル
16
/fs に設定
X: Don't care、− : No change
<XEN>
X1, X2端子
<XTEN>
XT1, XT2端子
ウォームアップタイマ
ウォームアップ終了
<SYSCK>
システムクロック f
SYS
f
でカウントアップ
SYS
fsでカウントアップ
高速
低速
低速発振
イネーブル
ウォームアップタイマ
クリア& スタート
ウォームアップ終了
高速→ 低速
切り替え
高速発振
ディセーブル
91C016-19
2004-02-16
TMP91C016
設定例 2
低速クロック (fs) から高速クロック (fc) へ切り替える場合
SYSCR0 EQU 00E0H
SYSCR1 EQU 00E1H
SYSCR2 EQU 00E2H
LD (SYSCR2), X−10− −X− B ;
SET 7, (SYSCR0) ;
SET 2, (SYSCR0) ;
WUP: BIT 2, (SYSCR0) ;
JR NZ, WUP ;
RES 3, (SYSCR1) ;
RES 6, (SYSCR0) ;
X: Don’t care、− : No change
ウォームアップ時間を 2
高速発振イネーブル
ウォームアップタイマ クリア&スタート
ウォームアップ終了検出
低速 → 高速へ切り替え
低速発振ディセーブル
14
/fc に設定
<XEN>
X1, X2端子
<XTEN>
XT1, XT2端子
ウォームアップタイマ
ウォームアップ終了
<SYSCK>
システムクロック f
SYS
f
でカウントアップ
SYS
fcでカウント アップ
低速
高速
高速発振
イネーブル
ウォームアップ
タイマクリア& スタート
低速→ 高速
切り替え
ウォームアップ
終了
低速発振
ディセーブル
91C016-20
2004-02-16
TMP91C016
(2) クロックギア切り替え
SYSCR1<SYSCK> = “0” にて高速クロック fc を選択した場合、クロックギア選択レジ
スタ SYSCR1<GEAR2:0> により f
す。クロックギアを使用して f
FPH
を fc, fc/2, fc/4, fc/8, fc/16 のいずれかに設定できま
FPH
を切り替えることにより、消費電力の低減が図れます。
下記に、クロックギアの切り替え例を示します。
設定例
高速クロックのギア切り替え
SYSCR1 EQU 00E1H
LD (SYSCR1), XXXX0000B ; システムクロック f
X: Don’t care
を fc/2 へ切り替え
SYS
(高速クロックギア切り替え時の注意点)
クロックギアの切り替えは、設定例のように SYSCR1<GEAR2:0> レジスタへ値を書き
込むことにより実行されますが、書き込んだ後、すぐには切り替らず数クロックの実行時
間が必要となります。よって、クロックギア切り替え命令の次の命令は、切り替え前のク
ロックギアで実行する場合があります。クロックギア切り替え命令の次の命令から切り替
え後のクロックで実行すべき場合は、下記例のようなダミーの命令 (ライトサイクルが実
行される命令) を挿入してください。
例 :
SYSCR1 EQU 00E1H
LD (SYSCR1), XXXX0001B ; f
LD (DUMMY), 00H ;
を fc/4 へ切り替え
SYS
ダミー命令
切り替え後のクロックギアで
実行すべき命令
(3) 内部クロックの端子出力機能
内部クロック f
または f sを P70 (TA1OUT, SCOUT) 端子から出力できます。
FPH
ポート7関係のレジスタ P7CR<P70F> = “1”, P7FC<P70F> = “0”, P7FC2<P70F2> =
“1” に設定することにより P70 端子は SCOUT 出力端子になります。出力クロックの選択
は SYSCR2<SCOSEL> によって設定します。
表 3.3.2 HALT モード別 SCOUT 出力状態
HALT モード
SCOUT 選択
<SCOSEL> = “0”
<SCOSEL> = “1” f
NORMAL モード ,
SLOW モード
fs クロックを出力します。
クロックを出力します。
FPH
HALT モード
IDLE2 モード IDLE1 モード STOP モード
“0” または “1” に固定されます。
91C016-21
2004-02-16
3.3.4 プリスケーラ クロック制御部
内蔵 I/O (TMRA01~TMRA23, SIO0~SIO1) には、それぞれにクロックを分周するプリスケ
ーラがあります。
TMP91C016
これらのプリスケーラへ入力するクロック φT0 は、 f
SYSCR0<PRCK1:0> で選択されたクロックを 4 分周したクロックです。
3.3.5 クロック逓倍回路 (DFM)
高速発振器の出力クロック f
より、発振器の周波数は低く内部クロックは高速にすることが可能です。
リセットにより DFM は停止状態となりますので、DFM を使用する場合は DFMCR0 レジ
スタへの設定が必要です。
この DFM はアナログ回路で構成されるため、動作許可後に発振器と同じように安定時間 (ロ
ックアップタイム) が必要となります。また、使用条件によって補正が必要です (注)。
下記に DFM を使用し、fc を 4 逓倍したクロックに切り替える場合の設定例を示します。
設定例: f
DFMCR0 EQU 00E8H
DFMCR1 EQU 00E9H
LD (DFMCR1), 00001011B ;
LD (DFMCR0), 01X0XXXXB ;
LUP: BIT 5, (DFMCR0) ;
JR NZ, LUP ;
LD (DFMCR0), 10X0XXXXB ;
= 4 MHz で fc を 4 MHz から 16 MHz へ切り替える場合
OSCH
を 4 逓倍した f
OSCH
, fc/16 の 2 種類から
FPH
クロックを出力する回路です。これに
DFM
DFM パラメータ設定
ロックアップ時間を 2
DFM 動作許可、ロックアップスタート
ロックアップ終了検出
fc を 4 MHz → 16 MHz へ切り替え
(f
を 2 MHz → 8 MHz へ切り替え )
SYS
12
/4 MHz にし、
ロックアップタイマ
システムクロックf
X: Don’t care
ACT1~ACT0
DFM出力 : f
<DLUPFG>
DFM
SYS
f
をカウントアップ
OSCH
DFM動作スタート、
ロックアップスタート
ロックアップ中
ロックアップ終了
4 MHz → 16 MHz
へ切り替え
ロックアップ
終了
10 01
注 ) DFM への入力周波数制限
DFM への入力周波数 (高速発振器の周波数 ) は下記の範囲内で使用してください。
・ f
・ f
= 4 MHz~6.75 MHz (VCC = 2.7 V~3.6 V): DFMCR1 に 0BH を書き込み
OSCH
= 2 MHz~2.5 MHz (VCC = 2 V ± 10%): DFMCR1 に 1BH を書き込み
OSCH
91C016-22
2004-02-16
TMP91C016
DFM 使用に関する制約
1. DFM の起動・停止などのコマンドは SLOW モード (f
) では行わないでください。
S
(DFMCR0<ACT1:0> レジスタへの書き込み )
この制御は NORMAL モードから行う必要があります。
2. DFM を使用している状態 (DFMCR0<ACT1:0> = “10”) から DFM 動作を停止する場合は、
f
DFM
→ f
切り替えと DFM 停止を同時に行わず 2 回に分けた手順にて行ってくださ
OSCH
い。
LD (DFMCR0), C0H ; f
LD (DFMCR0), 00H ;
→ f
DFM
DFM 停止
OSCH
切り替え
3. DFM を使用している状態 (DFMCR0<ACT1:0> = “10”) から高周波発振器を停止する場合
は、DFM を停止してから高周波発振器を停止してください。
設定例を下記に示します。
(1) 起動モード/切り替え制御
(OK) 低周波発振動作モード (fs) (高周波発振停止 ) → 高周波発振起動
→ 高周波発振動作モード (f
) → DFM 起動 → DFM 使用モード(f
OSCH
DFM
)
LD (SYSCR0), 1 1 − − − 1 − − B;
WUP: BIT 2, (SYSCR0) ;
JR NZ, WUP ;
LD (SYSCR1), − − − − 0 − − − B; システムクロックを fs から f
LD (DFMCR0), 0 1 − 0 − − − − B;
LUP: BIT 5, (DFMCR0) ;
JR NZ, LUP ;
LD (DFMCR0), 1 0 − 0 − − − − B; システムクロックを f
高周波発振起動/ ウォームアップスタート
ウォームアップ終了フラグチェック
へ切り替え
OSCH
DFM 起動/ロックアップスタート
ロックアップフラグ終了チェック
OSCH
から f
DFM
へ切り替え
(OK) 低周波発振動作モード (fs) (高周波発振動作 ) → 高周波発振動作モード (f
→ DFM 起動 → DFM 使用モード (f
DFM
)
OSCH
)
LD (SYSCR1), − − − − 0 − − − B; システムクロックを f Sから f
LD (DFMCR0), 0 1 − 0 − − − − B
LUP: BIT 5, (DFMCR0) ;
JR NZ, LUP ;
LD (DFMCR0), 1 0 − 0 − − − − B; システムクロックを f
DFM 起動/ロックアップスタート
ロックアップフラグ終了チェック
OSCH
OSCH
から f
へ切り替え
へ切り替え
DFM
(Error) 低周波発振動作モード (fs) (高周波発振停止) → 高周波発振起動 → DFM 起動
→ DFM 使用モード (f
DFM
)
LD (SYSCR0), 1 1 − − − 1 − − B;
WUP: BIT 2, (SYSCR0) ;
JR NZ, WUP ;
LD (DFMCR0), 0 1 − 0 − − − − B;
LUP: BIT 5, (DFMCR0) ;
JR NZ, LUP ;
LD (DFMCR0), 1 0 − 0 − − − − B; 内部クロックを f
LD (SYSCR1), − − − − 0 − − − B; システムクロックを fs から f
高周波発振起動/ ウォームアップスタート
ウォームアップ終了フラグチェック
DFM 起動/ ロックアップスタート
ロックアップフラグ終了チェック
OSCH
から f
DFM
DFM
へ切り替え
へ切り替え
91C016-23
2004-02-16
(2) 停止 /モード切り替え制御
TMP91C016
(OK) DFM 使用モード (f
) → 高周波発振動作モード (f
DFM
) → DFM 停止
OSCH
→ 低周波発振動作モード (fs) → 高周波発振器停止
LD (DFMCR0), 1 1 − − − − − − B; システムクロックを f
LD (DFMCR0), 0 0 − − − − − − B;
LD (SYSCR1), − − − − 1 − − − B; システムクロックを f
LD (SYSCR0), 0 − − − − − − − B;
DFM 停止
高周波発振器停止
から f
DFM
OSCH
OSCH
から fs へ切り替え
へ切り替え
(Error) DFM 使用モード (f
) → 低周波発振動作モード (fs) → DFM 停止
DFM
→ 高周波発振器停止
LD (SYSCR1), − − − − 1 − − − B; システムクロックを f
LD (DFMCR0), 1 1 − − − − − − B; 内部クロック (f
LD (DFMCR0), 0 0 − − − − − − B;
LD (SYSCR0), 0 − − − − − − − B;
DFM 停止
高周波発振器停止
C
) を f
から fs へ切り替え
DFM
から f
DFM
OSCH
へ切り替え
(OK) DFM 使用モード (f
) → STOP モード設定 → 高周波発振動作モード (f
DFM
OSCH
)
→ DFM 停止 → HALT (高周波発振器停止)
LD (SYSCR2), − − − − 01− − B;
LD (DFMCR0), 1 1 − − − − − − B; f
LD (DFMCR0), 0 0 − − − − − − B;
HALT ;
STOP モード設定
(設定順番は DFM 使用以前でも OK)
から f
DFM
DFM 停止
STOP モードへ移行
OSCH
へ切り替え
(Error) DFM 使用モード (f
) → STOP モード設定 → HALT (高周波発振器停止 )
DFM
LD (SYSCR2), − − − − 01− − B;
HALT ;
STOP モード設定
(設定順番は DFM 使用以前でも OK)
STOP モードへ移行
91C016-24
2004-02-16
3.3.6 ノイズ低減回路
EMI (不要輻射ノイズ) の低減、EMS (耐ノイズ対策) の強化を目的として、以下のような特
長を実現する回路を内蔵しています。
(1) 高速発振器のドライブ能力低減
(2) 低速発振器のドライブ能力低減
(3) 高速発振器のシングルドライブ化
(4) SFR プロテクトレジスタによる暴走対策
(5) ROM プロテクトレジスタによる暴走対策
(1)∼ (5) は、 EMCCR0~EMCCR3 レジスタによる設定が必要です。
以下に (1)~(5)について説明します。
(1) 高速発振器のドライブ能力低減
TMP91C016
(目的)
外部に発振子を接続する場合に、発振器から出力される発振ノイズの抑制、発振器
の低消費電力化のため
(ブロック図)
f
OSCH
C1
発振子
C2
X1 端子
発振イネーブル ( >< + EXTINEMCCR0 STOP )
EMCCR0<DRVOSCH>
2 端子
(設定方法 )
EMCCR0<DRVOSCH> に “0” をライトすることにより発振器のドライブ能力は
低減します。リセットにより、<DRVOSCH> は “1” に初期化されますので、電源投
入時はノーマルのドライブ能力で発振開始します。Vcc = 2.0 V ± 10 %では
<DRVOSCH> を “0” に設定しないでください。
91C016-25
2004-02-16
(2) 低速発振器のドライブ能力低減
(目的 )
外部に発振子を接続する場合に、発振器から出力される発振ノイズの抑制、発振器
の低消費電力化のため
(ブロック図)
TMP91C016
C1
子
C2
T1 端子
発振イネーブル
EMCCR0<DRVOSCL>
fs
XT2 端子
(設定方法 )
EMCCR0<DRVOSCL> に “0” をライトすることにより発振器のドライブ能力は低
減します。リセットにより、<DRVOSCL> は “1” に初期化されますので、電源投入
時はノーマルのドライブ能力で発振開始します。
(3) 高速発振器のシングルドライブ化
(目的 )
外部に発振器を接続する場合に、ツインドライブの不要化、X2 端子解放時にノイ
ズ混入による誤動作防止のため
(ブロック図)
f
OSCH
X1 端子
発振イネーブル ( >< + EXTINEMCCR0 STOP )
EMCCR0<DRVOSCH>
X2 端子
(設定方法 )
EMCCR0<EXTIN> に “1” をライトすることにより、発振回路は発振禁止となり、
バッファとして機能を開始します。X2 端子は “1” を出力状態となります。
リセットにより、<EXTIN> は “0” に初期化されます。
91C016-26
2004-02-16
(4) SFR プロテクトレジスタによる暴走対策
(目的 )
ノイズ混入などによるプログラムの暴走時の対策
暴走時の対策プログラムがクロックの停止、メモリ制御レジスタ (CS/WAIT コン
トローラ, MMU) の変更などによりフェッチ不可能な状態になることを防止するた
め、プロテクトをかけると特定の SFR をライト動作禁止にします。
また、INTP0 割り込みにより暴走時のエラー処理を容易にします。
TMP91C016
特定の SFR 一覧
1. CS/WAIT コントローラ
B0CS, B1CS, B2CS, B3CS, BEXCS, MSAR0, MSAR1,
MSAR2, MSAR3, MAMR0, MAMR1, MAMR2, MAMR3
2. MMU
LOCAL0, LOCAL1, LOCAL2, LOCAL3
3. クロックギア (EMCCR1, EMCCR2 のみライト可能です )
SYSCR0, SYSCR1, SYSCR2, EMCCR0, EMCCR3
4. DFM
DFMCR0, DFMCR1
5. PORT
P2FC, P5CR, P5FC, P5FC2, P6CR, P6FC, P6FC2, P7CR,
P7FC, P7FC2, PDCR, PDFC
6. DRAMC
DMEMCR, DREFCR
(動作説明 )
EMCCR1 と EMCCR2 レジスタに二重の鍵を設定することによりプロテクト (特
定の SFR へのライト動作 ) の実行・解除が可能となります。
(二重の鍵 )
1st-KEY: EMCCR1 に 5AH, EMCCR2 に A5H を連続ライト
2nd-KEY: EMCCR1 に A5H, EMCCR2 に 5AH を連続ライト
プロテクトの状態は、EMCCR0<PROTECT> をリードすることにより確認できま
す。
リセットにより、プロテクト OFF 状態となります。
また、プロテクト ON 状態にて特定の SFR へのライト動作が実行された場合に
INTP0 割り込みを出力します。これにより暴走時のエラー処理を容易にします。
91C016-27
2004-02-16
(5) ROM プロテクトレジスタによる暴走対策
(目的 )
ノイズ混入などによるプログラムの暴走時の対策
(動作説明 )
プログラムの暴走により外部3種類の ROM に対しライト動作が実行された場合、
INTP1 割り込みを発生して暴走したことを CPU に知らせることが可能です。
3 種類の ROM は、 Flash-ROM (Option-program ROM), Data-ROM,
Program-ROM で論理アドレスメモリマップ上で下記のように固定しています。
1. Flash-ROM: アドレス 400000H~7FFFFFH
2. Data-ROM: アドレス 800000H~BFFFFFH
3. Program-ROM: アドレス C00000H~FFFFFFH
これらのアドレスに対し、ライト動作検出の許可 / 禁止の設定は
EMCCR3<ENFROM, ENDROM, ENPROM> で設定します。また、INTP1 割り込
みが発生した際にどの ROM で発生したかは EMCCR3<FFLAG, DFLAG, PFLAG>
でそれぞれモニタできます。このフラグは “0” をライトするとクリアされます。
(6) <EMCCR4>レジスタの説明
EMCCR4 レジスタ (00E7H) のビット 0 に TA3LCDE、ビット 1 に TA 3MLDE という
特殊なビットを割り付けていますが、このビットは低周波クロック (XT: 32 kHz) を使用
しない、または停止した状態で、LCDC や、MLD/ALARM を使用したい場合に使う機能
です。通常 (リセット後)、TA3LCDE, TA3MLDE は両方とも “0” となり、それぞれの回
路 (LCDC, MLD/ALARM) には低周波クロックが供給されています。“1” を書き込むこと
でタイマ 3で作成されたクロックをそれぞれの回路へ供給することができます。このとき、
タイマ 3 にて作成するクロックは 32 kHz になるように設定してください。32 kHz
の周波数を供給した場合、LCDC および MLD/ALARM 回路の動作は本来の機能と異なっ
た動きをするばかりではなく、動作しないこともありますので注意してください。詳細は
電気的特性を参照してください。
TMP91C016
以外
91C016-28
2004-02-16
3.3.7 スタンバイ制御部
(1) HALT モード
HALT 命令を実行すると、SYSCR2<HALTM1:0> の設定により、IDLE2, IDLE1, STOP
のいずれかの HALT モードになります。
IDLE2, IDLE1, STOP モードの特長は、次のとおりです。
a. IDLE2: CPU のみ停止するモードです。
b. IDLE1: 内部発振器と RTC, MLD, DRAMC のみ動作します。
c. STOP: すべての内部回路が停止します。
TMP91C016
内蔵 I/O は、SFR の中に IDLE2 モード時の動作/ 停止設定レジスタを 1 ビット持
ち、IDLE2 モードでの動作設定が可能です。
表 3.3.3 に IDLE2 設定レジスタの表を示します。
表 3.3.3 IDLE2 モードでの内蔵 I/O 設定レジスタ
内蔵 I/O
TMRA01 TA01RUN<I2TA01>
TMRA23 TA23RUN<I2TA23>
SIO0 SC0MOD1<I2S0>
SIO1 SC1MOD1<I2S1>
WDT WDMOD<I2WDT>
SFR
ホルト状態での各ブロックの動作を表 3.3.4 に示します。
表 3.3.4 ホルト状態での各ブロックの動作
HALT モード
IDLE2 IDLE1 STOP
SYSCR2<HALTM1:0> 11 10 01
CPU
I/O ポート HALT 命令実行時の状態を保持 表 3.3.7, 表 3.3.8 参照
動
TMRA
作
ブ
SIO
ロ
DRAMC
ッ
WDT
ク
LCDC, 割り込みコントローラ 動作
RTC, MLD
動作するブロックをプログラマ
ブルに選択可
停止
動作可
停止
(注) 動作可
注) セルフリフレッシュのみサポートします。メモリアクセスおよびインターバルリフレッ
シュは動作不可です。
91C016-29
2004-02-16
(2) ホルト状態からの解除
ホルト状態からの解除は、割り込み要求、または、リセットにより行うことができます。
使用できるホルト解除ソースは、CPU のステータスレジスタ SR に割り付けられている割
り込みマスクレジスタ<IFF2:0> の状態と、HALT モードの組み合わせにより決まります。
詳細を表 3.3.5 に示します。
• 割り込み要求による解除
割り込み要求によるホルト状態からの解除動作は、割り込み許可状態により異なり
ます。HALT 命令実行前に設定されている割り込み要求レベルが割り込みマスクレジ
スタの値以上であれば、ホルト解除後、その要因による割り込み処理を行い、HALT
命令の次の命令から処理をスタートします。割り込み要求レベルが割り込みマスクレ
ジスタの値より小さい場合はホルト解除を行いません (ノンマスカブル割り込みでは、
マスクレジスタの値に関係なくホルト解除後、割り込み処理を行います)。
ただし、INT0~INT3, INTKEY, INTRTC, INTALM0~INTALM4 割り込みに限り、
割り込み要求レベルが割り込みマスクレジスタの値より小さい場合でも、ホルト状態
からの解除を行うことができます。この場合、割り込み処理は行わず HALT 命令の
次の命令から処理をスタートします (割り込み要求フラグは “1” を保持します)。
注) 通常は、割り込みによってホルト状態を解除することができますが、HALT
モードが IDLE1 、STOP モードに設定されている状態 (IDLE2 は対象外) で、
CPU が HALT モードに移行しようとしている期間 (f
HALT モードを解除可能な割り込み (
INTALM0~INTALM4, INTVLD0~INTVLD2) が入力されても、ホルトが解除で
きない場合があります (割り込み要求は内部に保留されます )。
HALT モードへ完全に移行された後に再度割り込みが発生すれば、問題なく
HALT モードを解除できますが、割り込み処理は内部に保留された割り込み
と現在の割り込みを比較し、その優先順位に従って順次処理されます。
• リセットによる解除
NMI , INT0~INT3, INTKEY, INTRTC,
約 5 クロックの間 ) に、
FPH
TMP91C016
リセットにより、すべてのホルト状態からの解除を行うことができます。
ただし、STOP モードの解除では、発振器動作が安定するための十分なリセット時
間 (表 3.3.6参照) が必要です。
91C016-30
2004-02-16
割り込み受け付け状態
HALT モード
NMI
INTWDT
ホル ト 解 除 ソ ー ス
INT0~INT3 (注)
INTALM0~INTALM4
割り 込み
INTTA0~INTTA3
INTRX0~INTRX1, TX0~TX1
INTKEY
INTRTC
INTLCD
INTVLD0~INTVLD2
RESET
♦ : ホルト解除後、割り込み処理を開始します。
○: ホルト解除後、HALT 命令の次のアドレスから処理を開始します (割り込み処理は行いま
せん)。
表 3.3.5 ホルト解除ソースとホルト解除の動作
割り込み許可
(割り込みレベル) ≧ (割り込みマスク)
プログラマブル
IDLE2
♦
♦
♦
♦
♦
♦
♦
♦
*2
♦
♦
IDLE1 STOP
*1
♦
♦
×
♦
♦
×
×
♦
♦
×
♦
×
*1
♦
×
×
×
*1
♦
×
×
*1
♦
LSI を初期化します。
割り込み禁止
(割り込みレベル) < (割り込みマスク)
プログラマブル
IDLE2
−
−
○
IDLE1 STOP
○
×
×
○
○
×
−
TMP91C016
−
−
○
○
×
×
○
○
×
−
−
−
*1
○
×
×
×
*1
○
×
×
−
×: ホルト解除に使用できません。
−: ノンマスカブル割り込みの優先順位レベル (割り込み要求レベル) は最優先の “7” に固定
されているため、この組み合わせはありません。
*1: ウォームアップ時間経過後にホルト解除を行います。
*2: 割り込み回路での INTVLD0~INTVLD2 は、ノンマスカブル割り込み (割り込み要求レベル
は ‘‘7”、‘‘EI”, ‘‘DI” などの命令でのマスクは不可能) に分類・設定されていますが、割り込み
ソースレベルではマスクすることができるマスカブル割り込みです。
注) 割り込み許可状態において、レベルモードの INT0 割り込みによるホルト解除を行う場合、
割り込み処理が開始されるまで “H” レベルを保持してください。それ以前で “L” レベルに
した場合は、正しい割り込み処理を開始できません。
(ホルト状態からの解除例 )
IDLE1 モードのホルト状態をエッジモードの INT0 割り込みにより解除する場合
アドレス
8203H LD (IIMC), 00H
8206H LD (INTE0), 06H
8209H EI 5
820BH LD (SYSCR2), 28H
820EH HALT
INT0
RETI
820FH LD XX, XX
; INT0 割り込み立ち上がりエッジを選択
; INT0 割り込みレベルを “6” に設定
; CPU 割り込みレベルを “5” に設定
; IDLE1 モードに設定
; CPU 停止
INT0 割り込み処理
91C016-31
2004-02-16
TMP91C016
(3) 各モードの動作
a. IDLE2 モード
IDLE2 モードでは、各内蔵 I/O の SFR 中にある IDLE2 設定レジスタで指定した
内蔵 I/O のみ動作し、 CPU の命令実行動作は停止します。
IDLE2 モードの割り込みによるホルト解除のタイミング例を図 3.3.6に示します。
X1
A0~A23
D0~D15
データ データ
RD
WR
ホルト解除
割り込み
IDLE2
モード
図 3.3.6 割り込みによるホルト解除のタイミング例 (IDLE2 モード時)
b. IDLE1 モード
IDLE1 モードでは、内部発振器と RTC, MLD のみ動作し、システムクロックは停
止します。また、IDLE1 モード時の端子状態は、SYSCR2<SELDRV, DRVE> の設
定により異なります。IDLE1 モード時の端子状態を表 3.3.7, 表 3.3.8 に示します。
ホルト状態での割り込み要求のサンプリングは、システムクロックと非同期に行わ
れますが、解除 (動作の再開) は同期して行われます。
IDLE1 モードの割り込みによるホルト解除のタイミング例を図 3.3.7 に示します。
X1
A0~A23
D0~D15
RD
WR
ホルト解除
割り込み
データ データ
IDLE1 モード
図 3.3.7 割り込みによるホルト解除のタイミング例 (IDLE1 モード時 )
91C016-32
2004-02-16
c. STOP モード
STOP モード時の端子状態は、SYSCR2<SELDRV, DRVE> の設定により異なります。
STOP モード時の端子状態を表 3.3.7, 表 3.3.8 に示します。
ウンタによるウォームアップ時間経過後に、システムクロックの出力を開始します。
STOP モード解除後は、SYSCR0<RXEN, RXTEN, RSYSCK> の設定に従い動作を
開始します (ホルト解除後の動作モード (NORMAL/SLOW) を選択できます)。この
設定は HALT 命令実行前に行う必要があります。このウォームアップ時間の設定は、
SYSCR2<WUPTM1:0> で行います。表 3.3.6に設定例を示します。
TMP91C016
STOP モードでは、内部発振器も含めて、すべての内部回路が停止します。また、
STOP モードを解除する場合は、内部発振器の安定化のため、ウォームアップ用カ
STOP モードの割り込みによるホルト解除のタイミング例を図 3.3.8に示します。
X1
ウォーム
アップ時間
A0~A23
D0~D15
RD
データ データ
WR
ホルト解除
割り込み
STOP
モード
図 3.3.8 割り込みによるホルト解除のタイミング例 (STOP モード時)
表 3.3.6 ウォームアップ時間の設定例 (STOP モード解除時)
@ f
<RSYSCK>
0 (fc) 16 µ s 1.024 ms 4.096 ms
1 (fs) 7.8 ms 500 ms 2000 ms
8
01 (2
) 10 (214) 11 (216)
SYSCR2<WUPTM1:0> SYSCR0
= 16 MHz, fs = 32.768 kHz
OSCH
91C016-33
2004-02-16
TMP91C016
(設定例) 低速クロックで動作している状態で STOP モードに入り、NMI割り込みによる解除後、
高速クロックで動作させる場合
アドレス
SYSCR0 EQU 00E0H
SYSCR1 EQU 00E1H
SYSCR2 EQU 00E2H
8FFDH LD (SYSCR1), 08H 0 8 H ; f
9000H LD (SYSCR2), X − 1001X1B ; ウォームアップ時間 2
9002H LD (SYSCR0), 0 1 1 0 0 0 − − B;
9005H HALT
SYS
解除後、高速クロック
ウォームアップタイマ
NMI 端子入力
= fs/2
クリア &スタート
(高速クロック )
終了
NMI 割り込み処理
14
/f
OSCH
9006H LD X X X X
RETI
注) 上記のように、STOP モードの前後で異なる動作モードを使用する場合、HALT 命令を実行中 (6
ステート期間) にホルト解除割り込みが受け付けられると、動作モードの変更が行われないままホ
ルト解除を行うことがあります。HALT 命令実行中に割り込みが入力されるようなシステムでは、
STOP モードの前後で同じ動作モードを設定してください。
91C016-34
2004-02-16
TMP91C016
3.3
表 3.3.7 入力バッファ状態表
入力バッファ状態
ポート名 入力機能名
D0~D7 − − − − −
P10~P17 D8~D15
P52 (* 1) INT3
P53 (*1) WAIT
P56 (*1) MSK
P60~P67
(* 1)
P70~P71
(* 1)
P72 (* 1) OPTRX0 ON ON ON ON OFF ON ON
P73 (*1) − − − −
P74 (*1) NMI
P90~P97
(* 1)
PB0~PB2
(* 1) (* 2)
PB3~PB5
(* 1)
PC3 (*1) −
PC4 (* 1) RXD1
PC5 (* 1) SCLK1/CTS1
PC6 XT1
PC7 − − −
PD0~PD4,
PD6~PD7
(* 1)
RESET − − − − −
AM0, AM1 −
X1 − ON ON − ON − IDLE1で ON, STOP で OFF
ON: 常時バッファが ONしているため、入力端子がドライブされていないと入力バッファに貫通電流が流れます。
OFF: 常時バッファが OFFしています。
− : 対象なし。
*1: プルアップ/プルダウン抵抗付きポートです。
*2: VLD 入力では貫通電流が流れません。
注) 条件 A/B の設定を示します。
−
−
KI0~KI7 ON
− − − − −
INT0~INT2 ON ON ON ON
発振器用
ポート用 OFF OFF
−
リセット中
OFF
ON
OFF − − OFF − − OFF
OFF OFF −
OFF
ON ON
OFF
ON ON
SYSCR2レジスタ設定 HALT モード
<DRVE> <SELDRV> IDLE1 STOP
0 0 条件 B
0 1 条件 A
1 0
1 1
CPU 動作中 HALT中 (I DLE 2)
機能
入力ポート
設定時
外部リー
ドで ON
ON ON
ON ON
− −
−
設定時
ON
OFF
ON
−
機能
入力ポート
設定時
OFF OFF OFF
ON
ON
条件 B 条件 B
設定時
OFF
ON OFF
ON ON ON
OFF
ON ON ON
OFF OFF
ON
− OFF −
−
設定時
条件 A
HALT 中 (IDLE1/STOP)
条件 A 設定時 (注) 条件 B 設定時 (注)
機能
入力ポート
設定時
ON
OFF
− −
OFF
− −
ON
OFF
−
機能
入力ポート
設定時
ON
ON
OFF
− OFF
ON
設定時
OFF
ON
OFF
ON
OFF
ON
−
91C016-35
2004-02-16
TMP91C016
表 3.3.8 出力バッファ状態表
出力バッファ状態
ポート名 出力機能名
D0~D7 − − − − −
P10~P17 D8~D15
リセット中
OFF
P20~P27 A16~A23
A0~A15 −
RD −
WR −
ON
CPU 動作中 HALT中 (I DLE 2)
機能
出力ポート
設定時
外部ライ
トで
設定時 機能設定時
ON
OFF OFF
ON ON OFF ON
− −
出力ポート
設定時 機能設定時
P52 (*1) HWR
P53 (*1) EXWR
P56 (* 1) R/W
OFF ON ON OFF ON
P60 (*1) CS0 , LSLK0
P61 (*1) CS1
CS2 ,
CS2A
− ON − − − −
P63 (*1) CS3 , RAS
P64 (* 1) EA24, CS2B
EA25,
P65 (*1)
P66 (*1)
P67 (*1)
P70 (*1)
P71 (*1)
CS2C ,
LCLK,
VEECLK
UCAS , UDS ,
WE
LCAS , LDS ,
REFOUT
SCOUT,
TA1OUT
OPTTX0,
CS2D
OFF
ON
ON
ON
ON
P72 (*1) CS2E
P73 (*1)
DRAMOE ,
EXRD
P74 (*1) WE , CAS
PB0~PB2
(* 1) (* 2)
PB3~PB5
(* 1)
PC3 (* 1) TXD1 ON ON OFF ON
− − − − −
− − − − −
OFF
ON
ON
PC4 (*1) − − − − −
PC5 (* 1) SCLK1 ON ON OFF ON
PC6 −
PC7 XT2
発振器用 ON ON OFF ON OFF OFF
ポート用 OFF OFF
−
−
PD0 (* 1) D1BSCP
PD1 (* 1) D2BLP
PD2 (* 1) D3BFR
PD3 (* 1) DLEBCD
OFF
ON
ON
ON
ON
PD4 (* 1) DOFFB
PD6 (*1)
MLDALM,
ALARM
PD7 (* 1) MLDALM
X2 − ON ON − ON − IDLE1で ON, STOP で “H” レベル出力
ON: 常時バッファが ONしています。ただし、バス開放時は特定の端子の出力バッファは OFFします。
OFF: 常時バッファが OFFしています。
− : 対象なし。
* 1: プルアップ/プルダウン抵抗付きポートです。
HALT中 (IDLE1/STOP)
条件 A 設定時 (注) 条件 B 設定時 (注)
出力ポート
設定時
機能
設定時
出力ポート
設定時
OFF
− −
ON
OFF
OFF
− −
OFF
OFF
OFF
ON
ON
ON
ON
91C016-36
2004-02-16
* 2: VLD0~VLD2 のうち一つでも VLD の機能を使用する場合、残りの端子はポート機能に設定しても出力ポート
としては使用できません。
注) 条件 A/B の設定を示します。
SYSCR2レジスタ設定 HALT モード
<DRVE> <SELDRV> IDLE1 STOP
0 0 条件 B
0 1 条件 A
1 0
1 1
条件 B 条件 B
条件 A
TMP91C016
91C016-37
2004-02-16
3.4 割り込み
割り込みは、CPU の割り込みマスクレジスタ SR<IFF2:0> と、内蔵の割り込みコントローラに
よって制御されます。
割り込み要因には、下記に示す合計 40 本があります。
各割り込み要因ごとに、個別の割り込みベクタ番号 (固定) が割り当てられており、マスカブル割
り込みのそれぞれに、6 レベルの優先順位 (可変) を割り付けることができます。ノンマスカブル割
り込みの優先順位は、最優先の “7” に固定されています。
割り込みが発生すると、割り込みコントローラは、その割り込み要因の優先順位値を CPU に送
ります。同時に複数の割り込みが発生した場合は、最も高い優先順位値 (最高はノンマスカブル割
り込みの “7”) を CPU に送ります。
• CPU からの割り込み ..........9 本
(ソフトウエア割り込み、未定義命令実行違反 )
• 外部端子 (
• 内蔵 I/O からの割り込み .... 25 本
NMI , INT0~INT3, INTKEY) ....... 6 本
TMP91C016
CPU は、その送られてきた優先順位値と、CPU の割り込みマスクレジスタ<IFF2:0> の値を比
較し、送られてきた優先順位値が割り込みマスクレジスタの値以上であれば、その割り込みを受け
付けます。<IFF2:0> の値は EI 命令 (EI num/IFF<2:0> の内容が num) を使用して、書き替える
ことができます。例えば、“EI 3” とプログラムすると、割り込みコントローラに設定された優先順
位値 3 以上のマスカブル割り込みと、ノンマスカブル割り込みが受け付け可能となります。また、
DI 命令 (<IFF2:0> が 7) は動作的には “EI 7” と同じですが、マスカブル割り込みの優先順位値が
0~6 であるため、マスカブル割り込みの受け付け禁止用として使用されます。なお、 EI 命令は実
行後、直ちに有効となります。
上記汎用割り込み処理モードに加えて、「マイクロ DMA」処理モードがあります。マイクロ DMA
は、CPU が自動的にデータの転送 (1/2/4 バイト) を行うモードです。内部/外部メモリおよび内蔵
I/O に対するデータ転送を高速に行うことができます。
さらに、このマイクロ DMA 要求を割り込み要因から与えられる以外に、ソフトで要求をかける
“ソフトスタート機能” があります。
図 3.4.1 に割り込み処理全体のフローを示します。
91C016-38
2004-02-16
TMP91C016
割り込み処理
マイクロ DMA
起動ベクタで指定された
割り込み?
No
Yes
割り込み要求 F/F のクリア
マイクロ DMA
ソフトスタートリクエスト
割り込みベクタ V のリード
割り込み要求フラグ のクリア
マイクロ DMA による
データ転送
汎用割り込み
処 理
PUSH PC
PUSH SR
SR<IFF2:0> ←受け付けた
割り込み
レベル + 1
INTNEST ← INTNEST + 1
COUNT ← COUNT − 1
COUNT = 0
PC ← (FFFF00H + V)
No
マイクロ DMA 処理
INTTC 割り込み発生
Yes
マイクロ DMA 起動ベクタ
レジスタのクリア
(INTTC0
~INTTC3)
割り込み処理
プログラム
RETI 命令
POP SR
POP PC
INTNEST← INTNEST − 1
終了
図 3.4.1 割り込み処理全体のフロー
91C016-39
2004-02-16
3.4.1 汎用割り込み処理
CPU が割り込みを受け付けると、下記の動作をします。なお、この動作は TLCS-900/L,
TLCS-900/H と同様です。
(1) CPU は割り込みコントローラから、割り込みベクタをリードします。
割り込みコントローラは、同一レベルに設定された割り込みが同時に発生した場合、デフ
ォルト・プライオリティ (固定: ベクタ値が小さいほど優先順位が高い) に従って割り込み
ベクタを発生し、その割り込み要求をクリアします。
(2) CPU は、プログラムカウンタ 「PC」 とステータスレジスタ 「SR」 を、スタック領域 (XSP
が示す領域) へ PUSH します。
(3) CPU の割り込みマスクレジスタ <IFF2:0> の値を、受け付けた割り込みレベルより “1” だ
け高い値にセットします。ただし、値が “7” のときは、インクリメントせず “7” をセット
します。
(4) 割り込みネスティングカウンタ INTNEST を+1 します。
(5) CPU は、アドレス「FFFF00H + 割り込みベクタ」のデータで示されるアドレスへジャン
プし、割り込み処理ルーチンを開始します。
上記の処理時間は、ベストケース (メモリ 16 ビットデータバス幅, 0 ウェイト) の場合、
18 ステート (2.25 µ s @ 16 MHz) です。
割り込み処理が終了し、メインルーチンに戻るときは、通常「RETI 」命令で行います。
この命令を実行すると、スタックからプログラムカウンタ PC とステータスレジスタ SR
の内容を復帰し、割り込みネスティングカウンタ INTNEST を−1 します。
TMP91C016
ノンマスカブル割り込みは、プログラムによって割り込み受け付けを禁止することがで
きません。ただし、INTVLD0~INTVLD2 のみ割り込みソースにてマスクが可能です。マ
スカブル割り込みは、プログラムによって割り込みの許可/ 禁止が選択できるとともに、各
割り込みソースごとに優先順位を設定することができます。CPU が持つ<IFF2:0> の値以
上の、優先順位値を持つ割り込み要求があると、割り込みを受け付けます。次に CPU の
<IFF2:0> に、受け付けた優先順位に “1” を加えた値を、セットします。従って、割り込
み処理中に現在実行している割り込みよりも高いレベルの割り込みが発生した場合には、
その割り込み要求を受け付け、割り込み処理のネスティング状態になります。
なお、CPU が割り込みを受け付け、前記 (1)~(5) までの処理をしている間に発生した別
の割り込み要求は、その割り込み処理ルーチンの先頭命令が実行された直後にサンプリン
グされます。先頭命令を DI 命令にすると、マスカブル割り込みのネスティングを禁止す
ることができます。
リセット後、CPU の<IFF2:0> は、“7” に初期化されているため、マスカブル割り込み
禁止状態になっています。
アドレス FFFF00H~FFFFFFH (256 バイト) が、割り込みベクタ領域に割り当てられ
ています。表 3.4.1 に割り込みテーブルを示します。
(6) INTVLD0~INTVLD2 は割り込み回路ではノンマスカブル割り込みとして処理されます
が、ソースレベルでのマスクは可能です。
91C016-40
2004-02-16
TMP91C016
表 3.4.1 TMP91C016 の割り込みテーブル
デフォルト
プライオリティ
1
2
3
4
5
6
7
8
9
10
11
12
13
–
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
タイプ 割り込み要因 ベクタ値
ノン
マスカブル
* ノンマスカブル
(ただしソースは
マスク可能)
マスカブル
“リセット” または「SWI 0」 命令
「SWI 1」 命令
INTUNDEF: 未定義命令実行違反、または「SWI 2」命令
「SWI 3」 命令
「SWI 4」 命令
「SWI 5」 命令
「SWI 6」 命令
「SWI 7」 命令
NMI 端子
ウォッチドッグタイマ
INTWD:
INTVLD0: VLD 割り込み (チャネル 0)
INTVLD1: VLD 割り込み (チャネル 1)
INTVLD2: VLD 割り込み (チャネル 2)
(マイクロ DMA)
INT0 端子
INT1 端子
INT2 端子
INT3 端子
INTALM0: ALM0 (8 kHz) 0038H FFFF38H 0EH
INTALM1: ALM1 (512 Hz) 003CH FFFF3CH 0FH
INTALM2: ALM2 (64 Hz) 0040H FFFF40H 10H
INTALM3: ALM3 (2 Hz) 0044H FFFF44H 11H
INTALM4: ALM4 (1 Hz) 0048H FFFF48H 12H
INTTA0: 8ビットタイマ 0
INTTA1: 8ビットタイマ 1
INTTA2: 8ビットタイマ 2
INTTA3: 8ビットタイマ 3
INTRX0: シリアル受信 (チャネル 0)
INTTX0: シリアル送信 (チャネル 0)
INTRX1: シリアル受信 (チャネル 1)
INTTX1: シリアル送信 (チャネル 1)
INTKEY: キーウェイクアップ
INTRTC: RTC (アラーム割り込み )
INTLCD: LCDC/LP 端子
INTP0: プロテクト 0 (特定 SFR へのライト )
INTP1: プロテクト 1 (ROM へのライト )
INTTC0: マイクロ DMA終了 (チャネル 0)
INTTC1: マイクロ DMA終了 (チャネル 1)
INTTC2: マイクロ DMA終了 (チャネル 2)
INTTC3: マイクロ DMA終了 (チャネル 3)
(Reserved)
:
(Reserved)
0000H FFFF00H
0004H FFFF04H
0008H FFFF08H
000CH FFFF0CH
0010H FFFF10H
0014H FFFF14H
0018H FFFF18H
001CH FFFF1CH
0020H FFFF20H
0024H FFFF24H
0098H FFFF98H
009CH FFFF9CH
00A0H FFFFA0H
− − −
0028H FFFF28H 0AH
002CH FFFF2CH 0BH
0030H FFFF30H 0CH
0034H FFFF34H 0DH
004CH FFFF4CH 13H
0050H FFFF50H 14H
0054H FFFF54H 15H
0058H FFFF58H 16H
005CH FFFF5CH 17H
0060H FFFF60H 18H
0064H FFFF64H 19H
0068H FFFF68H 1AH
0070H FFFF70H 1CH
0074H FFFF74H 1DH
007CH FFFF7CH 1FH
0080H FFFF80H 20H
0084H FFFF84H 21H
0088H FFFF88H
008CH FFFF8CH
0090H FFFF90H
0094H FFFF94H
00A4H
:
00FCH
ベクタ参照
アドレス
FFFFA4H
:
FFFFFCH
マイクロ
DMA 起動
ベクタ
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
:
−
* INTVLD0~INTVLD2 の割り込みは VLDCRx にて制御します。
91C016-41
2004-02-16
3.4.2 マイクロ DMA
汎用割り込み処理に加えて、マイクロ DMA 機能があります。マイクロ DMA に設定された
割り込み要求は、設定された割り込みレベルにかかわらず、マスカブル割り込みの中で最も高
い割り込みレベルで処理を行います。
マイクロ DMA は 4 チャネル用意されており、バースト指定により連続転送が可能です。
なお、マイクロ DMA 機能は CPU の協調動作によって実現されているため、CPU が HALT
命令を実行しスタンバイ状態になると、マイクロ DMA の要求は無視 (保留) されます。
(1) マイクロ DMA の動作
マイクロ DMA は、マイクロ DMA 起動ベクタレジスタで指定された割り込み要求が発
生すると、割り込み要求元の割り込みレベルにかかわらず、CPU に対しマスカブル割り
込みの中で最も優先順位の高いレベルでデータ転送処理を行います。<IFF2:0> = “7” のと
きは、マイクロ DMA の要求は受け付けられません。
マイクロ DMA は 4 チャネル用意されており、同時に 4 種類までの割り込み要因に対し
て、マイクロ DMA を設定することができます。
マイクロ DMA が受け付けられると、そのチャネルに割り当られている割り込み要求フ
ラグをクリアし、コントロールレジスタに設定された転送元アドレスから転送先アドレス
に、データ転送が一回 (1/2/4 バイト) 行われ、転送数カウンタをデクリメントします。デ
クリメントした結果が “0” ならば、CPU はマイクロ DMA 転送終了を割り込みコントロー
ラに伝え、割り込みコントローラは、マイクロ DMA 転送終了割り込み (INTTCn) を発生
させ、かつ、マイクロ DMA 起動ベクタレジスタ DMAnV の値を “0” にクリアして、次の
マイクロ DMA 起動を禁止し、マイクロ DMA 処理を終了します。デクリメントした結果
が “0” でない場合、後述のバースト指定がなければ、マイクロ DMA
この場合、転送終了割り込み (INTTCn) は発生しません。
TMP91C016
処理は終了します。
割り込み要因をマイクロ DMA 起動のみに使用する場合は、割り込みレベルを “0” にし
ておく必要があります。これは、マイクロ DMA 起動ベクタに設定されるまでの間に、そ
の割り込み要求が発生すると、割り込みレベルが 1∼ 6 の場合、CPU は汎用割り込み処理
を行うためです。割り込み要因をマイクロ DMA と汎用割り込みの起動で兼用する場合は、
その割り込み要因の割り込みレベルを、ほかのすべての割り込み要因の割り込みレベルよ
り低くする必要があります。なお、その割り込み要因は、エッジ割り込みに限られます。
マイクロ DMA 転送終了割り込みは、ほかのマスカブル割り込みと同様に割り込みレベ
ルとデフォルトプライオリティにより、優先順位が決まります。
また、複数チャネルのマイクロ DMA 要求が同時に発生した場合の優先順位は、割り込
みレベルに無関係で、チャネル番号の若い方が高くなります (チャネル 0 (高) → チャネル
3 (低))。
転送元/転送先アドレスを設定するレジスタは 32 ビット幅のコントロールレジスタにな
っていますが、アドレスは 24 本しか出力されていないため、マイクロ DMA で取り扱え
る空間は 16 M バイトとなります。
91C016-42
2004-02-16
TMP91C016
転送モードは 1/2/4 バイト転送の 3種類があり、それぞれの転送モードに対して転送後、
転送元/転送先アドレスをインクリメント, デクリメント, 固定するモードを用意していま
す。このモードにより、メモリからメモリ, I/O からメモリ, メモリから I/O, I/O から I/O
のデータ転送を簡単に行えます。転送モードの詳細は、(4)「転送モードレジスタ」を参照
してください。
転送数カウンタは 16 ビット幅で構成されているため、一つの割り込み要因に対して、
最大 65536 回 (転送カウンタの初期値が 0000H のとき最大) の、マイクロ DMA 処理を行
うことができます。
マイクロ DMA 処理を行うことのできる割り込み要因は、表 3.4.1 でマイクロ DMA 起
動ベクタのある 24 種類の割り込みと、ソフトスタートによる計 25 種類です。
転送先アドレス INC モード 2 バイト転送 (カウンタモード以外は同様) のマイクロ DMA
サイクルを図 3.4.2に示します。(全アドレスエリア 16 ビットバス, 0 ウェイト, ソース/デ
スティネーションアドレスとも偶数の場合)
1ステート
(注 1) (注 2)
A0~A23
DM1 DM2 DM3 DM4 DM5 DM6 DM7 DM8
X1
デスティネーション ソース
RD
WR , HWR
D0~D15
入力
出力
図 3.4.2 マイクロ DMA サイクル図
第 1~3 ステート: 命令フェッチサイクル (次の命令コードを先取りします。)
命令キューバッファに 3 バイト以上の命令コードが入ると、
このサイクルは、ダミーサイクルになります。
第 4~5 ステート: マイクロ DMA リードサイクル
第 6 ステート: ダミーサイクル (アドレスバスは第 5 ステート状態のままです。)
第 7~8 ステート: マイクロ DMA ライトサイクル
注 1) ソースアドレスエリアが 8 ビットバスの場合、+2 ステートされます。
また、ソースアドレスエリアが 16 ビットバスで奇数アドレスから始まる場合も、+2
ステートされます。
注 2) デスティネーションアドレスエリアが 8 ビットバスの場合、+2 ステートされます。
また、デスティネーションアドレスエリアが 16 ビットバスで奇数アドレスから始ま
る場合も、+2 ステートされます。
91C016-43
2004-02-16
(2) ソフトスタート機能
ルが発生したことにより、マイクロ DMA を起動する “マイクロ DMA ソフトスタート機
能” があります。
ることができます。転送が終了すると、終了したチャネルに対応する DMAR レジスタの
ビットが、自動的に “0” にクリアされます。なお、仕様上の制限として一度に 1 チャネル
しか起動できません (複数のビットに “1” を書き込まないでください。)。
認してから行ってください。
ロ DMA 転送カウンタが “0” になるまで、連続的にデータ転送されます。
記号 名称 アドレス
DMA
DMAR
request
register
(3) 転送制御レジスタ
ジスタは、「LDC cr, r」命令を使用して、データの設定を行います。
D M A M 0
TMP91C016
割り込み要因によるマイクロ DMA の起動以外に、 DMAR レジスタへの書き込みサイク
DMAR レジスタの各ビットに “1” を書き込むことにより、マイクロ DMA を一回起動す
また再度 DMAR レジスタに “1” を書き込む場合は、そのビットが “0” であることを確
DMAB レジスタでバースト指定されている場合は、マイクロ DMA を起動するとマイク
7 6 5 4 3 2 1 0
89H
DMAR3 DMAR2 DMAR1 DMAR0
R/W
0 0 0 0
転送元アドレス, 転送先アドレスは、下記の CPU 内レジスタで設定します。これらのレ
チャネル 0
DMAS0
DMAD0
DMAC0
転送元アドレスレジスタ 0: 下位 24ビットのみ使用
転送先アドレスレジスタ 0: 下位 24ビットのみ使用
転送数カウンタレジスタ 0: 1~65536
転送モードレジスタ 0
DMA 要求
チャネル 3
DMAS3
DMAD3
DMAC3
D M A M 3
32 ビット
8ビット
16 ビット
転送元アドレスレジスタ 3
転送先アドレスレジスタ 3
転送数カウンタレジスタ 3
転送モードレジスタ 3
91C016-44
2004-02-16
TMP91C016
(4) 転送モードレジスタ : DMAM0~DMAM3
(DMAM0∼ DMAM3)
0 0 0
モード
注) このレジスタに値を設定するときは
上位 3ビットを “0” にしてください。
0 0 Z Z
0
0 0 1 Z Z
0 1 0 Z Z
0 1 1 Z Z
1 0 0 Z Z
1 0 1 0 0
ZZ: 0 = バイト転送、1 = ワード転送、2 = 4 バイト転送、3 = Reserved
転送先アドレス INCモード ......................................I/O → メモリ用
(DMADn+ ) ← (DMASn)
DMACn ← DMACn − 1
DMACn = 0 のとき INTTC発生
転送先アドレス DEC モード .....................................I/O → メモリ用
(DMADn− ) ← (DMASn)
DMACn ← DMACn − 1
DMACn = 0 のとき INTTC発生
転送元アドレス INCモード .....................................メモリ → I/O 用
(DMADn) ← (DMASn+ )
DMACn ← DMACn − 1
DMACn = 0 のとき INTTC発生
転送元アドレス DEC モード ....................................メモリ → I/O 用
(DMADn) ← (DMASn− )
DMACn ← DMACn − 1
DMACn = 0 のとき INTTC発生
アドレス固定モード ...................................................... I/O to I/O用
(DMADn) ← (DMASn)
DMACn ← DMACn − 1
DMACn = 0 のとき INTTC発生
カウンタモード ..................................割り込み発生回数カウント用
DMASn ← DMASn + 1
DMACn ← DMACn − 1
DMACn = 0 のとき INTTC発生
実行時間
8ステート (1000 ns)
@ バイト/ワード転送
12 ステート (1500 ns)
@ 4バイト転送
8ステート (1000 ns)
@ バイト/ワード転送
12 ステート (1500 ns)
@ 4バイト転送
8ステート (1000 ns)
@ バイト/ワード転送
12 ステート (1500 ns)
@ 4バイト転送
8ステート (1000 ns)
@ バイト/ワード転送
12 ステート (1500 ns)
@ 4バイト転送
8ステート (1000 ns)
@ バイト/ワード転送
12 ステート (1500 ns)
@ 4バイト転送
5ステート
(625 ns)
注 1) n: 対応するマイクロ DMA チャネル 0∼ 3
DMADn+/DMASn+ : ポストインクリメント (転送後レジスタの値をインクリメント )
DMADn−/DMASn− : ポストデクリメント (転送後レジスタの値をデクリメント )
表中の I/O とは固定されたアドレス、メモリとは INC, DEC されるアドレスを意味します。
注 2) 実行時間: 転送元/ 転送先アドレス空間が 16 ビットバス幅, 0 ウェイトに設定されている場合
を示します。
クロック条件は fc = 16 MHz 、高速クロックギア: 1 倍 (fc) です。
注 3) 転送モードレジスタへは上記以外のコードを設定しないでください。
91C016-45
2004-02-16
3.4.3 割り込みコントローラの制御
図 3.4.3 に、割り込み回路のブロック図を示します。この図の左半分は割り込みコントロー
ラを示し、右半分は CPU の割り込み要求信号回路と、ホルト解除回路を示しています。
割り込みコントローラは各割り込みチャネルごと (合計 36 チャネル) に、割り込み要求フラ
グ, 割り込みレベルレジスタ, マイクロ DMA 起動ベクタ設定レジスタを持っています。割り込
み要求フラグは周辺からの割り込み要求をラッチするためのものです。
このフラグは、以下の場合にクリアされます。
• リセット動作
• CPU が割り込みを受け付け、その割り込みのベクタをリード
• 割り込みをクリアする命令の実行 (INTCLR レジスタに DMA 起動ベクタをライト)
• CPU がその割り込みでのマイクロ DMA を受け付けたとき
• その割り込みでのマイクロ DMA バースト転送が終了したとき
割り込みの優先順位は、各割り込み要因ごとに準備されている割り込みレベルレジスタ
(INTE12 など ) にそれぞれのレベルを設定できます。設定できる割り込みレベルは 1 から 6 ま
での 6 レベルです。レベルを “0” (または “7”)にすることにより、該当する割り込み要求は禁止
されます。なお、ノンマスカブル割り込み (
レベルは “7” に固定されています。また、同時に同一レベルの割り込み要求が発生した場合に
は、デフォルトプライオリティに従い、割り込みを受け付けます。なお、割り込みレベルレジ
スタのビット 3, ビット 7 を読むと、割り込み要求フラグの状態が読み出され、各チャネルの
割り込み要求の有無がわかります。
TMP91C016
NMI 端子, ウォッチドッグタイマ, 電圧比較器) の
割り込みコントローラは、同時に発生した割り込みの中で最も優先順位の高い割り込みレベ
ルと、そのベクタアドレスを CPU へ送ります。CPU はステータスレジスタ (SR) に割り付け
られている割り込みマスクレジスタ<IFF2:0> と割り込みレベルを比較し、割り込みのレベル
が高ければ、この割り込みを受け付けます。そして、SR<IFF2:0> に、受け付けた割り込みレ
ベル+1 の値をセットし、この値以上の割り込み要求だけが、多重に受け付けられる割り込み
要因となります。割り込み処理の終了 (RETI 命令の実行) により、SR<IFF2:0> には、スタッ
クに退避されていた割り込み発生以前の割り込みマスクレジスタの値がリストアされます。
割り込みコントローラには、マイクロ DMA の起動ベクタを格納するレジスタ (4 チャネル)
が用意されています。このレジスタに起動ベクタ (表 3.4.1参照) を書き込むことにより、該当
する割り込み要求が発生することによってマイクロ DMA が起動されます。なお、このマイク
ロ DMA 処理の前に、マイクロ DMA パラメータ用レジスタ (DMAS, DMAD など) に値を設定
しておく必要があります。
91C016-46
2004-02-16
TMP91C016
STOP中
IDLE1中
ホルト解除
7
∼
EI1
割り込み要求信号
DI
CPU
リセット
割り込み
レベル判定
3
3
INTRQ2~0 ≧ IFF
2~0のとき 1
RESET
INT0, 1, 2, 3, KEY, RTC, ALM, INTVLD0,1,2
マイクロDMA 要求
マイクロDMA
チャネル指定
2
7のとき 0
NMI
=
IFF
IFF2:0
CPU側の割り込み
許可フラグ
D2
D3
D4
D5
D6
D0
D1
D7
2
INTRQ2~0
3
CPUに対する
1
割り込み要求信号
エンコーダ
プライオリティ
A
B
C
最上位の
割り込み
レベル選定 (7が最優先)
1 2 3 4 5
7
6
1
生成
6
割り込みベクタ
36
割り込みベクタ
Vリード
A B
4入力 OR
0 1 2
4
3
マイクロDMA チャネル
プライオリティエンコーダ
20H
24H
98H
A0H
9CH
=
=
=
=
=
V
V
V
V
V
Y1
Y2
割り込みコントローラ
A
デコーダ
6
Y3
Y4
Y5
Y6
Dn + 3
B
C
28H
30H
34H
38H
40H
2CH
=
=
=
=
V
V
V
V
44H
=
=
=
V
V
V
V = 3CH
84H
88H
90H
48H
4CH
=
=
=
V
V
V
94H
8CH
=
=
=
=
V
V
V
V
DMA0V
DMA1V
DMA2V
ソフト
スタート
DMA3V
S
セレクタ
6
34
割り込み要求 F/Fリード
CLR
D1
INTTC0
D0
リセット
割り込み受け付け
S Q
R
CLR
D Q
割り込み要求フラグ
S Q
り込み
要求フラグ
マイクロDMA 受け付け
R
D Q
優先順位設定レジスタ
D5
D4
D3
Dn
Dn + 1
り込み
ベクタV リード
リセット
NMI
INTVLD2
INTWD
INTVLD0
INTVLD1
Dn + 2
リセット
INTP1
INTTC0
INTTC1
INTTC2
INT0
INT1
INT2
INT3
INTALM0
INTALM1
INTALM2
INTALM3
INTALM4
INTTA0
INTTC3
マイクロDMA
カウンタゼロ
割り込み
D2
マイクロDMA 起動ベクタ設定レジスタ
図 3.4.3 割り込みコントローラブロック図
91C016-47
2004-02-16
割り込みレベル設定レジスタ
TMP91C016
記号 名称 アドレス
INTE0
INTE12
INTE3ALM4
INTEALM01
INTEALM23
INTETA01
INTETA23
INTERTCKEY
INT0
enable
INT1 &
INT2
enable
INT3 &
INTALM4
enable
INTALM0
&
INTALM1
enable
INTALM2
&
INTALM3
enable
INTTA0
&
INTTA1
enable
INTTA2
&
INTTA3
enable
INTRTC
&
INTKEY
enable
90H
91H
92H
93H
94H
95H
96H
97H
7 6 5 4 3 2 1 0
INT0
I0C I0M2 I0M1 I0M0
R R/W
0 0 0 0
INT2 INT1
I2C I2M2 I2M1 I2M0 I1C I1M2 I1M1 I1M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTALM4 INT3
IA4C IA4M2 IA4M1 IA4M0 I3C I3M2 I3M1 I3M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTALM1 INTALM0
IA1C IA1M2 IA1M1 IA1M0 IA0C IA0M2 IA0M1 IA0M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTALM3 INTALM2
IA3C IA3M2 IA3M1 IA3M0 IA2C IA2M2 IA2M1 IA2M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTTA1 (TMRA1) INTTA0 (TMRA0)
ITA1C ITA1M2 ITA1M1 ITA1M0 ITA0C ITA0M2 ITA0M1 ITA0M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTTA3 (TMRA3) INTTA2 (TMRA2)
ITA3C ITA3M2 ITA3M1 ITA3M0 ITA2C ITA2M2 ITA2M1 ITA2M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTKEY INTRTC
IKC IKM2 IKM1 IKM0 IRC IRM2 IRM1 IRM0
R R/W R R/W
0 0 0 0 0 0 0 0
割り込み要求フラグ
lxxM2 lxxM1 lxxM0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
機能 (書き込み時)
割り込み要求を禁止に設定
割り込みレベルを “1” に設定
割り込みレベルを “2” に設定
割り込みレベルを “3” に設定
割り込みレベルを “4” に設定
割り込みレベルを “5” に設定
割り込みレベルを “6” に設定
割り込み要求を禁止に設定
91C016-48
2004-02-16
TMP91C016
記号 名称 アドレス
Interrupt
INTES0
INTES1
INTELCD
INTETC01
INTETC23
INTEP01
enable
serial 0
INTRX1
&
INTTX1
enable
INTLCD
enable
INTTC0
&
INTTC1
enable
INTTC2
&
INTTC3
enable
INTP0 &
INTP1
enable
98H
99H
9AH
9BH
9CH
9DH
7 6 5 4 3 2 1 0
INTTX0 INTRX0
ITX0C ITX0M2 ITX0M1 ITX0M0 IRX0C IRX0M2 IRX0M1 IRX0M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTTX1 INTRX1
ITXT1C ITX1M2 ITX1M1 ITX1M0 IRX1C IRX1M2 IRX1M1 IRX1M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTLCD
ILCD1C ILCDM2 ILCDM1 ILCDM0
R R/W
0 0 0 0
INTTC1 INTTC0
ITC1C ITC1M2 ITC1M1 ITC1M0 ITC0C ITC0M2 ITC0M1 ITC0M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTTC3 INTTC2
ITC3C ITC3M2 ITC3M1 ITC3M0 ITC2C ITC2M2 ITC2M1 ITC2M0
R R/W R R/W
0 0 0 0 0 0 0 0
INTP1 INTP0
IP1C IP1M2 IP1M1 IP1M0 IP0C IP0M2 IP0M1 IP0M0
R R/W R R/W
0 0 0 0 0 0 0 0
割り込み要求フラグ
lxxM2 lxxM1 lxxM0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
機能 (書き込み時)
割り込み要求を禁止に設定
割り込みレベルを “1” に設定
割り込みレベルを “2” に設定
割り込みレベルを “3” に設定
割り込みレベルを “4” に設定
割り込みレベルを “5” に設定
割り込みレベルを “6” に設定
割り込み要求を禁止に設定
91C016-49
2004-02-16
(2) 外部割り込みの制御
TMP91C016
記号 名称 アドレス
Interrupt
IIMC
input
mode
control
INT0レベル許可
エッジ検知割り込み
0
“H” レベル割り込み
1
NMI 立ち上がりエッジ許可
立ち下がりエッジで割り込み要求発生
0
立ち上がり /立ち下がりエッジで割り込み要求発生
1
(3) 割り込み要求フラグクリアレジスタ
クタを書くことで行います。
います。
7 6 5 4 3 2 1 0
− − I3EDGE I2EDGE I1EDGE I0EDGE I0LE NMIREE
W
0 0 0 0 0 0 0 0
8CH
(RMW 禁)
“0” をライ
トしてく
ださい。
“0”
をライ
トしてく
ださい。
INT3
0: 立ち
上がり
立ち
1:
下がり
エッジ
INT2
0: 立ち
上がり
立ち
1:
下がり
エッジ
INT1
エッジ
0: 立ち
上がり
立ち
1:
下がり
INT0
0:
1:
エッジ
立ち
上がり
立ち
下がり
INT0
0:
エッジ
1:
レベル
1:
NMI
立ち上が
りでも
動作
割り込み要求フラグのクリアは、INTCLR レジスタに表 3.4.1 のマイクロ DMA 起動ベ
例えば、INT0 割り込みフラグをクリアする場合、DI 命令後に下記のレジスタ操作を行
記号 名称 アドレス
Interrupt
INTCLR
clear
control
(4) マイクロ DMA 起動ベクタレジスタ
レジスタに設定されたベクタ値と一致するマイクロ DMA 起動ベクタを持つ割り込み要因
をマイクロ DMA 起動要因として割り当てます。
相当するマイクロ DMA 転送終了割り込みが伝えられるとともに、このマイクロ DMA 起
動ベクタレジスタはクリアされ、そのチャネルのマイクロ DMA 起動要因がクリアされま
すので、引き続きマイクロ DMA 処理をさせたい場合は、マイクロ DMA 転送終了割り込
み処理の中で、再度このマイクロ DMA 起動ベクタレジスタをセットする必要があります。
る場合は、チャネル番号の小さい方が優先されます。
る場合、チャネル番号の小さいチャネルがマイクロ DMA 転送終了になるまで実行され、
そのチャネルのマイクロ DMA 起動ベクタを再度設定しなければ、その後のマイクロ DMA
起動はチャネル番号の大きいチャネルに移行します (マイクロ DMA のチェーン)。
INTCLR ← 0AHINT0 割込み要求フラグのクリア
7 6 5 4 3 2 1 0
CLRV5 CLRV4 CLRV3 CLRV2 CLRV1 CLRV0
88H
(RMW 禁 )
W
0 0 0 0 0 0
割り込みベクタ
マイクロ DMA 処理をどの割り込み要因に割り当てるかを選択するレジスタです。この
マイクロ DMA 転送カウンタが “0” になると、割り込みコントローラにそのチャネルに
また、複数チャネルのマイクロ DMA 起動ベクタレジスタに同一ベクタが設定されてい
従って、2 チャネルのマイクロ DMA 起動ベクタレジスタに同一ベクタが設定されてい
91C016-50
2004-02-16
TMP91C016
記号 名称 アドレス
DMA0
DMA0V
DMA1V
DMA2V
DMA3V
start
vector
DMA1
start
vector
DMA2
start
vector
DMA3
start
vector
(5) マイクロ DMA のバースト指定
マイクロ DMA 処理はバースト指定を行うことにより、1 回のマイクロ DMA 起動で、
転送カウンタレジスタが “0” になるまで連続転送を行うことが可能です。DMAB レジスタ
のマイクロ DMA チャネルに対応するビットを “1” にすることで、バースト指定できます。
80H
81H
82H
83H
7 6 5 4 3 2 1 0
DMA0V5 DMA0V4 DMA0V3 DMA0V2 DMA0V1 DMA0V0
R/W
0 0 0 0 0 0
DMA1V5 DMA1V4 DMA1V3 DMA1V2 DMA1V1 DMA1V0
R/W
0 0 0 0 0 0
DMA2V5 DMA2V4 DMA2V3 DMA2V2 DMA2V1 DMA2V0
R/W
0 0 0 0 0 0
DMA3V5 DMA3V4 DMA3V3 DMA3V2 DMA3V1 DMA3V0
R/W
0 0 0 0 0 0
DMA0 起動ベクタ
DMA1 起動ベクタ
DMA2 起動ベクタ
DMA3 起動ベクタ
記号 名称 アドレス
DMA
DMAR
DMAB
software
request
register
DMA
burst
register
89H
8AH
7 6 5 4 3 2 1 0
DMAR3 DMAR2 DMAR1 DMAR0
R/W R/W R/W R/W
0 0 0 0
DMAB3 DMAB2 DMAB1 DMAB0
R/W
0 0 0 0
1: DMA のソフトウエア要求
1: DMA のバースト要求
91C016-51
2004-02-16
TMP91C016
(6) 注意事項
CPU は、命令実行ユニットとバスインタフェースユニットが分かれています。そのた
め、割り込みが発生する直前に、その割り込みコントローラの割り込み要求フラグをクリ
アする命令をフェッチした場合、CPU が割り込みを受け付けて割り込みベクタをリード
するまでの間に、その割り込み要求フラグをクリアする命令
(注)
を実行するということが
あり得ます。この場合、CPU は要因消滅ベクタ “0008H” を読み込み、アドレス FFFF08H
の割り込みベクタをリードします。
上記の現象を回避するため、割り込み要求フラグをクリアするときは、DI 命令の後に
クリアする命令を書き込むようにしてください。クリアする命令を実行した後、再び EI
命令で割り込みをイネーブルにするときは、クリア命令後必ず 1 命令以上間を置いてから
EI 命令を実行してください。クリア命令後すぐに EI 命令を行うと、割り込み要求フラグ
がクリアされる前に、割り込みイネーブルになってしまうことがあります。
また、POP SR 命令により割り込みマスクレベル (ステータスレジスタ SR の<IFF2:0>)
を書き替えるときは、必ず DI 命令により割り込みを禁止した後に POP SR 命令を実行し
てください。
さらに、以下の 2 点は例外の回路になっていますので注意が必要です。
INT0のレベルモード
INTRX
エッジタイプの割り込みではないため、割り込み要求用フリップフ
ロップ機能はキャンセルされ、周辺割り込み要求がそのままフリッ
プフロップの S 入力を素通りし、Q出力になります。モード変更 (エ
ッジ → レベル) を行った場合、以前の割り込み要求フラグは自動的
にクリアされます。
INT0を “0” から “1” にすることによって CPU が割り込み応答シーケ
ンスに入ったときは、その割り込み応答シーケンスが完了するまで
INT0を “1” のままにしておく必要があります。また、INT0のレベル
モードをホルトの解除に使用する場合も、一度 “0” から “1” にして、
ホルトが解除されるまで必ず “1” に保持しておく必要があります。
(ノイズによって途中で “0” が入ることのないようにしてください。)
レベルモードからエッジモードへ切り替えたとき、レベルモードの
ときに受け付けた割り込み要求フラグはクリアされません。そのた
め、割り込み要求フラグを以下のシーケンスでクリアしてください。
DI
LD (IIMC), 00H: レベルからエッジへ切り替える
LD (INTCLR), 0AH: INT0 割り込み要求フラグをクリア
NOP: EI の実行待ち
EI
割り込み要求用フリップフロップをクリアするには、リセット動作
またはシリアルチャネルの受信バッファをリードする必要がありま
す。命令によるクリアはできません。
注 ) 下記の命令および端子変化も、この割り込み要求フラグをクリアする命令に相当します。
INT0: エッジモードで割り込み要求発生後のレベルモードへの切り替え命令
レベルモードでの割り込み要求発生後の端子入力変化 (“H” → “L”)
INTRX: 受信バッファをリードする命令
91C016-52
2004-02-16
3.5 ポート機能
合計 57 ビットの入出力ポートがあります。
また、これらのポート端子は汎用入出力ポート機能だけでなく、内部の CPU や内蔵 I/O の入出
力機能と兼用になっています。表 3.5.1 に各ポート端子の機能を、表 3.5.2 に各端子の設定方法を示
します。表 3.5.2 での設定にはプルアップ/ プルダウンの設定は表現されていません。
TMP91C016
表 3.5.1 ポート機能
ポート名 ピン名称 ピン数 方向
ポート 1
ポート 2
ポート 5
ポート 6
ポート 7
ポート 9
ポート B
ポート C
ポート D
P10~P17 8
P20~P27 8
P52 1
P53 1
P56 1
P60 1
P61 1
P63 1
P64 1
P65 1
P66 1
P67 1
P70 1
P71 1
P72 1
P73 1
P74 1
P90~P97 8
PB0 1
PB1 1
PB2 1
PB3 1
PB4 1
PB5 1
PC3 1
PC4 1
PC5 1
PC6 1
PC7 1
PD0 1
PD1 1
PD2 1
PD3 1
PD4 1
PD6 1
PD7 1
入出力
出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入 力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
入出力
(R: PU/D = プログラマブルプルアップ/プルダウン抵抗付き,
PU = プログラマブルプルアップ抵抗付き,
PD = プログラマブルプルダウン抵抗付き)
R
方向設定単位 内蔵機能用ピン名称
−
−
PU/D
PU
PU
PU
PU
PU
PU
PU
PU
PU
PU
PU
PU/D
PU
PU
PU
PU
PU
PU
PU
PU/D
PU/D
PU
PU/D
PU/D
−
−
PU
PU
PU
PU
PD
PU
PU
ビット
(固定 )
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
(固定)
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
ビット
D8~D15
A16~A23
HWR
INT3
WAIT , EXWR
W /R , MSK
CS0 , LCLK0
CS1 ,
CS3 , RAS
EA24,
CS2B
EA25,
CS2C , LCLK2, VEECLK
UCAS , UDS , WE
LCAS , LDS , REFOUT
SCOUT, TA1OUT
OPTTX0,
OPTRX0,
DRAMOE , EXRD
WE , NMI , CAS
KI0~KI7
VLD0
VLD1
VLD2
INT0
INT1
INT2
TXD1
RXD1
SCLK1,
XT1
XT2
D1BSCP
D2BLP
D3BFR
DLEBCD
DOFFB
MLDALM , ALARM
MLDALM
CS2D
CS2E
CTS1
91C016-53
2004-02-16
TMP91C016
表 3.5.2 I/O ポート設定一覧表 (1/2)
ポート 端子名 仕様
ポート 1
(注 1)
ポート 2
ポート 5
ポート 6
ポート 7
X: Don’t care
P10~P17
P20~P27
P52, P53,
P56
P52
P53
P56
P60, P61,
P63~P67
P60
P61
P63
P64
P65
P66
P67
P70~P74
P70
P71
P72
P73
P74
入力ポート
出力ポート
D8∼ D15 バス
出力ポート
A16∼ A23出力
入力ポート
出力ポート
HWR 出力
INT3入力
WAIT 入力 (注 2)
EXWR 出力
W /R 出力
MSK 入力 (注 3)
入力ポート
出力ポート
CS0 出力 (注 10)
LCLK0 出力 (注 10)
CS1 出力
CS2 出力
CS2A 出力
3 CS 出力 (注 14)
RAS 出力 (注 14)
EA24 出力
CS2B 出力
EA25 出力
CS2C 出力 (注 5), (注 11)
VEECLK出力 (注 5)
LCLK2 出力 (注 11)
UCAS 出力 (注 6)
UDS 出力
WE 出力 (注 6)
LCAS 出力 (注 7)
LDS 出力
REFOUT 出力 (注 7)
入力ポート
出力ポート
SCOUT出力
TA1OUT出力
OPTTX0出力 (注 4)
CS2D 出力
OPTRX0入力 (注 4)
CS2E 出力
DRAMOE 出力
EXRD 出力
WE 出力 (注 8)
NMI 入力
CAS 出力 (注 8)
I/O レジスタ設定値
Pn PnCR PnFC PnFC2 PnFC3
X 0 − − −
X 1 − − −
X X − − −
X − 0 − −
X − 1 − −
X 0 0 X −
X 1 0 X −
X 1 1 0 −
X 0 X 1 −
− − − − −
X 1 1 − −
X 1 1 − −
X X X
X 0 0 0 0
X 1 0 0 0
X 1 1 − 0
X 1 1 − 1
X 1 1 0 0
X 1 0 − −
X 1 1 − −
X 1 1 0 −
X 1 1 0 −
X 1 1 0 −
X 1 X 1 −
X 1 1 0 0
X 1 X 1 0
X 1 X X 0
X 1 X 1 1
X 1 1 0 −
X 1 X 1 −
X 1 1 0 −
X 1 1 0 −
X 1 X 1 −
X 1 1 0 −
X 0 0 0 −
X 1 0 0 −
X 1 X 1 −
X 1 1 0 −
X 1 X 1 −
X 1 1 0 −
X 0 0 − −
X 1 1 − −
X 1 X 1 −
X 1 1 0 −
X 1 X 1 −
X 0 1 X −
X 1 X 1 −
論理選択
−
91C016-54
2004-02-16
TMP91C016
表 3.5.3 I/O ポート設定一覧表 (2/2)
ポート 端子名 仕様
I/O レジスタ設定値
Pn PnCR PnFC PnFC2 PnFC3
ポート 9
ポート B
ポート C
ポート D
X: Don’t care
P90~P97
PB0~PB5
PB0
PB1
PB2
PB3
PB4
PB5
PC3~PC5
PC6, PC7
PC3
PC4
PC5
PC6
PC7
PD0~PD7
PD0
PD1
PD2
PD3
PD4
PD6
PD7
注 1) ポート 1は、AM1, AM0端子の設定によりポートかデータバスのどちらかのみしか使用できません。
注 2) WAIT 入力として使用する場合は、BxCS にて (1 + N) ウェイトの設定が必要です。
注 3) P56/MSK を MSK 入力として使用する場合、P5FC2<P56F2> にて論理選択できます。
注 4) SIO0, SIO1 の入出力端子: OPTRX0, OPTTX0, TXD1, RXD1, SCLK1,
の論理選択を各ポートの出力ラッチレジスタ Pnで設定できます。
注 5) P65F2D と P65F2 を同時に書き込んだ場合は P65F2D (VEECLK) が優先されます。
注 6)
注 7)
注 8)
UCAS と WE の切り替えは CS/WAIT制御で 8, 16 ビットの切り替えにて自動的に設定されます。
LCAS と REFOUT の切り替えは CS/WAIT 制御で 8, 16ビットの切り替えにて自動的に設定されます。
WE と CAS の切り替えは CS/WAIT制御で 8, 16ビットの切り替えにて自動的に設定されます。
注 9) XT1 と XT2 の発振端子への制御は SYSCR0 の XTEN のビットにて制御され、このビットの制御が優先され
ます。
PC6~PC7 を出力ポートとして使用する場合、オープンドレイン出力バッファとなります。
注 10)
注 11)
CS0 と LCLK の切り替えは CS/WAIT 制御の P6FC3<P60F3> にて設定します。
CS2C と LCLKへの切り替えは P6FC3<P65F3> にて設定します。
注 12) VLD0~VLD2 は3端子のうち、 1 端子でも VLD として使用した場合、残りの端子は出力機能はできません。
VLD 入力として使用するか、汎用入力端子としてしか使用できません。また、この VLD の設定は VLD 制御
の VLDCTL<VLD *USE> にて切り替えます。
注 13) SCLK と
注 14)
CS3 と RAS の切り替えは CS/WAIT制御で DRAM/ROM 選択にて自動的に設定されます。
CTS の切り替えは SC1MOD0<CTSE> にて設定します。
入力ポート
KI0∼ KI7入力
入力ポート
出力ポート
VLD0入力 (注 12)
VLD1入力 (注 12)
VLD2入力 (注 12)
INT0入力
INT1入力
INT2入力
入力ポート
出力ポート
TXD1出力 (注 4)
RXD1入力 (注 4)
SCLK1入力 (注 4), (注 13)
SCLK1出力 (注 4), (注 13)
CTS1 入力 (注 4), (注 13)
XT1 入力 (注 9)
XT2 出力 (注 9)
入力ポート
出力ポート
D1BSCP 出力
D2BLP 出力
D3BFR 出力
DLEBCD 出力
DOFFB出力
MLDALM 出力
ALARM 出力
MLDALM 出力
X − 0 − −
X − 1 − −
X 0 0 − −
X 1 0 − −
X 0 − − −
X 0 − − −
X 0 − − −
X 0 1 − −
X 0 1 − −
X 0 1 − −
X 0 0 − −
X 1 0 − −
X 1 1 − −
X 0 − − −
X 0 0 − −
X 1 1 − −
X 0 0 − −
X X X − −
X X X − −
X − 0 − −
X 0 0 − −
X 1 1 − −
X 1 1 − −
X 1 1 − −
X 1 1 − −
X 1 1 − −
1 1 1 − −
0 1 1 − −
X 1 1 − −
CTS1は、出力データまたは入力データ
91C016-55
2004-02-16
3.5.1 ポート 1 (P10~ P17)
ポート 1 は、ビット単位で入出力の指定ができる 8 ビットの汎用入出力ポートです。入出力
の指定は、コントロールレジスタ P1CR によって行います。リセット動作により、P1CR の全
ビットは “0” にリセットされ、ポート 1 は、入力モードになります。
汎用入出力ポート機能以外に、データバス (D8~D15) 機能があります。
なお、AM1 端子が “0”、AM0 端子が “1” の場合 (外部 16 ビットデータバス)、P1CR の設定
値に関係なく常に (D8~D15) として機能します。
内
部
デ
ー
タ
バ
ス
リセット
方向制御
(ビット単位 )
P1CRライト
出力
ラッチ
P1 ライト
出力バッファ
P1リード
TMP91C016
ポート 1
P10~P17
(D8~D15)
図 3.5.1 ポート 1
91C016-56
2004-02-16
3.5.2 ポート 2 (P20~ P27)
ポート 2 は、8 ビットの出力ポートです。
出力ポート機能以外に、アドレスバス (A16~A23) 機能があります。この指定は、P2FC レ
ジスタによって行います。ビット単位で出力ポートとアドレスバス出力の選択が可能です。
リセット動作により、P2FC の全ビットは “1” にセットされアドレスバス (A16~A23) として
機能します。
TMP91C016
リセット
内
部
デ
ー
タ
バ
ス
S
機能制御
(ビット単位 )
P2FCライト
出力
ラッチ
P2ライト
S
A
セレクタ
B
出力バッファ
ポート2
P20~P27
(A16~A23)
P2リード
内部A16 ∼A23
図 3.5.2 ポート 2
91C016-57
2004-02-16
ポート 1 レジスタ
TMP91C016
7 6 5 4 3 2 1 0
P1
(0001H)
Bit symbol P17 P16 P15 P14 P13 P12 P11 P10
Read/Write R/W
リセット後 外部端子データ (出力ラッチレジスタは “0” にクリアされます。)
ポート 1 コントロールレジスタ
P1CR
(0004H)
Bit symbol P17C P16C P15C P14C P13C P12C P11C P10C
Read/Write W
リセット後
機 能 0: 入力 1: 出力
7 6 5 4 3 2 1 0
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
ポート 2 レジスタ
ポート 1 の入力/ 出力設定
入力
0
出力
1
7 6 5 4 3 2 1 0
P2
(0006H)
Bit symbol P27 P26 P25 P24 P23 P22 P21 P20
Read/Write R/W
リセット後
1 1 1 1 1 1 1 1
ポート 2 ファンクションレジスタ
7 6 5 4 3 2 1 0
P2FC
(0009H)
Bit symbol P27F P26F P25F P24F P23F P22F P21F P20F
Read/Write W
リセット後
機 能 0: ポート 1: アドレスバス(A23~A16)
1 1 1 1 1 1 1 1
注) P1CR, P2FC はリードモディファイライトできません。
図 3.5.3 ポート 1, 2 関係のレジスタ
91C016-58
2004-02-16
3.5.3 ポート 5 (P52, P53, P56)
ポート 5 は、ビット単位で入出力の設定ができる 3 ビットの汎用入出力ポートです。
入出力切り替えおよび抵抗の指定は、P5CR, P5FC, P5FC2, P5UDE によって行います。
ポート機能以外に、P52 に HWR 出力と INT3 入力, P53 に WAIT 入力と EXWR 出力, P56 に
W / R 出力と MSK 入力機能がそれぞれあります。
リセット動作により、出力ラッチ P5 の全ビット、および P5UDE のビット 3, 5 が “1” にセ
ットされ、P5CR, P5FC, P5FC2 の全ビット、および P5UDE のビット 0, 1 は “0” にリセット
されます。よって P52, P53, P56 はプルアップ抵抗付きの入力モードになります。
ポート P52 の INT3 外部割り込み入力は、外部割り込みのエッジ選択を割り込みコントロー
ラ部にある IIMC レジスタにて設定します。
汎用入出力ポート以外に、CPU のコントロール/ ステータス信号の入出力機能があります。
なお、
エリアをアクセスするときでも出力され (擬似スタティック RAM 用)、“1” にセットされたま
まだと、外部アドレスエリアをアクセスしたときのみ
RD 端子の RD ストローブは、P5<RDE> レジスタを “0” にクリアすると内部アドレス
TMP91C016
RD ストローブは出力されます。
リセット
プルアップ抵抗
制御 (ビット単位)
P5UDE ライト
P5UDE<UDEP52>
P5UDE<P52UD>
方向制御
(ビット単位 )
内
部
デ
ー
タ
バ
ス
P5CRライト
機能制御
(ビット単位 )
P5FCライト
S
出力
ラッチ
P5ライト
A
B
HWR
S
セレクタ
出力バッファ
P-ch(プログラマブルプルアップ)
P52 (HWR , INT3)
N-ch (プログラマブルプルダウン)
機能制御 2
(ビット単位 )
P5リード
P5FC2ライト
INT3
立ち上がり/ 立ち下がり
エッジ検出
IIMC<I3EDGE>
図 3.5.4 ポート 5 (P52)
91C016-59
2004-02-16
TMP91C016
リセット
内
部
デ
ー
タ
バ
ス
プルアップ抵抗
制御 (ビット単位)
P5UDE ライト
方向制御
(ビット単位 )
P5CRライト
機能制御
ビット単位)
P5FC ライト
ラッチ
P5ライト
S
出力
A
B
EXWR
S
セレ クタ
出力バッファ
P-ch (プログラマブルプルアップ)
P53 ( WAIT , EXWR )
内部
WAIT
P5リード
リセット
内
部
デ
ー
タ
バ
ス
プルアップ抵抗
制御 (ビット単位)
P5UDE ライト
方向制御
(ビット単位 )
P5CRライト
機能制御
(ビット単位 )
P5FCライト
S
出力
ラッチ
P5ライト
S
セレ クタ
A
B
WR/
出力バッファ
P-ch (プログラマブルプルアップ)
P56 ( WR/ , MSK)
機能制御 2
(ビット単位 )
P5FC2ライト
fsクロック
VEECLK
(P65 へ )
P5リード
図 3.5.5 ポート 5 (P53, P56)
91C016-60
2004-02-16
P5
(000DH)
P5CR
(000AH)
P5FC
(000BH)
P5FC2
(000CH)
P5UDE
(000EH)
ポート 5 レジスタ
Bit symbol P56 P53 P52 RDE
Read/Write R/W R/W R/W
リセット後
Bit symbol P56C P53C P52C
Read/Write W W
リセット後
機 能
Bit symbol P56F P53F P52F
Read/Write W W
リセット後
機 能
Bit symbol P56F2 P52F2
Read/Write W W
リセット後
機 能
Bit symbol P56U P53U UDEP52 P52UD
Read/Write W W
リセット後
機 能
7 6 5 4 3 2 1 0
外部端子デ
ータ (出力
ラッチレジ
スタは “1”
にセットさ
れます。)
ポート 5 コントロールレジスタ
外部端子データ (出力
ラッチレジスタは “1”
にセットされます。)
7 6 5 4 3 2 1 0
0 0 0
0: 入力
1: 出力
ポート 5 ファンクションレジスタ
0: 入力
1: 出力
入力 /出力設定
0
1
7 6 5 4 3 2 1 0
0 0 0
0: ポート
1:
W /R
ポート 5 ファンクションレジスタ 2
0: ポート
1: EXWR
0: ポート
HWR
1:
7 6 5 4 3 2 1 0
0 0
MSK
論理選択
0: “1” で
CLK
1: “0” で
CLK
0: <P52F>
プルアップ抵抗制御レジスタ
1: INT3
7 6 5 4 3 2 1 0
1 1 1 0
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
0: プルアップ
1: プルダウン
TMP91C016
外部端子デ
ータ (出力
ラッチレジ
スタは “1”
にセットさ
れます。)
入力
出力
注 1) P5CR, P5FC, P5FC2, P5UD E はリードモディファイライトできません。
注 2) P53,
WAIT 端子を WAIT 端子として使用する場合は、P5CR<P53C> を “0” に、チップセレクト / ウェイトコントロー
ルレジスタの<BnW2:0> を “010” に設定する必要があります。
図 3.5.6 ポート 5 関係のレジスタ
91C016-61
2004-02-16
3.5.4 ポート 6 (P60、 P61、 P63~P67)
ポート 6 は、7 ビットの入出力ポートです。入出力ポート機能以外に、標準チップセレクト
信号出力機能 (
信号出力機能 (
イバのコマンド (表示濃度などを制御する特殊な信号: LCLK) チップセレクト信号出力機能、
DRAM アクセス (
UDS ) 選択出力機能があります。これらの設定は P6FC, P6FC2 によって行います。リセット
動作により、P6CR, P6FC, P6FC2 および P6UE のビット 3, 6, 7 が “0” にリセットされ、P6UE
のビット 0, 1, 4, 5 が “1” にセットされます。よって、P63, P66, P67 が抵抗なしの入力モード
になり、P60, P61, P64, P65 がプルアップ抵抗付きの入力モードになります。
なお、CS2 出力とCS2A 出力の切り替えは P6FC<P62F> にて行います。(この端子には、プ
ルアップ抵抗およびポート機能はありません。)
プルアップ抵抗
制御 (ビット単位)
内
部
デ
ー
タ
バ
ス
(ビット単位 )
(ビット単位 )
CS0 , CS1 , CS3 )、拡張アドレス出力機能 (EA24, EA25)、拡張チップセレクト
CS2B , CS2C )、 LCD ドライバ用昇圧クロック (VEECLK) 出力、 SRLCD ドラ
RAS , CAS , WE , LCAS , UCAS , REFOUT )出力機能、および外部 RAM ( LDS ,
リセット
P6UEライト
方向制御
(ビット単位 )
P6C
ライト
機能制御
P6FC ライト
機能制御2
P6FC2ライト
S
出力
ラッチ
P6ライト
S
A
セレクタ
B
C
D
CS0 , CS1 , CS3 , EA24, EA25,
UCAS / WE , LCAS / REFOUT
RAS , CS2B , CS2C /VEECLK,
UDS , LDS
LCLK0, LCLK2
P6リード
出力バッファ
TMP91C016
P-ch (プログラマブルプルアップ)
P60 ( CS0 , LCLK0)
P61 (
CS1 )
P63 (
CS3 , RAS )
P64 (EA24,
P65 (EA25,
P66 (
P67 (
CS2B )
CS2C , LCLK2, VEECLK)
UCAS / WE / UDS )
LCAS / REFOUT / LDS )
図 3.5.7 ポート 6
91C016-62
2004-02-16
P6
(0012H)
P6CR
(0014H)
P6FC
(0015H)
P6FC2
(001BH)
P6UE
(0018H)
P6FC3
(0010H)
TMP91C016
ポート 6 レジスタ
7 6 5 4 3 2 1 0
Bit symbol P67 P66 P65 P64 P63 P61 P60
Read/Write R/W R/W
リセット後 外部端子データ (出力ラッチレジスタは “1” にセットされます。)
外部端子データ (出力
ラッチレジスタは “1”
にセットされます。)
ポート 6 コントロールレジスタ
7 6 5 4 3 2 1 0
Bit symbol P67C P66C P65C P64C P63C P61C P60C
Read/Write W W
リセット後
機 能 0: 入力 1: 出力
0 0 0 0 0 0 0
0: 入力 1: 出力
ポート 6 ファンクションレジスタ
7 6 5 4 3 2 1 0
Bit symbol P67F P66F P65F P64F P63F P62F P61F P60F
Read/Write W
リセット後
機 能
0 0 0 0 0 0 0 0
2 CS
0: ポート
1:
LCAS
または
REFOUT
0: ポート
1:
UCAS
または
WE
0: ポート
1: EA25
0: ポート
1: EA24
0: ポート
1:
または
RAS
0:
1:
3 CS
A2 CS
0: ポート
1: 1 CS
0: ポート
1: 0 CS
ポート 6 ファンクションレジスタ2
7 6 5 4 3 2 1 0
Bit symbol P67F2 P66F2 P65F2 P64F2 − P65F2D
Read/Write W
リセット後
機 能
0 0 0 0 0 0
0: <P67F>
1:
LDS
0: <P66F>
1: UDS
0: <P65F>
1: C2 CS
0: <P64F>
1: B2 CS
“0” をライト
してくださ
い。
0: <P65F2>
1: VEECLK
ポート 6 ファンクションレジスタ2
7 6 5 4 3 2 1 0
Bit symbol P67U P66U P65U P64U P63U P61U P60U
Read/Write W W
リセット後
機 能
0 0 1 1 0 1 1
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
ポート 6 ファンクションレジスタ 3
7 6 5 4 3 2 1 0
Bit symbol P65F3 − P60F3
Read/Write W W W
リセット後
機 能
0 0 0
0: ノーマル
1:
CS2C
と WR の
OR 信号
(LCLK2)
“0” をライト
してくださ
い。
0: ノーマル
1:
0 CS
と WR の
OR 信号
(LCLK0)
注 1) P6CR, P6FC, P6FC2, P6FC3, P6UE はリードモディファイライトできません
注 2) P63 の
3 CS と RAS 機能の切り替えは、チップセレクト, ウェイトコントロールレジスタ B3CS<B3OM1:0> の設
定を DRAM 用に設定することで切り替わります。
図 3.5.8 ポート 6 関係のレジスタ
91C016-63
2004-02-16
3.5.5 ポート 7 (P70~ P74)
ポート 70~74 はビット単位で入出力の指定ができる 5 ビットの汎用入出力ポートです。リ
セット動作により、入力ポートとなります。
また、出力ラッチレジスタの全ビットは “1” へセットされます。
入出力ポート以外に
1. 8 ビットタイマ出力機能 (TA1OUT)
2. 内部クロック出力端子機能 (SCOUT)
3. IrDA 専用端子機能 (OPTRX0, OPTTX0)
4. 拡張チップセレクト出力機能 (
TMP91C016
CS2E , CS2D )
5. DRAM コントロール出力機能 (
6. 拡張リード信号出力 (
7. ノンマスカブル割り込み要求端子 (
があります。
これらの機能はポート 7 ファンクションレジスタ P7FC, P7FC2 の該当ビットへ “1” を書き
込むことにより各ファンクションが可能となります。
リセット動作により、P7CR, P7FC, P7FC2 の値は “0” にリセットされ、全ビットが入力ポ
ートとなります。
EXRD )
WE , CAS , DRAMOE )
NMI )
91C016-64
2004-02-16
TMP91C016
(1) ポート 70 (TA1OUT, SCOUT)
ポート 70 は入出力ポート以外に 8 ビットタイマ出力端子 TA1OUT 、内部クロックを出
力する SCOUT 出力端子としての機能を持っています。P7FC<P70F> に “1” を書き込む
ことにより TA1OUT 端子に、P7FC2<P70F2> に “0” を書き込むことにより SCOUT 端子
に設定されます。
また、P7UDE<P70U> に “1” を書き込むことによりプルアップ抵抗が付加されます。
リセット動作により P70 はプルアップ抵抗なしの入力モードになります。
内
部
デ
ー
タ
バ
ス
リセット
FSクロック
F
FPH
プルアップ制御
(ビット単位 )
P7UDE ライト
方向制御
(ビット単位 )
P7CR
機能制御
(ビット単位 )
P7FCライト
機能制御 2
(ビット単位 )
P7FC2ライト
S
出力ラッチ
P7 ライト
SYSCR2<SCOSEL>
セレクタ
クロック
イト
B
TA1OUT
SCOUT
S
S1
B
セレクタ
C
P7 リード
P-ch (プログラマブルプルアップ)
P70 (TA1OUT, SCOUT)
S0
Q
Y
S
B
Y
図 3.5.9 ポート 70
91C016-65
2004-02-16
TMP91C016
(2) ポート 71 (
ポート 71 は入出力ポート以外に、拡張チップセレクト信号出力機能 (
CS2D ,OPTTX0)
CS2D ) がありま
す。また SIO0 を IrDA モードで使用した際の OPTTX0 送信端子の機能を持ちます。
OPTTX0 端子として使用する際には、 P7<P71> により論理反転出力可能です。
P7UDE<P71U> に “1” を書き込むことにより、プルアップ抵抗が付加されます。リセ
ット動作により P71 はプルアップ抵抗なしの入力モードになります。
リセット
プルアップ制御
(ビット単位 )
P7UDE ライト
方向制御
(ビット単位 )
P7CR ライト
機能制御
内
部
デ
ー
タ
バ
ス
(ビット単位 )
P7FCライト
機能制御 2
(ビット単位 )
P7FC2ライト
S
出力ラッチ
P7ライト
P-ch (プログラマブルプルアップ)
P71 ( D2 CS , OPTTX0)
S1
S0
A
B
Y
C
P7 リード
B
S
Y
D2 CS
論理反転
TXD0出力
図 3.5.10 ポート 71
91C016-66
2004-02-16
TMP91C016
(3) ポート 72 (
ポート 72 は入出力ポート以外に拡張チップセレクト信号出力機能 (
CS2E ,OPTRX0)
CS2E ) があります。
また、SIO0 を IrDA モードで使用した際の OPTRX0 受信端子の機能を持ちます。OPTRX0
端子として使用する際には、P7<P72> により論理反転入力が可能です。
P72 にはプルアップ抵抗もしくはプルダウン抵抗の接続が可能です。
P7UDE<UDEP72> に “1” を書き込むことにより抵抗の接続がイネーブルとなり、
P7UDE<P72UD> によりプルアップ抵抗とプルダウン抵抗の選択を設定します。リセッ
ト動作により P72 はプルアップ抵抗、プルダウン抵抗なしの入力モードになります。
リセット
プルアップ/
プルダウン制御
(ビット単位 )
P7UDE<UDEP72>
P7UDE<P72UD>
内
部
デ
ー
タ
バ
ス
P7UDE ライト
方向制御
(ビット単位 )
P7CR ライト
機能制御
(ビット単位 )
P7FCライト
S
出力ラッチ
P7 ライト
E2 CS
P-ch (プログラマブルプルアップ)
E2 CS , OPTRX0)
P72 (
N-ch (プログラマブルプルダウン)
S
Y
B
OPTRX0
(SIO0 へ)
P7 リード
論理反転
S
B
Y
図 3.5.11 ポート 72
91C016-67
2004-02-16
TMP91C016
(4) ポート 73 (
ポート 73 は入出力ポート以外に DRAM コントロール信号出力 (
ド信号出力 (
EXRD , DRAMOE )
DRAMOE ) と拡張リー
EXRD ) 機能があります。拡張リード信号出力 EXRD は、 RD 出力信号と同一
のタイミングで出力されます。
また、P7UDE<P73U> に “1” を書き込むことにより、プルアップ抵抗を接続すること
が可能です。リセット動作により P73 はプルアップ抵抗付きの入力モードとなります。
リセット
プルアップ制御
(ビット単位 )
P7UDE ライト
方向制御
(ビット単位 )
P7CR ライト
内
部
デ
ー
タ
バ
ス
機能制御
(ビット単位 )
P7FCライト
機能制御 2
(ビット単位 )
P7FC2ライト
S
出力ラッチ
P7 ライト
DR 出力
DRAMOE
B
C
S1 S0
P-ch (プログラマブルプルアップ )
P73 ( EXRD , DRAMOE )
Q
Y
S
B
Y
P7 リード
図 3.5.12 ポート 74
91C016-68
2004-02-16
TMP91C016
(5) ポート 74 (
ポート 74 は入出力ポート以外に、
NMI , WE , CAS )
NMI 入力端子、DRAM コントロール信号出力 ( WE ,
CAS ) 機能があります。NMI 端子の設定は、P7FC<P74F> にて行います。<P74F> に “1”
を書き込むことにより
(P7CR<P74C>) の値よりも優先されます。また、
一度
NMI 端子に設定した後、汎用ポートへの切り替えはできません。
NMI 入力端子になります。このビットはコントロールレジスタ
NMI 端子の設定は 1 回のみですので、
また、P7UDE<P74U> に “1” を書き込むことによりプルアップ抵抗が接続されます。
リセット動作により、P74 はプルアップ抵抗付きの入力モードとなります。
内
部
デ
ー
タ
バ
ス
リセット
プルアップ制御
(ビット単位 )
P7UDE ライト
方向制御
(ビット単位 )
P7CR ライト
機能制御
(ビット単位 )
機能制御 2
(ビット単位 )
P7FC2ライト
S
出力ラッチ
P7
P7FCライト
WE
CAS
S
Y
B
S
B
Y
P-ch (プログラマブルプルアップ)
NMI , WE , CAS )
P74 (
NMI
P7 リード
立ち下がりエッジ検出
立ち上がりエッジ検出
IIMC<NMIREE>
図 3.5.13 ポート 74
91C016-69
2004-02-16
P7
(0013H)
P7CR
(0016H)
P7FC
(0017H)
P7FC2
(001CH)
P7UDE
(001FH)
ポート 7 レジスタ
Bit symbol P74 P73 P72 P71 P70
Read/Write R/W
リセット後
Bit symbol P74C P73C P72C P71C P70C
Read/Write W
リセット後
機 能
Bit symbol P74F P73F P72F P71F P70F
Read/Write W
リセット後
機 能
Bit symbol P 74F2 P73F2 P71F2 P 70F2
Read/Write W W W W
リセット後
機 能
Bit symbol P72UD P74U P73U UDEP72 P71U P 70U
Read/Write W
リセット後
機 能
7 6 5 4 3 2 1 0
ポート 7 コントロールレジスタ
外部端子データ (出力ラッチレジスタは “1” にセットされます。)
7 6 5 4 3 2 1 0
0 0 0 0 0
ポート 7 ファンクションレジスタ
0: 入力 1: 出力
7 6 5 4 3 2 1 0
0 0 0 0 0
ポート 7 ファンクションレジスタ 2
0: ポート
1:
NMI
0: ポート
1: EXRD
出力
0: ポート
1:
CS2E
出力
0: ポート
1:
7 6 5 4 3 2 1 0
0 0 0 0
ポート7 プルアップ抵抗 /プルダウン抵抗制御レジスタ
0:<P74F>
1:
WE ,
CAS 出力
0: <P73F>
1:
DRAMOE
0: <P71F>
1: OPTTX0
7 6 5 4 3 2 1 0
0 1 1 0 0 0
0: プルアッ
プ
1: プルダウ
ン
プルアップ抵抗
0: 禁止
1: 許可
0: 抵抗なし
1: 抵抗付加
TMP91C016
0: ポート
CS2D
出力
出力
プルアップ抵抗
1: TA1OUT
0: <P70F>
1: SCOUT
0: 禁止
1: 許可
出力
出力
注) P7CR, P7FC, P7FC2, P7UDOEはリードモディファイライトできません。
図 3.5.14 ポート 7 関係のレジスタ
91C016-70
2004-02-16
3.5
3.5.6 ポート 9 (P9 0~P97)
ポート 90~97 は 8 ビットの入力ポートです。プルアップ抵抗は P9UE で制御します。
入力ポート以外にキーボードインタフェース端子としてキーオンウェイクアップ機能があ
ります。この機能は P9FC の該当ビットへ “1” を書き込むことにより可能となります。
リセット動作により、P9FC の値は “0” にリセットされ、P9UE が “1” にセットされます。
よって、全ビットがプルアップ抵抗付き入力ポートとなります。
内
部
デ
ー
タ
バ
ス
INTKEY
リセット
立ち上がり
エッジ
検出
キーオン
イネーブル
(ビット単位 )
P9FCライト
プルアップ抵抗
制御
ビット単位)
P9UE ライト
P9 リード
TMP91C016
P90~P97
8 入力 -OR
P-ch (プログラマブルプルアップ)
P90~P97 (KI0~KI7)
図 3.5.15 ポート 9
P9FC = “1” のときに、KI0~KI7 端子のいずれかの端子の状態が立ち下がると、そのエッジ
を検出して INTKEY 割り込みを発生します。INTKEY 割り込みは、すべての HALT モード状
態も解除可能です。
91C016-71
2004-02-16
P9
(0019H)
P9FC
(001DH)
P9UE
(001EH)
TMP91C016
ポート 9 レジスタ
7 6 5 4 3 2 1 0
Bit symbol P97 P96 P95 P94 P93 P92 P91 P90
Read/Write R
リセット後 外部端子データ
ポート 9 ファンクションレジスタ
7 6 5 4 3 2 1 0
Bit symbol P97F P96F P95F P94F P93F P92F P91F P90F
Read/Write W
リセット後
0 0 0 0 0 0 0 0
機 能 0: キー入力禁止 1: キー入力許可
ポート 9 のキー入力
禁止
0
許可
1
ポート 9 プルアップ抵抗制御レジスタ
7 6 5 4 3 2 1 0
Bit symbol P97U P96U P95U P94U P93U P92U P91U P90U
Read/Write W
リセット後
機 能
1 1 1 1 1 1 1 1
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ
抵抗
0: 禁止
1: 許可
プルアップ抵
抗
0: 禁止
1: 許可
注) P9FC はリードモディファイライトできません。
図 3.5.16 ポート 9 関係のレジスタ
91C016-72
2004-02-16
3.5.7 ポート B (PB0~PB5)
ポート B0~B5 はビット単位で入出力指定ができる 6 ビットの汎用入出力ポートです。入出
力ポート機能以外にポート B0~B2 はそれぞれ電圧検出器の入力端子 VLD0~VLD2 の機能を持
っています。また、ポート B3~B5 はそれぞれ INT0~INT2 の外部割り込み入力機能がありま
す。外部割り込みのエッジ選択は、割り込みコントローラ部にある IIMC レジスタにて設定し
ます。
外部割り込み入力機能は PBFC の該当ビットへ “1” を書き込むことにより可能となります。
また、ポート B0~B3 にはプルアップ抵抗が、ポート B4, B5 にはプルアップ抵抗もしくはプル
ダウン抵抗の接続が可能です。プルアップ抵抗, プルダウン抵抗は、PBUDE レジスタの該当
ビットへ “1” を書き込むことにより可能となります。
リセット動作により、ポート B0~B2, B4, B5 は PBCR, PBFC, PBUDE の値が “0” にリセッ
トされ、プルアップ抵抗, プルダウン抵抗なしの入力ポートとなります。ポート B3 はリセッ
ト動作によりプルアップ抵抗付きの入力モードになります。
(1) ポート B0~ ポート B2 (VLD0~VLD2)
TMP91C016
リセット
内
部
デ
ー
タ
バ
ス
プルアップ抵抗制御
(ビット単位 )
PBUDE ライト
方向制御
(ビット単位 )
PBCR ライト
S
出力ラッチ
PB ライト
PB リード
電圧検出器入力
<VLDnUSE>
0
1
2
S
B
セレクタ
Y
P-ch (プログラマブルプルアップ)
PB0 (VLD0)
PB1 (VLD1)
PB2 (VLD2)
VLD0
VLD1
VLD2
図 3.5.17 ポート B0~B2
91C016-73
2004-02-16
TMP91C016
(2) ポート B3 (INT0)
リセット
プルアップ抵抗制御
(ビット単位)
内
部
デ
ー
タ
バ
ス
PBUDE ライト
方向制御
(ビット単位)
機能制御
(ビット単位 )
S
出力ラッチ
PBライト
INT0
PBCR
PBFCライト
PB リード
B
P-ch (プログラマブルプルアップ)
PB3 (INT0)
S
B
Y
レベル/ エッジ選択
立ち上がり/ 立ち下がり選択
IIMC<I0LE, I0EDGE>
&
図 3.5.18 ポート B3
(3) ポート B4 (INT1), ポート B5 (INT2)
リセット
内
部
デ
ー
タ
バ
ス
プルアップ/
プルダウン制御
(ビット単位 )
PBUDE ライト
方向制御
(ビット単位 )
PBCR ライト
機能制御
(ビット単位 )
PBFCライト
S
出力ラッチ
PB ライト
INT1
INT2
PB リード
PBUDE<UDEPB4, UDEPB5>
PBUDE<PB4UD, PB5UD>
B
S
Y
PBFC<PB4F, PB5F>
立ち上がり/ 立ち下がり
エッジ検出
IIMC<I1EDGE, I2EDGE>
P-ch (プログラマブルプルアップ)
PB4 (INT1)
PB5 (INT2)
N-ch (プログラマブルプルダウン)
図 3.5.19 ポート B4~B5
91C016-74
2004-02-16
PB
(0022H)
PBCR
(0024H)
PBFC
(0025H)
PBUDE
(0020H)
ポート B レジスタ
Bit symbol PB5 PB4 PB3 PB2 PB1 PB0
Read/Write R/W
リセット後
Bit symbol PB5C PB4C PB3C PB2C PB1C PB0C
Read/Write W
リセット後
機 能
Bit symbol PB5F PB4F PB3F
Read/Write W
リセット後
機 能
Bit symbol PB5UD PB4UD UDEPB5 UDEPB4 PB3U PB2U PB1U PB0U
Read/Write W
リセット後
機 能 0: プルアップ抵抗
7 6 5 4 3 2 1 0
ポート B コントロールレジスタ
外部端子データ (出力ラッチレジスタは “1” にセットされます。)
7 6 5 4 3 2 1 0
0 0 0 0 0 0
ポート B ファンクションレジスタ
0: 入力 1: 出力
7 6 5 4 3 2 1 0
0 0 0
ポート B プルアップ抵抗 /プルダウン抵抗制御レジスタ
0: ポート
1: INT2
0: ポート
1:
INT1
0: ポート
1: INT0
7 6 5 4 3 2 1 0
0 0 0 0 1 0 0 0
1: プルダウン抵抗
0: 抵抗なし
1: 抵抗付加
プルアップ抵抗
0: 禁止
1: 許可
TMP91C016
注 1) PBCR, PB F C, PBUDE はリードモディファイライトできません。
注 2) PB0/VLD0 端子, PB1/VLD1 端子および PB2/VLD2 端子は、ポート/ ファンクションの切り替えレジスタはあり
ませんので、入力ポートとして使用する場合でも電圧検出器へ入力されます。
図 3.5.20 ポート B 関係のレジスタ
91C016-75
2004-02-16
3.5.8 ポート C (PC3~PC5, PC6, PC7)
ポート C3~C5, C6, C7 はビット単位で入出力の指定ができる 5 ビットの汎用入出力ポート
です。リセット動作により、入力ポートとなります。
また、出力ラッチレジスタの全ビットは “1” へセットされます。
入出力ポート以外にシリアルチャネル 0, 1 の入出力機能があります。この機能は PCFC の
該当ビットへ “1” を書き込むことにより各ファンクションが可能となります。リセット動作に
より、PCCR, PCFC の値は “0” にリセットされ、全ビットが入力ポートとなります。
(1) ポート C3 (TXD1)
ポート C3 は入出力ポート以外にシリアルチャネルの TXD1 出力端子としての機能を持
ちます。TXD1 端子として使用する際には PC<PC3> レジスタの設定により論理反転出力
可能です。
また、出力バッファはプログラマブルオープンドレイン機能を持っており、
PCUDOE<ODEPC3> レジスタにより設定します。
ポートC3 は PCUDOE<PC3U> レジスタに “1” を書き込むことにより、プルアップ抵
抗の接続が可能です。リセット動作によりポート C は、プルアップ抵抗なしの入力モード
になります。
リセット
TMP91C016
内
部
デ
ー
タ
バ
ス
プルアップ制御
(ビット単位 )
(ビット単位 )
機能制御
(ビット単位 )
出力ラッチ
PC ライト
TXD1 出力
PCUDOE ライト
方向制御
PCCR ライト
PCFCライト
S
論理反転
PC リード
P-ch (プログラマブルプルアップ)
S
Y
B
S
Y
オープンドレイン
設定可能
PCUDOE<ODEPC3>
B
PC3 (TXD1)
図 3.5.21 ポート C3
91C016-76
2004-02-16
TMP91C016
(2) ポート C4 (RXD1)
ポート C4 は入出力ポート以外に、シリアルチャネルの RXD1 入力端子としての機能を
持っています。RXD1 端子として使用する際には PC<PC4> レジスタの設定により論理反
転入力可能です。
ポート C4 は PCUDOE<UDEPC4> レジスタに “1” を書き込むことによりプルアップ抵
抗、もしくはプルダウン抵抗の接続が可能です。プルアップ抵抗・プルダウン抵抗の選択
は PCUDOE<PC4UD> レジスタにより設定します。
リセット動作によりポート C4 は、プルアップ抵抗・プルダウン抵抗なしの入力モードに
なります。
リセット
プルアップ抵抗/
プルダウン抵抗制御
(ビット単位 )
PCUDOE ライト
内
部
デ
ー
タ
バ
ス
方向制御
(ビット単位 )
PCCR ライト
S
出力ラッチ
PC ライト
PCUDOE<UDEPC4>
PCUDOE<PC4UD>
P-ch (プログラマブルプルアップ)
PC4 (RXD1)
N-ch (プログラマブルプルダウン)
SB
Y
PC リード
RXD1
論理反転
図 3.5.22 ポート C4
91C016-77
2004-02-16
TMP91C016
(3) ポート C5 (
ポート C5 は入出力ポート以外にシリアルチャネルの
CTS1 , SCLK1)
CTS1 入力端子または SCLK1 入出
力端子としての機能を持っています。シリアルチャネル用端子として使用する際には
PC<PC5> レジスタの設定により論理反転入出力可能です。
ポート C5 は PCUDOE<UDEPC5> レジスタに “1” を書き込むことによりプルアップ抵
抗もしくはプルダウン抵抗の接続が可能です。
プルアップ抵抗, プルダウン抵抗の選択は、PCUDOE<PC5UD> レジスタにより設定し
ます。リセット動作により PC5 はプルアップ抵抗、プルダウン抵抗なしの入力モードに
なります。
リセット
プルアップ抵抗/
プルダウン抵抗制御
(ビット単位 )
PCUDOE ライト
方向制御
内
部
デ
ー
タ
バ
ス
(ビット単位 )
PCCR ライト
機能制御
(ビット単位 )
PCFC ライト
S
出力ラッチ
PCライト
SCLK1 出力
CTS1
SCLK1
入力
論理反転
PCUDOE<UDEPC5>
PCUDOE<PC5UD>
B
論理反転
PC リード
S
Y
S
B
Y
P-ch (プログラマブルプルアップ)
PC5 ( CTS1 , SCLK1)
N-ch (プログラマブルプルダウン)
図 3.5.23 ポート C5
91C016-78
2004-02-16
(4) ポート C6 (XT1), C7 (XT2)
ポート C6, C7 は、入出力ポート以外に、低周波発振子接続端子の機能を持っています。
TMP91C016
内
部
デ
―
タ
バ
ス
リセット
方向制御
(ビット単位 )
PCCRライト
ラッチ
PCライト
PCリード
方向制御
(ビット単位 )
PCCRライト
ラッチ
PCライト
PCリード
S
S
出力
S
セレクタ
Y
S
S
出力
S
セレクタ
Y
低周波発振イネーブル
出力バッファ
(オープン
ドレイン出力)
B
A
PC6 (XT1)
(1で ON)
出力バッファ
(オープン
ドレイン出力)
B
A
低周波クロック
PC7 (XT2)
図 3.5.24 ポート C6, C7
91C016-79
2004-02-16
PC
(0023H)
PCCR
(0026H)
PCFC
(0027H)
PCUDOE
(0028H)
ポート C レジスタ
Bit symbol PC7 PC6 PC5 PC4 PC3
Read/Write R/W
リセット後 外部端子データ (出力ラッチレジスタは “1” にセットされます。 )
Bit symbol PC7C PC6C PC5C PC4C PC3C
Read/Write W W W
リセット後
機 能 0: 入力 1: 出力 0: 入力 1: 出力
Bit symbol PC5F PC3F
Read/Write W W
リセット後
機 能
Bit symbol ODEPC3 PC5UD PC4UD UDEPC5 UDEPC4 PC3U
Read/Write W
リセット後
機 能
7 6 5 4 3 2 1 0
ポート C コントロールレジスタ
7 6 5 4 3 2 1 0
1 1 0 0 0
ポート C ファンクションレジスタ
7 6 5 4 3 2 1 0
0 0
ポート C プルアップ /プルダウン抵抗,オープンドレイン制御レジスタ
0: ポート
1: SCLK1
出力
0: ポート
1: TXD1
7 6 5 4 3 2 1 0
0 0 0 0 0 0
0: 3 ステー
ト
1: オープン
ドレイン
0: プルアップ抵抗
1: プルダウン抵抗
0: 抵抗なし
1: 抵抗あり
TMP91C016
プルアップ
抵抗
0: 禁止
1: 許可
注 1) PCCR, PCFC, PCUDOEはリードモディファイライトできません。
注 2) PC4/RXD1 端子は、ポート・ファンクションの切り替えレジスタはありませんので、例えば入力ポートとして使
用する場合でもシリアル受信データとして SIO へ入力されます。
図 3.5.25 ポート C 関係のレジスタ
91C016-80
2004-02-16
3.5.9 ポート D (PD0~PD4, PD6~PD7)
ポート D0~D4, D6~D7 はビット単位で入出力指定ができる 7 ビットの汎用入出力ポートで
す。また、ポート D0~D4, D6, D7 は、PDUDE レジスタの該当するビットに “1” を書き込む
ことによりプルアップ抵抗を接続できます。ポート D0~D3 はリセット動作により、プルアッ
プ抵抗付きの入力モードに、ポート D4 はプルダウン抵抗付きの入力モードに、ポート D6, D7
はプルアップ抵抗なしの入力モードにそれぞれなります。
リセット動作により、ポート D 出力ラッチは “1” にセットされます。
入出力ポート機能以外に、LCD コントローラ用出力端子 (DIBSCP, D2BLP, D3BFR,
DLEBCD, DOFFB), RTC アラーム出力端子 (
(MLDALM の論理反転信号 )) があります。
これらの設定は PDFC レジスタによって行います。ポート D6のみ 2 つの機能出力 (
MLDALM ) をマルチプレクスしており、この選択は PD<PD6> レジスタにより行います。
(1) ポート D0 (D1BSCP), PD1 (D2BLP), PD2 (D3BFR), PD3 (DLEBCD), PD7 (MLDALM)
リセット
TMP91C016
ALARM ), MLD 出力端子 (MLDALM, MLDALM
ALARM ,
プルアップ抵抗制御
(ビット単位 )
PDUDEライト
内
部
デ
ー
タ
バ
ス
方向制御
(ビット単位 )
PDCRライト
機能制御
(ビット単位 )
PDFCライト
S
出力ラッチ
PDライト
S
B
Y
A
S
B
D1BSCP, D2BLP, D3BFR
DLEBCD, MLDALM
P-ch (プログラマブルプルアップ)
PD0 (D1BSCP)
PD1 (D2BLP)
PD2 (D3BFR)
PD3 (DLEBCD)
PD7 (MLDALM)
PDリード
図 3.5.26 ポート D0~D3, D7
91C016-81
2004-02-16
(2) ポート D4 (DOFFB)
TMP91C016
内
部
デ
ー
タ
バ
ス
リセット
プルアップ抵抗制御
方向制御
(ビット単位)
機能制御
(ビット単位)
出力ラッチ
PD ライト
(ビット単位 )
PDUDE ライト
PDCR ライト
PDFCライト
S
PDリード
S
PDUE<PD4U>
DOFFB
B
S
セレクタ
B
Y
PD4 (D0FFB)
N-ch (プログラマブルプルダウン)
図 3.5.27 ポート D4
(3) ポート D6 (
MLDALM , ALARM )
プルアップ抵抗制御
(ビット単位 )
内
部
デ
ー
タ
バ
ス
PDUDE ライト
方向制御
(ビット単位 )
PDCR ライト
機能制御
(ビット単位 )
PDFCライト
S
出力ラッチ
PDライト
PD リード
S
S
MLDALM
S
ALARM
B
A
Y
B
B
Y
P-ch (プログラマブルプルアップ)
PD6 ( MLDALM , ALARM )
図 3.5.28 ポート D6
91C016-82
2004-02-16
PD
(0029H)
PDCR
(002BH)
PDFC
(002AH)
PDUDE
(002CH)
ポート D レジスタ
Bit symbol PD7 PD6 PD4 PD3 PD2 PD1 PD0
Read/Write R/W R/W
リセット後 外部端子データ (出力ラ
Bit symbol PD7C PD6C PD4C PD3C PD2C PD1C PD0C
Read/Write W W
リセット後
機 能 0: 入力 1: 出力
Bit symbol PD7F PD6F PD4F PD3F PD2F PD1F PD0F
Read/Write W W
リセット後
機 能
Bit symbol PD7U PD6U − PD4U PD3U PD2U PD1U PD0U
Read/Write W W W W
リセット後
機 能 プルアップ抵抗
7 6 5 4 3 2 1 0
外部端子データ (出力ラッチレジスタは “1” にセットされます。)
ッチレジスタは “1” にセ
ットされます。)
ポート D コントロールレジスタ
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0
ポート D ファンクションレジスタ
0: 入力 1: 出力
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0
0: ポート
1: MLDALM
0: ポート
ALARM
1:
@ <PD6>
MLDALM
1:
@ <PD6>
ポート D プルアップ /プルダウン抵抗制御レジスタ
= 1
= 0
0: ポート
1: DOFFB
0: ポート
1: DLEBCD
0: ポート
1: D3BFR
0: ポート
1: D2BLP
7 6 5 4 3 2 1 0
0 0 0 1 1 1 1 1
プルアップ抵抗
0: 禁止
1: 許可
0: 禁止
1: 許可
“0” をライ
トしてくだ
さい。
プルダウン
抵抗
0: 禁止
1: 許可
TMP91C016
0: ポート
1: D1BSCP
注) PDCR, PDFC, PDUDEはリードモディファイライトできません。
図 3.5.29 ポート D 関係のレジスタ
91C016-83
2004-02-16
3.6 チップセレクト/ウェイトコントローラ
任意の 4 ブロックのアドレス空間 (CS0~CS3 空間) を設定し、各アドレス空間 (CS0~CS3 空間と、
それ以外のアドレス空間) に対して、データバス幅およびウェイト数を指定することができます。
CS0 ~ CS3 (P60~P63 と兼用) は、 CS0~CS3 空間に対応した出力端子です。この端子は、 CPU
動作により CS0~CS3 空間を選択するアドレスが指定されると、各空間に対してチップセレクト信
号 (ROM/SRAM 用) を出力します。ただし、チップセレクト信号を出力するためには、ポート 6
ファンクションレジスタ P6FC による設定が必要です。
CS0 ~ CS3 以外の CS 端子: CS2A ~ CS2E は、MMU 部が作成します。これらの端子は CS/WAIT
コントローラの設定に関係なく空間 , BANK 値が固定の
CS0~CS3 空間の指定は、メモリスタートアドレスレジスタ MSAR0~MSAR3 と、メモリアドレ
スマスクレジスタ MAMR0~MAMR3 の組み合わせにより行います。
各アドレス空間に対するマスタイネーブル, データバス幅, ウェイト数は、チップセレクト/ウェ
イトコントロールレジスタ B0CS~B3CS, BEXCS で指定します。
また、これらの状態を制御する入力端子として、バスウェイト要求端子 (
3.6.1 アドレス空間指定
TMP91C016
CS 端子です。
WAIT ) があります。
CS0~CS3 空間の指定は、スタートアドレスレジスタ MSAR0~MSAR3 と、メモリアドレス
マスクレジスタ MAMR0~MAMR3 により行います。
バスサイクルごとに、バス上のアドレスを CS0~CS3 空間で指定された領域のアドレスであ
るかどうか比較します。比較した結果が一致していると、指定された CS 空間がアクセスされ
たと判断して
トロールレジスタ B0CS~B3CS で設定した動作を実行します (3.6.2 「チップセレクト/ウェイ
トコントロールレジスタ」 を参照してください)。
CS0 ~ CS3 端子からチップセレクト信号を出力し、チップセレクト/ウェイトコン
91C016-84
2004-02-16
(00CCH)
MSAR0
(00C8H)
MSAR2
(1) メモリスタートアドレスレジスタ
図 3.6.1 に、メモリスタートアドレスレジスタを示します。メモリスタートアドレスレ
ジスタ MSAR0~MSAR3 は、CS0~CS3 空間のスタートアドレスを設定するレジスタです。
<S23:16> には、スタートアドレスの上位 8 ビット (A23~A16) を設定します。また、スタ
ートアドレスの下位 16 ビット (A15~A0) には、常に “0” が設定されています。従って、
スタートアドレスは、000000H から 64 K バイトごとの値になります。図 3.6.2 に、スタ
ートアドレスとスタートアドレスレジスタ値の関係を示します。
メモリスタートアドレスレジスタ (CS0~CS3 空間)
MSAR1
(00CAH)
MSAR3
(00CEH)
Bit symbol S23 S22 S21 S20 S19 S18 S17 S16
Read/Write R/W
リセット後
機 能 スタートアドレス A23~A16 設定
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1 1
図 3.6.1 メモリスタートアドレスレジスタ
TMP91C016
CS0~CS3 空間のスタートアドレス設定
~
~
アドレス
000000H
FFFFFFH
スタートアドレス スタートアドレスレジスタ値 (MSAR0∼MSAR3)
000000H ..................... 00H
010000H ..................... 01H
020000H ..................... 02H
030000H ..................... 03H
040000H ..................... 04H
050000H ..................... 05H
060000H ..................... 06H
FF0000H ..................... FFH
図 3.6.2 スタートアドレスとスタートアドレスレジスタ値の関係
91C016-85
2004-02-16
TMP91C016
(2) メモリアドレスマスクレジスタ
図 3.6.3 に、メモリアドレスマスクレジスタを示します。メモリアドレスマスクレジス
タ MAMR0~MAMR3 は、メモリスタートアドレスレジスタ MSAR0~MSAR3 で設定した
スタートアドレスの各ビットに対しマスク指定を行うことで、CS0~CS3 空間サイズを設
定しています。“0” をライトしたビットに対応するバス上のアドレスが、CS0~CS3 空間の
領域かどうかの比較対照となります。
また、CS0~CS3 空間は、それぞれ MAMR0~MAMR3 によってマスクできるアドレス
ビットが異なります。従って、設定できる空間サイズも異なります。
メモリアドレスマスクレジスタ (CS0 空間 )
MAMR0
(00C9H)
MAMR1
(00CBH)
Bit symbol V20 V19 V18 V17 V16 V15 V14∼ V9 V8
Read/Write R/W
リセット後
機 能 CS0 空間サイズ設定 0: アドレス比較対照
CS0 空間は、最小 256 バイトエリアから、最大 2 M バイトエリアを設定できます。
Bit symbol V21 V20 V19 V18 V17 V16 V15∼ V9 V8
Read/Write R/W
リセット後
機 能 CS1 空間サイズ設定 0: アドレス比較対照
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1 1
メモリアドレスマスクレジスタ (CS1 空間 )
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1 1
MAMR2
(00CDH)
MAMR3
(00CFH)
CS1 空間は、最小 256 バイトエリアから、最大 4 M バイトエリアを設定できます。
メモリアドレスマスクレジスタ (CS2, CS3 空間)
Bit symbol V22 V21 V20 V19 V18 V17 V16 V15
Read/Write R/W
リセット後
機 能 CS2、CS3 空間サイズ設定 0: アドレス比較対照
CS2 および CS3 空間は、最小 32 K バイトから、最大 8 M バイトエリアを設定できます。
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1 1
図 3.6.3 メモリアドレスマスクレジスタ
91C016-86
2004-02-16
MSAR0
MSMR0
(3) メモリスタートアドレス、アドレス空間の設定方法
図 3.6.4 に、CS0 空間を用いて、010000H から始まる 64 K バイトの空間を指定する場
合を例として説明します。
メモリスタートアドレスレジスタ MSAR0<S23:16> に、スタートアドレスの上位 8 ビ
ットに相当する “01H” を設定します。次に、終了アドレス (01FFFFH) と、スタートアド
レスとの差を計算により求めます。この結果のビット 20~8 は、CS0 空間を指定する際の
マスク値に相当します。この値をメモリアドレスマスクレジスタ MAMR0<V20:8> に設定
することで、空間サイズを設定できます。
この例では、MAMR0 に “07H” を設定し、64 K バイト空間を指定しています。
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 F F F F
S23 S22 S21 S20 S19 S18 S17 S16
0 0 0 0 0 0 0 1
0 1 H
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 7 H
V20 V19 V18 V17 V16 V15 V14∼ V9 V8
“07H” を設定することで 64 K バイト空間を指定できます。
TMP91C016
メモリ
終了
H
アドレス
メモリ
スタート
アドレス
メモリアドレス
マスクレジスタ
設定値
CS0 空間
サイズ
(64 K
バイト)
図 3.6.4 CS0 空間の設定例
なお、リセット後、MSAR0~MSAR3、および MAMR0~MAMR3 は、“FFH” にセット
されます。一方、B0CS<B0E>, B1CS<B1E>, B3CS<B3E> は “0” にリセットされるため、
CS0, CS1, CS3 空間は、ディセーブルになります。ただし、B2CS<B2M> は “0”にリセッ
トされ、B2CS<B2E> は “1” にセットされるため、CS2 空間は、TMP91C016 では
000FE0H~000FFFH,001000H~FFFFFFH の空間でイネーブルになります。また、指定
された CS0~CS3 空間以外のアドレスでは、BEXCS で指定されたデータバス幅、および
ウェイト数により動作します (3.6.2 「チップセレクト/ウェイトコントロールレジスタ」 を
参照してください)。
91C016-87
2004-02-16
TMP91C016
(4) アドレス空間サイズ指定
表 3.6.1 に、CS 空間と空間サイズの関係を示します。∆ は、メモリスタートアドレスレ
ジスタとメモリアドレスマスクレジスタの組み合わせにより、設定できない場合があるこ
とを意味します。∆ で示す組み合わせを用いて空間サイズを設定する場合、000000H から
希望のサイズステップで、スタートアドレスを設定してください。
なお、CS2 空間を 16 M バイト空間に設定、または 2 つ以上のアドレス空間を重ねて設
定した場合には、CS 空間番号の小さい方が優先的に選択されます。
例: CS0 空間を 128 K バイトエリアに設定する場合
a. 設定できるスタートアドレス
000000H
020000H
040000H
060000H
:
128 K バイト
128 K バイト
128 K バイト
この場合、いずれのスタートアドレスも
設定可能です。
b. 設定できないスタートアドレス
000000H
010000H
030000H
050000H
:
64 K バイト
128 K バイト
128 K バイト
設定サイズ以外のサイズステップであり、
このケースでは、以降のスタートアドレスは、希望
の空間サイズを設定できません。
表 3.6.1 CS 空間と空間サイズ
サイズ(バイト)
256 512 32 K 64 K 128 K 256 K 512 K 1 M 2 M 4 M 8 M
CS 空間
CS0
CS1
CS2
CS3
○ ○ ○ ○
○ ○
○
○ ○
○ ○
∆ ∆ ∆ ∆ ∆
∆ ∆ ∆ ∆ ∆ ∆
∆ ∆ ∆ ∆ ∆ ∆ ∆
∆ ∆ ∆ ∆ ∆ ∆ ∆
注) ∆は、メモリスタートアドレスレジスタとメモリアドレスマスクレジスタの組み合わせにより、設
定できない場合があることを示しています。
91C016-88
2004-02-16
3.6.2 チップセレクト/ウェイトコントロールレジスタ
図 3.6.5に、チップセレクト /ウェイトコントロールレジスタを示します。各アドレス空間
(CS0~CS3 空間と、それ以外のアドレス空間 ) は、それぞれのチップセレクト/ウェイトコント
ロールレジスタ B0CS~B3CS、BEXCS により、マスタイネーブル/ディセーブル, チップセレ
クト出力波形選択, データバス幅選択, ウェイト数設定を行うことができます。
チップセレクト /ウェイトコントロールレジスタ
B0CS
(00C0H)
リードモデ
ィファイラ
イトはでき
ません。
B1CS
(00C1H)
リードモデ
ィファイラ
イトはでき
ません。
B2CS
(00C2H)
リードモデ
ィファイラ
イトはでき
ません。
B3CS
(00C3H)
リードモデ
ィファイラ
イトはでき
ません。
BEXCS
(00C7H)
リードモデ
ィファイラ
イトはでき
ません。
7 6 5 4 3 2 1 0
Bit Symbol B0E B0OM1 B0OM0 B0BUS B0W2 B0W1 B0W0
Read/Write W W
リセット後
機 能
0 0 0 0 0 0 0
0: 禁止
1: 許可
チップセレクト出力波形
選択
00: ROM/SRAM 用
01:
10: Don’t care
11:
Bit Symbol B1E B1OM1 B1OM0 B1BUS B1W2 B1W1 B1W0
Read/Write W W
リセット後
機 能
0 0 0 0 0 0 0
0: 禁止
1: 許可
チップセレクト出力波形
選択
00: ROM/SRAM 用
01:
10: Don’t care
11:
Bit Symbol B2E B2M B2OM1 B2OM0 B2BUS B2W2 B2W1 B2W0
Read/Write W
リセット後
機 能
1 0 0 0 0 0 0 0
0: 禁止
1: 許可
CS2 空間選択
0: 16M バイ
ト空間
1: CS 空間
チップセレクト出力波形
選択
00: ROM/SRAM 用
01:
10: Don’t care
11:
Bit Symbol B3E B3OM1 B3OM0 B3BUS B3W2 B3W1 B3W0
Read/Write W W
リセット後
機 能
0 0 0 0 0 0 0
0: 禁止
1: 許可
チップセレクト出力波形
選択
00: ROM/SRAM 用
01: Don’t care
10: DRAMC 対応
11:
Don’t care
Bit Symbol BEXBUS BEXW2 BEXW1 BEXW0
Read/Write W
リセット後
機 能
マスタイネーブルビット
ディセーブル
0
イネーブル
1
CS2 空間選択
16M バイト空間
0
アドレス指定空間
1
0 0 0 0
データバス
チップセレクト出力波形選択
ROM/SRAM 用
00
01
1011Don’t care
注) CS3 のみ DRAM に対応した
信号を設定できます。
図 3.6.5 チップセレクト/ ウェイトコントロールレジスタ
データバス
幅選択
0: 16 ビット
1: 8 ビット
データバス
幅選択
0: 16 ビット
1: 8 ビット
データバス
幅選択
0: 16 ビット
1: 8 ビット
データバス
幅選択
0: 16 ビット
1: 8 ビット
幅選択
0: 16 ビット
1: 8 ビット
TMP91C016
ウェイト数設定
000: 2 ウェイト 100: Reserved
001: 1 ウェイト 101: 3 ウェイト
010: (1 + N) ウェイト 110: 4 ウェイト
011: 0 ウェイト 111: 8 ウェイト
ウェイト数設定
000: 2 ウェイト 100: Reserved
001: 1 ウェイト 101: 3 ウェイト
010: (1 + N) ウェイト 110: 4 ウェイト
011: 0 ウェイト 111: 8 ウェイト
ウェイト数設定
000: 2 ウェイト 100: Reserved
001: 1 ウェイト 101: 3 ウェイト
010: (1 + N) ウェイト 110: 4 ウェイト
011: 0 ウェイト 111: 8 ウェイト
ウェイト数設定
000: 2 ウェイト 100: Reserved
001: 1 ウェイト 101: 3 ウェイト
010: (1 + N) ウェイト 110: 4 ウェイト
011: 0 ウェイト 111: 8 ウェイト
ウェイト数設定
000: 2 ウェイト 100: Reserved
001: 1 ウェイト 101: 3 ウェイト
010: (1 + N) ウェイト 110: 4 ウェイト
011: 0 ウェイト 111: 8 ウェイト
アドレス空間ウェイト数設定
(3.6.2 (3) 「ウェイトコントロール」 参照)
データバス幅選択
16 ビットデータバス
0
8 ビットデータバス
1
91C016-89
2004-02-16
TMP91C016
(1) マスタイネーブルビット
チップセレクト/ウェイトコントロールレジスタのビット 7 (<B0E>, <B1E>, <B2E>,
<B3E>) は、各アドレス空間に対する設定のイネーブル/ディセーブルを指定するマスタビ
ットです。このビットに “1” を書き込むと、イネーブルになります。リセットにより、
<B0E>, <B1E>, <B3E> はディセーブル “0”、<B2E> はイネーブル “1” になります (リセ
ット動作により、CS2 空間のみイネーブルになります)。
(2) データバス幅選択
チップセレクト/ ウェイトコントロールレジスタのビット 3 (<B0BUS>, <B1BUS>,
<B2BUS>, <B3BUS>, <BEXBUS>) は、データバス幅を指定するビットです。このビッ
トを “0” にすると、16 ビットのデータバス幅でメモリをアクセスします。“1” にすると、8
ビットのデータバス幅でメモリをアクセスします。
このように、アクセスするアドレスに応じてデータバス幅を変えることを “ ダイナミッ
クバスサイジング” と呼びます。このバス動作の詳細を、表 3.6.2 に示します。
表 3.6.2 ダイナミックバスサイジング
オペランド
データバス幅
8 ビット
16 ビット
32 ビット
オペランド
スタート
アドレス
2n + 0
(偶数 )
2n + 1
(奇数 )
2n + 0
(偶数 )
2n + 1
(奇数 )
2n + 0
(偶数 )
2n + 1
(奇数 )
メモリ側
データバス幅
8 ビット
16 ビット
8 ビット
16 ビット
8 ビット
16 ビット
8 ビット
16 ビット
8 ビット
16 ビット
8 ビット
16 ビット
CPU データ
CPU アドレス
2n + 0 xxxxx b7~b0
2n + 0 xxxxx b7~b0
2n + 1 xxxxx b7~b0
2n + 1 b7~b0 xxxxx
2n + 0 xxxxx b7~b0
2n + 1 xxxxx b15~b8
2n + 0 b15~b8 b7~b0
2n + 1 xxxxx b7~b0
2n + 2 xxxxx b15~b8
2n + 1 b7~b0 xxxxx
2n + 2 xxxxx b15~b8
2n + 0 xxxxx b7~b0
2n + 1 xxxxx b15~b8
2n + 2 xxxxx b23~b16
2n + 3 xxxxx b31~b24
2n + 0 b15~b8 b7~b0
2n + 2 b31~b24 b23~b16
2n + 1 xxxxx b7~b0
2n + 2 xxxxx b15~b8
2n + 3 xxxxx b23~b16
2n + 4 xxxxx b31~b24
2n + 1 b7~b0 xxxxx
2n + 2 b23~b16 b15~b8
2n + 4 xxxxx b31~b24
D15~D8 D7~D0
xxxxx: リード時は、そのバスの入力データが無視されることを示します。ライト時は、そ
のバスがハイインピーダンスで、そのバスのライトストローブ信号はノンアクティ
ブのままであることを示します。
91C016-90
2004-02-16
TMP91C016
(3) ウェイトコントロール
チップセレクト/ ウェイトコントロールレジスタのビット 2~0 (<B0W2:0>, <B1W2:0>,
<B2W2:0>, <B3W2:0>, <BEXW2:0>) は、ウェイト数を指定するビットです。これらのビ
ットの組み合わせにより、次のようなウェイト動作を実行します。ただし、下記の組み合
わせ以外は、設定しないでください。
表 3.6.3 ウェイト動作の設定
<BxW2:0>
000
001
010
011
100 Reserved
101
110
111
ウェイト数 ウェイト動作
2 ウェイト
1 ウェイト
(1 + N) ウェイト
0 ウェイト
3 ウェイト
4 ウェイト
8 ウェイト
WAIT 端子の状態に関係なく、2 ステート分のウェイトが挿入されます。
WAIT 端子の状態に関係なく、1 ステート分のウェイトが挿入されます。
1 ステート分のウェイトを挿入した後、
グし、端子が “L” レベルならウェイトを挿入し続け、端子が “H” レベル
になるまでそのバスサイクルを引き延ばします。
WAIT 端子の状態に関係なく、ウェイトなしで、そのバスサイクルを完
了します。
設定しないでください。
WAIT 端子の状態に関係なく、3 ステート分のウェイトが挿入されます。
WAIT 端子の状態に関係なく、4 ステート分のウェイトが挿入されます。
WAIT 端子の状態に関係なく、8 ステート分のウェイトが挿入されます。
WAIT 端子の状態をサンプリン
リセットにより、これらのビットは “000” (2 ウェイト ) になります。
(4) CS0~CS3 空間外 バス幅ウェイトコントロール
チップセレクト/ウェイトコントロールレジスタ BEXCS は、任意の 4 ブロックアドレス
空間 (CS0~CS3 空間) 外のアドレス空間がアクセスされたときの、データバス幅選択とウ
ェイト数を設定するレジスタです。このレジスタの設定は CS0~CS3 空間外のエリアに対
して、常にイネーブルです。
(5) 16 M バイト空間/ アドレス設定空間選択
チップセレクト/ ウェイトコントロールレジスタ B2CS<B2M> を “0” にすることにより、
16 M バイト空間 (000FE0H~000FFFH,003000H~FFFFFFH) で、CS2 空間が選択され
ます。B2CS<B2M> を “1” にすると、CS0, CS1, CS3 空間と同様に、スタートアドレスレ
ジスタ MSAR2 およびアドレスマスクレジスタ MAMR2 の設定エリアに従い、CS2 空間
が選択されます。リセットによりこのビットは “0” にクリアされ、16 M バイト空間が選
択されます。
91C016-91
2004-02-16
(6) チップセレクト/ ウェイトコントローラ設定手順
チップセレクト/ ウェイトコントロール機能を使用する場合は、以下の手順でレジスタの
設定を行ってください。
1. メモリスタートアドレスレジスタ MSAR0~ MSAR3 の設定
CS0~ CS3 空間のスタートアドレスを設定します。
2. メモリアドレスマスクレジスタ MAMR0~ MAMR3 の設定
CS0~ CS3 空間のサイズを設定します。
3. コントロールレジスタ B0CS~ B3CS の設定
CS0~ CS3 空間のチップセレクト出力波形 , データバス幅 , ウェイト数 , マスタイネー
ブル /ディセーブルを設定します。
CS0 ~ CS3 端子は、P60~ P63 端子と兼用になっています。チップセレクト信号を
これらの端子から出力するには、ポート 6 ファンクションレジスタ P6FC の該当す
るビットを、“1” に設定する必要があります。
なお、CS0~ CS3 空間として設定したアドレスが、内蔵の I/O 、RAM エリアを指
定した場合、
をアクセスします。
CS0 ~ CS3 端子はチップセレクト信号を出力せず、CPU は内部エリア
TMP91C016
(設定例 )
CS0 空間を、010000H~01FFFFH (64 K バイト空間 ), 16 ビットデータバス , 0 ウェイト
に設定する場合
MSAR0 = 01H スタートアドレス 010000H
MAMR0 = 07H アドレス空間 64 K バイト
B0CS = 83H ROM/SRAM16 ビットデータバス , 0 ウェイト ,
CS0 空間設定イネーブル
91C016-92
2004-02-16
3.6.3 使用例
図 3.6.6 は、TMP91C016 による外部メモリの接続例です。この例では ROM を 16 ビット幅
で接続し、RAM と I/O を 8 ビット幅で接続しています。
TMP91C016
TMP91C016
アドレスバス
CS0
CS1
CS2
A0~A23
CS
OE
上位バイト
ROM
CS
OE
下位バイト
ROM
CS
OE
8 ビット幅
RAM
WE
CS
8 ビット幅
OE
I/O
D8~D15
D0~D7
RD
WR
図 3.6.6 外部メモリ接続例 (ROM = 16 ビット幅 , RAM & I/O = 8 ビット幅 )
TMP91C016 ではリセット後、ポート 6 ファンクションレジスタ P6FC は “0” にクリアされ
ているため、CS 信号出力はディセーブルとなっています。CS 信号を出力する場合、P6FC の
必要なビットに “1” をセットしてください。
91C016-93
2004-02-16
3.7 8ビットタイマ (TMRA)
8 ビットタイマを 4 チャネル (TMRA0~TMRA3) 内蔵しています。
TMRA は 2 チャネルを 1 モジュールとし、2モジュールで構成され、それぞれ TMRA01, TMRA23
と呼びます。各モジュールは次の 4 種類のモードを持っています。
• 8 ビットインタバルタイマモード
• 16 ビットインタバルタイマモード
• 8 ビットプログラマブル矩形波 (PPG: 可変周期で可変デューティ ) 出力モード
• 8 ビット PWM (パルス幅変調 : 固定周期で可変デューティ ) 出力モード
図 3.7.1 と図 3.7.2 に TMRA01, TMRA23 のブロック図を示します。
各チャネルは主に 8 ビットアップカウンタ, 8 ビットコンパレータ, および 8 ビットタイマレジス
タで構成され、2 チャネルに 1 つのプリスケーラとタイマフリップフロップで構成されています。
タイマの動作モードやタイマフリップフロップは 5 バイトのレジスタ(SFR) で制御されます。
2 つの各モジュール (TMRA01, TMRA23) は、それぞれ独立に動作します。いずれのモジュール
も表 3.7.1 に示される仕様相違点を除いて同一の動作をしますので、TMRA01 の場合についてのみ
説明します。
TMP91C016
また、本章は下記のような構成になっています。
3.7.1 モジュール別のブロック図
3.7.2 回路別の動作説明
3.7.3 SFR 説明
3.7.4 モード別動作説明
(1) 8 ビットタイマモード
(2) 16 ビットタイマモード
(3) 8 ビット PPG (プログラマブル矩形波 ) 出力モード
(4) 8 ビット PWM 出力モード
(5) 動作モード設定一覧
(6) LCD コントローラおよびメロディ・アラーム回路接続モード
表 3.7.1 TMRA のモジュール別仕様相違点
モジュール
TMRA01 TMRA23
仕様
外部端子
SFR名
(アドレス )
外部クロック
入力端子
タイマフリップ
フロップ出力端子
タイマ RUNレジスタ
タイマレジスタ
タイマモードレジスタ
タイマフリップフロップ
コントロールレジスタ
なし なし
TA1OUT
(P70 と兼用 )
TA01RUN (0100H) TA23RUN (0108H)
TA0REG (0102H)
TA1REG (0103H)
TA01MOD (0104H) TA23MOD (010CH)
TA1FFCR (0105H) TA3FFCR (010DH)
TA3外部端子なし。ただ
し LCD, MLDに接続可能
TA2REG (010AH)
TA3REG (010BH)
91C016-94
2004-02-16
3.7.1 モジュール別のブロック図
タイマフリップ
フロップ出力:
タイマ
フリップ
フロップ
TA1OUT
TA1FF
TA1FFCR
TMP91C016
TMRA1
割り込み出力:
一致
検出
INTTA1
プリスケーラ
TA01RUN
<TA01PRUN>
動作 /停止
512 256 128 64 32 16 8 4 2
φ T1 φ T4 φ T16 φ T256
TA01RUN<TA1RUN>
セレクタ
TA01RUN<TA0RUN>
セレクタ
(UC1)
8 ビット
アップカウンタ
TA01MOD
<TA1CLK1:0>
φT1
φT16
φT256
n
2
オーバフロー
TA01MOD
<PWM01:00>
(UC0)
8 ビット
アップカウンタ
TA01MOD
<TA0CLK1:0>
φT1
φT4
φT16
(CP1)
8 ビット
コンパレータ
TA01MOD
<TA01M1:0>
TA0TRG
一致検出
(CP0)
8 ビット
コンパレータ
レジスタ
TA1REG
8 ビットタイマ
8 ビットタイマ
レジスタ TA0REG
レジスタバッファ0
TA01RUN
<TA0RDE>
内部データバス
TMRA0
一致出力:
TA0TRG
TMRA0
割り込み出力:
INTTA0
内部データバス
プリスケーラ用
クロック: φT0
図 3.7.1 TMRA01 ブロック図
91C016-95
2004-02-16
TMP91C016
タイマフリップ
フロップ出力: TA3
LCD 、MLD 回路へ
接続可能
タイマ
TA3FF
フリップ
フロップ
TA3FFCR
TMRA3
割り込み出力:
一致
検出
INTTA3
TA23RUN
動作/ 停止
プリスケーラ
<TA23PRUN>
512 256
128 64 32 16 8 4 2
φ T1 φ T4 φ T16 φ T256
TA23RUN<TA3RUN>
セレクタ
TA23RUN<TA2RUN>
セレクタ
φ T1
(UC3)
8ビット
アップカウンタ
(CP3)
8ビット
コンパレータ
レジスタ
TA3REG
8ビットタイマ
内部データバス
TA23MOD
<TA3CLK1:0>
φT1
φT16
φT256
TA23MOD
<TA23M1:0>
TA2TRG
n
2
オーバフロー
TA23MOD
<PWM21:20>
(UC2)
8ビット
アップカウンタ
TA23MOD
<TA2CLK1:0>
φT4
φT16
一致検出
(CP2)
8ビット
コンパレータ
8ビットタイマ
レジスタTA2REG
レジスタバッファ2
TA23RUN
<TA2RDE>
TMRA2
一致出力:
TA2TRG
TMRA2
割り込み出力:
INTTA2
内部データバス
プリスケーラ用
クロック: φT0
図 3.7.2 TMRA23 ブロック図
91C016-96
2004-02-16
3.7.2 回路別の動作説明
(1) プリスケーラ
TMRA01 のクロックソースを得るため、9 ビットプリスケーラがあります。プリスケー
ラの入力クロックφT0 は、クロックギア部の SYSCR0<PRCK1:0> にて選択したクロック
を 4 分周したクロックです。
プリスケーラは TA01RUN<TA0PRUN> により動作/停止の設定をします。“1” をライト
するとカウント開始し、“0” をライトするとクリアされ停止します。プリスケーラ出力ク
ロックの分解能を表 3.7.2 に示します。
システム
クロック選択
<SYSCK>
1 (fs) XXX fs/23 (244 µ s) fs/25 (977 µ s) fs/27 (3.9 ms) fs/211 (62.5 ms)
0 (fc)
xxx : Don't care
プリスケーラ用
クロック選択
<PRCK1:0>
(fc/16 クロック )
(2) アップカウンタ (UC0, UC1)
タイマモードレジスタ TA01MOD で指定された入力クロックによってカウントアップ
する、8 ビットのバイナリカウンタです。
(f
表 3.7.2 プリスケーラ出力クロック分解能
クロックギア値
00
FPH
10
<GEAR2:0>
000 (fc) fc/23 (0.5 µs) fc/2 5 (2.0 µs) fc/2 7 (8.0 µs) fc/2 11 (128 µs)
001 (fc/2) fc/24 (1.0 µs) fc/2 6 (4.0 µs) fc/2 8 (16 µ s) fc/212 (256 µs)
)
010 (fc/4) fc/25 (2.0 µs) fc/2 7 (8.0 µs) fc/2 9 (32 µ s) fc/213 (512 µs)
011 (fc/8) fc/26 (4.0 µs) fc/2 8 (16 µ s) fc/210 (64 µ s) fc/214 (1024 µs)
100 (fc/16) fc/2
XXX fc/2
φ T1 φ T4 φ T16 φ T256
7
(8.0 µs) fc/2 9 (32 µ s) fc/211(128 µ s) fc/215 (2048 µs)
7
(8.0 µs) fc/2 9 (32 µ s) fc/211(128 µ s) fc/215 (2048 µs)
TMP91C016
@ fc = 16 MHz, fs = 32.768 kHz
プリスケーラ出力クロック分解能
UC0 の入力クロックは TA0IN 端子からの外部クロックと、3 種類のプリスケーラ出力
クロックφT1, φT4, φT16 から、TA01MOD<TA0CLK1:0> の設定値に応じて選択されます。
UC1 の入力クロックは動作モードによって異なります。16 ビットタイマモードに設定
した場合は、アップカウンタ UC0 のオーバフロー出力が入力クロックとなり、16 ビット
タイマモード以外の設定の場合は、TA01MOD<TA1CLK1:0> の設定によりプリスケーラ
出力クロックφT1, φT16, φT256 と、TMRA0 のコンパレータ出力 (一致検出) の中から選択
されます。
アップカウンタは、TA01RUN<TA0RUN>, <TA1RUN> によってカウント/ 停止& クリ
アを設定します。リセット時、アップカウンタはクリアされて、タイマは停止しています。
91C016-97
2004-02-16
TMP91C016
(3) タイマレジスタ (TA0REG, TA1REG)
インタバル時間を設定する 8 ビットのレジスタです。このタイマレジスタへの設定値と
アップカウンタ値が一致すると、コンパレータの一致検出信号がアクティブになります。
設定値を 00H にした場合は、アップカウンタのオーバフロー時に一致信号がアクティブ
になります。
TA0REG はダブルバッファ構成になっており、レジスタバッファとペアになっていま
す。
ダブルバッファの制御は、TA01RUN<TA0RDE> の設定により行います。<TA0RDE> =
“0” のときはディセーブル、<TA0RDE> = “1” のときはイネーブルとなります。
ダブルバッファイネーブル時、レジスタバッファからタイマレジスタへのデータ転送タ
イミングは、PWM モードの 2
n
オーバフロー、または PPG モードの周期のコンペア一致
時です。従って、タイマモード時にダブルバッファを使用することはできません。
リセット時は <TA0RDE> = “0” に初期化され、ダブルバッファディセーブルになってい
ます。ダブルバッファを使用するときは、タイマレジスタに設定値を書き込み、<TA0RDE>
= “1” に設定した後、次の設定値を書き込んでください。
図 3.7.3 に TA0REG の構成を示します。
アップカウンタ
コンパレータ (CP0)
タイマレジスタ 0 (TA0REG)
シフトトリガ
レジスタバッファ 0
ライト
内部データバス
セレクタ
Y
B
S
TA01RUN<TA0RDE>
PPG周期一致検出
n
PWM2
オーバフロー
TA0REGへライト
図 3.7.3 タイマレジスタ 0 (TA0REG) の構成
注) TA0REG にデータをライト時、タイマレジスタとレジスタバッファは同じアドレ
スに割り付けられています。
<TA0RDE> = “0” のときは、レジスタバッファとタイマレジスタの両方に同じ値が
書き込まれ、<TA0RDE> = “1” のときは、レジスタバッファにのみ書き込まれます。
各タイマレジスタのアドレスは次のとおりです。
TA0REG: 000102H TA1REG: 000103H
TA2REG: 00010AH TA3REG: 00010BH
各レジスタとも書き込み専用のレジスタで、リードできません。
91C016-98
2004-02-16