动态控制区网络总线系统配置和消息传送的制作方法

文档序号:7850692阅读:199来源:国知局
专利名称:动态控制区网络总线系统配置和消息传送的制作方法
技术领域
本发明涉及总线通信,具体地说,本发明涉及一种可以在控制软件部件与处理器控制的外围设备之间实现通信的控制区网络(CAN)总线通信协议。
背景技术
要求传统的无线基站利用通常被称为控制软件部件的软件应用程序,控制外围设备,例如放大器组对收发信机输出的RF信号进行放大,以及交换机组用于确保正确路由选择天线输出的RF信号。通常,通过经过多点总线对多个外围设备广播控制消息,或者通过经过点到点总线利用硬件寻址消息传送方法与一个外围设备进行离散通信,控制软件部件控制外围设备。
然而,上述总线配置具有某些相关局限性。诸如CAN总线的多点总线对与外围设备实现联网的控制软件应用程序或部件提供低成本集成方法。然而,尽管利用广播消息方法,多点CAN总线可以使一个控制软件部件与几个外围设备进行通信,但是利用硬件寻址消息传送方法,它不能使该软件部件仅与特定的一个或者多个外围设备进行通信。此外,每次对总线拆除外围设备或添加外围设备时,都必须重新配置该控制软件部件,从而延长了基站停机时间,而且提高了维护成本。
另一方面,利用硬件寻址消息传送方法,通过专用点到点总线连接到外围设备的控制软件部件可以离散寻址该外围设备。然而,专用点到点连接要求在例如基站交换台上具有高级输入/输出处理和附加离散控制线路或连接,因此考虑到成本和空间,要在系统范围内实现这种点到点连接是不现实的。
因此,需要一种可以使控制软件部件通过一个或者多个多点总线与处理器控制的外围设备进行离散通信的系统和方法。


根据下面结合附图对本发明的优选实施例所作的详细说明,本发明的目的和优点将变得更加容易理解,附图包括图1是其中可以实现根据本发明的CAN总线系统和消息传送过程的优选实施例的无线基站的硬件/软件方框图;图2A-2C是示出图1所示控制软件部件发送的消息的内容的消息数据表;图3是当控制软件部件是消息源时的消息类型表;图4A和4B是示出根据本发明的CAN总线消息传送过程,CAN标题分部的构成的表;图5是示出当控制软件部件是消息源时,外围设备和软件交换机建立的CAN协议硬件消息过滤器/标识符的构成的表;图6是用于表示控制软件应用程序发送的消息的帧长度的可能帧ID值的表;图7是实现本发明的CAN总线系统和方法所需的第二种软件方法的软件方框图;以及图8-11是示出可以使图1所示基站的各部件互相通信、与本发明的CAN总线系统和方法有关的消息传送协议的时序图。
具体实施例方式
现在,参考附图,附图中类似的参考编号表示类似的部件,图1示出典型无线基站10的原理图,在无线基站10中,可以实现动态CAN总线系统配置和消息传送过程的优选实施例。基站10具有可以支持各种空中接口技术,例如,UMTS、EDGE、iDEN以及1XTREME技术的硬件平台。然而,可以预料,为了支持各种无线应用要求的其它类型的空中接口技术,可以配置基站10。
基站10尤其包括控制区网络(CAN)控制板12,控制区网络控制板12包括控制器13和分别用于控制CAN总线14-22的CAN总线处理器14a-22a。优先通过利用基站基干(未示出)建立的硬件连接,CAN总线14-22分别将控制板12连接到一个或者多个处理器控制的外围设备(PD)24-44,例如,用于放大收发信机输出的RF信号的放大器组,用于确保正确路由天线输出的RF信号的交换机,定制电源,定制扇形托盘,RF滤波装置、RF组合器等,它们分别包括一个相应外围设备处理器24a-44a。具体地说,下面是总线连接多点总线14将控制板12连接到处理器控制的外围设备24-30;点到点总线16将控制板12连接到处理器控制的外围设备32;多点总线18将控制板12连接到处理器控制的外围设备34-38;多点总线20将控制板12连接到处理器控制的外围设备40;以及多点总线22将控制板12连接到处理器控制的外围设备42-44。
应该明白,上述连接是典型连接,因为利用上述多点总线或点到点总线的各种变化,可以将典型处理器控制的外围设备24-44连接到控制板。此外,根据特定基站应用,利用更多或更少的总线,可以将更多或更少的处理器控制的外围设备连接到控制板12。
仍参考图1,现在将更详细说明控制板12控制处理器控制的外围设备24-44的控制过程。控制板12优先是软件控制的硬件实体,该硬件实体实现基站10的电子系统内的各种功能,而且控制板12包括控制器13和总线处理器14a-22a。利用诸如典型控制软件部件46-50的控制软件部件(CSC)以及软件交换机52,编程控制器13,通过控制在相应外围设备处理器24a-44a内编程的外围软件应用程序24b-44b,该软件交换机52用于使控制软件部件46-50控制处理器控制的外围设备24-44。具体地说,在控制设备类型1(T1)和设备号1-6(N1-6)处理器控制的外围设备时,示出控制软件部件46。在图1中,相应处理器控制的外围设备是处理器控制的外围设备24-34。在控制设备类型1(T1)和设备号7(N7)的处理器控制的外围设备以及设备类型2(T2)和设备号1(N1)的处理器控制的外围设备时,示出控制软件部件48。在图1中,相应处理器控制的外围设备是处理器控制的外围设备36和38。在控制设备类型2(T2)和设备号2(N2)的处理器控制的外围设备以及设备类型3和4(T3,T4)和设备号1(N1,N1)的处理器控制的外围设备时,示出控制软件部件50。在图1中,相应处理器控制的外围设备是处理器控制的外围设备40-44。
根据在CAN总线处理器14a-22a实现的CAN总线协议以及层叠在CAN总线协议之上并在外围设备处理器24a-44a以及交换机52实现的硬件设备协议,利用消息传送方法,通过CAN总线14-22,控制软件部件46-50可以离散控制外围软件应用程序24b-44b。硬件设备协议用于根据CAN总线协议的细节选取控制软件部件46-50,同时,它含有用于使控制软件部件46-50通过CAN总线14-22与处理器控制的外围设备24-44进行通信的必要信息。因此,对设置了一个外围设备(点到点连接)的CAN总线,例如CAN总线16与多点CAN总线,例如CAN总线14进行同样的处理。控制软件部件46-50不知道处理器控制的外围设备24-44的网络拓扑;每个控制软件部件46-50仅分别具有到处理器控制的外围设备24-44的消息传送接口,该处理器控制的外围设备24-44进行控制,就如同它是寄存器/用户传送消息方法中的设置的任务。
更详细地说,可以在交换机52与相应控制软件部件46-50之间路由选择在前消息和控制消息,必须利用交换机注册这些软件部件。同样,还必须使用CAN总线和被格式化的消息,利用交换机52注册处理器控制的外围设备24-46,下面将说明该消息。在控制软件部件和外围设备注册后,这样建立的连接可以交换消息,下面将做进一步详细说明。例如,一个消息交换是周期性地从控制软件部件发送到通过交换机相连的每个外围设备的心跳消息。心跳消息是具有HEARTBEAT消息操作码的COMMAND型消息,在一个实施例中,每隔3秒发送一次该消息。通过交换机,外围设备分别将类似心跳消息发送到相应控制软件部件。这样,保持注册外围设备,并保持与该设备实现连接。在一个实施例中,如果外围设备或者控制软件部件不能从对方接收5个连续心跳,则假设发生了什么故障,并重新开始注册,从而建立新连接。通过进行以下说明,对此就更清楚了。
控制软件部件利用注册消息,例如图2A-2C所示和所定义的典型注册消息进行注册或者启动注册。如图所示,控制软件部件发出的注册消息是10、16位字,其中字1是功能区ID,下面做进一步说明,它是特定控制软件部件的唯一标识符;字2表示消息类型,它被置位为0×7,表示REGISTRATION类型;字3和4是32位事务ID,它被置位为0,不再有关,而且不做进一步说明;字5和6分别是消息长度的上字和下字,其中上字,即字5被置位为0,而下字注册消息无关;字7是图2B所示的CAN标题;以及字8-10是图4C所示的数据字。CAN标题是2字节、16位字,其中头2位定义帧ID,被置位为0,接着的6位定义消息操作码,被置位为0×7,接着的4位定义设备类型,被置位为0×F,后4位定义设备号也被置位为0×F,这些设置是对注册消息专用的。3个数据字8-10表示6字节,其第一字节表示软件部件注册支持的设备类型,第二字节表示软件部件可以控制的设备数量或容量,后4字节是用于控制软件部件的信道句柄或ID。该句柄或ID可以使多个外围设备,或者具体地说是它们发出的消息通过交换机路由选择到一个控制软件部件。
在注册之后,路由选择到交换机52和控制软件部件46-50的、从交换机52和控制软件部件46-50开始路由选择的以及在交换机52与控制软件部件46-50之间路由选择的每个控制消息均包括一部分与注册消息具有同样形式的消息或消息标题,而且该消息或消息标题包括公用和CAN标题分部。该标题后面是消息数据。因此,涉及控制软件部件的所有消息均具有相同标题。下面是消息标题的典型形式或格式公用标题分部16位字1功能区ID16位字2消息类型
16位字3消息长度上字16位字4消息长度下字16位字5CAN标题其中CAN标题包括帧ID、消息操作码、设备类型以及外围设备号。请注意,替换形式包括两个附加16位字,它插在字2与字3之间用于规定事务ID。由于在优选实施例中未采用这些内容,所以不对它们进行说明。
在公用标题分部中,功能区ID是控制软件部件46-50,唯一16位标识符。功能区ID是规定控制软件部件的身份以及控制软件部件的逻辑实例号的标识符,而且它对于每个控制软件部件46-50必须是唯一的。当存在同一个控制软件部件的多个实例时,使用逻辑实例号,该多个实例控制相同或不同的处理器控制的外围设备。身份与逻辑实例号或功能区ID的组合对该控制软件部件的系统提供唯一标识符。当对于一个或者多个处理器控制的外围设备22-44,将控制消息发送到交换机时,控制软件部件46-50分别利用其唯一信息填充该字段。当使消息从处理器控制的外围设备24-44之一路由选择到控制软件应用程序46-50之一时,交换机52利用接收控制软件部件的功能区ID填充该字段。
消息类型是16位标识符。如果控制软件部件46-50之一是消息源,则交换机52利用消息类型建立CAN消息标识符或过滤器。如果对于CAN过滤器,交换机52使用消息类型,则处理器控制的外围设备消息类型必须小于或者等于15(4位)。这是因为消息类型字段,例如图5所示的典型消息类型字段仅允许4位字段用于说明消息类型。图3所示的表中示出每种消息类型及其相应十六进制赋值。请读者的注意力集中在最后一个的消息类型,具体地说是0×7,它表示如上参考图2所述的注册。如果处理器控制的外围设备24-44之一是消息源,并使该消息路由选择到控制软件部件46-50之一,则使用图5所示CAN过滤器和图4所示CAN标题从外围设备接收的值,利用上字节内的消息类型值和下字节内的消息操作码,交换机52压缩消息类型字段,即字2。为了使控制软件部件46-50之一接收消息,交换机52必须注册控制软件部件,以便从规定的处理器控制的外围设备类型接收消息,如上所述。
消息长度是32位字段,它用于识别所发送的消息的总长度,而且在将该消息发送到处理器启动的外围设备后,交换机52利用它确定所需的帧总数。
如图4A示出的表所示,CAN标题,即字5包括帧ID、消息操作码、设备类型以及设备号,它是16位压缩标识符。不需要控制软件部件46-50清楚地知道该标题分部。关于帧ID,即位15和14,这些位不能用于在交换机52与控制软件部件46-50之间传送消息,而且它们只能用于路由选择到处理器控制的外围设备24-44的或从其路由选择的CAN消息。从控制软件部件46-50的观点出发,保留帧ID位用于使消息通过CAN总线14-22从处理器启动的外围设备24-44路由选择到交换机52,以及从交换机52路由选择到处理器启动的外围设备24-44。因为控制软件部件不直接对CAN标题赋值,所以控制软件部件不使用帧ID位。
消息操作码位13-8表示具有控制软件部件46-50定义其范围的消息操作码。该字段用于对一种消息类型指示不同的操作。每种消息类型(字1)最多有64个唯一操作码。这些操作码使应用程序例如对各种状态信息或不同命令定义不同告警,例如关键字(key)、去关键字(dekey)等。
当与控制软件部件46-50之一进行通信的过程中分别包括设备类型位7-4和设备号位3-0时,设备类型位7-4和设备号位3-0构成处理器控制的外围设备24-44的唯一标识符。例如,功率放大器、低功率放大器或接收机每块或设备具有唯一设备类型。如果控制软件部件发出消息,则包含在该类型中的信息处理器控制的外围设备的目的地标识符。如果处理器控制的外围设备将消息发送到其控制软件部件,则包含在该字节内的信息表示处理器控制的外围设备的信源标识符。处理器控制的外围设备号必须对一个处理器控制的外围设备是唯一的。设备号可以是例如处理器控制的外围设备的基站槽ID。
由控制软件部件46-50选取使控制软件部件46-50与处理器控制的外围设备24-44进行通信必需实现的CAN总线协议。实际上,发起与处理器控制的外围设备进行通信的控制软件部件不知道实际上仅将部分消息标题发送到处理器控制的外围设备,而且不知道该消息需要所使用的特定CAN总线上的多个CAN消息帧。同样,每个控制软件部件46-50也不知道它从处理器控制的外围设备接收的消息是否需要多个CAN消息帧,因为正是由交换机将处理器控制的外围设备发出的独立CAN消息帧排列为一个消息,然后,将该消息从交换机发送到指定的控制软件部件。
CAN总线协议要求一个CAN消息仅含有8个数据字节和消息过滤器的11个附加位(如图5所示)。正如以下详细说明的那样,这优先用于2字节的标题信息,是图4A所示和图4B更详细示出的形式,其中利用图6所示表中的值填充2位帧ID(下面说明);最多6字节数据;以及11个过滤器位。交换机52从消息标题,具体地说是从控制软件部件46-50提供的消息类型的字2和设备类型的字5中选取这些过滤器位,然后,分割CAN总线协议所需的数据。在各外围设备处理器24a-44a实现的硬件过滤器使用该11位消息过滤器,而在各外围设备软件应用程序24b-44b实现的软件过滤器使用对CAN消息内的标题信息获得的8个数据字节中的2个数据字节。
具体地说,在外围设备处理器24a-44a实现的硬件过滤器使消息仅从一个控制软件部件46-50路由选择到11位消息过滤器规定其设备类型的这些处理器控制的外围设备。而标准CAN总线协议使用全部11位消息类型数据,而不使用消息类型和设备类型数据的11位。一旦规定的处理器控制的外围设备收到通过硬件过滤器过滤后的消息,则在下面的外围设备软件应用程序实现的每个软件过滤器分别确定该消息是否特别用于其特定处理器控制的外围设备。随后,通过进行上述消息配置和硬件过滤器和软件过滤器,控制软件部件46-50中的一个特定控制软件部件可以通过CAN总线14-22之一与处理器控制的外围设备24-44中的一个特定处理器控制的外围设备进行离散通信。
当控制软件部件46-50之一是消息源时,根据公用和CAN标题分部提供的信息而且如图4A、4B、5和6所示,交换机52对离开CAN总线的消息建立消息标识符或CAN标题。请注意,当处理器控制的外围设备24-44之一是消息源时,该设备应该将正确的消息类型和设备类型送到消息过滤器。消息过滤器和消息标识符或总线上的CAN消息的CAN标题对于控制软件部件是不可见的。使位于交换机52的CAN设备的过滤器,即所有处理器控制的外围设备24-44接收通过CAN总线14-22发送的所有消息,因为处理器控制的外围设备可以仅将消息发送到控制软件部件。处理器控制的外围设备24-44应该利用图6所示的帧ID将正确消息压缩为消息标识符或CAN标题,如图4A所示和图4B详细所示。
要求交换机52根据CAN总线协议分割消息,因为它必需根据CAN总线实现过程选取控制软件部件。交换机52仅接收控制软件部件发出的一个消息(最终目的地是处理器控制的外围设备),而不考虑消息的大小。如果消息大小超过CAN总线限制,则交换机52负责分割并发送发送整个消息所需的多个CAN帧。
正如硬件设备协议中定义的那样,每个CAN帧(或消息)含有2字节的标题,如图4A和4B中的表所示,其中图4B所示的表详细示出交换机52压缩在CAN标题内的信息。仅在为了产生2字节消息标题而将CAN消息或帧发送到处理器控制的外围设备时,交换机52对在消息的标题内接收的目的地信息附加帧ID。帧ID用于表示控制消息是否跨越多个CAN帧。图6所示的表示出帧ID的可能值。
因此,CAN消息或帧含有2字节的标题数据和6字节的消息数据。如果从控制软件部件接收的消息数据大于6字节,则交换机52必须将该数据分割为连续CAN帧。根据控制消息跨越的CAN帧的数量,交换机设置帧ID。有3种可能情况必须进行处理1个CAN帧;2个CAN帧;2个以上的CAN帧。
如果控制消息装入一个CAN帧(6字节或更少),则交换机52利用“结束帧”值填充帧ID。如果控制消息装入2个CAN帧,则交换机利用“开始帧”值填充第一帧的帧ID,而利用“结束帧”值填充第二帧的帧ID。可以有效接收紧接在“开始帧”之后的“结束帧”。如果控制应用程序跨越两个以上的CAN帧,则交换机52利用“开始帧”填充第一帧的帧ID。交换机52利用“中间帧”填充每个后续帧,直到到达最后一帧。交换机52利用“结束帧”填充最后一帧。
由于一个CAN帧被限制为8个数据字节,而处理器控制的外围设备24-44的消息传送要求却不局限于8字节消息,所以处理器控制的外围设备24-44利用软件设备协议定义的帧ID组装控制软件部件46-50发出的输入消息。相反,要求交换机52根据CAN总线协议组装从处理器控制的外围设备接收的消息,因为它必须根据CAN总线实现过程选取控制软件部件46-50。
具体地说,交换机52仅将一个消息发送到控制软件部件,而不考虑该消息跨越多少个CAN帧。如果处理器控制的外围设备发送的消息跨越一个以上的CAN帧,则交换机52负责组装该消息,并在完成该消息后,使它路由选择到预定的控制软件部件。交换机52利用CAN标题分部中的帧ID组装处理器控制的外围设备24-44发送的消息。正如硬件设备协议所定义的那样,每个CAN帧(或消息)含有2字节标题和后面的6字节数据。
如果将设备消息装入一个CAN帧(6字节或者更少),则CAN消息标题内的帧ID是“结束帧”值。如果设备消息装入2个CAN帧,则第一帧的帧ID是“开始帧”值,而第二帧的帧ID是“结束帧”值。可以有效接收紧跟在“开始帧”之后的“结束帧”。如果设备消息跨越两个以上的CAN帧,则第一帧的帧ID是“开始帧”值。每个后续帧的帧ID分别是“中间帧”,直到到达最后一帧。最后一帧的帧ID是“结束帧”。
交换机52不能接收“开始帧”不在其前的“中间帧”。如果交换机52确实接收了“开始帧”不在其前的“中间帧”,则它不认从信源处理器控制的外围设备接收的整个消息,然后,产生错误消息。
此外,交换机52不能接收“结束帧”不在其前的“开始帧”。如果交换机52接收了“结束帧”不在其前的“开始帧”,则它不认从信源处理器控制的外围设备接收的整个消息,然后产生错误。
通过在CAN总线协议上覆盖硬件设备协议和软件设备协议以实现如上所述的CAN总线消息传送过程,控制软件部件46-50可以利用多个多点CAN总线与诸如处理器控制的外围设备24-44的外部处理器控制的外围设备进行离散通信。此外,上述配置便于利用点到点寻址方法或广播方法使控制软件部件与处理器控制的外围设备进行通信。组合协议便于使处理器控制的外围设备实现高可用性和高冗余度,而且与仅利用传统CAN消息型过滤提供的消息传送灵活性相比,具有更高的消息传送灵活性。
此外,可以修改上述CAN总线消息传送过程,以适应任何数量的控制软件部件以及最多16个的处理器控制的外围设备数量的变化和最多16个的处理器控制的外围设备类型的变化。处理器控制的外围设备的数量和类型被限制为16个的原因是因为类型和数量字段被限制为4位。可以扩展这些字段,以提供更多或更少的处理器控制的外围设备的可能组合。
例如,图7中的60示出一种替换基站系统软件配置。在该配置中仅实现一个控制软件部件46’和比图1中的基站10中的处理器控制的外围设备少的处理器控制的外围设备。然而,以上述同样的方式实现上述CAN总线消息传送过程。
现在参考图8-11,说明诸如图1所示处理器控制的外围设备24-44的外部CAN处理器控制的外围设备的动态系统配置。通过在诸如图1中的14-22所示的CAN总线的多个CAN总线上,对未位于控制板12上的处理器控制的外围设备,例如图1中的24-44所示的处理器控制的外围设备实现“即插即用”环境,这种动态系统配置可以提供高级系统体系结构伸缩性和扩展能力,诸如图1所示处理器14a-44a的处理器可以中断该CAN总线。由于可以将处理器控制的外围设备动态附加到诸如图1所示基站10的通信系统,所以可以将增加现有可用设备的数量以及附加新设备所需的软件变更的数量降低到最少,或者不需要软件变更。此外,可以将在正常运行期间从系统拆除外围设备所需的系统停机时间降低到最短,或者消除该停机时间。
尽管下面的描述将参考无线基站10及其硬件部件和软件部件,但是应该明白,动态系统配置不仅可以应用于多点CAN总线环境,而且可以应用于包括多个串行总线端口并要求动态系统配置或即插即用能力的任何环境。
下面的动态系统配置的设计原则是对处理器控制的外围设备完全选取CAN总线消息传送的硬件实现并对处理器控制的外围设备提供即插即用能力。
如上所述,控制软件部件可以控制多个处理器控制的外围设备和多个设备类型。然而,通过具有正确消息类型等(参考上述内容)的CAN消息,可以仅利用一个控制软件部件注册处理器控制的外围设备。因此,处理器控制的外围设备发送的所有消息均可以路由选择到控制软件部件注册消息规定的单一地址。这可以是控制软件部件的地址,但是并不局限于控制软件部件。该地址还可以是多个控制软件部件进行接收的广播信道。当注册过程完成时,如果消息含有进行消息构造和寻址所需的必要信息(即,通过广播接收),则多个控制软件部件还可以将该信息发送到处理器控制的外围设备。
交换机52负责在处理器控制的外围设备与其控制软件部件之间实现逻辑连接。逻辑连接包括用于将消息从控制软件部件发送到处理器控制的外围设备以及将消息从处理器控制的外围设备发送到控制软件部件所使用的路由选择信息。可以预料,交换机52仅用于位于CAN总线14-22上的处理器控制的外围设备。尽管交换机52不能扩展到具有直接离散硬件控制线的外围设备的通信链路,但是作为一种选择,交换机52可以用于扩展通过其它类型的总线,例如串行端口、并行端口、通用串行总线(USB)、V-11端口以及一线型总线进行通信。
可以复位控制软件部件46-50之任一,而无需复位交换机52。此外,可以复位处理器控制的外围设备24-44之任一,而无需复位交换机52。如果交换机52被复位,则控制板12上的所有部件均被复位,而且会丢失所有逻辑连接。
控制软件部件仅一次性注册设备类型。一次注册包括控制软件部件可以控制的设备类型的处理器控制的外围设备的数量。当控制软件部件检测到其处理器控制的外围设备之一从该系统拆除时,该控制软件部件重新进行注册。新注册代替先前注册。处理器控制的外围设备周期性地进行注册,直到控制软件部件确认收到了消息。注册处理器控制的外围设备意味着处理器控制的外围设备已经被复位。
根据先进先出(FIFO)原则,交换机52将处理器控制的外围设备24-44连接到控制软件部件。将同一种设备类型的所有处理器控制的外围设备逻辑连接到注册为该类型而且仍有容量的第一控制软件部件。如果存在多个被注册为同一种设备类型的处理器控制的外围设备,则不连接后续处理器控制的外围设备,直到满足先前容量。
处理器控制的外围设备始发的消息仅以控制软件部件为目的地。作为同一个CAN总线上的多点的各处理器控制的外围设备不能互相直接发送消息。
交换机52必须对控制软件部件46-50和处理器控制的外围设备24-44进行处理的可能注册情况有4种。下面将分别详细说明每种情况。
参考图8,在第一种情况下,诸如处理器控制的外围设备24的处理器控制的外围设备首先在70进行注册。注册的处理器控制的外围设备24类型和数量的处理器控制的外围设备不存在先前存在的连接,而且未对处理器控制的外围设备类型注册控制软件部件。在72,收到第一次注册的处理器控制的外围设备类型和数量后,交换机52处理器控制的外围设备添加到其路由选择表中,作为可用设备。交换机52周期性地接收和丢弃控制软件部件发送的不匹配注册消息,直到在74出现诸如控制软件部件46的控制软件部件发出的有效注册。由于控制软件部件可以对多种处理器控制的外围设备类型进行注册,所以这种情况下的有效注册是对包括与处理器控制的外围设备24的设备类型对应的设备类型的处理器控制的外围设备类型进行注册。
当交换机52从控制软件部件46收到有效注册时,在76,在可用处理器控制的外围设备24与控制软件部件46之间建立逻辑路由选择连接。此时,处理器控制的外围设备不再可以连接,因为一个处理器控制的外围设备可以仅有一个用于注册的控制软件部件。在78,交换机52将控制软件部件注册转发到处理器控制的外围设备24。在80,处理器控制的外围设备24继续将其注册消息发送到交换机52,直到在82,交换机52使注册消息路由选择到控制软件部件46,然后,在84,交换机52接收控制软件部件发送的控制软件部件确认消息,然后,在86,使它路由选择到处理器控制的外围设备24。
参考图9,在第二种情况下,控制软件部件46首先在90进行注册。控制软件部件46建立设备类型的注册消息。在92,从控制软件部件收到注册消息后,交换机52将控制软件部件46添加到其路由选择表中,作为在注册中规定的大量处理器控制的外围设备的可用控制器,并存储该注册消息。可以预料,控制软件部件46可以控制同一种类型的多个处理器控制的外围设备。
在94,从规定类型的处理器控制的外围设备,例如处理器控制的外围设备24收到注册后,在96,交换机52将处理器控制的外围设备添加到其路由选择表,作为可用设备。由于控制软件部件注册已经处于适当位置,所以在98,交换机52进行逻辑连接,而在100,将控制软件部件注册转发到现在不可用的处理器控制的外围设备24。在102,处理器控制的外围设备24继续发送注册消息,直到收到控制软件部件确认消息。交换机52将在104接收的下一个处理器控制的外围设备注册消息转发到对其建立了逻辑路由选择连接的控制软件部件46。通过在106将确认消息发送到交换机52,控制软件部件46完成注册过程,在108,交换机52又使该确认消息路由选择到处理器控制的外围设备。
重要的是要注意,第二种情况的不同之处仅在于,处理器控制的外围设备24和控制软件部件46的注册顺序不同。注册过程的要求保持不变。
参考图10,在第三种情况下,当处理器控制的外围设备24进行注册时,在110,存在现有逻辑连接。现有逻辑连接是用于与注册的处理器控制的外围设备24匹配、表示在112处理器控制的外围设备24已经被复位的处理器控制的外围设备类型和数量。
在114,交换机52从已经建立逻辑连接的处理器控制的外围设备24接收包括设备类型和数量的注册消息。在116,交换机52将注册消息转发到正确的控制软件部件46,正如逻辑连接规定的那样。交换机52对处理器控制的外围设备24发送的注册消息进行处理并不比对接收的其它消息进行处理难。
控制软件部件46知道处理器控制的外围设备24已经被复位,无论控制软件部件46是否对该处理器控制的外围设备24发送了进行复位的命令。在118,通过将确认消息发送到交换机52,控制软件部件46完成注册过程,在120,交换机52又使该确认消息路由选择到处理器控制的外围设备24。
在这种情况下,先前存在的逻辑连接不发生变化,从而确保复位的处理器控制的外围设备保持其与同一个控制软件部件的逻辑连接。
参考图11,在第四种情况下,在122,当控制软件部件46进行注册时,存在现有逻辑连接。在这种情况下,存在注册的控制软件部件46的连接,在124,注册的控制软件部件46表示控制软件部件已经被复位,或者表示建立了逻辑连接的处理器控制的外围设备被拆除、被插入该系统。
在126,控制软件部件对控制软件部件所负责的每种处理器控制的外围设备类型建立注册消息。在128,交换机52将该控制软件部件注册转发到该注册规定的逻辑连接处理器控制的外围设备类型的每个处理器控制的外围设备。然后,在130,交换机52断开该处理器控制的外围设备类型的所有逻辑连接,并从路由选择表中移除该处理器控制的外围设备。
诸如处理器控制的外围设备26的处理器控制的外围设备接收控制软件部件注册,它起动重新发出其自己的注册的过程。在132,在收到规定类型的处理器控制的外围设备26发出的注册后,在134,交换机52将该处理器控制的外围设备26添加到其路由选择表,作为可用处理器控制的外围设备。因为控制软件部件注册已经处于适当位置,所以在136,交换机52进行逻辑连接,而在138,将控制软件部件注册转发到现在不可用的处理器控制的外围设备。
在140,处理器控制的外围设备26继续发送注册消息,直到收到控制软件部件确认消息。在142,交换机52将所接收的下一个处理器控制的外围设备注册消息转发到对其建立逻辑路由选择连接的控制软件部件。然后,在144,通过将确认消息发送到交换机52,控制软件部件46完成该注册过程,然后,在146,交换机52使该确认消息路由选择到处理器控制的外围设备26。
上述第四种注册情况是最深入的注册情况,因为它解决了两种完全不同的系统软件概念。第一个概念涉及独立于交换机52复位控制软件部件。第二个概念涉及即插即用系统和动态系统处理器控制的外围设备配置的更复杂概念。进一步描述这种情况使能的系统能力是有用的。
上述第四种情况可以使交换机复位各控制软件部件已经存在的逻辑连接,该控制软件部件负责控制CAN总线14-24上的各可用处理器控制的外围设备。当控制软件部件被复位并被重新起动时,需要快速连接先前连接到已经对该处理器控制的外围设备类型进行了注册的下一个可用控制软件部件的处理器控制的外围设备,以将系统停机时间缩短到最短。根据软件配置,新分配的控制软件部件可以是也可以不是先前复位的控制软件部件。
例如,当心跳信号与其控制软件部件一起丢失时,处理器控制的外围设备重新进行注册。在控制软件部件重新启动并发出另一个注册之前,可以开始处理器控制的外围设备的重新注册过程。如果首先收到处理器控制的外围设备注册,则从理论上说,可以应用第三种情况,直到控制软件部件进行了注册。交换机52可以将也可以不将处理器控制的外围设备注册消息转发到控制软件应用程序,但是不改变该逻辑连接。
交换机52已经简化了处理器控制的外围设备不可用的情况,而且不需要它监控该处理器控制的外围设备。根据上面的原则,控制软件部件知道该部件,并因此而知道其处理器控制的外围设备是可用的(利用对该交换机不重要的机制)。一旦可用控制软件部件准备好,就可以利用处理器控制的外围设备进行控制。利用控制软件部件的多个实例,可以实现卡上冗余。
上述第四种情况还可以动态配置处理器控制的外围设备。3种即插即用情况说明处理器控制的外围设备的即插即用配置可能性。
在第一种即插即用情况下,从该槽拆除处理器控制的外围设备,而且既不插入它,也不插入同一种类型的另一个处理器控制的外围设备,来代替拆除的处理器控制的外围设备。这是注册情况处理的最简单即插即用情况。控制软件部件识别何时从系统拆除该处理器控制的外围设备并对该类型的处理器控制的外围设备重新注册。因此,启动第四种注册情况。将所有处理器控制的外围设备重新连接到控制软件部件,但是如果此后将这种类型的处理器控制的外围设备插入该系统,则该控制软件部件仍具有可用容量。
在第二种即插即用情况下,从其槽拆除处理器控制的外围设备,然后,将它或同一种类型的另一个处理器控制的外围设备插入同一个槽代替拆除的处理器控制的外围设备。除了在新处理器控制的外围设备被插入该系统之后,控制软件部件可以不具有用于该处理器控制的外围设备的附加能力外,这种即插即用情况是第一种即插即用情况的继续。控制软件部件识别何时从该系统拆除处理器控制的外围设备并对该类型的处理器控制的外围设备重新进行注册,从而启动第四种注册情况。将先前连接的所有处理器控制的外围设备,包括新处理器控制的外围设备重新连接到的控制软件部件。
在第三种即插即用情况下,从其槽拆除处理器控制的外围设备,然后,在不同的槽,将它或同一种类型的另一个处理器控制的外围设备插入该系统代替拆除的处理器控制的外围设备。这可能是最困难的即插即用情况,但是仍可以利用第四种注册情况处理这种情况。务必识别替换的处理器控制的外围设备,并使它连接到控制软件部件,而不与它所插入的槽无关。控制软件应用程序识别何时从系统拆除处理器控制的外围设备并对这种类型的处理器控制的外围设备重新进行注册,从而启动第四种注册情况。控制软件部件的注册过程中断现有的所有逻辑连接。随后,所有处理器控制的外围设备,包括在不同槽替换的替换处理器控制的外围设备均重新连接到控制软件部件。
插入交换机设计内是一种重要情况,因为不考虑处理器控制的外围设备是否有缺陷,或者基干槽是否有缺陷,它可以使处理器控制的外围设备被替换,而无需复位控制板12。
利用上述注册过程和交换机52的即插即用能力,可以重新动态注册处理器控制的外围设备。
尽管上面对本发明的优选实施例进行了描述,但是应该明白,在所附权利要求的显而易见的意义范围内,可以修改、变更或者改变本发明。
例如,图4A所示的CAN标识符可以使用处理器控制的外围设备#代替消息类型以通过硬件确定CAN消息的目的地。此外,可以省略CAN标题内的操作码,因为作为CAN协议的一部分,已经包括了它,而且硬件可以利用它确定消息入口点,而不采用通过一个入口点进行硬件确定。还可以扩展/减少CAN标题内的设备类型和设备#字段,有助于在系统内具有更多/更少的设备。然后,可以改变帧ID分配,以附加另一种帧类型,而且重新配置帧ID分配,以改变开始帧、停止帧以及中间帧的数量分配。没有开始帧的中间帧,或者没有后续帧的开始帧可以用于表示一个帧消息。
此外,应该明白,根据对特定处理器控制的外围设备附加的优先权分配,或预定的或者在交换机注册过程中指出的控制软件部件的优先权分配,软件交换机可以将处理器控制的外围设备逻辑连接到控制软件部件。
此外,控制软件部件发出的交换机注册消息包括一系列设备类型以及控制软件部件对其有能力的每种设备类型的处理器控制的外围设备的数量,而无需每种设备类型的注册消息。在重新注册软件部件期间,交换机还可以与处理器控制的外围设备保持现有连接,而且仅断开重新注册消息内规定的设备的连接。
还可以预料,处理器控制的外围设备不需要将设备类型和消息类型填充到CAN标识符字段内。
此外,事务ID可以用于公用标题分部以跟踪请求消息并进行响应。
还可以预料,多个控制软件部件可以控制处理器控制的外围设备,或者被逻辑连接到该处理器控制的外围设备,而且控制软件部件或者交换机可以根据处理器控制的外围设备名称而非设备类型/能力的方法建立逻辑连接。
最后,应该明白,上面讨论的CAN/硬件分层协议与控制板的软件配置无关。
权利要求
1.一种通过控制区网络(CAN)总线进行通信的方法,该方法包括使注册消息从多个处理器启动的外围设备路由选择到一个控制软件部件;使周期性心跳消息从该控制软件部件路由选择到所述多个处理器启动的外围设备,以使每个所述处理器启动的外围设备分别保持其注册状态;以及如果需要,使消息通过该CAN总线以离散方式从该控制软件部件路由选择到所述多个处理器启动的外围设备中的一个或者多个,以控制所述一个或者多个处理器启动的外围设备。
2.根据权利要求1所述的方法,该方法进一步包括使该控制软件部件连续接收从所述多个处理器启动的外围设备之一发送的多帧消息的各帧。
3.根据权利要求1所述的方法,其中使消息以离散方式从控制软件部件路由选择到多个处理器启动的外围设备中的一个或者多个处理器启动的外围设备以控制所述一个或者多个处理器启动的外围设备的过程包括使各具有类似标题的消息以离散方式路由选择到多个处理器启动的外围设备中的一个或者多个处理器启动的外围设备,以控制所述一个或者多个处理器启动的外围设备。
4.根据权利要求3所述的方法,其中使各具有类似标题的消息以离散方式路由选择到多个处理器启动的外围设备中的一个或者多个处理器启动的外围设备以控制所述一个或者多个处理器启动的外围设备的过程包括使各具有公用标题分部和CAN标题分部的消息以离散方式路由选择到多个处理器启动的外围设备中的一个或者多个处理器启动的外围设备,以控制所述一个或者多个处理器启动的外围设备。
5.根据权利要求4所述的方法,其中使各具有公用标题分部和CAN标题分部的消息以离散方式路由选择到多个处理器启动的外围设备中的一个或者多个处理器启动的外围设备以控制所述一个或者多个处理器启动的外围设备的过程进一步包括路由选择各具有公用标题分部和CAN标题分部的消息,而无需控制软件部件具有CAN标题分部的特定知识。
6.一种通过控制区网络(CAN)总线进行通信的方法,该方法包括使注册消息从处理器启动的外围设备路由选择到控制软件部件;在处理器启动的外围设备,在使注册消息从处理器启动的外围设备路由选择到控制软件部件后,周期性地从控制软件部件接收心跳消息;以及在处理器启动的外围设备接收从控制软件部件发送的离散控制消息。
7.根据权利要求6所述的方法,其中在处理器启动的外围设备接收控制软件部件发送的离散控制消息的过程包括在处理器启动的外围设备滤除发送的控制消息,以仅使特别用于处理器启动的外围设备的离散控制消息到达处理器启动的外围设备。
8.一种用于使控制软件部件分别与多个处理器启动的外围设备进行离散通信,而不考虑处理器启动的外围设备是否是同样设备的控制区网络(CAN)总线,该控制区网络总线包括处理器,用于在控制软件部件与多个处理器启动的外围设备之间路由选择控制消息;多条总线线路,用于将处理器连接到控制软件部件和多个处理器启动的外围设备;以及处理器用于使控制消息从控制软件部件离散发送到多个处理器启动的外围设备中的一个或者多个处理器启动的外围设备。
9.一种利用控制软件部件处理处理器启动的外围设备的注册过程的方法,该方法包括在处理器启动的外围设备与控制软件部件之间建立逻辑连接;使设备注册消息从处理器启动的外围设备路由选择到控制软件部件;使确认消息从控制软件部件路由选择到处理器启动的外围设备,表示控制软件部件收到了设备注册消息;以及如果处理器启动的外围设备被拆除,则断开处理器启动的外围设备与控制软件部件之间的逻辑连接,否则,如果控制软件部件被复位,则重新引入该逻辑连接。
10.一种网络区控制器,该网络区控制器包括控制软件部件,用于控制预定设备类型的一个或者多个处理器控制的外围设备;交换机,用于在预定设备类型的一个或者多个处理器启动的外围设备与控制软件部件之间建立逻辑连接,用于使设备注册消息分别从预定设备类型的一个或者多个处理器启动的外围设备路由选择到控制软件部件,以及用于使确认消息从控制软件部件分别路由选择到预定设备类型的一个或者多个处理器启动的外围设备,表示控制软件部件收到了分别由预定设备类型的一个或者多个处理器启动的外围设备发送的设备注册消息;以及该交换机还用于在预定设备类型的一个或者多个处理器启动的外围设备之一被拆除时,断开预定设备类型的一个或者多个处理器启动的外围设备与控制软件部件之间的逻辑连接,否则,在控制软件部件被复位,则重新引入该逻辑连接。
全文摘要
用于通过控制区网络(CAN)总线(14-22)进行通信的方法和系统使消息通过CAN总线(14-22)以离散方式从控制软件部件(46-50)路由选择到一个或者多个处理器启动的外围设备(24-44),以控制多个处理器启动的外围设备(24-44)。通过使硬件设备协议覆盖CAN总线协议实现CAN总线消息传送,利用多个多点CAN总线(14-22),控制软件部件(46-50)可以与外部处理器控制的外围设备(24-44)进行离散通信。此外,一种利用控制软件部件(46-50)处理处理器启动的外围设备的注册过程的方法和系统包括在处理器启动的外围设备(24-44)与控制软件部件(46-50)之间建立逻辑连接;以及如果处理器启动的外围设备被拆除,则断开处理器启动的外围设备(24-44)与控制软件部件(46-50)之间的逻辑连接,否则,如果为了提供即插即用能力而重新注册和动态注册处理器启动的外围设备(24-44),而复位控制软件部件(46-50),则重新引入该逻辑连接。
文档编号H04L29/06GK1615611SQ03802106
公开日2005年5月11日 申请日期2003年1月7日 优先权日2002年1月11日
发明者托马斯·M.·安德森, 拉塞尔·R.·拉斯泰德, 李·M.·伊斯泰普, 尹·S.·帕克, 乔治·F.·贡扎雷兹 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1