发明内容
针对上述目前背板通信技术的问题,本发明提供了一种背板实时同步接口协议,可用于在同一块背板上进行多单板互联通信,通过在互相通信过程中,实现各个单板的时钟和数据同步,可进而实现在各个单板之间进行实时的高速数据传输,利于控制设备性能的提高。同时在搭建背板通信***时,无需增加其它交换设备,可使整个***具有结构简单和成本低的优点,便于推广和实用。
本发明采用的技术方案,提供了一种背板实时同步接口协议,背板通信***由背板、主控单板和N个从控单板构成,主控单板和N个从控单板通过在背板上布置的、由控制线、时钟线和数据线组成的串行总线实现多点互联,其中,N为大于或等于2的自然数。具体的,各个从控单板按照顺序确定由n至n+N-1的单板编号,其中,n为单板编号初始值;主控单板通过向控制线导入控制信号和向时钟线导入时钟信号,将串行总线的总线周期分为空闲周期、配置周期和传输周期,并控制空闲周期与配置周期之间和空闲周期与传输周期之间的相互切换,且在配置周期中,各个从控单板按照编号顺序依次输出配置信息,主控单板根据各个单板输出的配置信息完成下一个传输周期的参数配置,在下一个传输周期中,各个从控单板按照编号顺序依次输出数据信息。根据所述背板实时同步接口协议,所述主控单板可以控制处于背板上的串行总线的总线状态,进而使得在进行多单板互联通信过程中,实现各个从控单板的时钟同步;同时根据所述协议,在配置周期时,各个从控单板按照编号顺序输出各自的配置信息,并由主控单板根据各个从控单板的配置信息计算下一个传输周期的参数,然后根据计算参数结果完成下一个传输周期的参数配置,最后根据参数配置在串行总线上切换下一个传输周期,使各个从控单板按照编号顺序依次输出各自的数据信息,无需仲裁即可在各个从控单板之间进行数据共享。由此所述协议可用于在同一块背板上进行多单板互联通信,通过在互相通信过程中,实现各个单板的时钟和数据同步,可进而实现在各个单板之间进行实时的高速数据传输,利于控制设备性能的提高。同时在搭建背板通信***时,无需增加其它交换设备,可使整个***具有结构简单和成本低的优点,便于推广和实用。
进一步具体的,所述控制信号包括传输使能信号和数据使能信号,通过两信号的高低电平组合表示如下四种工作状态:完结状态、配置状态、数据状态和过渡状态;所述空闲周期仅包含完结状态;所述配置周期包含N组配置/过渡状态对,每个从控单板对应一组配置/过渡状态对,并在处于对应的配置状态时输出配置信息;所述传输周期包含N组数据/过渡状态对,每个从控单板对应一组数据/过渡状态对,并在处于对应的数据状态时输出数据信息。
详细的,每个从控单板均维护有一个本地输出单板计数,并按照如下方式工作:在进入完结状态时,将本地输出单板计数初始化为单板编号初始值n,并设置本地数据端口为高阻模式;在进入过渡状态时,使本地输出单板计数加1,并设置本地数据端口为高阻模式;在进入配置状态时,若本地输出单板计数与本地单板编号相等,则设置本地数据端口为输出模式,输出配置信息,否则设置本地数据端口为输入模式,输入由其它从控单板输出的配置信息;在进入数据状态时,若本地输出单板计数与本地单板编号相等,则设置本地数据端口为输出模式,输出数据信息,否则设置本地数据端口为输入模式,输入由其它从控单板输出的数据信息。
进一步具体的,所述配置信息中包含有对应从控单板在下一个传输周期中待输出的数据长度信息;主控单板在获取各个从控单板对应的所述数据长度信息后,计算下一个传输周期的切换时间和时间长度,以及计算在下一个传输周期中各个从控单板的数据状态切换时间和维持数据状态的时间长度。
进一步具体的,所述配置信息或数据信息的传输帧由协议数据单元和校验码组成。详细的,所述校验码为针对协议数据单元且使用CRC-CCITT算法得出的16位CRC校验码。
进一步具体的,各个从控单板在数据信息收发过程中,将待输出的或已输入的数据信息缓存在一个循环缓存区中,并生成对应的缓存区描述符。详细的,所述缓存区描述符包括缓存区状态字段、缓存区数据来源字段、缓存区数据长度字段和缓存区指针字段。
具体的,所述时钟线由一对多点差分链路组成,所述数据线由若干对多点差分链路组成,其中,所述多点差分链路为M-LVDS多点差分链路或RS-485多点差分链路。
综上,采用本发明所提供的背板实时同步接口协议,具有如下有益效果:(1)所述背板实时同步接口协议可用于在同一块背板上进行多单板互联通信,通过在互相通信过程中,实现各个单板的时钟和数据同步,可进而实现在各个单板之间进行实时的高速数据传输,利于控制设备性能的提高;(2)主控单板可通过硬件生成的控制信号控制串行总线的总线状态,实现四种总线周期之间切换,并可预先配置好下一个传输周期的切换时间和时间长度,以及在下一个传输周期中各个从控单板的数据状态切换时间和维持数据状态的时间长度,减小因切换而引起的时间开销,充分利用信道资源;(3)各单板可以分时使用串行总线,并按一定顺序发送数据信息,可避免在多点互联通信过程中出现碰撞问题;(4)在搭建背板通信***时,无需增加其它交换设备,可使整个***具有结构简单和成本低的优点,便于推广和实用,尤其适合于工业控制设备和电力***控制保护设备中背板数据的实时高速交换和同步。
实施例一
图1示出了本发明提供的应用背板实时同步接口协议的电路连接示意图,图2示出了本发明提供的在从控单板数为2时的总线周期示意图,图3示出了本发明提供的循环缓存区及缓存区描述符的示意图。
在本实施例中,背板通信***由背板、主控单板和N个从控单板构成,主控单板和N个从控单板通过在背板上布置的、由控制线、时钟线和数据线组成的串行总线实现多点互联,其中,N为大于或等于2的自然数。主控单板和每个从控单板上均设有用于实现所述背板实时同步接口协议的FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)单元;如图1所示,所述FPGA单元一方面通过地址/数据线(例如,16位或32位地址/数据线)连接对应单板的CPU(CentralProcessingUnit,中央处理器)单元,另一方面通过设置在对应单板上的差分线路驱动单元连接布置在背板上的串行总线,从而实现CPU单元与其它单板的配置信息/数据/时钟同步。详细的,在图1中所述CPU单元采用芯片型号为AnalogDevicesBlackfin537,所述FPGA单元采用芯片型号为XilinxXC7A15T,所述差分线路驱动单元采用芯片型号为AnalogDevicesADN4696E。所述背板实时同步接口协议的具体实施方式如下。
具体的,各个从控单板按照顺序确定由n至n+N-1的单板编号,其中,n为单板编号初始值;主控单板通过向控制线导入控制信号和向时钟线导入时钟信号,将串行总线的总线周期分为空闲周期、配置周期和传输周期,并控制空闲周期与配置周期之间和空闲周期与传输周期之间的相互切换,且在配置周期中,各个从控单板按照编号顺序依次输出配置信息,主控单板根据各个单板输出的配置信息完成下一个传输周期的参数配置,在下一个传输周期中,各个从控单板按照编号顺序依次输出数据信息。
每一个单板编号对应一个从控单板,其单板编号可以但不限于通过软件程序在FPGA单元中从1开始设置(即初始值n为1),同时也可以设置主控单板的单板编号为0。根据所述背板实时同步接口协议,所述主控单板可以控制处于背板上的串行总线的总线状态,进而使得在进行多单板互联通信过程中,实现各个从控单板的时钟同步;同时根据所述协议,在配置周期时,各个从控单板按照编号顺序输出各自的配置信息,并由主控单板根据各个从控单板的配置信息计算下一个传输周期的参数,然后根据计算参数结果完成下一个传输周期的参数配置,最后根据参数配置在串行总线上切换下一个传输周期,使各个从控单板按照编号顺序依次输出各自的数据信息,无需仲裁即可在各个从控单板之间进行数据共享。由此所述协议可用于在同一块背板上进行多单板互联通信,通过在互相通信过程中,实现各个单板的时钟和数据同步,可进而实现在各个单板之间进行实时的高速数据传输,利于控制设备性能的提高。同时在搭建背板通信***时,无需增加其它交换设备,可使整个***具有结构简单和成本低的优点,便于推广和实用。
进一步具体的,所述控制信号包括传输使能信号和数据使能信号,通过两信号的高低电平组合表示如下四种工作状态:完结状态、配置状态、数据状态和过渡状态;所述空闲周期仅包含完结状态;所述配置周期包含N组配置/过渡状态对,每个从控单板对应一组配置/过渡状态对,并在处于对应的配置状态时输出配置信息;所述传输周期包含N组数据/过渡状态对,每个从控单板对应一组数据/过渡状态对,并在处于对应的数据状态时输出数据信息。
如图1所示,在背板上布置的串行总线由如下6根信号线组成:传输使能信号线(即控制线TE),数据使能信号线(即控制线DE),一对时钟信号线(即时钟线CLK+和CLK-),一对数据信号线(即数据线DA1和DA2),其中,传输使能信号线用于传送由主控单板发出的所述传输使能信号,在所述传输使能信号有效时,各个从控单板可按照编号顺序输出各自的配置信息或数据信息;数据使能信号线用于传送由主控单板发出的所述数据使能信号,在所述数据使能信号有效时,各个从控单板可按照编号顺序输出各自的数据信息,否则可按照编号顺序输出各自的配置信息,所述数据使能信号仅在所述传输使能信号有效时具有实用意义;所述时钟信号线对用于传送具有相反特性的时钟信号,所述时钟信号可以但不限于为一对相反的、频率为100MHz的时钟信号;所述数据信号线对用于传送数据信息或配置信息,其带宽可以但不限于为200Mbps。
所述传输使能信号和数据使能信号的高低电平组合表示四种工作状态的方式可以但不限于如下方式:(1)完结状态,使所述传输使能信号保持2个时钟周期的高电平,此时所述传输使能信号定义为无效状态,所述数据使能信号不具有实用意义;(2)过渡状态,使所述传输使能信号保持1个时钟周期的高电平,此时所述传输使能信号定义为无效状态,所述数据使能信号不具有实用意义;(3)配置状态,使所述传输使能信号保持低电平,此时所述传输使能信号定义为有效状态,同时使所述数据使能信号保持高电平(即无效状态);(4)传输状态,使所述传输使能信号和所述数据使能信号均保持低电平(即两信号均为有效状态)。
所述主控单板通过改变两控制线上的信号电平,可以控制空闲周期与配置周期之间和空闲周期与传输周期之间的相互切换。如图2所示,当从控单板数目设定为2时,所述空闲周期包含1个完结状态(也可以根据实际情况包含多个完结状态),在此空闲周期中,需要使所述传输使能信号保持至少两个时钟周期的高电平;所述配置周期包含2组配置/过渡状态对,每组配置/过渡状态对包含一个配置状态和一个过渡状态,在每个配置状态期间,由对应的从控单板向数据线输出配置信息;所述传输周期包含2组数据/过渡状态对,每组数据/过渡状态对包含一个数据状态和一个过渡状态,在每个数据状态期间,由对应的从控单板向数据线输出数据信息。
进一步具体的,每个从控单板均维护有一个本地输出单板计数,并按照如下方式工作:在进入完结状态时,将本地输出单板计数初始化为单板编号初始值n,并设置本地数据端口为高阻模式,此时表示已完成所有配置信息或数据信息的发送,在传输周期或配置周期结束后需要切换为该状态;在进入过渡状态时,使本地输出单板计数加1,并设置本地数据端口为高阻模式;在进入配置状态时,若本地输出单板计数与本地单板编号相等,则设置本地数据端口为输出模式,输出配置信息,否则设置本地数据端口为输入模式,输入由其它从控单板输出的配置信息;在进入数据状态时,若本地输出单板计数与本地单板编号相等,则设置本地数据端口为输出模式,输出数据信息,否则设置本地数据端口为输入模式,输入由其它从控单板输出的数据信息。
进一步具体的,所述配置信息中包含有对应从控单板在下一个传输周期中待输出的数据长度信息;主控单板在获取各个从控单板对应的所述数据长度信息后,计算下一个传输周期的切换时间和时间长度,以及计算在下一个传输周期中各个从控单板的数据状态切换时间和维持数据状态的时间长度。因此所述主控单板可预先配置好下一个传输周期的切换时间和时间长度,以及在下一个传输周期中各个从控单板的数据状态切换时间和维持数据状态的时间长度,减小因切换而引起的时间开销,充分利用信道资源。
进一步具体的,所述配置信息或数据信息的传输帧由协议数据单元和校验码组成。所述传输帧可以但不限于为MAC帧或PHY帧,所述协议数据单元(即PDU单元,ProtocolDataUnit)用于承载具体的配置信息内容或具体的数据信息内容;所述校验码用于在接收侧(即接收传输帧的主控单板或从控单板)对传输帧中的协议数据单元进行校验,判断协议数据单元是否完整无误的接收到,其可以是但不限于是奇偶校验码或CRC校验码。详细的,本实施例中,所述校验码为针对协议数据单元且使用CRC-CCITT算法得出的16位CRC校验码(CyclicRedundancyCheck,循环冗余校验码)。各个从控单板在接收到数据信息或配置信息的传输帧后,使用CRC-CCITT算法对传输帧中的协议数据单元进行计算,并将计算结果与CRC校验码进行匹配对比,若不匹配则丢弃接收到的协议数据单元,否则缓存协议数据单元。
进一步具体的,各个从控单板在数据信息收发过程中,将待输出的或已输入的数据信息缓存在一个循环缓存区中,并生成对应的缓存区描述符。如图3所示,所述循环缓存区为一个包含m个缓冲区的环形循环缓存区,从而使得各个从控单板的FPGA单元和CPU单元可以通过循环缓存区的形式交互数据信息,其中,每一个缓存区对应于一个缓存区描述符,一方面可以实现数据信息的排序发送,另一方面只需在CPU单元和FPGA单元之间交互缓存区描述符,即可实现CPU单元或FPGA单元以固定时间间隔读取或写入数据。
详细的,所述缓存区描述符可以但不限于包括缓存区状态字段、缓存区数据来源字段、缓存区数据长度字段和缓存区指针字段等。如图3所示,所述缓存区状态字段可以但不限于包括数据就绪指示位、CRC校验指示位、环回标志位等。其中,数据就绪指示位用于指示CPU单元已将数据信息写入到对应的缓存区中或FPGA单元已经将收到的数据信息写入到对应的缓存区中;所述CRC校验指示位用于指示FPGA芯片接收到的数据信息是否存在CRC校验错误;所述环回标志位用于指示对应缓冲区为循环缓冲区队列中的最后一个缓存区,如需写入下一个数据信息需要环回到第一个缓存区。此外,所述缓冲区数据来源字段用于指示发送对应缓冲区中数据信息的从控单板的单板编号;所述缓存区数据长度字段用于指示对应缓存区中数据信息的长度;所述缓存区指针字段用于指示指向对应缓冲区的指针,方便CPU单元或FPGA单元寻址读取对应缓存区中数据信息。
具体的,所述时钟线由一对多点差分链路组成,所述数据线由若干对多点差分链路组成,其中,所述多点差分链路为M-LVDS(MultipointLowVoltageDifferentialSignaling,多点低电压差分信号)多点差分链路或RS-485多点差分链路。所述时钟线采用一对多点差分链路,可以利用相反信号的耦合降低辐射噪声,提高时钟精度,所述数据线采用若干对多点差分链路,可以通过增加数据线对数的方式提高传输带宽。同时,所述多点差分链路采用M-LVDS多点差分链路或RS-485多点差分链路,可以降低反射噪声,提高线路的传输距离和速率。
本实施例提供的所述背板实时同步接口协议,具有如下技术效果:(1)所述背板实时同步接口协议可用于在同一块背板上进行多单板互联通信,通过在互相通信过程中,实现各个单板的时钟和数据同步,可进而实现在各个单板之间进行实时的高速数据传输,利于控制设备性能的提高;(2)主控单板可通过硬件生成的控制信号控制串行总线的总线状态,实现四种总线周期之间切换,并可预先配置好下一个传输周期的切换时间和时间长度,以及在下一个传输周期中各个从控单板的数据状态切换时间和维持数据状态的时间长度,减小因切换而引起的时间开销,充分利用信道资源;(3)各单板可以分时使用串行总线,并按一定顺序发送数据信息,可避免在多点互联通信过程中出现碰撞问题;(4)在搭建背板通信***时,无需增加其它交换设备,可使整个***具有结构简单和成本低的优点,便于推广和实用,尤其适合于工业控制设备和电力***控制保护设备中背板数据的实时高速交换和同步。
如上所述,可较好的实现本发明。对于本领域的技术人员而言,根据本发明的教导,设计出不同形式的背板实时同步接口协议并不需要创造性的劳动。在不脱离本发明的原理和精神的情况下对这些实施例进行变化、修改、替换、整合和变型仍落入本发明的保护范围内。