こんにちは。
第一技術部システム設計課の藤井です。当社ではこれまで数多くのEOL(End of Life)対応を手掛けており、過去のブログでも様々な事例をご紹介してきました。今回は、主に組込みソフトウェア(S/W)側からの視点で、MCU置き換えを含むEOL対応についてお話ししたいと思います。組込みソフトウェアは、ハードウェア、ソフトウェアという観点から、ソフトウェアより硬いという意味で、ファームウェアと呼ばれることもあります。
部品のEOL対応は単純な置き換えでは済まない
電子部品のEOL対応というと、つい「代替品を探して置き換えればいい」と思われがちです。しかし、単機能の部品であっても、元の部品と同等の機能・性能を有しているか、コストや入手性はどうかなど、新規採用時と同等の検討を要するケースがほとんどです。
ましてや、ASICやASSPなど複雑な機能を担うLSIの場合、同等のものが存在しないことも多く、FPGAで再構築するなど別のアプローチが必要になることもあります。ここで、主な部品がEOLになった時に、機能を維持したまま別の部品+組込みソフトウェアで置き換えるイメージを図1に示しておきます。本稿の主眼である組込みソフトウェアについては、以降でお話しします。
図1. 電子部品の置き換え例
マイコン(MCU)のEOLは組込みソフトウェアの変更でさらに厄介
先に複雑な機能を持つ例としてASICやASSPを挙げましたが、その最たる例がMCU(マイコン)です。
MCUは内蔵する周辺機能が豊富なだけでなく、それらを組込みソフトウェアで制御して多岐にわたる機能を実現しています。このため、MCUがEOLになると組込みソフトウェアの移行も必要となり、他の部品よりも作業規模が大きくなります。近年は半導体業界の再編などにより、MCUのラインナップが整理される動きもあり、MCUのEOLはむしろ増加傾向です。EOLに伴う組込みソフトウェア移行を必要とする機会も増えることでしょう。
(それにしても、よく耳にしていたシリーズが姿を消すのは寂しいものです。)
EOLになるMCU置き換え時に押さえるべきポイント
MCUの置き換えでは、他の部品のEOL対応と同様に機能や性能を確保することに加え、以下の点が特に重要です。
- 現行MCUで使用している周辺機能を全て備えている
- RAMやFLASHメモリの容量が十分である
- 組込みソフトウェアの移行が容易である
必要な周辺機能を持つことは言うまでもありません。メモリも、足りなければ組込みソフトウェアを実行できませんので、機能を満たせません。
なお、メモリ容量はMCUの値段に直結します。当然、必要最小限がベストです。
組込みソフトウェアの移行がしやすい条件をチェック
「組込みソフトウェア移行が容易」とは、具体的に以下のような条件がなるべく揃っていることを指します。
- CPUコアのアーキテクチャが同一、または近い
- 周辺機能の使用方法が同じ、または似ている
- 同じOS上で動作可能
- 開発環境を流用できる
- 既に開発実績や使用経験がある
実際にはこれら全てを満たすケースは多くありませんが、同一メーカーの後継品を選ぶことで開発環境をそのまま流用できる場合があります。
ドライバの移植がカギ
一般的に組込みソフトウェア構成は図1のように分けられます。
図1組込みソフトウェアの構成
MCUを変更すると特に影響を受けるのが、ハードウェア依存度の高いデバイスドライバ層(以下ドライバ)です。したがって、MCU変更に伴う組込みソフトウェア移行の大半の作業が、ドライバに集中します。
多くの場合、MCUの組込みソフトウェアはC言語などで書かれ、CPUアーキテクチャ依存部分の大半は隠蔽されています。このため、ドライバについても周辺機能の違いにさえ対応すれば、ほとんどの移行が可能です。変更前後のMCUの機能を把握している必要はありますが。
なお、ドライバ自身以外では、割込み関連処理や起動時の初期化処理が移行で苦労するポイントになることが多いです。
当社のお薦めMCUと、移行を容易にする工夫
当社にEOL対応をご依頼いただく際、MCUの指定がない場合はルネサスエレクトロニクス社のRL78シリーズを選択するケースが多いです。これは、同社がH8、78K、M16C、R8Cなどからの移行先としてRL78を推奨しており、移行性に優れるためです。
また当社では、RL78用の「ラッパー」組込みソフトウェアを独自に用意し、デバイスドライバ置き換えの際に高品質かつ低コストで対応することを狙っています。なおラッパーとは、デバイスドライブ層の一部で処理間のインターフェース変換を行う程度の軽い処理を指し、ある処理を包む(Wrapする)ところから来ています。当社ではもう少し広く捉えて、ドライバの補助的な処理まで含めています。
組込みソフトウェア+ハードで多様なEOL対応を提案
組み込みソフトウェアで実装していた機能をFPGAのロジックで置き換える、逆にMCU+組込みソフトウェアで従来ハードウェア処理を代替する、といった方法も状況によっては選択肢になります。
例えばこちらの記事で紹介しているように、
[【事例】部品ディスコンに伴う対応(WTI)]
MCUを別に設けて特定機能専用とすることで、検証コストを抑えつつ柔軟に対応した例もあります。MCU+組込みソフトウェアである機能を代替する場合、元のMCUに組み込める可能性もあります。MCUを統合するか分散するかは、MCU単体の価格や基板面積、組込みソフトウェア設計や検証にかかるコストなどを総合的に見て判断します。組込みソフトウェアは組合せが増えるほど検証工数が増大するため、分割した方がトータルコストを抑えられることもあります。先述の事例は、分割の方が好ましかったことになります。
まとめ:EOL対応は戦略的に
このように、EOL対応と一口に言っても、その手段は一つではありません。代替部品の入手状況やコスト、将来の拡張性まで見据え、最適な方法を選択することが重要です。
当社では、お客様のご要望に応じて、最小限の手間・コストでEOL対応を実現できるよう、様々な選択肢をご提案いたします。
EOL対応でお困りの際は、ぜひお気軽にご相談ください。最後までお読みいただき、ありがとうございました。
<関連リンク>
- ソフトウェア開発受託サービス
- EOL対応(生産中止・ディスコン)サービス
- ~「ハード」な課題を「ソフト」な発想で解決~ EOL対応
- 電気設計受託サービス
- 基板レイアウト設計受託サービス
- 電子回路設計ヒントPLUS
- 人材採用(インターンシップ・新卒・中途)
【関連ブログ】