2009年2月15日日曜日
PSoCとGMSK/FSK
PSoCでCanSAT用のモデムを作ろうと考えていたが、GMSKはさすがに難しそうだ。ガウシアンフィルタを3次Salen-Keyを2つつなげて作るにしても、外付け部品が多くなりすぎる。もしGMSK9600bpsを求められたら、CMX589(RSで3000円)を使用した方がはるかに合理的と分かった。
一方FSK1200bpsで良い場合、FX614と水晶発振子の入手製の悪さ、PSoCでのFSKモデムの実現性を比べると、PSoCも充分競合できそうである。(PSoCはレジスタで回路構成を変えるため、ビット反転を検出、復旧する仕組みがないと、CanSATの審査で困るかもしれない)
2009年2月10日火曜日
PSoC開発の下調べ(1)
PSoCの仕組みと制約
PSoCはマイコンの一種であるが、周辺回路が独特である。 通常のマイコンでは、UARTやタイマといった周辺回路がいくつか入っており、レジスタインターフェースからこれらを操作できるようになっている。 一方PSoCでは、固定機能を持つモジュールは(システムリソースを除き)存在しない。 代わりに、デジタル/アナログ回路の元となるブロックが用意されており、これらの配線や動作はレジスタインターフェースから操作できるようになっている。 このため、配線をソフトウェアからいつでも変更することが可能となっている。これを動的再構成という。(FPGAはあまりに粒度が細かすぎる上、再構成を行う機構を内包していないため、動的再構成は話題にはなっても敷居は高い) アナログブロックの中身は、OPアンプとアナログマルチプレクサの塊のようなものとなっており、マルチプレクサのセレクタ信号をレジスタインターフェースから操作することで、配線を変更することができるようになっている。このような構造であるため、完全に自由なアナログ回路作りができるわけではない。FPGAはプログラム可能な論理+配線なのに対し、PSoCは選択可能なパラメータと配線という印象を受けた。
自分でユーザーモジュールを作るには
PSoCの開発においてGUI上でハードウェアを構成するには、PSoC Designer上でユーザーモジュールを配置し、それらを配線すればよいらしい。(PSoC Expressも似たようなもの)しかし、ユーザーモジュールの開発を補助するGUIは用意されていない(ように見受けられる)。ユーザモジュールに使われるブロックは再配置可能であるべきなので、ビルド前のインスタンス化されていない段階では、ブロックはシンボルのような状態で配線できるようになっていないと困るはず。だからGUIで書いたものから、具体的なレジスタやビット番号が書かれたコードを生成するものと思っていたが...本当に無い?そこで付属のユーザーモジュールがどのように定義されているか調べた。 ユーザモジュールは、[インストール先\Common\CypressSemiDeviceEditor\Data\Stdum]以下にまとめられているらしい。このディレクトリ以下には、[モジュール名]のディレクトリが並んでいる。その中身は以下のようなものであった。
登録:
投稿 (Atom)