5脚拨盘电位器原理图_音频信号运用,数字电位器和DAC电路调节声音大小

本文探讨了使用DAC作为电位器代替传统机械电位器的原因,并通过实验验证了16bit DAC芯片DAC8830在SPI接口控制下的可行性。实验结果显示,DAC8830能提供可编程的交流信号源,输出信号与设置值呈良好线性关系,且带宽超过1MHz。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.为什么讨论电子电位器?

为什么要讨论使用一个 DAC[1]来作为一个电位器呢?这里面主要原因如下:

使用电位器可以很方便在信号源的驱动下形成一个幅值可以调节的交流信号源。这比起使用通常的可编程直流电源,或者DAC输出电压来说,输出的是幅度可以变的交流信号源,可以用于很多的自动测量环节。

为什么不直接使用 机械电位器[2]来改变信号源的幅值呢?还是一个原因,那就是自动可编程改变信号的幅值。

2.为什么使用DAC做电位器?

DAC用作电位器改变交流信号原理;

使用DAC来分压交流信号的优点是什么?

是否能够克服前面数字电位器的频带过窄的问题?

写这些话的时候,我还不知道具体答案,下面就通过实验来验证一下吧。

02 实验电路

最近,刚刚购买了几片16bit的DAC芯片 DAC8830IDR[5](价格6.6),具有SPI接口,基于该DAC来验证一下前面的思路的可行性。

1.实验电路设计

由于DAC8830使用SPI接口来设置输出电压,使用STC8G1K(SOP16)作为控制器来完成对它的信号控制。

1)SCH [6]

eb729813402df01fcf1ed2e80d85243c.png

▲ 原理图设计

2)PCB

对于实验原理图进行LAYOUT,尽可以满足单面PCB板制作的工艺要求。快速制版之后得到对应的实验电路板。

4c79432ee35b45902734f14e6080bfb3.png

▲ 实验电路板的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);

}

82d6985b722222d40eb7c5d82c96b955.png

▲ DA8830的SPI读写时序

对应的DA8830的CS,SPK的波形为:

5a02254dffad64c77f2644d61075ff11.png

▲ 示波器观察到DA8830的CS,CLK的波形

从上面波形可以看出,DAC8830Set()函数的执行时间在STC8G1K17(35MHz)执行中的时间大约为3。

在静态下,通过两个电阻组成的参考电压分压电路,生成大约2.5V的参考电压。实际测量电压为:。

6282484b5cd91cec75f4cdd0fa493ad3.png

这个数值比起前面实际测量得到的要大,这说明对应的DA8830的参考电压管脚的阻抗比起还要小。

为了便于测量数据波形,调用DA8830Set()函数中的输入参数为。那么输出电压计算值应该为:

c066b5b0bb066a21b6a2ff1cf904d251.png

实际测量DA8830的输出电压为:

2e110c4939a48ffb3c9e6f13bd0cd0f5.png

2) 输出电压波形

6b9d9ff70ff5f31063491848f5208573.gif

▲ 每1ms写入DAC8830递增数据的CS,DI数据波形

写入递增的数据,输出波形。

for(;;) {

WaitTime(1);

//----------------------------------------------------------------------

DAC8830Set(nShowCount); nShowCount += 0x200;

//----------------------------------------------------------------------

}

此时Dout输出递增的锯齿波形。

1d9dc609b938b63f77919811c2ffa914.png

▲ 输出递增的锯齿波形

03 参考电压与输出信号

下面经过几组实验,来验证DAC的参考电压对于输出信号的影响。

1.参考电压的有效范围

在DAC8830的数据手册中,对于参考电压的输入范围给定的是1.25V ~ Vpp。下面通过一组实验来测试实际的有效输入参考电压范围:

下面通过在某一给定的DAC8830的设置下,给定Vref,测量对应的实际输出。将三种不同设置下的输出电压与参考电压之间的关系绘制在一起。从图中可以看到,实际上,DA8830的参考电压对于输出电压的等比例的影响范围是在整个的工作电压(0~5V)之内都有效。

1dedeabcfe8b2c0066d0dd8075de889e.png

▲ 将三种不同设置下的参考电压与输出电压绘制在一起

2.输入交变的参考电压

1)在Vref加入交流电压波形

在Vref中加入100Hz左右正弦波,设置DAC8830转换值为0x7fff,输出的电压波形如下图所示。可以看到输出(Blue)的电压波形等于Vref(Cyan)的一半。

60c4f393da24ce2168e937a15b8602e0.png

▲ DAC8830的Dout(Cyan)与Vref(Blue)的波形

当设置为0xffff的时候,输入的波形就与输入一致了。

625c74796b9a15c92751686b56c03e4e.png

▲ DAC8830的Dout(Cyan)与Vref(Blue)的波形

2)输入高频方波波形

为了测试从Vref到Vout之间的频带宽度,在Vref中加入高频方波信号,观察输出的Vout的信号。

353681519c921743889074afbe122afa.png

▲ 加入高频方波信号Vref(Blue)观察输出信号Vout(Cyan)

将波形再次展开,观察输出的过渡过程。

展开波形,对比输入输出波形,可以观察到Vref到Vout之间的带宽应该超过1MHz。按照DAC8830数据手册上关于参考电压 -3dB带宽的参数,典型值为1.3MHz。

473d18d05fc4e20f36c8f2d441f99d6b.png

▲ 加入高频方波信号Vref(Blue)与输出信号Vout(Cyan)波形

3.使用DAC对交流信号进行调幅

下面将固定的交流电压(有直流分量,使得信号始终大于零)施加在Vref,测量Vout随着DAC8830的设置值的变化情况。
施加的电压频率,幅值。

输出电压值如设置数值之间的关系为:

5c8b987bbfe2ba313f192ba09ce75a61.png

▲ 输出电压值与设置值之间的关系

可以看到整体上输出与设置值之间的关系呈现非常好的线性关系。

注意到在曲线的一开始似乎有一些略微的非线性。下面重新采集设置值范围在(0,0x3ff)范围内的输出电压与设置值之间的关系曲线。

8a8347c361fe7dc2d9bb2c44075c1033.png

▲ 输出电压值与设置值之间的关系

可以看到在起始的时候,由于系统存在噪声,使得输出的电流电压与设定值之间存在一定的非线性。当理论输出电压小于系统地线上的噪声电压时,使用交流万用表测量得到的数值就会偏大。

下面重新对频率为

a09817d0969caf002c7de84e7c352ee3.png

的信号测量输出电压与设定值之间的关系。结果与1kHz的情形相同。只是输出整体的增益下降了。

0041cc619566e082471dad5176b12d3a.png

▲ 输出电压值与设置值之间的关系

9de8b66295cb837c4b6fb377840d3a03.png

增益变化了9%左右。

4.信号超量程

当输入信号的幅值超过DAC8830d的工作电压,或者低于0V,输出都会出现截止。

9f04e95fea8d7525fd628f0b49e70c44.png

▲ 输入信号超过+5V,低于0V的情况

结论

通过前面的实验,可以看到,使用DAC8830来当做电位器获得幅度可变的交流信号源是可行的。它具有很宽的信号带宽,并且输出信号的幅值与设置信号之间具有非常好的线性关系,只是在信号比较小的时候输出会受到系统和芯片本身的噪声影响。

当输入信号超出了DAC8830的工作电压,或者低于0V时,输出信号都会截止。所以在使用的时候,需要通过一定的信号偏置的方式将交流信号平移到始终在0~5V(DAC8830工作电压)范围之后进行调试,然后可以再通过隔直电容去掉信号中的偏移量。

本头条搭建一个交流平台,欢迎各位也分享你的行业认知,技术分享,经验之谈,欢迎留言投稿!

5ab2a27fec5b38c8caa59a6a0e071d48.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值