評価ボードの使い方という資料が Cypress 社から公開されていますのでこれに沿って話を進めて行くことにしますのでダウンロードして、見てください。・・・印刷しておいた方が便利だと思います・・・
とびとびに解説していきますが、資料の方はとばさずに目を通してください。
技術的な内容の説明は急ぎ足になりますが、何はともあれ動かしてみることを優先に進めて行きます。
|
- 1.評価ボードをパソコンにつなげてみる。
- 6ページまで進む。図の様にボードをパソコンのUSBポートに接続する。すると赤色 LED が点灯、青色 LED が点滅する。赤色 LED は電源が供給された事を示す。青色
LED はあらかじめ PSoC4 に書き込まれたプログラムに従って点滅している。 ここまで確認したらボードをパソコンから外しておく。
- 2.PSoC との通信用のドライバをインストールする。
- 7ページにドライバのインストールは自動的に開始されると書いてあるが、今の状態では始まらない。5ページの USB-Serial Software
Dvelopment Kit をダウンロードしてインストールする必要がある。その手順を以下に示す。
|
===左の小さな画面をクリックすると拡大表示されます。===
手順書 5 ページのURL http://www.cypress.com/?rID=92146 に接続する。画面下の方にある「USB-Serial Software Development Kit」の右、「Download」ボタンをクリックしてダウンロードする。ファイル
CyUSB-Serial_SDK.msi がダウンロードされる。この後いくつかの確認画面は省略する。 |
ダウンロードした CyUSB-Serial_SDK.msi をエクスプローラーで表示して、右クリック ⇒ 「インストール」をクリックするとこの画面が表示される。インストール先がPSoC
Creator と同じ Cypress\ の下にあることを確認し、下のラジオボタン「Everyone」が選ばれていることを確認して「Next>」ボタンをクリックする。 |
ライセンス合意の確認画面で、Cypress End User License Agreement を読んで 同意できる場合はラジオボタン「I
agree」を選んで「Next>」ボタンをクリックする。 |
- 3.ドライバのインストール
- ボードをパソコンに接続する。7ページにある様にドライバのインストールは自動的に開始される。と書いてあるが Windows 8.1 では自動開始されなかった。この場合、コントロールパネルの「システム」⇒「デバイスマネージャー」の画面で評価ボードを接続すると「ユニバーサル シリアル バス コントローラー」の下に「USB-Serial」という文字を含むデバイスが
2 つ現れるのでこれを両方とも右クリックして「ドライバー ソフトウェアの更新」をするとうまくいった。
- 4.COM ポート番号の変更
- 8, 9 ページの内容に従ってCOM ポートの番号を変更する。コントロールパネルはスタートメニューの中にあるのでそこから起動できる。
- 5.ワークスペースの作成
-
サンプルプロジェクトを作る前にワークスペースとしてのフォルダを作成する。
フォルダ構成は各自工夫して構築しているものと思うので、それに合わせて適切な場所にフォルダを作成すればよいが、ここでは下記の場所にフォルダを作成してあるものとして話を進める。この時、フォルダの名前に漢字は使えないのでご注意。
D:Users
\PSoC_Creator
\WorkSpace4
参考のため右は、室長のパソコンのフォルダ構成である。ルートに Users を配置し個人で扱うファイルはフォルダで分類して全てこの配下に置くことにしている。バックアップ時の利便性を考えての事である。
Users の下に PSoC_Cteator とPSoC_Designer があるがPSoC_Designer の方は PSoC1 用で、
PSoC1 だけはPSoC_Designer という別の開発ツールを使う為である。
PSoC_Cteator の下に WorkSpace を配置している。WorkSpace_3 と WorkSpace_4 があるのは それぞれPSoC3
と PSoC4 用である。
これから作るプロジェクトは全てこのワークスペース用フォルダの下に作る。 |
- 6.サンプルプロジェクトの作成
- 11ページのURL http://www.cypress.com/?docID=47827 に接続してプロジェクト(CY8CKIT-049-42...zip)をダウンロードする。この時、「保存」 ⇒ 「名前を付けて保存」 を選んで保存先をデスクトップにしておく。
デスクトップにCY8CKIT-049-42xx Example Projects.zip という新しいアイコンが出来るので、これをダブルクリックするとWindowsエクスプローラーが開いて
SBC_Bootloader_42xx というフォルダが表示される。これをフォルダ毎、今作ったワークスペースにコピーする。室長の環境では以下の様になる。
D:Users\PSoC_Creator\WorkSpace4\SBC_Bootloader_42xx\
デスクトップに出来たアイコンはもう少しの間、残しておく。
- 7.PSoC Creator でサンプルプロジェクトを Build する。
-
Windowsエクスプローラーでワークスペース上の SBC_Bootloader_42xx\SCB_Bootloader.cywrk を右クリックから開くとPSoC Creator が起動する(P.11)。起動が完了すると右上の画面が表示される。「このプロジェクトには古い部品が含まれているので部品の更新を推奨する・・云々」、という説明になっている。恐らく古いバージョンのPSoC
Creator で作成されたプロジェクトだと思われる。「Archive before committing」のチェックを外して「Next」ボタンをクリックする。次に右下の画面が表示されるので「Finish」ボタンをクリックする。この後
P.16 までの内容に従ってプロジェクトを Build する。Build は PSoC4 チップに書き込める形のプログラムを作る作業を指すが、のちに詳しく述べる。
P.13 に MiniProg3 についての記述があるが、「俺の電子工作室」では使わない。一万円以上かかるので。
Bootloader について難しい記述があるが、あまり気にしないでよい。大切なのはサンプルプロジェクトの中に2つのプロジェクトが含まれていて 「UART_Bootloader プロジェクトは変更してはならない」という事で、このプロジェクトが MiniProg3 の機能、即ちプログラムの書き換え機能を果たしているのである。
|
- 8.Bootloader モードへの切り替え
- P.17,18 の補足説明。プログラムというのはCPUに対する命令文がずらずらと並んだ文章の様なものである。CPUはリセットがかかると文章の初めから命令文をひとつひとつ読み込んで順番に実行する。
Flash ROM はプログラムを書き込むために用意されたメモリで、電源が落ちても内容が消えない書き換え可能な ROM (Read Only
Memory)である。図では、命令文のかたまり(段落)が大きく分けて2つ存在することを示している。
2つの段落はそれぞれ独立していて、お互いに干渉する事はない。実はこの二つの段落の前に小さな段落があって、その中で SW1 の状態を読み込んで
ON なら自己書き換え用App(アプリケーション)へ、 OFF ならユーザーが定義する App へ制御を移す、言い換えると各段落の先頭にジャンプする様になっている。電源
ON 時はリセットがかかる様になっているので、この最初の小さな段落が先ず実行される。
自己書き換え用App というのは上の段で触れた、UART_Bootloader プロジェクトであって、変更しないという前提でいけば、書き換わる事はない。書き換えているかも知れないが、同じ内容で上書きしている(?)
という訳でSW1を押しながら、または押さずにボードをパソコンに接続して青色 LED の動きの違いを確認する。何度抜き差ししても壊れないので、お気の済むまでどうぞ!
- 9.評価ボード上の PSoC4のFlash ROM にプログラムを書き込む。
- 以降「ボードに書き込む」という表現にする。P.19〜23 に従って 7.でBuild したプログラムをボードに書き込む。Bootloader Host の画面を表示してからボードをパソコンに接続する様にしないと、書き込みに失敗する傾向があるのでご注意!
- 10.PWM のデューティ比を変更してみる
-
P.25 以降の手順に従ってPWM のディーティ比の変更をして、青色 LED の点滅の仕方が変わることを確認する。
PWM というのはPulse Width Modulation の頭文字をとったもので、日本語ではパルス幅変調と呼ばれている。P.27 の画面を開いて右側のスクロールバーで画面の下の方を表示すると図の様になっている。
パルスとは画面下の方に示されている様なHigh とLow が交互に現れる様な波形の事を指す。パルスの周期(Low になりHigh になって再びLowになるまでの時間)が一定で、Low
を保持する時間を長くしたり短くしたりのコントロールが出来る様な回路がパルス幅変調器(Pulse Width Modulator)である。High
とLow の時間の比率の事をディーティ比と呼ぶ。
画面右上の方にPeriod とCompare という欄があって夫々 1000 と 500 に設定されている。ここでPSoC Creator
の画面の方でPWM の所を見てみると左下の方に「Clock」という信号が接続されているのが分かるだろうか? 見えにくいので画面の上から3段目のツールバーに「+」と「−」の虫眼鏡があるので「+」の虫眼鏡で回路図を拡大するとよくわかる。すると左下の四角い「Clock」という部品からPWM
の「Clock」という端子に接続されているのが分かる。さらに「Clock」という部品には「1 kHz」と注釈が付いていて 1 kHz のクロック(基準となるパルス信号)がPWM のクロック端子に接続されているのが分かる。
PWM はこのクロックを分周して周期を作る。即ち、内部のカウンターに「Period」に指定された 1000 を設定して、1クロック毎にカウンターを減算していって0になった所で1周期が終わったものと判断する。と同時に再びカウンターに1000 を再設定して、カウントダウンを再開する。 1 kHz を 1000 で分周するので周期は1秒となる。
さて次は、Compare の意味を考えてみよう。図の「counter」の所を見てほしい。分周用のカウンターが 500 までカウントダウンした所で「line」(パルス波形の所)がLow
からHigh に変化している。「line」出力は回路図をみると抵抗を通して青色LED につながっている。従ってこの時点から周期の終わりまで青色LED
が点灯する様に構成されている。この画面でPeriod の値を変えて「line」の波形がどう変化するかをいろいろ試してみるとPWDの動作原理がより良く理解できるであろう。「Build
⇒ プログラムをボードに書きこむ」を繰り返しやってみて青色LED の挙動の変化を観察しながら操作を覚えよう。
|
いかがでしょうか? 環境設定などにかなり労力を使わせましたがワンチップマイコンがどんなものか、雰囲気は分かってもらえたのではないかと期待しています。こんな調子で少しずつ進めて行きますので、根気よく付き合って頂ければと思っています。次は、新しくオリジナルの簡単なプロジェクトを作ってみます。 |
|