多主机总线的制作方法

文档序号:11814682阅读:283来源:国知局
多主机总线的制作方法与工艺

本公开涉及通信总线和总线协议,其允许多个模块成为主机,即发起通过总线的交易。



背景技术:

I²C是可以用于将低速外设附接到母板、嵌入式系统、手机或其它电子设备的串行计算机总线类型。典型地,I²C使用在印刷电路板(PCB)上以将有限数目的从设备连接到一个主机微控制器。尽管如此,但是,I²C协议允许多个主机,即可以每一个发起通过总线的交易(以便向另一模块提供指令或信息,或者从另一模块读取信息)的多个模块。甚至可能的是,每一个参与者都是主机。另外,I²C可以用于经由线缆连接组件,而不是仅在一个PCB内。

然而,将系统放大到通过线缆连接在一起的多个控制器可以大幅增加对外部扰动(其在设计阶段是未知的)的敏感性。设计不能保证通信线路上的扰动的缺失。已知在其中I²C用于较长距离之上的通信(例如经线缆的通信)的情况中使用“缓冲”集成电路。这些缓冲IC改进可靠性但是添加费用。



技术实现要素:

将合期望的是制作更加适合用于提供跨较宽范围的应用(诸如照明控制系统)的通信接口的诸如I²C之类的接口系统。这可以提供优点但是还有挑战。例如,多个组件中的任一个或甚至每一个组件可以成为系统内的主机,从而允许信息在其被需要的时刻处的快速交换而不需要一次又一次地轮询每一个模块。然而,在有噪声的环境中使用比如I²C那样的多主机系统是一项挑战,因为通信线路可能遭受扰动,经常降低通信总线的可用性。

总线上的这样的扰动或“毛刺”可以导致总线上的一个或多个组件中的错误条件。例如,所有I²C总线主机连续监视总线。当总线可用时,一个总线主机可以通过总线传输数据。该传输的开始信号将被其它总线主机检测到,其将触发其它总线主机中的“总线繁忙”等待状态。该等待状态将维持直到检测到传输的停止信号。因此,如果一个或多个总线主机将总线上的毛刺解释为传输的开始,则作为毛刺的结果,那些总线主机将进入等待状态,并且然后无限地保持在该等待状态(因为将不存在停止信号的对应传输)。

错误条件还可以在总线上的扰动导致模块变成卡在输出总线上的某个有错误的信号时产生。例如根据I²C协议,被寻址的模块应当在八个时钟脉冲内接收八个数据位,并且然后通过在第九位上将时钟线(SCL)拉低来确认。如果总线上的扰动导致与数据不同步地经历的额外、异常时钟脉冲,这可以导致所寻址的模块变成卡在其中其继续无限地保持时钟线为低的状态中。因此,总线卡在表面上“繁忙”状态,阻挡任何其它通信。

类似的问题还可以发生在允许多个主机模块的可能性的其它总线系统中。一般地,存在潜在许多可能的场景,其中未被预期或允许的状态变换可以导致模块挂起或阻塞总线。

在单个主机设置内,这样的问题克服起来相对直接,因为单个控制器决定在总线上发生什么,并且控制和介入可以容易地由该单个控制器执行。另一方面,在使用多主机方案的情况下,没有单个控制器知晓总线是否被禁用或者是否另一主机正在使用总线以用于有效通信。将合期望的是尝试改进基于I²C的系统或允许多个主机的其它接口系统中的可靠性。

因而,在其中多个参与者可以是主机并且任何一个可以在任何给定时间阻塞总线而没有系统或其它参与者能够标识该设备的系统中,将合期望的是提供快速且有序地释放总线以重获对通信线路的控制的机构。

为了解决这样的问题,本文公开了一种故障恢复机构,其中主机模块通过随后一系列相继恢复阶段直到解决错误来响应于错误条件,每一个阶段比上一个更苛刻。

根据本文所公开的一个方面,提供了一种系统,包括:总线,连接到总线的多个主机模块,以及配置成尝试多个重置阶段的分布式重置子系统。

多个主机模块中的每一个包括可操作成发起通过总线的交易的相应总线通信逻辑。总线通信逻辑配置成当另一模块通过总线通信(或表面上存在另一通信)时检测繁忙状态。响应于检测到繁忙状态,总线通信逻辑在发起通过总线的交易之前等待,直到该状态被清除。

分布式重置子系统包括多个主机模块中的每一个相应一个处的重置机构的实例。每一个主机模块处的重置机构配置成识别指示所检测到的繁忙状态是由于错误的超时条件,并且响应于识别到超时条件而执行阶段化重置。阶段化重置首先尝试本地重置,其重置相应主机模块的相应总线通信逻辑。如果本地重置未能清除错误,阶段化重置过程随后尝试一个或多个另外的重置阶段,以重置连接到总线的一个或多个其它模块的总线通信逻辑。

在实施例中,一个或多个另外的重置阶段可以至少包括:重置连接到总线的多个其它模块的总线通信逻辑的重置。这可以包括重置连接到总线的所有模块的总线通信逻辑的重置。

在实施例中,一个或多个另外的重置阶段可以至少包括连接到所述总线的一个或多个其它模块的硬重置,硬重置包括功率重置和/或经由相应其它模块的引脚的重置。

根据一些应用,系统包括总线上的附加“哑”功能参与者——从机,或未配备有本文所公开的重置机构的实例的主机。这可以是情形进一步复杂化,因为这些设备不具有检测总线上的问题或修正它的可能性。

因而在实施例中,一个或多个另外的重置阶段可以至少包括:重置连接到总线的一个或多个哑模块的重置。这可以包括至少一个或多个哑模块的硬重置。

在实施例中,阶段化重置可以至少包括三阶段重置。在该情况中,另外的重置阶段包括,按顺序地:重置连接到总线的一个或多个其它模块的总线通信逻辑的软重置,通过在总线之上发送重置信号;以及随后,如果软重置未能重置错误,连接到所述总线的一个或多个其它模块的硬重置。软重置可以重置连接到总线的所有其它模块,其可以包括以上提到的种类的哑设备。硬重置可以重置至少一个哑设备。硬重置可以经由与所述总线分离的控制线来信令。

根据示例性应用,总线可以包括线缆。线缆可以包括无屏蔽线缆。在一个特定应用中,所公开的机构可以使用在智能照明系统中,利用I²C总线等以用于模块之间的经线缆通信。已经发现,这样的系统对来自诸如电梯、空气调节和/或加热之类的其它实体的噪声特别敏感。例如,已经发现电梯门的打开和关闭导致由照明系统的线缆承载的信号中的毛刺。因而在实施例中,经由线缆连接的多个主机模块中的每一个可以配置有根据本文中的公开内容的重置机构的实例。例如在智能照明系统中,其中每一个照明器包括连接到总线线缆的主机模块,每一个这样的主机可以配置有本文所公开的重置机构的实例。

在实施例中,每一个主机模块可以包括处理器,并且重置机构实现在运行于处理器上的软件中。因而可以提供分布式、多阶段重置机构,其具有改进的鲁棒性而不需要添加否则将会增加BOM(材料清单)成本的额外组件。

在实施例中,每一个相应主机模块的重置机构可以配置成使用相应唯一超时值来识别所述超时条件,其在连接到总线的多个主机模块之中唯一。以此方式,可以避免每一个模块试图同时重置。例如,每一个相应唯一超时值可以是基于相应主机模块的地址或序列号。

根据本文所公开的另一方面,提供了一种第一主机模块以用于用作连接到总线的多个主机模块中的一个,每一个包括可操作成发起通过总线的交易的总线通信逻辑。第一主机模块的相应总线通信逻辑配置成检测总线的繁忙状态,并且作为响应制止发起通过总线的交易,直到清除繁忙状态。第一主机模块包括配置成识别指示所检测到的繁忙状态是由于错误的超时条件,并且响应于识别到超时条件而执行阶段化重置的重置机构。阶段化重置首先尝试本地重置,其重置第一主机模块的总线通信逻辑,并且如果本地重置未能重置错误,随后尝试一个或多个另外的重置以重置连接到所述总线的多个其它模块的总线通信逻辑。

根据本文所公开的又一方面,提供了一种计算机程序产品,用于至少操作作为连接到总线的多个主机模块中的一个的第一主机模块,每一个包括可操作成发起通过总线的交易的总线通信逻辑。计算机程序产品包括体现在计算机可读介质上并且配置成以便当在第一主机模块的处理器上执行时施行以下操作的代码:实现第一主机模块的总线通信逻辑的至少部分,包括检测总线上的繁忙状态,并且作为响应,使总线通信逻辑在繁忙状态期间制止发起通过总线的交易;识别指示所检测到的繁忙状态是由于错误的超时条件;并且响应于识别到超时条件而执行阶段化重置;其中阶段化重置首先尝试重置第一主机模块的总线通信逻辑的本地重置,并且如果本地重置未能清除错误,随后尝试一个或多个另外的重置以重置连接到所述总线的多个其它模块的总线通信逻辑。

附图说明

为了帮助理解本公开内容并且示出实施例可以如何付诸实践,通过使用的方式参照附图,其中:

图1是总线和所连接的模块的示意性框图,

图1a是照明系统的示意性框图,

图2是主机模块的示意性框图,

图3是重置过程的示意性流程图,

图4a-4c示意性地图示了一些示例重置场景,以及

图5是主机和相关从机的示意性框图。

具体实施方式

下文呈现用于在I²C多主机设置等中快速且可靠地从扰动恢复,因而允许可靠通信而不管例如在照明系统和/或其中模块与线缆连接的系统中可能经历的扰动的方法。方法允许包括I²C使能设备的多个模块一起工作以在扰动使通信总线瘫痪之后以组织化的方式恢复。模块不需要具有系统如何构造以便操作的在先知识。主机模块每一个至少包括运行所公开的方法的微控制器,并且还允许不必配置有附加鲁棒措施的标准I²C功能模块。

故障恢复机构实现在多个主机I²C模块中的每一个中,其中这些主机模块中的每一个通过随后一系列恢复步骤响应于错误条件,直到解决错误,每一个步骤比上一个更严苛。在实施例中,机构采用以下观察,在原理上等待状态应当从未持续长于由数据传输的最大长度确定的时间段。I²C允许任何长度的通信,但是在给定系统内最大消息长度可以是已知的,并且超时选择成长于最大消息长度以允许某个安全裕度。

作为第一恢复步骤,主机模块响应于“看门狗计时器”届满而实现内部软重置。看门狗计时器的持续时间是基于数据传输的最大长度(加上安全裕度),并且可选地基于一个或多个其它、组件特定参数。软重置的结果是主机模块将总线视为可用于传输。

作为第二恢复步骤,仅在第一恢复步骤在预确定的时间段内未示出成功的情况下实现,主机模块将尝试通过传输标准I²C总线重置(时钟线上的九个脉冲)来重置总线。

作为第三恢复步骤,仅在第二恢复步骤在预确定的时间段内未示出成功的情况下实现,主机模块将为了清除错误而使其自身的相关模块功率循环。

现在结合图1至7来更加详细地描述一些示例性实施例。

图1图示了包括通信总线2和连接到总线2的多个模块6,8的系统,使得模块之间的通信可以根据合适的总线协议来进行。在实施例中,总线2是I²C总线,通信通过其根据I²C协议进行。连接到总线2并且布置成根据相关总线协议通过总线2传送和/或接收消息的模块6,8可以被称为该总线的参与者。在本情况中,总线参与者至少包括多个“智能”主机模块6和一个或多个“哑”模块8。

如在下文中使用的“智能”模块是指主机模块,其包括依照本文所公开的实施例的重置机构的实例,并且其优选地包括布置成执行软件以用于控制连接到总线2的一个或多个其它模块6,8的微控制器或其它处理器。“哑”模块是指从机模块,或者主机模块,但是是仅根据标准或之前已知的总线技术配置并且不具有依照本文所公开的实施例的重置机构的一个。例如“哑”模块可以是标准I²C模块。哑模块可以实现在专用硬件中,或仅编程有有限功能性的微控制器中。在实施例中,哑模块8中的一个、一些或全部可以是从机。可替换地,每一个总线参与者可以是主机模块。在下文中作为示例,将假定每一个哑模块8是从机。然而,将领会到,情况不必在所有实施例中都是这样。

每一个主机模块6包括总线通信逻辑10,其配置成依照其相应模块的主机状态而通过总线2与其它模块6,8通信。主机模块6是可以自主访问总线2的一个,即可以向总线上发布消息而没有首先被轮询或从连接到总线2的另一模块接收请求。也就是说,主机6是可以发起通过总线的交易的模块。另一方面,从机8仅可以接收消息和响应于所接收到的消息。从机自身不能发起交易。每一个从机8包括(有限)总线通信逻辑11以用于根据总线协议而接收和响应于通过总线2的消息。

如通过总线2的通信那样,模块6,8中的每一个还具有提供模块的“最终使用”或目的的某种其它功能性。例如,在照明系统中,一些模块可以每一个包括相应灯或光源,其布置成光照空间(例如室内空间,诸如房间、走廊、大厅、剧院、工作场所等;或室外空间,诸如花园、公园、体育场等;或者任何其它空间,诸如车辆内部)。一个或一些模块可以包括提供其它种类的功能性的设备,诸如智能存在传感器。存在传感器是检测人员在空间中的存在的设备,例如通过检测运动和/或热量。存在传感器通过其可以操作的示例技术包括被动红外(PIR)或超声。其它示例可以包括存储器设备,诸如EEPROM,和/或用于经由总线2控制一个或多个灯和/或传感器的控制器。

每一个主机模块6可以在总线2上从另一模块6,8请求数据,例如以请求状态信息。每一个主机模块还可以向总线2上的另一模块6,8发送数据,例如以控制它提供某种功能性,或者以在那里提供或存储信息。

在实施例中,每一个模块6,8还可以连接到分离功率供给线4,诸如以太网供电连接,其为模块6,8的前端功能性供电。例如在照明器的情况中,该功率供给4可以连接到照明器的(多个)光源的驱动器。可替换地,模块6,8中的一些或全部可以每一个提供有其自身的单独功率供给,或者功率供给可以合并到通信总线2中。无论通过何种手段为模块6,8供电,相同的功率供给(例如功率线4)也可以连接以便为通信逻辑10,11供电。可替换地,总线通信逻辑10,11可以由分离的功率供给供电。

本公开内容的示例应用在图1a中图示。在此,系统包括多个智能照明器12,每一个包括多个模块6,8,每一个连接到总线2。例如,每一个照明器的模块6,8可以包括在相同外壳内。在所示的示例中,每一个照明器12包括灯或光源、存在传感器、诸如EEPROM之类的存储器,以及控制器。光源、传感器和存储器中的每一个可以实现为从机或哑模块8,并且每一个控制器可以实现为智能主机模块6。每一个主机控制器模块6主要负责控制其自身的相应照明器12的光源并且从其自身的照明器12的传感器取得传感器读数,虽然对于控制器6而言还可以可能的是发起通过总线2与其它照明器12的从机模块8的交易。另外,控制器6可以通过总线2与其它控制器6通信,例如以交换信息以用于协调照明器12的操作,例如以接通或调亮基于来自存在传感器的传感器读数确定用户存在于其中的仅那些照明器12,并且关断或调暗其它照明器12以便节省功耗。将领会到的是,这仅仅是一个示例,并且各种其它布置可能用于实现照明系统或其它种类的系统。

在这个或其它应用中,总线2可以包括不同电路板上和/或不同单元中所容纳的模块6和/或8之间的线缆的一个或多个长度,其可以通过多个米数的线缆而分离。例如在诸如照明系统之类的上下文中,总线2可以包括连接在各种智能照明器6之间的多个米数的线缆。这样的线缆连接可能对扰动特别敏感,无论扰动是来自照明自身(例如由于嵌入在光中的编码光数据或照明的脉冲宽度调制所致的干扰信号)还是来自诸如电梯、加热或空气调节之类的其它源。

图2示出单独主机模块6的细节。在实施例中,参与总线2的每一个主机模块6可以如图2中那样配置。主机模块6包括用于连接到总线2的端口19。另外,主机模块6包括总线通信逻辑10和重置机构20。总线通信逻辑10配置成根据相关总线协议(例如I²C)通过总线2通信。重置机构20配置成能够至少重置其自身和其它模块6,8的总线通信逻辑10,11,如不久之后将更加详细讨论的。

在示例性实现方式中,主机模块6可以包括处理器14,其包括一个或多个处理单元或核,以及存储器16,其包括一个或多个存储单元或存储介质。在实施例中,处理器14和存储器16可以采取嵌入式微控制器的形式,例如嵌入在照明器12中,虽然一般不对处理器或存储器的大小或类型施加限制。在这样的实现方式中,总线通信逻辑10和/或重置机构20中的一些或全部可以以存储在存储器16上并且布置用于在相应主机模块6的处理器14上执行的代码的形式实现。例如,存储器16可以包括来自分离存储器模块(例如EEPROM)的代码通过总线2提取到其中的RAM,和/或嵌入式非易失性存储装置,诸如其中预存储代码的启动ROM。

因此要指出的是,“逻辑”或“机构”不暗示专用硬件电路中的实现方式。事实上,在实施例中,重置机构20纯粹在软件中实现(例如不使用除无论如何都将存在于并未特别地实现本文所公开的技术的处理器中的处理器14的通用硬件之外的硬件)。在实施例中,总线通信逻辑10也至少部分地实现在软件中。虽然如此,但是,在可替换的实现方式中,可能的是总线通信逻辑10和/或重置机构20中的一些或全部可以实现在专用硬件电路中,或者可配置或可重配置电路中,诸如PGA或FPGA。一般而言,逻辑或机构可以是指软和硬实现方式。

不同主机模块6上的重置机构20一起形成依照本公开的实施例的分布式重置子系统,将在以下更加详细地讨论其示例。

每一个智能主机模块6的重置机构20配备有布置成数出看门狗超时值的看门狗计时器。如果计时器数出整个看门狗超时值而不检测涉及通过总线2的成功通信的条件,则这被视为指示错误,并且其触发多阶段重置,其中重置机构20首先试图重置其自身的模块6并且然后尝试至少一个另外的重置(在实施例中至少重置总线2)。每一个主机模块6配备有以与本文所概述的相同的原理操作的重置机构20的实例(虽然其中称为“实例”,但是每一个模块上的重置机构20绝对等同不是关键的,只要每一个遵循基本上相同的原理,至少就关于本公开的重置过程而言)。

存在用于限定看门狗计时器的开始以及用于触发或拒绝重置的条件的各种可能性。在一个示例性实施例中,看门狗计时器在无论何时相应主机模块6上的较高级软件确定其想要通过总线2发送消息但是总线当前不可用时开始。例如,该情况中的看门狗超时值可以是0.25秒(其为长于最大消息长度的幅度量级并且因而长于通过总线2由任何其它模块6执行交易所应当花费的时间)。如果在看门狗超时值已经届满之后(例如0.25秒之后)总线仍旧不可用,则等待主机模块6的相应重置机构20触发重置过程。因此,如果相应主机模块6必须等待长于看门狗超时值(例如0.25s)以传输消息(其可以被视为指示总线2被阻塞),重置逻辑20触发重置。否则当相应模块6在时间限制内成功发送消息时看门狗计时器重置。

在另一实施例中,如果重置逻辑20没有在看门狗超时值内在总线2上检测到至少一对有效的开始消息和对应的结束消息信号,触发重置。例如在该情况中,看门狗计时器值可以设置成两秒。这可以通过无论何时重置逻辑20听到总线2上的开始消息信号就开始看门狗计时器,然后如果其随后在时间限制内没有听到结束消息信号则触发重置过程来实现。可替换地,看门狗计时器可以一直、周期性地运行,并且在每一个时间段结束时,重置逻辑20确定在该时间中已经检测到多少消息的开始和结束信号——如果不存在至少一个开始和结束信号,触发重置。因而无论何种方式,如果重置逻辑20没有在看门狗超时值(例如2s)内从另一模块6,8听到至少一个完成、有效消息,其可以被视为指示总线2倍阻塞,或者总线2上的噪声已经被误解释为消息的开始(导致相应模块6和潜在地其它模块无限地等待将不会到来的对应消息结束),重置逻辑20触发重置。

在实施例中,多个看门狗计时器可以在每一个主机模块6的重置逻辑20处放置就位,使得如果任何看门狗计时器届满而没有用于检测满足成功的通信的对应条件,触发重置。例如,如果任何主机模块6在超过0.25s的时间内不能够发送其自身的消息之一,或者在超过2s的时间内没有从任何其它模块6,8听到完整的有效消息,可以触发这样的重置。

图3提供了示出根据本文所公开的实施例的总线通信逻辑10和重置机构20的操作的流程图。

在步骤S10处,在过程重置开始之前,每一个主机模块6被分配相应看门狗计时器值。在实施例中,可以使针对每一个主机模块6的看门狗超时值(在参与总线2的其它主机6之中)唯一,使得总是存在可以重置总线2的一个(并且仅一个)主机模块6。这可以是合期望的,因为否则,在精确相同的时间处决定重置总线的多个模块可能彼此干扰并且可能造成不想要的行为。可以例如基于每一个主机模块6的相应总线地址(例如I²C地址)或每一个主机模块6的相应微控制器序列号来使超时值唯一。每一个主机模块6上的重置机构20配置成使用其总线地址或序列号来确定作为该地址或序列号的函数的其相应唯一看门狗超时值,例如:超时值=0.25秒+(地址*20ms)。然而,超时值唯一并不是关键的——甚至具有等同的超时长度,其中所有主机独立,则超时很可能不是同步的。

在步骤S20处,重置机构20开始从相应看门狗计时器值计数的看门狗计时器。例如,这可以在主机模块6上的较高级软件具有要发送的消息但是总线2当前由于总线2上的某个其它活动(或表面活动)而不可用时被触发。

在步骤S30处,重置机构20确定是否在相应看门狗时间内检测到相关成功条件。例如,如果总线2在超时届满之前变成可用于传输相应主机模块的待决消息,则不存在重置的需要。如果这的确被检测到,则过程循环回到步骤S20。

另一方面,如果在完整的看门狗超时周期内没有检测到该条件,触发重置过程。根据本公开,重置是多阶段恢复过程,其中仅如果在先阶段未能解决错误才顺序地尝试每一个阶段。重置将在越来越高的水平上执行以便试图减少操作模块6,8处的不想要的副作用(待决消息的丢失)。这样,总线2可以被重置并且恢复到操作状态,而不管哪个模块6,8正在占用总线并且导致问题。

恢复过程在步骤S50处开始。具有最低看门狗计时器值的主机模块6(例如具有最低地址的主机)将是首先尝试重置的模块6。在实施例中,其将在三个阶段中这样做,如下。

在S50处,重置机构20响应于目前检测到的错误(自从恢复自身过程上一次被重置)而确定是否已经尝试恢复过程的第一阶段。如果否,在步骤S60处重置机构20继续尝试第一(初始)重置阶段,其中其尝试在内部重置其自身的主机模块6(至少重置相应总线通信逻辑10,尽管不排除也重置模块6的其它组件或过程)。该本地重置是第一个、最不严苛的手段,因为其将不具有对其它总线参与者6,8的后果。

过程然后循环回到步骤S20。如果本地重置成功,这可以被检测为相应模块6将很快能够在步骤S30处执行或检测通过总线2的另一成功通信。重置机构20还记住哪一个是其所尝试的是最后(最新)的重置阶段。因此如果成功,在步骤S40处,重置机构20还重置其最后尝试的重置阶段的存储器(即因此下次检测到错误时,其将从初始、本地重置阶段S50,S60再次开始)。

然而,如果第二次在看门狗时间周期内仍旧没有执行或听到成功通信,本地重置可以被视为不起作用。如果情况是这样,则下一次过程达到步骤S50,重置逻辑20将确定其已经尝试了本地、内部重置,并且因此继续到步骤S70,其中其确定其是否已经尝试了恢复过程的第二阶段。如果没有,恢复过程继续到步骤S60,其中重置机构20尝试第二重置阶段。因此,如果(并且只有如果)第一重置阶段不成功,重置逻辑将尝试第二重置阶段。在实施例中,第二阶段是通过向总线2上应用总线协议的总线重置信号来执行的总线重置,例如在I²C总线的情况中,这可以包括应用标准I²C总线重置,其是SCL(时钟)线上的9个脉冲。这将重置所有I²C设备,包括从机或哑模块8。然而,利用总线重置,当主机模块6在它们正在准备要发送的消息的精确时刻处被重置时,存在消息丢失的风险。因而总线重置配置为第二、更严苛的手段,其只有如果第一阶段不成功才跟随在第一阶段之后。

在实施例中,过程然后可以再次循环步骤S20-S30以检查第二重置阶段是否被视为成功(通过检查看门狗超时的第三实例内的成功通信)。如果发现第二阶段成功,最后尝试的重置阶段的存储器将在步骤S40处重置使得当在将来检测到另一错误时,过程将从第一阶段再次开始。然而,如果不成功,恢复过程返回到步骤S70,其中这次重置逻辑20确定已经响应于当前错误尝试了第二阶段,并且因此可选地可以配置成在步骤S90处继续到第三重置阶段。因此,如果(并且只有如果)第二阶段不成功,重置机构20尝试第三阶段。

在实施例中,第三阶段包括其中重置逻辑将尝试重置特别有责任的任何相关哑模块8(例如图1a的示例中的相同照明器12的模块)的阶段。这可以包括经由每一个相关哑模块8的重置引脚的重置。该阶段可以包括功率循环重置,其中重置逻辑将尝试功率循环相关哑模块8(例如经由哑模块8的功率重置引脚)。这将恢复有效通信,但是具有不想要的副作用的最高风险,并且因而是第三、最严苛(并且在实施例中最后一个)手段。作为对功率循环的可替换方案,如果哑模块8具有仅重置响应哑模块8的总线通信逻辑11(而非完整功率循环)的“通信接口”重置引脚(例如I²C重置引脚),则这可以用作用于第三阶段重置。如果I²C重置引脚等可用,则这可以是针对第三阶段的优选项,而功率循环重置可以仍旧是总是可用的最终措施(例如仅第三阶段失败才作为第四阶段)。

将执行这三个(或四个)重置级别,使得在第一主机模块决定尝试完整总线重置之前,所有主机模块6首先尝试内部重置。例如,如果主机模块6的不同相应看门狗计时器值每一个长度为0.25s但是间隔开20ms(计时器值=0.25s+地址*20ms),并且在总线2上存在高达十个左右的主机模块6,则每一个主机6在第一(例如最低地址)主机模块6上的0.25s看门狗计时器针对第二次超时并且该第一模块然后尝试总线重置之前有机会内部重置自身。类似地,如果包括第三阶段,每一个主机6在第一个上的看门狗计时器针对第三次超时并且该模块然后尝试引脚和/或功率重置之前有机会尝试总线重置。

在实施例中,第三阶段可以仅在其中存在适配成由相应主机6借助于分离控制线来控制的相关模块8的情况下实现,如以下关于图5所公开的。如图5中所示,在实施例中,一个或多个主机模块6中的每一个可以与主机6主要负责的、例如合并到诸如相同照明器12之类的相同单元中(同样参见图1a)的特定相应一个或多个从机或哑模块8相关联。相应(多个)从机或哑模块8可以被称为相应主机6的相关物。例如,连接到总线2的相关从机或哑模块8可以每一个包括标准I²C块,并且主机6可以包括微控制器。

另外,每一个相关模块8通过与总线2分离的控制线22连接到其相应主机模块6。控制线22允许相应主机6重置其相应相关模块8的通信接口11。控制线22可以连接到相关模块8的专用通信接口重置引脚,或者相关模块8的一般重置引脚,或者相关模块8的功率供给。因此主机6能够激励相关模块8的重置,(总线通信逻辑11的)专用通信接口重置或功率循环重置(关断功率并且再次接通)。这将至少重置相应相关模块8的总线通信逻辑11(并且在功率循环重置的情况中还可以重置相关模块8的其它逻辑)。这种类型的重置可以被称为硬重置,如与如在第二阶段中的通过总线2的信令所执行的软重置相对。在实施例中,硬重置实现为重置过程的第三阶段,其只有如果前两个阶段不成功才被调用。

因此为了防止通信接口2,11被阻塞,相关从机或哑模块8可以被重置,腾出接口并且恢复正常操作。这为主机模块6提供了保护通信接口2,10,11的性能和可靠性的另外的可靠性,以确保通信接口在可能的扰动之后可用。

这样的实施例可以允许用于使用在照明解决方案内的模块的迅速发展。具有其重置结构20的主机模块6可以用于确保通信接口2,10,11的性能和鲁棒性;而(多个)标准模块8的使用允许快速发展。这样的实施例的附加优点在于,智能主机模块6只有必须在内部重置和重置它们可以重置的任何标准块8。由于任何智能主机模块6将有序地重置自身,因此不存在对于全局重置的需要(这被优选为第一手段,因为全局重置可能导致不经受通信故障的设备的消息丢失)。

图4a-4c提供示出起作用的重置过程的示例的一些简化场景。在所图示的示例系统中,存在连接到总线2的四个模块:第一模块(i),其为主机,第二模块(ii),其为主机,第三模块(iii),其为从机或其它哑模块,以及第四模块(iv),其为从机或其它哑模块。第三模块(iii)是第一模块(i)的相关物,其通过分离的控制器22以及总线2连接在一起。第四模块(iv)是第二模块(ii)的相关物,这二者再次通过其自身的分离控制线连接在一起。

在场景(a)中,第一模块(i)出现故障。在步骤T10处,第二模块(ii)尝试内部重置(阶段1),但是没有解决问题。模块(ii)可能例如第一个尝试,因为其具有最低地址。随后,模块(i)然后尝试内部重置(阶段1)并且解决问题。

在场景(b)中,模块(iii)出现故障(连接到模块i的从机设备)。在步骤U10处,模块(ii)首先尝试内部重置(阶段1),但是没有解决问题。在步骤U20处,模块(i)尝试内部重置(阶段1)并且仍旧没有解决问题。随后在步骤U30处,模块(ii)尝试重置总线2(阶段2)并且解决问题。

在场景(c)中,模块(iii)出现故障(连接到模块i的从机设备),例如其时钟输出SCL卡在低电平处。在步骤V10处,模块(ii)尝试内部重置(阶段1),但是没有解决问题。在步骤V20处,模块(i)然后尝试内部重置(阶段1)并且仍旧没有解决问题。在步骤V30处,模块(ii)然后尝试重置总线(阶段2)并且仍旧没有解决问题。在步骤V40处,模块(i)尝试重置总线2(阶段2)并且仍旧没有解决问题。随后在步骤V50处,模块(ii)尝试其相关模块(iv)的硬重置并且仍旧没有解决问题。然后最终在步骤V60处,模块(i)尝试其相关模块(iii)的硬重置并且最终解决问题。

将领会到,仅仅通过示例的方式来描述以上实施例。本领域技术人员在实践所要求保护的发明时,通过研究附图、公开内容和随附权利要求,可以理解和实现对所公开的实施例的其它变型。在权利要求中,词语“包括”不排除其它元件或步骤,并且不定冠词“一”或“一个”不排除多个。单个处理器或其它单元可以履行权利要求中叙述的若干向的功能。在相互不同的从属权利要求中叙述某些措施的仅有事实不指示这些措施的组合不能用于获益。计算机程序可以存储/分布在合适的介质上,诸如光学存储介质或固态介质,其与其它硬件一起或者作为其部分而供应,但是还可以以其它形式分布,诸如经由因特网或其它有线或无线电信系统。权利要求中的参考标记不应当解释为限制范围。

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