概览
设计资源
器件驱动器
软件(如C代码和/或FPGA代码等)用于与元件的数字接口通信。
AD5443 - Microcontroller No-OS Driver
AD5446 GitHub no-OS Driver Source Code
AD5760, AD578x, AD579x IIO DAC GitHub Linux Driver Source Code
优势和特点
- 可编程电流输出
- 用于反向模式和双向模式的多种配置
参考资料
-
MT-015: DAC基本架构II:二进制DAC2013/5/27PDF336 kB
-
MT-087: 基准电压源2009/4/9PDF229 kB
-
CN-01512010/11/18PDF736 kB
电路功能与优势
数字控制电流源在许多应用中至关重要,如电源管理、电磁阀控制、电机控制、阻抗测量、传感器激励和脉搏血氧仪等。本文介绍三种利用DAC、运算放大器和MOSFET晶体管构建支持串行接口数字控制的电流源。
所选DAC为配有标准串行接口的高分辨率(14或16位)、低功耗CMOS。16位DAC AD5543提供超紧凑(3 mm × 4.7 mm)的8引脚MSOP和8引脚SOIC两种封装。14位DAC AD5446 提供小型10引脚MSOP封装。这两款DAC均与大多数DSP接口标准兼容,而且兼容SPI、QSPI和MICROWIRE。外部基准电压输入允许输出电平可以有许多变化,最高可达10 V。
器件组合实现了业界较领先的小PC板面积、低成本、高分辨率特性。三种设计均提供低风险解决方案,并使用业界标准器件。
电路描述
所有三个电路的DAC都需要5 V单电源,运算放大器需要±15 V电源。一些电路可能需要一个精确的外部基准电压源(参见教程MT-087)。
各电路均有两级。第一级是输入级,由DAC和运算放大器构成。第二级是N沟道MOSFET晶体管输出级(图1和图2),它响应发送至系统的数字字而提供电流。
如图1所示,电路的输入级由电流输出DAC (AD5446)和运算放大器(AD8510)构成。它转换命令字并驱动晶体管,此外还调制施加于单电阻的电压。命令字通过SPI接口发送。
输出级由N沟道MOSFET晶体管(NTE4153N)构成,它可提供高于运算放大器和单电阻输出的电流。单电阻R1在电压施加于其引脚时产生电流。晶体管调节该电流。
负载电流为:
其中D为载入DAC数字字的小数表示。不过,RDAC >> R1(RDAC标称值为9 kΩ) ,因此负载电流可以近似表示为:
当R1 = 100 Ω且VIN = 5 V时,ILOAD可在0 mA至50 mA范围内进行编程,分辨率为3 μA(14位时的1 LSB)。输出电源电压约为20 V,受MOSFET晶体管击穿电压的限制。ADR425是非常适用于本电路的5 V低功耗精密基准电压源。
图2所示电路也使用AD5446 DAC。但是,此时该DAC在“反向”或电压模式下工作,通过使用ADR512等1.2 V基准电压源提供电压输出。
DAC输出电压在引脚9上提供,其范围为0 V至1.2 V。有关“反向“电压工作模式的更多信息,请参考AD5446 数据手册。
该电路所用的运算放大器为OP1177,它是一款高精度、失调电压非常低(最大值60 μV)的器件。当DAC在电压输出模式工作时,低失调电压非常重要。
N沟道MOSFET晶体管与运算放大器共同构成高电流输出跟随器电路。
从晶体管源引脚到运算放大器输入的负反馈调节流经R1的电流值。 负载电流为:
当R1 = 10 Ω且VIN = 1.2 V时,ILOAD可在0 mA至120 mA范围内进行编程,分辨率为7 μA(14位时的1 LSB)。
第三个电路如图3所示,它使用16位DAC AD5543作为输入级,并使用Howland电流泵电路作为输出级。与MOSFET输出相比,Howland电流泵有两个优势:高输出阻抗和提供双极性输出电流的能力。为了提高稳定性,该电路一般是对称的。因此,R1 = R1',R2 = R2',R3 = R3'。
当R1 = 150 kΩ、R2 = 15 kΩ、R3 = 50 Ω且VIN = 5 V时,ILOAD可在0 mA至20 mA范围内进行编程,分辨率为300 μA(16位时的1 LSB),而且该电路具有非常高的输出阻抗。
为了适当分开DAC与运算放大器并达到理想的性能,所有三个电路都必须采用出色的布局、接地和去耦技术。(请参考教程MT-031和MT-101)。
常见变化
为了获得更大或更小的电流输出范围,两个电路均可以使用其它基准电压源(参见基准电压源选择和评估向导)。请注意,由于DAC架构原因,正基准电压输入将产生负输出电流。虽然许多DAC都可以用来优化设计的速度、精度等特性,但AD5543和AD5446之类的CMOS电流输出DAC可提供更大的灵活性和低风险解决方案。
至于运算放大器,如果设计的输出信号范围相对较小,则CMOS放大器应当是合适的。如果需要高输入阻抗,FET输入运算放大器是不错的选择。无论何种情况,均需要精密放大器来保持14位至16位精度。