トラ技 2019 年 5 月号付録 PSoC4100S 基板 (1)

 トランジスタ技術 2019 年 5 月号には、付録として Cypress CY8C4146LQI-S433 (PSoC 4100S シリーズ) を搭載した基板が付いています。
 以前の記事で取り上げた「PSoC 42xx Prototyping Kit」(CY8CKIT-049) に搭載されている CY8C4245AXI-483 (PSoC 4200 シリーズ) とは、内蔵ペリフェラルに違いはありますが、ソフトウェア的にはほぼ同等に扱えます。
 以前に作成した FM 音源のオペレータ (スロット) 計算のサイクル数を測定するための CY8C4245 用のプロジェクトも一部の変更で CY8C4146 用に対応でき、ほぼ同等の結果が得られました。
 両者の仕様の一部について比較した表を下に示します。

CY8C4245AXI-483 CY8C4146PQI-S433
ファミリ名 PSoC 4200 PSoC 4100S
CPU コア Cortex-M0 Cortex-M0+
最大クロック周波数 48 MHz 48 MHz
フラッシュ容量 32 KB 64 KB
SRAM 容量 4 KB 8 KB
UDB 4 -
SCB 2 3
TCPWM 4 5
DMA - -
Smart I/O - 2 ポート

 まず、「S」(あるいは「M」、「L」) が付いているシリーズでは、内蔵している CPU コアが Cortex-M0+ になっていることが違います。
 「プラス」の付くコアと「プラス」の付かないコアとの差は、主にハードウェアに関するもので、消費電流の削減と、約 1 割のパフォーマンス・アップが実現されています。
 ソフトウェア的には両者とも互換です。
 最大クロック周波数は両者とも 48 MHz で同じですが、フラッシュ・メモリ、SRAM ともに CY8C4146 の方が CY8C4245 の倍の容量となっています。
 一番大きな違いは、PSoC 4100S シリーズには「PSoC らしさ」の象徴である UDB (Universal Digital Block) がひとつも含まれていないことです。 その代わり、「Smart I/O」と称する小規模なロジック回路 (3 入力 LUT (Look Up Table) + レジスタ) を fixed-function の入出力とピンとの間に挿入することができます。
 また、「fixed function」である SCB (Serial Communications Block) および TCPWM (Timer Counter PWM) モジュールは、それぞれ 1 個ずつ増えています。
 PSoC 4100S シリーズでは、DSI (Digital System Interconnect) の機能もないため、fixed-function から任意のピンへの入出力はできず、あらかじめ定められた少数のピンへの接続を選ぶことしかできません。
 トラ技の基板では、ブートローダの UART 入出力用に P1.0 と P1.1 を使用しており、内蔵 OPamp0 の専用入力ピンを消費しています。
 また、P1.4 はブートローダ・モードの切り替えに使っていますが、そのピンは内蔵 OPamp1 の反転入力専用ピンであり、さらには、P1.7 は内蔵 OPamp1 の非反転入力専用ピンですが、コネクタに引き出されておらず、リファレンス電圧の平滑化用として基板上で 1μF のデカップリング・コンデンサと接続されており、事実上他の目的には使用不可です。
 そんなわけで、OP アンプの各端子をピンに引き出して「単体」として使うことが困難になっています。
 gcc のインライン・アセンブラで記述した「FM 音源の 2 オペレータ (2 スロット) 分の計算プログラムのサイクル数」の測定結果は約 85 サイクルで、PSoC 4200 の場合の 83 サイクルよりわずかに増えています。 これは、CY8C4146 ではクロックを 48 MHz に設定した場合にフラッシュのウェイト・サイクルが 2 となることに関連しているのかも知れません。