基板上のPICにデバッグ用のプログラムをDLLしては各部の動きを少しづつ確認しています。ターゲットのソケットにはPLCCアダプタを介してAm29LV040を仮に載せています
簡単な回路なのですが、いざ動かし始めると設計をミスった所が見えてきたり、コーディングで引っかかったりしています。
(1)LEDの制限抵抗:電源ランプの緑LEDですが古い低輝度タイプなので3.3Vシステムで制限抵抗1kは大きすぎでした。暗いので抵抗を小さくするか高輝度タイプに交換です。
(2)ポート設定:デジタル入出力とADコンバータ入力が多重化されているポートはADコンバータの入力ピン設定を殺さないとデジタル入出力が使えない・・というのはPICのコーディングでよく嵌まるポイントですが、このPIC16F914はその他に多セグメントLCDドライバが内蔵されているのでこれもLCDCONで殺さないとデジタル入出力が使えません。最初これに気付かずパラレル出力に何故か階段状のアナログ電圧が出力されて悩みました
(3)クロック設定:3.3Vで動作させるので内部クロックは低いほうが良いだろうと内蔵発振器8MHzを8分周した1MHzを予定してましたがこれだと通信用のボーレートが確保できません。データシートでは3.3Vでも8MHz動作可のようなので1分周にしました
(4)低損失レギュレータ:バスパワー5Vをシステム電圧3.3Vに落とすのに手持ちのTA48033を使いましたが、これは出力側パスコンが33uF以上ないと発振するとマニュアルにかかれています。ここのパッド(C7)は1608のチップコンで設計してしまったのでレジストを削って無理くり47uFの固体タンタルをねじ込みました。パスコンのESRは極端に小さくても大きくてもダメらしく。適度なESRがあり安価なアルミ電解コンでパタン設計するべきでした
(5)ターゲット電源制御:ターゲットのROMに与えるVccをフォトMOSリレーで制御できるように設計しましたが、考えてみるとアドレス/データバスが生きているのにROM電源だけ落とすと最悪ラッチアップするかもしれず、メモリアクセス中は基本、電源ONのままにするしかありません。ということで電源制御まわりの設計は無駄だったようです