本发明涉及服务器技术领域,具体涉及一种串行总线协议兼容通信方法、系统、终端及存储介质。
背景技术:
i2c(inter-integratedcircuit)总线是由philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。i2c通过串行数据(sda)线和串行时钟(scl)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器(由器件的功能决定)。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。
现有i2c兼容方法包括,控制器具有用于在所述时钟线和所述数据线的组合控制下控制从所述其他节点并行地接收多个数据比特或控制向所述其他节点供应多个数据比特的操作模式。
但现有兼容方法仅仅实现了接口并行传输,而且复用了时钟线,提高了故障概率,一旦时钟线或者其中一根数据线出现故障,所有8组i2c总线全部会瘫痪,同时针对i2c总线少于8组的通信系统无法进行适配。
技术实现要素:
针对现有技术的上述不足,本发明提供一种串行总线协议兼容通信方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种串行总线协议兼容通信方法,包括:
设置连接主器件与第一从器件的第一链路组,设置连接主器件与第二从器件的第二链路组;
设置通过所述第一链路组和第二链路组与主器件相连的第三从器件;
分别向所述第一从器件、第二从器件和第三从器件分配地址;
利用所述第三从器件监听所述第一链路组和第二链路组的运行状态。
进一步的,所述方法还包括:
所述第三从器件监听到故障链路,获取所述故障链路所属的链路组,并将所属链路组作为故障链路组上报主器件;
所述第三从器件不再监听故障链路组。
进一步的,所述方法还包括:
所述主器件定期通过第一链路组向第三从器件发送第一测试信息;
所述主器件定期通过第二链路组向第三从器件发送第二测试信息。
第二方面,本发明提供一种串行总线协议兼容通信系统,包括:
兼容设置单元,配置用于设置连接主器件与第一从器件的第一链路组,设置连接主器件与第二从器件的第二链路组;
三方设置单元,配置用于设置通过所述第一链路组和第二链路组与主器件相连的第三从器件;
地址分配单元,配置用于分别向所述第一从器件、第二从器件和第三从器件分配地址;
监听执行单元,配置用于利用所述第三从器件监听所述第一链路组和第二链路组的运行状态。
进一步的,所述系统还包括:
故障监听单元,配置用于所述第三从器件监听到故障链路,获取所述故障链路所属的链路组,并将所属链路组作为故障链路组上报主器件;
监听管理单元,配置用于所述第三从器件不再监听故障链路组。
进一步的,所述系统还包括:
第一测试单元,配置用于所述主器件定期通过第一链路组向第三从器件发送第一测试信息;
第二测试单元,配置用于所述主器件定期通过第二链路组向第三从器件发送第二测试信息。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的串行总线协议兼容通信方法、系统、终端及存储介质,将多组i2c结合起来,支持并行通信,并具备更好的故障修复和监控机制,极大的提高了总线传输速率,提高了安全性与稳定性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的原理示意图。
图3是本发明一个实施例的系统的示意性框图。
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种串行总线协议兼容通信系统。
如图1所示,该方法包括:
步骤110,设置连接主器件与第一从器件的第一链路组,设置连接主器件与第二从器件的第二链路组;
步骤120,设置通过所述第一链路组和第二链路组与主器件相连的第三从器件;
步骤130,分别向所述第一从器件、第二从器件和第三从器件分配地址;
步骤140,利用所述第三从器件监听所述第一链路组和第二链路组的运行状态。
具体的,请参考图2,所述串行总线协议兼容通信方法包括:
从器件1使用原有i2c1链路,从器件2使用原有i2c2链路,从器件3同时使用i2c1和i2c2链路这样既可以兼容原有i2c通信,又能满足类似从器件3的高速并行通信。
为了避免并行通信情况下极低概率出现触发原有串行通信的情况,即在并行的sda1偶然触发了从器件1的地址,在器件地址设定时,将挂载在i2c1上的从器件(例如从器件1)地址均设为00xxxxxx,而使用并行通信的从器件(例如从器件3)地址均设置为01xxxxxx。凭借该地址设计方法,设计人员可以简单的推广和应用到有更多组i2c链路的情况。
并行通信模式下,在所有线路正常工作时,将使用scl1作为时钟信号,sda1和scl2、sda2作为数据信号,三者将同时在数据传输时产生start信号被从器件3所感知。
3条数据线中某一条线路,例如scl2出现故障时,由于无法同步产生start信号,被从器件3感知后将放弃监听该条链路的信号,按照原有设计顺序递推,只监听sda1和sda2的信号。
主器件需要设置监听模块,当出现链路故障时,将对应的链路标记为故障,在发出和接收通信时不再使用该条链路,与从器件保持一致。
具体管理方法为:
控制链路通信,处理串行和并行的电平变化。分析i2c总线传来的数据,并与内部寄存器中的数据进行关联。此外,如果开启校验功能,将会拦截不满足校验条件的读写操作,保护系统安全。内部寄存器:包含各项详细配置,如:安全校验开关、故障器件标记等,简述如下:安全校验开关:开启后,从器件地址以及offset地址不符的操作将会被拒绝发起。故障器件标记:开启后,如果某个地址的从器件持续访问失败,认为该器件故障。计时器,负责记录总线时序,保证建立时间与保持时间在合理阈值内,超过阈值认为通信存在异常,将相关寄存器置位告知上层应用程序。
如图3所示,该系统300包括:
兼容设置单元310,配置用于设置连接主器件与第一从器件的第一链路组,设置连接主器件与第二从器件的第二链路组;
三方设置单元320,配置用于设置通过所述第一链路组和第二链路组与主器件相连的第三从器件;
地址分配单元330,配置用于分别向所述第一从器件、第二从器件和第三从器件分配地址;
监听执行单元340,配置用于利用所述第三从器件监听所述第一链路组和第二链路组的运行状态。
可选地,作为本发明一个实施例,所述系统还包括:
故障监听单元,配置用于所述第三从器件监听到故障链路,获取所述故障链路所属的链路组,并将所属链路组作为故障链路组上报主器件;
监听管理单元,配置用于所述第三从器件不再监听故障链路组。
可选地,作为本发明一个实施例,所述系统还包括:
第一测试单元,配置用于所述主器件定期通过第一链路组向第三从器件发送第一测试信息;
第二测试单元,配置用于所述主器件定期通过第二链路组向第三从器件发送第二测试信息。
图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的串行总线协议兼容通信方法。
其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器410可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。
因此,本发明将多组i2c结合起来,支持并行通信,并具备更好的故障修复和监控机制,极大的提高了总线传输速率,提高了安全性与稳定性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
1.一种串行总线协议兼容通信方法,其特征在于,包括:
设置连接主器件与第一从器件的第一链路组,设置连接主器件与第二从器件的第二链路组;
设置通过所述第一链路组和第二链路组与主器件相连的第三从器件;
分别向所述第一从器件、第二从器件和第三从器件分配地址;
利用所述第三从器件监听所述第一链路组和第二链路组的运行状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第三从器件监听到故障链路,获取所述故障链路所属的链路组,并将所属链路组作为故障链路组上报主器件;
所述第三从器件不再监听故障链路组。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主器件定期通过第一链路组向第三从器件发送第一测试信息;
所述主器件定期通过第二链路组向第三从器件发送第二测试信息。
4.一种串行总线协议兼容通信系统,其特征在于,包括:
兼容设置单元,配置用于设置连接主器件与第一从器件的第一链路组,设置连接主器件与第二从器件的第二链路组;
三方设置单元,配置用于设置通过所述第一链路组和第二链路组与主器件相连的第三从器件;
地址分配单元,配置用于分别向所述第一从器件、第二从器件和第三从器件分配地址;
监听执行单元,配置用于利用所述第三从器件监听所述第一链路组和第二链路组的运行状态。
5.根据权利要求4所述的系统,其特征在于,所述系统还包括:
故障监听单元,配置用于所述第三从器件监听到故障链路,获取所述故障链路所属的链路组,并将所属链路组作为故障链路组上报主器件;
监听管理单元,配置用于所述第三从器件不再监听故障链路组。
6.根据权利要求4所述的系统,其特征在于,所述系统还包括:
第一测试单元,配置用于所述主器件定期通过第一链路组向第三从器件发送第一测试信息;
第二测试单元,配置用于所述主器件定期通过第二链路组向第三从器件发送第二测试信息。
7.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-3任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的方法。
技术总结