昨天上午再取电阻快递的时候,实际上忘记了还有一份 20k 欧姆高精度电阻快件。今天,利用10k,20k两种千分之一精度的电阻,搭建一个 15bit 的 R2R 电阻DAC电路。通过实验确定一下,这种精度的电阻可以形成多高线性精度的DAC 输出。
实验电路板实在昨天的基础上进行了修改。使用PORT-B 15个管脚控制电阻梯 15路取值。其中管脚顺序故意调整的,比较混乱,这是为了避免后面PCB布线的时候,出现过多的交叉线。使用单面PCB 铺设线路,方便使用一分钟制版。可以看到所有的 15条管脚线都没有交叉。整个电路板上,只有四个电源和地线的飞线。下面制作电路板。
▲ 图1.2.1 测试电路原理图
为了提高抗干扰性能,再电路中铺设地线覆铜。一分钟之后,得到制作的电路板,可以看到制作的非常完美。下面进行焊接。
为了焊接方便,对制作的电路板覆铜进行上锡,由于这是我第一次在DIY电路板中铺设大面积覆铜,有可能设置的间距过小,所以,担心焊接的时候,焊点 与铺设的地线之间短路。也许以后,可以适当将设置的铺地间距从现在的 8mil 增大到 15mil。
将电路放置在调试加上,施加5V电源。通过探针夹子,将 ST-LINK 接入单片机。现在心理上有点紧张,不知道是否可以连接到调试器。哇! 这次比较走运,ST-LINK 可以直接访问到单片机。这样就为后面的测试打下来基础。
根据PORT-B端口连接电阻梯的关系,将输入数据的数据位进行调整,这样可以进行同时输出到端口寄存器。从而避免输出信号出现毛刺。但现实还是挺残酷的,铺设大面积覆铜对其它引线还是造成了很多对地短路的情况。一不做二不休,将铺铜去除之后,重新制作了电路板,焊接清洗之后,进行下面的测试。
先输出递增的数据,输出的锯齿波看起来非常漂亮。接下来,将递增的数据,使用DSP 库中的sine 函数,计算出正弦变化的整数。这样便可以得到正弦波形的输出。
下面是令人激动的线性测试的阶段。测量DAC输出从 0 到 0x7fff, 记录输出电压。可以看到输出电压与DAC数值之间线性非常好。计算电压的线性误差。可以看到线性误差在1mV之内。最大误差在 0.68mV。在 3.3V的输出电压范围内,DAC的精度可以维持在 12bit。
▲ 图1.4.1 输出DAC与电压(0-0x7fff)
▲ 图1.4.2 线性误差
五、嘉立创FPC
赶快扫描下方二维码领劵吧!
说到这里, 是到了该薅嘉立创羊毛的时候了。将本文实验电路板,正反两面添加大面积覆铜之后,发送给嘉立创免费打样。对比一下,正式电路板与 DIY 电路板的测试15比特DAC的性能相比, 究竟有多大的差别,对此,我也很期待。