CN102664902B - Powerlink通讯协议主从站内核的硬件实现方法 - Google Patents
Powerlink通讯协议主从站内核的硬件实现方法 Download PDFInfo
- Publication number
- CN102664902B CN102664902B CN201210150455.2A CN201210150455A CN102664902B CN 102664902 B CN102664902 B CN 102664902B CN 201210150455 A CN201210150455 A CN 201210150455A CN 102664902 B CN102664902 B CN 102664902B
- Authority
- CN
- China
- Prior art keywords
- controller
- data
- application layer
- data link
- link layer
- 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.)
- Active
Links
Landscapes
- Communication Control (AREA)
Abstract
一种POWERLINK通讯协议主从站内核的硬件实现方法,基于可编程逻辑器件以及定制/半定制硬件芯片实现POWERLINK通讯协议主/从站的数据链路层、应用层和同步总线,所述的数据链路层包括主站、从站数据链路层控制器,应用层包括应用层DPR和应用层REG;所述的同步总线上挂载数据链路层各个子模块和应用层DPR、REG;由综合软件综合以上各模块,再由实现软件中将代码生成位流文件,下载到目标硬件中实现所述的主从站内核。本发明通过完全硬件方式实现POWERLINK协议的主从站内核,其响应速度由CPU的毫秒级提高到数字逻辑电路的微秒级,极大地减轻主CPU的实时数据处理的负担。
Description
技术领域
本发明涉及一种工业以太网通讯协议的实现方法,特别是涉及一种POWERLINK通讯协议主从站内核的硬件实现方法。
背景技术
POWERLINK是一种实时工业以太网的通讯协议标准,具有实际意义上的高实时性。POWERLINK定义了一个精简的、实时性极高的数据链路层协议,同时定义了CANopen为应用层协议。POWERLINK协议包括:通信描述IEC61784-2;服务和协议IEC61158-300、IEC61158-400、IEC61158-500和IEC61158-600;设备描述ISO15745-1。
OSI是一个用于开放信息处理***标准化的通信模型,它是当今许多通用无数据优先级传输协议的参考模型。这个模型将数据传输的任务分为7层,每层(除了最底层)建立在另一层的基础之上。POWERLINK是一个三层的通信网络,根据OSI模型,它规定了物理层、数据链路层和应用层。
POWERLINK当前的解决方案是:目前EPSG(Ethernet POWERLINK StandardizationGroup:POWERLINK标准化组织)提供的解决方案有两种(HW Design Guidelines B&R公司,December 7,2010):
1、***CPU中用C代码实现软件协议栈(数据链路层和应用层)加MAC芯片和PHY芯片实现的物理层。
2、基于可编程器件,如FPGA的可综合CPU软核实现C代码软件协议栈(数据链路层和应用层)加上OPENMAC IP核的部分硬件加速MAC和PHY芯片实现的物理层。
前一种方法完全依赖于应用***CPU的运行速度,后一种方法有一定的硬件加速能力,但是由于依然依赖FPGA中内嵌的CPU软核的运算处理能力,并且,由于受芯片资源的约束,目前主流的应用还只能实现从站功能。
理论上可以在任何硬件平台上搭建POWERLINK通讯***,因为其物理层是标准的MAC/PHY控制器(IEEE802.3标准),而数据链路层和应用层是开放源代码的C语言程序。但是,正是由于数据链路层和应用层是由通用CPU(或软核)+软件实现的,必然在实际实现中受限于CPU的性能。而且,开放的源代码为了兼容各种CPU平台,不得不放弃很多代码效率,例如数据链路层中的校验部分牵扯到数学运算,但不考虑硬件具体实现的代码和结合硬件的高效率代码(如基于VFP的汇编)在实现速度上可能相差几倍甚至十几倍。在当今的高速、高精度工业现场控制领域,对同步数据传输及处理提出了越来越高的要求。例如,当数控***的同步周期达到512uS/10轴甚至更短,就很难满足在此高速的情况下的实时性。
本发明旨在提出一种不依赖于通用CPU(或软核)+软件方式,实现从物理层到数据链路层再到应用层的完全硬件实现的主从站内核方案,以提高数据传输的响应能力,减轻***主CPU的实时数据处理的负担。
发明内容
本发明的目的在于提供一种POWERLINK通讯协议主从站内核的硬件实现方法,能够克服现有技术中POWERLINK通讯协议的实现由于依赖CPU而导致不得不放弃很多效率,从而降低了数据实时性,而使用更高速度的器件又会提高成本并增加硬件设计的复杂度等缺点;基于可编程逻辑器件以及定制/半定制硬件芯片,本发明通过完全硬件方式实现POWERLINK协议的主从站内核,从而在实时工业以太网上实现POWERLINK通讯协议。
为实现本发明目的,采用如下技术方案:
一种POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,基于可编程逻辑器件以及定制/半定制硬件芯片实现POWERLINK通讯协议主/从站的数据链路层、应用层以及连接数据链路层和应用层的同步总线,所述的数据链路层包括主站数据链路层控制器和从站数据链路层控制器,主站数据链路层控制器、从站数据链路层控制器均包括上电/外部复位初始化控制器、时间基准控制器、同步信号控制器、NMT状态机、DLL状态机、发送/接受DMA控制器;所述的应用层包括应用层DPR和应用层REG;所述的同步总线上挂载上述数据链路层各个子模块和应用层DPR、应用层REG,同步总线形成联接数据链路层和应用层的数据通道;
由综合软件综合以上各模块,再由实现软件中将上述所有综合后代码生成位流文件,下载到目标硬件中实现POWERLINK通讯协议主从站内核。
利用上述方法实现的主从站内核通过MII接口连接物理层,物理层接收到的以太网传输的数据经数据链路层无差错传输后到达数据缓冲区,按照POWERLINK协议解释出应用层数据并将此数据缓存在应用层DPR中以备读取;来自应用层DPR的待发送的数据在物理层发送前按照POWERLINK协议封装成应用层数据帧。
所述的可编程逻辑器件以及定制/半定制硬件芯片包括但不限于FPGA、CPLD或ASIC。FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的。CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。ASIC是一种为专门目的而设计的集成电路,是指应特定用户要求和特定电子***的需要而设计、制造的集成电路。
所述的同步总线的带宽≥50M,优选≥100M。
所述的主站数据链路层控制器包括上电/外部复位初始化控制器、循环周期同步控制器、状态周期同步控制器、NMT状态机、DLL状态机、发送DMA及发送数据封装控制器,接收DMA控制器及解包进程控制器,控制流程包括:
1)上电复位信号和外部复位控制器,在逻辑电路上电时产生复位信号以重置其它各个模块的初始状态,并且在数据发生意外的情况下产生终止其它各个模块运行的信号,并使之复位到确定的初始状态;
2)循环周期同步控制器,在通讯过程中提供网络同步信号,并产生严格的同步时钟用以同步以下各个模块;
3)状态周期同步控制器,在通讯过程中提供控制数据帧的收发顺序的驱动信号;
4)接收DMA控制器及解包进程控制器,对接收数据帧定界并解析来自物理层的原始数据;
5)发送DMA及发送数据封装控制器,对应用层的待发送数据进行构建并将数据封装成标准POWERLINK帧格式同时启动发送进程;
6)DLL状态机管理已建立的POWERLINK通讯循环周期,该状态机产生每个通讯周期的帧收发顺序,并监控没个从站节点,当有任何通讯链路层错误发生时DLL状态机进行错误处理;
7)NMT状态机管理整个通讯过程,从初始化到直到通讯建立,在此过程中该状态机根据不同的网络配置文件将数据链路层配置成此种拓扑下的有效网络并初始化各个从站,识别各个从站,最后通知各个从站进入并维持可操作通讯状态。
所述的从站数据链路层控制器包括上电/外部复位初始化控制器、监听时间基准控制器、状态时间基准控制器、NMT状态机、DLL状态机、发送DMA及发送数据封装控制器,接收DMA控制器及解包进程控制器,控制流程包括:
1)上电复位信号和外部复位控制器,在逻辑电路上电时产生复位信号以重置其它各个模块的初始状态,并且在数据发生意外的情况下产生终止其它各个模块运行的信号,并使之复位到确定的初始状态;
2)状态时间基准控制器通过定时器产生一个严格的定时时基,该时基参与监听进程用以对每个POWERLINK循环周期进行数据帧定界并控制数据收发的顺序;
3)监听时间基准控制器对主站的同步信号进行监测并确定网络同步过程;
4)接收DMA控制器及解包进程控制器将对接收数据帧定界并解析来自物理层的原始数据;
5)发送DMA控制器及发送数据封装控制器对应用层的待发送数据进行构建并将数据封装成标准POWERLINK帧格式同时启动发送进程;
6)NMT状态机管理整个通讯过程,从初始化到直到通讯建立。在此过程中该状态机应答主站识别请求,使从站进入相应的通讯状态建立并尽力维持这个状态;
7)DLL状态机在每一个已建立的POWERLINK循环周期中监控网络的状态并应答主站的数据请求。
所述的应用层中,应用层DPR包括PDO数据DPR和SDO数据DPR,应用层REG包括SDO状态机控制寄存器阵列、XDD/XDC/CDC寄存器阵列、控制及状态寄存器以及报警及错误队列。
本发明方法基于可编程逻辑器件以及定制/半定制硬件芯片,通过完全硬件方式实现POWERLINK协议的主从站内核,其响应速度可由CPU的毫秒级提高到数字逻辑电路的微秒级,极大地减轻主CPU的实时数据处理的负担。
本发明的有益效果具体包括:
1、提高数据传输实时性和应用者数据提取的速度。
2、不依赖于高性能通用CPU从而降低成本。
3、简单易用为使用者减少硬件复杂度,节省应用项目开发周期。
4、不依赖于具体可编程逻辑器件芯片及定制/半定制硬件芯片的型号从而使该方案具备良好的通用性和可移植性。
下面结合具体实施例对本发明进行详细描述。本发明的保护范围并不以具体实施方式为限,而是由权利要求加以限定。
附图说明
图1POWERLINK通讯协议主从站内核的结构方框图。
图2主站数据链路层控制器(WXEPLHOST)结构方框图。
图3从站数据链路层控制器(WXEPLSLAVE)结构方框图。
图4网络管理状态机(NMT状态机)迁跃信号仿真图。
图5主站NMT状态机(NMT_MS)状态转移图。
图6从站NMT状态机(NMT_CS)状态转移图。
图7主站DLL状态机(DLL_MS)状态转移图(1)。
图8主站DLL状态机(DLL_MS)状态转移图(2)。
图9从站DLL状态机(DLL_CS)状态转移图(1)。
图10从站DLL状态机(DLL_CS)状态转移图(2)。
图11应用层结构方框图。
图12SDO数据传输过程示意图。
图13SDO数据传输行为仿真图。
图14报警队列数据传输过程示意图。
图15POWERLINK协议主从站内核Modelsim仿真结果示意图。
具体实施方式
以下通过一种具体实现手段详细描述本发明方法,并进行验证。本领域技术人员易于理解,本方法方法并不局限于该具体实现方式。
下文所采用的具体实现方式具有以下特点:
1.所有代码使用VHDL2000标准语言的通用VHDL编译器,不依赖于具体的硬件IC型号。
2.在FPGA上实现综合和仿真,所有的逻辑在ModelSIM平台上仿真通过,确定数据完整性,并消除逻辑冲突、验证数字逻辑的正确性。
3.所有实现,包括主站和从站都进行了实验室环境下连续300亿次传输无故障检验。
POWERLINK通讯协议主从站内核的硬件的构成及实现:
主从站内核包括数据链路层、应用层连接数据链路层和应用层的同步总线,数据链路层包括主站数据链路层控制器(以下简称WXEPLHOST)和从站数据链路层控制器(以下简称WXEPLSLAVE),用以分别实现主站/从站数据链路层,包括各个子模块及具互连,子模块包括上电/外部复位初始化进程,各种时间基准进程,同步信号互连,时钟信号互连,NMT状态机进程,DLL状态机进程,DMA控制器进程,无论WXEPLHOST或WXEPLSLAVE其中都以一个16位的高速同步总线(理论设计为100M)用以完成模块间的数据交换,在此内部总线上挂载上述各个模块,以及控制寄存器阵列和调试控制器等。并且,此总线也是联接数据链路层和应用层的数据通道,物理层接收到的以太网传输的数据经数据链路层无差错传输后到达数据缓冲区,之后需按照POWERLINK协议解释出应用层数据并将此数据缓存在应用层DPR中,以备应用者通过一条16BIT的数据总线读取,同样的来自应用层DPR的待发送的数据也需在物理层发送前按照POWERLINK协议封装成应用层数据帧。同时,应用层数据通讯的过程及时序严格的受到应用层各个状态机的管理,实现中包括PDO,SDO,报警及错误状态机等。为了实现应用者和该IP核控制器的命令及数据交互,在应用层上必须实现一个外部控制寄存器阵列,此阵列是数据链路层、应用层和应用者之间的数据交换平台,包括设备描述字典在内的配置数据也是通过这一平台设置及修改的。
最后由软件综合以上各层模块,利用CORE GENERATOR工具生成基于BLOCKRAM的应用层DPR作为数据交互空间,最后在XST实现工具中将上述所有模块综合,生成应用版本。
上述实现方法中,POWERLINK通讯协议主从站内核的原理框图如图1所示。主从站内核实现方法的具体描述如下:
一、数据链路层
POWERLINK的数据链路层,也就是POWERLINK的核心,主要包括如下功能:
a)传输过程中的流量控制、差错检测、对物理层的原始数据进行数据封装等。
b)实时通信的传输控制。
c)网络状态机。
d)构建/解析数据帧、对数据帧定界、网络同步、数据帧收发顺序的控制。
在POWERLINK网络中,至少有一个设备作为主站(MN),其他的设备作为从站(CN)。每个从站设备都有唯一的节点号(NodeId),该节点号是用来区分网络中的设备,取值范围为1-239。主站设备(MN)的节点号为240,主站的作用是为了为协调各个从站,合理分配总线使用权,避免冲突,实现实时通信。
主站数据链路层控制器(WXEPLHOST)框图参见图2。
主站数据链路层控制器主要模块包括上电/外部复位初始化控制器、循环周期同步控制器、状态周期同步控制器、NMT状态机、DLL状态机、发送DMA及发送数据封装控制器,接收DMA控制器及解包进程控制器,具体实现方法包括:
1)上电复位信号和外部复位控制器,在整个逻辑电路上电时产生必要的复位信号以重置以下各个模块的初始状态,并且在数据发生意外的情况下产生终止以下各个模块继续运行的信号并随后使之复位到确定的初始状态。
2)循环周期同步控制器,在整个通讯过程中提供网络同步信号,并产生严格的同步时钟用以同步以下各个模块。
3)状态周期同步控制器,在整个通讯过程中控制数据帧的收发顺序的驱动信号。
4)接收DMA控制器及解包进程控制器,将对接收数据帧定界并解析来自物理层的原始数据。
5)发送DMA及发送数据封装控制器对应用层的待发送数据进行构建并将数据封装成标准POWERLINK帧格式同时启动发送进程。
6)DLL状态机管理已建立的POWERLINK通讯循环周期,该状态机产生每个通讯周期的帧收发顺序,并监控没个从站节点,当有任何通讯链路层错误发生时DLL状态机执行相应的动作。
7)NMT状态机管理整个通讯过程,从初始化到直到通讯建立。在此过程中该状态机根据不同的网络配置文件将数据链路层配置成此种拓扑下的有效网络并初始化各个从站,识别各个从站,最后通知各个从站进入相应的通讯状态建立并尽力维持这个状态。
根据POWERLINK协议,上述主站数据链路层上电复位信号和外部复位控制器产生NMT_GT,NMT_MT1,NodeID信号,循环周期同步控制器产生SOC,SOA信号,状态周期同步控制器产生NMT_MT2,DLL_MT0~DLL_MT13信号,接收DMA控制器及解包进程控制器产生NMT_MT3,NMT_MT4,NMT_MT5信号。另外NMT状态机产生信号:NMT_GT1~NMT_GT12,NMT_MT1~NMT_MT7,DLL状态机产生信号:DLL_MT0~DLL_MT13,发送DMA及发送数据封装控制器产生PREQ信号。
其中NMT_GT,NMT_MT,DLL_MT,PREQ,SOC,SOA信号在POWERLINK协议标准EPSG DRAFTSTANDARD 301 Ethernet POWERLINK Communication Profile Specification 2008中详述,这里不再重述。
从站数据链路层控制器(WXEPLSLAVE)框图参见图3。
从站数据链路层控制器主要模块包括上电/外部复位初始化控制器、监听时间基准控制器、状态时间基准控制器、NMT状态机、DLL状态机、发送DMA及发送数据封装控制器,接收DMA控制器及解包进程控制器,具体实现方法包括:
1)上电复位信号和外部复位控制器,在整个逻辑电路上电时产生必要的复位信号以重置以下各个模块的初始状态,并且在数据发生意外的情况下产生终止以下各个模块继续运行的信号并随后使之复位到确定的初始状态。
2)状态时间基准控制器通过一个16BIT的定时器产生一个严格的定时时基,该时基参与监听进程用以对每个POWERLINK循环周期进行数据帧定界并控制数据收发的顺序。
3)监听时间基准控制器对主站的同步信号进行监测并确定网络同步过程。
4)接收DMA控制器及解包进程控制器将对接收数据帧定界并解析来自物理层的原始数据。
5)发送DMA控制器及发送数据封装控制器对应用层的待发送数据进行构建并将数据封装成标准POWERLINK帧格式同时启动发送进程。
6)NMT状态机管理整个通讯过程,从初始化到直到通讯建立。在此过程中该状态机应答主站识别请求,使从站进入相应的通讯状态建立并尽力维持这个状态。
7)DLL状态机在每一个已建立的POWERLINK循环周期中监控网络的状态并应答主站的数据请求。
上电复位信号和外部复位控制器产生NMT_GT,NMT_CT1,NodeID信号,监听时间基准控制器产生SOC,SOA,PREQ信号,状态时间基准控制器产生DLL_MT0~DLL_MT13,PRES信号,接收DMA控制器及解包进程控制器产生NMT_CT2,NMT_CT4~NMT_CT12信号。另外NMT状态机产生NMT_GT1~NMT_GT12,NMT_CT1~NMT_CT7信号,DLL_MS状态机产生DLL_CT0~DLL_CT13,发送DMA控制器及发送数据封装控制器产生PRES信号。
其中NMT_GT,NMT_CT,DLL_CT,PRES,PREQ,SOC,SOA信号在POWERLINK协议标准EPSG DRAFTSTANDARD 301 Ethernet POWERLINK Communication Profile Specification 2008中详述,这里不再重述。
1.1NMT状态机(网络管理状态机)的实现
使用摩尔型状态机,构建两个进程,其中一个同步时序逻辑完成状态转移,另一个组合逻辑完成状态输出。NMT状态迁跃信号的发生与提取,由发送信号的模快直接产生与主时钟同步的边沿有效信号。其仿真信号如图4所示。
对应主站和从站,由于网络功能不同,NMT状态机也不同,分别是NMT_MS,NMT_CS。其中NMT_MS描述及状态转移如图5。NMT_CS描述及状态转移如图6。
1.2DLL状态机(数据链路状态机)的实现
使用摩耳型状态机,构建两个进程,其中一个同步时序逻辑完成状态转移,另一个组合逻辑完成状态输出。对应主站和从站,由于网络功能不同,NMT状态机也不同,分别是DLL_MS,DLL_CS。
DLL_MS描述及状态转移图如图7和图8。其中:
DLL_MS_NON_CYCLIC状态:此状态表明周期性的通讯未建立,DLL状态机在此等待NMT状态机达到预处理态2,此间所有的事件将被忽略。
DLL_MS_WAIT_SOC_TRIG状态:周期性的通讯结束,DLL状态机在此等待下一个循环周期的开始。
DLL_MS_WAIT_PRES状态:发送完一个PREQ帧,DLL状态机在此等待PRES应答帧。
DLL_MS_WAIT_ASND状态:当异步传输信号有效后,DLL状态机在此等待异步传输周期的结束直到同步循环周期开始。
DLL_MS_WAIT_SOA状态:在当前异步传输周期结束后等待下一个异步传输周期的到来。
DLL_CS描述及状态转移图如图9和图10。其中:
DLL_CS_NON_CYCLIC状态:此状态表明周期性的通讯未建立,DLL状态机在此等待NMT状态机达到预处理态2,此间所有的事件将被忽略。
DLL_CS_WAIT_SOC状态:此状态表明异步传输有效信号已经收到,在同步传输未开始之前可以接收任何以太网数据。
DLL_CS_WAIT_PREQ状态:此状态表明,在循环周期开始后,DLL状态机在此等待同步请求数据。
DLL_CS_WAIT_SOA状态:此状态表明同步请求已收到,DLL状态机等待异步传输。
二、应用层
应用层包括应用层DPR和应用层REG。物理层接收到的以太网传输的数据经数据链路层无差错传输后到达数据缓冲区,按照POWERLINK协议解释出应用层数据并将此数据缓存在应用层DPR中以备读取;来自应用层DPR的待发送的数据在物理层发送前按照POWERLINK协议封装成应用层数据帧;同时,应用层数据通讯的过程及时序严格的受到应用层各个模块的管理,实现中包括PDO、SDO、报警及错误队列等。
为了实现应用者和该IP核控制器的命令及数据交互,在应用层上必须实现一个外部控制寄存器阵列,即应用层REG,此阵列是数据链路层、应用层和应用者之间的数据交换平台,包括设备描述字典在内的配置数据也是通过这一平台设置及修改的。
2.1控制寄存器(WXEPLREG)
分开的主站及从站控制寄存器空间经过仔细的优化可以最大限度的配合各个模快同步工作并占用最少的资源。
为实现发明目的,至少需要的控制寄存器描述如下表:
备注:①STB:***准备好1准备好0准备中
②ESW:从站节点地址1~16
③DLL_SDOSequenceLayerSta:异步数据栈当前通讯状态00未连接01准备中10就绪
④DLL_PREQ_RD:Shall be set if the transferred payload data a re valid
⑤DLL_SOC_MC:Shall be toggled when the final multiplexed cycle has ended
⑥DLL_SOC_PS:Shall be toggled by the MN every n-th cycle(n is configurable byNMT_CycleTiming_REC Prescaler_U16)
⑦STA:从站DLL状态
⑧TES:调试模式选择1有效,0无效
⑨LIS:监听有效选择1有效,0无效
⑩INTM:中断模式1电平0边沿(上升沿)
GINT:中断允许1有效0无效
INTS:当电平模式时表示中断状态1中断0无效写‘1’清除该位
RECV:接收应答标志位写′1′有效读总返回′0′
SEND:发送请求标志位写′1′有效读总返回′0′
RECVSTA:接收有效标志位
SENDSTA:发送忙标志位
RD:Shall be set ifthe transferred payload data are valid由发送控制清除该位
API:应用层上传错误/报警标志位,写′1′有效,读总返回′0′
ERR:错误/报警状态标志位,WXEPL任何错误状态将该位置位,写′1′清除该位。
2.2双端口数据缓冲(WXEPLDPR)
应用层DPR需求量可计算确定。以实现6通道,40字节/通道同步PDO数据通讯,512字节异步SDO通讯为例:
在实际的应用中,如此规模的数据缓冲区一般使用DPR实现,考虑到各种IC内部资源不完全一致,可保留两种DPR的实现手段,分别是:块RAM实现和查找表实现。
上述应用层DPR和应用层REG其内部结构可通过应用层框图,参见图11进行详细描述。其中应用层DPR包括PDO数据DPR和SDO数据DPR,应用层REG包括SDO状态机控制寄存器阵列、XDD/XDC/CDC寄存器阵列、控制及状态寄存器以及报警及错误队列。
其实现方式具体描述如下:
1)XDD/XDC/CDC接口实现
EPSG给出的标准描述对象字典的文件是XML格式的电子文档(XML DEVICE DESCRIPTIONXDD/XDC),显然的,在IP核中实现如此复杂结构的基于ASCII字符的文件的存取和应用既不方便也不现实,显而易见的编译过程将消耗太多的LE。于是,应用OpenConfig生成的二进制格式文件CDC,对数据结构做如下的描述和优化,就可以使用RAM实现对象字典。
一个OBD例子如下:Object 1003h:ERR_History_ADOM
EPSG给出的对象字典的数据类型的描述都是基于C语言的,本实现所有的开发都是基于VHDL2000语言的,所以必须给出此种方式下的数据类型描述:
type ErrorEntry_DOM is record
err_type:std_logic_vector(15downto 0);
err_code:std_logic_vector(15downto 0);
err_time:NETTIME;
end record;
type ERR_History_ADOM is array(0 to 1)of ErrorEntry_DOM;
这样就可以方便的对变量定义和引用,如下所述:
signal ERR_History:ERR_History_ADOM;
2)应用层PDO
实时传输的数据被称为过程数据对象(Process Data Object),它是连续传输的并且没有什么“事件”或者”变化”的传输特怔,为此应用层DPR实现的此段空间是连续可读可写的,应用者想什么时候修改或者读取此数据,就什么时候可以去做。
3)应用层SDO
SDO协议状态机实现:使用摩耳型状态机,构建两个进程,其中一个同步时序逻辑完成状态转移,另一个组合逻辑完成状态输出。SDO数据传输过程及其行为仿真分别如图12、图13所示。
4)应用层报警及错误队列
对应用者来说必须实时的了解POWERLINK通讯过程中的“事件”“状态”及“错误报警”,应用层报警及错误队列正是为这一目的提供的一种手段,不论主站还是从站它能够将发生在通讯过程中的所有“事件”“状态”及“错误报警”记录下来并在应用层REG中有一个接口可以供应用者本地读取,并且,特别的一个传输过程能够将从站的记录数据发送到主站以供主站应用者读取从站的上述信息。
报警队列数据传输过程如图14所示。
通过上述方法,在FPGA芯片IC xc3s700an具体实现了主从站内核,用以实现POWERLINK协议,综合后的Modelsim仿真结果如图15所示。
所述的主从站内核具有以下特点:
1.所有的实现是不依赖于具体IC芯片的源代码可综合的数字逻辑电路。
2.该内核用硬件实现的主/从站的数据链路层,应用层。
3.应用层可以识别符合POWERLINK标准的设备描述字典(XDD)。
4.应用层可以实施网络及设备配置文件(XDC/CDC)。
5.在实施XDD、XDC/CDC过程之后或此过程及之后的工作使用硬件逻辑的内核实现。
Claims (8)
1.一种POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,基于可编程逻辑器件以及定制/半定制硬件芯片实现POWERLINK通讯协议主/从站的数据链路层、应用层以及连接数据链路层和应用层的同步总线,所述的数据链路层包括主站数据链路层控制器和从站数据链路层控制器,主站数据链路层控制器、从站数据链路层控制器均包括上电/外部复位初始化控制器、时间基准控制器、同步信号控制器、NMT状态机、DLL状态机、发送/接收DMA控制器;所述的应用层包括应用层DPR和应用层REG;所述的同步总线上挂载上述数据链路层各个子模块和应用层DPR、应用层REG,同步总线形成联接数据链路层和应用层的数据通道;
由综合软件综合以上各模块,再由实现软件将上述所有模块综合后代码生成位流文件,下载到目标硬件中实现POWERLINK通讯协议主从站内核;
所述的主站数据链路层控制器包括上电/外部复位初始化控制器、循环周期同步控制器、状态周期同步控制器、NMT状态机、DLL状态机、发送DMA及发送数据封装控制器,接收DMA控制器及解包进程控制器;
所述的主站数据链路层控制器的控制流程包括:
1) 上电/外部复位初始化控制器,在逻辑电路上电时产生复位信号以重置其它各个模块的初始状态,并且在数据发生意外的情况下产生终止其它各个模块运行的信号,并使之复位到确定的初始状态;
2)循环周期同步控制器,在通讯过程中提供网络同步信号,并产生严格的同步时钟用以同步以下各个模块;
3)状态周期同步控制器,在通讯过程中提供控制数据帧的收发顺序的驱动信号;
4)接收DMA控制器及解包进程控制器,对接收数据帧定界并解析来自物理层的原始数据;
5)发送DMA及发送数据封装控制器,对应用层的待发送数据进行构建并将数据封装成标准POWERLINK帧格式同时启动发送进程;
6)DLL状态机管理已建立的POWERLINK通讯循环周期,该状态机产生每个通讯周期的帧收发顺序,并监控每个从站节点,当有任何通讯链路层错误发生时DLL状态机进行错误处理;
7)NMT状态机管理整个通讯过程,从初始化直到通讯建立,在此过程中该状态机根据不同的网络配置文件将数据链路层配置成此种拓扑下的有效网络并初始化各个从站,识别各个从站,最后通知各个从站进入并维持可操作通讯状态。
2.根据权利要求1所述的POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,所述的应用层中,应用层DPR包括PDO数据DPR和SDO数据DPR,应用层REG包括SDO状态机控制寄存器阵列、XDD/XDC/CDC寄存器阵列、控制及状态寄存器以及报警及错误队列。
3.根据权利要求1或2所述的POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,所述的可编程逻辑器件以及定制/半定制硬件芯片包括FPGA、CPLD或ASIC。
4.根据权利要求1或2所述的POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,所述的同步总线的带宽≥50M。
5.一种POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,基于可编程逻辑器件以及定制/半定制硬件芯片实现POWERLINK通讯协议主/从站的数据链路层、应用层以及连接数据链路层和应用层的同步总线,所述的数据链路层包括主站数据链路层控制器和从站数据链路层控制器,主站数据链路层控制器、从站数据链路层控制器均包括上电/外部复位初始化控制器、时间基准控制器、同步信号控制器、NMT状态机、DLL状态机、发送/接收DMA控制器;所述的应用层包括应用层DPR和应用层REG;所述的同步总线上挂载上述数据链路层各个子模块和应用层DPR、应用层REG,同步总线形成联接数据链路层和应用层的数据通道;
由综合软件综合以上各模块,再由实现软件将上述所有模块综合后代码生成位流文件,下载到目标硬件中实现POWERLINK通讯协议主从站内核;
所述的从站数据链路层控制器包括上电/外部复位初始化控制器、监听时间基准控制器、状态时间基准控制器、NMT状态机、DLL状态机、发送DMA及发送数据封装控制器,接收DMA控制器及解包进程控制器;
所述的从站数据链路层控制器控制流程包括:
1) 上电/外部复位初始化控制器,在逻辑电路上电时产生复位信号以重置其它各个模块的初始状态,并且在数据发生意外的情况下产生终止其它各个模块运行的信号,并使之复位到确定的初始状态;
2)状态时间基准控制器通过定时器产生一个严格的定时时基,该时基参与监听进程用以对每个POWERLINK循环周期进行数据帧定界并控制数据收发的顺序;
3)监听时间基准控制器对主站的同步信号进行监测并确定网络同步过程;
4)接收DMA控制器及解包进程控制器将对接收数据帧定界并解析来自物理层的原始数据;
5)发送DMA控制器及发送数据封装控制器对应用层的待发送数据进行构建并将数据封装成标准POWERLINK帧格式同时启动发送进程;
6)NMT状态机管理整个通讯过程,从初始化直到通讯建立,在此过程中该状态机应答主站识别请求,使从站进入并维持可操作通讯状态;
7)DLL状态机在每一个已建立的POWERLINK循环周期中监控网络的状态并应答主站的数据请求。
6.根据权利要求5所述的POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,所述的应用层中,应用层DPR包括PDO数据DPR和SDO数据DPR,应用层REG包括SDO状态机控制寄存器阵列、XDD/XDC/CDC寄存器阵列、控制及状态寄存器以及报警及错误队列。
7.根据权利要求5或6所述的POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,所述的可编程逻辑器件以及定制/半定制硬件芯片包括FPGA、CPLD或ASIC。
8.根据权利要求5或6所述的POWERLINK通讯协议主从站内核的硬件实现方法,其特征在于,所述的同步总线的带宽≥50M。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210150455.2A CN102664902B (zh) | 2012-05-15 | 2012-05-15 | Powerlink通讯协议主从站内核的硬件实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210150455.2A CN102664902B (zh) | 2012-05-15 | 2012-05-15 | Powerlink通讯协议主从站内核的硬件实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102664902A CN102664902A (zh) | 2012-09-12 |
CN102664902B true CN102664902B (zh) | 2015-05-06 |
Family
ID=46774312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210150455.2A Active CN102664902B (zh) | 2012-05-15 | 2012-05-15 | Powerlink通讯协议主从站内核的硬件实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102664902B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324593A (zh) * | 2013-06-27 | 2013-09-25 | 成都林海电子有限责任公司 | 一种基于FPGA的PCI Express数据传输控制方法 |
CN103825697B (zh) * | 2014-03-11 | 2017-02-08 | 武汉迈信电气技术有限公司 | 基于PowerLink的多主站同步方法及*** |
CN104518998B (zh) * | 2014-12-12 | 2018-04-27 | 北京海尔集成电路设计有限公司 | 一种两个芯片之间进行数据交换的方法 |
CN106506447A (zh) * | 2016-09-23 | 2017-03-15 | 上海新时达电气股份有限公司 | Powerlink通讯协议的硬件实现方法 |
CN108173734B (zh) * | 2018-01-02 | 2021-03-23 | 杭州和利时自动化有限公司 | 一种分布式控制***内部总线通讯***及方法 |
CN108650136B (zh) * | 2018-05-17 | 2020-10-23 | 中工科安科技有限公司 | 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法 |
CN108768981B (zh) * | 2018-05-17 | 2020-10-27 | 中工科安科技有限公司 | 一种实现Powerlink工业实时以太网通讯的IP核 |
CN108833241B (zh) * | 2018-05-17 | 2020-10-20 | 中工科安科技有限公司 | 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法 |
CN109361653B (zh) * | 2018-09-13 | 2021-09-07 | 上海华元创信软件有限公司 | 一种powerlink主站 |
CN109587215B (zh) * | 2018-11-02 | 2021-07-30 | 合肥保得工业自动化有限公司 | 一种CANopen的主站到从站的数据同步方法 |
CN111338984B (zh) * | 2020-02-25 | 2022-05-17 | 大唐半导体科技有限公司 | 一种Cache RAM与Retention RAM数据高速交换架构及其方法 |
CN112738176B (zh) * | 2020-12-23 | 2022-11-29 | 欧普照明股份有限公司 | 一种有线通信总线通信方法及*** |
CN112637248B (zh) * | 2021-03-09 | 2021-05-18 | 厚普清洁能源股份有限公司 | 一种lng加注趸船的船端、岸端设备通信处理方法 |
CN115663549B (zh) * | 2022-12-08 | 2023-03-21 | 蔚来汽车科技(安徽)有限公司 | 多接口转换装置及车辆 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018115A (zh) * | 2007-02-13 | 2007-08-15 | 张承瑞 | 基于标准以太网的实时同步网络及其工作方法 |
CN101963808A (zh) * | 2010-10-21 | 2011-02-02 | 广州数控设备有限公司 | 一种支持多种现场总协议的***及其实现方法 |
CN102316113A (zh) * | 2011-09-22 | 2012-01-11 | 大连交通大学 | Powerlink和hdlc协议转换装置及实现方法 |
-
2012
- 2012-05-15 CN CN201210150455.2A patent/CN102664902B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018115A (zh) * | 2007-02-13 | 2007-08-15 | 张承瑞 | 基于标准以太网的实时同步网络及其工作方法 |
CN101963808A (zh) * | 2010-10-21 | 2011-02-02 | 广州数控设备有限公司 | 一种支持多种现场总协议的***及其实现方法 |
CN102316113A (zh) * | 2011-09-22 | 2012-01-11 | 大连交通大学 | Powerlink和hdlc协议转换装置及实现方法 |
Non-Patent Citations (2)
Title |
---|
Ethernet POWERLINK Communication Profile Specification Version 1.1.0;EPSG(Ethernet POWERLINK Standardisation Group);《EPSG Draft Standard 301》;20081022;第58页第4.2.4.5.1节,第59页第4.2.4.5.4节,第63页第4.2.4.6.1节 * |
POWERLINK实时以太网教程;王谨秋;《POWERLINK实时以太网教程》;20110831;第6页第6-7段,第10页第5-7段,第14页第5段,第15页第4-9、20-21行,第26页第2段,第75-76页第6.4.3节,第113页第1段,第127页第7.5、7.6节 * |
Also Published As
Publication number | Publication date |
---|---|
CN102664902A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102664902B (zh) | Powerlink通讯协议主从站内核的硬件实现方法 | |
CN110138624A (zh) | 车载以太网测试设备、***及测试方法 | |
CN104657555A (zh) | 一种基于uvm验证方法学的toe的验证方法及平台 | |
CN103558812B (zh) | 基于fpga和arm的mvb网络四类设备网卡 | |
Pang et al. | An RTOS-based architecture for industrial wireless sensor network stacks with multi-processor support | |
CN112436601B (zh) | 智能变电站的信息流处理方法、计算机设备和存储介质 | |
CN105281433A (zh) | 一种配电终端通信*** | |
CN112398714B (zh) | 一种背板总线主站、***及其数据通信方法 | |
CN105356991A (zh) | 一种驱动器实时同步通信装置 | |
CN106657115A (zh) | 一种变频器控制***及其协议转换卡 | |
CN113285839A (zh) | 基于dpdk的可编程数据平面软件交换机的设计方法 | |
CN106342296B (zh) | 一种基于as5643协议的1394b总线仿真器 | |
CN106571847A (zh) | 一种基于zynq的测试仪表通信装置及方法 | |
CN103973518B (zh) | 采用因特网包探索器检测虚拟局域网的方法及装置 | |
Goel et al. | UVM based controller area network verification IP (VIP) | |
CN102081383B (zh) | 一种用于现场控制的安全网络协议的装置和方法 | |
CN110098989A (zh) | 一种基于canfd总线的多路can仿真***及测试方法 | |
CN109361653A (zh) | 一种powerlink主站 | |
CN114915515A (zh) | 一种基于soc的can通信方法及*** | |
CN115277450A (zh) | 基于opnet的虚实结合异构通信网络融合***及应用 | |
CN111190357B (zh) | 一种基于原始套接字的电力信息物理***实时仿真平台的实现方法 | |
CN106603430A (zh) | 基于sopc的通用数据通信接口集成方法 | |
Pan et al. | Design and Performance Analysis of Protocol Conversion between 5G and Modbus TCP | |
CN204836207U (zh) | 一种1394b总线接口防护型综合记录器 | |
CN107065598B (zh) | Lkj仿真***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |