PSoC 4, PSoC 4 BLE, PRoC習得Videoとテンプレート

2015年11月5日更新のPSoC 101 Video Library、Lesson00~Lesson17を紹介します。
CY8CKIT-042: PSoC 4 Pioneer Kitを使ってCreator基本操作からPSoC 4プログラミングまでが良く分かります。

Lesson内容

  • PSoC 101_Lesson00_Intro
  • PSoC 101_Lesson01_OutputPins
  • PSoC 101_Lesson02_InputPins
  • PSoC 101_Lesson03_Interrupts
  • PSoC 101_Lesson04_HardwarePins
  • PSoC 101_Lesson05_ToggleFF
  • PSoC 101_Lesson06_Basic_Counter
  • PSoC 101_Lesson07_Counter
  • PSoC 101_Lesson08_PWM
  • PSoC 101_Lesson09_Timer
  • PSoC 101_Lesson10_I2CRx
  • PSoC 101_Lesson11_I2CTx
  • PSoC 101_Lesson12_UART
  • PSoC 101_Lesson13_CapSense
  • PSoC 101_Lesson14_StatusReg
  • PSoC 101_Lesson15_ControlReg
  • PSoC 101_Lesson16_Sleep
  • PSoC 101_Lesson17_DeepSleep

英語版ですが、たとえ英語が全く分からなくても、私の下手な解説よりも内容が濃く、解り易いことは確実です。解像度は落ちますが、Videoダウンロードも可能ですので、スマホ等でオフライン視聴もできます。

CY8CKIT-042-BLEプロジェクトもダウンロード可能

CY8CKIT-042にBluetooth Low Energyを追加した弊社推薦開発キットCY8CKIT-042-BLE: Bluetooth Low Energy Pioneer Kit用のプロジェクトファイルもダウンロード可能です。CY8CKIT-042-BLEをお使いの方は、こちらを使って同じ内容が習得できるので便利です(BLE機能のVideoは、以前の記事参照)。

これらの内容を習得すれば、シングルタスクのPSoC 4、PSoC 4 BLE、PRoC開発は問題なくできると思います。

PSoC 4/PSoC 4 BLE/PRoCテンプレート

では、どのような時に開発中のテンプレートが役立つのでしょうか?

これらにより、さらに「実務に向いた実践的で、かつ効率的なアプリケーション開発」ができます。PSoC4/PSoC 4 BLE/PRoCテンプレートは、本年末リリース予定です。ご期待ください。

発売中のRL78/G1x、LPC8xx、LPC111x、Kinetis E対応マイコンテンプレートはコチラを参照してください。

PSoC 4 BLE Video Libraryの勧め

弊社推薦の評価キットCY8CKIT-042-BLE: Bluetooth Low Energy Pioneer Kitを使ってCypressのPSoC 4 BLEを自習する際に、とても役立つVideo Libraryを紹介します。

英語版ですが、PSoC CreatorのBluetooth Low Energy: BLEコンポーネント設定方法の解りやすい解説が得られます。Bluetooth仕様を全く知らなくても(=Zero Knowledge)、BLEコンポーネントの設定ができ、BLEを使ったアプリケーション開発ができる(かもしれません)。

ここが、このPSoC 4 BLE Video Library の優れた点です。
つまり、Bluetooth仕様理解よりも実用的な「BLEアプリケーション開発を重点に解説」しているので、解りやすく、かつ評価キットのみで動作確認ができます。「Bluetoothの必要最低限仕様を理解すれば開発ができる」のです。

Video Libraryアクセス方法

  1. PSoC Creator Start PageタブのProduct InformationのPSoC 4 BLEをクリックします。

    PSoC Creatorのクリック
    PSoC Creatorのクリック
  2. Cypressサイトが表示されますので、右のDESIGN SUPPORTのVideo Libraryをクリックします。

    Cypressサイトのクリック
    Cypressサイトのクリック
  3. Video Libraryページが表示されますので、PSoC > PSoC 4 BLEと選択すると、PSoC 4 BLE 101:1~6を含め2015年11月現在13個の動画が閲覧可能です。番号101は、内容が初心者向きであることを表すと思います(たぶん、20X、30Xが、中級/上級内容)。

    Video Libraryのクリック
    Video Libraryのクリック

ネットワーク回線が遅い、またはパソコンVideo能力が低い場合には、解像度は落ちますが個別にダウンロードも可能です。

Videoダウンロードのクリック
Videoダウンロードのクリック

* * *

内容が解りやすいことに加え、CreatorのAPI入力支援機能を使ったファームウエアソースの作成が「みもの」です。少量のソース追記で、実用的なBLEアプリケーション開発ができ、かつ拡張性も高いことが解ります。

これらソースは、Videoのように手動入力も可能ですが、CreatorのCode Exampleやキット付属ファームに同じものがあります。

BLEコンポーネントのGUIでBluetooth仕様が設定でき、さらに基本的な項目の設定さえできれば、その他はデフォルトで良さそうです。これなら、「UARTと同レベル」とまでは言い過ぎですが、簡単にBLEアプリケーションが開発できそうです。

Video Libraryには、紹介したPSoC 4 BLE以外にも多くの動画があります。聞きやすい英語で語られていますので、Cypressマイコン開発時は、是非視聴されることをお勧めします。

PSoC 4、PSoC 4 BLE、PRoC BLEサンプルファーム利用方法

Cypress評価キットCY8CKIT-042とCY8CKIT-042-BLEのサンプルファームを整理して示します。
前回の両キットへ機能追加する方法と合わせて、多くのCypress提供サンプルファームを効率よく使って、PSoC 4、PSoC 4 BLE、PRoC BLEを習得するためです。

Cypressの3サンプルファーム提供方法

一般的なマイコンベンダーは、AN:Application Noteと、IDE付属の「2つ」の方法でサンプルソフトを提供します。
※Cypressは、サンプルソフトを上位アプリケーションソフトと区別し、サンプルファームと呼びますので、以後ファームと記述します。

IDE付属は、マイコンの基本機能毎のファーム例、一方ANは、説明:Noteが必要な機能のファーム例です。

Cypressでは、さらに評価キット毎のファーム例も提供しますので、合計「3つ」のサンプルファーム提供方法があります。
評価キット付属ファームは、「キットのみ」で動作確認ができ、IDE付属ファームは、前回示した評価キットに「別途回路追加」が必要なものも含まれる点がその違いです。一覧にすると下表になります。

ファーム提供方法 提供場所 状況と概要(2015/11現在)
評価キット付属 CY8CKIT-042評価キットサイト 下記4種提供中

CY8CKIT-042サンプルファーム

CY8CKIT-042-BLE評価キットサイト 下記9種提供中

CY8CKIT-042-BLEサンプルファーム

AN AN90799などの個々にサイト提供 多数提供中

2015/10/2記事など

IDE付属 PSoC CreatorのCode Exampleで
PSoC 4200 BLEなどデバイス毎に提供
多数提供中

Code Exampleファーム

サンプルファーム留意点

CY8CKIT-042とCY8CKIT-042-BLEどちらの評価キット付属ファームもインストールすること

留意が必要なのは、CY8CKIT-042-BLEキット付属サンプルファームに、CY8CKIT-042キット付属のBlinking_LED(いわゆるLチカ)やDeep Sleepなどの最もベーシックなプロジェクトが無いことです。
理由は、これらプロジェクトが-042キットだけでなく、-042-BLEへも適用できるからです。

従って、CY8CKIT-042-BLEのみ購入した開発者でも、PSoC CreatorへCY8CKIT-042付属サンプルファームもインストールすることをお勧めします。
※⊞Kitsタブを開くとPSoC Creatorにインスト済みのキット付属ファームが表示されます。

なお、キット付属サンプルファーム単体の更新も行われます。因みに、CY8CKIT-042-BLE最新版は、10/06に更新されRevision *Fになりました。更新は、Update Managerまたは自動更新です。

IDE付属ファームのPDF説明書は、CY8CKIT-042を主として記述

CY8CKIT-042のリリースがCY8CKIT-042-BLEよりも早かったために、IDE付属ファームは、ADCなどの基本機能ほどCY8CKIT-042を主体に解説されています。
しかし、IDE付属ファームを基にプロジェクト化した時、Workspace Explorerに表示されるPDF説明書を注意して読めば、両キットのピン対応表などの注意事項が記載されているので、問題はないでしょう。

Workspace ExplorerのPDF説明書
Workspace ExplorerのPDF説明書

* * *

前回の評価キットへ簡単に機能追加するmbed-Xpresso Baseboardを使う方法と、今回の整理結果を念頭に置けば、サンプルファームを利用して効率良くPSoC 4 BLE、PRoC BLE、PSoC 4の習得ができると思います。

先ず評価キットのみで動作させるなら、評価キット付属サンプルファームで動作確認します。CY8CKIT-042-BLEのみ購入した開発者の方でも、CY8CKIT-042のサンプルファームをインストールし、Sleepなどのベーシック機能の動作確認もします。

プロジェクト変換方法

CY8CKIT-042プロジェクトをCY8CKIT-042-BLEプロジェクトへ変換するには、下記2方法が可能です。

  1. CY8CKIT-042-BLEで新規プロジェクトを作成し、CY8CKIT-042のTopDesign.cyschをコピー後、デザイン・ワイド・リソースを設定
  2. プロジェクト毎コピーして、Device SelectorでデバイスをCY8C4245AXI-483からCY8C4247LQI-BL483へ変更。さらにデザイン・ワイド・リソースを修正。

CY8CKIT-042とCY8CKIT-042-BLEへの機能追加

ベンダ提供のマイコン評価キットには、豊富なサンプルソフトが提供されますが、これらサンプル動作確認に、別途回路の追加が必要な場合も少なくありません。

この対応に、Arduinoシールドコネクタ付き評価ボードや評価キットが多くなりました。1枚数千円程度の既成Arduinoシールドボードを、評価キットに乗せれば、簡単に回路や機能の追加ができるからです。

別の方法として、mbed – Xpresso Baseboardオスーオス結線を使った機能追加例を示します。
CY8CKIT-042:PSoC 4 Pioneer Kit、CY8CKIT-042-BLE:Bluetooth Low Energy Pioneer Kitは、Arduinoシールドコネクタが実装されていますので、この2キットで機能拡張方法を示します(キットはコチラの記事参照)。

CY8CKIT-042へLCD追加

mbed – Xpresso Baseboardは、2 x 16文字LCD(HD44780コンパチブル)や電子ブザー、24LC256のI2C EEPROM、ADC入力用のポテンショメータ、D-Subコネクタ付きUARTドライバなど、標準的なマイコン周辺回路が実装済みです。また、5Vと3.3V電源がBaseboardデバイスへ直接供給されるので、機能追加時、マイコン評価キット側の電力負荷があまり増えないのも安心材料です。

CY8CKIT-042のLCD表示機能追加例を示します。サンプルファームは、PSoC CreatorのCode Example「CharLCD_CustomFont」です。CYPRESS文字は、Character LCDモジュールのカスタム文字エンコーディング出力例です。

CharLCD_CustomFont出力
CharLCD_CustomFont出力
CY8CKIT-042への機能追加
CY8CKIT-042への機能追加

数年前までは、弊社もブレッドボードへUARTドライバなどを追加し、サンプルソフトの動作確認をしていました。しかしこの方法は、配線ミスや部品実装の手間がかかります。
mbed – Xpresso Baseboardを使うと、33ピンx2コネクタ(P9/P10:メスとP11/P12:オス)と評価キットのArduinoコネクタ間の配線のみに注意すれば良くなります。

CY8CKIT-042-BLE Auduinoコネクタとmbed – Xpresso Baseboardコネクタ

CY8CKIT-042-BLEとmbed – Xpresso Baseboardのコネクタを示します。ブレッドボードで使うジャンパー線:オスーオスが、機能拡張の結線に使えることが解ります。

CY8CKIT-042-BLEへの機能追加
CY8CKIT-042-BLEへの機能追加

サンプルソフトが直ぐに試せるマイコン開発環境

mbed – Xpresso Baseboardは、NXPのLPCXpresso評価ボード専用の機能追加BaseBoardですが、一般的なArduinoシールドコネクタ付きのマイコン評価ボードや評価キットなら、ブレッドボードを使ってディスクリートでハード追加するよりも確実で手軽に、かつ、シールドボードを複数枚購入するよりも低価格で、機能と回路追加ができます。

  • Arduinoシールドコネクタ付きマイコン評価キットや評価ボード
  • mbed Xpresso Baseboard
  • ブレッドボードジャンパー(オスーオス)

この3つが、低コストで多くのサンプルソフトをすぐに試用できるマイコン開発環境です。

PSoC 4 Pioneer Kit: CY8CKIT-042解説良書

CY8CKIT-042-BLE

弊社のCypress PSoC 4推薦開発ボードは、CY8CKIT-042-BLE: BLE Pioneer Kitです。

IoTマイコン無線技術のBLE: Bluetooth Low Energy(Bluetooth SIGのBluetoothコア仕様4.1認定済み、4.2ではないことには注意)を手軽に試せること、ROM/RAMが128KB/16KBと十分なこと、同じボードで価格を抑えたPRoC BLEも試せることなどがその理由です(ボード実装デバイスPSoC 4 BLE、PRoC BLE、PSoC 4の仕様比較は、前回記事参照)。

CY8CKIT-042を知るには?

但し、もう1つのテンプレート動作環境、PSoC 4 Pioneer Kit: CY8CKIT-042ボードについて、知りたいとお考えの方も多いと思います。2年前の記事ですが、このCY8CKIT-042についての解説書が、大原雄介氏がマイナビに投稿されている「夏休み工作向け? - PSoC 4でお手軽マルチファンクションデバイスを作る」です。

PSoC 4の位置づけ、ボード構成、PSoC Creatorの使い方、サンプルファームの応用の仕方などが解りやすく解説されています。記事記載のプロジェクトソースも提供されており参考になります。

最新PSoC Creator 3.3 CP1で、このプロジェクトをビルドした時のリソースメータが下図です。リソース使用量、残量が一目で解ります。

PSoC Creator 3.3のリソースメータ出力
PSoC Creator 3.3のリソースメータ出力

この記事をご覧になったうえで、ご自分のPSoC 4開発ボードとしてCY8CKIT-042で十分か、それとも弊社推薦のCY8CKIT-042-BLEにするかを判断されれば良いでしょう。

因みに、開発中のPSoC 4テンプレートは、PSoC 4 BLE、PRoC BLE、PSoC 4全てに対応するため、どちらのボードでも動作確認し提供いたします。間口を広げて、少しでも販売個数を拡大したいからですが、PSoC 4でできることは全てPSoC 4 BLEでもできることも理由です。

また、メニュードリブンテンプレート動作にデバイスのUARTコンポーネントを使う際、CY8CKIT-042では、CY8CKIT-042-BLEでは不要な、下図のようなボード上でPSoC 5LPとの結線が必要です。チョット面倒ですね!

CY8CKIT-042のPSoC 5LP機能
CY8CKIT-042のPSoC 5LP機能

PSoC 5LPは、ボードデバイスのデバッグ環境を提供し、同時にUART-USB変換も行います。これによりUSBケーブル1本で、Creator開発ソフトのダウンロードとデバッグ(ルネサスのE1デバッガ相当機能)、Tera TermなどのターミナルソフトでUART送受信ができます。

Cypress PSoC 4、PSoC 4 BLE、PRoC BLEテンプレート開発着手

PSoC 4、PSoC 4 BLE、PRoC BLE向けテンプレート開発にあたり、対象デバイスの仕様と動作確認ボードを示します。

CreatorのDevice Selector(Project>Device Selector…)を使ってFamily欄のPSoC 4200、PSoC 4200 BLE、PRoC BLE以外の☑チェックを外します。説明の都合上、本ブログ対象の3デバイスを抜粋表示した結果が下図です。Device Selectorは、Cypressデバイスの仕様が一覧表示できるので重宝します。

CreatorのDevice Selector出力(ブログ掲載3デバイスのみ抽出)
CreatorのDevice Selector出力(ブログ掲載3デバイスのみ抽出)

テンプレート動作環境

テンプレートは、先日紹介したPSoC 4 pioneer Kit: CY8CKIT-042とBluetooth Low Energy Pioneer KIT: CY8CKIT-042-BLEの2種ボードで動作確認します。このボードの実装デバイスが、Device Selectorで示した3デバイスです。

テンプレート動作環境:動作確認ボード ボード実装デバイス 通称
CY8CKIT-042 CY8C4245AXI-483 PSoC 4
CY8CKIT-042-BLE CY8C4247LQI-BL483 PSoC 4 BLE
CY8CKIT-042-BLE CYBL10563-56LQXI PRoC BLE

 

CY8CKIT-042-BLEのPSoC 4 BLEとPRoC BLEは、同じBaseboardに載せ替えて動作するDaughterボードです。Daughterボードは、IOピンコンパチで単体購入も可能、PSoC 4 BLEのCY8CKIT-142が1343円、PRoC BLEのCY5671が1208円です(2015年10月Digi-Key調べ)。
BLEアンテナ付きでブレッドボードにも実装できてこの価格、「IoTマイコンに最適」と思います。

CY8CKIT-042-BLEのDaughterボード(左:PSoC 4 BLE、右:PRoC BLE)
CY8CKIT-042-BLEのDaughterボード(左:PSoC 4 BLE、右:PRoC BLE)

PSoC 4、PSoC 4 BLE、PRoC BLEの仕様

テンプレート対象デバイスは、全てARM Cortex-M0コア、Max. 48MHz動作です。また、CapSenseやLCD Drive、TCPWM: Timer/Counter/PWMやUARTなどの通信関連、ADC/DACは全デバイス同一です(※API経由でソフト制御する限りは同じに見えます)。

IoTマイコン「PSoC 4 BLE」を中心に、UDB: Universal Digital Blockを特定用途にPre-configured Blockした低価格用に「PRoC BLE」があり、もう一方でBLE機能を除きROM/RAM削減、一般用途向けに「PSoC 4」があると解釈すれば良いでしょう。
オペアンプやコンパレータのアナログ回路は、PSoC 4/PSoC 4 BLEのみに実装されています。これはPRoC BLEをIoTセンサーマイコンとして使う時は、留意が必要です。

テンプレート実装機能

ROM/RAMが最も小さいPSoC 4でも容易に実装できるように、RL78/G1xテンプレートで開発したTinyテンプレート機能を、本対象デバイスに実装します。

テンプレート実装機能 RL78/G1xのTinyテンプレート(開発済み)
ROM/RAM
使用量=345/6バイト
PSoC 4/PSoC 4 BLE/PRoC BLE向けの
テンプレート
ROM/RAM
使用量:後日公開予定
周辺回路Start Up関数起動 実装 実装
複数関数の時分割起動 実装 実装
Sleep/Deep Sleep起動 実装 実装
WDTリセット 実装 実装
マニュアルリセット 実装 実装

 

Tinyテンプレートには、SysTick、WDT: Watch Dog Timer、場合によってはRTC: Real Time Clockが必要ですが、これらにDevice Selectorで示したコンポーネントは、「使いません」。

これらは、ARM Cortex-M0コア内に実装済みだからです。つまり、同じARM Cortex-M0/M0+コアのLPC8xxテンプレートやLPC111xテンプレート、Kinetis Eテンプレートで使ったテクニックがそのまま流用できます。これが、ARM Cortex-M0/M0+コアが32ビットマイコンの主流になりつつある理由の1つです。

マイコン必須機能は実装済みでARMコアが提供するので、利用ベンダは、周辺回路のみに注力して他社差別化ができ、一方マイコン開発者は、Tinyテンプレートのような基本機能は、ベンダ間差異を意識せずに共通のARMコア機能を使って開発できるのです。

つまり、本テンプレート応用例としてボード実装済みのLEDとSWを使った「シンプルテンプレート」と、「メニュードリブンテンプレート」用にUARTコンポーネントを1個使用しますが、それ以外のDevice Selectorで示したコンポーネントは、テンプレートの購入者様の独自応用例としてそのほとんどが活用できます。

※ルネサスRL78/G1x向け、NXP LPC8xx向け、LPC111x向け、Freescale Kinetis E向けテンプレートは、シンプルテンプレートとメニュードリブンテンプレートの2つをセット、1000円(税込)で販売中です。

Cypressテンプレート開発スケジュール

Cypress PSoC 4/PSoC 4 BLE/PRoC BLE向けの本テンプレートは、2015年末までに第1版リリースを予定しています。リリースまでは、Cypress CreatorのTipsやBLE: Bluetooth Low Energyの使い方などをブログ記載する予定です。

無償でも優れたIDEのCreator、個人でも購入できる低価格な評価ボード、BLEも簡単に試せるCypressデバイスと弊社テンプレート、IoTマイコン開発に使ってみませんか?

PSoC開発手順

PSoC無償IDEの最新版:PSoC Creator 3.3を使ったPSoC開発手順を示します。

このIDEは、Windows 10へ対応、PSoC 3/4/5とPRoC BLEのデバイス全てと標準評価ボードへ対応、無償版でもROM容量制限なし、PDF資料やCypressサイトへのアクセスがIDEから直接可能など、他社IDEと比較して使い易いマイコンIDEです。

Lチカ処理の開発手順

初めてCreatorを使う方のために、最新版3.3と評価ボードBluetooth Low Energy Pioneer KIT: CY8CKIT-042-BLEを用いたLチカ処理の開発手順を示します(評価ボードは、前記事参照)。PSoC Pioneer Kit: CY8CKIT-042でもプロジェクトタイプ選択が異なるのみで同じです。

CY8CKIT-042-BLEは、CY8CKIT-042搭載のPSoC 4にBLE: Bluetooth Low Energy、Bluetooth 4.1機能を追加したPSoC 4 BLEと、コスト重視のPRoC BLEモジュールが載せ替え可能な評価ボードです。BLEを使う可能性が少しでもある方は、CY8CKIT-042-BLEをお勧めします。

Creator第1段階設定手順
Creator第1段階設定手順

PSoC理解の必読書で示した3種のLチカ実現方法の中から、最も標準的なCortex-M0単独制御の場合を示します。ポイントは、「HW connectionの☑を外す」ことです。☑がデフォルトで、これがコンポーネント制御の場合に相当します。

Creator第2段階設定手順
Creator第2段階設定手順

使用コンポーネント、この場合はDigital Output Pinを回路図へ配置後、プロジェクト名.cydwr:デザイン・ワイド・リソースで、ピン配置やMCU動作クロック、割込みの設定などを行います。標準評価ボードの場合は、ピン配置以外は、デフォルト設定でOKです。

P3[7]横の緑マークは、Creator 3.3新機能で、配置可能性(緑:OK、黄:注意、灰色:NG)を示します。評価ボードで青LEDをLチカさせる場合はP3[7]、赤LEDならP2[6]、緑LEDならP3[6]を設定します。コンポーネント入出力を、物理ピンへ自由に配置できるPSoCならではの機能です。

使用コンポーネントと物理ピン配置が終わったこの段階で、ビルト(Shift+F6)を実行します。
この目的は、mainソース作成時に、API入力支援を機能させるためです。これはVisual Studioに似た機能で、関数はマゼンタ、変数はシアンでリスト表示されるプロパティを選択しさえすれば、API関数を使ったC言語ソースを高速に作成可能です。

Creator第3段階設定手順
Creator第3段階設定手順

ソース作成後ビルドし、プログラム(Ctrl+F5)、またはデバック(F5)で評価ボードでの動作確認ができます。スッテプオーバー(F10)やステップイン(F11)を使うデバッグ作業は、他社IDEと同じです。

Creatorで生成されるmain関数は、無限ループとループ前処理の「シンプルな2構成」です。
テンプレート選択時に、Code Exampleを選ぶと、多くのサンプルファームが参照できます。どれも、このシンプル構成に機能追加したサンプルです。サンプルのPDF説明資料もWorkspace Explorerに表示されます。
API関数は、コンポーネント毎にGenerated_Sourceフォルダ内にあります。入力支援が働くのでGenerated_Sourceフォルダを覗く必要は、ほとんど無いと思います。

PSoC開発手順まとめ

マイコンIDE早期習得のコツでも示したように、第1段階で使用マイコン、この場合は評価ボードを設定し、第2段階で使用コンポーネントとピン配置などのハード関連を設定しビルド、第3段階でIDE生成スケルトンソースへAPI使用順序を記入し、ビルド&ボードデバッグすることは一般的なIDEと同じです。

手順をまとめて、一覧にすると下記になります。

PSoC開発手順
PSoC開発手順

IoTマイコン必須技術:無線通信の習得

Creatorは、良くできた無償マイコンIDEです。添付サンプルも多く、詳しい説明資料も付いているので自習にも最適です。付属ツールのUpdateは、Update Managerで、PDFも含めた資料のUpdateは、Document Managerで行えるなど機能も豊富です。仕事で使うマイコンがPSoCやPRoC以外の開発者でも、低コストでPSoC開発環境が整い、その使い方もここで示したように簡単なのでお勧めです。

BluetoothやWi-Fiなどの無線通信は、今後のIoTマイコン開発にとって必須技術になりつつあります。BLEを持つIoT向きマイコン:PSoC 4 BLEやPRoC BLEを、パソコンやスマホで実際に通信をしながら試すのなら、評価ボードはCY8CKIT-042-BLEが良いでしょう。

※Creatorは、PSoC 3開発のみに無料Keil Compiler for 8051の1年毎インストールが必要です。未インストール時は、ワーニングが表示されます。
※Creatorでネット接続エラーが発生する場合は、ChromeからFirefoxなどブラウザを変えると改善されます。

PSoC 4とPRoC BLE概要

アプリケーションの広い範囲を、一般的なマイコンよりも少ないデバイスでカバーできる」、これがCypressのPSoCです。

  • PSoC:     Programmable System-On-Chip
  • PRoC:     Programmable Radio-On-Chip
  • MCU:      Micro Controller Unit
  • BLE:        Bluetooth Low Energy

PSoCの特徴

一般的なマイコン:MCUは、制御コアとADCやUARTなどのアプリケーションに必要なコンポーネントがセットになったデバイスです。必要なコンポーネントが無い、または不足する場合には、制御コアとコンポーネントの選択肢が記載されたセレクションガイドからアプリに合うMCUを選びます。
つまり、元々アプリケーション起因なので、MCUのアプリ適用範囲は限定的です。

一方、PSoCのコンポーネントは、コンポーネント単体でプログラマブルです。1つのコンポーネントで複数の異なる機能を実現でき、これはデジタル回路だけでなく、アナログ回路のコンポーネントも同じです。また、コンポーネント間接続も、プログラマブルです。これら機能は、動作中でも変えることができるリコンフィグラブルです。

PSoC 4ブロック図(データシートより抜粋)
PSoC 4ブロック図(データシートより抜粋)

PSoCを「カメレオンIC」とトラ技2013年7月特集で呼んだのは、制御コア以外のアナログ/デジタルコンポーネントがこのように状況に応じて変わるからです。
ゆえにPSoCは、MCUよりもアプリケーションの対応自由度が高いのです。

PSoC 4デバイス価格調査

プログラマブルなコンポーネントを持つPSoCはMCUより高価です。制御コアをARM Cortex-M0/M0+とした時のPSoCとMCU価格差をDigikeyで調査した結果が下表です(※ほぼ同じスペックの比較)。

ベンダ
型式
 

CYPRESSCY8C4245AXI-483

 

NXPLPC1114FBD48/302

 

FREESCALEMKL05Z32VLF4

制御コア Cortex-M0 Cortex-M0+
コア最大速度 48MHz 50 MHz 48 MHz
ROM/RAM 32kB/4kB
デジタルコンポーネント 4SPI, 2I2C, 4UART 2SPI, I2C, UART SPI, I2C, UART
アナログコンポーネント 12b ADC, 2OP AMP, 4CMP 10b ADC 12b ADC、12b DAC
GPIO 36 42 41
パッケージ 44-TQFP 48-LQFP 48-LQFP
2015/9 Digikey価格 526 414 339

 

アプリへの柔軟性や部品の共用化へデバイスコストアップをどれだけ許容するか、マイコン選定時の永久課題です。個人的には、面白い機能盛りだくさんのPSoC 4を活用したいと思います。

PSoC 4 BLE動画

PSoC 4に、IoTセンサマイコンのトレンド、Bluetooth 4.1のBLEコンポーネントを追加したのがPSoC 4 BLEです。BLE Pioneer Kitの動画(英語)で、IoTマイコンPSoC 4 BLEの動作や特徴が解ります。

BLE機能を一体化したPSoC 4 BLEやPRoC BLE(後述)と、MCUにBLEを外付けにするアプローチ、どちらが優れているかは検討が必要です。しかし、一体による小型化、iPhone/AndroidやパソコンとのBluetooth通信確認済みのアンテナ、しかも各国の規格認証済みであるなど魅力があると思います。

本ブログの対象Cypressデバイス:
PSoC 4、PSoC 4 BLE、PRoC BLE

制御コアが8051のPSoC 3、ARM Cortex-M3のPSoC 5もありますが、本ブログは、制御コアに8/16ビットマイコンの置き換え市場を狙うCortex-M0を使った以下3デバイスを対象とします。

  1. PSoC 4
  2. PSoC 4 BLE
  3. PRoC BLE

PRoC BLEは、普通のMCUで使うADCやUARTのコンポーネントに、BLEコンポーネントを追加したIoT MCU市場へ殴り込みをかけるCypressデバイスで、アナログコンポーネントブロッグが無いデバイスです(前回記事のブロック図参照)。
今日現在DigiKeyで未販売ですので価格は不明ですが、PSoC 4 BLEよりはかなり安くなると思います。

* * *

PSoCの特徴と3つのブログ対象デバイスについて示しました。これらデバイスは、制御コアがCortex-M0のため、普通のMCU開発者なら試しに使ってみる障壁は少ないと思います。
今後は開発キット、PSoC 4 Pioneer KitBLE Pioneer Kitを使って、デバイスの具体的な使い方、一般的なMCUとの開発の違いなどを記載する予定です。