みなさま、こんにちは。STM32開発エコシステムによる開発実習、構成のマイコン編をご覧いただき、ありがとうございます。このビデオでは、ARMSHA CoreTex M7を搭載したSTMicroElectronics社製STM32シリーズの構成のマイコン製品、および機能紹介を行います。ARMSHA CoreTex M7はCoreTex Mシリーズでも最高のパフォーマンスを発揮するCPUです。CoreTex M3 M4シリーズからのステップアップを考えている方や、今あるアプリケーションをさらにパワーアップしたい方、構成のマイコンに興味のある方はぜひこのビデオをお楽しみください。このビデオでは、ARMSHA CoreTex M7搭載マイコンラインナップ、STM32 H7マイコンとSTM32 F4マイコンの違い、STM32 H7 Dual Coreマイコンについて、STM32エコシステム、これら4つについてプレゼンテーションを行います。ARMSHA CoreTex M7搭載のマイコンラインナップの紹介をいたします。STM32シリーズは、2007年よりARMSHAのCPU、CoreTexシリーズをCPUに搭載したマイコンコントローラーの販売を開始しました。当初はCoreTex M3を搭載したSTM32 F1からスタートしましたが、おかげさまで現在ではCoreTex M0 M0プラスから高速動作向けCoreTex M7新世代セキュリティ対応のCoreTex M33まで、幅広いポートホイルを用意しております。また、お客様のご要望に柔軟に対応するために、パッケージ、メモリー容量、ペリフェラルなど様々なバリエーションを揃えており、ワイヤレス、超低消費電力、メインストリーム、ハイパフォーマンス、マイクロプロセッサーの5つのライン、K17のシリーズを用意しており、デバイスの種類は1000を超えています。ラインナップ間でも同じ形状のパッケージでは互換性があり、の世界も容易になっております。デバイスを開発するにあたり、開発エコシステムも充実しており、デバイスの剪定から開発、量産に至るまで、開発ツールやパートナーなど豊富に取り揃えております。また、製品を採用するにあたり、STMicroElectronicsでは10年間の長期供給保証を行っております。これは、毎年1月1日を基準として10年の保証を新規で規定し直します。STM32F1で見た場合、2007年を基準とすると、2019年までの13年間の供給実績、および本年度から数えてさらに10年の保証、合計23年の供給実績、および保証となります。今回ご紹介するコアテクスM7搭載マイコンは、ハイパフォーマンスラインの製品群となります。同じラインには、コアテクスM3およびM4を搭載したSTM32F2F4シリーズがあり、動作周波数も100メガを超える高性のマイコン製品となっております。この表は、マイクロコントローラーに搭載されているCPUのパフォーマンス比較表になります。表示されている数値は、エンベデッドマイクロプロセッサー、ベンチマークコンソーシアム、EEMBCに登録されている、組み込む向けベンチマークテストのスコアになります。コアマークで表示されている数値が高いほど、マイコンのパフォーマンスが高いものとなっております。ARMコアテクスM7を使用した製品は、コアテクスM4を使用したものに比べてコアマーク値が高くなっております。例えばSTM32F4シリーズの動作周波数180メガヘルツに対して、STM32F7の動作周波数216メガヘルツでは、周波数が1.2倍高いだけですが、コアマークの数値としては608から1082Aと約1.8倍となっております。これは同じARM社コアテクスMシリーズでも、M7は特に高い処理能力を持っていることを示しております。このため、高速処理や高い演算能力を必要とするアプリケーションには、コアテクスM7シリーズ搭載のマイコンは最適の選択となります。コアテクスM7を搭載したマイコンSTM32F7シリーズのラインナップの説明をいたします。STM32F7シリーズは、ARMコアテクスM7をベースとし、ST独自のキャッシュ機能、ハートアクセラレーターにより、フラッシュメモリーからのコード実行時に、216MHzで1082コアマーク、460NMD MIPSの処理能力を実現します。STM32F4シリーズの最大2倍のDSP性能を持ち、電力効率にも優れています。外付けメモリー使用時でも、ヘイルワンキャッシュにより高い性能を維持します。また、他のSTM32シリーズとピンコ感性およびSTM32F4シリーズのコードコ感性があるため、既存のSTM32開発エコシステムを利用可能なスマートなマイコンです。ラインナップはJPEG CODEXやMipi DSiなどの高機能な画像表示系のペリフェアルを搭載したAdvanced Line、USB High-Speed Fireを搭載したFoundation Line、内蔵フラッシュメモリーを必要最小限にして、コストパフォーマンスを追求したValue Lineを用意しております。次にSTM32H7シリーズの紹介をします。STM32H7シリーズは、ARM COATEX-M7とCOATEX-M4を搭載したリュアルコアマイクロコントローラー、および、COATEX-M7のみを搭載したシングルコアマイクロコントローラーで構成される製品シリーズです。リュアルコアのSTM32H7は、内蔵スイッチング電源、SMPSにより高い動的電力効率を実現します。LINEUPは、COATEX-M7とCOATEX-M4を搭載した超高性のリュアルコアライン、強力な画像表示機能を搭載したシングルコアライン、内蔵フラッシュメモリーを必要最小限にして、コストパフォーマンスを追求したバリューラインを用意しております。STM32H7シリーズは、CPUの性能のみならず、豊富なペリフェラルを搭載し、より汎用性を高めたマイクロコントローラーとなっております。最近発表になった新シリーズのご紹介をいたします。こちらは、2020年1月にリリースされましたSTM32H7A7Bシリーズのプロックズになります。このシリーズは、画像表示系をパワーアップしております。内蔵ラムを1.4MB搭載しており、このメモリーを表示用の画像バファーとして使用することができます。高速でアクセスできるメモリーとなりますので、画像切り替え表示も高速で十分にこなすことができます。また、ラウンドディスプレイ表示で表示用メモリー領域を削減できるChrome GRC機能を搭載しております。その他、ハードウェアJPEG CODEXでの動画再生も可能となっております。追加の新機能として、シリアルROMインターフェースも従来製品の4本、GWAT SPI対応から8本、HOT SPIに対応できるようになっています。さらに、外部シリアルROMの実行コード保護機能として、暗号化したコードをHOT SPIに配置することができます。実行コードをCPUが読み出すときに、HONZA FLYで非暗号化させる機能、HONZA FLY DECRIPTION、HOT FDも搭載しております。セキュリティでも従来のタンパー検出に加えて、アークティブタンパー検出もサポートしております。こちらは、2020年9月に販売を開始したSTM32-H72-73シリーズのブロックズとなります。最大移動差周波数は、このシリーズ最高の550MHzとなり、さらなる高速処理が可能となっております。メモリインターフェースもSTM32-H7A7Bと同じように、HONZA FLYで非暗号化する機能がついたOctal SPIを搭載しております。CPUに直結しているTCMメモリーのインストラクション用のTCMは、AXIRAMと一部共有することにより、最大256KBまで64KB単位で可変させることができます。新規追加機能は、数値延暫アクセラレータを搭載しており、産業機を向けにパワーアップしております。このシリーズは、幅広いアプリケーションに対応した汎用ライン、動作温度範囲が広い産業機を向けライン、内蔵フラッシュメモリーを必要を最小限にして、コストパフォーマンスを追求したバリューラインの3つのラインを用意しております。この称では、STM32-H7とSTM32-F4のアーキテクチャーの違いを見ていきます。ここでは、STM32-F4シリーズのアーキテクチャーを説明します。STM32-F4シリーズは、32ビットAHBバスマトリックスで構成されたアーキテクチャーになります。CPUを含むバスマスターがAHBバス上段に配置されています。CPUの他にはDMA、ESA、USB、TFTコントローラー、画像表示用のクロームアートアクセラレーターがあります。ペリフェラルやメモリ、外部メモリコントローラーなどのスレーブはAHBバス右側に配置されております。CPUはハーバードアーキテクチャーとなっているため、命令実行用のインストラクションバス、データ支度用のデータバス、ペリフェラルアクセス用の視線バスの3つのバスがAHBバスに接続されており、内蔵フラッシュメモリーへはアートアクセラレーター経由で接続されています。アートアクセラレーターはデータやインストラクションをキャッシュする機能を持っており、CPUのパフォーマンスを向上させることができます。コアテクスM4のデータラインにはCPU専用の高速アクセスメモリー、CCMデータエスラムが接続されており、3つのドベインに分かれた内蔵エスラムと合わせて、こうするプットの処理に貢献します。AHBバスマトリックスの利点は、複数のバスマスターが、それぞれ別のスレーブにアクセスした場合、マスター間でのアクセスの衝突が起きず、並列処理となるため、高いスループットが実現できます。また、複数のマスターが同じスレーブにアクセスした場合には、ラウンドロビン方式のアクセスとなり、ウェイトを最小限に抑えることができます。このように、アートアクセラレータのキャッシュ機能、高速アクセス可能並むAHBバスマトリックスの採用により、CPUの機能を最大限引き出す構成となっております。STM32H7シングルコアラインは、1つのAXIバスと2つのAHBバスで構成されたユニークなアーキテクチャーになっております。コアテクスM7が搭載されているD1ドメイン、コミュニケーションペリフェラルが多数搭載されているD2ドメイン、パワークロックコントロールが搭載されているD3ドメインの3つで構成されています。シングルコアラインは、コアテクスM7に内蔵されているL1キャッシュのみでデータインスラクションのキャッシュを行うため、STM32F4やF7に搭載されているアートアクセラレーターは搭載されておりません。D1ドメインは64ビットバス幅のAXIバス、D2とD3ドメインは32ビットバス幅のAHBバスで構成されており、それぞれのドメイン間は接続されて、CPUはすべてのドメインのペリフェラルやメモリにアクセスすることができます。D1ドメインはAXI64ビットバス幅構成となっているため、AHB32ビットバスより高いスループットを実現できます。コアテクスM7の他に内蔵フラッシュメモリ、大容量エスラムが接続されており、CPUの高いパフォーマンスをサポートします。その他、QWAT SPIインターフェースや外部メモリコントローラー、画像表示系のペリフェラルなど高いスループットを要求するペリフェラルが接続されており、外部メモリからの命令実行や高いフレームレーターの画像表示に貢献します。DMAもこのドメイン専用にMDMAを用意しております。CPUはL1キャッシの他にCPUに直結したメモリ、タイトリーカップルドメモリ、TCMがあります。インストラクション用、データ用に分かれており、高速アクセスが可能なため、原かじめ決められた短い時間で処理が必要な場合にはこちらを使用することができます。これらのメモリにはMDMAでのデータ転送が可能で、CPUの負荷なしにデータの転送ができます。D2ドメインはコミュニケーション用のペリフェラル、DMA、メモリが搭載されており、このドメインにあるペリフェラルメモリ感をDMAで転送した場合、他のドメインのデータ転送を妨げることがありません。この部分だけ見ると、前のスライドのSTM32F4のCPUアートアクセレレタ話と同等の構成となり、STM32マイコンシリーズを扱った方は馴染みやすい構成となっております。D3ドメインはパワー、クロックコントロール以外にも、リセット、低症避伝力モードで動作するペリフェラルや、リアルタイムクロックを含むバックアップドメインを搭載しております。また、低症避伝力モードでも動作可能なD3ドメイン専用のDMA、BDMAを搭載しております。これらの3つのドメインのパワーコントロールは独立して制御できるようになっており、例えばD1、D2ドメインの使用がない場合には、これらを低症避伝力モードに移行でき、D3ドメインにて必要なデータを受信した場合にCPUを起動させるといったことが可能になります。このように動作を工夫することにより、高いパフォーマンスでも症避伝力を抑えることが可能になります。STM32F4やF7とは少し違ったユニークなアーキテクチャーとなっておりますが、より高速な動作と電力削減が可能となっております。STM32H7シリーズのリュアルコア製品はコアテクスM7とコアテクスM4が搭載されています。リュアルコア製品でよくある例としては、パワフルなCPUと、低消避伝力モード時に動作可能な低消避伝力型CPUの組み合わせですが、H7の場合には強力なCPUを2個搭載して、さらにパフォーマンスを上げる仕様となっております。バスアーキテクチャーはシングルコアラインと同じですが、D2ドメインにコアテクスM4が搭載されており、コアテクスM7とは独立したドメインで動作します。D2ドメインはSTM32F4でも使用されているコアテクスM4プラスAHBバスアーキテクチャーとなっておりますので、今までのSTM32シリーズのマイコンを、ご利用のお客さまでも容易に使用することができます。コアテクスM4の起動はD1ドメインにあるFlash Bank Bから行うため、コアテクスM4用のキャッシュアートアクセラレーターはD1ドメインのマスターになっております。アートアクセラレーターは電源投入後、Flash領域のアクセスに設定されていますが、外部メモリーへのリマップが可能となっております。この機能により実行コードは外部メモリーでも高速動作が可能となります。CPU単体では処理しきれない作業の実現もしくはCPUが互いに独立した動作をさせることができるため、今までのアプリケーションで、複数のマイコンを必要としていた場合でも高い処理能力により、マイコンを1個に集約することが可能です。この賞ではリュアルコアについて説明します。2019年5月にH7シリーズにリュアルコア製品が追加されました。STM32シリーズでさらに高いパフォーマンス製品のご要求に応えるべく本製品をリリースいたしました。より高いパフォーマンスを求めるアプリケーションの場合、1つのチップに2つのCPUが搭載されているリュアルコア製品は大きなソリューションとなります。モムコストの提言や開発リソースを分散させて開発機関の短縮を測るなど、ハードウェアやソフトウェア製作面でもメリットが期待できます。STM32 H7リュアルコア製品の一般的なユースケースをいくつか紹介します。STM32 H7シリーズは厚生のCPU、および豊富なペリフェラル搭載により、幅広いアプリケーションに柔軟に対応することができます。使用例としては、コンスウマーアプリケーション、インダストリアルアプリケーション、IoTの3つを紹介します。コンスウマーアプリケーションでは、コアテクスM7側でCPUの特徴を生かした高度なユーザーインターフェース、オーディオ処理などを行い、コアテクスM4側ではセンサーの正義やワイヤルススタックの処理を行うことができます。インダストリアルアプリケーションでは、コアテクスM7側での高度なユーザーインターフェースやDSP処理を利用した複雑なデータ処理、コアテクスM4側ではモーターコントロールなどのリアルタイム処理を行うことができます。IoTでも同様に、コアテクスM7側での高度な処理、コアテクスM4側でのワイヤルススタック処理など、ハイパフォーマンスで行うことができます。リュアルコア製品のデザイン例としてタスクを分割させる例をご紹介します。1つ目はタスクをパラレルで分割させる例です。CPU-1をコアテクスM7、CPU-2をコアテクスM4としたワイ、右上の図のようにそれぞれのCPUを並列で処理させることが可能です。2つ目はデータ処理をそれぞれのCPUで分割させる方法です。右上の図のようにそれぞれのCPUで処理する量を決めてパラレル処理をさせ膨大なデータ量の計算を高速で実現します。3つ目は2つのCPUをパイプライン処理させる方法です。中央下の図のように2つのCPUを連動させて複雑な計算を高速で処理させることが可能です。内蔵された複数のCPUを効率よく使用してよりパフォーマンスの高いアプリケーション作成をすることが可能です。2つのCPUは搭載している全てのペリフェラルを使用することができます。各CPUが優先して使用したいペリフェラルにグロック供給を有効にすることでペリフェラルを使用することができます。これはリファレンスマニュアルではアロケーションと呼ばれています。アロケーションによりターゲットとするアプリケーションに柔軟に対応することが可能で内蔵メモリーもアロケーションすることにより効率よく使用することができます。この例ではそれぞれのCPUのアロケーションをブルーとオレンジで示しておりデータの入出力や内部メモリーの共有など効率よく使用する例となっております。ブルーで囲まれた部分はCPU1でアロケーションをされたところオレンジで囲まれた部分はCPU2でアロケーションされたところを表します。メモリーやペリフェラルを共用する場合には2つのCPUが同時に同じメモリー領域やペリフェラルをアクセスすることはご動作の原因となりますので避けるようにしてください。内蔵オプションバイトにより2つのCPUを同時または片方を優先的にブートさせることができます。オプションバイトにはCPUのブートオーダー用にBCM7とBCM4の2つのビッドがありこのビッドの組み合わせでコアテックスM7またはコアテックスM4のいずれかもしくは両方同時にブートさせることができます。ブートでは両ビットが1のため両方のCPUが同時に立ち上がりますが例えばコアテックスM7をマスターCPUとして優先的に立ち上げたい場合にはオプションバイトのBCM7を1BCM4を0とすることでコアテックスM7を優先的にブートさせシステムの初期化を実行した後コアテックスM4を起動させることができます。この場合コアテックスM7が初期化を行っている最中はコアテックスM4はクロック供給が停止しています。コアテックスM4を起動させる場合にはコアテックスM7よりクロック供給を有効にしてください。リバルコアに搭載されている2つのCPUの扱いとしては両方のコアをマスターとして動作させるよりかはどちらかのCPUをマスター残りをスレーブとして使用するとそれぞれのCPUを効率よく使用することができます。例えばコアテックスM7をマスターコアテックスM4をスレーブとした場合スレーブを通常は停止被電力モードに入れておき必要な時にマスターからウェイクアップさせ作業が終了した後再度停止被電力モードに入れるといった使い方です。STM32シリーズを使用するにあたりSTMicroElectronicsではエコシステムを提供します。マイコン開発を強力にサポートするエコシステムをぜひご利用ください。マイコン開発に必要な要素としてはマイコン自身及びペルヘラルの扱いを理解するためのサンプルとなるコードそれを実際に動作させるための評価ボードアブリケーション開発に欠かせないテクニカルなQ&Aによる問題解決がございます。STM32エコシステムではこれらを十分にサポート可能です。ソフトウェアではSTM32シリーズ用の組み込みソフトウェアSTM32 CUBEコード生成ツールのSTM32 CUBE MX出来上がったコードをマイコンに書き込むプログラミングツールSTM32 CUBEプログラマーがありこれらをSTウェプサイトより無償でダウンロードできます。評価用ボードではSTM32ニュークリオ、ディスカバリーキット評価ボードの3種類を用意しており使用状況に柔軟に対応できます。カスタマーサポートはFAAによる技術的なサポート開発コミュンティーサイトやMOCマッシブオープンオンラインコースと呼ばれるテクニカルなオンライン動画お客様での開発を加速させるパートナープログラムを用意しております。STM32エコシステムを上手に使いお客様での開発をよりスマートに行うことが可能です。STM32を評価するためのボードとして一番人気のあるSTM32ニュークリオボードのラインナップを紹介します。マイクロプロセッサーを除くほぼすべての製品がニュークリオボードに搭載されております。ボードはマイコンのパッケージが32ピンパッケージ品、64ピンパッケージ品144ピンパッケージ品の3種類あり両頭に応じて選択できるようになっております。144ピンパッケージ品にはUSBやESAが搭載されているものもあります。価格も安価なものが多くインターネットのウェブサイトからも来てがらに入手できるようになっております。コアテクスM7搭載の構成のマイコンニュークリオボードはSTM32 F7アドバンスラインのF746 F756 F767同じくファウンデーションラインのSTM32 F72にSTM32 H7シングルコアラインのSTM32 H743 H753 H723 H703同じくリューアルコアラインではSTM32 H745 H755を用意しております。コアテクスM7を搭載したマイコンのホンライントレーニングのリンクをご紹介します。英語版ではありますがデバイスについてのより詳しい機能の紹介があります。またビデオで紹介している使用もダウンロードすることができます。コアテクスM7を搭載したマイコンの関連サイトをご紹介します。ここでご紹介するサイトは日本語となっておりリファレンスマニュアルやアプリケーションノートのダウンロードをすることができます。STM32 構成のマイコンにご興味のある方使用を検討している方はぜひご覧ください。長い時間お付けいただきありがとうございました。コアテクスM7を搭載したマイコンのご紹介を行いましたがご理解いただけますと幸いです。引き続きARMコアテクスM7を搭載したSTM32-H755ニュークリオボードを使用した実習編をお楽しみください。STM32-H7リュアルコアラインを使用したハンゾン形式のビデオとなっております。STM32 CubeMXとIAR社の統合開発関係を使用したリュアルコアマイコンの基本的な使い方やプログラムの構築方法が学べます。STM32構成のマイコンをよろしくお願いいたします。ありがとうございました。