成都自动化开发:基于AD5420驱动输出4-20mA电流信号的方案
[复制链接]
文-沙鸥
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。
3.AD5420怎么使用
AD5420是一个单通道、16位、串行输入、电流源DAC芯片,AD5410与AD5420的使用方法类似,只不过AD5410的输入数据是12位,AD5420的输入数据是16位,本文主要就讲一讲AD5420的用法。
3.1 AD5420与微处理器的连接电路和引脚定义
图 2为AD5420与微处理器的部分接线图,更详细的参考资料可以查看图 2中红色文字所示公众号或者图 1中 红色网址/资料中心 里面的同名文章中的附件(下用“附件”代替)。可以看出,
要让AD5420输出的电流信号受微处理器控制,需要将AD5420的FAULT、CLEAR、LATCH、SCLK、SDIN、SDO与微处理器的IO口连接起来,具体的引脚含义如下。
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 移位寄存器
移位寄存器是一个总的称呼,可读可写,使用的时候先用高8位定位到对哪个寄存器进行操作,后面再根据需要给定16位的操作参数。
B 数据寄存器
数据寄存器只能写入,这里的16位数据D就直接决定输出电流Iout的大小,输出电流Iout与数据存储器值D的对应关系如下:
C 控制寄存器
控制寄存器只能写入,用于对AD5420进行设置。具体参数设置含义如图 6。
另外的复位寄存器和状态寄存器等更详细的描述,可以查看附件。
(2)寄存器的读写时序
AD5420的数据交换是SPI通信协议,在SCLK时钟的驱动下通过SDI和SDO引脚进行数据读写,完成数据传输后需要LATCH上升沿的确认。关于SPI的介绍,可以查看图 2中红色文字所示公众号或者
图 1中红色网址/资料中心里面的一篇文章《SPI通信协议浅谈》。
需要注意的是,AD5420的数据交换是发生在SCLK的上升沿,这里的SCLK、SID、SDO脉冲信号对持续时间是有要求的,具体信息还是需要查看附件。
(3)怎么控制AD5420输出的电流
前面讲过,微处理器控制AD5420输出电流信号的原理就是利用SPI通信改变AD5420的数据寄存器的值,这样就可以改变输出电流的大小。
(4)向数据寄存器写数据控制输出电流的程序流程
全文完。更多信息,请查看图 2中红色文字所示公众号或者图 1中 红色网址/资料中心 里面的同名文章中的附件。
|