ホームページH8をMacで>その5・SDカードを追加する

その5・SDカードを追加する

目次
 目的と経緯

 以下は、マイコンボードにSDカード・インターフェイスを追加した際の覚書です。

 マイコンボードの(内蔵)記憶領域としては、ROMとRAMがあるのですが、ROMには書き込み回数制限、RAMには電源を切ると消失してしまうという欠点があります。
 それを補うために、外部記憶装置がサポートされています。
 中でも、最も手軽なのがSDカード・インターフェイスなので、これを実装してみました。


 回路図と部品を入手する

 回路図は、以下のサイトで公開されているものを使わせて頂きました。

 参考サイト(1):h83069fSDカードインタフェース

 回路図を見ると、電源として5Vと3.3Vが記載されていますが、これはマイコンボード本体が5V、SDカードが3.3Vで動作するためです。
 本体側では3.3Vは用意されていないため、別途作り出す必要があります。ここでは、3端子レギュレータを使うことにしました。
 3端子レギュレータについては、以下のサイトを参考にさせて頂きました。(工作の対象は異なりますが、他にも参考になる情報満載です。)

 参考サイト(2):電子マスカットMP3プレーヤー_1/12

 以下は部品のリストです。
品名 規格(型番) 個数 購入店 備考
 SDカードスロット  C-00753 1  秋月電子  
 ロジックIC  TC74LCX14F 1  千石電商2F  
 3端子レギュレータ  TA48M033F 1  千石電商2F  
 ディップタンタルコンデンサ  33μF  1  瀬田無線1F店  16V 品
 積層セラミックコンデンサ  0.1μF 3  千石電商B1F  
 抵抗アレー 4素子5P  10KΩ 1  千石電商B1F  M5-1-103J
 カーボン抵抗  10KΩ  1  千石電商B1F  1/4W 品
 SOP変換基板  ICB-010 1  千石電商1F  サンハヤト製
 信号伝達コネクタ用ピン  2550-10GT 1  千石電商1F  ピン4個で1セット
 信号伝達コネクタ(黒)  2550-2x4 1  千石電商1F  
 ピンヘッダ  1x40 1  千石電商1F  ボード - 変換基板 接続用
 注1)積層セラミックコンデンサのうち、2個はパスコン用、1個は3.3V電源用です。
 注2)その後、変更した箇所があります。(こちらこちら


 組み立てる

 部品の取り付けは、マイコンボードに付属してきたI/Oボードのフリーエリア部分にしました。
 ICは表面実装用なので、変換基板に取り付けます。(ICの取り付けは、その他の配線が全て終った後に行います。)
 変換基板とI/Oボードは、ピンヘッダで接続しました。(配線を裏面で行うため、長い方を下向きにします。)
 また、マイコンボードとの接続はI/Oボード側のピン(CN1A)を利用し、信号伝達コネクタを介して行いました。
2 - 32 34 36 38
SCK2
40
RxD2
1 - 31 33
PB0
35 37 39
TxD2
 注)上段:ピン番号、下段:信号名

 部品類は(ICのパスコンを除いて)全て表面に取り付け、配線は(コネクタとVSS接続部を除いて)全て裏面としました。
 配線図(裏面から見た図)は以下の通りとなります。



 以下は、組み立てが完了した状態(表面)です。



 なお、この状態でSDカードを装着すると、I/Oボードから4mm位はみ出します。カードの抜き差しを容易にするために敢えてそうしましたが、カードも含めてボード内に収めたい場合は、2ホール以上ずらす必要があります。


 動作テスト

 まずは、テスト用に購入した128MBのSDカードを差し込んでみました。
(誤接続が原因のカード破壊が容易に想像できたため、その時点で最安値のカードを購入しておいた。)

 MESでSDカードにアクセスするにはmmc0とmmc1がありますが、今回採用した方式ではmmc1になります。
mmc0:全てソフトで処理
mmc1:シリアルポートを使用して高速処理
だそうです。なお、mmc0方式の回路図も公開されています。
 なので、コマンドプロンプトから、
MES >mount mmc1
としてみたところ、暫くして
ERROR[Disk I/O error.]
と表示されてしまいます。

 事前に行った配線ミスのチェックでは問題なし。テスターでの要所の電圧計測も期待通りの値でした。
 また、ハンダ付けの不良がないかもチェックしていましたが、ブリッジ等は見当たりませんでした。
 ソフト、またはマイコンボード側のスイッチ類の設定にミスがないかも確認しましたが、いずれも問題なし。
(config.sysに「mmc1 p=11 cs=0 sio=2」が書かれていれば、ソフト的にはOKのようです。また、ボードは特に設定する箇所はありませんでした。)

 再度の配線チェックやブリッジチェック等、とりあえず考えられることは全て確認しましたが、どうやっても動きません。
 後は、オシロ等を使って信号波形を直接観測する等、かなり本格的に原因究明しなければならなそうだし、だからといって、このためにオシロを購入するのもなんだしなぁ、と考えつつ、暫く放置していました。

 が、ふと、SDカードを別のものに変えて試してみたら、…、あっさり動きました。

 16MBはダメ(Formatの形式がFAT16ではなくFAT12のため)とかは知ってましたが、まさか128MBでもダメなのがあるとは…。
 ちなみに、手持ちのSDカードは4枚しかありませんが、以下の通りとなりました。
可否 メーカ 容量 転送速度
(Read)
転送速度
(Write)
AnyCard 512MB 7MB/s 2MB/s
Princeton 256MB 10MB/s ???
× Kingston 128MB 5MB/s 1.5MB/s
× NHJ 128MB ??? ???
(以下は2007.04.15追加分)
Hagiwara 1GB 7MB/s 2MB/s
A-DATA 512MB 9MB/s 3MB/s
追記:OSをTOPPERS + FatFsに変更したところ、Kingston , NHJともマウントできました。やはり、マウントできなかったのはハードウェアレベルの問題ではなく、MESとSDカードの相性?だったようです。(2009.02.17)

 今後の課題

 どうも、使えるカードと使えないカードが半々(注:追加分のない時点)というのが腑におちないです。
 動かないカードは転送速度が比較的低速のもので、相性問題といってしまえばそれまでですが、ちょっと納得が行かない結果です。

 この件は、もう少し調べてみたいと思います。

 あと、回路的に気になるとすれば、パスコンでしょうか。
 0.1μFは実装済みですが、47μFも追加してみた方がいいかもしれません。(これは近日中に実験してみるつもりです。)

 「その5a・SDカードその後」へ続く


 お世話になったサイト

 有用なソフトウェアおよび貴重な情報をご提供頂いている皆様に、お礼申し上げます。(以下、順不同)

 参考サイト(1):h83069fSDカードインタフェース
 参考サイト(2):電子マスカットMP3プレーヤー_1/12
 参考サイト(3):mes2-mmc-con.png


 更新履歴

 2009.02.17 動作テストに追記を追加。
 2007.04.15 動作テストのSDカード表にHagiwara,A-DATAを追加。
 2007.04.04 ページ独立に伴い、タイトルナンバーを「その4d」から変更。
 2007.03.26 タイトルを「マイコンボード連係編(5)」から変更。
 2007.03.27 参考サイト(2)と関連する記述を追加。
 2007.03.26 新規作成


[Home]  [MacSoft]  [Donation]  [History]