Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC24FJ64GA002 + Generic FatFs + RTCC カード抜き差し時の電圧低下?

SDカードを抜き差しすると、挿したときにPICがリセットする。
せっかくRTCCで時刻をキープしているのに、SDカードの抜き差しが出来ないのは困る。

初めは、抜き差しをプログラムで検知しているのかと思って、コードをいろいろ眺めてみたが、そんな箇所は見つけられなかった。
そういう箇所が無いのか、自分が見てもわからないだけなのか、それが分からない。

よくよく考えてみたら、手製のSDカード・ソケットには、カード検出スイッチ(CD)もライト・プロテクト検出スイッチ(WP)も無い。
ChaNさんの回路図でPICへつながっているラインはGNDへつながっている。
つまり、検知できるわけが無いのだった。

それで、あれこれ調べ回っていると、カードに内蔵されているコンデンサのせいでカードを挿したときに電源に影響が出るというようなことが書いてあった。
MMC/SDCの使いかた
ていうか、よく見たら、ここ、ChaNさんのサイトじゃあないですか。

結論
ChaNさんとこでちゃんと勉強してください。

ということで、どんな感じなのか調べてみた。


1.47uHのインダクタをカードの電源の直近につけ、コンデンサはつけない。
pic24fj64ga002_gfatfs_sdc_onoff_01
抜き差しを2度しているが、どこでやったかわからない。
もちろん、PICもリセットしない。
pic24fj64ga002_gfatfs_sdc_onoff_01b


2.47uHのインダクタをブレッドボードの電源接続部分につけ、コンデンサはつけない。
pic24fj64ga002_gfatfs_sdc_onoff_02
赤丸のところに何かが出ているのがわかる。
拡大すると、一時的に電圧が下がっている。
pic24fj64ga002_gfatfs_sdc_onoff_02b
PICはリセットされる。
現状はこの回路なので、これでリセットの原因が判明した。
さすがに、1.2Vまで下がると、PICも耐え切れない。


3.インダクタはつけず、ブレッドボードの電源接続部分に10uFのコンデンサをつける。
pic24fj64ga002_gfatfs_sdc_onoff_03
これも、チラッと乱れてはいるが、リセットはかからない。
pic24fj64ga002_gfatfs_sdc_onoff_03b
そもそも、電源の細かなノイズが全くなくなっている。
何気に、これでもいいのではないかと思う。


4.何もつけない。
どれくらいひどくなるかと思いきや。
pic24fj64ga002_gfatfs_sdc_onoff_04
かろうじて、2度何かをしたんだろうなとは分かる。
リセットはかからない。
pic24fj64ga002_gfatfs_sdc_onoff_04b

何だかなあ。
何もしなくていいってことだろうか。

もっとも、SDカードの電源直近にインダクタをつけた場合には、乱れが検知できなかったわけだから、それがベストには違いない。
しかも、手を近づけたときにノイズらしき乱れが出ているようで気になる。


5.10uFのコンデンサを電源に、47uHのインダクタをSDカードの電源直近につける。
pic24fj64ga002_gfatfs_sdc_onoff_05
pic24fj64ga002_gfatfs_sdc_onoff_05b
やはり、これがベストだとわかる。
電源のノイズも少ないし、逆にそのためにカードをどこで挿したかが分かる。
しかし、挿したことによる乱れは最小だ。

このエントリーをはてなブックマークに追加

Posted under: PIC24FJ64GA002, SD Card


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.