2012年1月13日(金) 21:51
PICのソフトを作るのにカネは掛からないが、大量に時間を要する。今は使える時間がほとんど無いため、作業は進まない。
主PICの場合、処理ループの基本的な流れが既に複雑であり、更に時間待ちループを割り込ませるのはバグの元だ。PICは複雑な処理を記述するのに向いていない。だから、単純にプログラムの先頭に追加するという手抜きを行なった。
ところが処理開始を1秒遅らせても、数回に一度しか主PICが動作しない。青色LEDの点滅が始まらない。
ここで、以前ハマった罠にまたハマっていたのに気付く。出力モートAだと、初期処理でボリュームを読みに行ってしまう。いま一時的に接続されていない
A/D コンバーター(主PIC用)である。モードHかLにしておけば良い。
こうして主PICは確実にスタートするようになった。PIC自体が動作不安定化しているという最悪の事態は回避されていた。だが、肝心の
D/A 出力は安定しない。
相変わらず基本は5Vまで振れていて、時々内蔵基準に切り替わってはまた5Vに戻る。
これまでの試験結果から判断すると、正論理 D/A 出力線限定で信号が不安定になっている可能性が高い。非常にまずい。もはや賭けに負けた状態で、アラルダイトで固めたハードを掘り出さずには対処できない。
負論理 D/A 出力は使えそうだが、2チャンネル同時駆動は出来ない。現状15ミリアンペアほど流れており、2並列接続すると7〜8ミリアンペアずつになってしまう。フォトカプラは最低10ミリアンペアのスペックだから、今度はそっちで不安定になる可能性がある。マージンを食い潰して動いたとしても、信用できない。
順方向電圧は1.7V程度だから、フォトカプラを2直列で動かすのは可能。しかし、これで10ミリアンペア以上を流すには電流制限抵抗を160Ω以下にせねばならない。だが、現在の200Ωはこれまた既にアラルダイトに埋まっている。
ただ、ビットずれの傾向は偏っており、ランダムっぽくはない。PICが発生させている信号は5Vまで振れており、電圧マージンではなくタイミングマージンの不足による可能性が高いと考えられる。フォトカプラを介すると、信号のナマりが減ってタイミングが楽になっているのでは?
だとすれば、信号を発生させるPICプログラムの適切な部分に nop を挿入することで、改善される可能性がある。少なくとも、ハードをいじらずに済む。まずはソフト的な対策を探るのが先だ。
written by higashino [ファイバーレーザー] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4