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+コアとのデュアルコア構成32-bit Arm® Cortex®-M4 PSoC® 6
他にも、PSoC5LPの前身にあたるPSoC5（CY8C5xxxx）と呼ばれる製品群が存在する。ピン配置や機能はPSoC5LPと互換性があり、メーカーはPSoC5LPへの置き換えを推奨しているPSoC 5。

マイクロコントローラに加え、「ユーザーモジュール」と呼ばれるブロック構成機能があり、周辺機能を集積できるのが特徴である。

 Bluetooth Low Energy 
サイプレスは、2014年からBluetooth Low Energyモジュールを搭載したPSoC4 BLE(Bluetooth Smart)の提供を開始したPSoC® 4 BLE (Bluetooth Smart)。ユーザーはPSoCの開発環境を利用することによりBLEモジュールを追加できる。
PSoC 6シリーズには、Bluetooth 5規格に準拠したBLEモジュールが追加された32-bit Arm® Cortex®-M4 PSoC® 6。

 歴史と採用実績 
製品としての出荷は2002年に始まったロイター:"Cypress Hits Half-Billion Mark in Shipments of PSoC Programmable System-on-Chip Devices"。サイプレスはPSoCを促進するため2002年と2004年に雑誌・Circuit Cellarにて「PSoC Design Challenge」を掲載したCircuit Cellar:PSoC Design Challenge 2002。

2009年9月にPSoCにPSoC3とPSoC5の2ファミリを追加する事を発表したCypress Revolutionizes Embedded Design with High Performance, Low Power PSoCR 3 and PSoC 5 Programmable System-on-Chip Architectures。最大の特徴はCPUコア（コアアーキテクチャ）の一新で、PSoC3は8ビットのIntel 8051を、PSoC5には32ビットのARM Cortex M3を採用し、性能を改良・改善している。なお、当初から存在する初代PSoCは今後もPSoC1として展開される。

2012年12月にPSoC5の消費電力を抑えたPSoC5LPが発表されNew Cypress PSoCR 5LP Family with ARMR Cortex?-M3 Processor Powers High-Precision Programmable Analog with a Single-Cell Battery, Advancing Embedded Design、2013年3月にはPSoC4のファミリが発表されたCypress’s PSoCR 4 Architecture Delivers the Industry’s Most-Flexible, Lowest-Power ARMR Cortex?-M0-Based Devices for Embedded Designs。

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の性能があるTechnical Reference Manual (TRM)（Rev.*H）p.63。ビッグエンディアンである。

PSoC1のCPUコアとして使用されている。

 開発環境 
GUIによる数々の開発環境が無償で提供されている。

 PSoC Designer、PSoC Creator統合設計環境である。アセンブラまたはC言語にて開発が行え、コンパイラ（ライセンス込み）も付属している。
PSoC DesignerはPSoC1を、PSoC CreatorがPSoC3・PSoC4・PSoC5をそれぞれサポートしている。
 PSoC Expressコードフリーの組込み設計ツール。PSoCの殆どの機能をドラッグ＆ドロップのアイコンと論理式でアクセスして利用する事が出来る。
 PSoC Programmerライター（書き込み装置）を利用してデバイスに書き込む際に利用する。

 出典 

 外部リンク 
 32-bit PSoC Arm Cortex Microcontroller - Infineon Technologies

Category:マイクロプロセッサ
Category:System on a chip

ru:PSoC