新しいMCUハードウェアの学び方

新しくMCU開発を始める方も多い時節です。新人や新担当者が、効率的にMCUを学ぶ方法を示します。今週は、MCUハードウェア編です(MCUソフトウェア編が、前投稿)。

Summary:新しいMCUハードウェアの学び方

  1. ベンダMCU評価ボードのアートワーク、実装部品を学ぶ
  2. 知りたい用語は、ChatGPTから回答を得る
  3. MCUとセンサなどの周辺回路動作電圧差に注意
ベンダMCU評価ボードの教師活用
ベンダMCU評価ボードの教師活用

MCUハードウェア習得のコツは、ベンダ提供MCU評価ボードの教師活用です。

開発に適す評価ボードの回路図やアートワーク、BOM(Bill of Materials:実装部品表)など全ての情報を活用します。

最近のMCUは、数100MHzクラスの高速動作です。安定した高速動作を支えるのは、MCU周りの電源配線アートワーク、実装部品、評価ボード電源回路です。

自社MCUボード開発時は、MCU周りアートワーク、評価ボードと同じ部品、これらを自社MCUボードへ適用するのが基本です。評価ボードのアートワークや実装部品の意味を考えることで、実践的なMCUハードウェアが学べます。

注)新しい点は、ChatGPT利用の知識習得、評価ボード教師活用の2点です。
注)1.2.3.の詳細は、後述します。

MCU評価ボード教師活用

理屈は知っていても、その理屈を実際の製品基板へ「上手く反映させる」のが難しい。これは、ハードウェア開発にありがちです。

例えば、高速動作には、配線を太く短くしノイズ対策すべきだが、部品の大きさや故障交換も考慮すると、この配置にせざるを得ない等々です。

つまり、ハードウェア開発者が、様々な制約条件を優先度で総合設計した結果が、製品に現れます。

この総合設計結果は、ベンダMCU評価ボードでも同じです。ユーザが、MCUを評価するためのボードですから、ユーザがどのようにMCUを使っても正常動作することに重点を置いた設計結果です。

言い換えると、MCUを最高速で動かした次の瞬間に低電力動作、更に割込み発生で瞬時に最高速へ戻るなど、究極のMCU動作にも余裕で耐えられる配線アートワークや電源部品を選定し、評価ボードへ実装済みです。

これらノウハウを詰め込み製品化したベンダMCU評価ボードのハードウェアを、手本や教師(≒ベンチマーク)として利用しない手はありません。

但し、設計ノウハウが文章化されることは、殆どありません。従って、担当者は、評価ボードから設計ノウハウの中身、背景を考え、学ぶことが必要になります。

つまり、製品設計を見抜く洞察力が、ハードウェアスキル向上に必要です。

ハードウェア製品の中身、背景を見抜く洞察力
ハードウェア製品の中身、背景を見抜く洞察力

経験者アドバイスを、MCUソフトウェア編では期待しました。しかし、MCUハードウェアは、先ずは物言わぬ評価ボードを教師:ベンチマークとする学びをお勧めします。理由は、MCUハードウェアや実装部品の世代交代の速さです。

ベンダMCU評価ボードは、最新MCUは勿論、MCU性能を活かす実績ある最新部品を使っています。MCUハードウェアは、ベンチマークから直接学ぶ方が、効率的です。

経験者アドバイスを活用するのは、優先度による総合設計時です。ただ、総合設計ノウハウは、状況に応じて刻々と変わり、かつ、文章化し難い、つまり、直感のようなものであることも忘れないでください。たとえ経験者でも、第3者への直感伝授は、難しい事柄です。

ポイントは、以下です。

  • ベンダMCU評価ボードをベンチマークにすること
  • 効率的に知識を得ること
  • MCUハードウェア世代交代に注意すること

これらポイントの実現手段が、前章Summaryに示したChatGPT利用と評価ボード教師活用です。

以下、Summary 1.2.3の詳細を説明します。

1. MCU評価ボードアートワーク、実装部品の意味を学ぶ

新しいMCUハードウェアの学び方その1
新しいMCUハードウェアの学び方その1

低速デバイス同士は、接続さえ間違わなければ機能します。しかし、数100MHzクラスやRF(無線周波数)ハードウェアのデバイスは、違います。

最近のMCUは、この数100MHzクラスを優に超える動作周波数です。IoT MCUなら無線デバイスも実装します。これら高速デバイスの安定動作や、周囲にノイズをまき散らさない工夫として、デバイス間の配線アートワークと電源供給が重要です。

回路図は、デバイス間の接続(ネットリスト)を作成します。同じ接続でも、実際にデバイスを基板上へ配置、配線するPCBアートワークが、高速デバイス製品成功の決め手です。

ベンダMCU評価ボードは、回路図、アートワーク情報、BOMも提供します。但し、提供だけで肝心の解説などはありません。従って、これらから決め手を自分で抜き取り、学ぶことが必要です。

例えば、アートワークを眺めていると、なぜMCUのこの配線だけ太く短いのか、BOMからは、なぜこの部品だけ高品質なのか、など疑問が沸いてくるハズです。

疑問をそのままにせず、自分なりに意味を考え、答えを持った後に、ChatGPTを利用すれば、より深い洞察ができます。

2. ChatGPTで回答を得る

新しいMCUハードウェアの学び方その2
新しいMCUハードウェアの学び方その2

ハードウェア進化は、早く劇的です。その例が、PC CPUソケットです。CPUソケットは、同一でのハードウェア進化を誰もが望みますが、時にはソケットや周辺部品を全面変更してまで進化に対応します。

新製品MCUや、これを活かす部品の情報は、ネット収集が効率的です。AIは、これら最新情報を常に収集、分析しています。ChatGPTは、質問の最新回答を得るのに適しています。

ChatGPT回答には、間違いの可能性もあります(関連投稿)。それでも、AIによる最新で判り易い文章回答は、期待できます。

ChatGPT利用により、担当者は、いつでも気軽に質問ができます。この気軽さと効率的回答(最新知識)を得るメリットの方が、間違いの可能性よりもまさると思います。

3. MCUと周辺回路の電圧差

新しいMCUハードウェアの学び方その3
新しいMCUハードウェアの学び方その3

MCUは、今後さらに高速化します。製造プロセス微細化と、高性能、低消費電力、低価格MCUをユーザが求めるからです。

一方、MCUへ接続するセンサは、デジタルだけでなく、アナログも重要な技術です。AI搭載など、センサ高度化も話題の昨今ですが、製造プロセスや動作電圧もMCUほど進化し難い側面があります。

高速追求のMCUと、高機能追求のセンサや周辺回路の差は、動作電圧差として現れる可能性があります。

5Vトレラント端子のMCU、MCU-センサ間インタフェースデバイス、複数電圧の電源回路など、MCUとセンサなどの周辺回路接続には、注意が必要です。

Afterword:設計クオリティと洞察力向上

MCUハードウェア開発者は、COVID-19による半導体不足を経験しました。

ハードウェア開発者としては、機能別モジュール化、制御系MCU評価ボードのそのまま流用などの組合せを工夫する対策に加え、シミュレーションやテストプログラム(TP)利用なども対策になります。

どの対策も、ハードウェア設計クオリティ向上が目的です。

ハードウェア設計ノウハウは、直感の部分もあります。直感が正しいか否かを客観判断し、勘を磨くには、シミュレーションやTPが役に立ちます。実際の測定器を使わずに、シミュレーションやTPを使って仮想的に試すと、試行錯誤も容易です。

MCU統合開発環境(IDE)は、これらシミュレーションツールやTP(サンプルコード)の宝庫です。MCUハードウェア開発者もIDEを活用し、直感を磨いてください。

更に、ハードウェア洞察力を磨くには、アートワーク設計もお勧めします。

MCU周り、ADC周りだけでも良いので、実際にPCBアートワークを行うと、回路図では見えない高速デバイス製品化ポイントが判ります。最近のMCU/ADC/無線デバイスデータシートは、これらアートワークについて記載されたものも多いので参考になります。



新しいMCUソフトウェアの学び方

新しくMCU開発を始める方も多い時節です。新担当者が、効率的にMCUを学ぶ方法を示します。今週は、ソフトウェア編、次週がハードウェア編です。

Summary:新しいMCUソフトウェアの学び方

  1. 細かいことは後回し、MCU評価ボードで主要サンプルコードを動かし、全体像を知る
  2. 知りたいMCU用語は、ChatGPTから回答を得る
  3. サンプルコードをIDEで担当者なりに変更し、評価ボード動作変化を見る
chatGPT利用の新しいMCU学び方
chatGPT利用の新しいMCU学び方

MCUソフトウェア習得のコツは、ベンダ公式サンプルコードの活用です。

開発に適したMCU評価ボードを入手後、サンプルコード動作 ⇋ IDEコード修正。この繰返しとChatGPT利用で短期・効率的にMCUソフトウェアが学べます。

注)新しい点は、ChatGPT利用の知識習得、サンプルコードベンチマーク活用の2点です。
注)1.2.3.の詳細は、後述します。

MCUソフトウェア学び障壁を下げるポイント

筆者がMCU開発を始めた頃は、MCUと周辺ハードウェアを設計後、外注さんへ発注。ハードウェアが出来上がるまでに、分厚いMCUマニュアルと格闘しながらソフトウェアに着手。それもドライバから開発し、短期完成には超過残業必須、苦労しました(残業当然の時代、ムダ作業も多かった…)。

現在は、MCUベンダが様々な高品質開発ツールを提供します。また、説明不足のMCU用語は、マニュアル検索よりも、ChatGPTで短時間に回答が得られますので、学びに集中できます。

高品質開発ツールとは、評価ボードと公式サンプルコードのことです。これらをお手本(≒ベンチマーク)として活用しない手はありません。

つまり、サンプルコードで、担当者の開発内容を試しながらMCUソフトウェア学びを進めます。ベンチマークからの差分が明確なので、バグ混入少、最も新担当者を悩ますバグ対処も少なく学びが可能です。

必要なのは、経験者から担当者へのアドバイスです。

本来MCUは、広範囲なアプリケーション開発が可能です。サンプルコード数の多さが、これを示しています。そこで、経験者が、ターゲットとする評価ボードとサンプルコードを担当者へアドバイス、または、担当者が経験者や先輩にこれらを聞いて、効率的なベンチマーク活用MCU習得を行います。

アドバイスにより、担当者は、ムダを省き目的のMCU学びに直結したアプローチができます。

MCUソフトウェア学び障壁を下げる
MCUソフトウェア学び障壁を下げる

MCU習得の障壁が高いのは、なんでもできるMCU応用範囲の広さと、担当者の知識不足です。障壁の高さを下げるポイントが以下です。

  • 開発(習得)アプリケーションのターゲットを絞ること
  • 効率的に知識を得ること
  • 慣れないIDEバグ対処を少なくすること

これらポイント実現手段が、前章Summaryに示したChatGPT利用、ベンチマーク差分開発です。

以下、Summary 1.2.3の詳細を説明します。

1. MCUソフトウェア全体像を知る主要サンプルコード

新しいMCUソフトウェアの学び方その1
新しいMCUソフトウェアの学び方その1

MCUソフトウェア全体像は、初期設定と無限ループ処理です。処理内容は、周辺回路に応じて異なりますが、構造は、どれも同じでシンプルです。

担当者が、この全体像を未把握の場合、サンプルコードを単なるAPI羅列としてしか捉えられません。初期設定と無限ループに機能分離して捉えれば、サンプルコード理解度が向上します。

MCUには、多くのサンプルコードがありますが、全てが業務の開発アプリケーションに関連する訳ではありません。経験者が知恵を絞って、業務アプリに関連する主要サンプルコードを選定すれば、担当者もターゲットが絞れます。

担当者は、主要サンプルコードからMCUソフトウェア全体像がどれも同じことを学べます。

2. 回答を得るChatGPT

新しいMCUソフトウェアの学び方その2
新しいMCUソフトウェアの学び方その2

担当者にとって、詳細な説明が、判り易いとは限りません。

経験者と担当者が対面会話中ならば、相手の理解度は概ね把握できます。また、担当者が不明なことは、経験者へ質問するでしょう。

しかし、文章による説明は、一方通行です。

一方通行の説明量は、多ければ多い程、理解度が上がるとは限りません。かいつまんだ説明の方が、判り易い場合も多いと思います。

ChatGPT回答には、間違いの可能性もあります(関連投稿:前稿)。それでも、AIによる判り易い文章回答が期待できます。

ChatGPT利用で、担当者は、LINEアプリのようにいつでも気軽に質問できます。心理的負担が少なく、効率的に回答(知識)を得るメリットの方が、間違いの可能性よりも優れると思います。

3. IDEに慣れ、開発アプリケーションをイメージ

新しいMCUソフトウェアの学び方その3
新しいMCUソフトウェアの学び方その3

MCU開発では、統合開発環境(IDE)操作に慣れることが必須です。

評価ボードと適正なサンプルコードがあれば、即座にIDEが使えます。しかも、ビルドも成功します。担当者は、サンプルコードへ変更を加え、評価ボードの動作変化も観察できます。

仮にコード変更でビルド失敗しても、元へ戻せば成功します。変更とビルド成功を繰返すことで、IDE操作とバグ対処に慣れ、MCU学びと業務アプリ開発へ一歩近づけます。

その結果、業務関連アプリケーションのイメージも生まれます。現状と開発アプリの差分が明確になり、MCU開発者らしい残件の目標設定もできます。

Afterword:現状把握を困難にするムダ

サンプルコードだけで動作するMCUに対し、万人が100%解るサンプルコードの説明は、困難です。対象読者や記述量に合わせて調整せざるを得ないのが実情です。MCU説明が、読者に解り難い原因です。

新しいChatGPT利用で、書き手のMCU説明不足は、かなり改善できます。

経験が少ない開発者には、ムダは、現状把握や目標設定を困難にします。ムダを少なくするため、経験者や先輩は、担当者の主体性も尊重したアドバイスを心がけてください。

業務アプリケーション完成には、複数サンプルコードを結合し動作させることも必要です。その際には、弊社の各ベンダ対応MCUテンプレートがお役にたちます。ご活用ください。