新しい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/無線デバイスデータシートは、これらアートワークについて記載されたものも多いので参考になります。



PSoC 4100S CapSenseの使い方(その2)

Cypress PSoC 4 MCU内蔵タッチセンサ:第4世代CapSenseの使い方、2回目は、ハードウェアのタッチ・パッドやスライド・バー基板開発時のガイドラインを示します。と言っても、ソフトウェア開発に最低限必要なパッド仕組みを説明します。読者にソフトウェア開発者が多いからです。ハードウェアのPCBアートワーク担当者向けには、情報リンク先を示しています。

PSoC 4100S CapSenseの使い方(第2回内容)
PSoC 4100S CapSenseの使い方(第2回内容)

参照情報:AN85951 PSoC® 4 CapSense® Design Guide.pdf(日本語版)

タッチUIのメリット

メカニカルなボタンやスイッチでは、チャタリングや経年劣化、水濡れへの対応が必要です。タッチUIは、これらに対して有利です。また、パッド形状の自由度が高いので、スマホで一般的になった直感的なタッチ操作による優れたユーザインタフェース(UI)が実現できます。

これらタッチUIは、指をタッチ・パッドに近づけた時に生じる静電容量の変化をPSoC 4000S/4100S内蔵のCapSenseで検出し実現します。従って、確実に静電容量変化を生むパッドの基板設計が重要です。

タッチ・パッド、スライド・バー設計ガイドライン、AN85951の6.4章

静電容量変化の検出には、自己容量式(self-capacitance)、相互容量式(mutual-capacitance)という2方式があります。各方式の仕組みとパッド例が下図です。

自己容量式(左)と相互容量式(右)の仕組みとパッド例
自己容量式(左)と相互容量式(右)の仕組みとパッド例(出典:AN85951)

自己容量式は、1パッドに1個のGPIOを使います。相互容量式は、1パッドにTxとRxのGPIOペアが必要です。Txは複数ボタンで共有も可能で、自己容量式よりもGPIOを多く使うぶんタッチ検出性能が高くなります。電卓やキーパッドのような12個ボタンでも、下図のように7本のGPIOで実現できます。

マトリックス・ボタンのパッド例
マトリックス・ボタンのパッド例(出典:AN85951)

スライド・バーは、操作入力が増加、または減少する場合に用います。また、タッチ・パッドは、XとYの2次元で指位置を検出する方法で、X/Y各軸にスライド・バーを利用した例と考えれば良いでしょう。

※2019年6月現在、PSoC CreatorのCapSenseスライド・バーは、自己容量式のみをサポートしています。相互容量式は、今後のバージョンでサポート予定だそうです(AN85951、English、04/30/2019、P19)。

自己容量式スライド・バーのパッド例
自己容量式スライド・バーのパッド例(出典:AN85951)

このように、入力操作に応じたパッドを基板上にパターン設計(アートワーク)します。また、タッチ部分の基板保護のため、PCB表面に非導電性のオーバーレイ素材(タッチ表面材)を付けます。

CapSenceハードウエア構造
CapSenceハードウエア構造(出典:AN85951)

詳細なPCBレイアウト・ガイドラインは、前出AN85951の6.4章や、AN64846(日本語版)に記載されています。アートワーク担当者は参照してください(本稿は、ソフトウェア開発者が対象ですので、ガイドライン詳細説明は割愛いたします)。

このガイドラインに沿ってPCBアートワークを行えば、確実に静電容量変化を生むタッチUIパッドが開発できます。

評価ボードのパッド形状理由

本開発で用いる評価ボード、CY8CKIT-145-40XX PSoC 4000S CapSense Prototyping Kitのパッド形状が、なぜこんなカタチになっているか、前章の説明でソフトウェア開発者に理解できたと思います。

PSoC 4000S CapSense Prototyping Kit
タッチ・センサー基板付きで$15と安価なPSoC 4000S CapSense Prototyping Kit

つまり、上側の3パッドは、相互容量式で共有TX(1.3)と左からRX(1.6)、(1.5)、(1.4)の合計4GPIOを使います。下側は自己容量式のスライド・バーで、左から(0.6)、(0.3)、(0.2)、(0.1)、(0.0)の5GPIOを使います。TX(2.6)パターンはありますが、スライド・バーは、ソフトウェアは現在の自己容量式のみ対応です。但しハードウェアは、既に相互容量式に対応済みなのです。

パッド上下のLEDは、指タッチを検出した時に点灯させるインジケータです。また、オーバーレイ素材がパッド基板上に装着済みであることも判ります。

Capsenseパッド基板上のオーバーレイ素材
Capsenseパッド基板上のオーバーレイ素材

ガイドラインに沿って設計済み評価ボードの上側タッチ・パッド、下側スライド・バーの各パッド基板は、簡単に切離しができます。切離したパッド基板を、トラ技付録PSoC 4100S基板へ接続し、PSoC 4100S内蔵CapSenseでも開発したテンプレートを動作させる予定です。

CapSenseの使い方(その2:PCBハードウェア)まとめ

ソフトウェア開発者が最低限知るべきCapSenseのPCBハードウェアの使い方を示しました。

  1. タッチUIは、指をパッドに近づけた時に生じる静電容量変化をCapSenseで検出。このため、確実に静電容量変化を生むPCBハードウェア:パッド設計が重要。
  2. ソフトウェア開発者向けパッドPCB設計ガイドライン要旨を示し、評価ボードパッド形状の理由と、自己容量式(self-capacitance)、相互容量式(mutual-capacitance)のGPIO差を説明。
  3. PSoC 4000S評価ボードのパッド基板を切離し、トラ技付録PSoC 4100S基板と接続。 PSoC 4100SのCapSenseでも開発テンプレートを動作させ、PSoC 4000S/4100S両方対応CapSenseテンプレート化を図る。