2015年11月09日
SD6031/SD6031WIFのファームウエアについて
そういえば、このブログでアップしていなかったので、SD6031/SD6031WIFの最新版のファームウエアをアップします。
SD6031firm_130610.zip
通常のSD6031/SD6031WIF用です。
(http://sbeach.seesaa.net/article/387861570.html)
(http://sbeach.seesaa.net/article/387861572.html)
SD6031firm_130723.zip
HDDモードと4バイト転送モードを実装しています。
SD6031firm_130723 は、基板を改造してマルチディスク対応にした、SD6031/SD6031WIF用です。
(http://sbeach.seesaa.net/article/387861586.html)
上記の機能に加えて、マルチディスク対応にしています。


が、やはり2バイト転送まではできても、4バイト転送はできませんでした。
で、気付いたのですが、ソースファイルを見ると、
hardware information of SD6031
use ATMEGA164P AVR.
connect 16MHz crystal to the AVR.
と書いてあります。
私のSD6031WIFには16MHzのクリスタルが載っていますが、SD6031は20MHzのクリスタルが載っています。
西田さんの所で公開されているファーム(HDDモード非対応)のSD6031のソースを見ると、
connect 20MHz crystal to the AVR.
と書いてあります。だから自分のSD6031で動くのかな?
もしかしてこれが原因でしょうか?
最新のファームにするには16MHzのクリスタルに改造しなければならないとか?
だとすれば西田さんにもらったファームが動かないのも説明がつくって事?
それで済むなら解決しそうな気がしてきました(無知な私の勘違いかもしれませんが)。
どうか教えてください、よろしくお願い致します。
また、クロック速度に依存するような動作も特にありませんので、16MHzで動作していれば20MHzでも問題なく動作します。
うちの環境で、20MHzのものと16MHzのものと両方ありましたが、特に差異はありません。
すみませんが、ゆうじろさんの動作環境などについて以下を教えて下さい。
1)SD6031WIFとSD6031を所有していて、SD6031では4バイト転送が出来ているが、SD6031WIFでは4バイト転送が出来ない。
2)SD6031WIFのF/Wを最新版(SD6031firm_130610)にした。
で合っているでしょうか?
また、以下のような動作になっているかを確認してもらえますか?
・SD6031をP6に繋いだ時にリセットを押すと、LEDが2つとも点灯→消灯する。
・SD6031WIFをP6に繋いだ時にリセットを押すと、LEDが2つとも点灯→消灯する。
よろしくお願いします。
考えてみれば4バイト転送以外は動作するのですからね。(^-^;
動作環境ですが、問題になっているのはSD6031で、4バイト転送ができません。
F/Wを最新版(SD6031firm_130610)にしました。
2バイト転送や、普通に動作するフロッピーは問題なく動作します。
SD6031をP6に繋いだ時にリセットを押すと、LEDが2つとも点灯→消灯します。
SD6031WIFも持っていて、そちらは問題なく動作しています。(4バイト転送できます。)
SD6031WIFをP6に繋いだ時にリセットを押すと、LEDが2つとも点灯→消灯します。
ん〜、何がダメなんだろう???
やはり私のSD6031がおかしい感じですかねぇ・・・
荒業ですが、おかしい箇所の切り分けとして。
今の状態で、SD6031とSD6031WIFに搭載されている、AVR(ATMEGA164P)を入れ替えてみる、というテがあります。
入れ替えても、SD6031だけがおかしいのなら、SD6031の基板か、P6本体側の問題です。
入れ替えてSD6031WIFだけがおかしいのなら、AVRの問題になります。
SD6031WIFは動作して、SD6031はダメでした。
SD6031の基板かP6本体の問題かになりますね。
で、6601/6601SR用フロッピーインターフェイスにSD6031を付けてSD6031WIFが正常動作する6601SRに繋いでもやはり動作しないので、P6本体の問題ではなさそうです。
結局、SD6031に問題があるって事で確定な様な・・・。
4バイト転送できない事に関係ありそうなパーツなんてあるのでしょうか?あれば教えていただきたいです。
回路図を見て、もしかしたらと思ったんですが...
コンデンサC4は、10uFが実装されていると思いますが、これをもうちょっと大きなもの(47uFとか100uFとか)に
してみると、動くかも知れません(一応、理由はあります)。
可能なら試してみて下さい。
ここまで付き合っていただき、感謝します。
とりあえず、47uFにしましたが、100uFにした方がよいのでしょうか?
色々ご迷惑お掛けしました。
本当にありがとうございます!
6601SR+フロッピーインターフェイスでも問題なく動いています。(当たり前か。(^-^;)
だけどなんで私のSD6031だけ不具合が出ていたのでしょうか?
それともSD6031を最新ファームにした人って案外少ないのかなぁ?
なんにしても本当に助かりました。
ますますえすびさんを尊敬しちゃいます。
なんとお礼を言ってよいのやらわからないくらい感謝しております。
割とありがちなんですが、電源関係のトラブルだったようです。
20MHz動作で、4バイト転送した場合、通常のときよりもAVRの消費電流が大きいんだと思います(予想ですが)。
20MHz動作の場合って事は、コンデンサではなくてクリスタルを16MHzに換えても動作したって事なのかな?
いずれにせよ、今回もまたお世話になりました。
また何かあれば質問させていただきますので、よろしくお願いします。
で、コンデンサを100uFから220uFに換えてみたら、問題なく動いているようです。
220uFに換えても回路的に問題は無いのでしょうか?(AVRに負荷がかかって壊れるとか)
問題なければ220uFで使っていこうと思いますので、どうか教えてください。
後、付ける場所によって、現象が収まったりするかも知れません。
同じ220uFを付けるにしても、レギュレータの出力に100uFと、AVRの電源-GND(10、11ピン)の間に100uFと分割する方がいいような気がします(実験していないので何とも言えませんが)。
さらに、100uFの電解コンデンサに、並列に0.1uFのセラミックコンデンサを入れると、なおいいと思います。
上のコメントがちょっと無責任っぽいくて申し訳ないのですが...
電源関連は、まともに解析するのは非常に難しいんです。
ですので、この辺りは経験+勘+実機で確認、という事になりがちです。
レギュレータの出力っていうのがC4でいいのですよね?
付け替えても問題なく動いています。ありがとうございます。
220uF1つよりも100uF2つ分割方式の方が、ど〜もくんの歩みも安定しているように感じます。
並列に0.1uFのセラミックコンデンサっていうのは、バイパスコンデンサっていうやつですよね?手持ちがないのでまだ付けていませんが。ICに1つずつ付けるといいとかって聞いたことありますが、電解コンデンサに付けても安定化に役立つんですね。勉強になります。
電源関連はえすびさんでも難しいのですね、当然私にはサッパリ?です。(^-^;
これで安心してSD6031を使えそうです!本当にありがとうございます。