私は世の中に2つのタイプの人間がいると考えています。1つは、古びていない靴がぎっしりと詰め込まれた下駄箱から毎日履く靴を選ぶ人、そしてもう1つは、悲鳴を上げている履き古されたわずか数足の靴を、つま先に開いた穴がどうしようもなくなるまで履き続ける人です。私は後者のタイプの人間であり、残念なことに一番新しいスニーカーでさえそろそろ買い替えなくてはなりません。とはいえ、古い靴を新調する時期については、いつも鉄則があります。それは単純に、まだ履き慣れていない窮屈な新しい靴よりも、今履いている靴のほうが履きにくくなったときです。
残念ながら、電子機器の交換時期を追跡して管理することは、靴の交換時期がわかることほど直感的なものではありません。製造終了となったコンポーネントの陳腐化管理は、今もなお電子機器の設計の一般的な課題となっています。コンポーネントが寿命に到達する前に陳腐化すると、移行というはっきりとした問題が発生します。たとえば、製造終了サイクルが5年未満と短いマイクロコントローラーは、新しいバージョンへ頻繁に交換されます。寿命が限られているため、産業データロガーや駐車場の料金精算機のような長期間必要な製品には、それらのマイクロコントローラーより長もちするものが、そして定期的な交換が必要になるという問題を絶えず抱えています。
これを踏まえていないと、新しいマイクロコントローラーへの移行はハードウェアとファームウェアの開発者間での密接な調整(そして、潜在的な誤解)が伴う厄介なプロセスになる恐れがあります。そこで、マイクロコントローラーの移行プロセスをよりスムーズに進めるためのモジュール設計に関する3つの重要なヒントをご紹介します。
MCUの移行でハードウェアの再設計が必要な場合は、回路図をモジュール化することで時間を大幅に節約できます。すべての回路図を1つの設計ファイルで維持できる利便性には、それ以上の価値があります。陳腐化したマイクロコントローラーを新しいものに交換する際は、それぞれのピンに互換性がなければ問題になります。互換性がない場合は、他のコンポーネントを手動で移動させてひとつひとつの接続をつなぎ直さない限り、マイクロコントローラーを交換することはできません。
モジュール回路図設計は、マイクロコントローラーを1つの回路図シートで構成し、他のモジュールに接続するネットやポートを使用できる柔軟性があるため、はるかに優れた選択肢と言えます。この方法で必要なのは、マイクロコントローラーの回路図モジュールの変更のみのため、モジュール化されていない回路図よりもはるかに合理的かつ効率的です。
また、新しいマイクロコントローラーにピンを正しくマッピングするために、スプレッドシート内に表を作成する場合にも役立ちます。これによって、ミスの発生を低減させながら、新しいPCBを設計できます。ただし、コンポーネントの製造終了が製品のいずれかに影響を及ぼしている場合は、設計を追跡して同期できるAltium Vaultのアイテム ライフサイクル管理機能の検討をおすすめします。
回路図をモジュールごとに分離して、新しいMCUの移行で変更を最小限にする
良好なコードを作成することは、単にプログラミングの手順をページからページへと進めてハードウェアを動作させることではありません。優れたファームウェアのプログラミングでは、回路図を階層化してコーディングモジュールに関する計画を立て、新しいマイクロコントローラーに移行する際にソースコードの変更が最小限にされます。コードは移植性が高く、構造化されているほどよいでしょう。
システムのソースコードは、Input、UART(Universal Asynchronous Receiver-Transmitter)、Timerなどのハードウェアレベルに分割できます。こうしたレベルのモジュールは、マイクロコントローラーのレジスターを構成して相互作用します。ここでは、システムのアルゴリズムだけに使用されるソースコードが、分離された箇所に配置されます。たとえば、Database、Modbus、Data Loggingのモジュールはハードウェア依存であり、個別に配置することができます。
肝心なのは、新しいマイクロコントローラーに移行する際に修正する必要があるのが、マイクロコントローラーの内部に関連するソースコードのみだという点です。この方法では、ファームウェアを修正して新しいマイクロコントローラーに適合させる時間が最短化されます。正しい構造があれば、移植を開始するのと同時に、ハードウェアチームが設計を変更できます。
新しいマイクロコントローラーに移行する際に時間と労力を節約できる最も効率的な方法は、PCBを効率的にレイアウトすることでしょう。この移行で最も厄介なプロセスは、電気回路内にあるコンポーネントにすべての信号を再マッピングすることです。マイクロコントローラーに数百ものピンがあると、どんな小さなミスも移行プロセスを複雑にしてしまいます。そのため、obsoleteのマイクロコントローラーでピンの交換が必要かどうかを、製造業者に確認することをおすすめします。
私は、NXP ARM7ベースのLPC2368マイクロコントローラーを使用する設計で、EOL関連の問題を経験したことがあります。幸いなことに、新しいマイクロコントローラーのピンが既存の設計のピンと互換性があったため、PCB自体を修正するというとんでもないトラブルは避けることができました。とはいえ、ピンに互換性のあるバージョンを使用できないこともあり、その場合はハードウェアの設計を修正する必要があります。
ピンに互換性のあるマイクロコントローラーではハードウェアの修正が不要
合理化されたワークフロー、設計履歴へのアクセス、カスタマイズ可能なコンポーネントが用意されていない場合、効率的なPCB設計を実現するのは困難です。理想的には、すべてのコンポーネントに対して個別にモジュールの変更を管理し、全体を同期できるとよいでしょう。最適化されたモジュール方式が提供され、移行ごとの反復的な作業が削減されるobsolescence管理ソフトウェアを利用すると、予期せぬ事態や余計な作業を排除できます。PCB設計ソフトウェアのCircuitStudioでは、包括的な最新のソリューションが提供されています。
製造終了になるコンポーネントのobsolescenceに備えたいとお考えなら、CircuitStudioがうってつけのツールでしょう。このソフトウェアを活用すれば、マイクロコントローラーの移行といった一般的な問題に備えることができます。さらなるヒントについては、アルティウムの専門家にお問い合わせください。