程控可变增益放大器方案(省钱版)

本文作者分享了在项目中使用AD603作为VGA可变增益放大器的解决方案,替换昂贵的AD637,并采用LTC1966替代。遇到ADC非线性问题后,通过查表法解决了精度问题。最终项目完成后,作者承诺将在Gitee上开源相关资料。
摘要由CSDN通过智能技术生成

1.前言

最近做这个方向的项目,就大致了解了一下这方面的知识,不过貌似做这个方案的价格挺贵的,只能找立创上便宜的芯片来代替了。首先大致说一下整个链路。

信号的总走向是由输入,走VGA芯片,直接输出,就是绿色的路线。

而MCU通过RMS-DC芯片检测输入信号的有效值,再通过输出来控制VGA芯片放大倍数。

开源地址:VGA: 可变增益放大器方案(丐版) (gitee.com)

立创开源:可变增益放大器(丐版) - 嘉立创EDA开源硬件平台 (oshwhub.com)

2.VGA

这个VGA不是视频输出的VGA,而是可变增益放大器的缩写。

这次我选择的是AD603这个经典的方案

下图是仿真结果

2.RMS-DC

这块比较经典的是AD637这个芯片,但是立创上太太太贵了,100+,真的难接受

正应如此,我找代替方案,就是LTC1966,价格大概是1/3

下图是仿真效果

 我在输出后加了一个运放,放大3倍,因为我的输入范围是10mV~1V,放大3倍给单片机的AD刚好在范围内。

3.实际电路

为了控制成本我还是选了f103,因为输入信号可能会有10mv这个小信号,所以就加了一块16位的AD。DA的话,因为f103没有DA只能选择pwm+2阶RC滤波来模拟DA,当然我也选了一块12位的DA,原本想选16位的DA,但是16位的DA起步就是20+,算了算了。

4.PCB

我们仔细分析一下信号,其中的高频小信号是走这条路的。可以看到,整条路线非常干净,没有任何其他信号干扰。原本想再加上包地过孔的,奈何AD不太行,没找到。

4.测试

板子已经从立创那边发货了,前面第一版测试RMS-DC是没有问题的,误差在5mV以内,第一版因为外围器件啥的没加,所以又重新再改了

这是做好,焊接完成的实物 

测试现场 

输入是1Khz,10mV的正弦波 

测试RMS-DC,与仿真无异,是21mV 

 

DA输出1.5V 

输出波形如下,我不确定这噪声是我仪器的问题还是设计问题,但效果都出来了。峰峰值是3.5V,频率没变还是1Khz 

5.程序

在这个系统里最主要的是ADC与DAC,但是ADC的问题很大。

这是我测得的ADC的数据与实际值的关系,可以看到差是越来越大了。尤其可以看到,在最初的时候,差值是一个非线性的。

最后没办法,我唯一想到的解决办法就是查表法。

原来我想全部查表,但是神奇的是前25个数据是可以的。一旦数据超过第二十五个,就飞了。

不过好在ADC后续的数据是线性的,我找到一个倍数1.5刚好差不多。

可以看到,修正后数据非常吻合了。我又对差值进行了直方图绘制,效果如下。

可以明显看到误差超过10的数据非常少了,大部分都能接受。,下面是实际测试的效果。

基本能接受。

6.结语

等整个项目全部完成,我也会开源在gitee上的,包括板子和程序。而这个项目的后遗症就是前两篇文章LPC842这个项目。前面测试f103真是难搞,IIC不好用,没有DA,像我这种用惯了RT1064,STM32H7,都用不习惯了。哎,不说了,说多了都是泪。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值