車載システムや家電品の組込みプログラム、工作機械の制御システムなどを開発する専門家のことを「組込み系エンジニア」と言います。昔から人手不足の業界ですが、近年は特に人手不足に拍車がかかってます・・・
組込み系エンジニアの敷居が高い理由の1つに、ソフトウェアの知識だけではなくハードウェアの知識も要求されることが挙げられます。ハードウェアに対して苦手意識を持っているソフトウェアエンジニアは結構多いです。
今回は、組込み系エンジニア向けのハードウェア入門書を5冊紹介します。
- 標準テキスト 組込みプログラミング 《ハードウェア基礎》
- 組込みソフトウェアエンジニアのためのハードウェア入門
- 電子回路が一番わかる (しくみ図解)
- モータ制御で学ぶ電子回路と組込みプログラミング
- FPGAボードで学ぶ 組込みシステム開発入門
標準テキスト 組込みプログラミング 《ハードウェア基礎》
同シリーズで「標準テキスト 組込みプログラミング 《ソフトウェア基礎》」という本があり、組込みシステムを開発する上で必要なソフトウェアの知識がまとめられていますが、こちらはそのハードウェア版です。
組込み系エンジニアが知っておくべきハードウェアの基礎知識がコンパクトにまとめられており、この1冊を読破するだけでもかなり勉強になります。初心者向けの読みやすい本です。
組込みソフトウェアエンジニアのためのハードウェア入門
この本は「入門」とありますが、ハードウェアの完全な初心者にはやや敷居が高いかもしれません。
「組み込み系エンジニアとして働き始めて1~2年経つけど、未だにハードウェア周りの知識はふわっとしてる。騙し騙しやってきたけど、そろそろちゃんと勉強しておくか」
くらいのソフトウェア技術者を対象としていると思われます。私見ですが。
組み込み系エンジニアにとっては必須とも言える測定器の使い方などもカバーしている良書です。
電子回路が一番わかる (しくみ図解)
組込み系エンジニアは他のソフトウェアエンジニアに比べて、「電子回路図面を読む」機会が多くなります。
本来なら回路設計技術者がハードウェアの仕様書なり設計書なりを作ってくれるのですが、なにぶん回路設計チームも人手不足なものですから、なかなか資料が作られません。
仮に仕様書や設計書が用意されていたとしても、プロジェクトが進行するにつれて仕様が変わっていくときに、仕様書が適宜アップデートされるとは限りません(大抵の場合、仕様書の修正は後回しにされます)
そんなとき頼りになるのは、ハードウェアの回路図面だけです。回路図面を読み込んで正しい仕様を把握し、時には「仕様書のこの部分と実際のハードウェアの動作合ってなくない?」とハードウェアチームにツッコミを入れるくらいの働きが組込み系エンジニアには求められます。
本書「電子回路が一番わかる (しくみ図解)」は電気の基礎知識、電子部品の働きや仕組みなど、電子回路の基礎を習得するにあたって基礎的な部分が網羅されているのでおすすめです。
詳細レビューは下記記事を参照してください。
モータ制御で学ぶ電子回路と組込みプログラミング
この本は厳密には「ハードウェアの入門書」というわけではありませんが、メカトロニクスの根幹技術であるモータ制御を通じて、電子回路と制御プログラムの関連について学ぶことができます。
図や写真を多用して解説されているので、組込み系開発に関する知識が無くても比較的理解しやすい構成となっています。*1
FPGAボードで学ぶ 組込みシステム開発入門
この本はややハードルが高いかもしれませんが、勉強になります。
FPGAとはプログラマブルICのことで、ハードウェア記述言語(HDL)によって論理構成を変更できるICのことを言います。広義にはPLD(プログラマブルロジックデバイス)とも呼ばれます。
今日の組込み業界では必須とも言える技術ですが、何も組込み系エンジニアがFPGAの中までいじる必要はありません(というか、ソフトの知識にも精通してる上にFPGAの中までいじれる技術者がいたら、そこら中の企業から引っ張りだこになりそうです)。
組込み系エンジニアがFPGAに絡むのはせいぜいレジスタを通してコントロールしたりステータスを読んだりするくらいですが、FPGAの原理や基礎的な仕組みを知っていると仕様全体の理解も捗りますので、おすすめです。
本書「FPGAボードで学ぶ 組込みシステム開発入門」では、学習・評価用のFPGAボードを題材にして、FPGAの技術やノウハウを学ぶことが出来ます。
*1:C言語は予備知識として必要