当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]可编程逻辑控制器(PLC)主机是通过背板总线支持扩展模块的连接,背板总线是PLC主机同I/O扩展模块之间的高速数据通路,支持主机和扩展模块之间的I/O数据刷新。

可编程逻辑控制器(PLC)主机是通过背板总线支持扩展模块的连接,背板总线是PLC主机同I/O扩展模块之间的高速数据通路,支持主机和扩展模块之间的I/O数据刷新。

设计了一组基于CPLD的PLC背板总线协议接口芯片,协议芯片可以区分PLC的背板总线的周期性数据和非周期性数据。详细介绍了通过Verilog HDL语言设计状态机、协议帧控制器、FIFO控制器的过程,25MHz下背板总线工作稳定的试验结果验证了协议芯片设计的可行性。

背板总线的技术水平决定了PLC 产品的I/O 扩展能力,是PLC 设计制造的核心技术。目前,PLC 大多采用串行通信技术实现背板总线,串行总线引线少、硬件成本低,跟并行总线相比不容易受干扰,串行总线可以提高在恶劣的工厂和工业环境下自动化设备的可靠性。用于串行通信技术的可选类型包括I2C、UART、SPI、USB 和以太网等,一般来说,很多作为PLC 主芯片的单片机自身都集成了这些外设部件。但是单片机内部集成的I2C、UART、SPI 外设通信速率太慢,根本不能满足底板总线的通信速度要求。USB 和以太网的通信速度虽然很快但由于它们都是通用的接口,在通信协议处理时需要单片机的干预, 单片机处理数据速度较慢,因此整体通信速度仍然很慢。一台大型的PLC 采集上千点I/O 数据的时间一般不到1ms,要满足如此高速的通信要求必须设计专门的背板总线。

1 背板总线工作原理

如图1 所示,基于背板总线的数据通信流程如下:

(1)PLC 主机的命令通过主机协议芯片发送到背板总线;(2)从机协议芯片把接收到的命令给扩展模块的单片机, 某一个扩展模块的单片机做出应答,通过从机协议芯片把应答数据送往背板总线;(3)主机协议芯片收到应答数据,并送往PLC主机的单片机。

 

 

图1 背板总线通信框图

PLC 主机发往背板总线的数据可以分成两类:一类是I/O 刷新数据,具有周期性,数据交换非常频繁;另一类是诊断性数据,具有非周期性,出现机会较少。

2 协议芯片设计

本设计定义背板总线采用类似SPI 串行通信的规格,用于通信的引线共4 根,包括时钟信号SCLK、片选信号SSEL、写数据引线MISO 和读数据引线MOSI;支持主机和从机同时收发数据,数据位格式如图2 所示,数据帧在SSEL 信号为低电平时传输。

 

 

图2 背板总线数据规格

信号包括数据/地址信号、复位信号Reset、中断信号INT.

主机和从机协议芯片的内部结构框图相同,如图3 所示。

协议芯片内部有状态机控制器、帧控制器、移位寄存器、接收/发送FIFO 和读写缓存。单片机发送的周期性、非周期性数据帧,首先都写到写缓存,在发送FIFO 中进行排队发送,在SPI 时钟SCLK 的驱动下数据帧被转换为串行数据发送到背板总线;在SPI 时钟的作用下, 接收来自背板总线上的串行数据;在状态机和帧控制器的协调下,接收FIFO 中的有效数据帧被提取并放进读缓存区,等待单片机来读取,如果是非周期性数据则发中断信号通知单片机来取数据。读缓存中的周期性数据是可以覆盖的,新接收到的周期性数据直接覆盖旧的周期性数据,而非周期性数据是单独存放的,不能覆盖,由单片机读取并清除。

 

 

图3 协议芯片内部结构框图

协议芯片使得外接的单片机可以在空闲的情况下访问读缓存和写缓存,单片机不必频繁地通过中断技术处理周期性数据,也使得PLC 主机可以无等待地访问从机的周期性数据。

3 基于CPLD 的协议芯片实现

3.1 CPLD 芯片选型。

本设计选用lattice 公司的MachXO 系列芯片,该系列CPLD 集成了部分FPGA 的功能, 除了内置丰富的LUT 资源以外,还有大量分布式的SRAM 位和嵌入式的专用于FIFO 设计的SRAM 块, 并有模拟锁相环(PLL)支持时钟信号的倍频、分频等,I/O引脚可配置成1.2/1.5/1.8/3.3V 电平兼容。

3.2 基于Verilog HDL 语言的硬件程序设计

本设计采用Verilog HDL 语言进行协议芯片的程序设计,Verilog HDL 语言是一种硬件描述语言,设计数字芯片时可以按照层次描述,并可以进行时序建模。本设计采用混合设计模式,主要设计的模块有状态机、协议帧检测、FIFO 控制器设计等。

1)状态机设计。

协议芯片的顶层模块是状态控制器部分,协议芯片共有四个状态, 分别处理基于Verilog HDL 程序语言的状态机描述伪代码如下:

2)协议帧检测。

本协议芯片的帧校验和采用简单的加和形式进行,在接收一方,如果数据帧中有用数据的加和同后续的校验和字节相同,则协议是正确的,否则丢弃该帧。协议帧校验和计算的代码如下:

3)FIFO 设计。

FIFO 利用了MachXO 系列CPLD 的嵌入式SRAM 块的资源,Lattice 公司的ispLEVER 7.0 软件提供了可配置的IP 软核,该软核可以采用基于嵌入式SRAM 块实现, 也可以使用查找表实现,FIFO 的IP 核框图如图4 所示,FIFO 的可配置参数包括FIFO字节深度、EmptyFull、AlmostEmpty 和AlmostFull触发字节深度、数据宽度、大小端模式等。

 

 

图4 可配置FIFO 控制器IP 软核框图

用Verilog HDL 语言实现的发送和接收FIFO控制器的实例代码如下:

3.3 协议芯片综合

Verilog HDL 程序通过Lattice 公司的CPLD 开发软件ispLEVER 7.0 进行编译、综合,多次尝试后最终选择了Lattice 公司MachXO 系列CPLD 中的MachXO2280 芯片, 综合后的主机协议芯片占用CPLD 资源的60%左右, 从机协议芯片占用CPLD资源的45%左右,FIFO 控制器充分利用了MachXO2280芯片内部的嵌入式RAM 块, 同时利用了锁相环实现高频率的时钟工作。最后通过LSC ispVM(R)System 烧写软件经JTAG 口下载到CPLD 芯片中进行协议芯片功能验证测试。

4 结语

本文设计的背板总线协议芯片在背板串行总线时钟频率为25MHz、信号电平为LVTTL,底板引线长度为40cm,1 台主机连接3 台扩展模块的情况下工作稳定并通过了群脉冲试验,验证了这一组协议芯片的设计是成功的。由于该组协议芯片是针对PLC 的周期性和非周期性数据传送专门设计的,硬件实现的协议帧控制器支持高速率通信、支持数据帧检验功能,避免了数据传送的错误,大大降低了外围单片机的软件开销,增强了可靠性,是一组非常适合用于PLC 背板总线或者需要多模块协同工作的背板总线系统协议芯片。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着工业自动化技术的快速发展,PLC(可编程逻辑控制器)在温度控制领域的应用越来越广泛。然而,在实际应用中,有时会出现PLC显示温度不变化的情况,这不仅影响了生产过程的稳定性和效率,还可能对设备造成损害。本文旨在深入探究...

关键字: plc 可编程逻辑控制器

PLC(可编程逻辑控制器)和单片机是两种不同的控制设备,它们之间存在明显的区别:

关键字: 单片机 plc 控制器

在工业自动化领域,单片机和PLC(可编程逻辑控制器)都扮演着举足轻重的角色。它们作为控制系统的核心,负责监控、控制和管理各种工业设备和流程。然而,尽管它们有着共同的目标,但在结构、功能和应用方面却存在着显著的区别。本文将...

关键字: 单片机 plc (可编程逻辑控制器)

步进电机常用来做定位控制,它可以由PLC输出的脉冲数量控制旋转的角度(相对来说可以是距离),脉冲的频率控制步进电机旋转的速度。

关键字: 步进电机 plc 定位控制

西门子S7-400系列的PLC是一款性能强劲的工控设备,广泛应用于各种工业自动化领域。它具有灵活的可编程性、高速响应、良好的抗干扰能力等优点。在该系列中,通讯模块是一项重要的组成部分。本文将详细介绍S7-400PLC的通...

关键字: 西门子 plc S7-400

PLC编程是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或...

关键字: plc 编程 plc编程

西门子S7-1500PLC是一个模块化控制系统,适用于离散自动化领域内的各种自动化应用。模块化、无风扇设计、易于实现分布式结构以及方便的操作,使得西门子S7-1500成为中、低端应用中各种不同任务的经济、用户友好的解决方...

关键字: 西门子 S7-1500 plc

对新手PLC编程入门,或刚毕业的大学生,或多或少对PLC编程有所了解。学习PLC编程常见的方法就是通过相关的辅导书籍来学习,当然,随着PLC培训班的兴起,去PLC编程培训学校学习也是一种很好的学习方法。

关键字: plc 算术运算 指令

可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令

关键字: plc 通讯 逻辑运算

S7-200 是一种小型的可编程序控制器,适用于各行各业,各种场合中的检测、监测及控制的自动化。S7-200系列的强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。因此S7-200的系列具有极高的性能/价格...

关键字: 西门子 S7-200 plc
关闭
关闭