昨日、シリアル通信で不揮発メモリへの書き込みに失敗する問題はシリアルクロックを下げることで一応は解決した。が、どうにも納得いかないのでオシロスコープで信号を直接調べてみた。するとなんとロック信号がオシロに表示されない。電圧レベルも本来の7割くらいの高さしかなくて、その電圧がずっと出つづけている。不思議なことに、こんな状態なのに読み書きはちゃんとできている。
 回路図を調べてみると、この信号線をプルアップする抵抗があるはずなのに実際の基板には実装されていない。実装忘れではなくそもそもパターンが描かれていない。仮にプルアップ抵抗をつないでみたら、速いクロックでも読み書きができるようになり、オシロ上でもクロックが見えるようになった。
 どうも前に基板のパターンを変更するときに前任者と回路担当との間で連絡ミスがあったらしい。基板発注のタイミングに合わなかったために保留されていたパターン変更がそのまま忘れ去られてしまったようだ。
 既に出荷した数台と在庫品は順番に手で修正していくしかないだろう。今はとりあえず開発&動作確認用の2台だけプルアップ抵抗をつけておき、後のために抵抗の付け方と「改造済」ラベルの貼り方の手順書を作っておいた。
 この件は原因と対策が分かったのでひとまず置いて、もう1件別の機能追加にかかる。こちらは渡された仕様書に互いに矛盾する項目があってそのままでは実装できない。そもそもこの仕様書の要求は過剰に思えるので、目的はそのままに一番シンプルな方法で実装して、それで足りるかどうか相談することにする。(一応事前に相談してみたが、内容がうまく伝わらなかったので)
 今日はここまでで、さっさと帰宅。