プロジェクトの作成


今回のプロジェクトで作る中身はこんな感じ。PSoC内部で生成される24MHz
を内部の8ビット分周器を2段使って256分周し、約94KHzのクロックを作る。
VC1とかVC2とかいうのはPSoC内部のクロック専用バス。もう一つVC3
というのもある。SysClockなどから分周したクロックを各モジュールに分配
できるのでなにかとお役立ち。
このVC2をユーザモジュールの16ビットPWMに入れて1.4Hz(周期は約0.7秒)で
LEDを点滅。ついでだから点灯時間の比率も20%と40%程度と変えてみた。

図にクリスタルなんかが無いけれども、PSoCはPICなどと違って外部にCRだのクリスタルだのを
付けなくても勝手に内蔵発振回路が動作する。当然パワーONリセット回路も内蔵されて
いるので、電源だけつないでやれば動いてしまう。よって、この図が回路図
そのものと言っても良い。

新規プロジェクトの作成

とりあえず、PSoC Designerを起動するとおなじみの絵柄に続いてこんな画面が出てくる。要するに既存のプロジェクトを開くか、新規にこしらえるかということ。ここでは新規に決まってるから一番上の「Start new project」である。
既存の物を開くときは開いた後デバイスエディタにいくのか、アプリケーションエディタにいくのか、デバッガにいくのか選べる。ちなみにデバッガはICE(CY3215-DK)を持ってないと意味がない。


こんなのが出てくる。左側で「Create New Project」になっていることを確認しておく。
で、New Project nameのところに名前を入れると下のNew project locationにも同じ名前が入っていく。つまり、プロジェクト名と同じディレクトリが勝手に掘られることになる。よって、普通はまずlocationの方に「新規にディレクトリをこしらえたい位置」を指定した後に上のproject nameを指定するという順序になる。上下を入れ替えて欲しいような気がしなくもない。
というところで、ここではPSoCディレクトリの下にPWMLEDというプロジェクト名でこしらえてみた。
ちなみに、CloneProjectというのは、既存のプロジェクトをベースに、違うプロジェクト名で中身は同じものを作ったり、違うPSoCデバイスにリターゲットするためのもの。
Design-Based Projectは開いてみるとわかるけれども、機能レベルであらかじめ用意されたものをベースにチョイチョイと修正して一丁あがり!というのを目指したらしいのだけど、あんまりうまくいかなかったようで、事実上死に体状態。PSoC Expressというツールになって発展的解消となったのかもしれない。


プロジェクトで使うデバイスの指定である。今回はCY8C29466を使う。もし、Part欄が千葉うデバイスになっていたら、お隣のView Catalogをプチッとクリックして、出てきたメニューから選ぶ。
下のGenerate 'Main' file usingというのは、メインルーチン、つまりユーザが書くコードをCにするのか、アセンブラにするのかを決めるもの。ここではCを選択したけど、WebからPSoC Designerを落とした人はCはサポートされていないので゙、Assemblerで使うことになる。
でも、PSoCでこの手の遊びをする上ではほとんどユーザモジュールのドキュメントの中にあるサンプルコードのコピペ+ちょろっと修正程度ですんでしまう。後でアセンブラのときの記述にも触れているのでメゲずに先に進もう。


ちなみに、ViewCatalogをクリックしたときのデバイス選定画面はこんな感じ。ウインドウの右下のボタンをクリックすると、デバイスのピン配置なども出る。
やたらめったら品種が多くなっているので、目がくらくらしそうだけども、AllDeviceにしたときはだいたいスクロールバーがこのあたりにあるところで29466が見つかるはず。
どうも、PSoCが大いに受けたこともあって、やれWirelessだ、USBだといった他のファミリもPSoCのファミリに取り込んでいくという方針らしいのだけど、やはり大きな会社ともなれば「組織」というものもあるわけで、たとえばPSoC+WirelessはPSoC部隊がやるのか、Wireless部隊の製品にするのかといった駆け引きもそれなりにある模様という、これまた有識者のお話である。


こんな感じのデバイスエディタ(セレクション)画面が出てくるはず。他の画面からこの画面に戻りたい時は上のメニューから
View->Device Editor
の後に
Config=>Selection
するとここに行き着ける。
それでは、いよいよLEDPWMの中身を作っていくこととしよう。