コンパクトでかわいいPSoC評価キットが登場! ―― PSoC評価キット「CY3270 PSoC FirstTouch」製品レビュー
2007年9月,米国Cypress Semiconductor社は,USBメモリの形をした低価格(29.95ドル)のPSoC評価キット「CY3270 PSoC FirstTouch(以下,FirstTouch)」を発売しました.このキットを入手できましたので,使用感などをレポートします.
FirstTouchは,PSoC(Programmable System On a Chip)マイコンのコンパクトな評価キットです.このキットは,PSoC Expressという新しいGUIベースのツールによる開発をユーザに体験してもらうことを主眼に置いて企画されました.回路図が付いているので,従来通り同社のPSoC Designerを使って動かしてみることもできます.
●PSoCとは
PSoC(Programmable System On a Chip)は,Cypress Semiconductor社のオリジナルCPUコア「M8C」と,フラッシュROMやRAMを内蔵したワンチップ・マイコンです.その特徴はI/O部分にあります.
通常のワンチップ・マイコンは,例えば16ビット・カウンタはいくつ,A-Dコンバータはxビットのもの...という具合に,あらかじめ固定された機能ブロックが配置されており,それらの相互の結線はせいぜいクロックの接続先などを切り替える程度です(図1).アナログ演算の機能は全くないので,マイコンの外部でOPアンプを使って増幅やフィルタリングなどを行い,A-Dコンバータで取り込んでCPUで演算処理を行うというのが一般的な考え方でしょう.
一方,PSoCは,内部にOPアンプとスイッチト・キャパシタを利用したアナログ演算処理用の汎用ブロック(アナログPSoCブロック)と,タイマ/カウンタやシリアル通信機能,CRC(Cyclic Redundancy Check)演算など,さまざまな機能を実現できる汎用ブロック(ディジタルPSoCブロック)を複数内蔵しています(図2).
これらのブロックの入出力信号を内部バスで相互に結線したり,内部バス間にある2入力1出力の論理演算機構を利用して信号間の演算を行うことが可能です.これにより,ディジタル回路はもちろんのこと,一般的なマイコンであれば外付けにせざるを得なかったようなアナログ回路の大部分をチップ内部に取り込むことができます.いわば,汎用ブロックを積み木のように組み合わせて目的の回路/システムをチップ内部に構成してしまおうというのが,PSoCの考え方です.
アナログ回路を内蔵したことによって,前段の増幅やフィルタ部分を取り込める(特にセンサとのインターフェース部分が簡単になった)ことから,デジタル・カメラの手ぶれ補正やゲーム機のコントローラに利用されています.また,外付け部品を使わずに単に基板のパターンを引くだけで静電容量式のタッチ・センサを実現できることから,携帯型音楽プレーヤや携帯電話の操作部分にも利用されています.
●開発ツール,PSoC DesignerとPSoC Express
PSoCブロックのコンフィグレーションや内部バスの結線などはCPUのレジスタ設定で行います.このためPSoCの内部レジスタは非常に数が多く,設定も複雑です.一般的なマイコンのようにレジスタのビット・パターンを一つずつ手作業で考えたり初期設定コードを記述するのは現実的ではありません.
また,内部のPSoCブロックは汎用的なものであり,それらを組み合わせることによりさまざまな使い方が可能となるのですが,これらを動かすためのコードを一から書くのは楽な作業ではありません.
このため,PSoC用にはGUIベースのツールが用意されています.これらのマクロ的な機能モジュールをあらかじめ用意しておけば,それをデバイス上のブロックに割り付けるだけで,初期設定パラメータを設定してくれたり,プログラムを自動的に生成してくれたりします.
こうしたGUIツールの一つはPSoC Designerです(図3).いわゆる統合開発環境に,チップ内部のコンフィグレーションやライブラリの自動生成機能を付けたものです.こちらはPSoCが登場した当初からありました.
もう一つは,最近になって登場したPSoC Expressと呼ばれるツールです(図4).こちらはGUIによるデバイス・コンフィグレーションという考え方をさらに一歩進めたもので,入出力の関係をGUIベースで結線したり,パラメータを設定していくなど,動作そのものをGUIベースで作成していくだけでプログラムが完成するというものです.
センサなど,周辺に接続するものについては,デバイスそのものがライブラリとして提供されているので注1,ライブラリにあるデバイスを使用すれば,デバイス固有の制御用のコードや値の変換などのコードも自動的に生成されます.さらに,ビルドした後には部品表や回路図,使い方や特性を示したデータシートも自動生成されます.マイコンをプログラムしているというよりも,あたかもユーザ仕様のデバイスそのものを設計しているイメージに近いと思います.
注1:デバイス・メーカがExpressのコンセプトに賛同し,自社製品用のライブラリを作成してCypress社に提供しているそうだ.
●FirstTouchキットの概要
キットには以下の4点が入っています(写真1).
・クイック・スタート・ガイド(インストール方法や簡単な使い方を示した冊子)
・CD-ROM
・プログラマ(FirstTouch PC:FTPC)
・評価ボード(FirstTouch MultiFunction:FTMF)
プログラマと評価ボードの接続は,図5のようになっています.また,それぞれの回路図はキットのCD-ROMに収録されています(Cypress社のWebサイトからもダウンロードできるようになるはずである).
●FirstTouch PC
FirstTouch PC(FTPC)は,USBバスに接続するモジュールです.搭載されているのはUSBコントローラを内蔵したPSoCマイコン「CY8C24894」ですが,こちらはプログラマ(書き込み器)として動作します.
図5を見ると,FirstTouch PCとFirstTouch MultiFunctionの間にはいろいろな信号線がつながっていますが,実はプログラマとして必要な信号線は,
・ISSP_RES
・ISSP_CLK
・ISSP_DATA
の3本だけで,ほかは単なるおまけのようなものです.FirstTouchではプログラマとしてしか使っていません.しかし,I2CバスやSPIバス,P0[2:5]といった4ビットのパラレル・ポート信号などもつながっているので,USB経由でベンダ・リクエスト(ベンダ定義コマンド)を利用することにより,これらの信号線を使ってデータ通信や簡単な制御なども行えるようになっているのかもしれません.このあたりがうまく利用できれば,今販売されているミニ・プログラマ(MiniProg)よりも便利なツールになることでしょう.
●FirstTouch MultiFunction
FirstTouch MultiFunction(FTMF)はユーザが組んだプログラムを実行するボードであり,FirstTouch PCによって書き込みを行います(写真2).使用されているPSoCデバイスはタッチ・センシング機能を主眼にした製品です.PSoCブロック数はディジタル・ブロックが4個,アナログ・ブロックが4個と少なく注2,またアナログ出力機構も持たないなど,PSoC機能としてはかなりシンプルな製品です.しかし,内部の自由度の高さを生かせば色々な使い方ができることでしょう.
注2:CY8C29466(28ピンDIPもあり)は,ディジタル・ブロックを16個,アナログ・ブロックを12個持っている.
本ボード上には,以下の部品が実装されています.
・PSoCマイコン(CY8C21434)
・温度センサ(サーミスタ)
・光センサ
・近接センサ
・CapSenseスライダ
・ブザー
・LED
CapSenseスライダは,PSoCを使ったCapSense(静電容量式)タッチ・センサの実験が行えるように,基板上に7個の接点パターンを横に並べて実現したスライダ(左右方向にアナログ的に移動させるようなイメージで利用できる入力)です.また,近接センサは,一つの接点で近くに人体が来たことを検出します.
●4種類のサンプル・プロジェクトを提供
Cypress社からは,次の4種類のサンプル・プロジェクトが用意されています.すべてPSoC Expressを使ったものですが,評価ボードの回路図は公開されているので,PSoC Designerを使って独自にプログラムを組んで動かすことも可能です.
1)温度に応じてLEDが変化する
温度センサで周囲の温度を測定し,温度変化に応じてLEDの色や点灯状態を変化させます.温度が想定範囲外のときはブザーが鳴ります.
2)手を近づけるとLEDが変化する
基板中央部分にある端子を静電容量式の人体センサとして利用しています.手が近づくとLEDの色が赤から緑に変化します.
3)周囲の明るさに応じてLEDが変化する
光センサで装置周囲の明るさを検出し,周囲の明るさに応じて青色LEDの明るさを変化させます.裏では10ビットA-Dコンバータで値を取り込み,タイマを使ったPWM(Pulse Width Modulation)で明るさを変化させています.PSoC Express上で設定する分には単にセンサとLEDを関連付けているだけなので,気にする必要はありません.
4)CapSenseスライダに触れるとLEDが変化する
指でスライダ部分に触れると,左側(温度センサやブザーのある側)なら赤,中央付近なら緑,右側なら青という具合に,指の位置によってLEDの色が変化します.
●ユニークな構成は試してみる価値あり
PSoCはユニークでフレキシブルな構成により,ほかのマイコンにはなかなかまねのできない特徴を持ったデバイスです.採用実績もここ数年で伸びており,今後の展開が楽しみなデバイスの一つです.一方で,一般的なマイコンとは大きく考え方が異なるところや,PSoC Designer上で独自のデザインを行うためにはハードウェアとソフトウェアの両方の知識がある程度求められるなどといったところに敷居の高さを感じるユーザも多いのではないかと思います.
こうした状況を打破するため,プログラミング言語の知識がなくてもアナログ/ディジタル混載のシステムを設計できるということを示したのがPSoC Expressなのだと思います.
FirstTouchは約30ドルという低価格ながら,プログラマも添付され,センサやLED,ブザーなども実装されています.入手して,今までのマイコン・ソフトウェアの開発と比較してみると面白いと思います.
くわの・まさひこ
パステルマジック