MCUソフトウェア技術職年収上昇幅1位

職種別決定年収上昇幅まとめ(出典:パーソナルキャリア)
職種別決定年収上昇幅まとめ(出典:パーソナルキャリア)

組込みソフトウェア技術職が、2023年度の転職者職種別年収増加幅で1位という嬉しい結果が発表されました(2024年6月12日、パーソナル キャリア運営転職サービス、デューダ)。

転職エージェントサービス利用者の採用決定年収の集計結果に基づいています。6月18日の@IT関連記事、ニーズ高まる5つの理由と共に内容をまとめ、MCUソフトウェア/ハードウェア開発者へのアドバイスを示します。

職種別決定年収ランキング

職種別決定年収上昇差分ランキング(出典:パーソナルキャリア)
職種別決定年収上昇差分ランキング(出典:パーソナルキャリア)

組込みソフトウェア技術職は、地味で目立たない職種です。華やかなクリエイター・クリエイティブ職や、目立つ金融系専門職より年収増加幅が大きいことは、その認識が変化しつつある現状を示しています。

※技術職:数学や理科、工学、情報工学といった理系の専門的な知識を活かし製品の製造開発や維持管理にかかわる業務。
※専門職:長期の教育訓練を通じて習得される高度の専門的知識・経験を必要とする職位、ないしはそのような職位を担当する人。

MCUソフトウェア技術職年収上昇幅1位要因

前章比較14職種の中でMCUソフトウェア技術職の年収増加分(差分)が1位となった要因は、「IoTやAI普及」により、幅広い業界でのニーズが高まり、人材不足だからとパーソナルキャリアは分析しています。

ニーズが高まる5つの理由も示しています。

  1. IoT拡大:IoT機器はMCUシステム開発が不可欠
  2. 自動車産業進化:MCU開発者専門知識が求められる
  3. スマートファクトリーと産業自動化:産業用ロボットや自動化はMCU開発者ニーズを高める
  4. 医療技術進化:高度化医療機器にMCUシステムが使われる
  5. エネルギー効率と環境配慮:エネルギー効率と環境配慮ソリューションにMCUシステム活用

MCU開発者は、幅広い分野のニーズがあり、安全性やリアルタイム性など開発制約が多いため人材不足が目立つことが1位要因です。

※MCUシステム開発は、ソフトウェアだけでなくハードウェアも必須です。MCUハードウェア技術者は、ハード/ソフトの垣根を越えハードテストプログラム開発などに積極的に参加しスキルを磨けば、ハードウェア直近の組込みソフトウェア技術職だとも言えます。

本ブログでは、ハード/ソフトを区別せずMCU開発者と表記します。

Summary:MCU開発能力は自ら切り開く

MCU開発能力を自ら切り開きキャリアアップ
MCU開発能力を自ら切り開きキャリアアップ

組込みソフトウェア技術職が、2023年度転職者職種別年収増加幅1位の結果は、MCU開発者の売り手市場ニーズを示しています。MCU開発者は、市場ニーズを把握し、多くの開発制約を解決できる幅広い能力を自ら磨く必要があります。

開発制約とは、例えば、コスト、期間、開発に必要な知識の広さ・深さなどです。さらに規模にもよりますが、MCU開発は多くの場合、一人で担当します。限られた時間内で、効率良く最大成果を上げるスキルや、業務内外の知識も、高まるニーズを満たすには必要でしょう。

転職を勧めている訳ではありません。市場ニーズを把握し、それを満たすよう研鑽することが、MCU開発者自身の価値、キャリアを高めると言いたい訳です。

Afterword:ベアメタルor RTOS or弊社テンプレート

MCUソフトウェア処理は、ベアメタルが良いのか、RTOSが良いのかは、RTOSオーバーヘッドやデバイスコスト、開発ソフトウェア移植・流用性などの考慮も必要です。2024年2月20日、“You Don’t Need an RTOS (Part1)”は、RTOS課題やスーパースケジューラ対策を説明しています。

歯ごたえある英文です。同ページをEdge閲覧中に、右上Copilotをクリックすると、日本語(ご利用中の言語で)ページ概要が無料生成できます。話題のAI活用で、効率良く内容理解ができます。

Copilot活用ページ概要生成
Copilot活用ページ概要生成

弊社販売中ベアメタルテンプレートもスーパースケジューラの一種ですので、嬉しい記事です。記事との差分は、弊社テンプレートが、初心者向きポーリングベースなことです。

中級向きになりますが、Part2Part3内容を弊社テンプレートへ加えるのも、面白いと考えております。結果は、本ブログで示す予定です。


エッジAI導入アプローチ

市中ビデオカメラへのエッジAI応用例とどの程度TOPS能力が必要かが判る記事、STM32F3マイコンの電動自転車へのAI応用記事から、MCUとMPU/SBCのエッジAI導入アプローチの違いを説明します。

ビデオカメラのエッジAI応用例

AIビジョンプロセサHailo-15によるカメラノイズ除去、鮮明化例(出典:記事)
AIビジョンプロセサHailo-15によるカメラノイズ除去、鮮明化例(出典:記事)

上図は、左側オリジナルビデオ画像を、AI Visionプロセサ:Hailo-15を使って、ノイズ除去と鮮明化、人物認識を行った例です。

この例では、低照度下で撮影した4Kビデオ画像のノイズ除去に約100ギガオペレーション/秒(GOPS)、30フレーム/秒のリアルタイムビデオストリーミングなので3 TOPS処理能力が必要です。

Hailo-15は、AI処理能力に応じて現在3製品をラインナップしており、それぞれのTOPS値が下図です。

Hailo-15ラインナップ’(出典:HAILOサイト)
Hailo-15ラインナップ’(出典:HAILOサイト)

7 TOPSのHailo-15Lでも十分なビデオカメラエッジAI処理が可能です。カメラ外付けのHailo-15は、例えば、SBC(シングルボードコンピュータ)Raspberry Pi 5と組み合わせると面白い装置が開発できると思います。

同様のビデオエッジAI処理をMCUで実現する場合は、コチラの投稿で示したCortex-M85コア搭載RA8D1があります。

電動自転車のエッジAI応用例

2024年4月3日、STマイクロは、電動自転車搭載の汎用MCU STM32F3(Cortex-M4/72MHz、Flash/128KB)へ、無償エッジAI開発ツールSTM32Cube.AIを使って、自転車タイヤの空気圧を推定、空気を入れるタイミングを示すAI機能を実装しました。

STM32F3は、上記AI機能の他にも自転車本体の電動アシスト量制御やモータ制御も行っています。つまり、空気センサなどの追加ハードウェア無しでエッジAI機能が低コストで実装できた訳です。

STM32F3へのエッジAI応用例(出典:STマイクロ)
STM32F3へのエッジAI応用例(出典:STマイクロ)

STマイクロのMCUソフトウェアは、HAL(Hardware Abstraction Layer)APIを使って開発すると、同社の異なるMCUコアでも移植性の高いソフトウェアが作れます。

最新40nmプロセス製造のSTM32F3上位機種が、汎用STM32G4(Cortex-M4/170MHz)です。STM32G4ソフトウェア開発をご検討中の方は、弊社STM32G0x(Cortex-M0+/64MHz)テンプレートをご活用ください。
また、より低価格低消費電力なSTM32C0(Cortex-M0+/48MHz)へもG0xテンプレートが適用可能です。
詳細は、info@happytech.jpへお問い合わせください。

Summary:エッジAI導入の2アプローチ

エッジAI導入の2アプローチ
エッジAI導入の2アプローチ

実際のエッジAI応用例から、MCUとMPU/SBCではエッジAI導入アプローチが異なる事を示しました。

MCUは、STM32F3例が示すように、「追加ハードウェア無し低コストAI実装アプローチ」です。STM32Cube.AIを使い、実装MCUへソフトウェアのみでAI機能追加を行います。

MPU/SBCは、外付けHailo-15H/M/Lを使ってエッジAI処理を行います。「拡張性重視のAI実装アプローチ」です。

ユーザが求めるAI機能は、今後益々増えます。エッジAI処理増加により、より高い電力効率で高性能な処理コアが求められるのは、MCUもMPU/SBCも同じです。

製品開発には、ある程度の期間が必要です。この期間中に増加するエッジAI処理増に耐えられる製品の処理コア選定は、重要検討ポイントになるでしょう。

関連投稿:MCUとMPUの違い

Afterword:ビデオエッジAI処理プロセス

ビデオエッジAI処理プロセス(出典:HAILO記事)
ビデオエッジAI処理プロセス(出典:HAILO記事)

最初の記事に、ビデオエッジAI処理プロセスが良く判る図があります。これを見ると、エッジAI処理がハードウェアの並列処理に向いていることも判ります。

ハードウェアは、製品化後、簡単に追加ができないため、どの程度の余力を製品ハードウェアに持たせるかは、コストとの兼ね合いで「永遠の課題」です。これは、ソフトウェアのみでAI機能を実装するSTM32Cube.AIでも同じです。製品実装済みMCUの余力を上回るAI機能追加はできないからです。

つまり、当面の安心をMCU開発者へ与えるには、最新MCUの製品利用がBetterということです。


評価ボード活用MCU製品開発

MCUの正常動作には、安定したクロック供給が最重要です。これは、ソフト/ハード、どちらの開発者も知っておくべき基本です。デジタルデバイスの動作保証は、安定クロックがあってこそだからです。

ルネサスRX、RAファミリで説明しますが、全ベンダの評価ボードでも同様です。ぜひ本稿を参考にしてください。

メイン/サブクロック回路基板設計要点

2024年2月発行のRX、RAファミリ向けアプリケーションノートを使って、製品開発にベンダ評価ボード活用メリット/デメリットを説明します。

メインクロック回路、サブクロック回路のデザインガイド Rev.1.00 (PDF) (日本語)
Design Guide for Main Clock Circuit and Sub-Clock Circuit Rev.1.00 (PDF) (英語)

※アクセス時、ログインが必要な場合があります。

メインクロックとサブクロックの基板例(出典:図26)
メインクロックとサブクロックの基板例(出典:図26)

RX、RAファミリのMCUを対象に、メイン/サブクロック発振回路基板パターンやルネサス推薦発振子メーカなど、特にMCUクロック関連回路の基板設計要点をまとめたのが、上記アプリケーションノートです。

MCUの動作を決めるのがメインクロック、サブクロックはRTC(時計機能)に使います。全てのデジタルデバイスは、正確なパルス幅の安定したクロックが供給されて初めて正常に動作します。MCUは、なおさらです。

クロックが不安定な場合は、原因不明のMCUトラブルが発生します。外来ノイズにも脆弱です。このような異常状態では、デバッグなどできません。

例えが悪いですが、人間で言えば「心不全」のようなものです。メインクロックの働きを具体的に知りたい方は、コチラを参照(正常クロック供給下の解説)。

従って、クロック回路基板設計要点を守った上でのMCU製品開発が最重要です。

基板設計理想解と現実解

前章の基板設計ガイドは、クロック関連部品だけの理想的な基板、つまり、「理想解」です。

しかし、実際の基板設計は、大きさやコスト、クロック以外の他部品の配置など様々な事柄を考慮する必要があります。そして、それらの総合判断結果が「現実解」であり、実際の製品基板です。

現実解は、ベンダMCU評価ボードでも同じです。

RAファミリRA6E1評価ボードのMCU回り基板を示します。理想解と違っても部品配置、クロック配線の太さ・短さ、そのシールドなど参考にすべき基板回路を持つ現実解です。

RAファミリRA6E1のMCU周り基板現実解
RAファミリRA6E1のMCU周り基板現実解

各ベンダMCU評価ボード目的

前章のMCU評価ボード現実解は、ルネサスRX、RAファミリに限った話ではありません。

つまり、クロック要点を満たし外来ノイズにも強く、かつ、Arduinoシールドコネクタなどで拡張機能も実装済みのデバイスが、各ベンダのMCU評価ボードです。これらは、MCUベンダ自身の開発ボードですので、極めて高い製品クオリティを持っています。

ベンダMCU評価ボードとは、MCUを評価するためのボードです。しかし、同時に、MCUが正常に動作するベンダ推薦発信器や基板パターンの製品ハードウェア手本も示していると言えます。

プロトタイプ時、各ベンダ評価ボードをそのまま制御系に流用するのは、原因不明MCUトラブル(心不全)を避ける手段として有効であることが判ると思います。

評価ボード活用得失

プロトタイプにMCU評価ボードを流用するメリット/デメリットをまとめます。構成は、下記とします。

プロトタイプ構成=評価ボード+ユーザ機能ボード+ユーザソフトウェア
ボード間接続=Arduinoコネクタ

メリット

  • 高信頼制御ハードウェアが、評価ボードにより簡単に得られる
  • 制御能力過不足時、Arduinoコネクタを持つ別評価ボード交換可能
  • ユーザ機能デバッグに集中できる

デメリット

  • 製品の大きさ、コストを上げる要因になる

簡単に言うと、高信頼で載せ替え可能な制御系と引き換えに、大きさやコスト面の犠牲が生じる構成です。
しかし、筆者は、早期プロトタイプ開発に最適な方法だと思います。

製品改善アプローチ

最終製品時の大きさ、コストを改善するには、評価ボードとユーザ機能ボードを一体基板化するのがBetterです。この時も、プロトタイプに使った評価ボードMCU周りの発振子配置や配線は、手本としてそのまま製品基板へ流用可能です。

また、一体化最終製品のトラブル発生時、ユーザ機能ハードウェア起因か、または、ユーザソフトウェア起因かの切り分けも、評価ボード流用プロトタイプは容易にします。なぜなら、評価ボードは、信頼性が高いベンダ開発品だからです。

つまり、最終製品とプロトタイプの差分が原因と考えられ、一体化基板ハード、または、ユーザソフトの2つに1つとなります。同一ユーザソフトでのトラブルなら、ハード起因が疑われます。

評価ボード活用プロトタイプは、早期製品化だけでなく、様々な用途やメリットを生みます。

Summary:評価ボード活用MCU製品開発

ベンダ評価ボード活用MCU製品開発
ベンダ評価ボード活用MCU製品開発

ルネサスRX/RAファミリのメイン/サブクロック回路デザインガイドから、MCU製品開発にベンダ評価ボードをそのまま流用する早期プロトタイプ開発方法を示し、得失を明らかにしました。

評価ボード活用プロトタイプは、大きさ、コストを改善する基板パターンの手本となるだけでなく、最終MCU製品トラブル原因が、ハードウェア起因かソフトウェア起因かを切り分ける手段にも使えるなど、メリットが大きいことを示しました。

Afterword:プロトタイプソフトウェア開発に弊社テンプレート

評価ボードがハードウェア手本なら、ベンダ開発サンプルコードは、ソフトウェアの手本です。

弊社テンプレートは、各ベンダの代表的MCU評価ボードに対応済みです。テンプレートは、ベンダサンプルコードを流用・活用し、プロトタイプ向けソフトウェアの早期開発が可能です。

弊社テンプレートと評価ボードを使って早期プロトタイプ開発を行い、MCU製品開発に役立ててください。


総務省IoT入門オンライン講座

総務省総務省が、2021年3月24日まで無料IoT入門オンライン講座を開設しています。IoT基礎知識、IoT技術・関連法制度、IoT活用の全3章から成るPDF配布資料(A4/36ページ)付きで各ページ冒頭に2行程度のまとめ表記があります。

※受講方法は、コチラの記事を参照してください。

資料作成日:令和元年10月

COVID-19パンデミック前、令和元年:2019年10月作成資料に沿ったオンライン講座です。関連法の導入時期などに、COVID-19の影響があるかもしれません。

※関連投稿:総務省2020年4月以降IoT機器アップデート機能義務化予定(2019年9月13日)に関する記載は、資料内にはありません。

資料フォーマット

A4縦ページの上方にスライド、下方にテキスト、いわゆるパワーポイントノート形式の配布資料です。タイトル直下、スライド冒頭に2行程度のまとめ表記があり、このまとめでページ内容が解ります。

オンライン講座は、主にスライド部分を使います。配布資料を読めば、講座内容はほぼ取得できると思います。

IoT入門オンライン講座資料の印象点

A4パワーポイントノート形式のIoTオンライン講座配布資料、良くまとまっています。

資料のWeb転載は禁止ですので、本ブログ読者は配布資料を取得済みと考え、筆者がページ毎に印象に残った点をピックアップします。

※タイトル、まとめ表記は、配布資料を基に簡素化しています。

タイトル まとめ表記 印象点
13 IoT構成機器 IoTシステム構成は3要素 データ収集、分析結果表示がIoTデバイス
14 データ収集 センサでデータ収集 8種センサ概要説明
15 IoTデバイス通信 有線と無線の2種 有線/無線のメリット/デメリット分析
17 無線電波周波数 最適な周波数 波長/周波数/呼び名/特徴分析
18 電波法 電波利用法 無線利用時「技適マーク」必須
19 無線通信 距離・速度・消費電力 無線規格特徴一覧、選択に便利
23 セキュリティ 機密性・完全性・可用性 機密性と完全性と可用性維持がセキュリティ
24 セキュリティ対策 リスクと対策 IoT特有性質とリスク分析
25 セキュリティ対策 対策の5指針 5指針と21要点、具体例一覧
26 標準化動向 標準技術メリット 4標準化団体と最新技術動向把握重要
28 IoT進め方 アイデア → 試行錯誤 プロトタイプで試行錯誤 → 導入
29 ビジネス設定 IoT解決課題設定方法 情報整理に3C/SWOT/KPT活用
30 アイデア案出 IoT活用の3段階 アイデア案出方法
31 アイデア優先順位 効果と実現可能性 効果、実現可能性の考慮方法
32 データ留意点 利害関係調整と個人情報保護 具体的留意点説明
33 運用後の対応 想定と対応策 想定具体的トラブル説明

P28のIoTデバイスをプロトタイプで試行錯誤し開発する手法は、弊社マイコンテンプレートを利用すると、「複数デバイスで実証・比較評価できるなどより効率的・実践的」になります。

マイコンテンプレートのMCUデバイスはどれも汎用MCUですが、開発者のナレや接続センサとADCの使い方により差は生じます。さらに、デバイス消費電力も、開発ツールシミュレーションと評価ボードで評価します。最もアイデアに適し開発し易いMCUは、実はプロトタイプ化しなければ判らないと思います。

配布資料は、「IoTデバイスを中心」に基礎から導入後の運用など、IoT全般に関する幅広い内容です。IoTデバイス開発者の頭の中を整理、開発後のデバイス活用・運用などを予見する場合にも役立ちます。

資料にもCOVID-19影響?

スライド利用のプレゼンテーションは、パワーポイント/Impress(LibreOfficeパワーポイント相当)の資料作成が標準です。一方、弊社テンプレート配布資料は、A3 Visio/Draw形式で作成しています。これは、横長PCモニタ表示を前提としているからです(印刷時、70%縮小A4横出力想定)。

COVID-19の影響で、プレゼンテーションも対面からオンラインへ変わりつつあります。配布資料も従来のようにパワーポイント/ Impress形式が良いか、Visio/Draw形式か、モニタも3:4サイズが良いか、9:16かなど、配布資料フォーマットにも今後影響がでるかもしれません。

弊社テンプレート開発、配布資料のご意見、ご要望などは、info@happytech.jpへお寄せください。

3.3V MCUと5Vデバイスインタフェース

3.3V動作MCUに、5V動作デバイスを接続するインタフェースとして、

  1. 3.3V MCUの5V耐圧ピンで、5Vデバイス(例えばLCD)と接続
  2. MCUに5V耐圧ピンがない時は、間にレベルシフタを入れる

弊社投稿:MCUの5V耐圧ピンの要旨でした。本稿は、さらに2つ選択肢を追加し、4インタフェースを評価しました。

4インタフェース特徴と評価結果

3.3V MCUと5Vデバイス接続4インタフェースの特徴と評価結果
インタフェース 特徴 評価
1 MCU 5V耐圧ピン ピン数が足りれば追加コストなく信頼性も高い Good
2 レベルシフタ挿入 I2C/SPI接続でトラブル報告多く信頼性は低い Poor
3 CMOSデバイス直結 開発MCUソフトウェアの動作確認に使える Average
4 バス・スイッチ挿入 高速性・信頼性ともに高くMCU低消費電力動作に理想的 Excellent

レベルシフタ挿入

入手性の良い秋月電子)8ビット双方向レベルシフタ:FXMA108の使用例を調べると、I2C接続時には期待通りの動作をしない情報がネット上に多数あります。原因は、アクティブデバイスFXMA108の双方向判定のようです。

I2C専用レベルシフタ:PCA9306使用例もありますが、MCUポート用途に応じてレベルシフタを使い分けるのは、コスト高を招きます。

CMOSデバイス直結

3.3V MCUと5V動作デバイス直結(出展:5V系・3.3V系信号レベル変換掲載図を加工)
3.3V MCUと5V動作デバイス直結(出展:5V系・3.3V系信号レベル変換掲載図を加工)

コチラの投稿:5V系・3.3V系信号レベル変換を参照すると、3.3V系と5V系の間にレベルシフタなどのアクティブLSIデバイス挿入は不要、5Vデバイス出力から電流制限抵抗を入れれば3.3V MCU入力へ直結、3.3V MCU出力はそのまま5Vデバイス入力へ直結可能です。

直結は、アマチュア電子工作レベルのCMOSデバイス同士の接続でノイズ・マージンは減る、という但し書き付きですが、次章バス・スイッチのアプリケーション回路図と比べても遜色は少ないと思います。

MCU入力側には、5V CMOSセンサ、出力側には、5V LCD等の表示デバイス接続を想定します。このCMOSデバイス直結を利用すると、3.3V動作MCU評価ボードと5Vデバイス間の接続に手間が少なく、開発するMCUソフトウェアの動作確認には好都合です。

もちろん、MCU評価ボードと5Vデバイス間の配線を短くツイストするなどのマージン減少対策は必要です(配線ツイスト効果は、コチラの弊社関連投稿を参照してください)。

バス・スイッチ挿入

SN74CB3T3245の代表的なアプリケーション(出展:SN74CB3T3245データシート)
SN74CB3T3245の代表的なアプリケーション(出展:SN74CB3T3245データシート)

前章の5V系・3.3V系信号レベル変換投稿で推薦されている2.5Vおよび3.3V、8ビットバス・スイッチ(5V耐圧付き):SN74CB3T3245をインタフェースに使う方法は、伝搬遅延がゼロに近く、双方向パッシブデバイスのためノイズにも強いなど、3.3V低電力動作MCUと5V動作デバイスのインタフェースとして理想的です。

※SN74CB3T3245は、ハードウェア開発で良く用いられるCMOSデバイスの双方向3ステートバッファ:SN74HC245を、より低電圧動作で高速化し5V耐圧も付加した高速CMOSデバイスです。Vcc=2.5Vなら、5V/3.3V入力から2.5V出力へのレベルシフトも可能です。

※付録に、動作電圧が異なるデバイス間の相互接続基礎知識を示しました。

3.3V MCUの5Vデバイス接続インタフェース評価

3.3V動作MCUに、5V動作デバイスを接続する4インタフェースを示しました。

  1. MCUの5V耐圧ピンで接続
  2. MCUと5Vデバイス間に、レベルシフタ挿入
  3. CMOSデバイス同士なら直結可能
  4. MCUと5Vデバイス間に、5V耐圧3V/2.5Vバス・スイッチ挿入

4インタフェース評価は、以下の実績、動作確認に基づいています。

1は、5V耐圧ピンありMCUの弊社テンプレートで、既に多くの動作実績があります。

2のレベルシフタ追加は、I2C接続の不具合情報がネットに多数ありますので、弊社確認は省きます。

3のCMOSデバイス直結は、開発中の3.3V MCU動作5V耐圧ピンなしのFRDM-KL25Zテンプレートソフトウェアで、5V LCDを接続し動作確認します。

4のバス・スイッチ挿入は、TIから数個サンプル入手が以前は簡単にできたのですが、現在は購入が必要です。SN74CB3T3245価格が100円以下と安いだけに送料が無視できず、何かのついでに購入予定です。それまで動作確認は保留します。ただ、データシートを見ると、3.3V MCUと5Vデバイス双方向接続インタフェースには理想的だと思います。

3と4どちらも、確認結果が判明次第、本ブログでお知らせします。

付録:デバイス相互接続の基礎知識

相互接続判定のロジック概要(出展:TIロジック・ガイドP4に加筆)
相互接続判定のロジック概要(出展:TIロジック・ガイドP4に加筆)

TI)ロジック・ガイドから、動作電圧が異なるデバイス間の相互接続判定方法(Judgement)とその結果(Results)を抜粋したのが上図です。

結果は、例えば5V CMOSデバイス同士ならYes=直結、3.3V LVTTL/2.5V CMOS/1.8V CMOSへはVOHはVIHより高く、VOLはVILより低いので、低圧入力側にVIHトレランス(耐圧)があればYes*=直結可能を示しています。

表から、5V CMOSデバイスのD(出力)は、全デバイスのR(入力)へ直結、またはVIH 耐圧で直結できるなど、広い適用範囲が判ります。センサの多くが5V CMOSデバイスでも、3.3V動作MCUとの間にSN74CB3T3245を入れさえすれば、簡単に高信頼インタフェースが実現できる理由です。



NXP MCUラインナップ

NXPは、今から約4年前の2015年12月末にFreeSacleを買収し、FreeSacleのKinetisマイコン(750品種)とNXPのLPCマイコン(350品種)は、NXP 1社から供給されるようになりました。また、別々であった統合開発環境も、新しいMCUXpresso IDEが両MCU対応となり、SDK:Software Development Kitを使ってMCUソフトウェアを開発する方法に統一されました。

本稿は、NXPのCortex-MコアMCU:LPC/Kinetisのラインナップと、新しいMCUXpresso IDE、SDK対応状況をまとめました。

NXP MCUラインナップ

NXP MCUラインナップ(出典:LPC MICROCONTROLLERS 2017-01-04)
NXP MCUラインナップ(出典:LPC MICROCONTROLLERS 2017-01-04)

上図から、おおむね青色のLPCが汎用MCU、橙色のKenitesが特定アプリケーション用途MCUに分類できそうです。

この特定用途とは、例えばKinetis Eシリーズならば、昨今3.3V以下で動作するMCUコアが多いなか、白物家電や産業用途向けに、過酷な電気ノイズ環境下でも高い信頼性と堅牢性(Robust)を維持できる5V動作Cortex-M0+コアMCUを指します(NXPサイトにはCortex-M4コア版もあります)。

Kinetis Eシリーズのコア動作電圧は、2.7~5Vです。関連投稿:MCUの5V耐圧ピンで示したピン毎の5V耐性がMCUコアに備わっており、更に耐ノイズ性も高められているため、タッチパネル操作や多くの5Vデバイス制御に対して使いやすいCortex-M0+/M4シリーズと言えます。

5V動作でタッチパネル付きのKenites KE02 40MHz評価ボード(出典:NXPサイト)
5V動作でタッチパネル付きのKenites KE02 40MHz評価ボード(出典:NXPサイト)

LPC/Kinetis MCUのMCUXpresso IDE、SDK対応

新しくなった統合開発環境MCUXpresso IDEのLPC/ Kenites対応表が、NXP Communityに掲載中です。

この表は毎年更新され、NXPから供給中の全MCU/Application ProcessorのMCUXpresso IDE、SDK対応状況と対応予定まで解るとても役立つ資料です。この表のProduct Familyにフィルタをかけ、Recommended Software欄とMCUXpresso Software and Tools欄を抜粋したのが下表です。

MCUXpresso Supported Devices Table (May 2020より抜粋)
MCUXpresso Supported Devices Table (May 2020より抜粋)

Kenites KE02: 40MHzは、弊社Kinetis Eテンプレートで使ったKinetis Eシリーズマイコンです。2015年のテンプレート開発当時は、旧FreeSacleから供給され、統合開発環境もKinetis Design Studio:KDSとAPI生成ツール:Processor Expertを使いました。現在は、MCUXpresso IDEとSDKへ変わっています。

LPC1100は、古くからあるNXP汎用MCUで、弊社LPC110xテンプレートも提供中です。LPC1100は、MCUXpresso IDEで開発はできますがSDK対応予定は無く(Not Planned)、従来のLPC Open開発が推薦されています。

また、Kinetis KL05: 48MHzは、MCUXpresso IDEとSDK対応予定が無く、旧FreeSacleのKDS開発を推薦しています。

Not Planned 推測

MCUXpresso Software and Tools欄のNot Plannedの意味を考えます。

いずれのMCUも発売後10年~15年程度の安定供給をNXPが保証するため、直ぐにDiscontinueになることはありません。しかし、FreeSacle とNXPの2社統合で当然ながらダブって供給されるMCU品種もある訳で、供給側にとっては1品種へマージしたいでしょう。

この対象は、旧2社それぞれの汎用品種が多く該当すると思われ、その結果が表に現れたと考えます。

つまり、LPC1100やKinetis KL05は、恐らくダブった品種で、新しいMCU開発環境は使わずにそのまま旧開発環境で継続開発ができますが、近い将来Discontinueの可能性が高いと思います。Not Plannedは、これを暗示的に示していると推測します。

もちろん、新発売MCUや生き残った品種は、どれもMCUXpresso IDEとSDKに対応済み(Available)です。最初のMCUラインナップ図を振り返ると、多くのKinetisシリーズは、特殊用途MCU:Application Specific Familiesとして生き残り、Kinetis K/Lシリーズは、汎用MCU:General Purpose Families内で生き残ったのだと思います。

但し、生き残った品種でもデバイスによってはDiscontinueの可能性があり、個別デバイスの確認は、Community掲載表を参照した方が良いでしょう。

弊社マイコンテンプレート対応

主に汎用MCU向けの弊社マイコンテンプレートも、(推測した)NXPと同様の対応にしたいと考えています。つまり、Kinetis Eテンプレートは、最新開発環境MCUXpresso IDEとSDK利用版へ改版、LPC110xテンプレートは、販売中止といたします。

Kinetis E テンプレート改版は、直ぐに着手いたします。Kinetis Eテンプレートご購入者様で購入後1年未満の方は、この改版版を無償提供いたしますのでお待ちください。

LPC110xテンプレートは、1年以上新規ご購入者様がいらっしゃりませんので、無償アップグレード対象者様はございません。既にLPC110xテンプレートご購入者様には、申し訳ございません。別テンプレート50%割引購入特典のご利用をお待ちしております。

Ripple20

前投稿の2~3章で記載した、半導体製品へのサイバー攻撃があり無対策の場合、全製品が使えなくなる実例が発生しそうです。

数億台ものIoT機器や産業制御機器に実装済みのTreck社提供TCP/IPライブラリに「Ripple20」という名の脆弱性(最大値10の危険度評価9~10)が発見され、対策にはライブラリアップデートが必要ですが、できない場合は機器をネットワークから切り離すことが最低限必要になりそうです。
※TCP/IPライブラリは、有線/無線LANプロトコル実装用ソフトウェアライブラリです。

この脆弱性がハッカーに悪用されると、プリンタなどの機器からでも情報が外部流出します。Ripple20は、IoT MCUにセキュア・ファームウェア更新やOTA:Over-The-Air実装を要件とする先例になるかもしれません。

MCUのセキュア・ファームウェア更新は、関連投稿:STM32G0/G4のRoot of Trustをご覧いただくと面倒な更新方法、2面メモリ必要性などがお判り頂けると思います。OTAも関連投稿:Amazon、IoTマイコンへFreeRTOS提供の2章に簡単ですが記載しております。

IoT MCUへ、ソフトウェアだけでなくCortex-Mコアにも更なるセキュリティ対応の影響を与えそうなRipple20です。

STM32Fx/G0xテンプレートV2改版状況

STマイクロエレクトロニクスの新しい純正統合開発環境:STM32CubeIDEを使い

2017/09/01発売 STM32Fxテンプレート
2019/06/01発売 STM32G0xテンプレート

を、5月中頃にVersion2:V2改版完了を目標に開発中です。どちらのテンプレートも、サードパーティ仏)AC6社の統合開発環境:SW4STM32と当時のSTM32CubeMXで開発しました。もちろん当時、STM32CubeMXビルトインSTM32CubeIDEはありませんでした。
※STM32CubeMXビルトインSTM32CubeIDEの詳細は、コチラの関連投稿3章を参照してください。

STM32FxテンプレートとSTM32G0xテンプレートのVersion2改版
STM32FxテンプレートとSTM32G0xテンプレートのVersion2改版

本稿は、改版で気が付いた1~3年前のSTM32MCU開発と、現在の「変わったところ/変わらないところ」を説明します。SW4STM32からSTM32CubeIDEへのIDE変更は自主的に変える部分ですが、IDE以外も色々な部分が変わっています。

本稿の目的

本稿は、従来IDEのSW4STM32から新しいSTM32CubeIDEへの移行を妨げるのが目的ではありません。

ほんの数年前のMCU開発環境であっても、最新開発環境へ変える場合には、環境変化への対応時間が必要であることを示したい訳です。

この数年間のブランクは、顧客へ納入済みのアプリケーションを改版、改良する場合によく出会う時間差です。MCU環境は目まぐるしく変わります。この変化にどのように上手く対応していくかも、MCU開発者要件の1つです。

現状のMCU開発は、複数の開発ツールがそれぞれ連携してアプリケーション開発が進みます。セキュリティなどの付加サービスであれば、なおさらです。これら複数ツールは、足並みを揃えて全てが一気に最新環境へ対応することは少ないでしょう。

さらに、STM32G0シリーズのような新しいデバイス情報も収集しておく必要があります。これらを考慮したうえで、顧客からのアプリケーション改版、改良案件に対して、その時点での最適解を提案することが必要だと思います(以下、用語の頭に付く「STM32」は省略して記述します)。

STM32CubeMX:コード生成ツール

CubeMXの自動生成する周辺回路の初期設定コードが変わりました。USART2の例が下図です。

STM32CubeMXの周辺回路初期設定変化
STM32CubeMXの周辺回路初期設定変化

左の従来は、USER CODE追記部分が有りませんが、右の現在は、BEGIN~END部分へユーザコードを追記できます。USART2以外にも、TIM3やIWDGの初期設定コードが同様に変わっています。

この追記部分のおかげで、より解り易い処理フロー作成が可能です。弊社テンプレートV2もこれを活用します。

MCUの消費電流Chartが生成レポート6.6に追加されました。25℃/3.3V動作時のG0/F0/F1各SimpleTemplateのChartを示します。縦軸を比較すると新汎用MCU:G0シリーズの低電力性能がよく解ります。

STM32G0、STM32F0、STM32F1の消費電流比較
STM32G0、STM32F0、STM32F1の消費電流比較

G0シリーズの特徴は、コチラの関連投稿などを参照してください。

AN:アプリケーションノート

アプリケーション開発に最も役立つのが公式AN:サンプルコード集です。CubeMXを開発起点とするサンプルコード集が、F0はAN4735、F1はAN4724、G0はAN5110です。基本的な周辺回路制御方法と、それらを生成するCubeMXプロジェクトファイルが一覧表になっています。

例えば、F1のHAL(Hardware Abstraction Layer)API利用ADCサンプルコード4種を抜き出したのが下記です。

STM32F1シリーズのADCサンプルコード
STM32F1シリーズのADCサンプルコード

従来比、各AN添付のCubeMXプロジェクトファイルは増えましたが、F0/F1は、ブランクプロジェクト(≒開発起点に使えない空プロジェクトファイルで下図左側)です。ここは、数年前と変わっていません。

また、どのサンプルコードもSW4STM32/IAR EWARM/Keil MDK-ARM対応で、未だ新しいCubeIDEには対応していません。
※サンプルコードの中身は、中級開発者には参考になりますが、初心者には、CubeMXプロジェクトファイルがある方が周辺回路の設定内容がより解り易いと思います。

ちなみに弊社テンプレートには、開発起点となるCubeMXプロジェクトファイルを自作し添付しています(下図右側がF1BaseboardTemplateの例)。

この添付CubeMXプロジェクトファイルがあると、どなたにでもテンプレートを活用したアプリケーション開発やピン配置変更、内容修正が容易です。周辺回路設定方法などもV1で頂いたテンプレートご購入者様の意見を反映し添付します。

STM32CubeMXブランクプロジェクトとSTM32F1テンプレートのプロジェクトファイル比較
STM32CubeMXブランクプロジェクトとSTM32F1テンプレートのプロジェクトファイル比較

STM32G0シリーズHAL APIアプリケーション重要性

F0~F1のMCU性能を1つでカバーし、かつ低消費動作なG0シリーズMCUには、その性能を100%活かせる専用LL(Low Layer)API開発が適すと考え、G0xテンプレートV1は、LL APIを主として発売しました。

しかし、G0シリーズは、コア依存性が少ないHAL APIアプリケーション開発がSBSFU実装も可能であり優れています(詳細は、コチラのG0/G4 Root of Trust関連投稿を参照してください)。G0xテンプレートV2は、HAL APIでテンプレートを新規開発します。
※SBSFUを実装したG0xテンプレートは、V2以降(多分V3)で予定しています。

BSP:Board Support Package

従来のSW4STM32は、サンプルコードにBSPを使っていました。しかし、新しいCubeIDEは、BSPを使わずHAL APIで直接制御するサンプルコードが主流です。BSPの実体はHAL APIの組合せですので、BSPを使うよりも評価ボード依存性が無く、より応用流用し易いのは、CubeIDEです。

テンプレートV2も、BSPを使わないCubeIDE方式にします。

Baseboard

mbed-Xpresso BaseboardとNucleo評価ボード接続
mbed-Xpresso BaseboardとNucleo評価ボード接続

秋月電子で簡単に入力できたBaseboardが、現在取扱終了です。代わりにアマゾンマルツで簡単入手できます。

LCDやSWなどのシールドをそれぞれ単体で追加購入するよりも、低価格で評価ボード機能追加ができます。その分、手配線は必要ですが😅、オス-オスジャンパーワイヤで手軽に接続ができます。

STM32CubeIDE日本語文字化け

CubeIDE当初から続く日本語文字化けは、最新版でも解消されていません。コチラの方法で解決しました。

SW4STM32 Webinar

従来の統合開発環境:SW4STM32もまだまだ現役です。例えば、2020年5月5日、15:00~17:00に2時間無料Webinarがあります(多分、英語かフランス語)。最新STM32MP1対応SW4STM32解説なので、興味ある方は、視聴してはいかがでしょう!

Free webinar on Embedded Linux with System Workbench for Linux

さいごに

開発環境変化への対応が必要と説明しましたが、実際にどれ程の時間が必要かは示していません。上手く対応できれば即座ですが、下手をすると本来のアプリケーション開発、改良よりも時間が掛かってしまいます。実際、筆者が対処に結構時間を要したものもありました。

STM32FxテンプレートV2とSTM32G0xテンプレートV2は、筆者が経験したSTM32CubeIDE開発トラブル対処法や、既存AN資産を活用するための様々な対処方法やTipsも解説資料に加えます。テンプレートと合わせてスムースなSTM32MCU開発にお役に立てると考えています。

MCUベンダAPI生成ツール比較

お知らせ

弊社サイト:マイコンRTOS習得を2020年版へ改版しました。前稿までのFreeRTOSサンプルコード(1)~(5)結果を、2017年版へ反映させた結果です。是非、ご覧ください。

MCUベンダAPI生成ツール一覧

FreeRTOSサンプルコード(1)で予告したベンダ毎に異なるAPI生成ツールやその違い、サンプルコードとの関係を説明します。本ブロブ掲載MCUベンダ5社のAPI生成ツール一覧が下表です。

MCUベンダトップシェア5社のMCU API生成ツール一覧
ベンダ API生成ツール ブログ掲載MCU API生成方法
Runesas CS+ RL78/G1x 個別ハードウェア設定
NXP SDK LPC111x/LPC8xx/Kinetis E/LPC5411x MCU設定
STM STM32CubeMX STM32Fx/STM32Gx 個別ハードウェア設定
Cypress PSoC Creator PSoC4/PSoC4 BLE/PSoC4000/PSoC6 個別ハードウェア設定
TI CCS STM432 MCU設定

IDEとは別のAPI生成ツール専用名があり、ツール単独で更新するのが、NXP)SDK、STM)STM32CubeMXです。Runesas)CS+、Cypress)PSoC Creator、TI)CCSは、IDEにAPI生成ツールが組込まれていますので、IDE名称をAPI生成ツール欄に記載しています。
※CS+のAPI生成ツールは、単独でコード生成と呼ぶこともあります。

さて、これらAPI生成ツールには、2種類のAPI生成方法があります。

  • MCU設定:利用MCUを設定し、内蔵ハードウェアAPIを一括生成…NXP)SDK、TI)CCS
  • 個別ハードウェア設定:利用内蔵ハードウェアを個別設定し、APIを生成…Runesas)CS+、STM)STM32CubeMX、Cypress)PSoC Creator

MCU設定タイプのAPI生成ツールは、全内蔵ハードウェアAPIを、ユーザ利用の有無に係わらず一括生成するため、規模が大きく、SDK(Software Development Kit)などパッケージ化してIDEへ提供されます。但し、コンパイル時に利用ハードウェアのみをリンクしてMCUへダウンロードするので、少Flashサイズでも問題はありません。

MCU設定タイプの特徴は、例えば、UART速度設定などのハードウェア動作パラメタは、APIパラメタとしてMCUソースコードにユーザが記述します。

MCU設定タイプのNXP)SDKのUART API例
MCU設定タイプのNXP)SDKのUART API例

一方、個別ハードウェア設定タイプは、UARTなどのハードウェア動作パラメタは、API生成前にGUI(Graphical User Interface)で設定し、設定後にAPIを生成します。このためユーザが、MCUソースコードのAPIに動作パラメタを追記することはありません。

個別ハードウェア設定タイプのSTM32CubeMXのUART API例
個別ハードウェア設定タイプのSTM32CubeMXのUART API例

API生成ツール比較

MCU設定タイプのAPI生成ツールは、使い方がMCU設定のみで簡単です。また、ハードウェア動作パラメタがMCUソースコード内にあるため、動作変更や修正もIDE上で行えますが、人手によるバグ混入の可能性も高まります。

個別ハードウェアタイプAPI生成ツールは、MCUソースコード内のAPI記述が簡素です。生成されたAPI内部に動作パラメタが含まれているからです。但し、ハードウェア動作変更には、IDEから一旦API生成ツールに戻り、APIの再生成が必要です。この場合でも、MCUソースコードは不変ですので、GUI設定にミスが無ければバグ混入は少ないでしょう。

どちらにも、一長一短があります。敢えて分類すると、ソフトウェア開発者向きが、MCU設定タイプ、ハードウェア開発者向きでTP:Test Program応用も容易なのが、個別ハードウェア設定タイプです。

個別ハードウェア設定タイプであっても、Cypress)PSoC Creatorなどは、通常パラメタはBasicタブ、詳細パラメタはAdvanceタブで分け、誰でも設定を容易にしたツールもあります。

MCUソフトウェアは、C言語によるMCU API制御です。MCU API生成ツールの使い勝手が、ソフトウェア生産性の半分程度を占めていると個人的には思います。

サンプルコード/サンプルソフトウェア

各社のサンプルコード/サンプルソフトウェアは、上記API生成ツールのMCUソースコード出力例です。

従って、サンプルコードには、出力例と明示的に判るよう多くのコメントが付加されています。初めてサンプルコードを見る開発者は、注意深くコメントを読んで、そのMCU開発の全体像を理解することが重要です。

全体像が理解済みであれば、より効率的な開発手法、例えば、(推薦はしませんが)個別ハードウェア設定タイプであっても、IDEからAPI生成ツールに戻らずに、直接MCUソースコードでハードウェア動作パラメタを変更するなどのトリッキーな使い方も可能です。

MCU開発とCOVID-19

新型コロナウイルス:COVID-19が世界的に流行しつつあり、工場閉鎖や物流への影響も出始めています。現状は治療薬が無いので、「個人の免疫力と体力」が生死の決め手です。

同時にMCU供給不足/停止など、開発への波及も懸念されます。これに対し「個人で第2のMCU開発力」を持つことが解決策を与えます。

本稿は、MCUベンダトップシェア5社のMCU API生成ツールを比較しました。MCUシェア評価ボード価格や入手性、個人の好みなど、是非ご自分にあった比較項目で、現在利用中のMCUに代わる第2のMCU開発力を持つことをお勧めします。

第2のMCU開発力は、現行と視点が変わり利用中MCUスキルも同時に磨くことができ、様々な開発リスクに耐力(体力)が付きます。短期で効果的な第2のMCU開発力の取得に、弊社マイコンテンプレートがお役に立てると思います。

NXPマイコン開発環境更新

2019年12月20日、NXPマイコン統合開発環境のMCUXpresso IDE v11.1、SDK v2.7、Config Tools v7.0への更新ニュースが届きました。筆者は、Windows 10 1909トラブル真っ最中でしたので、更新対応が遅れ今日に至ります。本稿は、この最新開発環境更新方法と、Secure Provisioning Toolsを簡単に説明します。

NXPマイコン最新開発環境への更新方法

MCUXpresso IDEやSDKの最新版への更新方法は、前版更新方法の投稿:MCUXpresso IDE v11をLPC845 Breakout boardで試すと同じです。

MCUXpresso 4 Tools
NXPマイコン統合開発環境のMCUXpresso 4 Tools

更新方法をまとめると、

  1. MCUXpresso IDE v11.1をダウンロードしインストール(前版v11.0インストール先/ワークスペースともに別になるので、新旧IDEが共存可能)。旧版は、手動にて削除。アクティベーション手順不要。
  2. SDK Builderで旧SDK v2.6を最新版へ更新(旧SDK構築情報はNXPサイトに保存済みなので、ログインで最新版v2.7へ簡単に再構築できる)。
  3. Config Toolsは、他ツールに比べ改版数が大きい(v7.0)のですが、筆者の対象マイコン(LPCXpresso54114/812MAX/824MAX/845Breakout)では、SDKにCFGが含まれており、単独で更新することはありません。
  4. IDE/SDK/CFGの3ツールに加え、新に4番目のSEC:MCUXpresso Secure Provisioning Tool v1が加わりました。が、このSECツールは、Cortex-M7コアを用いるi.MX RT10xxクロスオーバープロセッサ用です。インストールや更新も、筆者対象マイコンでは不要です。

MCUXpresso IDE v11.1更新内容

IDE起動後、最初に表示されるWelcomeページが変わりました。

MCUXpresso IDE v11.1 Welcome Page
MCUXpresso IDE v11.1 Welcome Page

What’s Newアイコンクリックで詳細な更新内容が分かります。

目立つ更新内容をピックアップすると、ベースIDEのEclipse 4.12.0.v201906 / CDT9.8.1とGCC8-2019q3-updateへの対応に加え、ダークテーマ表示が可能になりました。

ダークテーマ利用は、Window>Preference>General>Appearance>ThemeでMCUXpresso Darkを選択し、Apply and Closeをクリックします。Dark Themeは、日本語コメントが読みづらく筆者の好みではありません。Restore Defaultsクリックで元に戻りますので、試してみてください。

マイコンテンプレートラインナップ

前稿の2020年1月のCypress PSoC 4000S/4100S/4100PSテンプレート発売で、弊社マイコンテンプレートの販売ラインナップは、下図に示すように全部で8種類(黄色)となりました。

マイコンテンプレートラインナップ2020/01
マイコンテンプレートラインナップ2020/01

2020年は、ARM Cortex-M0/M0+/M3コアに加え、Cortex-M4コアもテンプレート守備範囲にしたいと考えています。図の5MCUベンダー中、Eclipse IDEベースの最も標準的で、かつ使い易い開発環境を提供するNXPマイコン開発環境が今回更新されたのは、この構想に好都合でした。

Cortex-M7コアのi.MX RT10xxでは、初めからRTOSや高度セキュリティ対策が必須だと思います。Cortex-M4マイコンも高度なセキュリティは必要だと思いますので、SECツールの対応状況も今後注意します。

PSoC 4000S/4100S/4100PSテンプレート発売

HappyTechサイトへCypress PSoC 4000S/4100S/4100PSテンプレートページを追加しました。
PSoC 4000S/4100S/4100PSマイコンの習得、業界標準のCypress第4世代CapSenseコンポーネントを使ったタッチユーザインタフェース(UI)開発に最適なマイコンテンプレート(1,000円税込)の発売開始です。

PSoC 4000S搭載CY8CKIT-145評価ボードで動作中のCapSenseテンプレート
PSoC 4000S搭載CY8CKIT-145評価ボードで動作中のCapSenseテンプレート

PSoC 4000S/4100S/4100PSテンプレート説明資料、ダウンロード可能

PSoC 4000S/4100S/4100PSテンプレート付属説明資料の最初の3ページが、サイトよりダウンロード可能です。

PSoCプログラミングのポイントであるコンポーネント単位ソフトウェア開発を、Cypress第4世代CapSenseコンポーネントを例に具体的に学べます。

Cypress PSoCマイコンの関連テンプレートは、2016年発売:PSoC 4/PSoC 4 BLE/PRoCテンプレートに続いて第2弾目です。前回テンプレートは、一般的なMCU開発で汎用的に使うコンポーネント:液晶表示やADC、SW、BLEなどを使いテンプレート化しました。

このテンプレートご購入者様からは、どうすれば各コンポーネント情報が得られるか、コンポーネントバージョンアップへの対処方法、開発したソフトウェアの他PSoCデバイスへ移植方法など、PSoCプログラミングに関する多くのご質問やご意見を頂きました。

CapSenseコンポーネントに絞ってテンプレート化

そこで、第2弾のPSoC 4000S/4100S/4100PSテンプレートでは、評価ボードへ追加するコンポーネントをCapSenseコンポーネントのみに絞り、よりPSoCプログラミングの要点を掴み易いようにテンプレート化しました。

つまり、CapSenseコンポーネントを利用したテンプレート応用例のPSoC 4000S評価ボードを、別のPSoCデバイス:PSoC 4100S/4100PS評価ボードへ移植する手法を使って、コンポーネント単位のPSoCソフトウェア開発要点を説明しています。
※既に第1弾のPSoC 4/PSoC 4 BLE/PRoCテンプレートをお持ちの方でも、テンプレート本体以外は被る(内容重複)ことが少なく、別視点からのCypress PSoCプログラミングの特徴をご理解頂けると思います。

第4世代CapSenseコンポーネント

PSoC 4000S/4100S/4100PSファミリ内蔵の第4世代CapSenseコンポーネントは、スマホで普及したタッチユーザインタフェース(UI)の業界標準技術です。本テンプレートでCapSenseコンポーネント利用方法を習得すれば、従来の簡単な操作パネルを、より洗練されたタッチHMI:Human Machine Interfaceで実現し、他社差別化ができます。

PSoC 4000S/4100S/4100PSテンプレートで用いた評価ボードは、トランジスタ技術2019年5月号付録基板も含まれます。トラ技5月号記事は、開発環境PSoC CreatorやPSoCデバイスの特徴は良く分かりますが、記事ソースコードがダウンロードできず、実際に付録基板を簡単には動作させられないのが残念です。

本テンプレートをご利用頂ければ、トラ技付録基板でも基板上のLED点滅動作を利用したシンプルなテンプレート応用例や、CapSense動作がご理解可能です。
※トラ技付録基板に、弊社推薦評価ボード :CY8CKIT-145のCapSenseボード部分(CapSenseテンプレート動作時)とKitProgインタフェース(シンプル/CapSenseテンプレート動作時)を別途配線することで動作します。配線は、下図のようなスルーホール間接続のジャンパーワイヤが簡単です(確かハンズマンで購入しました)。

トラ技2019年5月号付録PSoC 4100S基板で動作中のシンプルテンプレートとスルーホール間接続ジャンパーワイヤ
トラ技2019年5月号付録PSoC 4100S基板で動作中のシンプルテンプレートとスルーホール間接続ジャンパーワイヤ

ブログの関連投稿検索方法

ブログ右上の検索窓に「CapSense」か「PSoC 4000S」入力または、カテゴリでPSoC/PRoCマイコンを選択すれば、PSoC 4000S/4100S/4100PSテンプレートに関するブログの関連投稿が一覧で得られます。テンプレート説明資料と、合わせてご覧いただければ、PSoC 4000S/4100S/4100PS マイコンやCapSenseコンポーネントがより解り易くなると思います。

PSoC 4000S/4100S/4100PSテンプレートのご購入をお待ちしております。