PSoC5 CY8C5888LTI-LP097  VGAを使う(オペアンプ・ゲイン可変)

bandicam 2019-02-19 16-43-01-826
PSoCの特徴的なモジュールに OPamp が在りますが、これ
或る程度の制限付きでゲインが変えられます
VGA (Variable Gain Amp)モジュールです
但し正転アンプです
 x1  / x2 / x4  / x8 / x16  / x24 / x48  つまり33dBぐらいまで増幅が
プログラミングで可能って事です
逆に逆転アンプも在りますがゲインが異なるので要注意です
なんでやねんと言いたいですね
VGA_inv というモジュールです、こちらは
 x1  / x3  / x7  / x15 / x22  / x24  / x31  / x47  / x49 の逆位相です
統一性が無いですねぇ・・・まぁ仕方無い・・・・。
動画は  x1  / x2 / x4  を繰り返すだけの単純動作です
上、黄色が入力波形
下、青色が出力波形


但し、プログラミングしてて無駄な一日を過ごして仕舞ったので
この記事をご覧の方は、嘲ってやって下さい、何が無駄だったのか
ですが、オペアンプの出力です、これが適切に選択されていないと
ドツボに嵌まります

動画の詳細は以下のように成ります、これなら動きます
回路図、抵抗は外付けでコンパイルには無関係です、メモ程度と
お考え下さい
bandicam 2019-02-19 16-22-05-842
WavwDAC8_2 パラメーター
bandicam 2019-02-19 16-22-29-256

VDAC8_1 パラメーター
bandicam 2019-02-19 16-22-36-669

PGA_1 パラメーター
bandicam 2019-02-19 16-22-44-190
main.c
モジュールを起動 → ゲインを変化させる → Loop

bandicam 2019-02-19 16-23-40-149
こんな簡単なプログラムなんですが
こうすると動きません
bandicam 2019-02-19 16-28-57-679
Pin_1 をご覧下さい 15[4] と書かれていますよね
なんでこの Pin を選んだかですが、作図していて pin 配置の画面に
切り替えるとご親切に自動的に pinが選ばれるのです
「ああーー便利だなぁ♪ 流石サイプレス社だ、ふんふんふーーん♪」ヽ(´ー`)ノ
なんて調子に乗ってやっていた訳ですよそしたらとんでもない
なにやっても出力が出て来ないんです、ちゃんと Analog out pin
をドラッグ・アンド・ペーストしたにも関わらずです

恐らくと言うか間違いなく英文マニュアルを読めばどの pin を
使うべきなのか書いて有るハズです、こういうバカをするから
ど素人なんですよね、あーあ、無駄な時間を過ごした。

ソースファイル

/* ========================================
*
* Copyright YOUR COMPANY, THE YEAR
* All Rights Reserved
* UNPUBLISHED, LICENSED SOFTWARE.
*
* CONFIDENTIAL AND PROPRIETARY INFORMATION
* WHICH IS THE PROPERTY OF your company.
*
* ========================================
*/
#include "project.h"
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
WaveDAC8_2_Start();
VDAC8_1_Start();
PGA_1_Start();
//PGA_Inv_2_Start();
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
for(;;)
{
/* Place your application code here. */
PGA_1_SetGain(PGA_1_GAIN_01);
CyDelay(1000);
PGA_1_SetGain(PGA_1_GAIN_02);
CyDelay(1000);
PGA_1_SetGain(PGA_1_GAIN_04);
CyDelay(1000);
}
}
/* [] END OF FILE */

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です