ソフトウェアによるハードウェア機能の代替
組み込み用マイコンの性能が向上し、ソフトウェアの処理速度が速くなるにつれて、これまでハードウェアで処理しなければ速度的に間に合わなかった機能をソフトウェアによって代替できるようになった。
例えば、スイッチのチャタリング処理がある。押しボタンスイッチの構造上、一度しかスイッチ操作を行っていないにもかかわらず、短時間に接点が開閉してしまうことにより、複数回押したものと認識されてしまうチャタリングという現象が発生してしまうことがある。この現象を抑えるために従来はチャタリング除去回路というハードウェアを採用していたが、スイッチの数が多い製品や、量産品ではその生産台数分の部品が必要となり、コストアップにつながっていた。そこで定常状態を検出するプログラムによって代替させているのが一般的である。
そのため、ハードウェアはソフトウェアでどうしても代替することが困難であり、かつ、今後も変更することがなさそうな基本的な部分の最小限とし、それ以外はソフトウェアで代替させてしまうという傾向になってきている。
ソフトウェアは開発コストが比較的高めと言われているが、一度開発してしまえばいくらコピーしても費用がかからない。また、ハードウェアを変更することなく機能変更やバージョンアップを自由に行うことができるため、ソフトウェアはハードウェアに対して柔軟性とコストの両面で有利になる。
ハードウェアとソフトウェアの特徴
ハードウェア | ソフトウェア | |
---|---|---|
変更 | 費用と日数が余分に必要になるため、作成した回路を変更するのは困難。 | ROMRAMの容量が間に合えばプログラムの変更は可能。 |
並列操作 | 並列動作が基本であるため、高速処理が可能。 | 順番に処理を行うのが基本であるため、並列処理は困難。 |
デバッグ | 回路図で動作の把握が比較的容易であるため、支援を得てのデバッグが可能。 | チャートで可視化しても処理の把握は困難。他人の作成したプログラムは特に困難。 |
コスト | 部品数に比例してコストがかかる。 | プログラムはコピーするので数によらない。 |
大きさ | 部品数が増加すると大型化する。 | ハードウェアの一部をソフトウェアで代替することで部品数を減らせるので小型化が可能。 |
ハードウェアとソフトウェアの切り分け
生産数が多い場合、開発期間が長く取れる場合はソフトウェアの比率が高くなる。
生産数が少ない場合、開発期間が短い場合はハードウェアの比率が高くなる。
参考文献
坂巻佳壽美, トコトンやさしい組込みシステムの本, 今日からモノ知りシリーズ, 日刊工業新聞社, 2019年.