半導体不足とMCU開発案

3月26日投稿で危惧した半導体供給不足が深刻化しており、MCU開発者へも影響が出始めています。コチラの記事が、具体的な数字で深刻さを表していますので抜粋し、MCU開発者個人としての対策私案を示します。

半導体不足の深刻さ

今回の半導体不足は、通常時に比べ2倍以上のリードタイム増加となって現れています。

通常時と現在(半導体不足時)のリードタイム比較
発注から納品までのリードタイム 通常 現在
MCU、ワイヤレスチップ、パワーIC、Audio Codec、

パワーモジュール、GPUチップ

8~12週 24~52
ロジックIC、アナログIC、ASIC、電源用MOSFET、受動部品 8~12週 20~24週
LCDパネル 6~8週 16~20週
CPU 8週 12~20週
メモリ、SSD 6~8週 14~15週
PCB(基板)製造 2~4週 8~12週

記事によると、特にMCUとワイヤレスチップのリードタイムが長くなっており、52週!ものもあるそうです。

表記した第1行目の部品で半導体不足が語られることが多いのですが、PCB(基板)製造へも影響しているのは、MCU/ワイヤレスチップ供給不足により、基板作り直しが生じるため、またロジックIC以下の部品も同様に製品再設計の影響と推測します。

MCU、ワイヤレスチップの供給不足がリードタイム激増の主因、それ以外の部品リードタイム増加は、主因の影響を受けた結果と言えるでしょう。

半導体供給の意味

日本では半導体は、別名「産業のコメ」と言われます。世界的には、「戦略物資」という位置付けです。半導体で米中が対立するのは、政治体制だけでなく、近い将来の経済世界地図を大きく変える可能性があるからです。

半導体製造は、国際分業化が進んできましたが、今回の半導体不足の対策として、国や企業レベルでは全て自国や自社で製造を賄う動きもでてきました。持続的経済成長には、食糧と同じように半導体の自給自足が必須だということです。

MCU開発対策案

MCU開発者個人レベルでの半導体不足対策は何か、というのが本稿の主題です。

MCU開発者は、半導体を使った顧客要求の製品化が目的です。半導体不足の対策は、「代替MCUの開発能力と製品化方法の見直し」だと思います。例えると、COVID-19収束のため、複数ワクチンの中から入手しやすいものを利用するのと同じと言えば解っていただけるかもしれません。目的と手段を分けるのです。

製品化方法の見直しとは、評価ボード活用のプロトタイプ開発により製品完成度を上げ、最終製品化直前まで制御系の載せ替えを可能とすることです。CADやIDE消費電力シミュレーションなどを活用し、プロトタイプの製品完成度を上げます。

製品完成度を上げる段階で、更なるMCU能力の必要性や低消費電力性などが判明することも多々あります。載せ替え可能な制御系でこれら要求に対応します。プロトタイプ開発着手時に、候補となる複数ベンダのMCU評価ボードを事前準備しておくのも得策です。

MCU評価ボード載せ替えプロトタイプ開発案
MCU評価ボード載せ替えプロトタイプ開発案

現在も様々なMCU新製品が発表されています。評価ボードは、これら新MCUの販売促進ツールですので、個人でも比較的安く、早く調達できます。また、ワイヤレスチップ搭載済みでArduinoなどの標準インターフェースを持つ評価ボードならば、この標準インターフェースで独自開発ハードウェアと分離した製品設計ができるので、制御系を丸ごと別ベンダの評価ボードへ載せ替えるのも容易です。

つまり、第2 MCU開発能力と評価ボードを標準制御系とし、自社追加ハードウェアと分離したプロトタイプ開発により、第1 MCU供給不足と顧客製品化の遅れを少なくすることができます。標準インターフェース分離により、PCBを含めた自社追加ハードウェア開発部分の作り直しは無くすことも可能です。少なくとも、1章で示した半導体不足主因(MCUやワイヤレスチップの不足)に対して対処できます。

複数ベンダのMCU開発を経験すると、ソフトウェアやハードウェアの作り方も変わります。

ソフトウェア担当者は、万一のMCU載せ替えに備え、共通部分と個別部分を意識してソフトウェア化するようになります。ハードウェア担当者は、自社追加ハードウェアの単体試験をソフトウェア担当者に頼らずテストプログラム(TP)で自ら行うようになり、次第にソフトウェア開発能力も身に付きます。

このプロトタイプ開発の最終製品化時は、制御系評価ボードの必須部品のみを小さくPCB化するなどが考えられます。制御系は、他の部分に比べ故障率が高く、制御系のみを載せ替え可能な製品構成にしておけば、故障停止時間の短縮も図れます。

MCU評価ボードの制御系のみを小さくPCB化するイメージ(出展:マルツ超小型なRaspberry Pi)
MCU評価ボードの制御系のみを小さくPCB化するイメージ(出展:マルツ超小型なRaspberry Pi)

最新MCU情報

上記プロトタイプ開発でも通常時は、第1 MCUで開発完了でしょう。実際に第2 MCU制御系へ載せ替えるのは、半導体供給リスクに対する最後の手段です。そこで、最新MCU情報をピックアップし、第2 MCUを選ぶ参考にします。

・2021年3月31日、ARMv9発表

Cortex-M33などのセキュリティ強化コアARMv8発表から約10年ぶりに機械学習やデジタル信号処理能力強化の最新コアARMv9をARMが発表。MCUベンダ評価ボードはこれから。

・2021年4月6日、STマイクロエレクトロニクスSTM32G0で動作するエッジAI

AIによる推論だけでなく学習も行えCortex-M0+コアでも動作する新アルゴリズムMST:Memory Saving Tree搭載のSTM32G0により既存機器のエッジAI実現可能性が拡大。販売中の弊社STM32G0xテンプレートは、コチラを参照。

・2021年4月15日、MCUXpresso54114の150MHz動作:

開発中のFreeRTOSアプリケーションテンプレートで使うMUCXpresso54114評価ボード搭載のCortex-M4コア最高動作周波数は、旧データシートでは100MHzでした。しかし、MCUXpresso SDKベアメタルサンプルプログラム診ると、追加ハードウェア無しで1.5倍の150MHz動作例が多いのに気が付きます。

LPCXpresso54114の150MHz動作
LPCXpresso54114の150MHz動作

動作クロックを上げるのは、MCU処理能力を上げる最も簡単な方法です。そこで、最新データシートRev2.6(2020年9月更新)を確認したところ、Maximum CPU frequencyが100MHzから150MHzへ変更されていました(Table 44. Revision History)。

データシートも最新情報をチェックする必要がありました。製造プロセスが新しいMCUXpresso54114やSTM32G4(170MHz)などの最新Cortex-M4コアMCUは、どれも150MHz程度の実力を持つのかもしれません。

STM32U5発表と最新IoT MCU動向

STマイクロエレクトロニクス2021年2月25日発表の先端性能と超低消費電力動作両立のSTM32U5を紹介し、STのIoT MCU開発動向をセキュリティ、MCUコア、製造プロセスの観点から分析しました。

先端性能と超低消費電力動作のSTM32U5

STM32U5ベンチマーク(出典:公式ブログ)
STM32U5ベンチマーク(出典:公式ブログ)

公式ブログから抜粋したSTM32U5のベンチマークです。従来の超低消費電力MCU:STM32L0~L4+シリーズと、Cortex-M33コア搭載STM32L5、今回発表のSTM32U5をメモリサイズとパフォーマンスで比較しています。

STM32U5は、従来Cortex-M0+/M3/M4比、Cortex-M33搭載により後述のセキュリティ先端性能と、従来Cortex-M33搭載STM32L5比、230DMIPS/160MHzと大幅向上した超低消費電力動作の両立が判ります。STM32U5の詳細はリンク先を参照ください。

本稿はこの最新STM32U5情報を基に、STのIoT MCU開発動向を、セキュリティ、MCUコア、製造プロセスの3つの観点から分析します。

セキュリティ

STM32マイコンセキュリティ機能一覧(出典:ウェビナー資料)
STM32マイコンセキュリティ機能一覧(出典:ウェビナー資料)

昨年10月27日ウェビナー資料:ARM TrustZone対応マイコンによるIoTセキュリティのP17に示されたSTM32マイコンセキュリティ機能一覧です。セキュリティ先端性能のTrustZoneは、Cortex-M33コアに実装されています。

関連投稿:Cortex-M33とCortex-M0+/M4の差分

今回の超低消費電力STM32U5発表前なのでSTM32L5のみ掲載されていますが、STM32U5もL5と同じセキュリティ機能です。STM32WLは、後述するワイヤレス(LoRaWAN対応)機能強化MCUです。

この表から、後述する最新メインストリーム(汎用)STM32G0/G4も、STM32U5/L5と同じセキュリティ機能を実装済みで、STM32U5との差分はTrustZone、PKA、RSSなど一部であることも判ります。

STM32U5のSTM32L5比大幅に動作周波数向上と低消費電力化が進んだ背景は、セキュリティ機能に対するより高い処理能力と40nm製造プロセスにあることが2月25日発表内容から判ります。

STM32ファミリMCUコア

STM32ファミリMCUコア(出典:STサイトに加筆)
STM32ファミリMCUコア(出典:STサイトに加筆)

STM32ファミリMCUコアは、ハイパフォーマンス/メインストリーム(汎用)/超低消費電力/ワイヤレスの4つにカテゴライズされます。前章のSTM32WLがワイヤレス、STM32U5/L5は超低消費電力です(STM32U5は加筆)。

STM32WLとSTM32WBの詳細は、コチラの関連投稿をご覧ください。

STM32U5と同様、従来の120nmから70nmへ製造プロセスを微細化して性能向上した最新メインストリームが、STM32G0/G4です。

新しいSTM32G0/G4は、従来汎用STM32F0/F1/F3とソフトウェア互換性があり、設計年が新しいにも係わらずデバイス価格は同程度です。従来メインストリームのより高い処理能力と低電力動作の顧客ニーズが反映された結果が、最新メインストリームSTM32G0/G4と言えるでしょう。

製造プロセス

製造プロセスの微細化は、そのままの設計でも動作周波数向上と低電力消費、デバイス価格低減に大きく寄与します。そこで、微細化時には、急変するIoT顧客ニーズを満たす機能や性能を従来デバイスへ盛込んで新デバイスを再設計します。STM32U5やSTM32G0/G4がその例です。

MCU開発者は、従来デバイスで開発するよりも製造プロセスを微細化した最新デバイスで対応する方が、より簡単に顧客ニーズを満たせる訳です。

関連投稿:開発者向けMCU生産技術の現状

まとめ

セキュリティ、MCUコア、製造プロセスのそれぞれを進化させた最新のIoT MCUデバイスが、次々に発表されます。開発者には、使い慣れた従来デバイスに拘らず、顧客ニーズを反映した最新デバイスでの開発をお勧めします。

また、短時間で最新デバイスを活用し製品化する方法として、最新メインストリーム(汎用)デバイスSTM32G0/G4を使ったプロトタイプ開発もお勧めします。

最新メインストリーム(汎用)プロトタイプ開発イメージ
最新メインストリーム(汎用)プロトタイプ開発イメージ

前章までで示したように最新メインストリームSTM32G0/G4は、他カテゴリデバイスの機能・性能を広くカバーしています。メインストリームプロトタイプ開発資産は、そのまま最新の他カテゴリデバイスへも流用できます。

従って、他カテゴリデバイスの特徴部分(セキュリティ、超低消費電力動作やワイヤレス)のみに注力した差分開発ができ、結果として短期製品化ができる訳です。

ちなみに、プロトタイプ開発に適したSTM32G0テンプレートは、コチラで販売中、FreeRTOS対応のSTM32G4アプリケーションテンプレートは、6E目標に開発中です。

あとがき:文字伝達

ソフトウェア開発者ならソースコード、ハードウェア開発者なら回路図が、最も直接的・正確に技術内容を使える手段です。文字は、記述者の理解を変換して伝える間接的手段です。両者に違い(文字化ノイズ)が生じるのは、やむを得ないと思います。

報ステのTSMCのニュースに頭の抱えてしまった”、“TSMCは日本で何をしようとしているのか“からも分かるように、マスメディアは文字や画像で情報を伝えます。受けての我々開発者は、これらノイズを含むと思われるマスメディア情報を、自分の頭で分析・処理し、理解する必要があります。

と言うわけで本稿も、筆者が文字化ノイズを付けて分析した例です……、という言い訳でした😅。

非接触型体温計と放射温度計

COVID-19の影響で、どこの入口でも見かける非接触型体温計は、遠赤外線センサとLCD温度表示で1000円台から購入できます。一方で、「体温計ではありません」と明記した放射温度計も見た目は同じですが、価格は2倍程度違います。

同じ温度センシング機器でも、価格が異なる理由を探ります。

温度センシング設計ガイド

エンジニアのための温度センシング設計ガイド
エンジニアのための温度センシング設計ガイド

アナログセンサの老舗、Texas Instrumentsのホームページから“エンジニア向け温度センシング設計ガイド”が無料でダウンロードできます。体温、システム温度、周囲温度、液体温度の4種類の温度センシング設計上の課題とその解決方法、センサ利用のアナログデジタル変換(ADC)基礎知識が記載されています。

主にハードウェア設計ガイドですが、MCUソフトウェア開発者も、各種センサ特徴、線形性、第7章の温度補償などが参考になると思います。

温度検出テクノロジーの比較(出典:エンジニアのための温度センシングガイド)
温度検出テクノロジーの比較(出典:エンジニアのための温度センシングガイド)

価格と利益

ビジネスは、利益の上に成立します。低価格でも大量に開発機器が売れれば利益も増えます。機器の価格は、様々なパラメタから成る関数ですが、ここではごく単純化し下式と仮定します。

価格=f(実装機能、想定利用者(≒販売数量))

同じ温度センシング機器でも価格が異なるのは、実装機能が異なるからです。

そこで、TI温度センシング設計ガイド第4章、体温監視から課題と解決方法をピックアップします。

実装機能と想定利用者

想定利用者を疾患患者やアスリートとすると、国際標準に準拠した医療体温計要件である校正後、精度±0.1℃以内、35.8℃~41.0℃の読取りと表示が必要です。但し、アプリケーションの温度読取り間隔は、電池節約のため10秒~60秒でも十分です。

これら機能を非接触型体温計へそのまま実装すると、開発に時間がかかるだけでなく、価格も上がるのは当然です。

CODIV-19の現状では、入口対象者の多くはコロナ患者ではない可能性が高いので、医療体温計レベルの要件は不要でしょう。また、計測機器に必須の測定値校正処理も、一般向けには無理な作業です。

このように、機器使用者/利用者を限定すれば、開発機器への実装機能も絞ることができます。

例えば、電源投入時にのみセンサ校正をソフトウェアで行い、温度読取り間隔は数秒以内に早くし、販売価格を2000円前後に目標設定すれば、一般向け非接触型体温計としてベストセラーになるかもしれません。

開発速度

目標設定が適切でも、開発が遅れれば先行他社に利益を取られます。早く開発できるスキルは、日頃の自己鍛錬が必要です。最新の開発手法やその試行も、通常の開発と並行して行うとスキルに磨きがかかります。

弊社マイコンテンプレートは、複数の公式サンプルソフトウェア流用・活用が容易で、アプリケーションの早期開発ができるなど、自己鍛錬にも適しています。

まとめ

Texas Instrumentsの温度センシング設計ガイドを基に、非接触型体温計と放射温度計の機器価格差は、ADC実装機能、想定使用者が異なるためと推測しました。利益を得るには、開発速度の向上努力も重要です。

ソフトウェアとハードウェアのインタフェースさえ解れば機器開発は可能です。しかし、ADCは、IoT MCUの最重要技術です。ソフト/ハードの垣根を越えた知識や理解が、結局は利益を生む機器開発に繋がることを言いたかった訳です。

新IoT MCU:SubRISC+と組込みJava開発

2021年2月19日、東工大は、ARM Cortex-M0比1.4倍、電力効率2.7倍、エネルギー効率3.8倍のIoT向き新MCU:SubRISC+を65nmプロセスで開発しました。本稿は、このIoT MCU:SubRISC+と、IoTエッジ端末ソフトウェア開発にJavaを使う手法を紹介します。

これらが何をIoTエッジ端末の開発課題にとらえ、それにどのように対処しているかを知るメリットを示します。

様々なIoT開発課題と対処方法

開発プロジェクトが始まると、数か月~数年はその対象デバイスや開発方法に、開発者は係りっきりになります。具体的なIoT開発課題や対象デバイスを深く知ることができますが、問題のとらえ方や視野が狭くなる弊害もあります。

開発と並行して競合する別のアプローチを知ると、この弊害を抑え、課題や問題を多角的、効果的に解決する手立てになります。

例えば、開発中のCOVID-19ワクチンが、変異済み、または変異が予想されるウイルスへも十分な効果が見込めれば、人類にとって役立つでしょう。このための第一歩が、変異ウイルスを知ることと同じです。

SubRISC+

IoTエッジ端末の課題を、「小型化と低消費電力性」と捉え、解を示したのが東工大のSubRISC+です。

従来のプロセサは、実務アプリケーションでは殆ど使われないムダな命令も準備されています。このムダを削減し開発されたプロセサをRISC(リスク、Reduced Instruction Set Computer)プロセサと呼びます。従来プロセサは、RISCに対してCISC(シスク、Complex Instruction Set Computer)と呼ばれます。

関連投稿:ARM MCU変化の背景

SubRISC+は、このRISC手法をIoTエッジ端末の心電図、加速度センシングなどのヘルスケアや、ウェアラブル端末アプリケーションで必須となる命令4個に適用し、CISCのARM Cortex-M0(命令60個)比、小型化省電力化を両立、条件次第ではLR44アルカリボタン電池で約100日連続稼働が可能となります。

小型マイクロプロセッサの比較(出典:東工大ニュース 2021.02.19へ加筆)
小型マイクロプロセッサの比較(出典:東工大ニュース 2021.02.19へ加筆)

なお、SubRISC+は、想定アプリケーション以外へも汎用性(チューリング完全)を持つのでIoTセキュリティ向けなどへの応用も今後目指しています。

Java利用の組込みソフトウェア開発

「C/C++を使った組込みIoTソフトウェア開発の困難さ」の課題に対して、Java開発キット(JDK)で解を示したのが、Azul System社の“IoT組み込みソフトウェア開発に、オープンソースJavaの利用が最適である理由”です。

出展:Ian Skerrett, IoT Developerへ加筆
出展:Ian Skerrett, IoT Developerへ加筆

IoTエッジ端末にもC/C++の代わりにJava利用の仮想マシン(JVM)開発を提案し、ハードウエア非依存のIoTアプリケーション開発ができること、C/C++特有のポインタ利用なし、メモリ管理不要、マルチスレッド環境の無料またはオープンソースIoT APIがあること、などの特徴があります。

結果として、IoT市場への製品投入時間短縮、組込み以外のルータ/クラウド開発者採用が可能、開発コスト削減が可能になるそうです。

他社を知るメリット

例えば、Cortex-M0よりも電力効率が良いCortex-M0+コアとLR44電池を使ってIoTエッジ端末を開発中なら、「100日連続稼働がセールスポイント」になることがSubRISC+から判ります。1個のLR44で足りないなら、複数並列で使うなどの対策も開発中にとれます。

また、IDEシミュレーションを活用し「センサセンシングの電力消費を抑える工夫」を重点的に行うと差別化に効果的など、製品改良プライオリティを付ける手掛りにもなります。

筆者はJava利用開発経験がありませんが、IoTエッジ端末開発に必要となる無線機能やセキュリティなども含めたAPIが提供され、しかもハードウエア非依存だとすると、「本来のIoTエッジ端末アプリケーションそのものに注力した開発」ができます。また、顧客対応に横展開するのも容易でしょう。

IoT市場の変化は激しく、無線やセキュリティ仕様などは、国や地域により大きく変わる可能性もあります。少しでも早く低コストでIoTエッジ端末を市場投入できれば、デファクトスタンダード製品になる可能性もあります。

東工大開発IoT MCU:SubRISC+とAzul 社IoT端末ソフトウェア開発Java利用を例に、IoTエッジ端末開発中に陥りがちな視野狭窄を防ぎ、課題を効果的、プライオリティ付けて解決するために、開発と並行して他社アプローチを知るメリットを示しました。

IoT MCUとAI

ARM Cortex-Mコア利用のIoT MCU現状と、次のムーア則を牽引すると言われるAI(人工知能)の関係についてまとめました。

Cortex-Mコア、IoT/組込みデバイス主要ポジション堅持

ARMベースチップ累計出荷個数は1,800億個以上(出展:ニュースルーム、February 16, 2021)
ARMベースチップ累計出荷個数は1,800億個以上(出展:ニュースルーム、February 16, 2021)

2021年2月16日、英)ARM社は、ARMチップの2020年第4半期出荷が過去最高の67憶個、累計出荷個数1800憶個以上、Cortex-Mチップも4半期最高44憶個出荷で「IoT/組込みデバイス主要ポジション堅持」と発表しました(ニュースルーム)。

Cortex-Mチップの出荷内訳は不明ですが、Cortex-M4やCortex-M0+などコア別の特徴が解るARM社の解説は、コチラにあります(フィルタのProcessorファミリ>Cortex-Mを選択すると、提供中の全10種Cortex-Mコア解説が読めます)。

筆者は、セキュリティ強化コアCortex-M23/33/35P/55を除く汎用IoT/組込みデバイスでは、Cortex-M4/M0+コア使用数が急増していると思います。

関連投稿:Cortex-M33とCortex-M0+/M4の差分

半導体ムーア則、牽引はチップレット

ムーアの法則 次なるけん引役は「チップレット」、2021年2月16日、EE Times Japan

次のムーア則を牽引するAI処理能力(出典:AI Hardware Harder Than It Looks)
次のムーア則を牽引するAI処理能力(出典:AI Hardware Harder Than It Looks)

半導体製造プロセスを牽引してきたのは、PCやスマホでした。しかしこれからは、人工知能:AIで急増するAIデータ処理能力を実現するため、レゴブロックのようにコアの各モジュールを歩留まり良く製造・配線するチップレット手法が必要で、このチップレット、つまりAIが次の半導体ムーア則を牽引するというのが記事要旨です。

このチップレット手法で製造したIoT MCUやMPUへ、主にソフトウェアによるAI化は、シンギュラリティ後のAI処理量変化にも柔軟に対応できると思います。

関連投稿:今後30年の半導体市場予測

ルネサス:ハードウェアアクセラレータコアCNN(Convolutional Neural Network)

ルネサスのCNNアクセラレータ(出典:ニュースルーム)
ルネサスのCNNアクセラレータ(出典:ニュースルーム)

2021年2月17日、ルネサスは、世界最高レベルの高性能/電力効率を実現するディープラーニング性能を持つCNNアクセラレータコアを発表しました(ニュースルーム)。これは、主にハードウェアによるAI化の例です。

ADAS実現に向け、性能と消費電力を最適化した車載用コアです。このコアに前章のチップレット手法を使っているかは不明です。3個のCNNと2MB専用メモリの実装により、60.4TOPS(Tera Operations Per Second)処理能力と13.8TOPS/W電力効率を達成しています。

車載で実績を積めば、IoT MCUへも同様のハードウェアアクセラレータが搭載される可能性があります。

まとめ

凸版印刷社は、画像認識AIを活用し、古文書の“くずし字”を解読支援するツールを開発しました(2021年2月16日、IT media)。このように、AIは、半導体技術のムーア則だけでなく、IoT MCUアプリケーションや人間生活に浸透し、牽引しつつあります。

エッジAIをクラウド接続IoT MCUへ実装する理由は、クラウドAI処理とクラウド送信データ量の両方を軽減することが狙いです。AI処理をエッジ側とクラウド側で分担しないと、チップレット手法を用いて制御チップを製造できたとしても、コスト高騰無しに急増するAIビックデータ処理を実現することが不可能だからです。

IoT MCUのエッジAIが、ソフトウェアまたはハードウェアのどちらで処理されるかは判りませんが、必須であることは確実だと思います。実例を挙げると、STマイクロエレクトロニクスは、既にSTM32Cube.AIにより汎用STM32MCUへAI/機械学習ソフトウェアの実装が可能になっています。

今後30年の半導体市場予測とルネサス動向

Runesas

半導体不足が騒がれています。これがCOVID-19の一時的なものか否かが判る下記記事と、最新のルネサスエレクトロニクス動向を関係付け、今後のMCU開発について考えました。

2050年までの半導体市場予測~人類の文明が進歩する限り成長は続く、2021年1月14日、EE Times Japan

今後30年の半導体市場予測

本ブログ読者は、殆どが現役の「日本人」MCU開発者です。定年退職が何歳になるかは分かりませんが、上記記事の2050年まで、つまり、今後30年の半導体市場予測は、在職中のMCU開発を考える上で丁度良い時間の長さです。

予測ですので、大中小のシナリオがあります。我々開発者にも解り易い結論だけをピックアップすると、概ね下記です。

  • 今後、先進国と新興国中間層人口は、COVID-19で人類滅亡しない限りそれぞれ5億人/10年で増加し、2050年に先進国が30億人、新興国中間層が40億人、貧困層が20~30億人の人口ピラミッド構成へ変遷
  • 1人年間の半導体消費量は、先進国が150ドル、新興国中間層が75ドル
  • 2050年の半導体市場は、2010年比2.5倍の7500憶ドルへ成長

ルネサス動向

英)Dialog買収車載半導体改良「AI性能を4倍に」など、SoCアナログ機能増強、ADAS実現やIoTに向けた動きが、2021年になってからのルネサス最新動向です。

これら動向の結果が出るまでには、年単位の時間が必要です。しかし、前章の2050年半導体市場2010年比2.5倍へ向けての行動の1つとすると、なぜ今か(!?)という疑問に対して、理解できます。

2倍化MCU開発

2倍化MCU開発

MCUも半導体の1つです。半導体市場が増えれば、それらを制御するMCU量も増えます。2010年比2.5倍なら、現在の2倍程度MCU開発も増えると思います。

従来と同じ人員と開発方法では、量が2倍になれば、2乗の4倍の労力が必要になります。新しい手法やその効率化なども導入する必要がありそうです。ルネサス同様、今スグに着手しなければ乗り(登り)遅れます。

使用した半導体の貴金属部分はリサイクルされますが、搭載ソフトウェアやハードウェアパターンは回収されずに消費されます。開発物の資産化、最新プロセスで大容量Flash搭載の新開発MCU、新開発手法にスグに対応できるMCU開発者が生き残るかもしれません。

関連投稿:開発者向けMCU生産技術の現状

MCU利用者

先進国だけでなく、新な対象として新興国中間層へもMCU利用者が広がります。新興国中間層は、先進国よりも10億人も多い予想で、1人当たりはより低コスト半導体(=MCU開発)が求められます。

この新興国中間層向けのMCUアプリケーションを検討するのも良いかもしれません。

2045年のシンギュラリティ

Singularity:和訳(技術的特異点)は、人類に代わって人工知能:AIが文明進歩の主役になることです。

最初の記事にも、2045年と言われるシンギュラリティは、一層半導体市場を広げる可能性があるとしています。IoT MCUにもエッジAIが組込まれるなど、今後のMCU開発もAI化は必然です。



開発者向けMCU生産技術の現状

先端半導体の供給不足
先端半導体の供給不足

COVIC-19の影響で自動車、ゲーム機、PC、5Gスマホに搭載される先端半導体の供給不足が発生中です。自動車は生産調整、ゲーム機も品薄のため販売中止のニュースが流れています。一方で、任天堂Sonyは、ゲーム機好調で、業績上方修正も発表されました。

本稿は、これら先端半導体とMCUに使っている半導体の違いを、筆者を含めたマイコン開発者向けにまとめました。

先端半導体供給不足

AppleやQualcommなどの半導体ベンダの多くは、設計・開発は行うものの、生産は台湾TSMCやUMCなど世界に数社しかない先端半導体受託生産会社(ファウンドリー)へ製造依頼するファブレス企業です。このファウンドリーの先端半導体生産量がボトルネックとなり供給不足が発生しています。

需要に追いつくよう生産設備も増設中ですが、スグには対応できません。その結果、価格競争が起こり、ゲーム機など高パフォーマンスで高価格でもOKなデバイスが優先、一方、コスト要求の強い自動車向けデバイスなどは後回しになった結果が、最初のニュースの背景です。

MCU半導体と先端半導体の差

半導体の製造や生産技術は、ムーアの法則に則り、年々微細化が進みます。これは、MCU半導体でも先端半導体でも同じです。違いは、「製造プロセスの世代」と「大容量フラッシュ搭載の有無」です。

最先端半導体の微細化技術は、28nm→14nm→7nmと製造プロセス世代が進み現在5nmなのに対し、MCU半導体は、現在28nmの1つ手前、40nmです。

※微細化の指標は、いかに細いロジック配線を実現できるかで表されnm:nanometerは、1 nm = 0.001 µm = 0.000001 mm:10億分の1メートル。

MCU半導体の微細化が遅れる理由は、MCUデバイスには簡単に微細化できない大容量Flashメモリの内蔵が必須だからです。

つまり、我々が開発するアプリケーションは全てMCUに内蔵される訳で、ここがPCやゲーム機の外付けメモリ+キャッシュ内蔵の制御系と根本的に異なる点です。

最新MCU微細化技術

上記の難しい大容量Flash微細化にも、技術革新が起きつつあります。詳細を知りたい方は、世界最小のメモリセルで最先端マイコンの低価格化を牽引する相変化メモリの記事を参照してください。

IoT MCU開発には、エッジAIや無線通信、高度セキュリティ、OTA:Over The Air更新など従来MCUに無い多くのIoT機能追加が必要です。これら機能実装には、更なる大容量Flash搭載が必須です。

IoT MCUの将来
IoT MCUの将来

大容量Flashの低価格実装と製造プロセスの世代が進めば、MCUデバイスの開発アプリケーション適用幅は大きくなると筆者は思います。つまり、より汎用化すると思います。

現在のMCUは、アプリケーション毎に内蔵周辺回路やFlash/RAM容量が異なるなど多品種でデバイス選択時、開発者を悩まします。しかし、近い将来、IoT MCUデバイス選択に開発者が悩むことも無くなるかもしれません。

関連投稿:無線STM32WBと汎用STM32G4比較の6章

MCU大手ベンダは自社製造中

NXP/ST/Renesas などの大手MCUベンダもファウンドリーを利用しますが、どこも自社工場でも製造を行っています。各社の会社紹介パンフレットには、必ず自社製造拠点の図がありますし、販売後10年間のデバイス供給保証も謳っています。

ARM社提供のCortex-Mコア設計図は同じでも、それを活かす実装設計・開発・製造がベンダ毎に異なるので他社差別化ができる訳です。

また、これらMCUベンダは、自社デバイスと並行して自動車向けデバイスの設計・開発・製造も行っています。ADASやMCU微細化技術の進化、ファウンドリーの供給不足状況などが、MCUベンダ各社に今後どのように影響するかは注目して行きたいと思います。

関連投稿:5G、Wi-Fi6、NXP、STマイクロエレクトロニクスの3章:NXP対応

まとめ

  • MCU半導体と先端半導体には、製造プロセス世代と大容量Flash搭載有無に差がある
  • 現状のMCU半導体は、大容量Flash搭載の40nmプロセス、先端半導体は、5nmプロセス
  • IoT MCUの更なる大容量Flash実装に向け、MCU微細化技術革新が起こりつつある
  • 大容量Flash低価格実装と製造プロセス進化によりIoT MCUはより汎用化する
  • COVID-19による先端半導体供給不足がMCU半導体ベンダへ影響するかは、要注目

Blogテーマ変更とMCU開発顧客満足

本Blogテーマを、今週~来週にかけて変更中です。期間中は、画面表示が乱れる可能性もありますがご容赦ください😌。Blogツール:WordPressにご興味が無い方は、最後の章:MCU開発顧客満足をお楽しみください。

オープンソースCMSのWordPressによるBlog投稿

Blogテーマ変更理由

本Blogは、WordPressというオープンソースCMS(Contents Management System)を使って投稿しています。テーマとは、Blog表示の見た目を変える、着せ替え洋服のようなものです。テーマ変更理由は、2つです。

  1. 約2年前に導入されたWordPressの新しいGutenbergエディタ対策
  2. 昨年後期から続くサイトマップトラブル対策

Gutenbergエディタ

従来のWordPress標準エディタは、Classicエディタと呼ばれ、Web版無償Microsoft Wordのようなものです。基本的な文章エディタ機能を提供し、使い方も簡単でした。これに対し、新しく標準となったGutenbergエディタは、ブロック単位の編集・加工を行うなど操作性や使い方が大きく変わりました。

※Gutenbergエディタは、15世紀に活版印刷技術を発明したヨハネス・グーテンベルクにちなんで命名されました。WordPressの記事投稿に際し、活版印刷登場ほどインパクトがあると言うことです。

旧Classicエディタを使い続けたい多くのブロガーのために、標準Gutenbergエディタを無効化し、Classicエディタを復活するプラグインが提供され、筆者もこれを使い続けてきました。

但し、Gutenbergエディタは、毎年改良され機能や使い方も進化、この進化系Gutenbergエディタ対応の新しいテーマも増えてきました。

xmlサイトマップ

xmlサイトマップは、GoogleやYahoo、Bingなどの検索エンジンへ、弊社Blogの投稿内容等を知らせる手段です。

原因不明ですが、昨年後半から投稿数は週一で増やしているにも係わらず、サイトマップの有効ページ数が減り続けています。検索エンジンにマップされなければ、投稿しても読者に発見されず苦労が報われません。

ネット情報によると、プラグイン間の相性など様々な原因がありえますが、解決しません。いわゆるPCとアプリケーションとの相性問題と同じようです。

そこで、1のGutenbergエディタ対策時に、新テーマ導入と同時にプラグインを変える/減らすなどして対処しようと考えました。

Blogテーマ変更結果

今回のBlogテーマ変更の結果、WordPressの新Gutenbergエディタは習得しました。

しかし残念ながら、サイトマップトラブルは、更に悪化しました。プラグイン相性だけでなく、新導入テーマにも関係している可能性もありますが、依然として原因不明です。

算定措置として、Gutenbergエディタと新テーマ利用へ変更し、追加プラグインは最小にします。サイトマップトラブルは、継続検討とします。

MCU開発顧客満足

MCU開発でも課題に対し期待する成果が得られない等は、筆者には日常茶飯事です。費やした時間やコストは、戻ってきませんが、実際にやってみなければ本当は判らない事だらけなのがMCU開発業務です。

MCU開発業務は、以下2点の配慮が必要です。

  1. スケジュール立案時は、マージンを織り込む
  2. 成果に直結しない結果でも、今後に活かす

※織り込んだマージンを使わず成果が出た時は、未消化マージンをリフレッシュ休暇に替えます😁。

今回の対策も、年末年始の予定でした。しかし、新テーマの多さやその理解に時間がかかり、結局マージンを使い果たし1月末実施、そして少ない成果となりました。顧客は、自分自身ですが顧客満足は低いです。

しかし、成果に直結しなくても得た(貴重な!?)結果もある訳です。これを今後に活かす事が、費やした時間やコストを無駄にしない唯一の策で、しかも長い目で見れば、顧客満足にも繋がると信じます😤。

MCU開発は、日々の努力が、即成果に結びつかなくても、将来必ず顧客を満足させる結果・スキルになると自分を信じて続ける心構えが重要です(日本では、周囲になかなか理解してもらえないと思いますが😭、欧米開発者は、これがあたりまえの文化でした)。

無線STM32WBと汎用STM32G4比較

STマイクロエレクトロニクスの近距離無線通信機能付きSTM32WB(Cortex-M4/64MHz)と、汎用メインストリームSTM32G4(Cortex-M4/170MHz)を比較します。

Bluetoothなどの超省電力無線通信は、IoTデバイスに好適です。無線機能付きSTM32WBのIoTアプリケーション開発方法を調査し、汎用STM32G4を使ったSTM32WBのIoTアプリケーション開発の可能性とメリットを検討しました。

ディアルコアSTM32WBとシングルコアSTM32G4

STM32WBとSTM32G4、どちらもARM Cortex-M4コアを持つMCUです。違いは、STM32WBが、無線処理専用Cortex-M0+コア/32MHz内蔵のディアルコアMCUという点です。

Cortex-M4とM0+コア間のアプリケーションは、プロセス間通信コントローラ(IPCC)によりノンブロックイングで割込み利用のメッセージ交換が可能です。IPCCは、コアをSleep/StopモードからRunモードへ復帰させることもできますので、両コアは別々に低消費電力動作ができます。

STM32WBシリーズの紹介スライドP2から抜粋したSTM32WBとSTM32G4の位置づけが下記です。ワイヤレスマイコンのSTM32WLとSTM32WBの違いは、WLはLoRaWANなど、WBはBluetoothなどのサポート無線規格が異なる点ですが、Cortex-M4とM0+のディアルコア構成は同じです。

STM32WBとSTM32G4の位置づけ(出典:STM32WBの紹介)
STM32WBとSTM32G4の位置づけ(出典:STM32WBの紹介)

無線コプロセッサ:Cortex-M0+コア

STM32WBのCortex-M0+コアは、Bluetooth 5、ZigBee、OpenThreadなど2.4GHz帯無線通信処理専用です。ユーザ(開発者)は、利用する無線規格(BLE⇋ZigBeeなどのブリッジも可能)を選択し、STマイクロエレクトロニクス開発の無線専用ファームウェアをCortex-M0+へダウンロードします。但し、このファームウェアに手を加えることはできません。

言い換えれば、Cortex-M0+側の無線処理はSTの動作保証付きで、ファームウェアバージョンアップなどのメインテナンスは必要ですが、ユーザ変更などは不必要、ブラックボックスとして扱える訳です。

つまり、見た目はディアルコアですが、STM32WBのCortex-M0+は無線コプロセサで、外付け無線モジュールと同等です。従って、ユーザが開発するSTM32WBのIoTアプリケーションは、シングルコアのSTM32G4と同じ手法で開発が可能です。

Bluetooth 5(BLE含む)とサンプルプログラム

STM32WBの無線規格は、Bluetooth5やZigBeeなど複数プロトコルをサポートしています。このうち、IoTセンサの少量データ収集アプリケーションに好適なBluetooth5とBLEの詳細は、Bluetooth Low Energyプロトコルの基礎知識に説明があります。BLEを利用するIoTセンサ・アプリケーションを開発する場合には、最低限必要となる知識です。

STM32WBには、開発環境STM32CubeWBP-NUCLEO-WB55評価ボードで動作する様々なBLEサンプルプログラムがあります。サンプルプログラムの解析やこれらを応用したIoTアプリケーション開発時、BLE基礎知識が役立ちます。

また、P-NUCLEO-WB55評価ボードとスマートフォンをBLE接続し動作するサンプルプログラムもあります。

FSU: Firmware Upgrade Services

ディアルコアSTM32WBのCortex-M4アプリケーション開発時は、Cortex-M0+ファームウェアも同時にFlashへ書込みます。この点が、シングルコアSTM32G4開発と異なる部分です。

このFlash書込みには、STM32CubeProgrammmerのコマンドライトツール(CLI)で提供されるFSU:Firmware Upgrade Servicesを使います(動画説明はコチラを参照してください)。

簡単に言うと、Cortex-M4とCortex-M0+でメモリ共有中のFlashへ、ユーザ開発Cortex-M4アプリケーションを書込む時に、同時に通信Cortex-M0+ファームウェアも更新する仕組みで、手順さえ守れば通常のSTM32CubeIDEを使ったシングルコアSTM32G4のFlash書込み同様簡単です。

Flash書込み後は、STM32G4と同じ方法でアプリケーションデバッグを行います。

無線通信機能付きディアルコアSTM32WBと汎用シングルコアSTM32G4比較結果

P-NUCLEO-WB55とNUCLEO-G474RE
STM32WB評価ボードP-NUCLEO-WB55(左)とSTM32G4評価ボードNUCLEO-G474RE(右)

本稿で示したSTM32WB関連情報は、昨年末に行われたSTマイクロエレクトロニクス日本語ウェビナー資料から抜粋したもので、STM32マイコン体験実習(Bluetooth®編)でオリジナル動画とスライドが公開中です。また、STM32WBトレーニング資料Cortex-M4トレーニング資料も参考にしました。

前章までで、無線通信機能付きディアルコアSTM32WBと汎用シングルコアSTM32G4を比較し、下記を得ました。

  • ディアルコアSTM32WBのCortex-M0+側は、通信コプロセサでブラックボックとして扱える。
  • 例えば、IoTセンサデータ収集などのCortex-M4側IoTアプリケーションを、HAL(Hardware Abstraction Layer)APIで開発すれば、通信部分は異なるがデータ収集部分はSTM32WBとSTM32G4で共通開発できる。
  • STM32WBとSTM32G4で異なる点は、評価ボードへのFlashプログラミングだが、手順は簡単。
  • STM32WBのFlashプログラミングで用いたSTM32CubeProgrammerは、STM32G4のRoot of Trustで用いたもので、STM32WBでもSTM32G4と同様のRoot if Trustを実現できる。

HAL APIはコチラの関連投稿などを、STM32G4のRoot of Trustはコチラの関連投稿を参照してください。

STM32WBのIoTアプリケーションを汎用STM32G4で開発

最初の図に示したCortex-M4動作最高周波数の64MHzと170MHz、デバイスFlash/RAM容量差に注意すれば、STM32WBのIoTアプリケーションを汎用STM32G4で開発することは、可能でメリットもあると思います。

前提条件として、HAL API開発であること、STM32WBのIoTアプリケーション用Flash/RAM容量が、無線通信コプロセサCortex-M0+が使っても十分残ること、無線通信の代用としてUSARTなどの有線通信を使うこと、などです。FreeRTOS利用が良い場合があるかもしれません。

無線コプロセサCortex-M0+使用容量は、かなり少なく(ウェビナーでは使用量が公表されましたが数値未取得)Cortex-M4 IoTアプリケーション用空き容量は十分あります。また、汎用STM32G4の方が高速動作のため開発制約条件も緩いです。無線では、通信断時のエラー処理検討が必要ですが、有線ですのでエラー処理なしで本来の通信処理は開発可能です。

つまり、STM32WBの無線通信エラー処理以外は、ほぼ全て汎用STM32G4で代用開発が可能です。

Cortex-M4クラスMCUは、どれも高速で大容量Flash/RAMを実装し高いポテンシャルを持っています。つまり、IoTプロトタイプ開発とその評価には、最適なデバイスです。

汎用STM32G4で代用開発済みアプリケーションをSTM32WB/STM32WLへ移植し、IoTプロトタイプ開発をスピードアップするメリットは、差分開発、つまりIoT特有機能の差分を開発ができることです。

ある程度MCU開発経験を持つ開発者が、従来MCU開発では少なかった無線通信や高度なIoTセキュリティなどのIoTアプリケーション特有の重点ポイントに注力でき、即座にIoTプロトタイプ開発(代用開発含む)とそれを評価するツールとなること、これが弊社Cortex-M4テンプレートの目標です。

評価の結果、仮にMCUやIoTセンサ、無線機能の再選択が必要となっても、開発部分の多くが次に即座に流用できるソフトウェア資産となるには、汎用STM32G4によるIoTプロトタイプ開発が有効だと思います。

具体的には、従来テンプレートとは「対象者レベルと目的を変える」ことを検討中です。

  • 従来Cortex-M0/M0+/M3テンプレートは、対象者が初心者/中級レベル開発者で、MCU基本動作(Simpleテンプレート)とADC/LCD動作(IoT汎用Baseboardテンプレート)を提供し、基本的なMCU理解と開発が目的のテンプレート
  • Cortex-M4テンプレートは、対象者が中級レベル以上の開発者で、MCU基本動作などは省き、IoTプロトタイプ開発高速化が目的のテンプレート

本稿説明がすんなりとご理解頂ければ、中級レベル以上の開発者、Cortex-M4テンプレート対象者だと思います。

Cortex-M4テンプレートの対象レベルと目的
Cortex-M4テンプレートの対象レベルと目的

News

2021年1月12日、STM32CubeとMicrosoftのAzure RTOSが統合、STM32マイコン開発環境で協力というニュースが発表されました。STのCortex-M4テンプレートは、FreeRTOSとAzure RTOSの両方が必要かもしれません。

STブログに、上記の詳細情報があります。

Kinetis Lテンプレート発売

FRDM-KL25ZとIoT汎用Baseboardを使った、NXP Kinetis Lシリーズ向けテンプレートを1000円(税込)で発売します。

IoT Baseboardテンプレート
IoT Baseboardテンプレート

IoT BaseboardテンプレートのVCOM
IoT BaseboardテンプレートのVCOM

IoT Baseboardテンプレート右横から
IoT Baseboardテンプレート右横から

Kinetis LシリーズとFRDM-KL25Z

超低消費電力と高性能を特徴とするNXPのKinetis Lシリーズは、2013年旧Freescale発売のCortex-M0+コア汎用マイコンです。FRDM-KL25Z(Cortex-M0+:48MHz、Flash:128KB、RAM:16KB)は、このKinetis Lシリーズ汎用マイコン習得ができる低コスト評価ボードです。

FRDM-KL25Zは、MCUXpresso SDK内にFreeRTOSとUSBのサンプルプロジェクトもあり、またmbed開発も可能です。様々なMCUアプリケーション開発に汎用的に使え、初心者から中級レベル以上の方でも満足できる仕様を持っています。

今年で発売から8年経過したKinetis Lシリーズは、最新のNXP開発環境MCUXpresso IDE/SDK/CFGでサポートされており、弊社Kinetis Lテンプレートもこの最新開発環境で開発しました。

Kinetis Lテンプレート

FRDM-KL25Z評価ボードのVCOMGPIOタッチスライダなどの基本的な使い方は、本ブログで既に説明してきました。

問題は、これら使い方を複数組み合わせてアプリケーションを開発する段階になった時、具体的にどうすれば開発できるかがマイコン初心者には解りにくく、つまずき易い点です。

Kinetis Lテンプレートは、この問題に対して1つの解決策を示します。詳細は、Kinetis Lテンプレートサイトと、付属説明資料のもくじ(一部ダウンロード可能)を参照ください。

FRDM-KL25Zで動作確認済みのKinetis Lテンプレートには、FRDM-KL25Z単体動作のシンプルなテンプレート応用例(Simpleテンプレート:下図)と、LCDやポテンショメータが動作し、様々なArduinoシールド追加も簡単にできるIoT汎用Baseboardとを併用したテンプレート応用例(IoT Baseboardテンプレート:最初の図)の2種類を添付しています。

Simpleテンプレート
Simpleテンプレート

SimpleテンプレートのVCOM
SimpleテンプレートのVCOM

マイコン初心者や中級レベル開発者の方が、テンプレート付属説明資料とSimpleテンプレートを利用するとKinetis Lシリーズの効率的習得、IoT Baseboardテンプレートを利用するとLCD/ADC動作済みでシールド追加も容易な段階からアプリケーション開発やIoTプロトタイプ開発が直に着手できるツールです。

これらテンプレートに、もくじ内容の付属説明資料を付けて1000円(税込)で販売中です。購入方法は、コチラを参照ください。

FRDM-KL25ZのFreeRTOSとUSB

MCUXpresso SDKが提供するFRDM-KL25Z評価ボードFreeRTOSサンプルプロジェクトは、弊社MCU RTOS習得(2020年版)で解説したNXP LPCXpresso54114 (Cortex-M4:100MHz、Flash:256KB、RAM:192KB)と同じ内容です。このRTOS習得ページを参照すれば、FRDM-KL25ZによるFreeRTOS理解も容易です。

また、難易度は高くなりますがUSBサンプルプロジェクトも、参考になる情報満載です。これらFreeRTOS、USBサンプルプロジェクトは、中級レベル以上のマイコン開発者に適しています。

初心者、中級レベル向け弊社Kinetis Lテンプレート付属説明資料には、FreeRTOS、USB関連情報は情報過多になるため含んでおりません。

テンプレート付属説明資料の範囲
テンプレート付属説明資料の範囲

しかし、テンプレートを使ってKinetis Lシリーズマイコン開発を習得すれば、スキルを効率的にレベルアップでき、難易度が高いFreeRTOSやUSB開発へも挑戦できます。

つまり、Kinetis Lテンプレートは、初心者、中級レベルの上級マイコン開発者への近道とも言えます。

あとがき

年末年始休暇中に、Cortex-M0+コアのKinetis Lテンプレート発売に何とかたどり着きました。

2021年は、Cortex-M4コアテンプレート化、無線やセキュリティなどのIoT MCU重要課題に対してサイト/ブログを見直すか?とも考えております。皆様のご意見、ご要望などをinfo@happytech.jpへお寄せ頂くと参考になります。

本年も引き続き、弊社マイコンテンプレートサイトと金曜ブログ、よろしくお願いいたします。