本实用新型属于电子技术领域,涉及一种主器件与从器件可自适应替换的主从系统。
背景技术:
常规的主从电路拓扑结构得到广泛使用。如图1所示,主从拓扑结构是指在一个由n颗器件(n>=2)组成的电子产品系统中,存在一颗主器件和n-1颗从器件,主器件负责实现整个系统的总体控制,以及主器件与从器件之间的交互。
目前大多数的主从电路均采用这种主从拓扑机构,其特点是:系统与外界的交互仅由主器件来完成;在系统内部,从器件不能主动发起交互,只能被动地等待主器件发出交互命令后给予响应,所以从器件与从器件之间也不能交互。整个系统与外界的交互,通常也通过与主器件来完成,但不是必需。这种架构的优点是系统架构简明,对内、对外都非常简洁(只需要考虑主器件如何实现整个系统的管理),因而易于掌握和使用,而且综合成本低(主器件的成本高于从器件,主器件用的越多则系统成本越高)。采用i2c总线构建的系统就是一种典型的主从电路拓扑结构。
但是,常规的主从电路拓扑结构的最大缺点是系统严重依赖主器件,一旦主器件出现工作异常,则整个系统也将瘫痪,整个系统的冗余度和鲁棒性非常脆弱。
技术实现要素:
有鉴于此,本实用新型实的目的在于提供一种主器件与从器件可自适应替换的主从系统,以解决现有的技术的不足。
本实用新型的目的可通过下列技术方案来实现:一种主器件与从器件可自适应替换的主从系统,其特征在于,包括至少两个用于作为主器件/从器件的可主器件、若干个仅用于作为从器件的不可主器件和总线网络,每个所述可主器件和每个所述不可主器件均和所述总线网络连接,各个所述可主器件通过按序、指定或者随机选取确定选取其中的一个作为整个系统的主器件,除该可主器件外的其他可主器件暂作为从器件直至主器件出现问题。
在上述的主器件与从器件可自适应替换的主从系统中,在各个所述可主器件上进行相应的排序编号为:m1-mx,x≥2;在各个所述不可主器件上进行相应的排序编号为:n1-nx,n≥2。
在上述的主器件与从器件可自适应替换的主从系统中,所述总线网络上还连接有用于产生时钟信号的时钟电路、用于预设信数据信息的数据存储器和用于输入一个“选举主器件”的中断信号的中断信号发生器。
在上述的主器件与从器件可自适应替换的主从系统中,所述中断信号发生器在作为主器件的可主器件出现问题时强制启动产生一个“选举主器件”的中断信号。
在上述的主器件与从器件可自适应替换的主从系统中,各个暂作为从器件的可主器件和各个不可主器件均能够产生自身的识别码,作为主器件的可主器件启动交互指令,然后逐一报出各识别码,相应的各个暂作为从器件的可主器件和各个不可主器件逐一响应进行交互。
与现有技术相比,本主器件与从器件可自适应替换的主从系统具有以下优点:既维持了常规主从电路拓扑结构的内、外简洁的优点,又有效地提高了整个系统的冗余度,改善了系统的鲁棒性。系统的冗余度与系统中的可主器件数量成正比。
附图说明
图1是现有技术中的主从系统的原理图。
图2是实施例中主器件与从器件可自适应替换的主从系统的原理图。
图3是实施例中作为主器件的可主器件失效时的系统状态图。
图4是实施例中主器件与从器件可自适应替换的主从系统工作流程图。
具体实施方式
以下是本实用新型的具体实施例并结合附图,对本实用新型的技术方案作进一步的描述,但本实用新型并不限于这些实施例。
如图2、图3所示,本种主器件与从器件可自适应替换的主从系统包括至少两个用于作为主器件/从器件的可主器件、若干个仅用于作为从器件的不可主器件和总线网络,每个的可主器件和每个的不可主器件均和总线网络连接,总线网络上还连接有用于产生时钟信号的时钟电路、用于预设信数据信息的数据存储器和用于输入一个“选举主器件”的中断信号的中断信号发生器。中断信号发生器在作为主器件的可主器件出现问题时强制启动产生一个“选举主器件”的中断信号。在各个的可主器件上进行相应的排序编号为:m1-mx,x≥2;在各个的不可主器件上进行相应的排序编号为:n1-ny,y≥2。
各个暂作为从器件的可主器件和各个不可主器件均能够产生自身的识别码,作为主器件的可主器件启动交互指令,然后逐一报出各识别码,相应的各个暂作为从器件的可主器件和各个不可主器件逐一响应进行交互。
如图4所示,本系统的工作过程包括初始化、器件识别、工作、主器件失效判断和主器件的自适应替换。
在实际系统构成中,各个的可主器件通过按序、指定或者随机选取确定选取其中的一个作为整个系统的主器件,除该可主器件外的其他可主器件暂作为从器件直至主器件出现问题。具体来说:
(1)、按序选择即按照编号顺序在可主器件中依次顺序或倒序等方式进行选择主器件;
(2)、指定是指通过某种人为的手段事先指定某个器件为主器件。指定法的实现方法很多,可分为硬件法、软件法:
硬件法的一个实现实例是将目标主器件的某个输入引脚强制接为特殊状态,比如为高电平,而将其他器件的相应引脚强制接为低电平,或者相反。硬件法的使用限制是要求器件必须配置这样的一个引脚,而器件未必有这样的引脚。
软件法的一个实现实例是将目标主器件的某个存储位置置为某个特定的值,而将其他器件的相应存储位置置为其他值。软件法的使用限制比硬件法低,通常都能得到满足。软件法的另一个实现实例是将目标主器件写入具有主器件功能的执行代码,而将其他器件写入一般性的执行代码。
(3)、随机法是指不需要人为干预,系统自动产生主器件,其优点是完全实现过程全自动,缺点是需要更多的时间。
随机法的一种实现如下所示:假设系统中有m个可主器件,通过一组至少包含时钟信息和数据信息的总线相连,以及同时接入一个“选举主器件”的中断信号,在整个系统第一次上电做初始化处理时,由系统提供中断信号作为所有器件的总同步信号,一旦接收到该中断信号,每个器件独立地产生一个随机数,假如某个或几个器件所产生的随机数为特定值(0、或者最大值、或者其它任意指定值均可),则视为已经找到候选主器件;如果所有器件的随机数都不是该特定值,则本中断周期结束,开始新的周期,直至出现候选主器件为止。
随机法有可能产生冲突,即在某个周期内可能同时出现多个候选主器件。解决这种冲突的方法有很多,其中一种实现实例是:采用第二步随机法,让所有进入候选清单的器件再产生随机数,直至取得指定值为止。
需要指出的是,上述软件法指定和随机法选择是本领域常用的选择方式,因此不再做过多赘述。
在选定主器件后,主器件必须接管整个系统的控制工作,并且识别系统中的其他器件。虽然同样可以人为地为每个器件进行编号,但也可以由主器件对其他器件做识别和编号。
可主从器件识别的方法有很多,本实施例简单介绍一种如下:可主从器件同时产生随机数,主器件依自然数顺序作为器件编号发出握手信号,当可主从器件的随机数与器件编号相同时,该器件做出响应,完成握手。主器件做出登记,从器件则编制自己的识别号。如果担心有冲突,则同样可以采用多步随机法。
不可主从器件的器件识别号一般是事先确定且不可配置的,但同样可以采用上述方法来识别。
主器件与从器件的交互过程:
主器件启动交互指令,然后逐一报出各从器件的识别码,相应的从器件逐一响应。存在多个可主器件的系统中适用的交互类型,并且仅能与可主器件进行交互。
当主器件出现异常时,可主从器件替换为主器件的方法,也有两种:随机法、权重法。
其中随机法同上述描述,当系统判别主器件异常时,强制启动主器件选举中断信号,各器件重新进入主器件选择流程,原主器件因为故障,会自动退出选举。
权重法:因为系统已经完成初始化,各器件均已经被编号,所以可以按照编号由小到大或者由大到小的自然顺序,指定新的主器件。一种实现实例为:原主器件故障后,系统自动产生“主器件选举”中断信号,当中断次数与某器件的编号相同时,该器件称为主器件。因为各器件已经编号,所以新的主器件只需要用自然顺序法一一识别原来的编号,或者从原主器件中读出信息(如果可读)即可。
上述替换主器件的方法也属于本领域常见的方法,因此无需过多阐述。
本文中所描述的具体实施例仅仅是对本实用新型精神作举例说明。本实用新型所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本实用新型的精神或者超越所附权利要求书所定义的范围。
1.一种主器件与从器件可自适应替换的主从系统,其特征在于,包括至少两个用于作为主器件/从器件的可主器件、若干个仅用于作为从器件的不可主器件和总线网络,每个所述可主器件和每个所述不可主器件均和所述总线网络连接,各个所述可主器件通过按序、指定或者随机选取确定选取其中的一个作为整个系统的主器件,除该可主器件外的其他可主器件暂作为从器件直至主器件出现问题。
2.根据权利要求1所述主器件与从器件可自适应替换的主从系统,其特征在于,在各个所述可主器件上进行相应的排序编号为:m1-mx,x≥2;在各个所述不可主器件上进行相应的排序编号为:n1-nx,n≥2。
3.根据权利要求1或2所述主器件与从器件可自适应替换的主从系统,其特征在于,所述总线网络上还连接有用于产生时钟信号的时钟电路、用于预设信数据信息的数据存储器和用于输入一个“选举主器件”的中断信号的中断信号发生器。
4.根据权利要求3所述主器件与从器件可自适应替换的主从系统,其特征在于,所述中断信号发生器在作为主器件的可主器件出现问题时强制启动产生一个“选举主器件”的中断信号。
5.根据权利要求1或2所述主器件与从器件可自适应替换的主从系统,其特征在于,各个暂作为从器件的可主器件和各个不可主器件均能够产生自身的识别码,作为主器件的可主器件启动交互指令,然后逐一报出各识别码,相应的各个暂作为从器件的可主器件和各个不可主器件逐一响应进行交互。
技术总结