こんにちは。本日はSTM32WBシリーズのプレゼンテーションをご覧いただき、ありがとうございます。本プレゼンテーションでは、STの32ビットマイコン、STM32ファミリーの中のワイヤレスマイコンであるSTM32WBシリーズについて紹介します。また、後半ではSTM32WBシリーズの開発環境について紹介します。それでは、プレゼンテーションの方に入りたいと思いますが、最初に簡単に弊社のSTM32マイコンについて説明いたします。弊社のSTM32ファミリーは、すべてアームのコアテックスコアを搭載した製品となっており、現在17シリーズのラインナップがございます。コアの種類としましては、下はコアテックスM0から、上はマイコンではコアテックスM7まで、プロセッサーはコアテックスA7を搭載した製品がございます。STM32ファミリーには、フラッシュ内蔵のワンチップマイコンタイプの製品と、外付メモリーが必要なプロセッサータイプの製品がございます。本プレゼンテーションおよび実習は、マイコンが題材となりますので、STM32マイコンにフォーカスしてご説明いたします。STM32マイコンは、現在、ハイパーフォーマンス、メインストリーム、超低消費電力、ワイヤレスの4つのカテゴリーで製品展開を進めております。この中で、初代のSTM32マイコンは、メインストリームのコアテックスM3を搭載したSTM32F1シリーズになります。こちらは、2007年にリリースされたのですが、その後、市場のご要求に応じて、ハイパーフォーマンスや低消費電力、また、2018年にはワイヤレス、2019年にはプロセッサーのラインナップが新たに追加されました。ここで、新しい製品をいくつか紹介します。1つ目は、STM32MP1シリーズというSTM32ファミリー初のプロセッサー製品で、最大800MHzのコアテックスA7コアを2つ、コアテックスM4コアを1つ搭載したマルチコアタイプの製品で、STM32ファミリーの中では、最も高いパフォーマンスを持つ製品となります。2つ目は、アナログ機能が強化されたメインストリームマイコンのSTM32G4シリーズです。こちらのデバイスは、高分解能タイマーを搭載しておりまして、最初184ピコ秒の分解能のPWMを出力することが可能です。また、12ビットのADコンバーター、アンプやコンパレーターなども搭載しておりますので、モーター制御やデジタル電源の制御などに幅広く対応できます。3つ目は、STM32エルゴシリーズです。こちらは、トラストゾーン対応のARMコアテックスM33を搭載したセキュリティ機能が強化されたマイコンになります。また、低消費電力マイコンでもありますので、IoTのエッジデバイスなどバッテリー区道のアプリケーションやセキュリティ要件の厳しいアプリケーションに最適な製品となります。最後は、ワイヤレスマイコンの中のSTM32WLシリーズです。初代のワイヤレスマイコンはSTM32WLシリーズになりますが、こちらは2.4GHzのRF搭載のワンチップマイコンで、Bluetoothやジグビーに対応しています。一方、STM32WLはサブギ型のRF搭載のマイコンで、ローラやシグフォックス、FSK編長などの無線に対応しており、LPWAのアプリケーションに最適なマイコンになっています。このようにSTM32WLには様々な用途に利用できる製品が多数用意されていますが、弊社ではSTM32WLの全ての製品において10年の長期供給をお約束しております。マイコンの長期供給については、弊社以外のマイコンベンダーでも取り組んでいると思いますが、そのほとんどは製品がリリースされたタイミングから数えて10年の供給となっています。一方、弊社の場合は製品がリリースされたタイミングではなくて、毎年1月に10年を数える期算日が更新されます。ですので、例えば2007年にリリースされたSTM32F1シリーズは、今年で13年目になりますが、今年の1月から数えて10年は供給されますので、現時点ではリリースから23年は供給をお約束していることになります。さて、様々なシリーズの製品がある中で、今回紹介するマイコンは、ワイヤレスマイコンの中の2.4GHzのRF搭載のSTM32WBシリーズになります。これよりSTM32WBシリーズについて紹介していきます。STM32WBシリーズは、無線機能やデュアルコアといったデバイス自身が持つ特徴に加えて、マルチプロトコル、豊富なラインナップ、便利な開発ツールなど、ユーザーが供給できる特徴数多く兼ね備えています。ここでは、これらの特徴を詳しく見ていきたいと思います。まずは、マルチプロトコルという特徴です。STM32WBシリーズには、2.4GHzのRF機能が搭載されており、ブルートゥースをはじめ、ジグビー、オープンスレッドなどのITRIPLE-E802.15.4ベースの企画もののプロトコルや独自使用のプロトコルに対応することができます。また、ブルートゥースに関しましては、ブルートゥースのバージョン5.0に対応しておりまして、最大2MBPSの高速通信が可能となっております。さらに、ブルートゥースローエナジーのメッシュネットワークにも対応しておりますので、ネットワークカバレッジを拡張することも可能となります。一方、ジグビーに関しましては、ジグビープロのプロトコルスタックをベースとしたジグビー3.0の企画に対応しており、コーディネータ、ルータ、エンドデバイスをはじめ、各種クラスターへの対応も可能となっています。この他、iEEE802.15.4企画をベースとしたお客様独自のプロトコルをご使用の場合も、本デバイスで対応することが可能です。このように、一つのデバイスで複数のプロトコルに対応できるという点は、STM32WBシリーズの大きな特徴の一つといえます。さて、ご覧いただきましたように、STM32WBシリーズは様々なプロトコルに対応しており、Bluetoothのデバイス、ジグビーのデバイス、お客様の独自プロトコルのデバイスなどのように、ご希望に応じたデバイスを作り込むことができます。さらに、本製品では複数のプロトコルを共存させることも可能です。例えば、二つの異なるプロトコルの対応が必要なアプリケーションにおいて、両方のプロトコルに対応する一つのデバイスを開発されたいといった際に、最適な製品になります。現在用意されているサンプルとしましては、Bluetoothとジグビーのサンプル、Bluetoothとスレッドのサンプルがあります。次に、デュアルコアという特徴ですが、STM32WBはARMのコアテックスM4とコアテックスM0プラスの二つのコアを搭載しており、コアテックスM4でアプリケーションとペリフェラルの処理、コアテックスM0プラスで無線スタックの処理を行います。シングルコアの製品の場合、アプリケーション、ペリフェラル、無線スタックをすべて一つのコアで処理するため、オノオノの処理を自分活で行う必要があります。また、無線通信の際、アプリケーションやペリフェラルの処理が不要でも、コアが起きている必要があります。さらに、ある程度の規模のアプリケーション実現する場合、アプリケーション用のホストマイコンが必要になるケースも考えられます。一方、デュアルコアの製品では、2つのコアが独立して動作可能なため、無線通信中はコアテックスM0プラスのみ動作させ、コアテックスM4は低消費電力モードに入れたり、無線通信をしていない時はコアテックスM0プラスを低消費電力モードに入れて、アプリケーション用のコアテックスM4のみ動作させるといった柔軟な焦電力設計を可能とします。また、アプリケーション用のコアを搭載しているため、ワンチップでホストマイコンの役割も担うことが可能で、コスト削減や部品転数の削減にも貢献します。ここで、STM32WBのブロックズを見ていきたいと思います。コアは64MHzで動作するコアテックスM4と32MHzで動作するコアテックスM0プラスの2つのコアを搭載しています。また、ホンマイコンは弊社STM32ファミリーの中の超低消費電力マイコンをベースに設計されているため、様々な低消費電力モードを利用することができます。ペリフェラルに関しては、通常の汎用マイコンに搭載されているUART、SPI、I2Cなどのシリアルインターフェースをはじめ、発信士が不要なUSBフルスピードデバイスのインターフェースやオーディオインターフェース、ADコンバーターやコンパレーターなどのアナログ機能、外付にメモリー拡張可能なQWAD-SPIインターフェースなど様々なペリフェラルを搭載しています。また、コア管のセキュリティを確保するための保護機能や、安全にファームエアを更新する機能など、セキュリティ機能が充実している点も、本デバイスの特徴の一つとなります。STM32WBには、高速処理に最適なランモードから、最も消費電力の低いシャットダウンモードまで、全部で9種類の動作モードが用意されております。また、2つのコアそれぞれを独立して動作させることが可能なため、処理に必要なコアのみ動作させて、もう一方のコアを停止させておくことができます。ペリフェラルに関しましては、使用しないペリフェラルにクロックを供給しないクロックゲーティング機能なども搭載しております。これらの低消費電力化のための機能をうまく利用することによって、バッテリーアプリケーションのような低消費電力が必須のシステムにおいて最適な電力設計を実現することができます。このように、STM32WBマイコンはマルチプロトコルに対応可能な無線機能、バッテリー区道のアプリケーションに最適な低消費電力モード、IoT機器に利用可能なセキュリティ機能などさまざまな特徴を兼ね備えております。STM32WBマイコンのこれらの特徴により、メッシュネットワーク対応の証明機器、リアルタイム製が求められる産業デバイス、電力効率のEB根機器、遠隔からのファーメア更新に対応した車両管理設備、小型設計のウェアラブルデバイス、信頼性の高いホームセキュリティ機器など、他機にわたるアプリケーションの設計において、自由度の高い制御性能を提供します。ここでSTM32WBを使用した無線経由でのファーメア更新の手順についてご紹介します。STM32WBはコアテックスM4とコアテックスM0プラスの2つのコアを搭載していますので、1つのフラッシュメモリーを2つのコアで共有する必要があります。また、コアが2つありますので、それぞれのコア向けのコードをフラッシュメモリーに配置する必要がありますが、コアテックスM4で動作させるアプリケーションコードはフラッシュメモリーの先頭から、コアテックスM0プラスで動作させる無線スタックはフラッシュメモリーのまつびに配置します。そして、無線スタックおよびコアテックスM0プラス周辺の機能はアプリケーションが勝手にアクセスできないように保護することが可能です。ファーメアの更新を行う場合、まず最初にアンテナ経由で新しいファーメアを受信します。受信した新しいファーメアは一旦フラッシュメモリーの空き領域に格納されます。新しいファーメアを検出しますと、コアテックスM4は現在のファーメア内にあるアップデータファーメア更新機能を起動します。次に受信した新しいファーメアが認証済みのものかどうかを確認するために、新しいファーメア内の認証シグニチャーとアンゴーキーをコアテックスM0プラスに送ります。コアテックスM0プラスは、コアテックスM4から送られてきた認証シグニチャーとアンゴーキーがカスタマーキーストレージ内のデータと比較して一致するかどうかを判断します。ここでデータが不一致の場合、ファーメア更新の処理は停止しデバイスはリセットされます。一方、データが一致した場合、コアテックスM0プラスは、初優器で新しいファーメアを複合化して既存のファーメアを新しいファーメアに書き換えます。このような方法を取ることで、安全なファーメアの更新を実現することができます。今ご覧いただいた安全なファーメア更新の方法では、STM32WBマイコンの保護機能を使用していますが、この他にも本マイコンは攻撃に対する様々な保護機能を搭載しています。例えば、非侵入型の攻撃に対しては、環境変化攻撃に対応する温度センサ、電源監視、クロック監視機能、物理攻撃を検出するタンパ機能、第三者によるデバッグを阻止するためのデバッグポート無効化機能などがあります。一方、ソフトウェアによる攻撃に対しては、認証機保護のためのストレージやメモリ保護、ルートセキュアサービス、セキュアファームやアップデートなどの機能が利用できます。アプリケーションごとに必要とされるセキュリティ要件は様々ですが、本マイコンの保護機能を活用して、セキュアなアプリケーションの実現にお役立てください。STM32WBを使用した場合のコストメリットについてご説明いたします。STM32WBにはRFのバランが内蔵しています。また、クロック出力機能がありますので、複数デバイス搭載のシステムをご検討の場合、外部デバイスへクロック供給が可能です。その他、推奨発信士が不要なUSB機能やLCDコントローラー、Touchコントローラーなど、アプリケーションで利用可能な機能を多く内蔵しているため、部品点数を削減することができます。また、開発環境に関しましては、各種認証済みのスタックやドライバー、無線評価ツール、統合開発環境を弊社ウェブサイトより無償で提供しております。このようにSTM32WBを使用することで、無線システムの開発のための費用を抑えることが可能となります。ここでSTM32WBシリーズのラインナップについてご紹介いたします。現在リリースされている製品はSTM32WB55、WB35、およびそれぞれのコスト中市番のWB50、WB30のK4製品になります。WB55はSTM32WBシリーズの中で最も多くの機能を搭載した製品です。それに対してWB35はWB55からメモリ容量、およびLCDなどいくつかのペリフェダルを削減した使用の製品になります。また複数プロトコルの同時モードにも対応していないという違いもあります。一方、コスト中市のバリューラインは現在WB50とWB30の2種類あります。そのほかSTM32WBシリーズ初のモジュール製品も近日中にリリースを予定しています。ここでWB55とWB50の違いをご覧いただきたいと思います。こちらがWB55とWB50の機能比較表になります。WB55に対するWB50の違いですが、まず大きな違いとしましては、ブルー2スローエナジンのデータレートが2Mbpsから1Mbpsに変更されています。また、ラムのサイズも256kbから128kbと半分になっています。フラッシュメモリに関しては変更はありません。動作温度範囲と電源電圧範囲は縮小されています。無線の最大送信出力はプラス6dbmからプラス4dbmに下がっています。また、電源供給モードとしてWB55で搭載していたDC-DCコンバーターはWB50では非搭載となっています。その他、セキュリティ機能の一部やUSB、外付メモリインターフェースのQuad SPI、LCDコントローラー、オーディオインターフェースなどの機能が削減されています。STM32WBシリーズをメモリーサイズおよびパッケージの種類ごとにマッピングしたものがこちらになります。メモリーサイズはフラッシュが256キロバイトから最大1メガバイトまで、ラムは96キロバイトから最大256キロバイトまでの製品があります。パッケージに関しましては48ピンQFNパッケージから129ピンBGAパッケージまでの4種類のパッケージタイプの用意がございます。また、STM32WB合合では小型のアプリケーションに最適な100ピンのWLCSPパッケージを用意しております。さらにSTM32WBシリーズのモジュールに関しましては、2020年の第4四半期に量産予定となっています。これまでSTM32WBシリーズの製品をご紹介してまいりましたが、最後にSTM32WBマイコンと合わせてご利用いただけるコンパニオンチップをご紹介いたします。通常STM32WBマイコンを使用して無線対応の基板を作る際、マイコンとアンテナの間にインピーダンス整合回路と高周波フィルターが必要になります。これらをディスクリート部品で構成することも可能ですが、その場合無線の特性を最大限に引き出すためのマッチング作業が必要になります。一方、ここでご紹介するMLPFWB5501E3という製品は、STM32WBマイコンに最適化されたインピーダンス整合回路と深い減水率を持つ高周波フィルターを内蔵しているため、マッチング作業の手間が必要となり、実装面積を縮小することもできます。STM32WBマイコンと一緒に是非ご利用いただければと思います。続きましてSTM32WBシリーズの開発環境について説明します。STM32WBシリーズでは、ハードウェアの開発環境としてPNWB55という評価パッケージが用意されています。こちらのパッケージには、ニュークリオボードと呼ばれる白いボードと、USBドングルタイプの小型のボードの2種類のボードが同婚されています。両ボードとも電波法認証取得随身のため、すぐに評価が始められる環境となっています。また、ソフトウェアの開発環境としましては、初期化コード生成ツールのSTM32CubeMXやSTM32WB専用ソフトウェアパッケージのSTM32CubeWB、さらに無線評価専用のツール、STM32CubeモニターRFなどが用意されております。これらのソフトウェアの開発環境は、すべて弊社のウェブサイトより無償でダウンロード可能となっております。ここで、ハードウェアの開発環境について詳しく見ていきたいと思います。こちらがSTM32WB55を搭載した2種類の評価ボードの概要になります。左側のニュークリオ評価ボードは、68ピンのQFNパッケージが実装されており、4層基盤のボードとなっています。また、オンボードのデバッカーが搭載されておりますので、USBケーブルでPCと接続するだけでデバッグ環境が整います。一方、右側のUSBドングルタイプのボードは、48ピンのQFNパッケージが実装されており、2層基盤のボードとなっています。こちらは、オンボードのデバッカーは搭載されておりませんが、USBインターフェース経由でフラッシュ書き込みが可能な設計となっています。通常の評価には、ニュークリオボードをご利用いただくことをお勧めします。実際のニュークリオボードの外観はこのようになっております。左上のシルバーのカバーの下に、STM32WB-55が実装されております。このカバーは取り外し可能です。その上に、パターンアンテナ、右上にアンテナ用のSMAコネクターのパターンが用意されています。ボードの下の方には、ユーザーボタンとリセットボタン、LEDが複数実装されています。また、ボードの両サイドには、マイコンの信号線を取り出せるピンヘッターと、RDの順序のコネクターが用意されております。裏面には、デバッカー用のUSBコネクターと、ユーザーがアプリケーションで利用できるUSBコネクターが設けられています。また、バッテリアプリケーション開発で利用できるコインデンチホルダーも裏面に実装されております。STM32WBの実習編では、こちらのボードを使用して進めていきます。次にUSBドングルですが、こちらは実装されている機能が少ないので、その分小型のボードとなっています。ボードの中央にSTM32WB55、両サイドに拡張ヘッダ、下側にパターンアンテナが設けられております。その他、リセット後に動作するメモリー領域を選択するブートスイッチや、ユーザーボタン、LEDなどの機能があります。ニュークリオボードの対抗の無線デバイスとして使用することが可能です。次にソフトウェアの開発環境ですが、初期化コード生成ツールのSTM32 Cube MXや各種統合開発環境など、STM32ファミリー共通で利用できるツールはSTM32WBシリーズでも使用できます。その他、STM32WB専用のソフトウェアパッケージのSTM32 Cube WBや無線評価専用のツール、STM32 Cube Monitor RFなどが用意されております。続きましてSTM32 Cube MXについて説明します。STM32 Cube MXはPCにインストールして使用するツールになります。PCのGUI上で使用する製品、機能、ピン配置、クロック設定などを選択していただいて、コード生成ボタンを押しますと、設定内容が反映されたコードが自動的に生成されます。また、生成されるコードは、選択されたツールチェーンに対応するプロジェクトファイルの形式で生成されますので、コード生成後にそのまま統合開発環境を開いて開発を始められる仕組みとなっています。ここでSTM32 Cube MXで生成されるコードの裏で用意されているコードの実態が、こちらの右側のSTM32 Cube MyConパッケージになります。このMyConパッケージは、ハードウェア中小化レイヤーとミドルウェアの2つのレイヤーで構成されております。そのレイヤーの詳細がこちらになります。まず、ハードウェア中小化レイヤーで、我々はハルと呼んでいるのですが、こちらはMyConのデバイスドライバーに相当するコードになります。ファミリー間で共通のAPIが定義されていますので、例えば開発中、あるいは製品計画の中で、よりパフォーマンスの高い製品に移行したい、より消費電流の低い製品に移行したい、といった場面が出てきた場合、ハルをベースに開発されたコードであれば、比較的スムーズにSTM32ファミリー内の別の製品に移行することが可能となっています。一方、ミドルウェアのレイヤーですが、こちらにはTCPIPやUSBなどの通信インターフェースのスタック、グラフィックスやオーディオのライブラリー、ファイルシステムやリアルタイムOSなどのソフトウェアが含まれております。ここでSTM32WBマイコン専用のファームウェアパッケージを見ていきましょう。まず、対応のハードウェアとしては、STM32WB合合搭載のニュークリオボードとUSBドングルボードの2種類用意しております。その上にデバイス及びボードのドライバーがあります。ミドルウェアとしましては、USB、TouchSenseLibrary、ファイルシステムなどのソフトウェアがあり、その中の一つにSTM32WPANというSTM32WB用の無線スタックが用意されています。そして、最上位相に、各ペリフェラルを使用したサンプルプログラムや、各ミドルウェアを使用したデモソフトなどが用意されています。無線関連のサンプルプログラムもこちらに含まれております。無線関連のサンプルプログラムは現在80種類以上用意されておりますが、ここでは、ブルーツースローエナジー関連のサンプルプログラムを紹介します。ブルーツースのサンプルとしましては、ブラッドプレッシャープロファイルや、ハートレートプロファイルなど、ブルーツースシグで規定されているプロファイルに対応するサンプルや、ビーコンやメッシュネットワークを実現するためのサンプルなど、さまざまなサンプルプログラムが用意されています。その他、ブルーツース経由でファンメアを更新するOTAのサンプル、無線評価のためのサンプル、必要再証言の通信を実現するためのサンプルなどがあります。また、ブルーツースローエナジーとスレット、ブルーツースローエナジーとジグビーを共存させるサンプルも用意しておりますので、必要に応じてご利用いただければと思います。次に、STM32キューブモニターRFですが、こちらはSTM32ファミリーのワイヤレスマイコン製品向けに開発されたPC監視ツールで、ボード間のテストパケットの創授診によるボードの性能評価やパケットエラーの測定、ブルーツースやスレットなどのコマンドを創授診する機能などがあり、効率的な無線機器の開発をサポートします。また、STM32WBマイコンを実装した基板を作成した際に、その基板の電波法認証のためのテストを実施する際に有効なツールになります。最後に、さまざまなサンプルプログラムやデモと合わせてご利用いただけるスマートフォンアプリも弊社よりリリースしております。STBLEセンサーとSTM32BLEプロファイルズというアプリがありますが、STBLEセンサーはブルーツース通信時のセンサーデータやLEDの状態などの監視にご利用いただけます。STM32BLEプロファイルズはブルーツースシグのプロファイルに従った通信時の情報を可視化することができます。これらのアプリは、ともにGoogle PlayおよびApp Storeよりダウンロード可能です。以上でSTM32WBマイコンの製品のご紹介、および開発環境のご紹介を終わります。プレゼンテーション最後までご覧いただきましてありがとうございました。