MR-SHPC-01参考説明資料(設定編)(PDF 68KB)

SH4基本システム構成例
SH4
MR-SHPC-01 V2
SLOT
-CCE2-1
CE2#,CE1#
-CS
-CSn
-CREG
REG#
SA25-0
A25-0
CA25-0
A25-0
CD15-0
D15-0
SD15-0
D15-0
-BS
-BS
-RD
-SRD
-COE
OE#
-CWE_PGM
WE#
-SWE1-0
-WE1-0
-CIORD
IORD#
-CIOWR
IOWR#
-CWAIT
WAIT#
-WAIT/-RDY
-RDY
SIRQ3-0
IRLn
CKIO
CKIO
-CCD2-1
CD2#,CD1#
-RESET
-RESET
-CVS2-1
任意の
設定値
VS2#,VS1#
RA25-22
CBVD2_SPKR
BVD2/SPKR#
ENDIAN
CBVD1_STSCHG
BVD1/STSCHG#
TEST
CWP_XIOIX16
WP_IOIS16#
-CINPACK
INPACK#
CRDY_BSY_IREQ
READY/IREQ#
CRESET
RESET
CARD_PW_GOOD
-CVCC3,5
CVPP1-0
カード
電源制御
回路
VCC
VPP
基本条件(1Slot版用)
機能
CS空間
レジスタ空間
エンディアン
割り込み
スピーカー
LED
MR-SHPC端子名
-CS
RA25
RA24
RA23
RA22
ENDIAN
SIRQ0
SIRQ1
SIRQ2
SIRQ3
SPKR_OUT
LED_OUT
基本条件
CPUバススピード
66Mhz
CPUバス電圧
3.3V±0.3V
CPUエンディアン
ビックエンディアン
カードソケット
3V/5Vカード兼用
設定内容
CS6空間(キャッシュ無し)
0固定
0固定
0固定
0固定
0固定
MANAGE MENT IRQ
CARD IRQ
未使用
未使用
未使用
未使用
備考
キャッシュ無し空間を使用(B8000000h)
B83FFFE4h∼B83FFFFEhにマップ
ビッグエンディアンに設定
カードの状態変化割り込みを割り当て
I/OカードからのIREQを割り当て
MR-SHPCへのアクセスを実行する前に設定する内容
レジスタ名
BCR1
CKIO=66Mhz
BCR2
WCR2
WCR3
BCR1
参考
CKIO=33Mhz
BCR2
WCR2
WCR3
設定値
Bit7-5(A6BST2-0)= 000(初期値)
Bit0 (A56PCM) = 0(初期値)
Bit13-12 (A6SZ1-0) = 10
Bit31-29(A6W2-0) = 011以上を設定
Bit26(A6S0) = 0
Bit25-24(A6H1-0) = 00
Bit7-5(A6BST2-0)= 000(初期値)
Bit0 (A56PCM) = 0(初期値)
Bit13-12 (A6SZ1-0) = 10
Bit31-29(A6W2-0) = 010以上を設定
Bit26(A6S0) = 0
Bit25-24(A6H1-0) = 00
※1 MR-SHPCを動作させるために必要なレジスタ設定です。
その他に設定が必要なレジスタがありましたら設定してください。
※2 レジスタの設定順序は自由に決めてください。
内容
CS6空間を通常メモリに設定
CS5,6空間を通常メモリに設定(PCMCIA機能=OFF)
CS6空間のバス幅を16ビットに設定
CS6空間のRDYイネーブルと3ウエイトの挿入設定
CS6空間のアドレス対R/WストローブまでのSetup =0
CS6空間のR/WストローブからのHold =0
CS6空間を通常メモリに設定
CS5,6空間を通常メモリに設定(PCMCIA機能=OFF)
CS6空間のバス幅を16ビットに設定
CS6空間のRDYイネーブルと2ウエイトの挿入設定
CS6空間のアドレス対R/WストローブまでのSetup =0
CS6空間のR/WストローブからのHold =0
アドレス番地 SH4 CS6空間(キャッシュ不可領域)
BBFFFFFFh
64MB
63MB
62MB
61MB
MR-SHPCの”RA25-22端子=0000”に
設定した事によりこの空間にMR-SHPCの
レジスタ空間がマップされます。
B83FFFE0h∼B83FFFFEh(Register 32Byte)
B8000000h
26MB
25MB
24MB
23MB
22MB
21MB
20MB
19MB
18MB
17MB
16MB
15MB
14MB
13MB
12MB
11MB
10MB
9MB
8MB
7MB
6MB
5MB
4MB
3MB
2MB
1MB
この空間をRead/Writeする事でMR-SHPCの
レジスタへアクセスできます。
メモリ番地
B83FFFFEh
B83FFFFCh
B83FFFFAh
B83FFFF8h
B83FFFF6h
B83FFFF4h
B83FFFF2h
B83FFFF0h
B83FFFEEh
B83FFFECh
B83FFFEAh
B83FFFE8h
B83FFFE6h
B83FFFE4h
B83FFFE2h
B83FFFE0h
MR-SHPCレジスタ
チップ情報レジスタ
カードコントロールレジスタ
I/Oウィンドウ1コントロールレジスタ2
メモリウィンドウ1コントロールレジスタ2
メモリウィンドウ0コントロールレジスタ2
I/Oウィンドウ1コントロールレジスタ1
メモリウィンドウ1コントロールレジスタ1
メモリウィンドウ0コントロールレジスタ1
カード電源制御レジスタ
割り込み制御レジスタ
割り込み要因レジスタ
カードステータスレジスタ
オプションレジスタ
モードレジスタ
Reserved
Reserved
MR-SHPCレジスタ設定
※1 実行前にCPUの割り込みをマスクしておくこと
実行順序
レジスタ名
1
モードレジスタ
2
3
割り込み制御レジスタ
4
メモリーウィンドウ0
5
コントロールレジスタ1
6
I/Oウィンドウ0
7
コントロールレジスタ1
8
メモリーウィンドウ0
9
コントロールレジスタ2
10
I/Oウィンドウ0
11
コントロールレジスタ2
12
13 割り込み制御レジスタ
14
15
→
16
→
アドレス番地 R/W 設定値 リード時の期待値 CHECK
備考
W 0030h
−
−
MODE SH4 = -RDY,MODE66 = MODE1
B83FFFE4h
R
−
0030h
CHECK
W 0880h
−
−
LEVEL,CARD IRQ = SIRQ1,MANAGEMENT IRQ = SIRQ0
B83FFFECh
R
−
0880h
CHECK
WINEN = Disable,Setup = 3,Width = 15, Hold = 1(600ns cycle)
B83FFFF0h W 3DC0h
−
−
Window = B8000000h∼B80FFFFFh
R
−
3DC0h
CHECK
WINEN = Disable,Setup = 2,Width = 5, Hold = 1(300ns cycle)
B83FFFF4h W 1581h
−
−
Window = B8100000h∼B81FFFFFh
R
−
1581h
CHECK
SWAP=なし,WP=なし,SIZE=8bit,REG=アトリビュート
B83FFFF6h W 0800h
−
−
CA= 0000000h∼003FFFFh(アトリビュート空間)
R
−
0800h
CHECK
SWAP=なし,WP=なし,SIZE=8bit,AUTO=ON
B83FFFFAh W 0900h
−
−
CA= 0000000h∼003FFFFh(I/O空間)
R
−
0900h
CHECK
LEVEL,CARD IRQ = SIRQ1,MANAGEMENT IRQ = SIRQ0
B83FFFECh W 2888h
−
−
DETECT ENABLE=ON(カード挿抜検出割り込みON)
R
−
2888h
CHECK
→
→
→
→
→
CPUの割り込みマスクを解除すること
→
→
→
→
→
カード挿入待ち状態
アドレス番地 SH4 CS6空間(キャッシュ不可領域)
BBFFFFFFh
64MB
63MB
62MB
61MB
B83FFFE0h∼B83FFFFEh(Register 32Byte)
B8100000h∼B81FFFFFh(I/O Win 1MB)
B8000000h∼B80FFFFFh(MEM0 Win 1MB)
B8000000h
26MB
25MB
24MB
23MB
22MB
21MB
20MB
19MB
18MB
17MB
16MB
15MB
14MB
13MB
12MB
11MB
10MB
9MB
8MB
7MB
6MB
5MB
4MB
3MB
2MB
1MB
PCカード空間
MR-SHPC
B81C0000h∼B81FFFFFh
B8180000h∼B81BFFFFh
B8140000h∼B817FFFFh
B8100000h∼B813FFFFh
I/OウィンドウWrite
Write3
Write2
Write1
Write0
I/O空間
64MB
0000000h∼003FFFFh
0000000h∼003FFFFh
0000000h∼003FFFFh
0000000h∼003FFFFh
この空間にライトするとカードI/O空間のこの空間に
ライトされます。
B80C0000h∼B80FFFFFh
B8080000h∼B80BFFFFh
B8040000h∼B807FFFFh
B8000000h∼B803FFFFh
メモリウィンドウ0Write
Write3
Write2
Write1
Write0
0000000h∼003FFFFh
0000000h∼003FFFFh
0000000h∼003FFFFh
0000000h∼003FFFFh
この空間にライトするとカードアトリビュート空間の
この空間にライトされます。
1MB
768KB
512KB
256KB
アトリビュートメモリ空間
64MB
【参考】
I/Oウィンドウ0コントロールレジスタ2の
CA25-CA18=00000000 ⇒ 00000001に設定すると
この空間が0040000h∼007FFFFhになります
1MB
768KB
512KB
256KB
【参考】
メモリウィンドウ0コントロールレジスタ2の
メモリウィンドウ0コントロールレジスタ2の
CA25-CA18=00000000 ⇒ 00000001に設定すると
CA25-CA18=00000000 ⇒ 00000001に設定すると
この空間が0040000h∼007FFFFhになります
アドレス番地 SH4 CS6空間
BBFFFFFFh
64MB
63MB
62MB
61MB
B83FFFE0h∼B83FFFFEh(Register 32Byte)
B8100000h∼B81FFFFFh(I/O Win 1MB)
B8000000h∼B80FFFFFh(MEM0 Win 1MB)
B8000000h
26MB
25MB
24MB
23MB
22MB
21MB
20MB
19MB
18MB
17MB
16MB
15MB
14MB
13MB
12MB
11MB
10MB
9MB
8MB
7MB
6MB
5MB
4MB
3MB
2MB
1MB
・Dummy空間は使用しなくても問題ありませんのでReal空間だけを使用します。
・WordデータをリードするときはReal Word空間を使用する
・ByteデータをリードするときはReal Byte空間を使用する。
PCカード空間
MR-SHPC
B81C0000h∼B81FFFFFh
B8180000h∼B81BFFFFh
B8140000h∼B817FFFFh
B8100000h∼B813FFFFh
未使用
未使用
I/OウィンドウRead
Dummy Byte
Dummy Word
Real Byte
Real Word
I/O空間
64MB
未使用
未使用
0000000h∼003FFFFh
0000000h∼003FFFFh
0000000h∼003FFFFh
0000000h∼003FFFFh
この空間をリードするとカードI/O空間のこの空間
が
リードされます。
B80C0000h∼B80FFFFFh
B8080000h∼B80BFFFFh
B8040000h∼B807FFFFh
B8000000h∼B803FFFFh
未使用
未使用
未使用
メモリウィンドウ0Read
Dummy Byte
Dummy Word
Real Byte
Real Word
未使用
未使用
未使用
0000000h∼003FFFFh
0000000h∼003FFFFh
0000000h∼003FFFFh
0000000h∼003FFFFh
この空間をリードするとカードアトリビュート空間の
この空間がリードされます。
1MB
768KB
512KB
256KB
アトリビュートメモリ空間
64MB
【参考】
I/Oウィンドウ0コントロールレジスタ2の
CA25-CA18=00000000 ⇒ 00000001に設定すると
この空間が0040000h∼007FFFFhになります
1MB
768KB
512KB
256KB
【参考】
メモリウィンドウ0コントロールレジスタ2の
メモリウィンドウ0コントロールレジスタ2の
CA25-CA18=00000000 ⇒ 00000001に設定すると
CA25-CA18=00000000 ⇒ 00000001に設定すると
この空間が0040000h∼007FFFFhになります
実行順序
アクション
1 カード挿入
2 割り込み発生(SIRQ0)
3
−
レジスタ名
→
→
割り込み要因レジスタ
アドレス番地
→
→
B83FFFEAh
R/W
→
→
R
設定値
→
→
−
リード時の期待値
→
→
0008h
R
−
R
−
W
R
→
→
0034h
−
→
→
−
0034h
→
→
W
R
→
0074h
−
→
−
0074h
→
W
R
→
R
0274h
−
→
−
−
0274h
→
Bit5
Bit8-7 and Bit3-2
4
−
5
−
カードステータスレジスタ B83FFFE8h
電源制御レジスタ
B83FFFEEh
→
→
→
→
10
11
12 10μ WAIT
電源制御レジスタ
B83FFFEEh
→
→
13
14
15 20ms WAIT
16
電源制御レジスタ
B83FFFEEh
6
7
8 100ms WAIT
9 1ms WAIT
→
→
カードステータスレジスタ B83FFFE8h
-
CHECK
備考
→
CFカードを挿入
→
挿入検出割り込みが発生
CHECK Bit3:CARD DETECTが1になる
VS2,1の値を確認し初期投入電源電圧を決定(VS2,1 = 10 or 00)
CHECK VS2,1=01時は電源供給ができないためErrorメッセージを出して
IDLEへ
前回と同じであるか確認
CHECK
同じになるまでリードを繰り返す
3.3V供給を実行(VCC POWER = 1, VCC3V = 1)+Auto Power
−
ON
CHECK
→
電源電圧安定時間(規格規定値のMAX時間)
→
電源安定後の保持時間
CARD ENABLE =1(カード側ポートをHi-ZからOUTPUT可能へ)
−
※5V供給が必要なカードでは、VCC3V = 1をVCC5V = 1にしてくださ
CHECK
→
RESET保持時間
リセット解除
−
※5V供給が必要なカードでは、VCC3V = 1をVCC5V = 1にしてくださ
CHECK
→
カードがアクセス可能になるまでの時間
CHECK RDY/BSY=1になるまでリードを繰り返す
実行順序
実行順序
レジスタ名
アドレス番地 R/W 設定値 リード時の期待値 CHECK
メモリーウィンドウ0
1
コントロールレジスタ1
2
B83FFFF0h
PCカード空間名
1
2
3
・ アトリビュート空間リード
・
・
n
アドレス番地 R/W 設定値
B8040000h
R
−
B8040002h
R
−
B8040004h
R
−
・
・
−
・
・
−
・
・
−
nh
R
−
W
R
BDC0h
−
−
BDC0h
−
CHECK
リードデータ
タプル・コード
タプル・リンク
タプル・データ
・
・
・
タプル・コード
−
−
−
−
−
−
−
備考
WINEN = Enable,Setup = 3,Width = 15, Hold = 1(600ns cycle)
Window = B8000000h∼B80FFFFFh
備考
カードアドレス 0000000hからCIS情報が始まる
・
・
・
CIS情報終了
1
2
3
4
5
CISのタプル情報に従い再度カード電源電圧等を確認しMR-SHPCのレジスタ設定に反映する
カードコンフィギュレーションレジスタにCISに記載されているIndexコードを設定する。
MR-SHPCをI/Oモードに切り替える。
PCカードがRedyになったことを確認する(カードの状態確認はカードに内蔵されているレジスタで行う)
CFカードが、ATAコマンドを受け付ける状態になっている。