リンク

  • ninja analize
  • にほんブログ村

  • ジオターゲティング
  • ヤドカリ図鑑
  • リーフリング
  • NinjaTool
  • カウンター
    無料カウンター

« オゾン発生管のテスト | メイン | SDカードスロットのテスト その2 »

2015年3月25日 (水)

AVRテストボード完成と SDカードスロットのテスト

マイコンにプログラムを書き込んだりデバックしてみたり、実際にテストボードを使ってみて、気付いたところを修正し、最終的にブレッドボードも付け加えて、テストボードの完成、という事にした。

P3180079

このテストボードでATmega1284、644、164などの40ピンのチップ、それからATmega328、168、88などの28ピンのチップ、それからATtiny2313、861などの20ピンのチップ、そして最後にATtiny13、85などの8ピンのチップのプログラム書き込みと、デバッグなどのテストができるように作ってみた。

そして、この4種類のチップを連係させてテストする事もできるように、それぞれ同時に稼動させる事もできるようにしておいた。例えば、8ピンのチップからパルスを出力させ、そのパルスを28ピンのチップに周波数をカウントさせるとか、28ピンのチップから出力したデータを40ピンのチップで受け取るとか、そんな事もできるようにしてみた。

そして、テストボードに組み込んであるチップは基本的にはテストボードに組んだままにして、プログラムのテストを行い、プログラムが完成すれば実機にプログラムしたチップを入れるのではなく、チップは入れ替えずに完成したプログラムだけを実機に書込むようにする事にした。要するに、テストボードに入ってるチップはテストボードに入れたままで書き込めなくなるまで使い潰す事にする。


そして、テストボードが完成したので早速、秋月で売っていたSDカードスロットモジュールのテストをしてみる事に・・・・・

http://akizukidenshi.com/catalog/g/gK-05818/ ・・・・・これ!

このモジュールは既に基板にセットした状態で販売されており、しかも、3.3Vでも5Vでも使えるんだとか?

これなら取り付けるのも簡単だ!!

と思ったところですが、サイトの画像をよくよく見てみると、なんか可笑しい???

言葉で説明するのは難しいけど、この構造だとAVRの5Vで使った場合に、SDカードにダイレクトに5Vが掛かってしまうはず・・・・・・??
どうも可笑しいなぁ・・・ と思いながら、どこかにこんな便利なものを使った情報が無いかなぁ、とネットサーフィンしてみると、有った!!

許可をもらっていないのでリンク公開しませんが、同じ様にSDカードにダイレクトに5V掛かるはずだと思った方がいて、その方はマイコンからSDカードに送るラインにダイオードを噛ます事で、マイコンからの5Vが直接SDカードに掛からないように工夫をされていた。

原理を簡単に書いてみると

Sd

マイコンからの5V出力時にはダイオードが遮るけれども、プルアップ電圧の3.3VだけはSDカードに掛かる事になり、逆にマイコンの出力が0Vの時にはプルアップの3.3Vをマイコンが吸い込む形になり、ダイオードの電圧降下分の0.6V程度だけがSDカードに掛かる事になる。そうなる事でマイコンからの5VのパルスがSDカードには3.3Vとなって無事に伝わるとの事。

なるほど、とは思ったけれども、そんな簡単に使えるようになるのかな?

SDカードには0.6V残るけど、それでも大丈夫なのかな?

などなど、「ホンマかいな?」なところがあるので、試しにテストしてみようと!

届いたSDカードスロットをテストボードに組み込んで、マイコンにはSDカードにデータを書込む簡単なプログラムを書き込んでテストしてみると・・・・・


予想に反して(いや、予想通り)、いきなりドライブエラーが出て機能しない!!

やはりそんな簡単に事は進まないようだ・・・・・笑

もう一度、ゆっくりと添付されてるマニュアルの図面と睨めっこしてみると・・・・

Sd2_2 ※赤で書いたダイオードは私が追加した

私の乏しい知識で正解が出せるとは思わないけど、なんとなく、マイコンからSDカードに向かう「行き」方向のデータは上手く届くだろうけど、SDカードからマイコンへの「帰り」のデータが、これだと届かなくないかな????

やっぱり、ちゃんとした5V~3.3Vの変換器を使わないとダメかな??・・・・・笑

コメント

速度を求めないなら。抵抗分圧で済ます。
http://arms22.blog91.fc2.com/blog-entry-502.html

正しく5V3V変換ICを使う
http://www.geocities.jp/h83069f/sdif.html

こういう面倒を避けるためにAVRも 3.3Vで動かす。
AVRも3.3VならSDカードも直結だ。

◆中年会社員Aさん

いつもありがとうございます。

AVRを3.3Vで動かすのも一つの手段なんですね?
3.3Vで動かす場合の問題点とか注意点とか何か有りますか?

テストボードに3.3Vの電源も組み込めば良いのかも知れませんね。

>AVRを3.3Vで動かす場合の問題点とか注意点とか何か有りますか?

mega328pだと 5Vでは20MHzまで 3.3Vでは10MHzまでなど
チップによってクロックが制限される場合がある。

写真のLCDはたぶん5V用だろうから 3.3Vで動かすと
コントラストが得られないので工夫が必要


>テストボードに3.3Vの電源も組み込めば
センサー系ICなども 3.3V用(5V不可)というのが増えてますね。

◆中年会社員Aさん

ありがとうございます。

なるほど、クロックの最高速度が制限されるんですね。
今回は外部のクロックは時計用だけですので、おそらく問題は無さそうですが、LCDが使えないと困りますねぇ。
やはり変換器を使った方が良いのかな?

>センサー系ICなども 3.3V用(5V不可)というのが増えてますね。

テストのために3.3Vの電源も仕込んでみる事にします!!

◆中年会社員Aさん

追伸

秋月を見ると、そのまま使えそうな3.3VのLCDも有りますね。
3.3Vで動かす事を考えてみようかな??

回路図の追加ダイオードですが、
SDカードのSDOのダイオードは不要です。
ここは SDカード -> AVRなので AVR入力に 3.3Vがかかるだけで不都合はありません。

◆中年会社員Aさん

>SDカードのSDOのダイオードは不要です。

なるほど、ありがとうございます。

今、乾電池2本の3Vでテスト中です。
AVRは動きますが、なぜかSDカードに書き込みができなくて
カードスロットの端子の配置をテスターで調べてるのですが、どうも変です??

私の見方がおかしいのかも知れませんが
次の記事に書いてみますので見てやってください。

コメントを投稿