PSoC 4100S CapSenseの使い方(その3前半)

Cypress PSoC 4 MCU内蔵タッチセンサ:第4世代CapSenseの使い方、3回目は、CapSenseの使い方を前後半に分けて示します。前半は、CapSenseのPSoC Creator設定方法、次回の後半は、CapSenseのプログラミングです。

図1 PSoC 4100S/4000S CapSenseの使い方
図1 PSoC 4100S/4000S CapSenseの使い方(第3回前半・後半の内容)

参照情報:PSoC 4 Capacitive Sensing (CapSense) コンポーネントデータシート Version 6.0

PSoC Creatorインストール → トラ技第3章参照

雑誌やブログの場合、各種ツールのインストール手順に多くの紙面が割かれます。本稿も同様でした。しかし、最新IDE:PSoC Creator 4.2インストール手順は、トラ技2019年5月号第3章P129~P142に詳しく記載済みです。

本ブログは、トラ技付録基板も活用予定なので、本稿読者は既にこのトラ技をご購入頂いている前提で、PSoC Creatorインストールや基本的な使い方は、トラ技を参照頂いて省略します(すいません😔)。

関連投稿:GWお勧め本:トラ技5月号PSoC 4100S基板付きで販売中

CapSenseコンポーネントのTopDesign.cysch配置

PSoC Creatorインストール後のPSoC MCU開発手順は、本ブログ記載PSoC Creator 3.3の時と同じです。

つまり、TopDesign.cysch:トップデサイン・スケマティックと呼ぶ回路図へ、PSoC 4000S/4100Sコンポーネントカタログからプロジェクトで使うCapSenseコンポーネントをクリック&ドロップで配置 → そのCapSenseコンポーネントのプロパティを設定しビルド → ビルドで生成された各APIをmain.cで利用 → ソフトウェア完成、という流れです。

図1 CapSenseとEZ-I2Cの2コンポーネントを配置した部分がTopDesign.cyschに相当します。本稿では、CapSenseコンポーネントのプロパティ設定を解説します。そして、次回後半が、ビルド後のAPIを使ったCapSenseプログラミング。
EZ-I2Cコンポーネントは、その4で説明します。

CapSenseコンポーネントのプロパティ設定

PSoC CreatorのTopDesign.cyschへCapSenseコンポーネントを配置し、右クリックしたのが図2です。

Open Datasheet…クリックで、最初に示した参照情報のPSoC 4 Capacitive Sensing (CapSense) コンポーネントデータシートがモニタ上に現れます。使用デバイスコンポーネントの詳細なデータシートが、クリックだけで簡単に参照できるのがPSoC Creatorの特徴です。

図2 Capsenseコンポーネントの配置とデータシート取得
図2 CapsenseコンポーネントのTopDesign.cysch配置とデータシート取得

CapSenseコンポーネントの詳細なプロパティ設定も、このデータシートに記載されています。ゆえに、このデータシートを参照してください…と書くと、これで本稿が終わりますので、少し解説を加えます。

図2のConfigure…をクリックします。コンポーネントのプロパティ設定は、どのコンポーネントでも全てConfigure…で現れるダイアログで設定します。

以下、本開発で用いる評価ボード、CY8CKIT-145-40XX PSoC 4000S CapSense Prototyping Kitを使って設定例を示します(図3)。
上側がCapSenseコンポーネント配置直後のプロパティ設定前、下側がプロパティ設定後です。基本動作に必要なコンポーネントプロパティ設定は、Basicタブのみで十分です。

図3 CapSenceコンポーネントのプロパティ設定
図3 CapSenceコンポーネントのプロパティ設定

配置直後の+アイコンクリックで、タッチUIに使うパッド形状:ButtonやLinear Slider選択 → Sensing mode:CSXやCSD選択という流れです。白抜きセル欄は選択肢あり、グレーセル欄は選択肢なし(変更不可)を示します。

CSXは相互容量式(Mutual-capacitance)のタッチ検出方法、CSDは自己容量式(Self-capacitance)のタッチ検出方法のことです。デフォルトはCSD(Self-cap)です。スライド・バー(SLD)は、自己容量式のみサポートですのでCSD、ボタン(BTN0/1/2)は、CSDかCSXの選択が可能で、評価ボードは相互容量式ですのでCSX(Mutual-cap)です(自己容量式、相互容量式は、その2投稿参照)。

CapSenseコンポーネントのプロパティ設定は以上です。繰り返しますが、基本動作はBasicタブの設定だけで十分です。

Advanceやその他のタブで更に詳細なCapSenseコンポーネントプロパティが設定できます。が、これらの設定は、データシートを参照してください。また、これら設定に、その4で説明するEZ-I2Cが役立ちます。

CapSenseコンポーネント使用GPIOピン設定

CapSenseコンポーネントが使うGPIOピン設定は、Workspace ExplorerのPinsクリックで別表示されるピンエディタ画面で行います。

CapSenseコンポーネントのGPIOピン設定
CapSenseコンポーネントのGPIOピン設定。TopDesign.cyschとは別画面で行うことに注意。

CapSenseコンポーネントのBTN0_Rx0使用ピンを、GPIOのP1[4]に設定する時が上図です。同様に、全てのCapSenseコンポーネントの使用GPIOピンを設定します。緑色□マーカーは、GPIO設定に問題が無いことを示しています。黄色が注意、赤色や灰色は設定NGです。

CapSenseの使い方(その3前半:CapSenseのPSoC Creator設定方法)まとめ

PSoC 4100S/4000S内蔵第4世代CapSenseコンポーネントのPSoC Creator設定方法を示しました。

  1. コンポーネントカタログからCapSenseを選び、TopDesign.cyschへ配置。
  2. 配置後、CapSenseコンポーネントのデータシートを参照し、CapSenseプロパティ設定。基本動作は、Basicタブ設定のみで十分。
  3. CapSenseコンポーネントが使用するGPIOピンの設定は、ピンエディタ画面で行う。

補足:PSoC Creator、コンポーネント、デバイスの関係

PSoC Creatorは、デバイス選択 → コンポーネントカタログから使用コンポーネントをTopDesign.cysch回路図へ配置 → コンポーネントプロパティ設定 → コンポーネント使用GPIOピン設定、という手順でソフトウェア設計を進めます。

それゆえ最初のデバイス選択を誤ると、コンポーネントリソース不足や、使用できるGPIOピンが無いなどの問題が発生します。PSoC Creatorは、この問題回避のため、設計途中であっても使用デバイスの変更が容易です(Project>Device Selection…で表示されるデバイスリストから代替デバイスを選ぶ)。これは、他社IDEに無いCypress PSoC Creatorの特徴です。

デバイスは、色々なコンポーネントを組合せた入れ物にしか過ぎず、コンポーネントこそがPSoCプログラミングの要です。コンポーネントが使う物理的GPIOピン割付を、論理的なTopDesign.cyschとは別画面のピンエディタで行うのもこのためです。

つまり、コンポーネントのプロパティ設定やコンポーネントAPIを使ったプログラミングは、デバイスが変わっても多くの場合そのまま引継げるのです。コンポーネントプログラミングが開発経験として蓄積できます。

PSoC Creatorとコンポーネント、デバイスの関係を示す図
PSoC Creatorとコンポーネント、デバイスの関係を示す図(出典:PSoC Creatorインストール時の図より)

但し、数多いデバイスリストから、最新の第4世代CapSenseコンポーネントを持つデバイスを再選択するのは、結構大変です(新旧コンポーネント混在や、CapSenseのように後方互換が無い例があるため。第4世代CapSense後方互換性は、その1参照)。

2019年6月現在、第4世代CapSenseコンポーネントを使用する時は、PSoC 4000S、PSoC 4100Sシリーズのデバイスから選ぶのが良いでしょう。

PSoC 4100S CapSenseの使い方(その1)

CypressのPSoC 4 MCU内蔵のタッチセンサ:最新の第4世代CapSenseの使い方を何回かに分けて投稿します。目標は、従来のメカニカル入力インタフェース:スイッチやボタンに変わる、新しいタッチユーザインタフェース(タッチUI)入力処理専用のテンプレート開発です。

操作性や装置全体の印象に大きな影響を与えるユーザフレンドリーなタッチUIを、低開発リスク、低価格で実現するこのテンプレートは、競合他社との差別化に役立つと思います。

タッチユーザインタフェーステンプレート
タッチユーザインタフェーステンプレート。ボタンからタッチ・ベースへ変化したユーザ入力処理用PSoC MCUと、それ以外の2MCU構成。プロトタイプ開発速度向上とユーザフレンドリーが狙い。

第4世代CapSense特徴(第3世代比)

・タッチ検出性能向上 → 検出感度、反応特性改善
・木材、厚いアクリル材がタッチ表面材でも反応 → デザイン幅広がる
・液量センシング可能 → シャンプー、薬品ボトル液面検出可能
・自己容量方式と相互容量方式の両方対応 → 近接センサが多くても対応可能
・低消費電流化 → センサ毎に6uAから3uAへ半減

出典:静電容量タッチセンサの性能を大幅改善、対応するマイコンを2製品投入

CapSenseデータシート Version 6.0最初のページに、CapSense v6.Xコンポーネント(=コントローラ)は、v2.Xコンポーネント以前との後方互換は無いと明記されています。また、古いコンポーネントや第3世代CapSense利用経験が有る方のために第4世代マイグレーションガイドもあります。

本稿は、最新の第4世代CapSenseを使い、初めてタッチUI開発する方を対象とします。この第4世代CapSense内蔵MCUは、PSoC 4000S、PSoC 4100S(トラ技付録基板実装)、PSoC 4100S PlusとPSoC Analog Coprocessorです(2019年6月現在)。

低価格PSoC 4000SとタッチUI評価ボード

トラ技2019年5月号で紹介された第4世代CapSense内蔵MCUは、PSoC 4100Sです。同じCortex-M0+コアですが、機能を絞ったのがPSoC 4000Sです。両者の主な仕様差を表1に示します。

関連投稿:GWお勧め本:トラ技5月号PSoC 4100S基板付きで販売中

トラ技付録基板PSoC4100S仕様とPSoC 4000Sの主な特徴差
項目 トラ技付録基板PSoC4100S仕様

CY8C4146LQI-S433

PSoC 4000S仕様

CY8C4045AZI-S413

JPY1個価格(Mouser調べ、2019/06 ¥570 ¥453
CPUコア Cortex-M0+、48MHz
メモリ FLASH 64KB 32KB
SRAM 8KB 4KB
シリアル通信ブロック 3個(I2S/SPI/UART/LINに対応) 2個(I2S/SPI/UARTに対応)
ADC 逐次比較型 12ビット分解能、1Msps なし
シングル・スロープ型 10ビット分解能、11.6ksps
GPIO 34 36
DAC 電流出力型 7ビット分解能×2
その他アナログ・ブロック OPアンプ 2個、6MHzGB積、6V/usスルーレート なし
コンパレータ 3個、内2個はスリープ・モード時も動作 2個スリープ・モード時も動作
静電容量式第4世代タッチセンサ(CapSense 自動調節機能付き(特許取得済み)
論理演算ブロック スマートI/O 3入力1出力のLUT×8

PSoC 4000Sも第4世代CapSense内蔵MCUです。PSoC 4100SのOPアンプなどのアナログ機能を省いた結果低価格で、仕様からCapSense利用のタッチユーザインタフェース(タッチUI)入力処理専用のMCU向きであることが解ります。

例えば、メカニカルボタンを1個50円とすると、ボタン8個で400円。これをタッチUIで置換えるので同程度の低価格MCUは好適です。PSoC 4000SはPSoC 4100Sに比べ少機能なので、ソフトウェア開発も容易です。初心者向きの開発案件とも言えます。さらに、PSoC 4000S実装済みで、タッチ・パッドとスライド・バーが付属した低価格なタッチUI評価ボード:CY8CKIT-145-40XX PSoC 4000S CapSense Prototyping Kitも用意されています。

PSoC 4000S CapSense Prototyping Kit
タッチ・センサー基板付きで$15と安価なPSoC 4000S CapSense Prototyping Kit

CapSenseの使い方(その1:低開発リスク、低価格のタッチUI実現手段)まとめ

低開発リスク、低価格で第4世代CapSenseを使ったタッチユーザインタフェース(タッチUI)を実現する手段として、PSoC 4000S実装評価ボード:CY8CKIT-145-40XX PSoC 4000S CapSense Prototyping Kitを使い、タッチUI入力処理専用のテンプレート開発を行います。このテンプレートは、トラ技付録PSoC 4100S基板でも同じように動作します。

最初の図のように、様々な装置や別MCUの入力手段として単独利用もできます。また、個人レベルでチョット変わった下図のようなタッチUIモジュールを手軽に開発する時にも役立つと思います。

タッチUIモジュールイメージ(出典:トラ技P53 AIジェスチャ・スティック図を加工)
タッチUIモジュールイメージ(出典:トラ技P53 AIジェスチャ・スティック図を加工)

次回から、タッチUIのメリット、ハードウエアのタッチUI基板ポイント、CapSense制御ソフトウェアの構造、開発ツールPSoC Creatorの設定方法など、CapSenseの具体的な使い方を、主にソフトウェア開発者向けに判り易く説明していきます。

InfineonがCypress買収で合意

2019年6月3日)、独)Infineonは、米)Cypress買収で合意と発表しました(出典:EE Times記事、InfineonがCypress買収へ、約1.1兆円で

Infineon+Cypressが成立すると、車載半導体ではオランダ)NXPを超え世界シェア1位となります。但し、QualcommのNXP買収断念のように、米国当局の承認が成立のガキとなります(出典:EE Times記事、”InfineonのCypress買収は“弱点の克服”を狙う一手“)。

Infineon+Cypressは補完関係

本ブログ対象のCypress MCUは、IoTエッジMCUで優れた製品を持ち、現在パワー半導体シェア1位、車載シェア2位のInfineon製品との重複が極めて少ない補完関係です。買収が成立すれば、車載シェアは、現在首位NXPを抜きトップになるそうです。

記事中に、本ブログ掲載MCU各社の製品特徴を表す図があります。

MCU各社の製品特徴(出典:EE Times記事)
MCU各社の製品特徴(出典:EE Times記事)

MCUコアが同じでも、MCU単体でシステム動作はできません。自動車会社は、周辺部品も含めたトータルでの接続性や、システム構築能力をMCU各社に求めます。Infineon+Cypressはこの点で他社比、優れているというのがこの表の意味です。

買収成立後の車載と32ビットMCUの半導体シェア変動を示すのが下図です。

買収成立時の車載半導体と32ビットMCUシェア(出典:EE Times記事)
買収成立時の車載半導体と32ビットMCUシェア(出典:EE Times記事)

車載は1位へ、32ビットMCUは4位へと、それぞれ上位ビッグ5に入ります。シェア確保は、半導体会社が生き残るには必須で、Infineon、Cypress双方に買収メリットがあります。

買収完了は、2019年末から2020年初めを予定しています。但し、米国当局が買収を認めるかがカギだと記事は解説しています。

Cypress特許取得PSoC 4100S CapSenseで他社差別化

ADAS(Advanced driver-assistance systems)など高度化する自動車制御に限らず、IoT端末でもMCU単体でのシステム構築は困難です。しかし、一方で、他社とのアナログ差別化技術を用いてMCUシェア拡大と確保を狙う動きも出てきました。

STマイクロエレクトロニクスは、汎用MCUでありながら、より多くのセンサとユーザ機能を実現する先進的アナログ・ペリフェラル搭載のSTM32G4シリーズを発表しました。また、ルネサスエレクトロニクスも、高精度アナログフロントエンド搭載32ビットマイコンRX23E-Aを発表しました。

本件のCypressも、他社アナログ差別化技術という点では長けていると思います。

例えば、前投稿のトラ技記載PSoC 4100Sは、低価格であっても、他社MCUに無いOPアンプや論理演算ブロックが実装済みです。特に、特許取得済みで多くのスマホで採用実績のある検出精度の高い静電容量式タッチ・センス・コントローラ内蔵は特筆すべき点です。

トラ技付属基板PSoC 4100S仕様(出典:トラ技2019年5月号P116、アナログ差別化技術が下線付き)
項目 内容
CPUコア Cortex-M0+、48MHz
メモリ フラッシュ:ROM 64KB
SRAM 8KB
シリアル通信ブロック 3個(I2S/SPI/UART/LINに対応)
ADC 逐次比較型 12ビット分解能、1Msps
シングル・スロープ型 10ビット分解能、11.6ksps
DAC 電流出力型 7ビット分解能×2
その他アナログ・ブロック OPアンプ 2個、6MHzGB積、6V/usスルーレート
コンパレータ 3個、内2個はスリープ・モード時も動作
静電容量式タッチ・センサ(CapSense 自動調節機能付き(特許取得済み)
論理演算ブロック スマートI/O 3入力1出力のLUT×8

タッチユーザインタフェーステンプレート構想

スマホの普及で、あらゆるユーザインタフェース(UI)がボタンから、タッチ・ベースへと変わりました。IoT端末でも同様です。

タッチユーザインタフェーステンプレート
タッチユーザインタフェーステンプレート。ボタンからタッチ・ベースへ変化したユーザ入力処理用PSoC MCUと、それ以外の2MCU構成。プロトタイプ開発速度向上とユーザフレンドリー入力処理が狙い。

このタッチUIへPSoC 4シリーズ特許技術CapSenceを応用し入力処理をテンプレート化、その他の新規開発や複雑な制御は別MCUへ分離した2MCU構成でプロトタイプ開発すると、開発速度が上がり、かつタッチUIも備えたユーザフレンドリーなIoT端末が期待できると思います(勿論、このタッチUIテンプレートにはトラ技付属基板も利用するつもりです)。

2017年アナログICメーカー売上高ランキング

2017年のアナログICメーカー売上高トップ10が、5月2日EE Times Japanで発表されました。

2017年アナログICメーカー売上高ランキング(出典:記事)
2017年アナログICメーカー売上高ランキング(出典:記事)

アナログ市場全体の成長率は10%、そのうちの上位10社のみで59%ものシェアを占めます。唯一マイナス成長となったNXPは、昨年汎用ロジック/ディスクリート事業をNexperiaへ売却したためです。

MCUメーカーのアナログICシェア

2017年アナログIC売上高シェア
2017年アナログIC売上高シェア。ブログ掲載中のMCU各社もランクインしている。

本ブログで扱っているMCUベンダのSTMicroelectronics(シェア5%)、NXP Semiconductors(4%)、ルネサスエレクトロニクス(2%)などもこのトップ10に入っています。一方Cypress Semiconductors のMCU PSoC 4などは、コンパレータやアンプなどのアナログ機能が他社MCUよりも充実していますが、売上高トップ10には入っていません。ADCやDACなどのアナログ単体ICの範疇にPSoC 4が入らないためかもしれません。

これらMCU各社をハイライトして、2017年アナログIC売上高シェアをグラフにしました。Texas InstrumentsもMCUを販売していますが、ブログの対象外ですので外しています。

IoTでは、とりわけMCUのフロントエンドにアナログ機能が必要です。好調なアナログ市場の伸びに伴って、アナログ機能をMCUに搭載したデバイスが発表される可能性があると思います。