具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,根据普通传输方式判断条件,判断高、低速接口组件进行GJB289A协议处理得到的各协议字对应的传输方式,然后结合总线工作模式信息、接收到的通道故障反馈信息,控制高速接口组件或低速接口组件采用双总线模式或单总线模式进行传输,实现了一种高低速共存总线终端数据发送控制方法。
图1示出了本发明实施例提供的高低速共存总线终端数据发送控制方法的实现流程,详述如下:
在步骤S101中,根据普通传输方式判断条件,判断高、低速接口组件进行GJB289A协议处理得到的各协议字对应的传输方式,该传输方式包括高速传输方式和低速传输方式;
在步骤S102中,根据总线工作模式信息、接收到的通道故障反馈信息,以 及得到各协议字对应的传输方式,控制高速接口组件或低速接口组件采用双总线模式或单总线模式进行传输,该总线工作模式信息表示采用高或低速接口组件进行传输时所选用的通道,该通道故障反馈信息反映传输过程中相应通道不能正常传输。当然,还可以设定不能正常传输时进行重发的次数,如果重发次数达到预设的最大重发次数则表示相应通道不能正常传输。
在本发明实施例中,共存GJB289A总线通信系统如图2所示,包括二个或者两个以上高低速共存总线终端201,各高低速共存总线终端201包括满足GJB289A总线协议的高速接口组件2011和低速接口组件2012;高速接口组件2011通过通道A连接到主要总线(Primary Bus,简称为PBUS)上,通过通道B连接到次要总线(Secondary Bus,简称为SBUS)上;低速接口组件2012通过通道A连接到PBUS上,通过通道B连接到SBUS上;高速接口组件2011和低速接口组件2012共用连接到存储器2013,通过高低速接口组件高低速接口组件控制模块2014来控制。其中,存储器2013用来存储相关的寄存器地址和数据;高低速接口组件高低速接口组件控制模块2014用来控制高速接口组件2011和低速接口组件2012采用相应的通道进行数据发送。这样,在控制时实际上就是通过选择不同的通道来选择不同的总线进行传输。高速接口组件2011和低速接口组件2012可以采用直接耦合方式、变压器耦合方式,或者这两种耦合方式的混合方式连接到主要总线和次要总线上。
通常,低速数据速率(Low Speed,LS)为1Mbps,高速数据速率(High Speed,HS)为100Mbps,在共存GJB289A总线通信系统中,LS信号和HS信号不仅是要从速率上进行区分,还要从频率上进行区分,即要对LS信号和HS信号划分不同的频段。LS信号是以前GJB289A总线通信系统固有的信号,为了尽量利用原理的系统,不需要作更改;但是对于HS信号,可以由高速接口组件2012通过调制将HS信号搬移到中频或者高频段,这样,对HS信号进行频谱搬移,可以避免大量信号远距离传输产生的严重衰减。共存GJB289A总线通信系统中的高速信号和低速信号通过划分不同频域,可以在总线上进行混频通信。在默 认情况下,采用一路总线作为LS信号的传输通道,另一路总线作为HS信号的传输通道,即采用双总线模式进行传输,如此便分离了HS信号和LS信号,可以使该共存GJB289A总线通信系统的信噪比达到最优。但是,当默认情况不能进行正常传输时,LS信号和HS信号通过同一条总线进行混频传输,即采用单总线模式进行传输。
图3(a)是LS信号的频谱图,图3(b)是HS信号的频谱图。其中,横坐标表示信号的频率,纵坐标表示信号的能量,也就是功率。从图3中可以看出,LS信号的频段主要集中在0-2MHZ,但在2-10MHZ频段也会有一定的谐波,HS信号的频段主要集中在10-30MHZ之间(和载波的频率有关系),LS信号对HS信号造成一定的干扰。
在需要发送数据时,高低速接口组件控制模块2014控制高速接口组件2011和低速接口组件2012读取要发送的数据,并进行GJB289A协议处理,得到协议字(即GJB289A协议字),包括命令字、数据字和状态字,其格式如图4所示。所有的协议字都是20bits长,每个协议字包含3位同步位、16位数据位和1位奇偶校验位。其中,同步位和奇偶校验位被GJB289A协议用来确定信息格式和数据错误。一条GJB289A信息由一个或多个字组成,并且至少包含一个命令字。从图4中可以看出命令字、状态字的同步位一样,而数据字则不同。由于命令字、状态字需要传输的信息量比较少,所以优先使用低速接口组件2012以LS信号发送,而数据字则用高速接口组件2011以HS信号发送。然而,对于有些命令字、状态字则需要用高速接口组件以HS信号发送,例如对于一些紧急突发情况,需要提高某些终端的命令字、状态字传输速度时,可以通过16位(即协议字的4-19位)数据位中的前5位(即协议字的4-8位)来选择,这5位表示终端地址(terminal address),将要通过HS信号传输的命令字、状态字的终端地址预先设置。该普通传输方式判断条件具体为:
在协议字为数据字时,判断该协议字对应的传输方式为高速传输方式;
在协议字为命令字或状态字,但协议字的终端地址属于预先设置值时,判 断该协议字对应的传输方式为高速传输方式;
在协议字为命令字或状态字,且协议字的终端地址不属于预先设置值时,判断该协议字对应的传输方式为低速传输方式。
在以双总线模式进行传输时,可以采用主要双总线工作模式,即使LS信号工作在PBUS,HS信号工作在SBUS;也可以采用次要双总线工作模式,即使LS信号工作在SBUS,HS信号工作在PBUS。在采用双总线模式时,虽然会一直存在LS信号的谐波与HS信号的频带重叠,但是由于LS信号和HS信号不会在同一条总线中同时出现,因此LS信号的谐波不会对HS信号产生干扰。可以预先设置采用主要双总线工作模式或次要双总线工作模式进行传输,在下一次传输时,优先选择上一次的工作模式。当然,还可以根据需求设置默认的工作模式为双总线工作模式。
在采用双总线模式进行传输的过程中,如果接收到某一总线不能正常传输的通道故障反馈信息,例如接收到反映SBUS或者PBUS不能正常传输的通道故障反馈信息,则高低速接口组件控制模块2014根据接收到的反馈信息,选择另一总线,例如选择PBUS或者SBUS,继续进行传输。此时,LS信号与HS信号以混频方式同时传输。在这种情况下,接收端需要对接收到的HS信号进行提取。为了增加通信的可靠性,采用前向纠错的方法进行纠错,即在发送端加入前向纠错编码,在接收端加入前向纠错解码。
在具体实现时,可以在高低速接口组件控制模块2014中存储总线工作模式信息,由高低速接口组件控制模块2014根据存储的总线工作模式信息、接收到的通道故障反馈信息,以及得到的各协议字对应的传输方式控制高速接口组件2011或低速接口组件2012进行传输。并且,为了保证数据传输的质量,优先采用双总线模式进行传输,上述步骤S102具体为:
步骤S1021,在没有接收到通道故障反馈信息时,根据总线工作模式信息和得到的各协议字对应的传输方式,控制高速接口组件2011或低速接口组件2012采用双总线模式进行传输;
步骤S1022,在接收到通道故障反馈信息后,根据接收到的通道故障反馈信息控制高速接口组件2011和低速接口组件2012采用单总线模式通过另一总线进行传输。
这样,高低速共存总线终端201共有六种关键的工作状态,包括初始化状态、空闲状态、高速发送状态、低速发送状态、数据发送失败状态和数据发送成功状态,其作状态间的切换,即工作流程如图5所示,详述如下:
在步骤S501中,高低速共存总线终端201处于初始化状态,初始化相关的参数和寄存器;
在步骤S502中,高低速共存总线终端201处于空闲状态,在此状态准备接收信号传输;
在步骤S503中,高低速接口组件控制模块2014判断是否要发送数据,如果是则进入步骤S504,否则进入步骤S502;
在步骤S504中,高低速接口组件控制模块2014控制高低速接口组件2011和低速接口组件2012进行GJB289A协议处理得到协议字,高低速接口组件控制模块2014得到各协议字对应的传输方式;
在步骤S505中,高低速接口组件控制模块2014依次判断各协议字对应的传输方式是否为高速传输方式,如果是则进入步骤S506,否则进入步骤S507;
在步骤S506中,高低速接口组件控制模块2014根据总线工作模式信息、接收到的通道故障反馈信息控制高速接口组件2011以HS信号进行传输,高低速共存总线终端201处于高速发送状态,进入步骤S508;
在步骤S507中,高低速接口组件控制模块2014根据总线工作模式信息、接收到的通道故障反馈信息控制低速接口组件2012以LS信号进行传输,高低速共存总线终端201处于低速发送状态,进入步骤S508;
在步骤S508中,高低速接口组件控制模块2014判断接收到的数据发送反馈信息是否为数据发送成功反馈信息,如果是则进入步骤S509,否则进入步骤S510;
其中,该数据发送反馈信息包括数据发送成功反馈信息和数据发送失败反馈信息。
在步骤S509中,高低速共存总线终端201处于数据发送失败状态,进入步骤S502;
在步骤S510中,高低速共存总线终端201处于数据发送成功状态,进入步骤S502。
由于高速接口组件2011和低速接口组件2012通过不同的通道连接PBUS和SBUS,因此对通道的选择实际上就是对总线的选择,高低速接口组件控制模块2014控制高速接口组件2011和低速接口组件2012采用相应的通道发送数据,高速接口组件2011低速接口组件2012对应的通道有四种关键工作状态:开始状态、主要通道(即通道A)发送状态、次要通道(通道B)发送状态和完成状态,主要通道和次要通道工作状态间的切换,即工作流程如图6所示,详述如下:
在步骤S601中,处于开始状态,主要通道重发次数和次要通道重发次数初始化为0,将高速接口组件2011通道选择参数初始化为1,低速接口组件2012通道选择参数初始化为0;
这里,由通道选择参数表示发送数据的通道,通道选择参数为“1”表示选择主要通道发送数据,通道选择参数为“0”表示选择次要通道发送数据。
在步骤S602中,高低速接口组件控制模块204判断通道选择参数是否为1”,如果是则进入步骤S603,否则进入步骤S606;
在步骤S603中,高低速接口组件控制模块204判断主要通道重发次数是否小于预设的主要通道重发阈值,如果是则进入步骤S604,否则进入步骤S610;
其中,预设的主要通道重发阈值表示可以进行重发的次数,根据实际需求设置。
在步骤S604中,处于主要通道发送状态,完成一次数据发送后主要通道重发次数加1;
在步骤S605中,高低速接口组件控制模块2014判断接收到的数据发送反馈信息是否为数据发送成功反馈信息,如果是则进入步骤S609,否则进入步骤S603;
在步骤S606中,高低速接口组件控制模块204判断次要通道重发次数是否小于预设的次要通道重发阈值,如果是则进入步骤S607,否则进入步骤S610;
其中,预设的次要通道重发阈值表示可以进行重发的次数,根据实际需求设置。
在步骤S607中,处于次要通道发送状态,完成一次数据发送后次要通道重发次数加1;
在步骤S608中,高低速接口组件控制模块2014判断接收到的数据发送反馈信息是否为数据发送成功反馈信息,如果是则进入步骤S609,否则进入步骤S606;
在步骤S609中,发送结束,处于完成状态;
在步骤S610中,高低速接口组件控制模块204判断主要通道重发次数等于预设的主要通道重发阈值,并且次要通道重发次数等于预设的次要通道重发阈值,如果是进入步骤S609,否则进入步骤S611。
在步骤S611中,更改通道选择参数。
进一步地,为了满足用户进行传输的不同需要,作为本发明的一个优先实施例,该高低速共存总线终端数据发送控制方法还包括:
根据接收到的高中速替换信息,控制高速接口组件采用中速传输方式进行传输。
为了便于用户根据需要控制传输方式,作为本发明的另一个优先实施例,在步骤S101前,还包括:
根据接收到的设置信息将普通传输方式判断条件修改为指定传输方式判断条件。
该指定传输方式判断条件具体为:
优先根据协议字附带的指定传输方式确定相应协议字对应的传输方式;
在协议字附带的指定传输方式不能正常传输时,根据普通传输方式判断条件确定相应协议字对应的传输方式。
此时,在步骤S101判断各协议字对应的传输方式时,根据各协议字附带的确定各协议字对应的传输方式,在协议字附带指定传输方式不能正常传输时,根据普通传输方式判断条件确定相应协议字对应的传输方式。
在本发明实施例中,传输方式还包括中速传输方式,高低速接口组件控制模块2014根据接收到用户输入的高中速替换信息,将高速接口组件2011的高速传输方式替换为中速传输方式,或将高速接口组件2011的中速传输方式替换为高速传输方式。在采用中速传输方式时,控制高速接口组件2011采用中速数据速率(Intermediate Speed,IS)信号进行传输,中速数据速率为20Mbps或10Mbps。在这种情况下,通信速率降低,与HS以IS发送信号相比,将提高系统传输的可靠性。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等,该程序用来执行如下步骤:
根据普通传输方式判断条件,判断高、低速接口组件进行GJB289A协议处理得到的各协议字对应的传输方式;
根据总线工作模式信息、接收到的通道故障反馈信息,以及得到各协议字对应的传输方式,控制高速接口组件或低速接口组件采用双总线模式或单总线模式进行传输。
图7示出了本发明实施例提供的高低速接口组件控制模块的结构,为了便于说明仅示出了与本发明实施例相关的部分。
该高低速接口组件控制模块可以用于高低速共存总线终端,其结构如图2中的高低速共存总线终端201所示,该高低速共存总线终端应用于共存 GJB289A总线通信系统中。高低速接口组件控制模块可以是运行于这些终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中,其中:
传输方式判断单元701,根据普通传输方式判断条件,判断高、低速接口组件进行GJB289A协议处理得到的各协议字对应的传输方式,该传输方式包括高速传输方式和低速传输方式,普通传输方式判断条件及具体实现方式如上所述,不再赘述。
传输控制单元702,根据总线工作模式信息、接收到的通道故障反馈信息,以及传输方式判断单元701得到各协议字对应的传输方式,控制高速接口组件或低速接口组件采用双总线模式或单总线模式进行传输,该总线工作模式信息表示采用高或低速接口组件进行传输时所选用的通道,该通道故障反馈信息反映传输过程中相应通道不能正常传输。传输控制单元702进行传输控制的方式具体为:在没有接收到通道故障反馈信息时,传输控制单元702根据总线工作模式信息和得到的各协议字对应的传输方式,控制高速接口组件2011或低速接口组件2012采用双总线模式进行传输;在接收到通道故障反馈信息后,传输控制单元702根据接收到的通道故障反馈信息控制高速接口组件2011和低速接口组件2012采用单总线模式通过另一总线进行传输,其具体实现方式如上所述,不再赘述。
在具体实现时,可以采用微控制器(Microcontroller Unit,MCU)、集成电路(ASIC),以及类似微控制器的可编程控制器件等来实现。
进一步地,为了满足用户进行传输的不同需要,作为本发明的一个优先实施例,该高低速接口组件控制模块还包括:
高中速替换单元703,根据接收到的高中速替换信息,将高速接口组件的高速传输方式替换为中速传输方式,或将高速接口组件的中速传输方式替换为高速传输方式,其具体实现方式如上所述,不再赘述。
为了便于用户根据需要控制传输方式,作为本发明的另一个优先实施例, 该高低速接口组件控制模块还包括:
判断条件修改单元704,根据接收到的设置信息将普通传输方式判断条件修改为指定传输方式判断条件,该指定传输方式判断条件如上所述,不再赘述。。
此时,传输方式判断单元701在判断各协议字对应的传输方式时,优先根据协议字附带的指定传输方式确定相应协议字对应的传输方式,在协议字附带的指定传输方式不能正常传输时,根据普通传输方式判断条件确定相应协议字对应的传输方式。
在本发明实施例中,根据普通传输方式判断条件,判断高、低速接口组件进行GJB289A协议处理得到的各协议字对应的传输方式,然后结合总线工作模式信息、接收到的通道故障反馈信息,控制高速接口组件或低速接口组件采用双总线模式或单总线模式进行传输,实现了一种高低速共存总线终端数据发送控制方法,解决了高低速共存总线终端的数据发送问题,兼容现有GJB289A总线通信系统,不影响原来的通信系统传输。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。