目次

コメント

最新の10件を表示しています。 コメントページを参照

  • test -- nakaya 2012-05-11 (金) 23:26:27
  • あ、レイアウト図とトランジスタ寸法はけしといてください -- akita 2012-05-15 (火) 12:50:27
お名前:

6月29日(金) - AMP-BPF パラメータ最適化

ピエゾ素子による音波到達の検知回路。
構成は[Bias]-[PGA]-[BPF]-[COMP]-[DigBuf]。
大枠は作ったので各モジュールのパラメータ最適化を図る。

ピエゾ素子で得られた波形をFFTしてみた。
(1)波源の元信号のFFT
(2)ピエゾで得た信号のFFT
img12062902.gif img12062903.gif
BPFのバンド幅はとりあえず50[Hz]にすることにした。

PGAとBPFの増幅率。
(1)PGAx48 BPFx1
(2)PGAx48 BPFx10
img12062904.gif img12062905.gif

コンパレータの出力を見る。
(1)PGAx48 BPFx100
(2)PGAx46 BPFx141
img12062907.gif img12062908.gif
増幅率を上げるほど早いタイミングで立ち上がりを検知する。

現状のパラメータ。

  • PGA Gain x48(最大)
  • BPF Gain x141(43dB) (最大(43dB付近からBPFの増幅率頭打ち))
  • BPF CenterFrequency 700[Hz] (理想値は700[Hz]だが実測値は630[Hz]程度 内蔵なのでそれほど精確に設定できない)
  • BPF Bandwidth 50[Hz]
  • COMP Threshold 0.562Vdd(2.81[V]) (2.5[V]から最も近い最小の設定値)

PSoCで設定できるパラメータ値のうち最大最小とかを取っている。
SN比に余裕もありそうなので、外付け回路で増幅率をより大きくしたり、閾値を細かくすることで高精度化ができそう。

次はコンパレータに2値の閾値を設定する。

6月25日(月) - BPF2モジュール

周波数をフィルタリングするためにBPF2モジュールを使った。
BPF2 Wizardを使うと、ピーク周波数やバンド幅などを入力するだけで適当なCの値を算出してくれる。
しかし、ピーク周波数1k[Hz]のフィルタを設計したのに実測したら20k[Hz]あたりにピークがあった。
ピーク周波数500[Hz]の場合では8k[Hz]あたりにピークがあった。
現在原因は不明。

(6月26日追記)
アナログブロックに与える周波数が違っていたのが原因。

6月25日(月) - AGNDを出力する

圧電素子のベースラインをAGNDにするために、PSoCのピンからAGNDを出したくなった。
AGNDを入力したGain=0[db]のPGAを使うことで実現できるが、アナログブロックを1個消費してしまう。
しかし、レジスタを少しいじるとアナログブロックを消費せずに(厳密には併用的に)AGNDを外部へ出力することができる。

アナログブロックからの出力は、①他のアナログブロックに接続する線と②アナログバスに接続する線がある。
そこで、①で通常(PGAやCOMPなど)の出力をしつつ、②からAGNDを出力する。
(1)ブロックを起動する。
 PGAなどを置いている場合はStart()のAPIを呼ぶ。
 もしくはレジスタをいじって起動させる。
(2)ブロック内部のMUXの選択を変更する。
 MUXのレジスタを変更する。
 ACBxxCR2 |= 0b00010100;
 ACBxxCR2 &= 0b11110111;
詳しくは「はじめてのPSoCマイコン」(桑野雅彦、CQ出版社)のp.102を参照。

実は29466にはAGNDをPort2_4から出すという便利設定があった。

img12062501.gif

これ使うとすぐできる。

5月24日(木) - 音波遅延実験

■遅延無し(音源の直上にセンサを置いた場合) 黄 : ファンクションジェネレータ出力
青 : アンプ出力
紫 : センサ出力

img12052401.gif


■遅延あり 黄 : アンプ出力
青 : 直上のセンサ出力
紫 : 遠方のセンサ出力
□5cm

img12052402.gif

□10cm

img12052403.gif

□15cm

img12052404.gif

□20cm

img12052405.gif

□25cm

img12052406.gif

□30cm

img12052407.gif

5月23日(水) - ファンクションジェネレータで信号生成

■AM信号 [#d6ead835]

img12052301.gif

(1)搬送波の周波数や振幅などを選択
(2)[Shift] + [AM] : AMイネーブルにする
(3)[Shift] + [Recall Menu] : AM変調のオプションメニュー
(4)"AM Shape"を選択し[↓]
(5)変調波の選択(正弦波や三角波など)
(6)[Enter]
(7)[Shift]+[Freq] : 変調波の周波数を選択

■バースト信号 [#b03f8380]

img12052302.gif

(1)バースト波形の周波数や振幅などを選択
(2)[Shift] + [Burst] : バーストをイネーブルにする
(3)[Shift] + [Recall Menu] : バーストのオプションメニュー
(4)"Burst Count"を選択し[↓]
(5)バースト時の周期数を選択
(6)[Enter]
(7)[Shift] + [Recall Menu] : バーストのオプションメニュー
(8)"Burst Rate"を選択し[↓]
(9)バーストの周波数を選択
(10)[Enter]

5月11日(金) - Phenitecチップ試作

■インバータバッファ回路図
■インバータレイアウト
■行デコーダ・列セレクタレイアウト