ホームページ>H8をMacで>その5・SDカードを追加する
その5・SDカードを追加する
目次
目的と経緯
以下は、マイコンボードにSDカード・インターフェイスを追加した際の覚書です。
マイコンボードの(内蔵)記憶領域としては、ROMとRAMがあるのですが、ROMには書き込み回数制限、RAMには電源を切ると消失してしまうという欠点があります。
それを補うために、外部記憶装置がサポートされています。
中でも、最も手軽なのがSDカード・インターフェイスなので、これを実装してみました。
回路図と部品を入手する
回路図は、以下のサイトで公開されているものを使わせて頂きました。
参考サイト(1):h83069f(SDカードインタフェース)
回路図を見ると、電源として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):h83069f(SDカードインタフェース)
参考サイト(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]