鳥なき里のマイコン屋(55) CY8CKIT-059 PSoC 5LP Prototyping Kit

PSoC Creatorを使って、トラ技付録の「TSoC」基板を使ってみているうちに、ちょっと良い目のターゲットボードも欲しくなってきたんであります。物欲。まず、ハードウエアのプログラマ兼デバッガIFが欲しい。するとPSoC Creatorの上でデバッグできるし。また、付録基板のPSoC4は、かなり機能抑えめのチップ、廉価版。しばらくしたら、も少し機能が欲しくなりそう。そういうことで、表題の、

CY8CKIT-059 PSoC 5LP Prototyping Kit

を購入いたしました。

まずキットのパッケージ写真をご覧いただきましょう。

段ボールを使ったパッケージで届きました。表面、青く塗られた部分の左下の PEEL HERE というタブをつまんでピリピリとフィルムを剥がせば、内部の基板を取り出すことができます。パッケージ裏面には、簡単な使い方、といって、ほぼ実物大のボード写真に端子名を書き込んだものと、USBに繋げば「動くよ」あとはWebサイトを見てね、くらいなものが印刷されています。

ボードを取り出してみます。ボードは2つの部分に分かれていて、場合によっては2つに切り離せるようになっています。

  • 大きい方のボードがターゲットボード
  • 小さい方のボードがプログラマ、デバッガボード

ターゲットボードにはマイクロUSBコネクタが実装されていて、これはターゲットボードがUSBの先につながるアプリケーションとして動作するときに使うものです。いっぽう、小さい方のボードは一般のマイコン開発システムでの「シリアルデバッガ」に相当するような機能を搭載したもので、

KitProg

と呼ばれています。こちらはカードエッジがUSB端子になっていてそのままパソコンのUSBポートに差し込めば動くようになっています。実際、初回の動作確認は、パソコンのUSBポートに直接差し込んで動かしました。ソフトウエアの開発やデバッグだけなら直接差し込むのは便利ですが、ターゲットボードにいろいろ部品をつなげてハードをいじろうと考えると、そのままではボード配置が苦しくてとても不便です。周辺回路を接続のためには、

USB延長コード

が必須じゃないかと思います。私は手元に見当たらなかったので100円ショップで買いました。これがあれば好きな所にターゲットボードを置けますし、ブレッドボードにつなげやすいし。

 

ターゲットボードもKitProgも載っているのはPSoCマイコンです。KitProg側のマイコンは、プログラマ/デバッガとしてのファームウエアが書き込み済という形です。搭載されているPSoCは、

  • ターゲットボード:CY8C5888LTI-LP097
  • KitProg側:CY8C5868LTI-LP039

ターゲットボードのマイコンは、CPUコアArm Cortex-M3 @80MHz、フラッシュは256MB、SRAMは64KB のPSoC 5LPファミリです。

KitProg側のマイコンは、CPUコアArm Cortex-M3 @67MHz、フラッシュは256MB、SRAMは64KB のPSoC 5LPファミリです。

ほぼ同等のマイコンが載っています。やはりローエンド向けのPSoC4に比べると、CPUコアもアップグレードされていますが、周辺の充実度合も違うと思います。

このKitを使うには、事前にKitのパッケージをダウンロードして、インストールしておく必要があります。ダンボールの裏側に書いてあるURLからキットのウエブページに行けばダウンロードできます。ただ、インストールガイドなどは、PSoC Creatorからフルインストールするつもりで書かれています。私のようにPSoC Creatorを事前にインストール済の人は、それより遥かに小さなキットのセットアップだけをする方を選んだ方が早く済みます。

さてキットのパッケージもインストールしたので、PSoC Creatorを立ち上げてみます。Welcome画面のKitのところに、このキットが現れており、開くといくつかサンプルプロジェクトも入っています。早速、開いて、ちょい変してみました。ビルドも正常に成功。ボードに書き込もうということで、メニューからprogramを選ぶと(付録基板だとブートローダブルだったので、programは使えなかった)、USB接続したボードは認識されているのですが、

KitProgのファームウエアが古いからアップデートせよ!

といったエラーメッセージが出ています。対処としては、PSoC ProgrammerのUtilityタブから行え、と書いてあるのですが、はて、不慣れなもので、

PSoC Programmerって何、このPSoC Creatorのprogramメニューとは別?

という疑問にはまりこみました。PSoC Creatorのメニューをあちこち調べたのですが、それらしいものは無いです。慌ててCypressのホームページを見ると、PSoC Creatorとは別なソフトウエアとして PSoC Programmerが存在しました。そこで早合点してそれをダウンロードしてインストールしてしまったのですが、インストール始めてから

PSoC Creatorインストールしたときに同時にPSoC Programmerもインストール済だった

ことに気付きました。何のことはない「スタートメニュー」をよく見れば、ちゃんとPSoC Programmerが存在していました。ま、とくに問題なく起動し、アップデートした画面のコピーが以下です。起動して、更新するKitProgを選んで、Update Firmwareボタンを押すだけ。

 

更新そのものは非常に簡単でしたが、不慣れだと何処になにがあるのか分からず慌てます。これでプログラム更新ができるようになったので、ターゲットボードへプログラムを書き込み、デバッグしてみたいと思います。ちょい変で、ことさらに変数を追加してあるので、そこでブレークかけてプログラムを止め、変数の値を観察してみます。デバッガで立ち上げれば以下のような感じです。

 

どこの会社のマイコン用のIDEでも似たり寄ったりの慣れ親しんだスタイル。違和感ないですね。

それにマニュアルを読み進めているうちに

KitProgというものがなかなかお買い得

であることに気付きました。上記のように、ターゲットボードにプログラムを書き込む(ブートローダブルである必要はない)、デバッグするという機能以外に

  • ストレージに見せかけてターゲットをプログラムする
  • UARTへのブリッジ機能
  • I2Cへのブリッジ機能

が含まれています。

最初のストレージに見せかけてターゲットをプログラムする機能は、Mbedの時につかっていた STのNucleoボードでも使っていた手で、パソコンに接続すると、パソコン上でUSBドライブのように認識されてドライブの画面が開くというもの。そこにオブジェクトを書き込めばデバッガがターゲットに書き込んでくれます。Nucleoではさんざんこれにお世話になっていますが、PSoCでもお好みで使える、と。これを使えば、PSoC CreatorやPSoC Programmerなど無しにプログラムを書き換えられるので、開発環境の無い出先でちょいと書き換えなどのときに便利かもしれません。

UARTへのブリッジ機能は、付録基板のときも使っていたUARTへの入出力で、パソコンの仮想シリアルポートに接続するもの。よくしたもので、ターゲットボードとKitProg間には既にその配線が張られているので、ターゲット側にUARTのコンポーネントを決まったポートに向けて配置すれば使えるようです。

また、I2Cへのブリッジ機能は、ターゲットボードをEZI2CコンポーネントでI2Cのスレーブにしておけば、KitProg側からターゲット内のデータにアクセスできるという優れものです。パソコン側でこれを制御するためのブリッジコントロールパネルというソフトウエアがちゃんと存在することを確認しました。

一点だけ残念なところはボードサイズでしょうか。まあUSBのコネクタのサイズを考えると致し方ないのでしょうが。右上はトラ技の付属基板、下は今回のキットです。

トラ技付属基板は小さいので、ブレッドボードに指していろいろいじりやすくなっています。けれども、今回のキットは幅ひろなので、ピンヘッダを半田付けしてブレッドボードに刺すことは可能ですが、そうすると端子を引き出すことはできても近くには部品を配置するスペースがほとんどありません。

それどころか、私もよく使っている小さいサイズのブレッドボードだとはみ出します。ターゲットボードだけであればなんとか収まりますが、肝心の周りを工作するスペースはほとんど無し。周辺とりつけるときには、考えておかないとなりません。

鳥なき里のマイコン屋(54) PSoC Creatorその3 システムタイマチックとコンパレータ

鳥なき里のマイコン屋(56) Nucleo 401RE追加 に進む