評価ボード活用MCU製品開発

MCUの正常動作には、安定したクロック供給が最重要です。これは、ソフト/ハード、どちらの開発者も知っておくべき基本です。デジタルデバイスの動作保証は、安定クロックがあってこそだからです。

ルネサスRX、RAファミリで説明しますが、全ベンダの評価ボードでも同様です。ぜひ本稿を参考にしてください。

メイン/サブクロック回路基板設計要点

2024年2月発行のRX、RAファミリ向けアプリケーションノートを使って、製品開発にベンダ評価ボード活用メリット/デメリットを説明します。

メインクロック回路、サブクロック回路のデザインガイド Rev.1.00 (PDF) (日本語)
Design Guide for Main Clock Circuit and Sub-Clock Circuit Rev.1.00 (PDF) (英語)

※アクセス時、ログインが必要な場合があります。

メインクロックとサブクロックの基板例(出典:図26)
メインクロックとサブクロックの基板例(出典:図26)

RX、RAファミリのMCUを対象に、メイン/サブクロック発振回路基板パターンやルネサス推薦発振子メーカなど、特にMCUクロック関連回路の基板設計要点をまとめたのが、上記アプリケーションノートです。

MCUの動作を決めるのがメインクロック、サブクロックはRTC(時計機能)に使います。全てのデジタルデバイスは、正確なパルス幅の安定したクロックが供給されて初めて正常に動作します。MCUは、なおさらです。

クロックが不安定な場合は、原因不明のMCUトラブルが発生します。外来ノイズにも脆弱です。このような異常状態では、デバッグなどできません。

例えが悪いですが、人間で言えば「心不全」のようなものです。メインクロックの働きを具体的に知りたい方は、コチラを参照(正常クロック供給下の解説)。

従って、クロック回路基板設計要点を守った上でのMCU製品開発が最重要です。

基板設計理想解と現実解

前章の基板設計ガイドは、クロック関連部品だけの理想的な基板、つまり、「理想解」です。

しかし、実際の基板設計は、大きさやコスト、クロック以外の他部品の配置など様々な事柄を考慮する必要があります。そして、それらの総合判断結果が「現実解」であり、実際の製品基板です。

現実解は、ベンダMCU評価ボードでも同じです。

RAファミリRA6E1評価ボードのMCU回り基板を示します。理想解と違っても部品配置、クロック配線の太さ・短さ、そのシールドなど参考にすべき基板回路を持つ現実解です。

RAファミリRA6E1のMCU周り基板現実解
RAファミリRA6E1のMCU周り基板現実解

各ベンダMCU評価ボード目的

前章のMCU評価ボード現実解は、ルネサスRX、RAファミリに限った話ではありません。

つまり、クロック要点を満たし外来ノイズにも強く、かつ、Arduinoシールドコネクタなどで拡張機能も実装済みのデバイスが、各ベンダのMCU評価ボードです。これらは、MCUベンダ自身の開発ボードですので、極めて高い製品クオリティを持っています。

ベンダMCU評価ボードとは、MCUを評価するためのボードです。しかし、同時に、MCUが正常に動作するベンダ推薦発信器や基板パターンの製品ハードウェア手本も示していると言えます。

プロトタイプ時、各ベンダ評価ボードをそのまま制御系に流用するのは、原因不明MCUトラブル(心不全)を避ける手段として有効であることが判ると思います。

評価ボード活用得失

プロトタイプにMCU評価ボードを流用するメリット/デメリットをまとめます。構成は、下記とします。

プロトタイプ構成=評価ボード+ユーザ機能ボード+ユーザソフトウェア
ボード間接続=Arduinoコネクタ

メリット

  • 高信頼制御ハードウェアが、評価ボードにより簡単に得られる
  • 制御能力過不足時、Arduinoコネクタを持つ別評価ボード交換可能
  • ユーザ機能デバッグに集中できる

デメリット

  • 製品の大きさ、コストを上げる要因になる

簡単に言うと、高信頼で載せ替え可能な制御系と引き換えに、大きさやコスト面の犠牲が生じる構成です。
しかし、筆者は、早期プロトタイプ開発に最適な方法だと思います。

製品改善アプローチ

最終製品時の大きさ、コストを改善するには、評価ボードとユーザ機能ボードを一体基板化するのがBetterです。この時も、プロトタイプに使った評価ボードMCU周りの発振子配置や配線は、手本としてそのまま製品基板へ流用可能です。

また、一体化最終製品のトラブル発生時、ユーザ機能ハードウェア起因か、または、ユーザソフトウェア起因かの切り分けも、評価ボード流用プロトタイプは容易にします。なぜなら、評価ボードは、信頼性が高いベンダ開発品だからです。

つまり、最終製品とプロトタイプの差分が原因と考えられ、一体化基板ハード、または、ユーザソフトの2つに1つとなります。同一ユーザソフトでのトラブルなら、ハード起因が疑われます。

評価ボード活用プロトタイプは、早期製品化だけでなく、様々な用途やメリットを生みます。

Summary:評価ボード活用MCU製品開発

ベンダ評価ボード活用MCU製品開発
ベンダ評価ボード活用MCU製品開発

ルネサスRX/RAファミリのメイン/サブクロック回路デザインガイドから、MCU製品開発にベンダ評価ボードをそのまま流用する早期プロトタイプ開発方法を示し、得失を明らかにしました。

評価ボード活用プロトタイプは、大きさ、コストを改善する基板パターンの手本となるだけでなく、最終MCU製品トラブル原因が、ハードウェア起因かソフトウェア起因かを切り分ける手段にも使えるなど、メリットが大きいことを示しました。

Afterword:プロトタイプソフトウェア開発に弊社テンプレート

評価ボードがハードウェア手本なら、ベンダ開発サンプルコードは、ソフトウェアの手本です。

弊社テンプレートは、各ベンダの代表的MCU評価ボードに対応済みです。テンプレートは、ベンダサンプルコードを流用・活用し、プロトタイプ向けソフトウェアの早期開発が可能です。

弊社テンプレートと評価ボードを使って早期プロトタイプ開発を行い、MCU製品開発に役立ててください。


新しい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プロトタイプ開発のEMS対策とWDT

ノイズや静電気によるMCU誤動作に関する興味深い記事がEDN Japanに連載されました。

どのノイズ対策が最も効果的か? EMS対策を比較【準備編】、2019年10月30日
最も効果的なノイズ対策判明!  EMS対策を比較【実験編】、2019年11月29日

EMS:(ElectroMagnetic Susceptibility:電磁耐性)とは、ノイズが多い環境でも製品が正常に動作する能力です。

MCUプロトタイプ開発時にも利用すべきEMS対策が掲載されていますので、本稿でまとめます。また、ノイズや静電気によるMCU誤動作を防ぐ手段としてWDT:Watch Dog Timerも説明します。

実験方法と評価結果

記事は、インパルスノイズシュミレータで生成したノイズを、EMS対策有り/無しのMCU実験ボードに加え、LED点滅動作の異常を目視確認し、その時点のノイズレベルでEMS対策効果を評価します。

評価結果が、11月29日記事の図5に示されています。

結果から、費用対効果が最も高いEMS対策は、MCU実験ボードの入力線をなるべく短く撚線にすることです。EMS対策用のコンデンサやチョークコイルは、仕様やパーツ選定で効果が左右されると注意しています。

MCUプロトタイプ開発時のお勧めEMS対策

MCUプロトタイプ開発は、ベンダ提供のMCU評価ボードに、各種センサ・SWなどの入力、LCD・LEDなどの出力を追加し、制御ソフトウェアを開発します。入出力の追加は、Arduinoなどのコネクタ経由と配線の場合があります。言わばバラック建て評価システムなので、ノイズや静電気に対して敏感です。

このMCUプロトタイプ開発時のお勧めEMS対策が下記です。

1.配線で接続する場合は、特に入力信号/GNDのペア線を、手でねじり撚線化(Twisted pair)だけで高いEMS効果があります。

身近な例はLANケーブルで、色付き信号線と白色GNDの4組Twisted pairが束ねられています。このTwisted pairのおかげで、様々な外来ノイズを防ぎLANの信号伝達ができる訳です。

信号とGNDの4組Twisted pairを束ねノイズ対策をするLANケーブル
信号とGNDの4組Twisted pairを束ねノイズ対策をするLANケーブル

2.センサからのアナログ入力信号には、ソフトウェアによる平均化でノイズ対策ができます。

アナログ信号には、ノイズが含まれています。MCU内蔵ADCでアナログ信号をデジタル化、複数回のADC平均値を計算すればノイズ成分はキャンセルできます。平均回数やADC周期を検討する時、入力アナログ信号が撚線と平行線では、2倍以上(図5の2.54倍より)のノイズ差が生じるので重要なファクターです。従って、撚線で検討しましょう。
平均回数やADC周期は、パラメタ設定できるソフトウェア作りがお勧めです。

3.SWからの入力には、チャタリング対策が必須です。数ミリ秒周期でSW入力をスキャンし、複数回の入力一致でSW値とするなどをお勧めします。
※弊社販売中のMCUテンプレートには、上記ADCとSWのEMS対策を組込み済みです。

4.EMS対策のコンデンサやチョークコイルなどの受動部品パーツ選定には、ベンダ評価ボードの部品表(BOM:Bill Of Matrix)が役立ちます。BOMには、動作実績と信頼性がある部品メーカー名、型番、仕様が記載されています。

ベンダMCU評価ボードは、開発ノウハウ満載でMCUハードウェア開発の手本(=ソフトウェアで言えばサンプルコード)です。

特に、新発売MCUをプロトタイプ開発に使う場合や、MCU電源入力ピンとコンデンサの物理配置は、BOM利用に加え、部品配置やパターン設計も、MCU評価ボードを参考書として活用することをお勧めします。
※PCB設計に役立つ評価ボードデザイン資料は、ベンダサイトに公開されています。

MCU誤動作防止の最終手段WDT

EMS対策は、誤動作の予防対策です。EMS対策をしても残念ながら発生するノイズや静電気によるMCU誤動作は、システムレベルで防ぐ必要があります。その手段が、MCU内蔵WDTです。

WDTは、ソフトウェアで起動とリセットのみが可能な、いわば時限爆弾です。WDTを一旦起動すると、ソフトウェアで定期的にリセットしない限りハードウェアがシステムリセットを発生します。従って、ソフトウェアも再起動になります。

時限爆弾を爆発(=システムリセット)させないためには、ソフトウェアは、WDTをリセットし続ける必要があります。つまり、定期的なWDTリセットが、ソフトウェアの正常動作状態なのです。

ノイズや静電気でMCU動作停止、または処理位置が異常になった時は、この定期WDTリセットが無くなるため、時限爆弾が爆発、少なくとも異常状態継続からは復帰できます。

このようにWDTはMCU誤動作を防ぐ最後の安全対策です。重要機能ですので、プロトタイプ開発でもWDTを実装し、動作確認も行いましょう。

※デバッグ中でもWDTは動作します。デバッグ時にWDT起動を止めるのを忘れると、ブレークポイントで停止後、システムリセットが発生するのでデバッグになりません。注意しましょう!