はじめに
この記事は株式会社ビットキー Advent Calendar 2023 8日目の記事です。
ハードウェア製品の品質保証(HWQA)を担当をしている高石 (@ksk_taka)が執筆します(今年のアドカレ2記事目)。
1記事目:FIT(Failures In Time)という指標を用いて自社デバイスの品質を可視化したお話
ハードウェアデバイス開発の構成要素と、開発する中で生じる制約
ハードウェアデバイス開発の構成要素
製造業に従事している方ならすぐにイメージが湧くと思いますが、ハードウェアデバイスを開発する場合、大きく分けて以下の様な構成要素が存在します。そして、これらの要素ごとに専門の担当・チームが存在することが多いと思います。
- プロダクトデザイン
- 機構設計
- 電気設計
- ファームウェア設計
※上記に加えて更に「デバイスを制御するためのスマートフォンアプリ開発」なども加わることもあります。実際にビットキーでは、スマートフォンアプリ開発、Webアプリケーション開発、UI/UXデザインなど「開発」の領域が多岐にわたります。
ハードウェアの課題を解消する場合に発生し得る制約
スマートフォンアプリ開発やWebアプリ開発などいわゆる「ソフトウェア開発」と異なり、ハードウェアデバイスの開発は「製品」という物理的なモノが伴う開発となります。
製品の開発段階や、市場へのリリース後に課題が見つかった場合、対策を講じる際に例えば以下の様な制約を受ける場合があります
制約の例
- 機構の「金型」が既にFIXしてしまっており、修正を掛けられない
- 電気の「基板」の製造を着手してしまっており、修正を掛けられない
- 数多くの製品を組み立ててしまっており、分解・再組み立てをする場合に非常に工数が掛かる
- 既に市場出荷してしまっており、電気・機構的な個別の対策が打つことが難しい
大まかなイメージですが、開発がある程度の段階まで進んだ状態で課題が発生した場合の対策の難しさは以下の様な順になるイメージです。
機構>電気>物理的変更を伴う壁>ファームウェア>物理世界の壁>アプリ等
※あくまで筆者のイメージです
電気的な課題をファームウェアの修正で解決する
ファームウェアは、製品内部に組み込まれたCPUから各種センサやモーターなどの入出力部品を制御することができる、いわば「物理世界へのアクセスをソフトウェア制御できるもの」です。
また、ハードウェアデバイスの構成要素の中では、比較的「課題解消の為の打ち手が打ちやすい」という場合が多く、例えば製品について電気的な課題が生じた際、事象の内容によってはファームウェアの修正によって解決に導くことができる場合があります。
以下に、実際にファームウェア修正で解決した電気的な課題の例を記載します。
発生した電気的な課題の例
特定部品の電源制御信号をOFF→ONにした瞬間に、電源ラインに搭載されているコンデンサに突入電流が流れることにより大元の電源電圧自体がドロップしてしまい、予期せぬ製品再起動が起きる
回路のイメージ図
本来、対策として実施すべき内容
この課題は、製品の電気基板における電源設計時に部品電源制御をOFF→ONにしたときに電源の仕様を満たすかという観点のチェックが漏れていた事により起きたものです。
仮に設計時点で課題が見つかっていれば、当然回路の修正による課題対策を打つことができます。
MOSFETを電源のスイッチとして扱う際、OFF→ONのタイミングで突入電流が発生するということは比較的よくある話で、FETのメーカーサイトにも対策の例が記載されています。
MOSFETをロードスイッチとする場合、発生する突入電流をどう低減できますか(東芝デバイス&ストレージ株式会社より)
しかし、冒頭でもお伝えしたように、「開発段階的に、回路的な対策を打つことができない」という状況に陥ることがあります。
その場合に、ファームウェアでの対策が打てないかを検討してみましょう。
上記に対するファームウェアによる修正方法の例
特定部品の電源制御信号を短期間でON/OFFすることで、コンデンサへの電荷チャージを段階的に行うことによって主電源側のドロップを抑制し、予期せぬ製品再起動の発生を防ぐ
FW修正前後のオシロスコープ波形(イメージ図)
上記の様に、「電源電圧ドロップの発生」という電気的な課題に対して「ファームウェアの修正」によって対策を打つことができました。
まとめ
ハードウェアデバイスは、機構・電気・ファームウェアなど複数の専門領域の組み合わせによって実現されます。基本的には、それぞれの要素について上流の設計時点でこまめなレビューや実機表かをするなどして高い品質を実現すべきだとは思います。
ただ、そうは言っても予期せぬ不具合が起こってしまうことはどうしてもあります。その対策を考える場合に、「機構の問題だから機構で解決する」「電気の問題だから電気で解決する」と決めつけず、複数の視点から解決策を検討してみるのも一つの手だと思います。
今回記載した内容がどこかで誰かの役に立てば幸いです。
9日目の株式会社ビットキー Advent Calendar 2023 は @utisam が担当します