プログラミングできるだけじゃダメ?
こうした悩みを解決します。
ハードウェア知識の習得は必須
組み込みエンジニアやってると、ハードウェアの知識も必要になります。
というか、そうならざるをえない環境にあります。信号を演算する人は特にそうですね。
動作不良が発生した場合、どこに原因があるか切り分けながら少しずつ探っていきます。
本来来るはずの信号が検出されない場合、本当にきてないのかハード側の動きをオシロスコープやテスターで見てやる必要があります。
そしてハードウェアっぽいな、という気持ちになります。
けどまだハードウェア担当に見てもらうには早いんですよ、その信号波形を見ないと本当にハードウェアか分からないですし。
自分の目で見て、やっぱりおかしい、となって初めてハード屋さんに助けを求めます。
実際、ハードっぽいなーと思ってもソフト側の原因であることも多々あります。
ハードと思いきやソフトのバグだと気づく例
あれ?ここの出力から何も出てこない…
んー、これはハード担当の○○さんやらかしましたなあ。
けどまず自分で回路動作を確認しておこう。
この出力の直前にLPFがあって、前段はダイオードで半波整流してる、
整流する前の波形は、スイッチとして使ってるこのNch FETが…
ん!?FETのゲートにHiを与えてないから何も出てないのか?
デバッグしてこのI/O出力を確認して…あ、自分のミスだったー!
自分の書いたプログラムは問題ないはず、と思ってる人(=私)ほどこうした傾向にあるのではないでしょうか。
そして気づけば、はんだゴテと基板とオシロスコープが机に常に置かれてる状態になります笑
ハードウェアの開発者も、基板が届いたら動作確認が忙しいですからね、こちらでできることは最大限やっておかないと、信用できるエンジニアにはならないですね。
相手の仕事を少し理解できるだけで、仕事の進め方が全然変わってきますので、組み込みエンジニアはハードウェアの理解に貪欲になってよいでしょう。
コメント