« 秋月、SH7144ベースボード | トップページ | PICを使った「容量計」の実験 »

2008年12月20日 (土)

トラ技2008年1月のMMC/SDカードリーダの製作

Mmcsdh8_3052 トラ技2008年1月号の特集4-2のMMC/SDカード・コントローラを製作しました。H8/3052ボードによって、MMC/SDカードの読み書きをするものです。

機能としては、FATなどはサポートせず、セクターの読み書きをするところまでです。SDカードの情報は読み出すことは出来ます。

構成は、5Vで動作するH8/3052マイコンボードに対して、3.3Vで動作するSDカードスロットを繫げるための74HC125を使用したインターフェースがあります。プログラムはC言語で書かれているので、メモリーが若干必要になるので、HM628128のRAMを増設しています。そのため、モード6の拡張16Mとして、外部のRAMをアクセスします。

プログラムは、フラッシュROMに入れるのではなく、H8モニターをフラッシュROMに書き込んでおいて、モニターのLコマンドによって、RAM(200000~)にロードして実行します。製作記事では、デモプログラムは小さいので、RAMを拡張しなくても実行できるとあったので、コンパイルのアドレスの割り当てを変更して、フラッシュROMと、内臓RAMで実行してみたのですがなかなかうまくいきませんでした。

Mmcsdinterface MMC/SDカードスロットを取り付けるためには、表面実装のように半田面に取り付けなければならなかったので、基板を裏返しにして取り付け、部品を裏面に取り付けてはんだ付けをしています。20ピン(10x2)のコネクタでマザーボードと結合しますので取り外しが出来、他のボードでの流用が可能になっています。
48M033による電源も基板上にあるので、マザーボードからは、5Vで利用しているように扱うことが出来ます。

配線はしていませんが、CD入力やWP入力も取り出すことが出来ます。

実行の上での注意事項として、H8/3052ボードをモード6にして使用するとき、内臓フラッシュROMが有効であり、内部で動作するので、アドレスバスや、CS1などが入力になっていることです。これは、電源起動後にプログラムで出力に設定しなければなりません。
電源を入れると、内臓フラッシュROMに書き込まれたモニタが動作しますので、コマンドでポートを出力に設定します。それまではRAMは利用することは出来ません。

設定しなければならないのは、
P1DDR(FFFFC0)にFF
P2DDR(FFFFC1)にFF
P5DDR(FFFFC8)にFF
P8DDR(FFFFCD)にE8
をそれぞれ書き込んだあと、L(ロード)コマンドで、MMC/SDカードデモプログラムを読み込んで実行します。

SDカードには、セクタ読み書きにより書き込みを行なうため、FATを壊してしまうので、他に利用するときには再フォーマットが必要になります。

このプログラムは、TECH I Vol35に掲載されたH8でのSDカードアクセスのプログラムを利用しているということで、基本動作がどうなっているかを学ぶために適していると思います。実用に使うには、この上にFATアクセス処理を追加指定かなければならないでしょう。もちろんセクタアクセスで利用することも出来ます。

« 秋月、SH7144ベースボード | トップページ | PICを使った「容量計」の実験 »

製作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 秋月、SH7144ベースボード | トップページ | PICを使った「容量計」の実験 »

フォト
無料ブログはココログ
2016年6月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

USBとマイコンの参考書購入