一种背板串行总线通讯方法及系统与流程

文档序号:16134495发布日期:2018-12-01 00:45阅读:591来源:国知局

本发明属于电力系统控制保护装置通信技术领域,特别涉及一种背板串行总线通讯方法及系统。

背景技术

在电力系统控制保护领域,随着保护控制功能越来越复杂,在一个控制保护装置中设置有多个cpu板卡,需要协调多cpu板卡一起工作以完成保护任务,cpu板卡之间的数据交换也逐渐频繁,对背板传输数据的实时性和带宽的要求越来越高。传统的解决方案多采用以太网通信或者pci总线通信等,来解决cpu之间的通信问题。以太网是点对点通信,存在着网络延时,网络阻塞等各种不稳定因素,不能很好地解决多cpu板卡之间的实时通信问题;而pci是并行总线结构,并行总线存在硬件连线多、抗干扰差等缺点,而串行总线由于背板连线少、设计简单、抗干扰能力强等优点成为背板总线较为理想的选择。

目前常用的背板总线有rapidio总线和can总线。其中,rapidio技术是一种高性能、低引脚数、基于数据包交换的开放式互连技术标准,具有简化系统设计、高带宽、低延时等特点,目前已广泛应用于通信系统及嵌入式系统的背板高速互联。can总线(controllerareanetwork,控制器局域网络)采用多主工作模式,总线上的任意节点在任何时候都可以主动地向网络上的其他节点发送信息,不分主从,通信方式灵活,总线上的节点都可以共享总线上的数据。

如公开号为“cn102841638a”,名称为“一种多功能vpx背板的设计方法”的中国专利,利用串行rapidio解决了cpu板卡之间通过交换网络实现信号的高速传输,但是rapidio是点对点的通信总线,要实现多个通讯节点交换数据,必须通过专门的rapidio交换芯片,每个通信节点都要与交换芯片以点对点的方式连接,使rapidio应用范围有一定的局限性;且具备rapidio总线功能的芯片比较昂贵,会增加硬件开发成本。同样由于can总线的最高通信速率只有1mbps,单帧报文最多只能传输8个字节有效数据,不适用于大数据量通信。

综上,rapidio总线和can总线均不满足当前电力系统保护应用需要,因此需要开发一种满足要求的高速高带宽与支持多cpu板卡数据共享传输的背板串行总线方案。



技术实现要素:

本发明的目的在于提供一种背板串行总线通讯方法及系统,用于解决现有技术中串行背板总线技术不适合控制保护装置的多cpu板卡之间通信的问题。

为实现上述目的,本发明提供了一种背板串行总线通讯方法,包括如下步骤:

1)将其中一个板卡设置为总线上的主节点,将其中至少一个板卡设置为总线上的次节点,并为各节点配置对应的令牌号,各次节点将对应的令牌号注册到主节点里;

2)当有节点发送数据时,主节点发送对应的令牌号到总线上,各节点接收总线上的令牌号并与自身的令牌号比较,当比较一致时,对应的节点发送数据。

为了解决主节点异常影响正常工作的问题,还将其中一个板卡设置为次主节点,各节点将对应的令牌号注册到次主节点里,所述次主节点用于在主节点异常时接管总线控制,并在主节点恢复正常后释放总线控制权限。实现了在主节点异常时,次主节点能够代替主节点继续工作。

为了检测主节点是否异常,主节点每经过第一设定时间向总线发送一次令牌,当次主节点经过第二设定时间在总线上未检测到主节点发送的令牌时,判定为主节点异常。

为了解决各节点发送的数据与接收的自身的数据不一致的问题,各节点发送完数据后,从总线上接收自身发送的数据,并将发送的数据与接收的自身发送的数据进行校验,若校验未通过,则对应的节点重新发送数据。

为了解决发送数据前,各节点的工作状态不正常的问题,主节点启动后,由主节点按照节点链表发送扫描报文检测各节点的工作状态。

本发明还提供了一种背板串行总线通讯系统,包括至少两个板卡,各板卡之间通讯连接,各板卡均连接到总线上,将其中一个板卡设置为总线上的主节点,将其中至少一个板卡设置为总线上的次节点,并为各节点配置对应的令牌号,各次节点将对应的令牌号注册到主节点里;当有节点发送数据时,主节点发送对应的令牌号到总线上,各节点接收总线上的令牌号并与自身的令牌号比较,当比较一致时,对应的节点发送数据。

为了解决主节点异常影响正常工作的问题,还将其中一个板卡设置为次主节点,各节点将对应的令牌号注册到次主节点里,所述次主节点用于在主节点异常时接管总线控制,并在主节点恢复正常后释放总线控制权限。实现了在主节点异常时,次主节点能够代替主节点继续工作。

为了检测主节点是否异常,主节点每经过第一设定时间向总线发送一次令牌,当次主节点经过第二设定时间在总线上未检测到主节点发送的令牌时,判定为主节点异常。

为了解决各节点发送的数据与接收的自身的数据不一致的问题,各节点发送完数据后,从总线上接收自身发送的数据,并将发送的数据与接收的自身发送的数据进行校验,若校验未通过,则对应的节点重新发送数据。

为了解决发送数据前,各节点的工作状态不正常的问题,主节点启动后,由主节点按照节点链表发送扫描报文检测各节点的工作状态。

本发明的有益效果是:

本发明将其中一个板卡设置为总线上的主节点,将其中至少一个板卡设置为总线上的次节点,并为各节点配置对应的令牌号,各次节点将对应的令牌号注册到主节点里;当有节点发送数据时,主节点发送对应的令牌号到总线上,各节点接收总线上的令牌号并与自身的令牌号比较,当比较一致时,对应的节点发送数据。本发明实时性好、处理性强、硬件结构简单,且易于实现,适合目前多cpu板卡之间大数据量传输的要求。数据在总线上传输时,不需要处理器参与,降低了处理器负荷,可移植性好;节点发送数据的优先级可调,各节点的令牌号可根据需要灵活配置,各节点的令牌号可以是不连续的正整数,通用性好。

附图说明

图1为本发明的背板串行总线通讯系统的结构示意图;

图2为本发明的背板串行总线通信逻辑时序图;

图3为本发明的背板串行总线扫描时序图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步的说明:

本发明基于多节点共享数据传输相结合的背板高速串行总线技术,提出了一种背板串行总线通讯系统,背板高速串行总线技术即实时共享串行总线协议hbio(highperformancetimesharedbackplaneinputoutput),是一种应用于继电保护设备和工业控制设备的高速串行背板总线协议,总线上的每个节点都可以共享使用总线,实现控制保护装置内多个通讯节点实时交换数据。本发明的一种背板串行总线通讯系统,包括至少两个板卡,各板卡之间通讯连接,各板卡均连接到总线上,将其中一个板卡设置为总线上的主节点,将其中至少一个板卡设置为总线上的次节点,并为各节点配置对应的令牌号,各次节点将对应的令牌号注册到主节点里;当有节点发送数据时,主节点发送对应的令牌号到总线上,各节点接收总线上的令牌号并与自身的令牌号比较,当比较一致时,对应的节点发送数据,节点发送完数据释放总线,等待下次指令传输,且各个节点从总线上接收数据。

实时高速串行总线协议的功能由fpga实现,hbio总线的每个节点都具备完整的通信协议,每个节点都可以配置主节点模式、次主节点模式和子节点模式三种工作模式,其中通迅系统中只能必须存在一个主节点和一个次主节点,子节点可以配置多个;预先为每个节点分配一个令牌号,各节点的令牌号都是唯一的不能重复,可以不连续,并把令牌号注册到主节点和次主节点的令牌链表里,主节点和次主节点要循环遍历该链表发送令牌。主节点是总线的核心,控制总线传输时序;各节点都是独立的cpu板卡,启动时序有差别,上电后主节点发起节点扫描,查询各节点,同步总线上所有节点的工作状态。

各cpu板卡之间通过背板串行总线通讯的方法,包括以下步骤:

1)将其中一个板卡设置为总线上的主节点,将其中至少两个板卡设置为总线上的次节点,并为各节点配置对应的令牌号,各次节点将对应的令牌号注册到主节点里;此外,还将其中的一个cpu板卡设置为次主节点,同样地各次节点将对应的令牌号注册到次主节点,次主节点是备用主节点,次主节点用于在主节点异常时接管总线控制,由次主节点发起令牌控制总线传输,并在主节点恢复正常后释放总线控制权限。

2)当有节点发送数据时,主节点发送对应的令牌号到总线上,各节点接收总线上的令牌号并与自身的令牌号比较,当比较一致时,对应的节点发送数据。

节点的发送模块和接收模块是两个独立的通道,某个节点发送数据时,所有节点都可以接收总线上的数据,无论是主节点还是次主节点控制发送数据,各个节点从总线上接收到数据后,接收模块均通过循环冗余校验法验证接收的数据的有效性,若未通过校验则丢弃。

在总线工作中,主节点按照令牌链表发送令牌,接着控制各个节点发送数据时,通过控制各节点分时占用总线的方式来发送数据,以避免总线冲突,

总线传输信号包括数据载波信号、令牌有效信号、时钟信号和数据信号,通过检测各个节点的数据载波信号和令牌信号是否有效来判断各个节点是否在发送数据,各个节点发送的数据包括时钟信号和数据信号。

下面以一个包含4个节点的hbio总线的系统为示例,如图1所示,实时同步高速背板传输总线协议硬件架构主要包括:xilinx的xc7z010和mlvds差分芯片。xc7z010芯片有pl端和ps端组成,ps端是双核arm处理器,pl端是fpga,pl和ps通过hp和gp通道传输数据。arm处理器通过hp通道访问fpga中的hbio总线数据,通过gp通道配置hbio总线寄存器。各节点通过mlvds差分芯片的接收端r接收总线数据,通过发送端d向总线发送数据。

hbio总线的数据载波信号在总线上有数据传输时有效,由当前占总线的节点控制,任意节点都可以控制该信号。令牌有效信号在总线上传输令牌时有效,该信号一般由主节点控制,主节点异常时由次主节点控制;时钟信号采用50mhz时钟作为总线时钟,同步数据输出,该信号由当前占用总线的节点控制输出;数据信号:采用8根数据信号线,因此总线的实际最大数据传输带宽为400mbps。

依据数据载波信号和令牌有效信号的不同状态,hbio总线可分为空闲态、令牌传输态和数据传输态三种状态:

空闲态:数据载波信号和令牌信号均为无效,保持1us,空闲态表示上次数据已经传输完成,下次令牌还未发送,所有的节点都不向总线输出时钟和数据;

令牌传输态:数据载波信号和令牌信号均有效,保持1us,该状态一般由主节点控制,由主节点输出时钟和数据,数据里包含令牌信息;

数据传输态:数据信号有效和令牌信号无效,在该状态中由获得令牌的节点控制总线,该节点输出时钟和数据,同时其他节点从总线上接收数据。

所有的节点都具备完整的hbio总线协议,均可配置为主节点和次主节点。上电后配置节点的工作模式,并将所有节点的令牌号注册到主节点和次主节点的节点链表。hbio的总线逻辑由主节点控制,如图2所示。

总线扫描实现:如图3所示,上电后所有的节点都处于接收状态,除了主节点都不能向总线发送数据,主节点启动后的第一个动作是检测总线状态,检测到总线空闲后,发起总线扫描,向每个节点包括主节点本身发送扫描报文,检测各节点的状态,节点扫描相当于总线自检,是上电后的首要动作,由主节点按照节点链表检测节点的工作状态,主节点逐个扫描各个节点,向子节点发送扫描报文,子节点工作正常则回ack报文,如果子节点没有准备好,则不响应扫描,超时后再查询下一个子节点。以1ms为一个节点扫描周期,直至所有子节点都回ack报文或者超时返回。

令牌发送控制:每个节点都有属于自己的令牌号,包括主节点,所有的令牌均需要令牌链表里注册。在令牌传输态,由主节点输出控制数据载波信号和令牌信号均有效,同时在数据总线上输出令牌信息;当某个节点发现当前传输的令牌与本身的令牌一致,即子节点获得令牌,当总线进入数据传输态,该节点就向总线输出时钟、数据载波和数据信号;当某个节点发现当前取得的令牌与本身的令牌不一致,该节点继续等待。

主/次节点切换机制:正常情况由主节点管理总线,间隔8us发送一次令牌,次主节点监听总线状态;次主节点检测到总线上令牌发送超时,超时时间设定50us,认为主节点异常,由次主节点接管总线控制权限,此时次主节点发送令牌;主节点异常返回后,先检测总线的状态,如果总线忙则记录本次是异常返回启动,等待接收到主节点的令牌后,由主节点发送复位报文,通知次主节点释放总线,次主节点将总线控制权限移交给主节点。

数据重发机制:节点发送数据自检机制,数据发送的当前节点的接收端能接收到总线上自己发出的数据,接收数据时,一般利用32位循环冗余校验法验证数据的有效性行,32位多项式为:x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1,如果没有通过校验的,则记录一次错误,等待下次获得令牌后在启动重发;如果通过校验,则清空当前数据发送缓存区,接收新的数据发送。

以上给出了具体的实施方式,但本发明不局限于以上所描述的实施方式。本发明的基本思路在于上述基本方案,对本领域普通技术人员而言,根据本发明的教导,设计出各种变形的模型、公式、参数并不需要花费创造性劳动。在不脱离本发明的原理和精神的情况下对实施方式进行的变化、修改、替换和变形仍落入本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1