PS-USP01 example3 [PSoC]
と言うことで、一応example3もやってみました。
グラフは、入力に指を触れた状態です。
なぜかWindows2000のマシンでは"Could not find Process Monitoring Device"..
W98とXPはOKでしたが...。
例の罠は、実はPS-USP01の取説に書いてありました。
projectをupdateしても、main.cのなかの#include "usb.h"の行をコメントアウトすれば回避できます。(せっかく書いていただいていたのに..すいません。)
Example1は書込み済みだったので、読み飛ばしておりました。
Example1と3は、VisualBasic6のProjectが付いてきます。
これを元にいじればいろいろできそうです。
多チャンネル化とか、加速度センサをつないでプロットするとか。
VB6はそんなに詳しくないのですが、いじる前確認として外観をいじっただけで.exeを生成してみました。
と、サックリ生成できました。
出だしは順調です。
Cypressのサイトを見ていたら、CypressのApplication Note AN2361 USB-Powered Battery Carger for NiCd/NiMH Batteriesというのがありました。
BUS Powerなので超急速充電とは行きませんが、充電過程がモニタできるPCアプリが付いています。
電池の放電特性モニタやLi-Ion充電、放電監視つけてPDA用外部バッテリパックなんかに応用できそうです。
Example2の罠 [PSoC]
あ、昨日example2と3も書きましたが、あれはEVAL USBを買ったときのもので、Designerは、たしかVersion 4.2だったと思います。
4.2の時はCY8C24794はサポートされておらず、正式サポートされた4.3で開くと何か起きそうな予感。
さて、3択問題です。性善説だとupdateしますよね。
これでrebuild allすると...
!E ./lib/usb.h(124): redeclaration of `T_USB_XFER_STATUS_BLOCK'
C:\PROGRA~1\CYPRES~1\PSOCDE~1\tools\make: *** [obj/main.o] Error 1
example2 - 2 error(s) 0 warning(s) 12:50:01
となります。
原因究明はさておき、汚染されたexample2のフォルダは捨て、心機一転。
ここはひとつ
好意を無にするようでなんですが、Cancelしましょう。
これでrebuld allが通ります。
で、書き込むわけですが、
ここで、MiniprogのVersionが1.71ではない人が多いのではないでしょうか。
私もも1.67でした。
ProgrammerをVersion2.20にVersion upして、Utilities-Upgrade Firmwareして下さい。これで書込みできます。
あと、ProgrammerのWindowって複数開く上にトラブルの元になるので、書き終わったら閉める習慣をつけたほうが良いと思います。(AlteraのQuartusもそうでしたね。)
で、USBコネクタを差し替えると
009
temp2 ^ 012
temP2 ^ 022
temp2 ^ 003
temp2 ^ 035
temp2 ^ 002
temp2 ^ 029
:
:
と無事動きました。
くれぐれもデスクトップで実行されませんよう....。
光ったぞPS-USP01 [PSoC]
というわけで、早速PSoCに書かれAN2298のExample1を試してみました。
LEDアノードに電流制限抵抗1KΩ入れて電源に接続、カソードは対応ピンへ。
スイッチは単に対応ピンへ。PullUpは内部処理されています。
F1はポリスイッチが手に入ったので実装。ない人はショートか、ヒューズが、ひ弱そうな素子をヒューズ代わりに...。
配線して気が付いたこと。この、P21とかのポート名が書いてあるのはすごく良いです。
これがないとDesignerはポート番号(P2_1)とかだし、データシーと見て基板の回路図チェックして....と大変面倒なことになります。
電源ショートがないことを確認して、Mini-B USBケーブルとHostPCをつなぎます。
程なくして、HIDデバイスとして認識されます。ドライバは不用です。
PC側アプリ。うまく認識されていれば、下のほうのButtons...がうっすら表示されます。
ソフトボタンを押すと、ボード上の対応LEDが光ります。
左のFunctionsを押すと、現実世界のスイッチとsoft Buttonの論理をとってLEDを光らせるモードになったりします。
あと、example2は
USB PSoCでキーボートをエミュレートし、AD変換値をキーボードとしてPCに送ります。
Excelやエディタ上で動かして下さい。デスクトップで動かすと大変なことになります。荒れ放題です。
これはもう説明要りませんね。
頑張ると低速オシロになりますね。
このページより、ちょっとだけ文字数の多いEVALUSBのレポートはこちら
来たぞPS-USP01 [PSoC]
月曜日、休日なのに朝早くから眼が覚めました。なぜか。
いつもの習慣でLivedoor Checkers(Webページ更新お知らせサービス)見ると、pastelmagicのtopが更新されてる。これは新商品のお知らせ....あ、日記に書いてあったなぁ...クリック、おー来たか~世界初だぞーきっと。
で、
早速注文、来たのがこれ。なんだかわかりませんよね。
UBS インターフェースが内蔵されたPSoC、CY8C24794搭載評価基板です。
お茶目な楕円のアルミ箔に包まれてました。
Capsensも使用可能で、しかもUSB付き。とっても魅力的なのですが、最大の欠点はMLFパッケージなことです。
0.5mmピッチが苦でない人は大丈夫と思いますが、ぴったりの変換基板がないんですね。
そんな折に、Pastelmagicさんの掲示板で、tanago55さんが基板を作られて、披露されてました。
実はその基板が今回発売された物です。ライセンス生産と書いてあります。
あ、当然CY8C24794は実装されています。
裏側。ちゃんとベタGNDだ。ディジアナ混載だし、銅箔溶かすと地球にやさしくないし(エッチング液が早く傷む)
それに引き換え、どっかの出版社のおまけ基板は...。
USB BUSのVBUS(+5V)につながるパターンはデフォルトでオープンとなっています。ですが3225サイズのパッドがあるのでポリスイッチが実装できます。
とりあえず、秋月電子さんのMICROSMD 010 (0.2Aで動作)がぴったりです。
ICとUSBコネクタの間にある緑に黒帯のものがそうです。
ホスト側は魑魅魍魎なので、入れておいた方が無難とおもいます。
USBを使わなければ、両脇のI/O部分やMiniProgの端子から供給できます。
買った状態でCypressのアプリケーションノートAN2298のExample1が書き込まれているので、PCにつないでLEDチカチカが試せます。
また、トランジスタ技術2006年4月号にも関連記事があります。
久しぶりにわくわくしてきたぞ。
早く週末になぁれ。と。(その前に休めますようにと)
PSoC Designer4.3beta [PSoC]
PSoC Designer4.3betaがリリースされました。
Updateの内容はHelp-Documentation-releasenote.pdfを参照していただくとして...。
とりあえずまず感じたのは、起動が早くなりました。1/3くらいって感じです。
あと、新しいユーザーモジュールで7SegLEDや
ただのLED....
そして、待望のUSB PSoC用CSR(Capsense)モジュールが追加になってます。
ただし、Datasheetやblock図がなかったり、releasenoteに書いてないなので、超暫定版かなぁという感じではあります。
これが動き出せば....面白くなりそう.....
と妄想して....
はやく落ち着け、本業...。
PSoC World Tour 2006 in Tokyo, Japan. [PSoC]
というわけで、2/21に 丸ビル行われた”PSoC World Tour 2006 in Tokyo, Japan.”
に参加して来ました。(絶望的だったのですが、問題の打ち合わせが延びて...ま、濃縮還元100%にはなるんですけど...)
大変盛況で、ギリギリに入ってきた人は、座る場所を探すような状態でした。
-- 2006/1/11 BOX 62 OF400 まだできたて --
参加者全員にCY3212-CapSenseのキット(期間限定Cコンパイラライセンスつき)が配布されました。(買うと$89)
開始前にソフトをインストールする人が結構いたんですが、”I accept”の呪いにハマってる人いましたね。
--某社運動靴。 かかとに仕込んだ圧力センサで...仕込みモータでバネやクッションをコントロールし...見たいなもの--
流れとしては
PSoCの紹介、CapSenseの紹介、PSoC Designerの概要で休憩。
後半はハンズオンということでPCを使ってサンプルの実行、PSoC Expessの紹介、使用例の紹介というものでした。
finger thresholdなど、パラメータの決め方や、ESD(静電気放電)キャンセルの説明などは有意義でした。EMC対策もあるようです。
5mm厚の絶縁体をはさんでも大丈夫とのことで、応用は広そうです。
--タッチパネルの裏側。--
統合環境で"Create New Project"したあと、何していいか判らず途方にくれる昨今、ざっとでも流れをつかむのは重要だと思います。PSoC Expressを最初に見たときは、本当に途方に暮れました。一度流れを見ておくと質問する際の共通言語(固有の用語)も得られますし。
今後、FPGAみたいに、細分化されたセミナーが開催されるといいですね。
受け持ち範囲の広いPSoCでは、半日のセミナで消化って訳には行かないですから。
--おまけの注射器型ボールペン。青い液体が漏れそうで怖い--
--おまけ2のTシャツ。地名がいっぱい書いてあります。開催地?。前はCypressロゴ。これなら着られる。カラーのPSoCブロックでも良かったな。--
一枚目の写真で判りますか.....新しいデバイスの割りには平均年齢が高い感じでした。
"アナログ"がらみだからでしょうか。若者は奴隷のようにこき使われているのでしょうか....。
ちょっと心配になってしまいました。
PSoC Express Pak 1 [PSoC]
http://www.cypress.com を見ていたら、"PSoC Express Pak 1"なるものがリリースされていました。
CY8C21323, CY8C21434, CY8C21534, and CY8C24794がサポートデバイスに追加になったんですね。
CapSenseはまだかなぁ。
PSoC Express [PSoC]
Cypress Semiconductor(http://www.cypress.com/)から、PSpC Express 1.1なるツールが提供されています。
これはプログラミングなしでファーム生成、PSoCに書込み、動かすところまでをフォローしてくれるツールです。トランジスタ技術2005年7月号に紹介があリます。
アイコンをペタペタ貼る感じで作っていくので、LEGO MINDSTORMのRCXのプログラミングに近い感覚です。
コーディングに相当するDesign,Simulationで動作確認,BuildしてデバイスのProgramというフローがあります。
せっかくあるんだからということで、太陽電池のつながったバッテリの過充電防止回路を作ってみました。
電池に掛かる電圧が14Vを超えたらバッテリへの給電をカットし、余り電力用負荷へ切り替える。
また、バッテリ電圧が10.5Vを切ったら、バッテリ負荷を切り離すというものを作ってみます。
使用するには下記のアプリが必要です。
PSoC Designer 4.2(C Compilerが有効になっていること?いらない?)
ServicePack2(35MBと52MBの二種類あって、52MBの方が必要)
起動するとこんな感じになります。
かなり途方にくれる画期的さです。
早速作ってみましょう
スケッチブックみたいなやつは後でゆっくり動かすとして...。
画面左下の"Drag Items Below to Console"から"INPUT"アイコンをドラッグします。
すると"Input Driver Catalog"なるウインドウが突然現れ、驚かせてくれます。
ここで入力の種類を選択するわけですが、今回は12Vのバッテリが対象ですので、"Voltage Input"の"0.00 ti 31.00V"を選択します。
"Device Description"に入力の概要の説明が出ます。下のほうには外付け回路の回路図があったりします。
ウインドウ上の"Name"にとりあえず"BATT_IN"と入力して、画面下のOKボタンをクリックします。
次に"VALUATOR"なるものをドラッグします。処理のための要因を設定するものです。
ドラッグすると下記のウインドウが現れます。
"NAME"に"VOLTAGE"入力して(任意の名前でOKですよ)"NEXT"ボタンをクリックします。
小さいウインドウが現れるので、これも)"NEXT"をクリックします。
そうすると"Set Point Definition"というウインドウが現れますので、先ほど出てきた14Vと10Vという条件を設定します。
"Add Set Point"をクリックすると下のようになります。
充電停止の電圧として"Threshold"に"14"、"Hysteresis"に"0.5"を入力してOKをクリックします。
放電停止も同様に"Add Set Point"をクリック"Threshold"に"10"、"Hysteresis"に"0.5"を入力してOKをクリックします。
入力が完了すると下のようになります。
ここでドラッグすると値を変更できます。また、ポイントして(青いバーになる)Edit Set Pointで数値を入力する事もできます。
確認したら"Next"ボタンをクリックします。これでVALUEATORの設定は終了です。
次に"OUTPUT"アイコンをドラッグします。
入力のときと同じようなウインドウが開きます。
ここではデバイスを"Digital Output-DC Switch-12V5A High Side"を選択して、"NAME"を"BATT_OUT"としてOKボタンをクリックします。
同様に"NAME"を"LOAD_OUT"、"SURPLUS_OUT"を作ります。
こんな感じの画面になりましたか?
次に出力条件の設定です。
まずは"BATT_OUT"をポイントして右クリックすると下記のようになります。
"Transfer Function"を選択してください。
出てきたウインドウの左上"Tranfer Function"で、条件判断の方法を選択します。
ここでは簡単そうな?"TableLookup"を選択します。選択した様子です。
OKをクリックすると、条件判断の要素を選択するウインドウが現れます。
ここでは、先ほどのVALUATORであるVOLTAGEを選択して"NEXT"をクリックします。
"Expression Assistant"と"Add Values"のウインドウが開いたと思います。
ここでは何もせずにNEXTをクリックします。
次に開く画面で、出力ON/OFFの設定をします。
左上の"VOLTAGE"の下の電圧の書かれた"箱"をONもしくはOFFにドラッグして指定します。
上の様に設定したら、OKをクリックしてウインドウを閉じます。
"LOAD_OUT"と"SURPULS_OUT"も同様に設定します。(LOAD_OUTは10V以上でON、SURPULSは14V以上でON)
これでDesignは終わりです。プロジェクトを保存してください。
こんな感じで、赤い線で結ばれます。
次はシミュレーションです。
ウインドウ上の方のSimulationタブをクリックしてください。
背景の色が明るくなって、Simulation画面に切り替わります。
これは直感的に判りやすいですね...。
そうです、INPUTの左側のスライドバーをドラッグして電圧を設定すると(左ボタンを離したときに確定します。)、それに応じて出力が変化すると思います。
これで動作を確認したらBuildに移ります。
ウインドウ上の方の"Build"タブをクリックするとデバイス選択の画面が出ます。
ここではCY8C27443のDIP版(上から2つめ)を選択してOKします。
Projectの保存についてのダイアログが出てOKすると、Buildが始まります。
Buildが完了すると、BOM/Schematicタブのウインドウに切り替わります。
画面下のほうに3つのハイパーリンクが現れます。
BOM(Bill Of Materials):部品表
DataSheet:今回作ったものの仕様書
Schematic:周辺回路の回路図
後はProgramタブをクリックして、デバイスに書き込んで(DesignerのProgrammerが起動する)、
周辺回路を組んで終わりです。
至れりつくせりですね....。
ちょっとライブラリが少ないのがタマに傷ですが、今後に期待ということで。
また、Projectのフォルダの中にPSoC Designerのプロジェクトが作られますので、細かい設定はDesignerでもできます。
とりあえずExpressでざっくり作って、後はDesignerでチューニングという使い方でもいいかも知れませんね。
[おわり]
唯一の日本語PSoC本
巻末の$10キットは大変お得です。ぜひ手に入れてください。
CQ出版 トランジスタ技術誌にも連載があります。
はじめてのPSoCマイコン―周辺アナログ&ディジタル回路を自由自在にプログラミング!!
- 作者: 桑野 雅彦
- 出版社/メーカー: CQ出版
- 発売日: 2004/11
- メディア: 単行本