由以上分析可知:使用这种方式得到的V的输出动态范围可以达到0~12.5V,而分辨率约为0.015K mV,若K=1(即不采用AD8400),0.015mV与0.1mV不构成整数倍关系,单纯的由程序控制不能达到0.1mV的分辨率要求。这就是为什么要采用精密数字电位器的原因。

图2 基本电压Vstand生成电路图
当K=时,可以得到电压V的分辨率=0.015K =0.01mV 。
这样就从理论上得到了最后输出的电压源的分辨率可以达到0.01mV,不仅可以满足系统的0.1mV分辨率要求,还留有充足的余量,使得V的输出可以通过对精密数字电位器以及D/A2的
软件修正来进行校准,从而避免由于元器件温度漂移、D/A转换非线性误差等对输出造成的影响。
产生Vstand的电路如图2所示,Vstand在图中是网络标号STAND_VOL所代表的信号。
高精度电压V的产生
为了保证精度,整个系统的电路中所使用的运算放大器都采用高精度运放OPA2277。
硬件电路搭好之后,通过单片机程序将AD8400的值设为(向AD8400的寄存器写数据),然后通过算法将预输出的电压值分别拆分成D/A1、D/A2各自需要输出的电压,再将值写入LTC1590的寄存器中,便可从输出端得到直流电压V(限于篇幅,Vstand5倍放大得到V的电路图省略)。
高精度电流I的产生
电流源的实现依然是使用Vstand,其电路如图3所示。

图3 电流源生成电路图
此处不是利用MOSFET的转移特性,而是采用电压反馈的方式进行电流控制。在场效应管的漏极与源极间加上24V的电压(由系统的其它模块提供,限于篇幅不作说明),与外部所接负载构成回路后,漏极电流便成为电流源的输出电流。设输出电流为I,则U8的引脚3引入的采样电压为10I,经过10倍放大后变为100I引入引脚6,由于5与6处的电压值相等,所以Vstand=100I (Vstand的最大输出为2.5V,而I要求其输出范围为0~20mA,所以100倍的关系比较合适),由于Vstand的分辨率=V2‘‘分辨率=0.002mV,理论上I的分辨率可以达到0.000002mA,完全可以满足预计的0.001mA分辨率要求(Vstand以0.1mV的步进改变即可),于是高精度电流源得以实现。
测试实验
按照以上的高精度电压与电流的产生方法进行硬件设计,再加上键盘与液晶显示器等模块,利用单片机控制,便可构成一个简易的、可以提供高精度直流电压与电流的仪表(限于篇幅,其它模块与程序设计不作说明)。