PSoC
PSoC(ピーソック、Programmable System-on-Chip)とは、サイプレス・セミコンダクター(現:インフィニオン・テクノロジーズ)が開発したマイクロコントローラの製品群である。
概要
[編集]製品群はアーキテクチャの違いによって以下のように大きく5種類に分けられる。
- PSoC1 CY8C2xxxx CPUにM8Cを使用
- PSoC3 CY8C3xxxx CPUにIntel 8051を使用
- PSoC4 CY8C4xxxx CPUにARM Cortex M0を使用
- PSoC5LP CY8C5xLPxxx CPUにARM Cortex M3を使用
- PSoC6 CY8C6xxxx CPUにARM Cortex M4コアを使用 一部モデルはCortex M0+コアとのデュアルコア構成[1]
他にも、PSoC5LPの前身にあたるPSoC5(CY8C5xxxx)と呼ばれる製品群が存在する。ピン配置や機能はPSoC5LPと互換性があり、メーカーはPSoC5LPへの置き換えを推奨している[2]。
マイクロコントローラに加え、「ユーザーモジュール」と呼ばれるブロック構成機能があり、周辺機能を集積できるのが特徴である。
Bluetooth Low Energy
[編集]サイプレスは、2014年からBluetooth Low Energyモジュールを搭載したPSoC4 BLE(Bluetooth Smart)の提供を開始した[3]。ユーザーはPSoCの開発環境を利用することによりBLEモジュールを追加できる。 PSoC 6シリーズには、Bluetooth 5規格に準拠したBLEモジュールが追加された[1]。
歴史と採用実績
[編集]製品としての出荷は2002年に始まった[4]。サイプレスはPSoCを促進するため2002年と2004年に雑誌・Circuit Cellarにて「PSoC Design Challenge」を掲載した[5]。
2009年9月にPSoCにPSoC3とPSoC5の2ファミリを追加する事を発表した[6]。最大の特徴はCPUコア(コアアーキテクチャ)の一新で、PSoC3は8ビットのIntel 8051を、PSoC5には32ビットのARM Cortex M3を採用し、性能を改良・改善している。なお、当初から存在する初代PSoCは今後もPSoC1として展開される。
2012年12月にPSoC5の消費電力を抑えたPSoC5LPが発表され[7]、2013年3月にはPSoC4のファミリが発表された[8]。
TiVoや、AppleiPodのホイール部分の静電容量センサーの制御などに利用されている。
テクノロジー
[編集]コア(中心部分)とアナログおよびデジタルブロックで構成されており、プログラムと相互に利用できる。
コア
[編集]PSoC1のコアには以下の物が含まれている。
- M8Cマイコン
- フラッシュメモリ
- SRAM
- スリープおよびウォッチドッグタイマー
- PLLを含む複数のクロックソース
- 低速主発振器の内蔵
- 高精度の水晶発振器を使いクロックを外部で作成可能
ユーザーモジュール
[編集]PSoCの特徴の1つとして、他のマイクロコントローラ(マイコン)と異なり「ユーザーモジュール」と呼ばれる機能があげられる。様々なアナログおよびデジタルブロックを使用して、マイコンの周辺に必要な一連の機能を集積・内蔵することができる。初期化処理や割り込み処理などのAPIやサブルーチンは開発環境が自動的に作成してくれる。デバイスによって異なるが、最大で16個のデジタルブロックと12個のアナログブロックが利用できる物もある。
デジタルブロックには、デジタルビルディングブロック(DBBxx)とデジタル通信ブロック(DCBxx)の2種類があり、デジタル通信ブロックにはI/Oユーザーモジュール(SPI、I2C、UARTなど)を構成できる。各デジタルブロックは8ビット処理であるが、複数のブロックを組み合わせる事で16・24・32ビットで処理する事ができる。例えば、16ビットのPWMやタイマーはデジタルブロックを2つ接続して処理される。
電源投入時に(ユーザーモジュールを)構成する必要がある点においてはFPGAに似ているが、構成データは内蔵フラッシュメモリーに記憶されており自動的に読み込まれる。PSoC1ではデジタルブロックは既存の物しか使用できず、HDLなどで独自に作成することはできない。ユーザーモジュールの構成は動作中にユーザーモジュールを再構築し、動作・機能を変更することも可能である。
I/Oポート
[編集]I/Oポートの機能が固定されている他のマイクロコントローラと異なり、特にデジタル入出力においてはI/Oポートの制約が少ない。PSoCを搭載する基板に合わせて使用するI/Oポートを選択でき、周辺の配線パターンを最適化しやすい。
M8Cプロセッサ
[編集]M8Cプロセッサとは、サイプレス・セミコンダクター社が開発した8ビットマイクロプロセッサコアである。ハーバード・アーキテクチャで、93.7kHz~24MHzで動作し、最大4MIPSの性能がある[9]。ビッグエンディアンである。
PSoC1のCPUコアとして使用されている。
開発環境
[編集]GUIによる数々の開発環境が無償で提供されている。
- PSoC Designer、PSoC Creator
- 統合設計環境である。アセンブラまたはC言語にて開発が行え、コンパイラ(ライセンス込み)も付属している。
- PSoC DesignerはPSoC1を、PSoC CreatorがPSoC3・PSoC4・PSoC5をそれぞれサポートしている。
- PSoC Express
- コードフリーの組込み設計ツール。PSoCの殆どの機能をドラッグ&ドロップのアイコンと論理式でアクセスして利用する事が出来る。
- PSoC Programmer
- ライター(書き込み装置)を利用してデバイスに書き込む際に利用する。
出典
[編集]- ^ a b 32-bit Arm® Cortex®-M4 PSoC® 6
- ^ PSoC 5
- ^ PSoC® 4 BLE (Bluetooth Smart)
- ^ ロイター:"Cypress Hits Half-Billion Mark in Shipments of PSoC Programmable System-on-Chip Devices"
- ^ Circuit Cellar:PSoC Design Challenge 2002
- ^ Cypress Revolutionizes Embedded Design with High Performance, Low Power PSoCR 3 and PSoC 5 Programmable System-on-Chip Architectures
- ^ New Cypress PSoCR 5LP Family with ARMR Cortex?-M3 Processor Powers High-Precision Programmable Analog with a Single-Cell Battery, Advancing Embedded Design
- ^ Cypress’s PSoCR 4 Architecture Delivers the Industry’s Most-Flexible, Lowest-Power ARMR Cortex?-M0-Based Devices for Embedded Designs
- ^ Technical Reference Manual (TRM)(Rev.*H)p.63
外部リンク
[編集]- 32-bit PSoC Arm Cortex Microcontroller - Infineon Technologies