可否利用DAC来改变交流信号的幅值?
扫描二维码
随时随地手机看文章
01缘起
1.为什么讨论电子电位器?
为什么要讨论使用一个 DAC
[1]来作为一个电位器呢?这里面主要原因如下:
-
使用电位器可以很方便在信号源的驱动下形成一个幅值可以调节的交流信号源。这比起使用通常的可编程直流电源,或者DAC输出电压来说,输出的是幅度可以变的交流信号源,可以用于很多的自动测量环节。
-
为什么不直接使用
机械电位器
[2]来改变信号源的幅值呢?还是一个原因,那就是自动可编程改变信号的幅值。 -
现在有数字电位器,比如
X9C102,X9C103,X9C104
[3],AD5272
等,为什么不使用它们来实现对交流信号源
进行幅值改变呢?这里面一个主要原因就是器件的频带宽度[4](https://zhuoqing.blog.csdn.net/article/details/104134132 "X9C102,X9C103,X9C104
"),AD5272
等,为什么不使用它们来实现对交流信号源
进行幅值改变呢?这里面一个主要原因就是器件的频带宽度[^4068]的问题。相比于机械电位器,这些电子电位器(变阻器)都具有相对较窄的工作频带宽度,对于高频信号不适合。
▲ 重要的人,不能够忘记的人,不想忘记的人,你是谁?
2.为什么使用DAC做电位器?
-
DAC用作电位器改变交流信号原理; -
使用DAC来分压交流信号的优点是什么? -
是否能够克服前面数字电位器的频带过窄的问题?
写这些话的时候,我还不知道具体答案,下面就通过实验来验证一下吧。
02实验电路
最近,刚刚购买了几片16bit的DAC芯片 DAC8830IDR
[5](价格6.6),具有SPI接口,基于该DAC来验证一下前面的思路的可行性。
1.实验电路设计
由于DAC8830使用SPI接口来设置输出电压,使用STC8G1K(SOP16)作为控制器来完成对它的信号控制。
1)SCH [6]
▲ 原理图设计
2)PCB
对于实验原理图进行LAYOUT,尽可以满足单面PCB板制作的工艺要求。快速制版之后得到对应的实验电路板。
▲ 实验电路板的PCB设计
2.MCU软件编程[7]
1) DA8830访问子程序
使用STC8G的SPI端口对DA8830进行访问。根据DA8830的SPI读写时序,相应的DAC8830写入转换(16bit)数据的子程序为:
void DAC8830Set(unsigned int nDAC) {
OFF(DAC8830_CS);
SPISendChar((unsigned char)(nDAC >> 8));
SPISendChar((unsigned char)nDAC);
ON(DAC8830_CS);
}
▲ DA8830的SPI读写时序
对应的DA8830的CS,SPK的波形为:
▲ 示波器观察到DA8830的CS,CLK的波形
从上面波形可以看出,DAC8830Set()函数的执行时间在STC8G1K17(35MHz)执行中的时间大约为3 。
在静态下,通过两个
电阻组成的参考电压分压电路,生成大约2.5V的参考电压。实际测量电压为:
。
根据DA8830数据手册,DAC8830的参考电压输入阻抗大约为:
。因此,理论计算所得到的参考电压为:
这个数值比起前面实际测量得到的 要大,这说明对应的DA8830的参考电压管脚的阻抗比起 还要小。
为了便于测量数据波形,调用DA8830Set()函数中的输入参数为 。那么输出电压计算值应该为:
实际测量DA8830的输出电压为: 。
2) 输出电压波形
▲ 每1ms写入DAC8830递增数据的CS,DI数据波形
写入递增的数据,输出波形。
for(;;) {
WaitTime(1);
//----------------------------------------------------------------------
DAC8830Set(nShowCount);
nShowCount += 0x200;
//----------------------------------------------------------------------
}
此时Dout输出递增的锯齿波形。
▲ 输出递增的锯齿波形
03参考电压与输出信号
下面经过几组实验,来验证DAC的参考电压对于输出信号的影响。
1.参考电压的有效范围
在DAC8830的数据手册中,对于参考电压的输入范围给定的是1.25V ~ Vpp。下面通过一组实验来测试实际的有效输入参考电压范围:
下面通过在某一给定的DAC8830的设置下,给定Vref,测量对应的实际输出。将三种不同设置下的输出电压与参考电压之间的关系绘制在一起。从图中可以看到,实际上,DA8830的参考电压对于输出电压的等比例的影响范围是在整个的工作电压(0~5V)之内都有效。
▲ 将三种不同设置下的参考电压与输出电压绘制在一起
2.输入交变的参考电压
1)在Vref加入交流电压波形
在Vref中加入100Hz左右正弦波,设置DAC8830转换值为0x7fff,输出的电压波形如下图所示。可以看到输出(Blue)的电压波形等于Vref(Cyan)的一半。
▲ DAC8830的Dout(Cyan)与Vref(Blue)的波形
当设置为0xffff的时候,输入的波形就与输入一致了。
▲ DAC8830的Dout(Cyan)与Vref(Blue)的波形
2)输入高频方波波形
为了测试从Vref到Vout之间的频带宽度,在Vref中加入高频方波信号,观察输出的Vout的信号。
▲ 加入高频方波信号Vref(Blue)观察输出信号Vout(Cyan)
将波形再次展开,观察输出的过渡过程。
展开波形,对比输入输出波形,可以观察到Vref到Vout之间的带宽应该超过1MHz。按照DAC8830数据手册上关于参考电压 -3dB带宽的参数,典型值为1.3MHz。
▲ 加入高频方波信号Vref(Blue)与输出信号Vout(Cyan)波形
3.使用DAC对交流信号进行调幅
下面将固定的交流电压(有直流分量,使得信号始终大于零)施加在Vref,测量Vout随着DAC8830的设置值的变化情况。
施加的电压频率
,幅值
。
输出电压值如设置数值之间的关系为:
▲ 输出电压值与设置值之间的关系
可以看到整体上输出与设置值之间的关系呈现非常好的线性关系。
注意到在曲线的一开始似乎有一些略微的非线性。下面重新采集设置值范围在(0,0x3ff)范围内的输出电压与设置值之间的关系曲线。
▲ 输出电压值与设置值之间的关系
可以看到在起始的时候,由于系统存在噪声,使得输出的电流电压与设定值之间存在一定的非线性。当理论输出电压小于系统地线上的噪声电压时,使用交流万用表测量得到的数值就会偏大。
下面重新对频率为 的信号测量输出电压与设定值之间的关系。结果与1kHz的情形相同。只是输出整体的增益下降了。
▲ 输出电压值与设置值之间的关系
增益变化了9%左右。
4.信号超量程
当输入信号的幅值超过DAC8830d的工作电压,或者低于0V,输出都会出现截止。
▲ 输入信号超过+5V,低于0V的情况
结论
通过前面的实验,可以看到,使用DAC8830来当做电位器获得幅度可变的交流信号源是可行的。它具有很宽的信号带宽,并且输出信号的幅值与设置信号之间具有非常好的线性关系,只是在信号比较小的时候输出会受到系统和芯片本身的噪声影响。
当输入信号超出了DAC8830的工作电压,或者低于0V时,输出信号都会截止。所以在使用的时候,需要通过一定的信号偏置的方式将交流信号平移到始终在0~5V(DAC8830工作电压)范围之后进行调试,然后可以再通过隔直电容去掉信号中的偏移量。
参考资料
DAC
: https://baike.baidu.com/item/%E6%95%B0%E6%A8%A1%E8%BD%AC%E6%8D%A2%E5%99%A8/4634384?fromtitle=DAC&fromid=1196661&fr=aladdin
机械电位器
: https://zhuoqing.blog.csdn.net/article/details/104089780
X9C102,X9C103,X9C104
: https://zhuoqing.blog.csdn.net/article/details/104134132
频带宽度: 器件的输出增益随着信号频率的改变而下降,最终形成的最大等效输出带宽
卓老师,我是大三做节能组的。我认为各个组别的难度不同,确实周期是不一样的。我以前也做过一年的比赛,还是有一些调试经验的。像四轮组别比较简单,硬件不容易炸,给我10天我都能调出来,但是这次节能组调起来难度确实不小,而且跟年前相比新增的坡道对于直立车来讲也是一个难点,我们只是清楚该怎么操作,实际上调起来怎么样心里也没谱。20天真的有点太短了,作品没有时间打磨稳定性都是个问题,心理压力也倍增。我清楚大家都不想延时,如果最后真的迫不得已要实行20天方案,不知道卓老师是不是也能适当地调整一下难度,让至少50%的同学能够适应这种强度?
记得刚刚入学的时候老学长跟我们讲过一句话,开始调试之前一切进度等于零。我觉得在真的开始返校调试之前我们不敢随便乱开空口支票。
哈哈哈哈哈哈,卓大大,想跟您分享一下今天母亲节给妈妈做的菜。越来越觉得工科的男生真的没有不会的!放假到现在,我修了家里的净水器,微波炉,洗澡锅炉,浴室干湿分离改造。最夸张的花了一天时间,和爸爸刷了家里的墙!今天也是我第一次做菜但真的味道都还不错。
卓大大,我是西安土著民。如果国赛有机会,在西安我一定请您吃我做的菜!
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!