|
本期我们就来介绍一下STM32G474RE中如何利用板载运算放大器放大不带偏置的交流信号(负电压)。0 M4 o5 Z# {2 W; y- g9 T$ y 4 W& |4 @( P0 o7 [, s/ e" ?
首先根据STM32G474的芯片手册,其运算放大器具有非常多的功能,由许多的多路复用器进行选择。; k: m9 q7 y' L# F- r7 m5 k. b, c / T( m' h# b: C( a- J
% }/ K/ }0 a& B7 A% R% m8 P 其部分运算放大器同向输入端可以连接至板载数模转换器,关于这两路DAC(STM32G474RE中总共有四个DAC)' K3 I7 n. ^9 E
' I: w2 h6 p: J3 Y1 m1 b; m' s+ ] 可以看到DAC3和DAC4是没有直接的GPIO连接的,但是我们它可以连接至OPAMP的同相输入端,这使得我们可以通过OPAMP的跟随器(Follower)来将其输出。& f: Z" r1 D, C1 j/ r 3 d7 W8 q& I- E
/ v0 T0 B0 K5 [% j6 H( Q 同样的,本期我们想要处理负输入端的信号我们也要用到OPAMP的同向输入端接入DAC的这个特性,我们使用DAC的输出作为一个偏置构成一个反向比例放大电路。 7 n) f/ C, l5 t* H5 X3 ]
具体的配置电路图在手册中说明了,其中的VINP留出(我们将其配置为连接到DAC),我们的信号从VINM(反相输入端)输入,其遵守以下的公式。* \, i$ \- w8 Y# \ |. {7 r, u * g7 B0 x2 E6 k, T4 i) a# S+ Y
! x5 K7 Y( o! S 所以我们的输出公式则是成为一个带直流偏置的反向比例放大器。 接着让我们来实际操作一遍。 : W9 ~2 ]7 x1 U: R$ {
: R: Y$ O, W) n6 B' J2 q 首先我们打开DAC的通道输出,但是这里并没有直接的GPIO来测试是否正常。* r' Q; ^# Z* d& A {% Z* k2 T0 n7 u; l
接着我们设置为PGA的反向放大,并且将同相输入端接入DAC的输出引脚。 - a, |, ^/ C' J( m9 g 配置我们的工程其他内容。: b' Z- K [4 N! I+ V. X8 J; t: O
在工程中开启我们的运算放大器以及DAC,设置DAC的输出,这里我将DAC输出设置为1.665V,由于我们的反向输出端空置,因此此时电路的作用等价于跟随器。输出端输出电压为DAC电压。* \% r3 R; \9 N* B 由于我们配置的放大倍数是2 or -1;放大倍数是-1即电阻Rf和R相等,因此Vout = 2 * Vd - Vin。所以我们配置DAC的输出电压为四分之一的参考电压,这样子让可以让Vout的偏置电压为参考电压的一半。 5 l7 X' R* C/ W# I1 T 接着测试我们的运算放大器。# Z, a$ C, `5 r
可以看到我们做到了一个带偏置的反相放大器,其放大倍数为1。 ' s6 Q) \7 L/ B* O# b 接着我们测试高放大倍数比例放大器。2 P& k/ K$ t2 O9 N
我们将直流偏置调整为原来的三十二分之一,之后调整PGA放大倍数为16倍。% L4 j2 V$ ^( r D1 ^+ `% `
1 v$ S0 V+ q" ? 可以看到,我们将一个峰峰值为100mv的信号放大-15倍,之后输出波形也非常的完美。8 D$ |0 N& Z& v$ E! \0 G . f( Q) z% ]! `& ^ 最后我们测试其最大的放大倍数。
我们将一个峰峰值20mv的信号放大-63倍,这里由于示波器性能问题(我这个信号线也不是特别好)所以通道二的信号看起来很差,但是输出信号却非常的好。* B% H$ Z- e) J2 x 3 j% e( ]& [$ X) { }. d6 C 转载自:电路小白$ p% u0 |% b" P7 T* C 如有侵权请联系删除 |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版