MCUのAI機能搭載

スマホの顔/指紋認証や、写真の高度処理などにAI機能(機械学習)が搭載され始めています。本稿は、AI機能搭載プロセッサ最新記事からルネサスマイコン:MCU関連を抜き出し、さらに、STマイクロエレクトロニクスのコード生成ツールSTM32CubeMXに追加されたAI機能拡張パックSTM32Cube.AIを紹介します。

ルネサスMCU AI機能の現状

2019年1月10日のEE Times Japanに、“2019年も大注目! 出そろい始めた「エッジAIプロセッサ」の現在地とこれから”が掲載されました。

MCUだけでなく、スマホ、車載などAI機能を処理するプロセッサ全般の現状分析と今後について、分かりやすく解説されています。AI機能の搭載は、一過性ブームではなくADAS(先進運転支援システム)やセキュリティなど更に多くの処理へ適用されると予想しています。

この記事で、昨年本ブログ投稿のRZファミリ搭載「DRP(Dynamically Reconfigurable Processor)」の現状(図1)と、7nm製造プロセス換算での性能比較(図5)が示されています。

関連投稿:NXPとルネサスのMCU開発動向、ルネサスのMCU開発動向の章

図1:AIプロセッシングを実行する演算器の関係(出典:テカナリエレポート)
図1:AIプロセッシングを実行する演算器の関係(出典:テカナリエレポート)
図5:7nmプロセスで製造した場合の性能(出典:カタリナレポート)
図5:7nmプロセスで製造した場合の性能。小さい程高性能。(出典:カタリナレポート)

日本オリジナルのルネサスAI IPが、公表通り推論処理能力1000倍の開発ロードマップで進めば、低コスト/低電力なMCU AI機能が実現できそうです。RZだけでなく、RL78やRX MCUへの搭載も期待します。

STM32CubeMXにAI機能拡張パックを提供

STMのコード生成ツールSTM32CubeMX version 5.0.1以降から、AI機能実装の拡張パックSTM32Cube.AIが2019年1月3日に発表されました。

Cortex-M4クラスの低電力MCUが前提ですが、ニューラルネットワークを使ったHuman Activity Recognition:人間活動認識(HAR)や、Acoustic Scene Classification:音響シーン分類(ASC)のアプリケーションに適しているそうです。

Human Activity Recognition (HAR)(出典:Neural Networks on the STM32)
Human Activity Recognition (HAR)(出典:Neural Networks on the STM32)
Audio Scean Classification (ASC)(出典:Neural Networks on the STM32)
Audio Scean Classification (ASC)(出典:Neural Networks on the STM32)

MCU AI機能の搭載

現状は、ルネサスはRZ、STMはCortex-M4と高性能MCUがAI機能の対象デバイスです。

例えば、スマホで指紋認証時、本人なのに認証されないとイラッ😡ときます。安全側評価で仕方がないとは思いますが、リアルタイムで結構な処理を行っているのでしょう。例外処理で、カメラ起動などは認証なしで動作させるなどの工夫が見られます。

AI機能は、このように相手が人間なだけにリアルタイムで高負荷な処理になります。MCUへのAI機能搭載は、このかなり高いハードルをこなせる処理能力が必要です。記事にもあるように、プロセス微細化による低コスト/低電力化や、開発環境を含めたベンダー側の対応が普及の鍵になるでしょう。

個人的には、AI機能の「アプリケーションレベルでのライブラリ化」を望みます。ベンダー側でMCU処理能力に応じてライブラリ内部を工夫し、開発者である我々は、MCU選択でAI機能レベル(誤認識率、深層解析能力など)も選択できれば嬉しいですね😁。



STM32G0とSTM32CubeMX 5.0ウェビナーのお知らせ

STM32G0とSTM32CubeMX 5.0ウェビナー
STM32G0とSTM32CubeMX 5.0ウェビナー(出典:STMサイト)

STM32G0とSTM32CubeMX 5.0のWebinarが、日本時間2019年1月24日、木曜午前3時から午前4時に開催されます。アジェンダは、下記です。

  • Overview of STM32 microcontrollers, with focus on the STM32G0
  • Key features and peripherals embedded in the STM32G0
  • Description of the STM32CubeMX 5.0 graphical software configuration and code generation tool
  • Demonstration of hands-on examples running on the STM32G0 developed with the full-featured, free-to-use Keil MDK for STM32G0 and STM32CubeMX 5.0

木曜勤務に差し支えるかもしれない深夜ですが、PCさえあれば誰でも無料で視聴できます(要ログイン)。

関連投稿:守備範囲が広いSTM32G0

1週間位待てば、STMサイトのビデオコーナーでいつでも見ることができようになるとは思いますが、新汎用MCU STM32G0とそのAPI開発ツールSTM32CubeMX 5.0の新鮮な情報、参加者主催者のQ&Aが直接聞ける機会ですので、お知らせします。

2018 IoT MCUを振り返る

今年も多くの方々に本HappyTechブログをご覧いただき、また、多くの方々にマイコンテンプレートをご購入いただいたことに心より感謝いたします。ありがとうございました。

2018年の弊社ブログ投稿を振り返って、IoT MCUの2018動向を総括します。

ノードとエッジに2層化するIoT MCU

IoT時代には、数十億個以上もの膨大な数が必要と言われるIoTエッジMCU、これが本ブログ対象マイコンです。低コスト、低消費電力、効率的ハードウェア/ソフトウェア生産性が求められます。

これらIoTエッジMCUを束ね、クラウドと無線通信するのがIoTノードMCU。IoT MCUは、ノードとエッジの2層化傾向があります。

IoT MCU日本ベンダー動向

ルネサス エレクトロニクス:アナログフロントエンド強化の買収継続
NXPセミコンダクターズ:クアルコム買収断念で独自性維持
サイプレス・セミコンダクター:超低電力Cortex-M0+製品強化
STマイクロエレクトロニクス:日本語資料強化

自動車と産業、セキュリティがIoT MCUを牽引

超高性能、セキュリティ、CAN FD、低電力が自動車向け要求、同じくセキュリティ重視だが、コストパフォーマンスも重視、低電力が産業向け要求、両要求ベクトルがIoT MCUベンダー開発を牽引中。

MCUコアのこだわり不要

要求を満たすには広いMCUカバー能力と低電力動作が必要で、Cortex-M0+とCortex-M4のマルチコアや、シングルコア動作周波数の引上げが見られます。製造プロセス微細化も進むでしょう。

エンドユーザ(顧客)は、いわゆるソリューション(解)を求めていて、要求を満たせばMCUコアが何でも構わないので、開発者は、手段であるMCUコアにこだわる必要性を少なくすることが求められます。

つまり、最適ソリューションのハードウェア/ソフトウェアを、様々なベンダー、MCUから自ら選択し、効率的に解を提供できるIoT MCU開発者がプロフェッショナルです。

そこで、ソリューション提供・提案をする開発者個人向けツールとして、弊社マイコンテンプレートを発展させる予定です。ブログ対象IoT MCUも、この基準にフォーカスし情報提供します。

以上簡単ですが2018年のIoT MCUを総括しました。2019年も引き続きよろしくお願いいたします。

守備範囲が広いSTM32G0

2018年12月のSTM32マイコンマンスリー・アップデートのトップページに、先日投稿した新汎用MCU STM32G0の概要とブロック図が記載されました。また、12月18日のEDN JapanにもIoT機器を小型化効率化する32ビットマイコンとしてSTM32G070(48ピン/ROM128KB)が約69セントと安価であることが紹介されています。

STM32G0シリーズブロック図
STM32G0シリーズブロック図(出典:マンスリー・アップデート2018年12月トップページ)

本稿は、これら新MCU STM32G0記事を整理し、開発ベースとして最適なアクセス・ライン製品STM32G71と評価ボードの入手性、価格について示します。

3製品:バリュー・ライン、アクセス・ライン、アクセス・ライン&エンクリプション

STM32G0の説明がある時、3製品のどれを説明しているかを区別、意識する必要があります。というのは、STM32G0のアプリケーション守備範囲が、とても広いからです。3製品の特長をまとめたのが下表です。

STM32G0の3製品特徴
製品ライン 型番例 特徴
バリュー・ライン STM32G70 コスト最重視のエントリクラス製品
アクセス・ライン STM32G71 ハードウェアセキュリティ搭載の標準製品
アクセス・ライン&エンクリプション STM32G81 アクセス・ラインに暗号化機能搭載製品

EDN Japan記事のSTM32G070(48ピン/ROM128KB)の69¢は、バリュー・ラインのことです。マンスリー・アップデートのブロック図は、3製品機能をAND表示したものです。

3製品差を理解するには、STMサイトのSTM32G0製品シリーズと、オンライントレーニング資料STM32G0 Series Presentation P2が役立ちます。

STM32G0製品シリーズ
STM32G0製品シリーズ(出典:STMサイト)
STM32G0の3製品差
STM32G0の3製品差(出典:STM32G0 Series Presentation P2)

現在供給中の3製品差と、今後のラインナップを整理すると以下になります。

供給中デバイスと開発予定ラインナップ
供給中デバイスと開発予定ラインナップ(出典:STM公式ブログ)

バリュー・ライン(灰色)
アナログフロントエンド向きのアプリケーションに特化した2.5Mspsの高速12ビットADC実装のバリュー・ライン(STM32G070)は、価格最重視のエントリ製品でEDN Japan記事のように1$以下の調達ができます。また、供給中と今後のラインナップの図から、8/20ピンなどの小ピン&小ROM製品が予定されていることも解ります。

アクセス・ライン(水色)
バリュー・ラインと同様小ピン&小ROM製品に加え、100ピン&大ROM製品の予定もあります。アプリケーションに応じてDAC、USB-PO、CAN FDなどの周辺回路が実装可能です。さらに、1.65-3.6Vと他製品より低電圧側への広い動作も特徴です(Presentation P2参照)。

これらの仕様の幅広さから、STM32G0の最も標準的なベースMCUと言えます。アクセス・ラインでプロトタイプ開発しておけば、内蔵周辺回路が同じシリーズのバリュー・ラインやアクセス・ライン&エンクリプションへそのまま応用・適用できるからです。

アクセス・ライン&エンクリプション(紺色)
IoTアプリケーションでは必須になるハードウェア暗号化機能をアクセス・ラインに追加しています。

STM32G0の幅広いMCUコア性能

これも先の投稿で示したSTM32FxとSTM32G0の違い図から、STM32G0はSTM32F0より低い消費電力と、STM32F1並みの高性能をハイブリッドしたMCUであることが解ります。つまり、STM32G0(Cortex-M0+/64MHz)で、F0~F1のMCUコア性能範囲をカバーできるのです。

STM32G0のGは、アプリケーション守備範囲の広さを示すGlobal、またはGeneral(汎用性)を表しているのかもしれません。STM32FxのFは、Flexibilityでしょうか?

STM32G0のサンプルソフトウェア

アクセス・ラインSTM32G071RB(64ピン/ROM128KB)実装の評価ボードNUCLEO-G071RBは、STMの公式サンプルソフトウェア数が159個(AN5110参照)と現在最も多く、STM32G0のアプリケーション開発に適していると思います。

この評価ボードとサンプルソフトを活かして開発したソフトは、バリュー・ラインやアクセス・ライン&エンクリプションへも同じシリーズですので、容易に応用・流用が可能です。

また、暗号化機能搭載のアクセス・ライン&エンクリプションSTM32G081RB搭載の評価ボードSTM32G081B-EVAL board:$382を使えば、暗号化認証手順や鍵管理などのセキュリティ関連が効率的に習得できるハズ(?)です。
※セキュリティ関連は、ホストとスレーブの2役が必要など、筆者自身不明な点も多いため、今後別途調査したいと考えています。

STM32G0の入手性と価格

ネット通販が盛んになったおかげで、近頃は新発売後1ヶ月も経っていない最新デバイスであっても、個人で1個から入手できます。

2018年12月24日現在、Mouser(マウサー日本)のアクセス・ラインSTM32G071RB(64ピン/ROM128KB)と、評価ボードNUCLEO-G071RBの価格表です。もちろん代理店経由なら、この価格よりも安く入手できるでしょう。

STM32G0の価格(2018年12月調査)
Mouser入手の場合 数量 価格(JPY
STM32G071RB 1 398
10 360
100 298
1000 213
NUCLEO-G071RB 1 1,203

STM32G0は、たとえ個人でも、入手性良く低価格で入手できると言えるでしょう。

まとめ

新発売STM32G0は、従来メインストームSTM32F0~STM32F1で開発していた広いアプリケーション範囲をカバーできる汎用MCUです。またIoTエッジMCUに必要になる暗号化機能をハードウェアで実装済みの製品もあります。

3種ある製品のうち、アクセス・ラインのSTM32G071RB(64ピン/ROM128KB)実装の評価ボードNUCLEO-G071RB は、STM公式サンプルソフトウェア数が現時点で最も多く、STM32G0の汎用性、広範囲アプリケーション対応性を活かした開発のベースに最適と評価しました。

これら評価ボードとSTM32G071RBデバイスは、個人でも比較的安価に入手できることも分かりました。

ルネサスE1エミュレータ生産中止予告

2018年12月21日、ルネサス エレクトロニクスのツールニュース2018.12.16号で、使用部品の生産終了のため、E1エミュレータ生産中止が予告されました。来年2019年12月31日が、最終オーダー受付日です。

E1エミュレータ(出典:秋月電子通商)
E1エミュレータ(出典:秋月電子通商、12,600円で販売中)

E1代替エミュレータ

E1エミュレータの代替は、E2またはE2エミュレータLiteです。ターゲットボードとの接続は、同じく14ピンコネクタですのでそのまま使えます。
但し、R8Cは、E1を継続使用、RH850は、E2へ変える必要があります。

ルネサスMCUとエミュレータ対応表(2018年12月現在)
対象マイコン E1 E2 E2 Lite
RL78ファミリ(本ブログ掲載) 対応中 対応中 対応中
RXファミリ 対応中 対応中 対応中
R8Cファミリ 対応中 非対応 非対応
RH850ファミリ 対応中 対応中 非対応

本ブログを始めた頃のR8C開発時代、IDE Hewに使っていたE1エミュレータが、あと1年で生産中止になるとは、私も年を取ったということです。

但し、稼働中のR8Cシステムメインテナンスなどに、ソフトウェア書き換え用として14ピンコネクタ以外のUARTなどを準備していれば別ですが、E1エミュレータは必須ですので、注意してください。

また、新たにRL78開発環境の構築を考えている方は、E1エミュレータではなくE2エミュレータLite(秋月電子:7,980円)の購入をお勧めします。

STM新汎用MCU STM32G0

2018年12月4日、STマイクロエレクトロニクス(以下STM)の公式ブログで新汎用MCU STM32G0、Cortex-M0+/64MHzを発表しました。以下の特徴があります。
※汎用=メインストリームと本稿では考えます。

新汎用STM32G0、Cortex-M0+/64MHz、メインストリーム90nmの特徴

STM32メインストリームMCU
STM32メインストリームMCU:STM32FxとSTM32G0の違い(出典:STM32 Mainstream)
  • 「メインストリーム初の90nmプロセスMCU」:従来メインストリームSTM32F0は180nmプロセス
  • 「ハイブリッド」:STM32L4(90nmプロセス)の低消費電力とSTM32F0のメインストリームの両方をハイブリッド
  • 「モアIO」:64ピンパッケージSTM32F071比較でIOピン9本増加、48ピンでもIOピン7本増加
  • 「単一電源供給」:PCBパターン設計が容易
  • 「セキュリティハード内蔵/非内蔵」:128/256ビットAES、セキュアブート、乱数発生器、Memory Protection Unit (MPU)
  • 「USB-C」: IPによりUSB-Type-C可能
  • NUCLEO-G071RB board」:低価格評価ボード提供中、「STM32G081B-EVAL board」:$382
STM32G0ラインナップ (出典:STM公式ブログ)
供給中の3種製品とSTM32G0ラインナップ (出典:STM公式ブログ)
STM32G0 Product Lines(出典:STM32G0 Serie Presentation)
STM32G0 Product Linesから3種製品の違いが解る(出典:STM32G0 Series Presentation)

STM32G0オンライントレーニング

データシートよりも解りやすいSTM32G0オンライントレーニング資料が多数あります(要ログイン)。

例えば、以下のような興味深い情報が得られます。各数ページの英文スライド形式ですので、STM32G0以外のMCUを使用中の方でも、チョットした空き時間に読めます。

  • STM32G0 Series Presentation:内蔵ハードウェアによりValue/Access/Access & Encryptionの3種製品特徴
  • ARM Cortex-M0+ (Core):Cortex-M0とM0+の差、Memory Protection Unit 説明
  • Safety:安全基準とその実現方法
  • Random Number Generator (RNG):アナログノイズに基づいた32ビット乱数発生
  • STM32G0 Boards:NUCLEO-G071RB board解説

STM32CubeMX V5.0.0

STM32G0のコード生成は、STM32CubeMX V5.0.0からサポートされました。

V4までと同じSW4STM32、TrueSTUDIO、両方のIDEで使えます。STM32CubeMX V5が提供するMCUファームパッケージで、本ブログ関連を抜粋したのが下表です。

STM32CubeMX V5.0.0提供MCUファームウェア版数
対象MCU firmware(評価ボード、STM32G0ボード暫定) 最新Version
STM32F1(STM32F103RB、Cortex-M3/64MHz V1.7.0
STM32F0(STM32F072RB、Cortex-M0/48MHz V1.9.0
STM32G0(V5で新設、STM32G071RB、Cortex-M0+/64MHz V1.0.0

STM32Fxテンプレートでも使用中のHAL(Hardware Abstraction Layer)ライブラリでコード生成すれば、STM32F1、STM32F0とSTM32G0間で、流用/応用が容易なソフトウェア開発ができると思います。

まとめ

新発売のSTM32G0は、90nmプロセス初のメインストリーム汎用MCUです。一般的に製造プロセスを微細化すれば、動作クロックが高速になり電力消費も低下します。さらに、STM32G0は、Cortex-M0より性能が向上したCortex-M0+コアの採用により、Cortex-M3のSTM32F1クラスに並ぶ高性能と超低消費電力動作をハイブリッドした新汎用MCUと言えます。

周辺回路では、IoTで懸念されるセキュリティ対策をハードウェアで実施、IOピン数増加、PCB化容易、USB-Type Cインタフェース提供など、各種IoTエッジMCU要求を満たす十分な魅力を持つMCUです。

競合するライバルMCUは、Cortex-M0+のNXP S32K116/S32K118(2018/7発売)などが考えられます。

関連投稿:NXP新汎用MCU S32K1

ルネサスCS+ V8.00.00更新

2018年11月27日、ルネサスエレクトロニクス(以下ルネサス)のIDE(統合開発環境)CS+が、V7からV8.00.00にメジャー更新されました。主な変更内容は、11月27日発売の第3世代RX(RXv3)MCUへの対応です。

CS+ V8.00.00無償評価版

CS+は、RL78、RX、RH850、V850、78K0R、78K0のMCU開発に使います。無償評価版は、以下のROM容量制限があります。

無償評価版のROM容量制限
RL78、78K0R、78K0R 64Kバイト以内
RX 128Kバイト以内
RH850 256Kバイト以内

同じくルネサス無償提供EclipseベースIDEのe2 studioは、この容量制限がありません。

しかし、e2 studioにはコンパイラがパッケージされていませんので、各MCU対応のCS+と同じ無償コンパイラをインストールして使用します。その結果、コンパイルできるROM容量は、CS+無償評価版と同じになります。
※CS+もe2 studioも容量制限を外すには、コンパイラ有償ライセンスが必要です。しかし、個人レベルでの購入は、高額出費を覚悟してください。

CS+もe2 studioも機能的には同じです。Eclipse IDEを使った経験が有る方や、世界標準指向ならe2 studio、それ以外は、IDE全機能が1パッケージ提供で、チュートリアル付き、更新方法も簡単なCS+が便利です。

第3世代RXv3の第一弾はモータ制御製品

第3世代RX(RXv3)MCU
第3世代RX(RXv3)MCU(出典:ルネサスサイト)

ルネサス独自開発の32ビットRXv1/RXv2 MCUに対する命令セットの上位互換、5.8 CoreMark/MHzへの性能向上などが特徴の第3世代RXv3製品化第1弾は、モータ制御に適したRX66T(ROM256Kバイト~1Mバイト)です。

RXの性能を活かしたソフトウェアを開発するには、CS+無償評価版では128KバイトROM容量制限があるため力不足です。残念です。

ルネサス買収懸念とリスクヘッジ

11月24日のビジネスジャーナルに、ルネサスの買収に対する懸念記事が掲載されました。本ブログでも10月1日にルネサスのIDT買収の複数懸念記事は紹介しましたが、今回は、インターシル買収と現状のルネサス経営への懸念という点で異なります。

ゴーン容疑者が崖っぷちの日産を復活させたように、経営陣の舵取りは、その会社のみならずルネサスMCUの使用者(我々)の技術人生にも影響を与えます。

車のエンジン ≒ MCU、エンジンの気筒数 ≒ MCUビット数、車所有者 ≒ エンドユーザに割当てると、我々が開発するソフトウェア、ハードウェアの最終利用者は、装置を使うエンドユーザです。このエンドユーザが気にするのは、燃費(消費電力)や安全性(セキュリティ)、トータルコスト等で、どのMCUを使って開発するかを気にするエンドユーザは、殆どいないと思います。

ルネサスCS+のようにROM容量制限がある無償IDEや、MCU毎に専用デバッガが別途必要でArduinoコネクタを持たない評価ボード、これらは他のMCUベンダーのそれらと比べると少数派、日本独自仕様です。

関連投稿:MCU評価ボード2018

もちろん、多数派、世界標準に合わせた環境やMCUを提供することが最上ではありません。しかし、ルネサスの場合、本稿のような独自MCUを新開発する一方で、多数派標準と同じ土俵のARM Cortex-M系Synergy MCUなども提供中です。ルネサスの中に潤沢なリソースがあれば別ですが、これまた日本独自の働き方改革が叫ばれる時期、選択と集中ができていないと感じるのです。

技術者リスクヘッジ
技術者リスクヘッジ

ルネサスが技術的に優れていても、ガラパゴス携帯のようにならないことを祈りつつ、技術者個々人でリスクヘッジ(リスク回避)を考えることも大切だと思わせる記事内容です。

関連投稿:ルネサスの買収に対する懸念記事、技術者個人のリクス分散必要性の章

SLA (Software license Agreement)

STマイクロエレクトロニクス(以下STM)のSTM32マイコン マンスリー・アップデート2018年8月 P4のコラムに、ソースコード生成ツールSTM32CubeMXのSLA(Software license Agreement)変更が記載されています。

SLAとは

SLAは、ソフトウェア利用(または使用)許諾契約(きょだくけいやく)のことです。ウィキペディアに詳しい説明があります。

コラム記載の新しいライセンスが、SLA0048 – Rev 4 – March 2018です。この新ライセンス中にSTM32CubeMXで検索してもヒットしませんし、法律文言の英文解釈能力も持ち合わせていませんので、コラムをそのまま抜粋します。

「マイコンに書き込まれた状態であれば著作権表示などは不要だが、それ以外の状態であればソースコード、バイナリいずれも著作権表示などは必要」になりました。

STM32CubeMXでHALを使ってソースコードを生成すると、ソースコードの最上部に下記コメントや、その他の部分にも自動的にコメントが挿入されます。

STM32CubeMX生成ソースコード
STM32CubeMX生成ソースコード(STM32Fxマイコンテンプレートの例)

要するに、新SLAは、これらSTマイクロエレクトロニクス提供ツールSTM32CubeMXが自動挿入したコメントを、我々開発者は、勝手に削除してはいけない、と言っているのだと思います。

IDE付属ソースコード生成ツール

マイコンのソースコード生成ツールは、STM32CubeMX以外にも、各社のIDE(統合開発環境)に付属しており、

  • ルネサスエレクトロニクス:コード生成
  • NXPセミコンダクターズ:SDK、Processor Expert
  • サイプレス・セミコンダクター:Generate Application

などがあります(固定ページのAPI生成RADツール参照)。これらツールが自動生成するソースコードには、開発者が解りやすいように多くのコメントが付いています。

殆どのIDE付属エディタは、最上部の著作権関連コメントを畳んで表示することが可能ですし、これらコメントは、コンパイル後、つまりマイコンに書き込まれる状態では削除されますので、普段は注意を払わない開発者が殆どだと思います。

これらコメントも、STM32CubeMXと同様、各社のSLA違反になる可能性がありますので、生成ソースコードでのコメント削除はせず、オリジナル出力のまま使うことをお勧めします。

マイコンテンプレート

弊社販売中のマイコンテンプレートも、上記コード生成ツールのソースコード出力は、そのまま使っております。

マイコンテンプレートの版権は、ご購入者様個人に帰属します。但し、テンプレートそのものの転売、配布はご遠慮ください。お願いいたします。🙏

NXP新汎用MCU S32K1

NXPセミコンダクターズ(以下NXP)から車載・産業機器向けの、新しい汎用Cortex-M0+/M4 MCU S32K1ファミリが発売中です。
同社の汎用MCUと比べ、何が新しいかを調べました。

S32K1の特徴(汎用MCUとの差分)

セキュリティ強化ARMコアは、Cortex-M23/M33があります。ところが、NXPのS32K1ファミリは、従来のCortex-M0+/M4コアを使います。Cortex-M0/M0+/M3汎用MCUと比べると、差分として以下の特徴があります。

AEC-Q100グレード1規格準拠

AEC-Q100:Automotive Electronics Council、車載用電子部品信頼性の規格化団体の規格AEC-Q100は、世界標準規格で欧米の車載向け集積回路の規格。製品使用温度範囲によりグレード0~3まであり、グレード0が-40℃から+150℃で最も広範囲、グレート1は-40℃から+125℃。

セキュリティ強化ハードウェア内蔵MCU

SHE準拠Cryptographic Services Engine (CSEc) - AES128、セキュアブート、ユニークID

専用IDEのソフトウェア開発

S32 Design Studio(Processor Expert)、無償、コードサイズ制限なし

車載・産業 両方向けの汎用MCUで最低15年供給

S32K11x(Cortex-M0+):S32K116/S32K118(2018/7発売)、評価ボード$49
S32K14x(Cortex-M4):S32K142/S32K144/S32K146/S32K148(2017/12発売)、評価ボード$49/$149

S32K MCUs for Automotive and Industrial Applicationsから抜粋したS32K1ファミリの特徴が下図です。図はAEC-Q100グレード0と表記がありますが、Cortex-M0+のS32K11xは、データシートによるとグレード1です。

S32K1特徴
S32K1の特徴 (出典:S32K MCUs for Automotive and Industrial Applications)

S32K118EVB-Q064はDigiKeyで購入可能

新汎用MCUのセキュリティ強化策と専用IDE:S32 Design Studio(Processor Expert)

IoTでは汎用MCUであってもセキュリティ強化が必須です。現在、対策として3アプローチあります。

  1. 汎用コアMCUに、セキィリティ強化回路を内蔵(本稿)
  2. 汎用コアMCUに、外付けセキュリティデバイスを追加 → 関連投稿:セキュリティ強化デバイス:A71CH
  3. セキュリティ強化コアを採用 → 関連投稿:セキュリティ強化ARMコアCortex-M23/M33

1のメリットは、2と比べ部品点数が少ないこと、3と比べ従来の汎用コア開発との親和性が高く、セキュリティ関連開発が容易になる可能性があることです。

専用IDE:S32 Design StudioのAPI生成ツールは、旧FreescaleのProcessor Expertです。NXPが、なぜ既存LPCXpresso IDEでなく、専用S32 Design studioとProcessor Expertを用いたかは不思議です。が、Processor Expertという優れたAPI生成ツールのことを知っている開発者にとっては朗報になるかもしれません。

S32K1の魅力:車載・産業機器・IoT全共用

現在のS32K1ファミリ想定アプリケーションは下記です。車載・産業向けに別々のS32K1が有るわけではなく共用です。

S32Kアプリケーション
S32Kアプリケーション(出典:車載・産業機器向け Arm® Cortex®ベース S32Kマイクロコントローラ (REV 3.1))

2017~2018年に供給が始まり、最低15年の供給保障、全てに評価ボードもあります。Cortex-M0+とCortex-M4間の接続は、次世代車載ネットワークCAN FDです。

S32K14x(Cortex-M4)がNode MCU化しIoT無線通信機能を実装すれば、S32K11x(Cortex-M0+)をEdge MCUとして利用可能で、S32K1が「車載・産業機器・IoT全てを狙える新しい汎用MCU」に大化けする可能性はあると思います。

関連投稿:Node MCUとEdge MCU、気になる点2の章参照

そのほか、FlexIO、FlexTimerなどの新しい周辺回路も実装されていますので、S32K1を引き続き調査する予定です。

STM32のStep-by-Step Guide

STマイクロエレクトロニクス(以下STM)公式ブログのカテゴリ:TutorialsからSTM32開発環境を構築する方に最適な投稿を見つけたので、紹介と気になる点を示します。

Step-by-Step Guide

STM32 step-by-step learning program
STM32 step-by-step learning program

2018年10月8日が投稿日のこの記事は、STM32の開発環境(IDE)構築から評価ボード、UART接続、IoT評価ボードとスマホ接続などを5つのStepで示しています。内容は、前後半の2つに大別できます。

前半は、Step1(45分)で開発環境を構築し、Step2(30分)でSTM32CubeMXとHAL説明、Step3(34分)で評価ボード(NUCLEO-L476RG)とUART利用のPC通信を紹介するなど、内容は、弊社昨年のブログ投稿の最新版と言えます。

後半は、Step4(60分)でIoT評価ボードDiscovery kit IoT node (B-L475E-IOT01A)(DigiKeyにて¥6,370販売中)の使い方、Step5(30分)でAndroidスマホと同評価ボードをBLEで直結し、IoTシステムを構築しています。

IoT評価ボードは、Cortex-M4(915MHzまたは868MHz)を使い、Arduinoコネクタ、モーション、ジェスチャ、環境センサなどが実装済みなので、スマホで取得センサデータを視覚化できます。さらにAWS(アマゾン ウェブ サービス)経由でも接続できるので、本格的なIoTノード開発・評価にも使えそうです。AWSとの接続方法は、コチラの動画(11分12秒)に解説されています。
※動画閲覧にはログインが必要です。

関連投稿:Amazon、IoTマイコンへFreeRTOS提供

気になる点1:TrueSTUDIO

STMは、2017年12月に統合開発環境TrueSTUDIO開発元のAtollic社を買収しました。その結果、無償IDEのラインナップは従来と同じですが、開発会社の説明が変化しました。

関連投稿:2018マイコンベンダ最新ニュースのSTM章参照

STM32ソフトウェア開発スイート(要ログイン)のページで説明します。License typeでフィルタすると、無償版IDEラインナップが表示されます。SW4STM32欄のShow more…をクリックすると下段に“This product is supplied by a third party NOT affiliated to ST”の記述があります。これが気になる点です。

IDE License type Free検索結果
IDE License type Free検索結果。SW4STM32には、”not affiliated to ST”の記述がある。

この記述は、TrueSTUDIO欄には無く、代わりにProduct Imageに“ST acquires Atollic”と記載され、STとAtollicのロゴが表示されます。つまり、STMの無償IDEは、TrueSTUDIOが標準?の感じです。

TrueSTUDIOのProduct Image
TrueSTUDIOのProduct Imageは、STとAtollicのロゴが表示

従って、新たにSTM開発環境を構築される方は、TrueSTUDIOを選ぶと良いかもしれません。これを裏付けるのが、Step1紹介のIDEがTrueSTUDIOだということです。TrueSTUDIOがSW4STM32とほぼ同様に操作できるのは、コチラの動画(9分42秒)で解ります。

弊社2017年9月発売のSTM32FxテンプレートもSW4STM32を使っていますが、これもTrueSTUDIOに変えた方が良いかもしれません。但し、TrueSTUDIOには、SW4STM32プロジェクトをそのままインポートする機能が備わっていますので、二手間のOKクリックが増えますがしのげそうです(Step4のP8、Appendix Porting an AC6 example to TrueSTUDIO参照)。

Porting SW4STM32 project to TrueSTUDIO(出典:Step4)
Porting SW4STM32 project to TrueSTUDIO(出典:Step4)。OK2回クリックでSW4STM32プロジェクトをTrueSTUDIOへインポートできる。

IDEポーティングは、MCUベンダーが、古いIDEから新しいIDEへ替える時に良く使う方法で、NXP(Kinetis Design Studio→NXP Expresso)、ルネサス(Hew→CS+)などでもおなじみです。SW4STM32→TrueSTUDIOがあるのも、STMがTrueSTUDIOを推薦しつつある証と言えるでしょう。

気になる点2:Edge MCUとNode MCU

Step-by-Step Guide資料が前後半で使用MCUと評価ボードが2つに別れたように、前半のEdge MCUと後半のNode MCUの2つの機能に分かれてIoT MCUが発展する気がします。

  • Edge MCU:低消費電力でIoTデータ取得(アナログフロントエンド)機能を備えたMCU。従来のベアメタル開発の延長・発展形。
  • Node MCU:AWSなどIoTネットワーク出入口の無線、高度なセキュリティ機能を備えたMCU(Edge MCUを包含する場合あり、例:Discovery kit IoT node)。FreeRTOSなどのOS実装は必須で、従来MCUより高機能・高性能、1GHzにせまる高速動作。

※ベアメタル開発:OSなどを使わないMCU開発

Edge MCUとNode MCUの違いは、端的に言えば、ベアメタルソフトウェア開発かRTOSソフトウェア開発かです。MCUソフトウェア開発者も、ベアメタルとRTOSの2つに分かれるかもしれない、というのが第2の気になる点です。

Edge MCUだけではIoTに接続すらできません。Node MCUがIoT接続に必須になりつつある気がします。