模拟链路与供电系统设计
在本设计中我们拟借助STM32G4作为主控来实现一个完整的信号采集与发生系统,用以实现双通道任意波形输出与双通道数据采集,模拟部分主要涉及三个部分:输入模拟调理、输出模拟调理与电源。其具体的指标列举如下,系统框图也如下图所示:
-
ADC与DAC分辨率均为12Bit,采样率>2Msps;
-
波形输出最高频率1MHz,最大幅度10Vpp;
-
波形采集最高频率1MHz,幅度范围5mVpp~50Vpp;
-
供电端口USB2.0,电压5V。
下面将分三小节依次介绍三部分的主要思路、选型、计算与仿真。
输入调理
本设计要求输入信号幅值范围5mVpp-50Vpp,通过查阅STM32G4数据手册的技术指标得知模拟部分的供电最大3.6V,在这里取3.3V用作模拟部分的供电。故需要进行如下调理操作:
-
信号大于3.3Vpp时将其衰减到0-3.3V的量程范围内,便于ADC采集;
-
信号过小(<50mVpp)时进行放大,避免噪声影响信号采集;
-
输入信号需经抗混叠低通滤波,截止频率应当略高于1MHz;
-
STM32G4支持差分ADC输入,在此进行单端转差分操作提高动态范围降低偶次失真;
-
参考示波器的输入阻抗1MΩ,本设计输入阻抗同样为1M并通过电阻分压实现10:1的衰减。
选型
本设计缓冲级运放的选型主要关注三个参数:带宽、压摆率与失调电压。其中带宽(GBW)决定了信号的正确传输,过低的带宽会造成信号高频增益下降与超调,而过高带宽往往意味着单位增益的不稳定;压摆率(SR)决定了信号变化时的上下范围,过低的压摆率会造成信号波形的失真;失调电压(Vos)决定了信号链上的固有直流偏移。参考前文所述的信号调理主要思路,在此对上述指标进行概述:
-
输入信号1MHz 50Vpp,衰减10倍后需要满足压摆率 SR >= 5V/us;
-
输入信号频率1MHz,假设其为方波信号,为了保证较为完整的还原波形其 GBW >= 7MHz;
-
信号最小幅度5mVpp,衰减10倍后为500uVpp,失调电压满足Vos <= 100uV。
在ADI官网进行筛选,最终选用AD8616作为输入缓冲级运放,其具体指标为失调电压65uV、带宽20MHz、压摆率12V/us与单位增益稳定。
差分运放的选型与缓冲级类似,不过差分运放一般拥有更差的失调与噪声,在此选用ADA4940作为差分放大的运放。
模拟开关主要用于通过选择反馈电阻来选择增益倍数。由于模拟开关串接在信号反馈会路上,因此要求该元件可以通过正负电压与较低的导通阻抗(Ron),对于较大反馈电阻的回路也要求模拟开关的漏电流(Is)较小。在本设计中选用ADG1436用作模拟开关,在+-5V供电的情况下电信导通电阻3.3Ω、漏电流50pA,该偏差引入的误差可以通过后期校准来剔除。
仿真
本设计输入模拟调理的电路原理图展示如下图所示:
在该模拟链路中的信号流向与用处说明如下:
-
输入阻抗为900KΩ与100KΩ串联的1MΩ用以最大程度的减小高阻信号源带来的分压误差;
-
信号经过分压电阻衰减10倍后输入到电压跟随器AD8616进行缓冲,用以调整阻抗大小;
-
经过缓冲后的电压信号经过R6输入到全差分运算放大器ADA4940,该放大器的同向与反向输入电阻均为220Ω,通过模拟开关选择不同的反馈电阻来实现不同的增益;
-
最后,经过放大的信号通过一阶RC滤波器输入到STM32的ADC来避免信号采集时的混叠。
具体仿真列举如下:
输入信号VIN峰峰值50Vpp,此时设置VCTRL=3.3V选择220Ω反馈电阻,可以观察到信号经电阻分压衰减后的峰峰值为5Vpp。测量差分输出端的信号VP、VN与VP-VN,可以观察到单端信号均未超过0-3.3V的ADC输入范围,满足设计要求。
输入信号VIN峰峰值5mVpp,此时VCTRL=0V选择22KΩ反馈电阻,可以观察到信号同样被衰减到500uVpp。测量差分输出端信号的差值,VP-VN的峰值为50mVpp,满足10倍的设计放大倍率要求。
输出调理
输出端用于DAC输出信号的直流偏置与放大,在此选用下图所示的差分减法器电路。其中VCM表示直流偏置,DAC_OUT表示STM32的DAC输出,VOUT表示最终的调理输出。
当电路结构对称,即R2=R13、R12=R14时,上述的电路拓扑满足的输出输出方程为:VOUT=(DAC_OUT - VCM) *(R14/R13),带入上述的电路取值可得VOUT=(DAC_OUT - 1) * 3,即将DAC输出的0-3.3V电压信号转换为-5~5V的电压信号。
运行瞬态仿真,观察放大后的信号波形其峰峰值被放大了3倍,满足设计要求。
由于VCM的输入电阻由R13与R14共同决定,因此此时的电压负载不再为理想负载,同样地因为对3.3V进行电阻分压,此时的电压源也不再为理想源。故需要对VCM进行一次电压缓冲,缓冲电路如下图所示。
电源
该设计使用USB进行供电,出于连接线上的压降特性供电端往往会提供略高于5V的电压,常常为5.1~5.2V,故在此直接使用轨到轨运放即可实现5V的输出。单片机工作电压3.3V,运放负电压-5V均需要通过芯片来额外产生。
因为-5V仅供板上的6颗运放使用,故在此直接使用电荷泵方案产生负电压,电荷泵方案的供电电流小但设计简单且不会产生EMI辐射。本设计中使用LTC1983-5这颗电荷泵芯片,其可产生100mA的最大电流,足够本设计中的运放使用。该电荷泵的电路原理图列举如下,注意由于电荷泵也是开关电源,因此需要在输出端串接一个PI型滤波器以降低输出纹波。
该电荷泵的电路仿真如下图所示,其中绿色曲线表示未经PI型滤波的电压输出,蓝色曲线表示经过PI型滤波的电压输出。可以观察到经过PI型滤波的电压纹波被滤除干净,能较好地避免对模拟器件的干扰。
在设计PI型滤波器的时候,需要注意选择直流电阻较大的电感,这样可以避免较高品质因数带来的谐振峰,通过LTspice运行电阻值R2的扫描可以观察到如下仿真图,可以观察到当串联电阻为1欧时其谐振恰好消除。
总结
本设计通过LTspice实现了一个简易的信号调理与电源仿真,其中输入调理通过电阻衰减、AD8616缓冲、ADA4940放大与ADG1436选择来实现;输出调理通过MAX4434搭建差分减法器实现;电源树中的-5V通过LTC1983-5电荷泵实现,3.3V通过ADP150-3.3实现,其中电荷泵电压输出经过了一级PI型滤波以降低纹波。