PIC vs. PSoC
初めて触ったPICが16C84だったので、もう十年ほど前のことになるが、実際に「完成品」と呼べるようなものを作るようになったのは2004年ごろからだ。
- 秋月DDS/RS-232Cインターフェイス (16F877/PIC-BASIC)
- Ni-MH放電・容量測定器 (16F877/PIC-BASIC)
- 高輝度フルカラーLED x 5クリスマスイルミネーション (16F84/ASM)
- 110MHz周波数カウンター(16F88/ASM)
こう言った物を作っていて思うのは、意外と部品点数が減らないことである。
何かのきっけでPSoCを知り、アナログまで含めた周辺回路が1チップになることに興味を抱いたものの、適切と思われる用途も思いつかなかったので、しばらく放っていた。
最近、センサーの信号をデジタル化して20mくらいの距離を伝送してみようかと思いついたので、手っ取り早くPSoCを評価するために、できるだけ環境の整った評価キットを買い求めることにした。
選択肢の1つとして、CQ出版から出されているものがある。
日本語で読めるメリットがある反面、製造元純正に比べると、最新の開発環境に対応できるかどうか懸念がある。テキストやプログラマー(書き込み用アダプタ)に合わせるため、泣く泣く古いバージョンを使わざるを得ない、などと言うことはできるだけ避けたい。
多少の苦労はするが、人並みに英語は読めるのでCY3210-PSoCEVAL Kit(MINIPROG1)を選んだのだが・・・。
巨大なビデオテープのパッケージを思わせるような外観である。
内容物は秋月のWebで大体分かっていた。
印刷物のUser Guideには結構期待していたのだが、ほぼはがき大の冊子に割合と大き目の活字(老眼の身にはありがたい)で印刷された、たったの32ページで、回路図すら載っていない。多少の試行錯誤の結果、基板にシルク印刷されている型番”CY3210-PSoCEval1”をGoogleで検索してCypressのWebにドキュメントを発見。ようやくダウンロードできた。User Guide本文のソフトコピーともども日付の違う2種類がある様なので、新しい方を選んだ。
付属のCDに開発環境が入っているが、かなり古い。
CypressのWebから最新版PSoC Designer 5.0 SP5 と PSoC Programmer 3.06 build 135 をダウンロードし、Programmerを先に、続いてDesignerをインストールして、準備完了、のはずだった。
User Guideと話が合わない!
Sample Project FilesがDesignerと共にインストールされることになっているが、どこを探しても見当たらない。そもそも ...\Program Files\下のフォルダ名からして違っている
選択を間違えたかもしれない・・・
Programmer と Designerをアンインストールし、CDからインストールしなおす事も一瞬頭をよぎったが、その前に悪あがきをしてみることにした。
Helpはかなりしっかり書かれている。ただし、スクリーンショットはさほど多くない。
大きな収穫は、Help MenuからDocumentationフォルダが開けること。
また、Chip Level EditorのUser Modulesペインのアイコン右クリックから、各User Moduleのデータシートが参照でき、これにはサンプルコードも載っていて、コピー&ペースト可能だ。
ただし、少々注意が必要である。
User Module、例えば8ビットPWMをPlaceすると、PWM8_1の様な名前が自動的につけられる。2つ以上Placeすると、最後の数字が2、3、・・・と変わっていく。データシートのサンプルコードは call PWM8_Start の様に記述されているが、これは実際には call PWM8_1_Start と換える必要がある。
かなり色々な事ができそうだ。
ただ、PICと比べると文化の違いのようなものを感じる。例えば;
- 割合と小さな規模のシステムであるにもかかわらず、データシートにUser Moduleの使用頻度に応じたCPU負荷%のグラフがあったりする:同時に複数の処理をこなすような、複雑なアプリケーションを強く意識していることがうかがえる
- PlaceされたUser Module用のソースコードが自動的に生成される:複雑な周辺回路の構成に柔軟するための工夫だが、コードのサイズが無駄に大きくなりそうな気がする(同種のUser Moduleが複数あった場合、その個数分、ラベルの数字だけ異なるソースが生成される)
- 機械語レベルの命令の語長や実行サイクルが、RISCと言うよりIntel 8080に近い印象を受ける
正直未だ手探りだが、User GuideのEXAMPLE PROJECT #1;
- ポテンショメータの電圧を可変ゲインアンプに通した後、AD変換
- 変換結果をLCDとUARTに送る
をアレンジして以下の機能を追加したのが、下の写真だ。
- 変換結果に応じて、LEDのバーグラフ表示を行う
- LEDのバーグラフ表示にPWMを利用し、2.5個点灯、の様な事をする
- LCDにもバーグラフ表示する
| 固定リンク
「趣味」カテゴリの記事
- カメラのファインダーについて考える(2016.02.29)
- 空間フィルターを使った天体写真の画質改善(2015.01.22)
- 水星と金星のランデブー(2015.01.10)
- カメラのノイズと解像感(2015.01.09)
- Fujifilm X-M1 とそのアクセサリー(2014.12.14)
「IT」カテゴリの記事
- DSDはピアノ・ピアニッシモを奏でられるのか?(2016.08.01)
- SATAアダプターを交換した(2014.06.25)
- ReFSを使う(2014.06.22)
- PSUを交換したらメモリーの問題も解決した(2014.06.16)
- Windows 8/8.1: SATAモード変更 (IDE⇔AHCI⇔RAID) に再インストールもregeditも要らない(2014.06.15)
この記事へのコメントは終了しました。
コメント