AVRによるSDカードリーダ製作(1)

AVRのプログラマを作り、ブレッドボード上でプログラムできることを確認したので、いよいよ(?)まともにSDカードリーダを作り始めました。

回路図

回路図は以下のようになっています。

20081130-AVR_SD.PNG

SDカードが3.3V動作なので、途中で電圧変換をしなくて済むようにAVRはATmega8Lを使います。きわめて簡単な回路ですね。

一 応説明をすると、入力の5Vは48M033Fで3.3Vに降圧しています。 ^A7と^IORQのORを割り込み入力とします。 A6~A3はすべてORをとってPB0に入力しており、I/O空間はA2~A0の3ビット分を予約しています。 PC側からみれば、ポート00~ポート07までを使います。

SDカードとの入出力はmega8Lに搭載されているSPIをそのまま使いま す。 同時に、ISPにも接続することにより、PC-6001からの電源をもらってプログラムできるようにしてあります。 プログラムを行う際はリセット端子がPCからの入力では都合が悪いので、スイッチをつけています。

ハード実装

手抜き実装で、プルアップ抵抗をまだ入れていませんが、とりあえず実装したものはこんな感じです。 一応この程度でも動くことはブレッドボード上で確認してあります。

20081130-AVRSD-card.jpg

中央下部に空間を空けてあるのは、あとでBIOS ROMを入れることを考えているためです。

簡単なテストプログラムを作って試してみているのですが、今のところPC本体がちゃんと起動しません...。

こちらもよく読まれています