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コマンドを受け付ける状態になっている。
© Copyright 2024 Paperzz