リモコン用ファーム書き込み

マゾ時計2のリモコンにはPIC12F629が使われている。そんなもんでこいつにはファームを書き込まないとならない。
幸い本体基板にはPICの書き込みに必要な12Vを生成する回路がついているので、これと書き込みに必要な信号を本体から引き出してリモコン基板に接続できるようになっている。

PICはプログラミングの際、一般的に12V(VPP)をMCLR端子にかけてからVDD(5Vとか)を投入する。のはずだったのだがうっかり本体基板はVDDより先にVPPを投入できない設計にしてしまった。

VDDがVPPより先に投入された場合、VPPが投入されるまでの間にファームウェアが走ってしまう。これが悪さをして書き込みに失敗することがある。

仕方ないのでリモコン側のファームの先頭に1秒ぐらいのダミーウェイトを。これでファームが走り出してもこのウェイトの間にVPPを投入できる。工場出荷時の状態のPICならばMCLR端子でPICをリセット状態に保てるためファームが走り出すことはないのだが、一旦リモコンのファームを入れてしまうとMCLR端子はGPIO3として設定されてしまいMCLRとしての機能は失われるため、このような処置が必要となった。

そこらへんで手間取って時間がかかったけど、書き込みに成功した。

ちなみにリモコンのファームは一旦走り出したあとはボタンが押されるまでずっとスリープ状態になる。