SPI Z80に萌えたい SD-CARDブロックリードその1 2017年7月3日 今回から読み書きの動作を確認していきたいと思います。 前回の予告で、書き込みコマンドに移る予定でしたが、書き込みされたかどうか 確認する方法として、書き込み前と書き込み後の値の比較が必要と思ったりして^^; ということで、まずはリードで書き込み前の値を調べることにしました^^ ブロックデータの読み込みはCMD17となり... pengin
SPI Z80に萌えたい SD-CARD 初期化完了確認 2017年6月25日 前回で初期化のプロセスは完了しましたが、はんとに初期化が完了したのか確認することにします。 また、カードの種類を確認します。(SDver2 or SDHC) コマンドは、CMD58です。 CMD58コマンドのレスポンスの30bit目と31bit目に注目します。 30bit目 0:SDVer2 1:SDHC 31bit... pengin
SPI Z80に萌えたい SD-CARD 初期化ルーチン3 2017年6月11日 前回のCMD0によるソフトウェアリセットが終了した後、CMD8を投げます。 CMD8は インターフェイスコンデション確認ということで、SDHC及びVer2以上のSDカードには必衰です。 手持ちが、古いSDカードがないため確認していませんが、古いSDカードの場合、戻り値が0x05となるようです。(未確認) 正常に戻ると0... pengin
SPI Z80に萌えたい SD-CARD 初期化ルーチン2 2017年5月20日 前々回のZ80に萌えたい SD-CARDソフトその1に続いて、SDカードを初期化していきます。 前々回でCSをHレベルのまま、80個のクロックパルスを出力しました。 この後、コマンドを発行して、初期化していきます。 最初のコマンドは、CMD0(ソフトウェアリセット)です。 命令コードは 0x40,0x00,0x00,0... pengin
SPI Z80に萌えたい SD-CARD 初期化ルーチン1 2017年5月14日 前回で、SD-CARDと8bit通信の入出力プログラムができましたので、SD-CARDに初期化コマンドを与えてデータが読み書き出来るよう初期化していきます。 初期化の手順は、ELMさんのプログに加え、浅草ギ研様の「A33FでMicroSDカードにアクセスしてみる」のWWWページを参考にさせていただきました。 貴重な情報... pengin
SPI Z80に萌えたい SD-CARDその3 2017年5月5日 コマンドは6バイト構成になっていますので、前回作成した1バイト通信プログラムをコールして、コマンド出力プログラムを作成します。 コマンドラインのアドレスはHLレジスタに格納します。 cmd_out: ;command out push hl push bc ld b,0x06 ;command line word co... pengin
SPI Z80に萌えたい SD-CARDソフトその2 2017年5月4日 今回はSD-CARDと入出力する部分をプログラムしていきます。 Aレジスタは、そのまま、出力ポートのビットイメージになります。 Aレジスタは、あらかじめクリアして、CSビットをLレベルにしています。 まず、マイコンから出力する部分ですが、クロックパルスが出力されている期間中にHレベルまたは、Lレベルにします。 実際に出... pengin
SPI Z80に萌えたい SD-CARDソフトその1 2017年5月3日 前回でハードが完成しましたので、今回からソフトの作成に取り掛かりたいと思います。 SD-CARDとの通信手順はELMさんのプログを参考にさせていただきました。 貴重な情報ありがとうございます。 まず最初に信号線を定義しま…... pengin
Z80 Z80に萌えたい SD-CARD回路編 2017年4月15日 前回のI/Oポートに SPI接続できるSDカードを接続したいと思います。 SDカード自体が3.3V動作なので、電圧変換が必要になります。 変換ICを接続すれば、簡単に変換できますが、ここでは変換ICを搭載したSDカード基板を使用することにしました。 使用したSDカード基板は、サンハヤト マイクロSDカードソケットモジュ... pengin
Z80 Z80に萌えたい 汎用ロジックでI/O 回路編 2017年4月2日 いままでの回路のZ8S180には汎用I/Oポートがないため、SPIなどの外部との通信ができません。 Z80専用のI/O用LSIは入手が難しく、容易にI/O拡張ができない状況です。 そこで、ちょっと昔に戻ってwww 汎用ICを使用した8bit入力とラッチ付き8ビット出力のi/oポートを作ることにしました。 使用したロジッ... pengin