找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4644|回复: 1
收起左侧

基于AD5420驱动输出4-20mA电流信号的方案

[复制链接]
ID:63113 发表于 2019-12-28 19:25 | 显示全部楼层 |阅读模式
文-沙鸥


1.电流信号输出的优势
话说到工业控制上的模拟信号,一般来说最常见的不过就是电压信号和电流信号,不过电流信号相比于电压信号却有着太多的优势了:
        电流信号不受交流感应的影响,干扰问题易于解决。
        电流信号不受传输线中的电感、电容等参数变化的影响。
        长距离传输信号衰减小,在10到100米的距离内有很好的传输效果,而电压信号只适合于短距离的传输,且易受电磁干扰的影响。
正因为有着这么多优势,所以电流信号应用广泛。作为自控开发攻城狮来说在工作中会经常使用到电流信号,比如将来自仪表输出的4-20mA的信号采集到处理器里面,这个显然不难,那么有个问题,假设控制器想要输出4(0)-20mA的电流信号给其他设备,该怎么实现呢?这个,就是本文的主要内容。


2.一些驱动电流信号输出的方案
驱动电流信号输出的方案有很多,本文只简单介绍几种比较常见的方案。
        基于XTR111的方案
XTR111是TI公司的电流信号输出芯片,它能把输入的电压信号转换为0-20mA,4-20mA或5-25mA的电流信号输出,TI公司的其他芯片如XRT115/116等,也可以驱动输出4-20mA电流信号。XTR111方案是将模拟电压信号转换为电流信号,假如我们一个项目使用微处理器来开发,且微处理器本身不带DAC的话,那么本身输出模拟电压信号就是一件麻烦的事情,所以这里就不细谈。
        基于AD5420/AD5410的方案
那么,有没有直接把微处理器的数字信号直接转换为电流信号的器件呢?
这个肯定是有的,AD5420/5410就是能把数字信号直接输出转换为电流信号的一种器件,它们的特点如图 1。
1.PNG



3.AD5420怎么使用
AD5420是一个单通道、16位、串行输入、电流源DAC芯片,AD5410与AD5420的使用方法类似,只不过AD5410的输入数据是12位,AD5420的输入数据是16位,本文主要就讲一讲AD5420的用法。
3.1 AD5420与微处理器的连接电路和引脚定义
2.PNG

图 2为AD5420与微处理器的部分接线图,更详细的参考资料可以查看图 2中红色文字所示公众号或者图 1中 红色网址/资料中心 里面的同名文章中的附件(下用“附件”代替)。可以看出,要让AD5420输出的电流信号受微处理器控制,需要将AD5420的FAULT、CLEAR、LATCH、SCLK、SDIN、SDO与微处理器的IO口连接起来,具体的引脚含义如下。
B1.PNG



3.2微处理器怎么控制AD5420输出电流信号
AD5420里面有很多寄存器,其实微处理器控制AD5420的原理就是利用SPI通信协议控制改变AD5420内部对应寄存器的值来更新输出的电流信号,微处理器通过SPI读取AD5420寄存器的值来获得AD5420的运行状态。


(1)AD5420的寄存器
AD5420的寄存器主要是移位寄存器,移位寄存器又包括地址字和数据寄存器、控制寄存器、复位寄存器、状态寄存器等,其中:
移位寄存器为一个24位的寄存器,由地址字节(8位)和数据字(16位)组成,地址字节主要是为了寻址对哪个寄存器进行操作,根据地址字节可以定位到数据寄存器、控制寄存器、复位寄存器等,后面的数据字就是操作的参数。
数据寄存器为16位(根据地址字寻址,移位寄存器的低16位),这个数据的大小就直接映射到输出电流的大小。
控制寄存器为16位(根据地址字寻址,移位寄存器的低16位),用于对AD5420进行设置,包括选择外部电流设置电阻、输出使能、数字压摆、菊花链模式、输出范围选择等控制。
复位寄存器为16位(根据地址字寻址,移位寄存器的低16位),可以将器件复位到上电状态。
状态寄存器为16位(根据地址字寻址,移位寄存器的低16位),用于获取AD5420运行状态。


A 移位寄存器
3.PNG

移位寄存器是一个总的称呼,可读可写,使用的时候先用高8位定位到对哪个寄存器进行操作,后面再根据需要给定16位的操作参数。


B 数据寄存器
4.PNG

数据寄存器只能写入,这里的16位数据D就直接决定输出电流Iout的大小,输出电流Iout与数据存储器值D的对应关系如下:
5.PNG



C 控制寄存器
6.PNG

控制寄存器只能写入,用于对AD5420进行设置。具体参数设置含义如图 6。
另外的复位寄存器和状态寄存器等更详细的描述,可以查看附件。


(2)寄存器的读写时序
7.PNG

8.PNG
AD5420的数据交换是SPI通信协议,在SCLK时钟的驱动下通过SDI和SDO引脚进行数据读写,完成数据传输后需要LATCH上升沿的确认。关于SPI的介绍,可以查看图 2中红色文字所示公众号或者图 1中红色网址/资料中心里面的一篇文章《SPI通信协议浅谈》。
需要注意的是,AD5420的数据交换是发生在SCLK的上升沿,这里的SCLK、SID、SDO脉冲信号对持续时间是有要求的,具体信息还是需要查看附件。


(3)怎么控制AD5420输出的电流
前面讲过,微处理器控制AD5420输出电流信号的原理就是利用SPI通信改变AD5420的数据寄存器的值,这样就可以改变输出电流的大小。


(4)向数据寄存器写数据控制输出电流的程序流程
9.PNG


全文完。更多信息,请查看图 2中红色文字所示公众号或者图 1中 红色网址/资料中心 里面的同名文章中的附件。

回复

使用道具 举报

ID:302428 发表于 2020-4-26 14:50 | 显示全部楼层
请问如果想用AD5410或者AD5420设计4路模拟量输出该怎么做呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表