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