PSoCマイコン
本の紹介を入れてみた。アフィリエイトとかいうリンクの仕掛けもやってみた。
@niftyの標準では@niftybookというのがあってもし売上があると3%のニフティポイントが還元されるそうだ。
すでにニフティ会員には新たな個人情報登録も不要で気楽な制度ですな。
まあ、書いてみたついでなのでPSoCというものについて雑感を書いてみたい。
使いこなしているというレベルではなく評価キットで色々と試している段階であるのでその辺はご容赦願いたい。
以下、かなり専門的になるので興味のない方は読むのはやめてもらったほうが良い。
いわゆるワンチップマイコンでメジャーどころといえばPICマイコンであろうか。
続いてH8とかAVRとかが秋葉原は秋月電子で容易に手に入ることもあり使われる数も多い。
そんな中でPSoCマイコンというのが最近の私の注目株である。
Cypressという会社が作ったチップでここはUSBチップでも有名である。
特徴はなんといっても付加ブロックを自分で構成できることにある。 ADCやDAC,UART,I2C(Masterも可)やアンプやカウンター、乱数、 BPF(BandPassFilter)まで内蔵できてしまい、それらをリソースの許す限り自由に構成することができる。 アナログ/デジタルFPGAといったら言い過ぎでそこまでの自由度はないのだがソフトの変更のみで同一チップでありながらソフト次第で色々な構成や内部配線をとることができる。
これを実現しているスイッチドキャパシタという技術は正直よくわからないのだが、 ソフトのパラメータ設定によってハードウェアを構成することを可能としているらしい。
もう少し具体的に言うと、他に漏れずフラッシュにソフトウェアを書き込み、動作をするもの。
マイコンが初期化プログラムを走らせることで、レジスタにパラメータを書き込む。するとハードウェアが構成される、ということらしい。
さらに進めるとソフトによって複数のハードウェア構成を時分割的に変更して動作させることも可能ということであり、
これをダイナミックコンフィグレーションと呼んでいる。
この辺はPSoCデザイナーというGUIツールによってサポートされている。
このツールは上記サイトからダウンロードでき無償で試してみることができる。
ひとつなにかモジュールを定義するとフラッシュメモリの何バイト(ADCで200バイトぐらい)かとRAMの何バイトかが消費される、 という形になる。この辺もツールをいじってみると理解でき、どの程度リソースをとるかを視覚的に知ることができる。
肝心のマイコンであるがM8Cというアーキテクチャで正直非力なところもある。
開発ツールではC言語も使えるがライセンスは有料である。
アセンブラは只なのでアセンブラでの開発を、と薦めるものでもないが、マシンアーキテクチャを垣間見るのも一興なのでちょっと解説してみる。
いわゆるRISCではなくCISCの部類になる。
アドレッシングはかなり強力で特定メモリ間のmovさえ可能で、RAM(メモリ)の値を直接INCしたりADDすることも可能である。
固定値とXレジスタとの加算でのアドレッシングもできる。
反面、レジスタがAとXしかなく双方とも8ビットである。つまり256バイトのアドレッシングしかできない。
そもそもRAMは基本は256バイトしかなく上位のチップで2Kバイトしかないので妥当なのかもしれないが、
例えば256バイトを超えるメモリテーブルを扱うとなると少々厄介である。
これにはROMX命令というAとXで上位下位アドレスとしてそこのデータを読むという命令があるのだが少々まわりくどい。
またポインタとしてINC/DECするのが面倒であるのは否めない。
また、APIはすべてレジスタ(といってもAとXしかないわけだが)が破壊されるのが前提である。よってレジスタはあまり使わず、
RAM上に変数を取ってそれに対する操作が中心となろうし、十分に可能である。
なお、レジスタもRAMと同様の自由度のアドレッシングができるため非常に使い勝手が良い。
さて、紹介している本に戻ると、ラストに超音波距離計のアプリケーションがある。 パルス上の超音波を出力しそれを受信するまでの時間を計測するわけだが温度補正も含めて外付け回路が非常に少なく構成できておりなかなかに凄い。 PSoCの凄さを示している好例といえる。
とまぁ、なかなか面白いマイコンではあるのだが、開発ツールが気軽に買えないこと、IC自体も同様。
秋葉原で手軽に買えるPIC/H8とは敷居の違いを感じることになる。つまりアマチュアには少々敷居が高いように感じてしまう。
この本を書いた桑野氏の会社パステルマジックが色々扱っているようなのでこの辺からあたるしかないのだろうか、
というところ。
ドキュメントがほとんど英語なのがなによりきつい。アプリケーションノートも豊富ではあるがみな英語。
日本サイプレスさんにはデータシートやテクニカルリファレンスなどの日本語化を手始めにどんどんやって欲しいと思うのだが。
そんな状況もあり、解説サイトも少ない。ユーザーも少ないのだから当然といえば当然。
にちゃんねるでさえも過疎スレとなっている。
私も評価キットを手に入れられたのでぼちぼちと何か書いていきたいと思うのだが。
| 固定リンク | コメント (0) | トラックバック (0)




最近のコメント