关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于FPGA与AD5422的PLC模拟量扩展单元的设计 

基于FPGA与AD5422的PLC模拟量扩展单元的设计 

作者:鲍长君时间:2017-08-29来源:电子产品世界
编者按:本文设计了一种以FPGA为核心,基于AD5422实现多路高精度输出的PLC模拟量扩展单元模块。设计先对现有的方案进行了分析和讨论,之后对FPGA内部相关处理机制和实现方案做了详尽的论述,经过仿真和测试验证了设计的可行性。相比于传统的模拟量扩展单元模块,本系统具有处理速度快、方便、灵活,电路精简,抗干扰能力强等优点。

作者/ 鲍长君 上海龙诚自动化系统有限公司(上海 200086)

本文引用地址:http://www.eepw.com.cn/article/201708/363624.htm

鲍长君(1985-),男,硕士,中级工程师,研究方向:嵌入式系统。

摘要:本文设计了一种以为核心,基于实现多路高精度输出的PLC模拟量扩展单元模块。设计先对现有的方案进行了分析和讨论,之后对内部相关处理机制和实现方案做了详尽的论述,经过仿真和测试验证了设计的可行性。相比于传统的模拟量扩展单元模块,本系统具有处理速度快、方便、灵活,电路精简,抗干扰能力强等优点。

1 系统总体设计

1.1 方案论述

  工业自动化控制系统经常需要用到4~20mA 或者±5V等模拟量信号,用以控制变频器等需要模拟信号输入控制的设备,而模拟量扩展单元也是PLC产品重要的扩展单元之一。一个良好的模拟量扩展单元产品的设计希望不仅能够保证系统运行的可靠性,还希望系统设计能够非常精简,有足够的鲁棒和可扩展性,在成本性、能等各方面组合成一个最优的结果。是PLC模拟量扩展单元产品设计一直追求和努力的方向。

  传统的模拟量输出扩展单元结构如图1,其工作原理是:1、将扩展通信总线上的数据通过SPI通信隔离器进行电器隔离,然后将数据交互给MCU;2、由MCU负责数据的转换和进行相关的配置工作,并通过MCU的SPI接口控制输出的DAC获得相应的模拟电压或者电流输出值。

  不难看出,FPGA和MCU之间通过SPI通信,MCU和DAC之间也通过SPI通信,如果我们能把MCU的工作都集成到FPGA内完成,那方案就可以省略MCU,由FPGA直接控制DAC实现功能。但是在省略MCU前要对现有方案做以下进一步的分析。

1.2 实现多DAC的SPI接口级联方式

  在使用传统MCU控制DAC的回路设计时,MCU有足够的IO口可以单独或者级联控制DAC芯片,但是如果换用FPGA来直接替换MCU控制,则会因为需要更多的数据隔离通道使得物料成本上升,因此,若想FPGA直接控制DAC,则最好所有的DAC能进行级联设计,即通过一个SPI隔离器和少数光耦实现全部的通信和控制功能。

  参考 芯片数据手册,实际上该芯片具有多片菊花链连接方式,只要设计得当,多个DAC就可以在同一个SPI接口上级联工作,图2是的原厂数据表关于菊花链连接的结构图[1]

1.3 每个DAC的硬件清零信号处理方法

  应对开机复位或者某些紧急情况,DAC需要实现硬件清零工作。关于DAC硬件清零脚的设计,我们可以用FPGA闲置的IO脚通过光耦隔离后来控制它。当然若想每个DAC都可以独立完成清零的工作,则需要由软件通信的方法控制相应的寄存器来实现软件清零。

1.4 MCU需要完成的任务内容

  从PLC编程给模拟量输出扩展的数据以及相应的AD5422原厂数据表看, MCU需要在这个中间环节完成以下几个任务:

  1)复位,取消复位,清零,初始化DAC芯片;

  2)拆分SPI数据,完成各DAC量程,输出使能等相关的配置工作;

  3)完成数据转换:包括单极性和双极性数据转换,数据位数扩充,数据加偏移量等工作;

  4)完成DAC状态相关回读工作,包括DAC电流输出断线报警,芯片过热等异常情况。

1.5 FPGA直接控制DAC的设计方案

  综合以上的设计分析,我们修改了整体硬件设计方案,由FPGA直接控制DAC的设计方案如图3所示。这样MCU要完成的工作就必须在FPGA内处理完成[2]

2 FPGA内部具体设计实现的方案

2.1 FPGA的数据处理流程



上一页 1 2 下一页

评论

技术专区

关闭