PSoCの使い方:PSoC3/PSoC5の簡単なプログラミング
30-January-'10 00:03
Age: 218 days



Category: PSoC







前回のPSoC3用のPSoC Creatorでサンプルプログラムの確認をしましたが、理解したかどうかは自分で始めから作ってみると分かります。ということで、サンプルの例1(PWMのパルスでLEDを駆動)と例2(ピンから電圧を読み込んでAD変換して液晶に表示)の2つを合わせたものを作ってみました。PSoC Designerとの類推で、まずどちらかの例をクロ-ンコピーすれば良いと思ったのですが、新規プロジェクトでは空のプロジェクトしか作れないことが分かりました。Creatorは未だベータ版なのですが正式版で対応してくれるのでしょうか?

ともかく、例1と例2をすっかり理解して、空プロジェクトの状態から始めます。

1)各コンポーネントをデザイン画面に乗せて行きます(右1の画像)。”アナログピン”、”ADC”、”LCD”、”PWM”、”デジタル出力ピン”、PWM用の”クロック”、PWMや出力ピンを回路的に駆動するための”ロジックHigh”、”ロジックLow”、です。

2)これらを乗せたら必要に応じてコンポーネント間を結線します。左にある図形ツールを使って囲んだりコメントを書き込んでおくと便利です。

3)そして、各コンポーネントを実際のマイコンチップのどのピンに入出力するかは”(プロジェクト名).cydwr”というファイルを開いて右2の画像のようにして設定しておきます。

4)次は、各コンポーネントのコンフィギュレーション(構成?でも日本語的には設定?)です。各コンポーネントをダブルクリックするか右クリックのメニューからです。データシート(解説書)も右クリックで出てきます。大体はデフォルトで良さそうですが、ADCとPWMとClockは作りたいものに合わせて設定しなければなりません(右3の画像)。PWMの設定では「こういうパルスを作りたい」という希望がグラフィック表示で確認しながら実現出来ます。ので、初心者は大変助かります。

5)最後に、C言語でプログラムを書いて”ビルド”と”プログラム”をすれば出来上がりです(右4の画像;下の補足1)。

6)動作させるにはジャンパー線を右5の画像のように繋ぎました。

簡単なアナログ・デジタル回路を素早く作るならPSoC3とPSoC Creatorです。ワンチップマイコン+プログラマブルアナログ回路を勉強・理解したいのならPSoC1とPSoC Designerでプログラムすると良いような気がしました。今回の例では、プログラムをチョット手直しすれば、可変抵抗の値を読んでパルス幅を変化させるという回路なども直ぐに出来てしまいます。ADCを8ビットにして、PWMのperiod値を255にして、ADCで読んだ値(uint16 voltageRawCount;下の補足2)を使ってPWM_WriteCompare(voltageRawCount)とすれば良いだけです。変数voltageRawCountは16ビットですがPWMが8ビットなら下位の8ビットだけが使われます。

補足1:右4の画像のコメント中の日本語ですが、保存すると次からは文字化けしてしまいます。そのうちPSoC Designerのように日本語対応になるのでしょうか?

補足2:uintという変数タイプはPSoC1用のDesignerプログラミングには出てきませんでしたが、unsigned intと同じことです。








<- Back to: メイン ・セクション

サイト内のページ検索

Searchword:

Search in:


(上のページ検索は通常ページのみでブログ風ニュースの内容は検索できません)