本帖最后由 SynwitMCU 于 2023-10-25 15:47 编辑
SWM211系列有4个放大器,放大器正极(OPAVPx)、负极(OPAVNx)和输出端(OPAOUTx)为开环放大器的3个端口。根据OPA的基本概念,可以搭建确定放大倍数的外电路。在此举例最简单的同相放大电路:
同相放大器的信号输入入到同相端,而反相端对地接电阻,输出端通过一个电阻接到反相端形成负反馈,利用虚短特性,反相端电压等于同相端电压等于Vin;而运放的虚断特性,流进反相端的电流看作是0,则电流流向是经过R2和R1到地,根据节点电流定律:
注:一般R1取1K,通过改变R2的值改变放大倍数
SWM211的放大器支持偏置电流(5uA或10uA)、驱动能力(x1或x2)、PGA等。可通过 OPACR 寄存器 OPAxIB 位配置 OPA 偏置电流为 5uA 或 10uA;配置 OPAxDV 位配置驱动能力为 1 倍或2倍;通过 配置 OPACR 寄存器 OPAXMD 位选择 OPA 对应的工作模式。
放大器配置
//配置需使用的放大器管脚使其切换为模拟信号模式
//配置 OPACR 寄存器,配置放大器参数//配置 OPAx 使能寄存器(OPACR.OPAxON),使能 OPA
ADC 复用
当放大器的功能引脚与 ADC 的功能引脚位于同一个物理引脚上时,放大器 OPAx 的 OUTx 引脚可 直接复用对应的 ADC_CHx 引脚,只需将对应引脚的功能复用通过 PORT 模块中 PORTx_FUNCx 对 应配置改为 ADC_CHx 即可通过 ADC 采集 OUT 脚上的电压,但此时 OUT 引脚不能作为其他功能 使用,只有内部关闭 OPA0 运放(或一开始就不启用),才可以配置为正常的 IO 口和数字功能, 或者除采集 OPxOUT 电压以外的 ADC0CH3 采样。
211的4个放大器除了能配置成普通的放大器外,OPA1~3还能配置成PGA模式。在PGA模式下,可通过内部连接,为PGA模式下的OPA1/OPA2/OPA3提供2.5V电压偏置。
在PGA模式下,OPA1/OPA2/OPA3是一个通过选择内置反馈电阻(10k、15k、20k)选择增益倍数的可编程增益放大器(可配置PAGCR寄存器),可以省略外部的反馈电阻,通过对应ADC通道直接采集相应的OPA_OUT输出,但此时OUT引脚也不能作为其他功能使用。OPA1/OPA2/OPA3其内部结构图如所示
如所示为OPA1/OPA2/OPA3 PGA模式内部结构图,图中R1和R2同时由PGACR寄存器中OPAxGN位控制,R1和R2的阻值可同时设置为10K/15K/20K;R3为滤波电阻,其阻值可通过OPACR寄存器OPAxSW位设置,可设置为1K/10K。 此模块中VREF为片内偏置电压,由电压值为2.5V(±10%)。PGA应用模式如图所示
此模式下外部电路中PGA负端经2K电阻R4接GND,正端经2K电阻R5接输入电压Vi。在程序中配置为PGA增益反馈电阻R1选择10k(R2选择与R1同步),开启内部参考电压VREF,且设为2.5V,则PGA输出电压计算过程如下:
(Vo-Vn)/10K = (Vn-0)/2K
故:Vo = 6Vn = 6Vp
(2.5V-Vp)/10K = (Vp-Vi)/2K
2.5V = 6Vp - 5Vi6Vp = 2.5V + 5Vi
故:Vo = 6Vp = 2.5V + 5Vi
ADC通道直接采集相应的OPA_OUT输出时,PGA电路将作为ADC的前级电路,对输入到ADC的信号进行放大,增大动态范围,大大提高了测量的精度。简单来说,PGA可以将一个输入的小信号进行一定程度的放大,让我们能更加清楚的看到这个信号。
举个例子:0~5V的模拟输入经过SWM211的AD转换后输出的范围在0~4096,则数字信号的步长则为0.00122V,如果要输入一个0.01V附近波动的模拟信号,经AD转换后输出的数字信号则为0,这显然不能精准的检测到我们的输入信号。但如果我们引入了PGA模块,对我们的输入信号进行放大,比如放大20倍,那我们的输入信号就会变成一个在0.2V左右跳变的信号,在经过AD转换后,数字信号将在163左右进行变动,我们就可以很清楚的看到输入信号的波形。
但是PGA信号在放大了信号的同时,也限制了信号的输入范围,对信号放大了多少倍,我们的输入范围同样也意味着缩小了多少倍。输入信号超过这个范围,将超出我们检测的量程。
|