摘要:设计了一组基于CPLD的PLC背板总线协议接口芯片,协议芯片可以区分PLC的背板总线的周期性数据和非周期性数据。详细介绍了通过Verilog HDL语言设计状态机、协议帧控制器、FIFO控制器的过程,25MHz下背板总线工作稳定的试验结果验证了协议芯片设计的可行性。
可编程逻辑控制器(PLC)主机是通过背板总线支持扩展模块的连接, 背板总线是PLC 主机同I/O扩展模块之间的高速数据通路,支持主机和扩展模块之间的I/O 数据刷新。背板总线的技术水平决定了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 电平兼容。
关键字:单片机 CPLD PLC 总线协议 接口芯片
编辑:神话 引用地址:基于单片机和CPLD的PLC背板总线协议接口芯片设计(一)
推荐阅读最新更新时间:2023-10-12 20:46
Flash单片机自编程技术的探讨
Flash的可自编程性(Self-Programmability)是指,用Flash存储器中的驻留软件或程序对Flash存储器进行擦除/编程,但是,要求运行程序代码的存储区与待编程的存储区不在同一模块中。因此,只有一个片上Flash存储器模块的微处理器,是不能在进行擦除/编程Flash操作的同时执行程序的。目前,有两种途径可以解决:①在擦除/编程Flash的过程中,将CPU置于空闲状态;②将擦除/编程Flash的指令复制到RAM,再由CPU来执行。
TI公司的MSP430系列Flash型单片机内部集成有Flash控制器,可以采用外部编程器进行烧写,也可以利用自己的程序修改Flash的内容,且不用外加编程电压。在进行系统设计时,
[单片机]
单片机微处理器的接口形式
一个完整的计算机系统,除了微处理器、存贮器之外,还必须具备各种输入输出设备及接口。各种指令、原始数据和信息通过输入设备送入计算机,而计算机则将计算的结果及各种控制信号通过输出设备输出。常用的输入设备有键盘、扫描仪、模数转换器等。输出设备有显示器、打印机、数模转换器等。计算机的另一类外围设备为外部存贮器,包括存储器电路、各种磁盘及磁带机。
外围设备的种类繁多,其信息有数字量(如扫描仪获得的信息)、模拟量(如通过传感器由非电量转换成电压、电流)、开关量(如开关的闭合状态信息、输出控制)。为使外围设备的各类信息与计算机交换,必须通过接口电路。
接口电路将微处理器送出的外围设备地址信息进行译码,以判断选择的是那一个外围设
[单片机]
不带进位的单片机加法指令ADD举例说明
ADD A,#DATA ;例:ADD A,#10H ADD A,direct ;例:ADD A,10H ADD A,Rn ;例:ADD A,R7 ADD A,@Ri ;例:ADD A,@R0 用途:将A中的值与其后面的值相加,最终结果否是回到A中。 例:MOV A,#30H ADD A,#10H 则执行完本条 指令 后,A中的值为40H。 下面的题目自行练习 MOV 34H,#10H MOV R0,#13H MOV A,34H ADD A,R0 MOV R1,#34H ADD A,@R1
[单片机]
汽车驾驶模拟器单片机系统的设计与研究
汽车驾驶模拟器是一种能正确模拟汽车的驾驶操纵动作,获得实车驾驶感觉的仿真系统。目前的汽车驾驶模拟器集合了传感器、计算机三维实时动画、计算机接口、人工智能、数据通信、网络、多媒体等多种先进技术,主要用于驾驶员的培训,也可以对微观交通进行仿真,对汽车的控制特性进行研究。汽车驾驶模拟器具有安全性高、再现性好的特点。利用驾驶模拟器来进行研究和训练,可方便地模拟各种道路环境、天气状况,分析汽车的技术性能指标,从而可以节省大量的自然资源,具有很高的经济价值。
在汽车驾驶模拟器中,传感控制系统的性能直接影响到整个汽车驾驶模拟系统的交互性和实时性,是衡量汽车驾驶模拟器实用性能的重要指标。传感控制系统主要由各种传感器、数据采集和处理系统、以
[单片机]
低成本、高性能,Silicon Labs PG22 32位MCU问市
Silicon Labs(亦称“芯科科技”)宣布推出EFM32PG22(PG22)32位微控制器(MCU),这是一款低成本、高性能的解决方案,拥有业界领先的低功耗、性能及安全性。凭借易于使用且高精度的模拟功能,PG22非常适合于快速开发尺寸受限且对低功耗运行有严苛要求的消费和工业应用。 Silicon Labs物联网副总裁Matt Saunders表示:“市场对大批量、低功耗物联网(IoT)产品的需求一直在快速增长。PG22是一款经过精心设计的32位MCU,其价格贴近8位MCU市场,在尺寸和代码方面与其对应的无线产品保持兼容。” PG22通过一系列独特的产品功能为市场提供领先的32位MCU性能,包括: · 超低功耗
[嵌入式]
基于AT89S52汉字多方式显示屏的设计
1 引言 生活中可视广告随处可见,大多采用 LED" target="_blank" LED 汉字 显示屏" target="_blank" 显示屏 ,而汉字的显示模块可直接影响广告本身效果。基于AT89S52 LED汉字显示模块有多种形式,包括汉字全屏显示、汉字从右往左显示、汉字从下往上显示、汉字拉幕式显示等多种方式。 2系统组成与工作原理 基于AT89S52 LED汉字显示屏系统组成如图1所示。主要由AT89S52构成微控制器,8块74LS373组成汉字代码的行锁存器,74LS154构成汉字的列选通,16块8×8点阵管LED2088BX构成四汉字显示屏,四个按键用于选择汉字显示方式,16个8550组成汉字
[电源管理]
通过PC的USB端口控制多个步进电机
USB的众多便利使设计师能将该总线用于许多应用。例如,图中显示的是一个利用现成的便宜器件搭建的基于USB的4步进电机控制器。该电路没用MCU和DSP。它利用简单逻辑电路和应用软件控制步进电机的选择、其顺/逆时针的运行方向以及三种步进幅度:全步、半步和微步。
该设计基于一个USB转FIFO的并行接口模块(IC1)。这款名为DLP-USB245M的模块提供8位双向数据总线和诸如WR、RD、RXF和TXE等控制信号,利用这些信号控制PC和任何采用USB协议的外接电路的数据流。
利用该模块免去了需应付繁琐的USB接口的工作。另外,该模块带可通过高级语言容易快速地控制模块功能的驱动器软件,从而无需太多牵挂USB协议。
[工业控制]
16位Σ-Δ A/D转换器AD7705与微控制器的接口设计
AD7705是 AD公司新推出的16位Σ-ΔA/D转换器。器件包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路,Σ-Δ调制器,可编程数字滤波器等部件。能直接将传感器测量到的多路微小信号进行A/D转换。这种器件还具有高分辨率、宽动态范围、自校准、优良的抗噪声性能以及低电压低功耗等特点,非常适合仪表测量、工业控制等领域的应用。它采用三线串行接口,有两个全差分输入通道,能达到0.003%非线性的16位无误码数据输出,其增益和数据输出更新率均可编程设定,还可选择输入模拟缓冲器,以及自校准和系统校准方式。工作电压3 V或5 V。3 V电压时,最大功耗为1 mW,等待模式下电源电流仅为8 μA。
1 内部结
[模拟电子]