PSoC4 : 100 Projects in 100 Days

Cypressのサイトを見ていたら、「PSoC 4:100 Projects in 100 Days – 8 Projects Now Available」というエントリーが「PSoC Creatorに関するニュースと情報」というところにありました。

調べていくと、どうやらelement14でのPioneer Kitに対する販売促進(?)の一貫のイベント(?)として、平日は毎日1プロジェクトずつポストしていく、というもののようです。

どんなアイデアがでてくるのか、どのくらいのものまで実装可能なものなのか、楽しみです。

PSoC4 PioneerKitでLチカ

PSoC4 Pioneer Kitでサンプルベースで動かしてみることはできましたので、次にゼロからLチカしてみました。

PSoC Creatorを起動し、「File」→「New」→「Project」で新しいプロジェクトを生成します。冒頭に「Empty Templetes」がありますので、その中から「Empty PSoC4 (CY8C42*) Design」を選択、Name:にプロジェクト名を入れます。

Lchika1

“PSoC4 PioneerKitでLチカ” の続きを読む

PSoC4 PioneerKitを動かしてみた

PSoC4用になんとかWindowsXPマシンを用意することができました。Cypressのツールは経験上いろいろ苦労するので、普段とは違うマシンを用意しました。いくつか電子工作とは無縁のツールが入っていますが、多分問題ないでしょう。
このマシンでまずはサンプルを動かしてみることから始めます。

“PSoC4 PioneerKitを動かしてみた” の続きを読む

PSoC4 Pioneer Kitを買ってしまいました

いしかわきょーすけさんのホームページをみて、PSoC4なるものが出ていることをGW中に知りました。
元祖PSoC(PSoC1)は以前少しだけ作ったものを載せたことがありますが、PSoC DesignerのKasperskyとの相性の悪さもさることながら、M8Cという制約が多く鈍足のCPUコアにも閉口したものです。
その後、PSoC3/PSoC5が出る出ると言われて、蓋を開けてみたらPSoC3は8051互換コアで、今更8051かい・・・ってな感じですっかり忘れていました。

ところが、PSoC4はその8051コアをCortex-M0コアに置き換えてきたように見え、しかもArduinoライクで色々試してみるのに楽そうな基板なのに惹かれて、ついMouserでポチッとしてしまいました。当初、在庫なしで納期3週間の表示だったのですが、2週間ほどでFedExでの発送通知がきて、その翌日には届いてしまいました。

IMG_6251S

PSoC4 Pioneer Kitは2600円くらいだったのですが、使い物になるようなら真面目にOPAMPで回路を組んでいる同僚にプレゼントしてみようと思っていましたので、最低2個は買うつもりでした。・・・が、Mouserは7500円以上で送料無料、それ以下だと送料が2000円ということもあって、写真の通り3つポチッとしてしまいました。

“PSoC4 Pioneer Kitを買ってしまいました” の続きを読む

脈拍検出をPSoCで再現

一昨日のOPAMP(LMC662A)による回路をそのままPSoCで再現してみました。

使用デバイスはまず制約の少ない条件で楽にインプリメントしたかったので、CY8C29466-24PXIを使っています。センサはGP2S05のままです。

PSoCらしくローパスフィルタ/ハイパスフィルタ部分もPSoC内に入れたかったのですが、周波数が低すぎて単純に実装するのではうまく取りこめないようです。そのため、CRのフィルタはそのままにしてあります。そして、最後のゲインを稼ぐ部分のみ48倍設定としてあります。

増幅した後の信号を端子に出力して、その波形を観測してみました。

動作としては検出はできています。ただ、フォトリフレクタへの指の当て方でだいぶ変わってしまいます。また、インバータ式蛍光灯や外部ノイズに弱いようで、なんらかの対策は必要な感じです。

CY8C24123A-24PXIでLEDチカチカ

先にインストールしたPSoC DesignerでLEDチカチカしてみました。

まず、ストレス発散に一言。

『PSoC Designer 使いにくいっ!!』

なにが使いにくいかというと、内部処理でいろいろと怪しい橋を渡っているのか、KasperskyがWarningを頻繁にあげてきます。さらに、内部的にバッチファイルを生成してそれを呼び出すことでコンフィギュレーションとビルドを行うみたいなのですが、バッチファイルがKasperskyにブロックされてしまいます。バッチファイルの名前が毎回違うので、ブロック対象から外すこともできず、かといって、Kasperskyの機能を丸ごと無効にする気にもならずでどうしようもありません。

さらに、HEXファイルも生成される箇所が2箇所あることがあるようで、しかも、片方しか更新されない場合があります。PSoC Designerから呼ばれるProgrammerは別プロセスにはならない(=ウインドウが出ている間はPSoC Designerの操作はできない)ので、別途PSoC Programmerを起動しておく方がビルドと実行のサイクルが早いわけですが、片方しか更新されない(しかもどっちが更新されるかルールがまだよくわからない)ので、ビルドしたつもりでも書き込まれるのは古いHEXだったりすることがあったようです。(書き込む際にHEXファイルのタイムスタンプでも表示してくれれば気づくのですが、それもない)

かといって、別プログラムのPSoC Programmerを使わずに、PSoC Designerの組み込みのプログラマを使おうしても、先述の通り閉じないとDesignerの操作ができないのでウインドウは出したままにできないし、アイコン一発で書込みできるわけでもないので、ものすごく面倒くさいです。

まだまだ文句はあるのだけどこの辺にして、上記の苦闘6時間の末、とりあえずLEDチカチカできました。

8ピンのCY8C24123Aで出力端子2本にLEDを接続し、PWM16とPWM8でチカチカをさせました。

ソースはPSoCらしく非常に簡単で、設定はすべてプロパティで行うので、Start()のみです。

//—————————————————————————-
// C main line
//—————————————————————————-

#include // part specific constants and macros
#include “PSoCAPI.h” // PSoC API definitions for all User Modules

void main(void)
{
// M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts
// Insert your main routine code here.
PWM16_1_Start();
PWM8_1_Start();
}

ビルドに際しては、先述の様に今ひとつ上手くいかないです。

本来は、赤矢印の「Generate/Build Project」だけで上手くいくべきなのでしょうが、先述の通り、途中でDesignerが生成したバッチファイルの起動ができずにすっ飛ばしてしまうことがあります。そのため、Buildは青矢印の方を使って個別に行います。で、生成されたHEXファイルを書き込んで完了です。

今時、セキュリティ対策ソフトは欠かせないのですから、きちんと共存できるように作ってほしいものです。(本当はLinux版が欲しい所なのですが・・・)

PSoC環境構築

ふとしたことから、しばらく前に見た鼓動にあわせて光るペンダントの記事を思い出しました。

・・・で、ペンダント形にするかどうかはともかくとして、鼓動に合わせて光るものを作ってみたい、ということで、なんとなくPSoCの開発環境を引っ張り出してみました。

で、最新のPSoC Programmer(書込みツール)とPSoC Desginer(開発環境)をインストールしました。で、PSoC Programmerを起動後、手持ちのPSoC MiniPROGを認識するかと思ってUSBで接続したら・・・認識しません。(;_;)

Googleさんに聞いてみたら、ドライバを手動でインストールしなければならないようでです。

デバイスマネージャで「!」マークがついているプログラマを選択して、「C:\Program Files\Cyress\Programmer\3.12.4\drivers\mprog1」フォルダにあるINFファイルをインストールしたら、認識するようになりました。

・・・あっちこっち試してみてるからなかなか完成しないんだよなぁ・・・。