PSoC遊び(位相検波)

この記事は2007/11/10のものです。

当時使っていたオシロがHPのミックドシグナルオシロスコープ54645Dで、GPIB(HPIB)を経由して画面をキャプチャしていました。古いオシロですがアナログ信号を描画する性能が良く、アナログオシロに引けを取らないなぁと思って使っていました。なにより操作に対する反応が速く、モッサリ感は微塵も感じない使い勝手でお気に入りでした。

---------------------------------------------------------------------------------

◆つづき

 前回の記事の続きです。AN2345の裏技により位相差を作り出すことができるようになりました。今回はPSoCで位相検波を行うための基礎的な方法を検証したいと思います。位相検波は信号に同期したクロックを使い極性を切り替えることで、微小信号を精度良く検出することに利用されます。

◆正弦波を検波する

 前回作った位相信号は矩形波でした。今回は少し進んでBPFを追加し正弦波を検波したいと思います。デジタルブロックは前回と同じなので割愛します。追加したアナログブロックはBPFとスイッチドキャパシタです。以下のように配置しBPFはP2[1]より矩形波を受け取ります。BPFを通った矩形波は正弦波に変換されスイッチドキャパシタに入力されます。

f:id:jun930:20190614131525j:plain

 このスイッチドキャパシタは単なるボルテージフォロアとして設定し、入力部分のアナログモジュレーション機能だけを使用します。アナログブロックの1列目(一番左が0列目)をGOE[0]で変調する場合は、AMD_CR1レジスタの下位3ビットに010を設定します。以上の設定を行うことでGOE[0]に同期した全波整流を行うことができます。

◆BFPで遅れる

 P2[1]を同期信号として検波すると以下のような波形になってしまいました。なんか変ですね。本当は全波整流のような波形になって欲しところです。

f:id:jun930:20190614131546j:plain

原因はBFPで位相の遅れが生じるためです。P2[1]とBPFの出力を確認します。

f:id:jun930:20190614131623j:plain

 矩形波に対して正弦波が遅れていることが分かります。遅れは約40°程度になります。AN2345の裏技を使って位相を調整します。

f:id:jun930:20190614131717j:plain

 目的の波形を得ることができました!この波形を積分回路に通してAD変換すれば小さいけれども立派な計測器になりそうです。

◆参考文献

 アナログモジュレーション機能の使用方法は「はじめてのPSoCマイコン」の111ページを参考にしました。112ページの図7-Bの記述には誤りがあります。正しい仕様はデータシートで確認しましょう。