PSoCの大きな特徴の一つとしてOPamp (オペアンプ)モジュール
が在ります、どの程度可能なのか大きな期待を寄せていた私が
バカでした、抵抗だのコンデンサだのは外付けしなければなりません
複雑なオペアンプ回路をプログラムで組むことは出来ませんので
逆にソフトウェアで何所まで代替出来るのかという発想の転換が
必要になってきます、それはそれ後にします。
取り敢えず内部正弦波発振回路とDACとオペアンプを使って
正弦波をパルスにする実験をしてみました、要はオペアンプを
コンパレーターとして使い閾値をDACで制御すれば出力はパルスに
成りますよね、その実験です、あんまり意味無いです。
取り敢えず回路図
WaveDAC8_1 が正弦波発振器です Pin2-0に出力してモニタします
VDAC8_1 がDACで閾値を決めています
オペアンプをコンパレーターとして動かして出力は Pin3-6です
Pin配置
WaveDAC8_1 のパラメーター
VDAC8_1のパラメーター
オペアンプのパラメーター
main.c の抜粋
WaveDAC8_1_Start();
VDAC8_1_Start();
Opamp_1_Start();
VDAC8_1_Start();
Opamp_1_Start();
これ起動させないと当然ですが動かない回路図書いて安心して居るとダメ
それぞれ起動しただけ for ループ内は何も無し
出力波形
ちゃんとコンパレーターが働いて居ます
一見してきれいですよね、だけど私は信用していません
拡大してみました
*** 雑感 ***
まぁこんなもんですよ
発振器はDACに決まってますからどうしてもギザギザ波形です
良く考えてみるとアナログ回路がデジタル回路に埋め込まれている
訳ですから周囲からのインターフェアは無い筈が無い、例えれば
メモリープレーヤーにAMラジオが付いていても音が濁っているのは
デジタルノイズが入ってくるからで、それと同じことがPSoCについても
言えると言うことですよね、「いやいや動けばそれでいいんだから」
そういう用途には向いています、が、極小電圧、電流を扱う回路には
使えませんノイズレベルで-120dBmぐらいなら良いんですけどね
期待するのが間違っています。
それと笑われそうですが・・・・
・回路図を書きました
・パラメーターを設定しました
・Pin配置を決めました
で
・main.c に対してプログラミングを開始しました
あれ? なんか変だぞ?・・・・
Op って書き始めると候補が次々と出てくるハズなのに何も出て来ない
Opamp****とかオートフィルが出てくるのに、なんでかなぁ、まぁいいや
と書き始めてスペルをチェックしてOK、なのに左側に赤いエラーマーク
が出てくる、なんで?
原因は
回路図書いたら一度その画面でコンパイルしなければならないんですね
それを行わなかった為にエラーマークが出ていた訳です
・回路図書いてコンパイル
・main.c 書いてコンパイル
これで動きました、という初歩的なミス、ちゃんと勉強しないで
行き成り使い始めるとこうなるのですね。