CN112398714A - 一种背板总线主站、系统及其数据通信方法 - Google Patents
一种背板总线主站、系统及其数据通信方法 Download PDFInfo
- Publication number
- CN112398714A CN112398714A CN202011137198.XA CN202011137198A CN112398714A CN 112398714 A CN112398714 A CN 112398714A CN 202011137198 A CN202011137198 A CN 202011137198A CN 112398714 A CN112398714 A CN 112398714A
- Authority
- CN
- China
- Prior art keywords
- data
- polling
- periodic
- buffer area
- layer unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
一种背板总线主站、系统及其数据通信方法,该背板总线主站包括物理收发器和通过CPU核实现的应用层单元,还包括通过FPGA实现的数据链路层单元、共享缓冲区、轮询控制信息缓冲区,应用层单元接收配置参数集并解析,配置参数集包括周期轮询数据和配置数据,将解析出的周期轮询数据和配置数据存储至轮询控制信息缓冲区,读取共享缓冲区内的轮询访问结果并发送至控制单元;数据链路层单元读取轮询控制信息缓冲区的周期轮询数据和配置数据,将配置数据发送至从站,根据周期轮询数据对从站进行轮询控制,接收从站的轮询访问结果并存储至共享缓冲区;物理收发器实现数据的物理收发。本申请提高了背板总线的通信速率,且简化了PLC背板的布线。
Description
技术领域
本申请涉及但不限于背板总线技术领域,尤其涉及一种背板总线主站、系统及其数据通信方法。
背景技术
可编程逻辑控制器(Programmable Logic Controller,PLC)是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
PLC背板总线主要负责主控模块和机架上的其它子模块(信号模块、功能模块等)之间的数据交换,通常还包含给子模块的电源供应。PLC系统通常采用传统的串行通信技术实现背板总线,串行总线可以提高在恶劣的工厂和工业环境下自动化设备的可靠性,传统的串行通信技术包括控制器局域网络(Controller Area Network,CAN)、I2C(Inter-Integrated Circuit)、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)、串行外设接口(Serial Peripheral Interface,SPI)和工业实时以太网等,一般来说,很多作为PLC系统主芯片的处理器自身都集成了这些外设部件,但是处理器内部集成的I2C、UART、SPI等外设通信速率太慢,根本不能满足背板总线的通信速率要求;工业实时以太网的通信速度虽然很快,但它是点对点通信,因此,会导致PLC背板布线极为复杂。
发明内容
本申请实施例提供了一种背板总线主站、系统及其数据通信方法,能够提高背板总线的通信速率,且简化PLC背板的布线。
本申请实施例提供了一种背板总线主站,包括应用层单元、数据链路层单元、共享缓冲区、轮询控制信息缓冲区和物理收发器,所述应用层单元通过中央处理器CPU核实现,所述数据链路层单元、共享缓冲区和轮询控制信息缓冲区基于现场可编程门阵列FPGA实现,其中:所述应用层单元,用于接收配置参数集并进行解析,所述配置参数集包括周期轮询数据和配置数据,将解析出的周期轮询数据和配置数据存储至所述轮询控制信息缓冲区;读取所述共享缓冲区内的轮询访问结果;所述数据链路层单元,用于读取所述轮询控制信息缓冲区的周期轮询数据和配置数据,将所述配置数据发送至一个或多个从站,根据所述周期轮询数据对一个或多个从站进行轮询控制,接收从站的轮询访问结果并将轮询访问结果存储至所述共享缓冲区;所述物理收发器,用于在所述数据链路层单元和一个或多个从站之间实现数据的物理收发。
在示例性实施例中,所述配置参数集还包括非周期诊断数据;
所述应用层单元,还用于将解析出的非周期诊断数据存储至所述共享缓冲区;读取所述共享缓冲区内的非周期诊断结果;
所述数据链路层单元,还用于读取所述共享缓冲区中的非周期诊断数据,根据所述非周期诊断数据与一个或多个从站建立非周期通信过程,接收一个或多个所述从站的诊断结果并存储至所述共享缓冲区。
在示例性实施例中,所述应用层单元还用于,在上电后进行硬件初始化配置,启动背板总线协议栈,并置所述共享缓冲区中的协议栈启动标志有效;在所述将解析出的周期轮询数据和配置数据存储至所述轮询控制信息缓冲区之后,所述应用层单元还用于:置所述共享缓冲区中的轮询控制标志有效;
在所述读取所述轮询控制信息缓冲区的周期轮询数据和配置数据之前,所述数据链路层单元还用于:检测所述共享缓冲区中的协议栈启动标志是否有效;当所述共享缓冲区中的协议栈启动标志有效时,启动协议栈状态机,并检测所述共享缓冲区中的轮询控制标志是否有效,当所述共享缓冲区中的轮询控制标志有效时,启动数据链路状态机,并触发所述读取所述轮询控制信息缓冲区的周期轮询数据和配置数据的操作。
在示例性实施例中,在所述将轮询访问结果存储至所述共享缓冲区之后,所述数据链路层单元还用于:产生中断信号,所述中断信号用于触发所述应用层单元读取所述共享缓冲区内的轮询访问结果。
在示例性实施例中,所述物理收发器为多点低电压差分信号MLVDS收发器。
在示例性实施例中,所述应用层单元包括配置接收模块、配置解析模块、对象字典操作模块、对象字典解析模块、轮询数据填充模块、非周期诊断数据处理模块和中断处理模块,其中:
所述配置接收模块,用于接收配置参数集;
所述配置解析模块,用于按照背板总线协议对接收的所述配置参数集进行解析,将解析结果发送至所述对象字典操作模块;
所述对象字典操作模块,用于根据所述配置解析模块的解析结果建立所述对象字典,并对所述对象字典进行更新维护操作;
所述对象字典解析模块,用于对所述对象字典内的数据集进行协议解析,得到所述周期轮询数据和服务数据,将所述周期轮询数据和配置数据发送至所述轮询数据填充模块,将所述非周期诊断数据发送至所述非周期诊断数据处理模块;
所述轮询数据填充模块,用于将解析出的所述周期轮询数据和配置数据存储至所述轮询控制信息缓冲区;
所述非周期诊断数据处理模块,用于对所述非周期诊断数据进行非周期请求和应答处理;
中断处理模块,用于执行中断处理,所述中断处理为读取所述共享缓冲区内的轮询访问结果。
在示例性实施例中,所述数据链路层单元包括从站轮询控制模块、协议通信状态机、数据链路状态机、数据发送模块和数据接收模块,其中:
所述从站轮询控制模块,用于根据所述周期轮询数据对一个或多个从站进行轮询控制;
所述协议通信状态机,用于完成背板总线协议状态的控制;
所述数据链路状态机,用于完成链路层收发数据的控制;
所述数据发送模块,用于读取所述轮询控制信息缓冲区的周期轮询数据和配置数据以及所述共享缓冲区中的非周期诊断数据,对读取的数据进行协议组包并发送至一个或多个从站;
所述数据接收模块,用于接收一个或多个从站发送的数据,并存储至所述共享缓冲区。
本申请实施例还提供了一种背板总线系统,包括背板总线主站和一个或多个背板总线从站,其中:所述背板总线主站为以上任一所述的背板总线主站;所述背板总线主板和背板总线从站之间通过背板总线连接。
本申请实施例还提供了一种背板总线主站的数据通信方法,所述背板总线主站包括应用层单元、数据链路层单元、共享缓冲区、轮询控制信息缓冲区和物理收发器,所述应用层单元通过中央处理器CPU核实现,所述数据链路层单元、共享缓冲区和轮询控制信息缓冲区基于现场可编程门阵列FPGA实现,所述数据通信方法包括:应用层单元接收配置参数集并进行解析,所述配置参数集包括周期轮询数据和配置数据,将解析出的周期轮询数据和配置数据存储至轮询控制信息缓冲区;数据链路层单元读取所述轮询控制信息缓冲区的周期轮询数据和配置数据,通过物理收发器将所述配置数据发送至一个或多个从站,根据所述周期轮询数据对一个或多个从站进行轮询控制,接收从站的轮询访问结果并将轮询访问结果存储至所述共享缓冲区;所述应用层单元读取所述共享缓冲区内的轮询访问结果。
在示例性实施例中,所述配置参数集还包括非周期诊断数据;所述数据通信方法还包括:
所述应用层单元将解析出的非周期诊断数据存储至所述共享缓冲区;
所述数据链路层单元读取所述共享缓冲区中的非周期诊断数据,根据所述非周期诊断数据与一个或多个从站建立非周期通信过程,接收一个或多个所述从站的诊断结果并存储至所述共享缓冲区;
所述应用层单元读取所述共享缓冲区内的非周期诊断结果。
本申请实施例提供的背板总线主站、系统及其数据通信方法,通过CPU核实现背板总线主站的应用层单元,通过FPGA实现数据链路层单元和缓冲区,提高了背板总线的通信速率,且数据链路层单元和从站之间的通信方式为一对多通信,从而简化了PLC背板的布线。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例的一种背板总线主站的结构示意图;
图2为本申请实施例的一种背板总线主站的数据通信方法的流程示意图;
图3为本申请实施例的另一种背板总线主站的结构示意图;
图4为本申请实施例的另一种背板总线主站的数据通信方法的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,本申请实施例提供了一种背板总线主站,包括应用层单元101、数据链路层单元102、共享缓冲区103、轮询控制信息缓冲区104和物理收发器105。应用层单元101通过中央处理器(Central Processing Unit,CPU)核实现,数据链路层单元102、共享缓冲区103和轮询控制信息缓冲区104基于现场可编程门阵列(Field Programmable GateArray,FPGA)实现。
其中,应用层单元101,用于接收配置参数集并进行解析,该配置参数集包括周期轮询数据和配置数据,将解析出的周期轮询数据和配置数据存储至轮询控制信息缓冲区104;读取共享缓冲区103内的轮询访问结果。
数据链路层单元102,用于读取轮询控制信息缓冲区104的周期轮询数据和配置数据,将配置数据发送至一个或多个从站,根据周期轮询数据对一个或多个从站进行轮询控制,接收从站的轮询访问结果并将轮询访问结果存储至共享缓冲区103。
物理收发器105,用于在数据链路层单元102和一个或多个从站之间实现数据的物理收发。
在一种示例性实施例中,该CPU核可以集成在FPGA内部。
本申请实施例提供的背板总线主站,通过CPU核实现背板总线主站的应用层单元101,通过FPGA实现数据链路层单元102和缓冲区,提高了背板总线的通信速率,且数据链路层单元102和从站之间的通信方式为一对多通信,从而简化了PLC背板的布线。
在一种示例性实施例中,该配置参数集还包括非周期诊断数据。
应用层单元101,还用于将解析出的非周期诊断数据存储至共享缓冲区103;读取共享缓冲区103内的非周期诊断结果。
数据链路层单元102,还用于读取共享缓冲区103中的非周期诊断数据,根据非周期诊断数据与一个或多个从站建立非周期通信过程,接收一个或多个从站的诊断结果并存储至共享缓冲区103。
在一种示例性实施例中,背板总线主站还包括控制单元。
其中,应用层单元101,还用于将读取的轮询访问结果和/或非周期诊断结果发送至该控制单元。
该控制单元,用于下发配置参数集至应用层单元101,并接收应用层单元101发送的轮询访问结果和/或非周期诊断结果。
在一种示例性实施例中,应用层单元101还用于,在上电后进行硬件初始化配置,启动背板总线协议栈,并置共享缓冲区103中的协议栈启动标志有效。
在一种示例性实施例中,在将解析出的周期轮询数据和配置数据存储至轮询控制信息缓冲区104之后,应用层单元101还用于:置共享缓冲区103中的轮询控制标志有效。
在一种示例性实施例中,在读取轮询控制信息缓冲区104的周期轮询数据和配置数据之前,数据链路层单元102还用于:检测共享缓冲区103中的协议栈启动标志是否有效;当共享缓冲区103中的协议栈启动标志有效时,检测共享缓冲区103中的轮询控制标志是否有效,当共享缓冲区103中的轮询控制标志有效时,启动数据链路状态机,并触发读取轮询控制信息缓冲区104的周期轮询数据和配置数据的操作。
在一种示例性实施例中,在将轮询访问结果存储至共享缓冲区103之后,数据链路层单元102还用于:产生中断信号,该中断信号用于触发应用层单元101读取共享缓冲区103内的轮询访问结果。
在一种示例性实施例中,物理收发器105为多点低电压差分信号(Multi-pointLow Voltage Differential Signaling,MLVDS)收发器。
在一种示例性实施例中,应用层单元101包括配置接收模块、配置解析模块、对象字典操作模块、对象字典解析模块、轮询数据填充模块、非周期诊断数据处理模块和中断处理模块。
其中,配置接收模块,用于接收控制单元发送的配置参数集。
配置解析模块,用于按照背板总线协议对接收的配置参数集进行解析,将解析结果发送至对象字典操作模块。
对象字典操作模块,用于根据配置解析模块的解析结果建立对象字典,并对对象字典进行更新维护操作。
对象字典解析模块,用于对对象字典内的数据集进行协议解析,得到周期轮询数据和服务数据,将周期轮询数据和配置数据发送至轮询数据填充模块,将非周期诊断数据发送至非周期诊断数据处理模块。
轮询数据填充模块,用于将解析出的周期轮询数据和配置数据存储至轮询控制信息缓冲区104。
非周期诊断数据处理模块,用于对非周期诊断数据进行非周期请求和应答处理。
中断处理模块,用于执行中断处理,中断处理为读取共享缓冲区103内的轮询访问结果并发送至控制单元。
本申请实施例通过对象字典操作模块建立对象字典来管理数据;通过配置解析模块按照站点进行解析,将每个站点的配置数据集解析出来(包括对象字典数据集的解析);通过对象字典解析模块对对象字典数据集进行解析,得到具体的配置信息,并将该配置信息发送给从站,或在主站侧维护该配置信息。
在一种示例性实施例中,数据链路层单元102包括从站轮询控制模块、协议通信状态机、数据链路状态机、数据发送模块和数据接收模块。
其中,从站轮询控制模块,用于根据周期轮询数据对一个或多个从站进行轮询控制。
协议通信状态机,用于完成背板总线协议状态的控制;
数据链路状态机,用于完成链路层收发数据的控制;
数据发送模块,用于读取轮询控制信息缓冲区104的周期轮询数据和配置数据以及共享缓冲区103中的非周期诊断数据,对读取的数据进行协议组包并发送至一个或多个从站。
数据接收模块,用于接收一个或多个从站发送的数据,并存储至共享缓冲区103。
本申请实施例通过从站轮询控制模块对每个从站的协议通信状态机进行维护以及对每个从站的数据进行管理,背板总线主站可以根据从站在协议通信状态机里的对应状态,通过数据发送模块发送数据至一个或多个从站或者通过数据接收模块接收一个或多个从站发送的数据,并根据数据链路状态机来判断此时应该发送或者接收哪些类型的数据。
本申请实施例还提供了一种背板总线系统,包括背板总线主站和一个或多个背板总线从站,其中:背板总线主站为以上任一所述的背板总线主站;背板总线主板和背板总线从站之间通过背板总线连接。
本申请实施例还提供了一种背板总线主站的数据通信方法,该背板总线主站包括应用层单元、数据链路层单元、共享缓冲区、轮询控制信息缓冲区和物理收发器,应用层单元通过中央处理器CPU核实现,数据链路层单元、共享缓冲区和轮询控制信息缓冲区基于现场可编程门阵列FPGA实现,如图2所示,该数据通信方法包括:
步骤201、应用层单元接收配置参数集并进行解析,配置参数集包括周期轮询数据和配置数据,将解析出的周期轮询数据和配置数据存储至轮询控制信息缓冲区;
步骤202、数据链路层单元读取轮询控制信息缓冲区的周期轮询数据和配置数据,通过物理收发器将配置数据发送至一个或多个从站,根据周期轮询数据对一个或多个从站进行轮询控制,接收从站的轮询访问结果并将轮询访问结果存储至共享缓冲区;
步骤203、应用层单元读取共享缓冲区内的轮询访问结果。
在一种示例性实施例中,配置参数集还包括非周期诊断数据;该数据通信方法还包括:
应用层单元将解析出的非周期诊断数据存储至共享缓冲区;
数据链路层单元读取共享缓冲区中的非周期诊断数据,根据非周期诊断数据与一个或多个从站建立非周期通信过程,接收一个或多个从站的诊断结果并存储至共享缓冲区;
应用层单元读取共享缓冲区内的非周期诊断结果。
在一种示例性实施例中,该数据通信方法还包括:
应用层单元在上电后进行硬件初始化配置,启动背板总线协议栈,并置共享缓冲区中的协议栈启动标志有效;
数据链路层单元检测共享缓冲区中的协议栈启动标志是否有效;当共享缓冲区中的协议栈启动标志有效时,启动协议栈状态机。
在一种示例性实施例中,在将解析出的周期轮询数据和配置数据存储至所述轮询控制信息缓冲区之后,该数据通信方法还包括:应用层单元置共享缓冲区中的轮询控制标志有效;
数据链路层单元检测共享缓冲区中的轮询控制标志是否有效,当共享缓冲区中的轮询控制标志有效时,启动数据链路状态机,并触发读取轮询控制信息缓冲区的周期轮询数据和配置数据的操作。
本申请实施例中的背板总线主站的设计借鉴了现场总线技术和工业实时以太网技术的优点,采用串行半双工通信技术,通信速率达到百兆级,主从通信模式,网络拓扑采用总线型,支持最远背板通信距离为100厘米以上,支持从站结点个数为20个以上,很好的满足了PLC对背板总线技术的应用需求。
本申请实施例还公开了一种可以用于PLC的背板总线主站,实现框图如图3所示。
该背板总线主站以ISO的开放系统互连(OSI)模型为基础,取其物理层、数据链路层、应用层为其通信模型的相应层次。数据链路层采用主从通信轮询机制,由主站来控制总线的访问权,因此不会发生冲突,通信分为周期通信和非周期通信阶段,主从之间的配置数据由主站在非周期通信阶段配置给从站,周期数据交互则在配置数据配置完成之后在周期通信阶段进行;应用层遵循CANopen标准,主从之间的配置数据和非周期诊断数据等定义为服务数据在非周期通信阶段传输,从站的输入输出(IO)数据定义为周期轮询数据,周期性、实时性的在周期通信阶段进行传输;物理层采用MLVDS来实现数据的收发。该背板总线主站采用CPU核+FPGA+MLVDS作为主体硬件,其中,CPU核主要负责实现背板总线协议的应用层,包括对象字典的建立、配置参数集的接收及组态配置解析,FPGA主要负责实现数据链路层的从站轮询控制、协议通信状态机及跳转、协议数据包的组包解包、物理层信号的逻辑转换以及与CPU核之间的缓冲区的创建,MLVDS主要实现数据的物理收发功能。
该背板总线主站的数据通信流程见图4,数据通信流程如下:
背板总线主站的CPU核上电后,首先完成硬件初始化配置,检测FPGA配置通过后,由CPU核来启动背板总线协议栈,协议栈运行后首先完成对象字典的建立及初始化,包括服务数据和周期轮询数据,然后周期性的检测有没有用户下发的配置参数集,由配置接收模块接收用户下发的配置参数集,由配置解析模块执行配置参数集的解析,由对象字典操作模块根据解析结果执行配置对象的更新维护,更新完毕后由对象字典解析模块对对象字典内数据集进行协议解析,然后由轮询数据填充模块将周期轮询数据和配置数据转存至与FPGA之间的轮询控制信息缓冲区,并通过置共享缓冲区内的轮询控制标志有效来启动FPGA的数据链路状态机,CPU核侧还包括一个中断处理模块和非周期诊断数据处理模块,通过检测FPGA侧每个轮询周期完成之后产生的中断信号来触发调用中断处理模块执行轮询访问结果的处理,同时通过检测有无非周期诊断数据来触发非周期诊断数据请求或者应答事件的处理。
FPGA的从站轮询控制模块每个时钟周期都会检测共享缓冲区内的协议栈启动标志,检测到协议栈启动标志有效后,启动协议栈状态机。轮询控制模块每个时钟也会检测轮询控制标志是否有效,如果轮询控制标志有效,则会根据数据链路状态机来按照轮询控制信息缓冲区内的信息来执行对总线上的从站进行周期访问,当周期检测或者轮询完所有组态从站后,从站轮询控制模块会检测共享缓冲区内的服务消息标志,如果服务消息标志有效,则进行非周期诊断数据的发送。在数据链路状态机跳转机制中规定:首先执行过程数据的周期轮询通信,待主站完成对所有从站的周期性轮询后,主站开始启动非周期诊断数据的处理,即启动异步通信,在主站对从站的配置数据配置过程中,主站和从站之间处于非周期通信阶段,当主站对该从站的配置数据完成配置之后,主站启动对该从站的周期轮询,实现过程数据的交互;同时,为保证周期数据通信不受影响,该协议栈状态机保证每个周期只有一个配置数据配置过程。当FPGA检测到与一个组态配置的从站已经建立了周期数据交互时,FPGA会在每个轮询访问周期的周期性通信结束后给CPU核产生一个中断,通知CPU核对轮询访问结果进行处理。
CPU核主要包括配置接收模块、配置解析模块、对象字典操作模块、对象字典解析模块、轮询数据填充模块、非周期诊断数据处理模块、中断处理模块等。
配置接收模块,主要用于接收配置参数集。
配置解析模块,主要用于按照背板总线协议进行配置参数集的解析。
对象字典操作模块,主要用于对背板总线协议规定的对象字典进行读、写、检测、查找等系列操作方法集。
对象字典解析模块,主要用于对象字典内数据集进行协议解析,并将解析出的通信相关数据集交给轮询数据填充模块。
轮询数据填充模块,主要用于将主从站之间的轮询规则等配置数据和周期轮询数据转存至与FPGA之间的轮询控制信息缓冲区中。
非周期诊断数据处理模块,主要用于处理非周期诊断数据对应的非周期请求应答任务。
中断处理模块,用于执行中断处理,该中断处理主要用于对轮询访问结果的处理。
FPGA中的数据链路层单元主要用于实现数据链路层协议,数据链路层单元主要包括从站轮询控制模块、协议通信状态机、数据链路状态机、数据发送模块和数据接收模块等,此外,FPGA还提供共享缓冲区与轮询控制信息缓冲区,以用于与CPU核进行信息交互。
从站轮询控制模块,主要用于按照从站轮询控制信息来执行对组态了的从站进行轮询访问控制。
协议通信状态机,主要用于实现背板总线协议状态机的实现,包括非激活态(PRTC_MS_NOTACTIVE)、激活态(PRTC_MS_ACTIVE)、服务对象重置态(PRTC_MS_CONFIG_OBD_RESET)、服务对象已配置(PRTC_MS_CONFIG_OBD)、准备运行态(PRTC_MS_READYTO_OPERATIONAL)和运行态(PRTC_MS_OPERATIONAL)。
背板总线主站上电完成硬件初始化以后,将背板总线协议状态机初始化设置为非激活态PRTC_MS_NOTACTIVE,在该状态下,背板总线主站随时侦听总线上是否有数据在传输,如果在规定的超时时间内收不到总线上任何的数据帧,则该背板总线主站认为总线空闲,则背板总线协议状态机跳转至激活态PRTC_MS_ACTIVE,在该状态下背板总线主站进行主站侧必要的协议栈软件初始化,执行完毕后自动进入服务对象重置态PRTC_MS_CONFIG_OBD_RESET,在该状态下需要完成对象字典的建立和初始化默认值,在该状态下,背板总线主站需要给从站发送协议栈复位命令,从站收到该命令后复位自己的协议栈状态并将自身的对象字典初始化为默认值,背板总线主站执行完成后进入服务对象已配置PRTC_MS_CONFIG_OBD状态,等待应用层配置对象参数集的到来,一旦检测到有效的配置对象参数集,即执行配置及交互所需要的信息解析及设置,解析及设置完毕后进入准备运行态PRTC_MS_READYTO_OPERATIONAL,在该状态机下,背板总线主站开始启动对从站的配置过程,完成启动配置过程后,背板总线协议状态机自动跳转至运行态PRTC_MS_OPERATIONAL运行。
数据链路状态机,主要用于完成链路层收发数据的控制。
数据发送模块,主要用于对要发送的数据进行协议组包(包括同步头、包起始、包头、包尾、包结束),并完成整包的循环冗余校验码(CRC)计算和数据编码,调用FIFO隔离时钟域,并通过并转串变换后将数据发送出去。
数据接收模块,主要通过过采样来恢复串行数据,接收的数据经过串转并变换、FIFO隔离时钟域、数据解码、CRC校验通过之后,存入共享缓冲区,数据完全存入共享缓冲区之后,产生中断信号。CPU核接收到中断信号,即从共享缓冲区中取出接收到的数据帧。
采用本申请实施例实现的背板总线主站、系统及其数据通信方法,同时借鉴了现场总线技术和工业实时以太网技术的优点,能够在实现百兆数据传输速率的情况下实现总线型拓扑结构,所带节点多,成本低,支持最远背板通信距离为100cm,结点个数为20个,很好的满足了PLC对背板总线技术的应用需求。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种背板总线主站,其特征在于,包括应用层单元、数据链路层单元、共享缓冲区、轮询控制信息缓冲区和物理收发器,所述应用层单元通过中央处理器CPU核实现,所述数据链路层单元、共享缓冲区和轮询控制信息缓冲区基于现场可编程门阵列FPGA实现,其中:
所述应用层单元,用于接收配置参数集并进行解析,所述配置参数集包括周期轮询数据和配置数据,将解析出的周期轮询数据和配置数据存储至所述轮询控制信息缓冲区;读取所述共享缓冲区内的轮询访问结果;
所述数据链路层单元,用于读取所述轮询控制信息缓冲区的周期轮询数据和配置数据,将所述配置数据发送至一个或多个从站,根据所述周期轮询数据对一个或多个从站进行轮询控制,接收从站的轮询访问结果并将轮询访问结果存储至所述共享缓冲区;
所述物理收发器,用于在所述数据链路层单元和一个或多个从站之间实现数据的物理收发。
2.根据权利要求1所述的背板总线主站,其特征在于,所述配置参数集还包括非周期诊断数据;
所述应用层单元,还用于将解析出的非周期诊断数据存储至所述共享缓冲区;读取所述共享缓冲区内的非周期诊断结果;
所述数据链路层单元,还用于读取所述共享缓冲区中的非周期诊断数据,根据所述非周期诊断数据与一个或多个从站建立非周期通信过程,接收一个或多个所述从站的诊断结果并存储至所述共享缓冲区。
3.根据权利要求1所述的背板总线主站,其特征在于,所述应用层单元还用于,在上电后进行硬件初始化配置,启动背板总线协议栈,并置所述共享缓冲区中的协议栈启动标志有效;在所述将解析出的周期轮询数据和配置数据存储至所述轮询控制信息缓冲区之后,所述应用层单元还用于:置所述共享缓冲区中的轮询控制标志有效;
在所述读取所述轮询控制信息缓冲区的周期轮询数据和配置数据之前,所述数据链路层单元还用于:检测所述共享缓冲区中的协议栈启动标志是否有效;当所述共享缓冲区中的协议栈启动标志有效时,启动协议栈状态机,并检测所述共享缓冲区中的轮询控制标志是否有效,当所述共享缓冲区中的轮询控制标志有效时,启动数据链路状态机,并触发所述读取所述轮询控制信息缓冲区的周期轮询数据和配置数据的操作。
4.根据权利要求1所述的背板总线主站,其特征在于,在所述将轮询访问结果存储至所述共享缓冲区之后,所述数据链路层单元还用于:产生中断信号,所述中断信号用于触发所述应用层单元读取所述共享缓冲区内的轮询访问结果。
5.根据权利要求1所述的背板总线主站,其特征在于,所述物理收发器为多点低电压差分信号MLVDS收发器。
6.根据权利要求1所述的背板总线主站,其特征在于,所述应用层单元包括配置接收模块、配置解析模块、对象字典操作模块、对象字典解析模块、轮询数据填充模块、非周期诊断数据处理模块和中断处理模块,其中:
所述配置接收模块,用于接收配置参数集;
所述配置解析模块,用于按照背板总线协议对接收的所述配置参数集进行解析,将解析结果发送至所述对象字典操作模块;
所述对象字典操作模块,用于根据所述配置解析模块的解析结果建立所述对象字典,并对所述对象字典进行更新维护操作;
所述对象字典解析模块,用于对所述对象字典内的数据集进行协议解析,得到所述周期轮询数据和服务数据,将所述周期轮询数据和配置数据发送至所述轮询数据填充模块,将所述非周期诊断数据发送至所述非周期诊断数据处理模块;
所述轮询数据填充模块,用于将解析出的所述周期轮询数据和配置数据存储至所述轮询控制信息缓冲区;
所述非周期诊断数据处理模块,用于对所述非周期诊断数据进行非周期请求和应答处理;
中断处理模块,用于执行中断处理,所述中断处理为读取所述共享缓冲区内的轮询访问结果。
7.根据权利要求1所述的背板总线主站,其特征在于,所述数据链路层单元包括从站轮询控制模块、协议通信状态机、数据链路状态机、数据发送模块和数据接收模块,其中:
所述从站轮询控制模块,用于根据所述周期轮询数据对一个或多个从站进行轮询控制;
所述协议通信状态机,用于完成背板总线协议状态的控制;
所述数据链路状态机,用于完成链路层收发数据的控制;
所述数据发送模块,用于读取所述轮询控制信息缓冲区的周期轮询数据和配置数据以及所述共享缓冲区中的非周期诊断数据,对读取的数据进行协议组包并发送至一个或多个从站;
所述数据接收模块,用于接收一个或多个从站发送的数据,并存储至所述共享缓冲区。
8.一种背板总线系统,其特征在于,包括背板总线主站和一个或多个背板总线从站,其中:
所述背板总线主站为权利要求1至7任一所述的背板总线主站;
所述背板总线主板和背板总线从站之间通过背板总线连接。
9.一种背板总线主站的数据通信方法,其特征在于,所述背板总线主站包括应用层单元、数据链路层单元、共享缓冲区、轮询控制信息缓冲区和物理收发器,所述应用层单元通过中央处理器CPU核实现,所述数据链路层单元、共享缓冲区和轮询控制信息缓冲区基于现场可编程门阵列FPGA实现,所述数据通信方法包括:
应用层单元接收配置参数集并进行解析,所述配置参数集包括周期轮询数据和配置数据,将解析出的周期轮询数据和配置数据存储至轮询控制信息缓冲区;
数据链路层单元读取所述轮询控制信息缓冲区的周期轮询数据和配置数据,通过物理收发器将所述配置数据发送至一个或多个从站,根据所述周期轮询数据对一个或多个从站进行轮询控制,接收从站的轮询访问结果并将轮询访问结果存储至所述共享缓冲区;
所述应用层单元读取所述共享缓冲区内的轮询访问结果。
10.根据权利要求9所述的数据通信方法,其特征在于,所述配置参数集还包括非周期诊断数据;所述数据通信方法还包括:
所述应用层单元将解析出的非周期诊断数据存储至所述共享缓冲区;
所述数据链路层单元读取所述共享缓冲区中的非周期诊断数据,根据所述非周期诊断数据与一个或多个从站建立非周期通信过程,接收一个或多个所述从站的诊断结果并存储至所述共享缓冲区;
所述应用层单元读取所述共享缓冲区内的非周期诊断结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011137198.XA CN112398714B (zh) | 2020-10-22 | 2020-10-22 | 一种背板总线主站、系统及其数据通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011137198.XA CN112398714B (zh) | 2020-10-22 | 2020-10-22 | 一种背板总线主站、系统及其数据通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398714A true CN112398714A (zh) | 2021-02-23 |
CN112398714B CN112398714B (zh) | 2022-06-14 |
Family
ID=74597147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011137198.XA Active CN112398714B (zh) | 2020-10-22 | 2020-10-22 | 一种背板总线主站、系统及其数据通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398714B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721577A (zh) * | 2021-11-02 | 2021-11-30 | 西安热工研究院有限公司 | 面向多任务周期的数据交互方法和系统、设备及存储介质 |
CN114281036A (zh) * | 2021-12-08 | 2022-04-05 | 国核自仪系统工程有限公司 | 工业总线主站接口卡、主站控制器及系统 |
CN115396258A (zh) * | 2022-09-05 | 2022-11-25 | 山东中康国创先进印染技术研究院有限公司 | 一种自适应轮询软件处理方法、装置及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656592A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川技术股份有限公司 | EtherCAT通信系统主站及通信方法 |
CN106506447A (zh) * | 2016-09-23 | 2017-03-15 | 上海新时达电气股份有限公司 | Powerlink通讯协议的硬件实现方法 |
CN108833241A (zh) * | 2018-05-17 | 2018-11-16 | 中工科安科技有限公司 | 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法 |
CN109347884A (zh) * | 2018-12-05 | 2019-02-15 | 北京和利时系统工程有限公司 | 一种实时以太网到现场总线的转换方法及装置、存储介质 |
CN109976272A (zh) * | 2018-10-08 | 2019-07-05 | 朱磊 | 严格访问及采样时间的分布式外围总线系统及其控制方法 |
CN110519138A (zh) * | 2019-08-12 | 2019-11-29 | 北京和利时系统工程有限公司 | 一种Profibus-DP主站协议的实现方法及系统 |
US20200033409A1 (en) * | 2018-07-27 | 2020-01-30 | Advantest Corporation | Integrated protocol analyzer configured within automated test equipment (ate) hardware |
CN111123806A (zh) * | 2020-01-14 | 2020-05-08 | 广东工业大学 | 一种具有双数据通道的EtherCAT主站系统 |
CN111308978A (zh) * | 2020-03-06 | 2020-06-19 | 北京和利时系统工程有限公司 | 一种通信方法及工业控制背板总线系统 |
-
2020
- 2020-10-22 CN CN202011137198.XA patent/CN112398714B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656592A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川技术股份有限公司 | EtherCAT通信系统主站及通信方法 |
CN106506447A (zh) * | 2016-09-23 | 2017-03-15 | 上海新时达电气股份有限公司 | Powerlink通讯协议的硬件实现方法 |
CN108833241A (zh) * | 2018-05-17 | 2018-11-16 | 中工科安科技有限公司 | 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法 |
US20200033409A1 (en) * | 2018-07-27 | 2020-01-30 | Advantest Corporation | Integrated protocol analyzer configured within automated test equipment (ate) hardware |
CN109976272A (zh) * | 2018-10-08 | 2019-07-05 | 朱磊 | 严格访问及采样时间的分布式外围总线系统及其控制方法 |
CN109347884A (zh) * | 2018-12-05 | 2019-02-15 | 北京和利时系统工程有限公司 | 一种实时以太网到现场总线的转换方法及装置、存储介质 |
CN110519138A (zh) * | 2019-08-12 | 2019-11-29 | 北京和利时系统工程有限公司 | 一种Profibus-DP主站协议的实现方法及系统 |
CN111123806A (zh) * | 2020-01-14 | 2020-05-08 | 广东工业大学 | 一种具有双数据通道的EtherCAT主站系统 |
CN111308978A (zh) * | 2020-03-06 | 2020-06-19 | 北京和利时系统工程有限公司 | 一种通信方法及工业控制背板总线系统 |
Non-Patent Citations (2)
Title |
---|
孟勋: ""EtherCAT主/从站通信控制器在数控系统中的应用研究"", 《信息科技辑》 * |
邵新龙等: ""基于SoC的NCSF总线系统的研究与设计"", 《组合机床与自动化加工技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721577A (zh) * | 2021-11-02 | 2021-11-30 | 西安热工研究院有限公司 | 面向多任务周期的数据交互方法和系统、设备及存储介质 |
CN114281036A (zh) * | 2021-12-08 | 2022-04-05 | 国核自仪系统工程有限公司 | 工业总线主站接口卡、主站控制器及系统 |
CN115396258A (zh) * | 2022-09-05 | 2022-11-25 | 山东中康国创先进印染技术研究院有限公司 | 一种自适应轮询软件处理方法、装置及存储介质 |
CN115396258B (zh) * | 2022-09-05 | 2024-03-26 | 山东中康国创先进印染技术研究院有限公司 | 一种自适应轮询软件处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112398714B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112398714B (zh) | 一种背板总线主站、系统及其数据通信方法 | |
CN107707447B (zh) | 一种基于EtherCAT的从站系统及控制方法 | |
CN106453383A (zh) | 一种基于uart的主从多机通讯系统及方法 | |
CN103731343B (zh) | 基于lpc2468的mvb‑wtb网关及其工作方法 | |
CN108111382B (zh) | 基于i3c总线的通信装置及其通信方法 | |
CN108255776B (zh) | 一种兼容apb总线的i3c主设备、主从系统及通信方法 | |
CN102664902A (zh) | Powerlink通讯协议主从站内核的硬件实现方法 | |
CN104714907B (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN105117319A (zh) | 基于fpga实现对多路mdio设备实时监控的方法 | |
CN102207920B (zh) | 一种bvci总线到ahb总线的转换桥 | |
CN110247936B (zh) | 一种通讯协议转换卡及通讯协议转换系统 | |
CN106059877B (zh) | 一种基于SPARC架构CPU的EtherCAT主站模块 | |
CN114039808A (zh) | 基于can的多通道的can/lin/sent转发协议 | |
CN106657115A (zh) | 一种变频器控制系统及其协议转换卡 | |
CN112398715A (zh) | 一种背板总线数据接收方法及装置 | |
CN113341853B (zh) | 一种ip核、fpga芯片、交流伺服驱动器及通讯方法 | |
CN214042097U (zh) | 一种可自定义协议的plc串口通讯扩展模块 | |
CN115065575A (zh) | 基于can总线控制器的数据传输系统及电子设备 | |
CN114488871A (zh) | 控制方法、变频器及计算机可读存储介质 | |
Xu et al. | Profibus automation technology and its application in DP slave development | |
CN210780847U (zh) | 一种EtherCAT总线时钟分布系统 | |
El Kouche et al. | WSN platform Plug-and-Play (PnP) customization | |
CN206077423U (zh) | Ttcan控制通讯模块和车辆的ttcan控制通讯系统 | |
CN204836207U (zh) | 一种1394b总线接口防护型综合记录器 | |
Fang et al. | Research and Implementation of Collision Detection Based on Modbus Protocol. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |