12位数模转换器DAC7311的通信控制及其电流驱动电路设计
根据图4以及运算放大电路的“虚短”和“虚断”的概念可以得出输出驱动电流的计算公式为

从公式中可以得出输出的电流只与DAC7311的输出电压V_out和精密电阻R1大小有关。其中由软件编程设定,如果R1确定,那么电流的输出范围就完全可以通过软件编程设定。
2 软件设计分析
本设计的软件集成开发环境为CCS3.3 (Code Composer Studio 3.3),采用查询的方式进行软件设计。根据DAC7311的datasheet可知,其输入移位寄存器为16位,故要求F28335的SPI模块发送的数据为16位,且最高两位(PD1,PD0)为模式选择位,见表1,本设计采用正常模式。接下来的12 bit为数据位,最后两位任意。本文引用地址:https://www.eepw.com.cn/article/149625.htm
软件设计的流程图如图5所示。
SPI初始化子程序主要是对F28335中与SPI模块及本程序相关的GPIO口进行设置:SPI的FIFO寄存器设置;SPI控制及状态寄存器进行配置。通过公式(1)和(2),得出不同的输出电流对应的二进制值sdata。并通过软件编程给变量sdata复不同的16位二进制数值(最高两位为“00”)。
3 数据分析
由于受DA转换器的转换精度,分辨率,建立时间,十进制与二进制的转换误差,以及其他元器件特别是精密电阻R1的精度的影响,理论值与实测值有一定的误差。表2为不同的12位二进制值对应的输出电流值(R1=125Ω+0.1%),测试工具为福禄克FLUKE741B校准器(电流测量精度及范围为:30.000 mA 0.01%+0.015%)。
4 结束语
从表2中的测量数据可知,在R1为125Ω±0.1%,输出电流为0~20mA时,与理论值相比,电流的输出精度范围为±1%左右,基本符合一般的电流驱动型仪器仪表(如机车的双针速度表)的使用要求。
基尔霍夫电流相关文章:基尔霍夫电流定律
评论