找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] CPLD在可编程逻辑控制系统中的应用研究

[复制链接]
admin 发表于 2013-3-27 09:18:16 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  摘 要:CPLD在可编程逻辑控制系统中的可行性和应用优势进行了分析,提出了一种基于CPLD的新的可编程逻辑控制系统设计方法,并给出了一个设计实例。
  关键词: CPLD 可编程逻辑控制系统 PLC
   
  可编程逻辑控制器PLC(Programmable Logic Controller)以体积小、编程灵活、功能强大、使用方便等特点在工业自动化领域得到了广泛应用。
  目前流行的PLC普遍以微处理器芯片为核心,配以必要的存储器和I/O接口,通过编写和运行程序实现对各种I/O信号的逻辑控制。以下将这类PLC简称为程控式PLC。程控式PLC在运行过程中,其CPU与各设备之间的信息交换、用户程序的执行、信号采集、控制量的输出等操作都是按照固定的顺序以循环扫描的方式进行,每个循环都要对所有功能进行查询、判断和操作。这种顺序和格式不能人为改变。在一个周期内,CPU对整个用户程序只执行一遍。这种机制虽然方便,但实时性差。过长的扫描时间,直接影响系统对信号响应的效果。在保证控制功能的前提下,最大限度地缩短CPU的周期扫描时间是一个很复杂的问题,一般只能从用户程序执行时间最短方面采取措施。例如,为了提高实时响应速度,可采用中断方式处理输入信号。但是微处理器响应中断的过程也需要花费一定的机器周期,响应时间通常为几十微秒至几百微秒,如果加上中断处理程序的执行时间,则到最终输出响应信号所需的时间甚至可达几毫秒。程控式PLC的这种响应特性使它不能满足实时响应速度要求较高的应用系统。
  为了克服程控式PLC输出响应速度慢的缺点,本文对现场可编程逻辑门阵列CPLD(Complex Programmable Logic Device)在PLC控制系统中的可行性和应用优势进行了分析,提出了一种新的基于CPLD的可编程逻辑控制系统的设计与实现方法。
1 CPLD在可编程逻辑控制系统中应用的优势
  CPLD具有体系结构和逻辑单元灵活、高集成度、高速度、标准化、低成本、设计方便、可反复编程并可现场模拟调试验证等特点。这些特点都使CPLD适于作为可编程逻辑控制系统的核心控制部件。
  此外,CPLD很重要的一个特点是在对输入输出信号进行逻辑控制时,不需要执行指令和程序,不需要执行扫描循环,没有“指令周期”概念,输入信号仅通过CPLD芯片内硬件逻辑门阵列的不同组合来控制输出信号,系统对输入信号的响应时间仅取决于门阵列的传输延时。CPLD允许使用高达数百兆赫兹的全局时钟信号驱动,因此其响应时间仅为数十纳秒。这相对于程控式PLC来说具有显着的优势。
2 基于CPLD的可编程逻辑控制器结构
  基于CPLD的可编程逻辑控制器结构如图1所示。它具有与程控式PLC相同的输入输出电路,但控制器的核心采用CPLD芯片,用来实现对输入/输出信号的逻辑控制,取代了程控PLC中的微处理器、存储器及控制程序。用户可在电脑上方便地通过集成开发软件修改控制逻辑,并可随时通过JTAG接口将修改后产生的编程文件(其作用相当于程控PLC中的用户程序)下载到CPLD芯片中。
   
   
  输入接口电路的作用主要是将各种现场输入信号转换为+5V逻辑信号,经过光电隔离后送给CPLD处理。
  输出接口电路的作用是将CPLD的输出控制信号经过光电隔离和驱动,以继电器方式或晶体管方式提供给系统的执行电路。
3 基于CPLD的可编程逻辑控制系统的设计方法
  用CPLD设计可编程逻辑控制系统的内容包括控制系统硬件设计和CPLD控制逻辑设计两部分。系统硬件由PLC控制器、外部信号输入电路和输出执行电路构成。系统总体结构与程控式PLC控制系统相同,仅控制器核心部分不同。CPLD控制逻辑用VHDL语言或逻辑原理图实现程控式PLC控制系统中阶梯图的功能,这一工作可利用多种专用的集成开发软件完成,例如ALTERA公司的MAX+PLUS II和Quartus II、Xilinx公司的Xilinx Foundation、Lattice公司的Lattice ispEXPERT等。
  用CPLD设计可编程逻辑控制系统的流程如图2所示。
    20121107045102263583443.gif
   
  首先根据系统逻辑控制功能的需要进行设计输入,实现类似PLC阶梯图的功能。通常可采用两种设计输入方法,即逻辑原理图法和VHDL语言编程法。逻辑原理图法是一种图形化的设计输入方法,具有直观易懂的特点,有许多现成的库元件可直接调用,用户还可以向库中自主加入新元件。当设计的系统较为复杂时,可采用层次化设计,使用十分方便。VHDL语言编程法具有多层次描述系统硬件功能的能力,具有丰富的库函数和仿真语句,可随时对设计进行仿真模拟,在设计早期就能查验设计的功能可行性。
  设计输入完成后,立即可用集成开发软件的仿真功能进行模拟仿真,查验设计系统的功能和时序,确保设计的正确性和可靠性。
  设计校验通过后,需要将设计输入文件编译成针对具体CPLD芯片的编程数据文件。在编译时,还可对各I/O引脚进行重新分配和指定。
  将编译后产生的编程文件下载到CPLD芯片中,就可进行实际的现场试运行调试了。由于控制逻辑已经过软件仿真,因此现场调试的工作量和调试时间都将大大减少。编程文件的下载既可采用便携式电脑与下载电缆完成,也可通过计算机网络远程下载。
4 设计实例
  下面以一个最简单的带自保持的启动/停止控制为例说明具体的设计方法。本例中,描述逻辑控制功能的阶梯图如图3所示。
    20121107045102294833444.gif
   
  其中:x1为启动信号,x2为停止信号,y1为输出控制信号,x1、x2和y1都是高电平有效;reset为CPLD芯片的上电复位信号,低电平有效。采用VHDL语言编程如下:
  LIBRARY ieee;
  USE ieee.std_logic_1164.all;
  ENTITY plc IS
    PORT(x1,x2,reset:IN STD_LOGIC;y1:BUFFER STD_LOGIC);
  END plc;
  ARCHITECTURE ladder OF  plc   IS
   BEGIN
    PROCESS(reset,x1,x2)
     BEGIN
      IF(reset=&prime;0&prime;) THEN y1<=&prime;0&prime;;
      ELSE
       y1<=(x1 OR y1)AND (NOT x2);
      END IF;
    END PROCESS;
  END ladder;
  利用MAX+PLUS II的定时仿真工具对以上程序仿真,结果如图4所示。
    20121107045102326073445.gif
   
  本示例用VHDL语言初步实现了程控PLC中的阶梯图的逻辑控制功能。虽然本例只采用了一个简单的梯形图,但复杂的梯形图也完全可以通过VHDL语言编程实现。本例所采用的CPLD芯片的速度等级为10ns,由图4可见,从x1信号开始有效到y1产生有效输出信号,输出响应时间仅为10ns,这与程控式PLC微秒级的输出响应时间相比具有显着优势。如果采用速度等级更高的CPLD芯片,则可进一步扩大速度优势。
  对CPLD在可编程逻辑控制系统应用的优势分析与设计实例的结果表明,CPLD可以很好地应用于可编程逻辑控制系统的设计中,基于CPLD的可编程逻辑控制系统具有响应速度快、实时性好等优点,可应用于对实时性要求很高的系统控制中。如果能提高设计输入的效率,该设计方法将会得到更为广泛的应用。
参考文献
1 杜开初.AT89C51单片机控制的微型可编程控制器[EB/OL].http://www.qlmcu.com/,2005,12
2 李国洪,沈明山.可编程器件EDA技术与实践[M].北京:机械工业出版社,2004
3 林小峰,陈 斌,许光泞.一种基于工业PC的软PLC控制系统.微计算机信息,2005;(11)
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-30 04:04 , Processed in 0.213686 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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