プログラマブル・ゲイン・アンプ MCP6S21のテスト

· 3min

MCP6S21は、SPI制御で増幅率を指定できるアンプ。ラズパイを使って動作確認してみる。

ラズパイによるSPI制御はこちら

MCP6S21は8PINしかないので接続は簡単。CH0が入力でVOUTが出力。

SPIによる制御は簡単。2バイトを送れば良い

1バイト目がInstruction。Write to registerは、010で、gain registerが0だから、1バイト目は0x40

2バイト目でgain registerに値を書く。例えば0x05なら10倍になる。

書き込みはラズパイのspi-pipeを使えば簡単。

echo -ne "\x40\x05" | spi-pipe -b 2 -d /dev/spidev0.0 -s 1000000 | od -t x1
0000000 00 00
0000002

まずはVREFを0Vにして増幅率を変えてみる。電源投入直後は増幅率が1になっている。

上が入力(1kHz)で下が出力。

2倍にしてみる。右側の縦軸を見ると中点が3V以上になっている。元の入力には1.6Vくらいのオフセットを付けている。これはCH32V203のA/D変換を使うためで、この手のA/Dは、0V以上しか変換できないから、0から3.3Vの間に測定範囲が収まるようにゲタを履かせてあるのだ。このため、そのまま2倍に増幅すると3.2Vくらいが中点になってしまう。

これでは困るので、中点を維持するため、VREFに1.6Vをかける。

今度は中点が1.6Vに維持された。

10倍に上げてみると、様子が変だ。とても10倍には見えない。

16倍にすると、発振してしまっているように見える。

実は最初のテストではVREFの供給は以下のような回路にしていた。

しかし、マニュアルを見ると、

VREFは十分小さなインピーダンスで駆動せよ(≦0.1Ω!)とのこと。

というわけでVREFの供給回路を変更。

まともな振幅になった(振り切ってしまって、下の方の波形がつぶれているが)。