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]
▲ 原理图设计
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 ch