昨日ロジックICが動かなかった件で、ロジックICの担当者を交えて朝から動作の検証。担当者はロジック開発時に使っていた治具を持ってきていて、それを使うと確かにロジックICは期待通りに動いている。しばらく一緒になんやかんやと回路をいじり回してみたが、マイコンからだとロジックICがまったく反応しない原因はよく分からない。そのうち担当者が仕事に戻りたいと言うので、続きは治具を借りて自分一人でやることにした。
 さて、実際に治具を操作して挙動を観察してみると、すぐに妙なことに気がついた。命令が確定されてロジックICの状態が変化するタイミングが意図したものと違う。仕様ではSTROBE信号の立ち下がりで命令が確定するはずなのに、実際には立ち上がりで確定している。なんのことは無い、マイコンのソフトウェアや結線を散々調べたというのに、実はロジックICが仕様どおりになっていなかったのが原因だった。
 しかもこのSTROBE信号のロジックは、今回の原因として最初に推測していた部分だ。もちろん担当者にも2,3回は確認したのだけど仕様とおりだとの回答だったので、自分で調べることはしなかった。

 上司に報告したら、「あっそ」て感じだったが、こういう回路のミスの原因を突き止めるのもソフトウェア担当者がやるのが当然なのだろうか?
 こんな風に回路のミス+担当者の誤解を調べるのに時間をとられるにも関わらず、「ソフトはいつ動く?予定では明日だろう?」「動くようになったらすぐ見せるように」と上司の脳内スケジュールの通りにせっつかれるのも普通なの?
 もしどこの会社でもそうなら、組み込みソフトエンジニアなんてエンジニアの中でも底辺の仕事もいいところだよな。