bj232 发表于 2015-9-26 07:27:10

低速小信号,信号发生器方案讨论


最近我的老板想让我做一款测试设备,主要功能是:评估对我们单位生产的模拟信号处理板对小信号放大时,失真的大小。输入RS232信号,输出模拟信号。本人模拟水平有限,特意求助大家帮忙。
主要的功能是通过单片机,解析电脑上面数据,控制输出的模拟电压大小。
预期输出信号参数如下:
1:20Hz以下的低频信号
2:最终输出信号范围0-100mV
3:分辨率100uV
4:精度1mV
5:驱动能力1mA以上


我大概的思路如下:
1:电脑上面写个软件,做个界面,提示人工输入预期的电压值
2:电脑软件按照每个lsb对应1mV的方式编码,转换成二进制发给单片机
3:单片机将电脑发送的数据转换成IIC总线或者SPI总线,控制DA
4:由于DA在 0-100mV的范围精度有限,增加运放,实现0.1倍放大
5:通过高精度万用表校准本测试设备的一些参数
6:断开万用表,换成产品进行测试
选型方面:
1:由于是1000的分辨率,我打算用12或者14位的DA芯片
2:由于输出最小是0.1mV的信号,我打算用低噪声,差分的运放
3:电源方面,我打算单片机是单独的3.3V,模拟方面,打算单独的5V供电

以上是我的一些思路,请大家帮忙看看,是否可行。

bj232 发表于 2015-9-26 07:32:50

没有想明白怎么在帖子里面传图片,补上图片
我也是第一次做,谢谢大家指教

mcu5i51 发表于 2015-9-26 08:24:19

同有这方面意向,不过我要求可以对目标产品进行标定;

ilikemcu 发表于 2015-9-26 10:02:53

用STM32或STM8L的12位DAC,外部提供参考电压,输出信号幅度可能过大,那就用精密电阻分压,再用精密运放做个跟随器,至于标定,只要预先匡算好自己电路的输出范围能覆盖到实际输出的范围,程序处理不麻烦。
20HZ的波形,要精度高,需要做一个数据表格,分细点,尽量用足12bit的DAC的每一个bit

bj232 发表于 2015-9-26 10:10:02

ilikemcu 发表于 2015-9-26 10:02
用STM32或STM8L的12位DAC,外部提供参考电压,输出信号幅度可能过大,那就用精密电阻分压,再用精密运放做 ...

我疑问是实现0.1倍,或者0.05倍放大是否会出现较大的非线性
使用跟随器就是为了电阻保证线性,之后用运放匹配阻抗吗
感觉你这个思路不错哦,谢谢

3DA502 发表于 2015-9-26 10:36:37

”尽量用足12bit的DAC的每一个bit“

既然是测量用的,直接上个高位DAC,也花不了几个钱

NJ8888 发表于 2015-9-26 10:40:56

买个带电脑接口的低频{:lol:}信号发生器

mailyyg@163.com 发表于 2015-9-26 10:52:33

有单片机存在,线性校准不复杂。

bj232 发表于 2015-9-26 11:00:18

NJ8888 发表于 2015-9-26 10:40
买个带电脑接口的低频信号发生器

还是需要自己做的,因为以后想把这个设备集成,如果买人家的成品,估计会贵
不过也还是谢谢你的建议

bj232 发表于 2015-9-26 11:07:00

3DA502 发表于 2015-9-26 10:36
”尽量用足12bit的DAC的每一个bit“

既然是测量用的,直接上个高位DAC,也花不了几个钱 ...

钱目前不是最大的问题,而且这个设备,不会量产,所以成本不是很重要
我最担心的是1mV的精度问题,担心各种噪声,各种干扰,各种导线的影响,导致1mV的精度被淹没
普通的DA,我测量时候的误差就十几个mV跳了,不要说这个1mV
所以我感觉简单地增加DA的位数,效果不是很理想

3DA502 发表于 2015-9-26 11:39:02

bj232 发表于 2015-9-26 11:07
钱目前不是最大的问题,而且这个设备,不会量产,所以成本不是很重要
我最担心的是1mV的精度问题,担心各 ...

只说噪音,不说带宽也是不专业的,你用RC把带宽限制在0.01Hz以下,使用周期不太低PWM方式可以传递0.001V以下的精确基准电压

xwkm 发表于 2015-9-26 11:41:43

考虑音频DAC。比如pcm1793。输出LPF -3db点压低。用stm32 i2s传输。波形合成原理就是DDS。

一天的蓝 发表于 2015-9-26 11:52:00

什么导致误差?失调、漂移、噪声、地线环流,和非线性误差
电源轨附近的工作的运放,是本例最大的误差来源(非线性)
推荐使用隔离串口,并使用双极性输出结构 或双电源供电
adi的CN0200 CN0191是不错的参考

3DA502 发表于 2015-9-26 11:55:37

xwkm 发表于 2015-9-26 11:41
考虑音频DAC。比如pcm1793。输出LPF -3db点压低。用stm32 i2s传输。波形合成原理就是DDS。 ...

http://www.amobbs.com/forum.php?mod=viewthread&tid=4751438&page=1#pid4752108

xwkm 发表于 2015-9-26 12:53:17

3DA502 发表于 2015-9-26 11:55
http://www.amobbs.com/forum.php?mod=viewthread&tid=4751438&page=1#pid4752108

PCM1793可以关闭掉HPF,并且可以用外部基准。
再加上LZ需要就是低频交流输出,必然不断送数据,在STM32的I2S控制器上用DMA很容易就干了。
另外。音频ADC比如PCM1804/4202这种专业用途的也允许HPF关闭及外部基准。楼主用途用音频器件完全合适。

ilikemcu 发表于 2015-9-26 12:55:58

bj232 发表于 2015-9-26 10:10
我疑问是实现0.1倍,或者0.05倍放大是否会出现较大的非线性
使用跟随器就是为了电阻保证线性,之后用运放 ...

如果担心线性问题,建议给运放采用双电源,或者提供一个负电源,让运放的输入输出信号范围离开最低端的负电压和最高的正电压2V压差以上,就可以保证远离非线性区了。你的这个应用,分辨率1000,精度只要100,使用好12bit的DAC完全可以满足要求,除非你钱多得骚包,不用难受。

运放质量好一点倒是很有必要,因为小信号输出,运放的温漂不可轻视。
DAC输出最好是先进跟随器,再过电阻分压,电阻可以采用电阻排,很便宜的,但是用在这里有很好的性能,采购方便。

sddp001 发表于 2015-9-26 13:33:06

如果只是测试的话,建议直接CPCI机箱,找个符合你要求的CPCI板卡应该不难,LabView编程省时省力, 稳定可靠

xwkm 发表于 2015-9-26 13:41:04

1793是差动输出。双电源就可以做到无电容耦合输出

locky_z 发表于 2015-9-26 22:13:38

其实是任意波形发生器吧,PC端将波形包络的采样数据整个周期发给MCU,MCU保存在RAM中,定时发到DAC上。
20Hz,每个周期有80个点的话,失真已经比较好了,
20Hz 80个点,那么定时器约600us,对MCU要求不算高,普通51应该也行了。绝大部分DAC都能满足这个速率。

xwkm 发表于 2015-9-26 22:44:37

locky_z 发表于 2015-9-26 22:13
其实是任意波形发生器吧,PC端将波形包络的采样数据整个周期发给MCU,MCU保存在RAM中,定时发到DAC上。
20H ...

其实我觉得96kHz 24bit的精度+一个转折点是100Hz的4阶巴特沃兹会有很好的输出效果

minier 发表于 2015-9-26 23:19:15

噪声处理是问题的关键

minier 发表于 2015-9-26 23:42:40

噪声处理是问题的关键

bj232 发表于 2015-9-28 11:18:44

3DA502 发表于 2015-9-26 11:39
只说噪音,不说带宽也是不专业的,你用RC把带宽限制在0.01Hz以下,使用周期不太低PWM方式可以传递0.001V ...

我滤波主要是减少50的工频干扰,感觉你说用RC也能有效果,等我实际验证下哦,谢谢你的建议

bj232 发表于 2015-9-28 11:23:31

xwkm 发表于 2015-9-26 11:41
考虑音频DAC。比如pcm1793。输出LPF -3db点压低。用stm32 i2s传输。波形合成原理就是DDS。 ...

谢谢你的建议,我会参考下

bj232 发表于 2015-9-28 11:31:43

一天的蓝 发表于 2015-9-26 11:52
什么导致误差?失调、漂移、噪声、地线环流,和非线性误差
电源轨附近的工作的运放,是本例最大的误差来源 ...

哦,看来零点附近确实需要注意,我觉得还是要考虑下双电源

bj232 发表于 2015-9-28 11:37:53

ilikemcu 发表于 2015-9-26 12:55
如果担心线性问题,建议给运放采用双电源,或者提供一个负电源,让运放的输入输出信号范围离开最低端的负 ...

厉害,很给力的建议,运放我打算就这样做了

bj232 发表于 2015-9-28 11:39:09

sddp001 发表于 2015-9-26 13:33
如果只是测试的话,建议直接CPCI机箱,找个符合你要求的CPCI板卡应该不难,LabView编程省时省力, 稳定可靠 ...

公司穷,买不起CPCI但是labview还是必须用的,谢谢你建议

bj232 发表于 2015-9-28 11:42:57

locky_z 发表于 2015-9-26 22:13
其实是任意波形发生器吧,PC端将波形包络的采样数据整个周期发给MCU,MCU保存在RAM中,定时发到DAC上。
20H ...

确实是任意波形发生器的感觉,就是对小信号要求高100mV左右,我也是对这个小信号很关注,看了楼上很多大侠的指点,我心踏实多了

bj232 发表于 2015-9-28 11:49:58

xwkm 发表于 2015-9-26 22:44
其实我觉得96kHz 24bit的精度+一个转折点是100Hz的4阶巴特沃兹会有很好的输出效果 ...

你说的四阶是无源的吧,有源单运放好像没有电路参考,我找到的,只有二阶butterworth

xwkm 发表于 2015-9-28 14:15:40

bj232 发表于 2015-9-28 11:49
你说的四阶是无源的吧,有源单运放好像没有电路参考,我找到的,只有二阶butterworth ...

四阶就是二阶级联嘛。算好参数就可以了。你去看看ti filter pro。
至于运放用5532就行。输出部分双6V供电就OK。

bj232 发表于 2015-9-28 20:00:15

xwkm 发表于 2015-9-28 14:15
四阶就是二阶级联嘛。算好参数就可以了。你去看看ti filter pro。
至于运放用5532就行。输出部分双6V供电 ...

完美,大哥你讲解的太周到了,谢谢

gamalot 发表于 2015-9-28 23:52:31

用指标有保证的器件,反正你不是批量生产,不在乎几个小钱,推荐MAX5318,一般人俺不告诉他

bj232 发表于 2015-9-29 13:29:44

gamalot 发表于 2015-9-28 23:52
用指标有保证的器件,反正你不是批量生产,不在乎几个小钱,推荐MAX5318,一般人俺不告诉他 ...

谢谢你推荐的芯片,现在,我最担心的是运放的性能,方便推荐几个低噪声运放吗,比如AD8629

gamalot 发表于 2015-9-29 15:27:33

bj232 发表于 2015-9-29 13:29
谢谢你推荐的芯片,现在,我最担心的是运放的性能,方便推荐几个低噪声运放吗,比如AD8629 ...

AD8629很好用,俺之前的设计用的就是MAX5318和AD8629,再配上精密电阻分压

bj232 发表于 2015-9-30 07:50:10

gamalot 发表于 2015-9-29 15:27
AD8629很好用,俺之前的设计用的就是MAX5318和AD8629,再配上精密电阻分压

看来我们是想到一块去了,运放型号都一样
页: [1]
查看完整版本: 低速小信号,信号发生器方案讨论