车辆网络和在车辆网络中传递数据分组的通信方法

文档序号:7606565阅读:159来源:国知局
专利名称:车辆网络和在车辆网络中传递数据分组的通信方法
技术领域
本专利涉及车辆,特别涉及车辆内部的通信网络。
背景技术
车辆营造商在相当长的一段时间内,一直使用控制器之间的串行通信(多路复用)来共享信息和分布控制。这样做极大地减少了实现现代消费车辆中所期望的舒适性、便利性和安全性特征所需要的车辆信号布线的数量。
可以按照功能(动力系、制动、转向等等)、位置(发动机舱、座位、门等等)或者其组合,将为了实现期望特征而对车辆中的设备进行的控制划分为控制器。用于每一功能/区域的控制器可以使用共享访问串行总线来与其他控制器共享信息。为本领域中普通技术人员清楚地了解的是,总线通常遵循诸如J1850、CAN、LIN、Flexray、MOST等等之类的行业标准。可以使用多个独立的总线。在该情况下,控制器之一可以充当不兼容总线之间的信息的网关。
替代的体系结构引入了这样的想法将车辆划分为地理区域,并为该区域中的所有特征设置单个控制器。该体系结构还可以包括灵智外围设备的概念,以便减少车辆的设置区域中的互连的数目。灵智外围设备使用诸如LIN总线之类的简单串行通信总线,将信息从传感器中继到区域控制器,或者从区域控制器接受致动装置命令。区域控制器可以由串行通信总线结构链接。
另一替代的体系结构并入了连接件,其可以被设置于车辆的各个区域中。连接件提供机械和电连接点,以便为用于在输入输出装置之`间提供接口的小装置提供电源、接地和通信。连接件还为这些小型连接装置提供过电流保护装置,并在系统内部分布不同电平的多个电源。
当前总线协议不是很容易扩缩的,并且受到带宽的限制。线传控制(X-by-wire)功能性、多媒体文娱新闻、导航及其他内容密集性应用都对带宽和服务质量(QoS)提出更高要求,要求在带宽、速度、延迟、抖动、容错、消息完整性、保障递送、可应用性和抗破坏性方面作出明显的改进。
因此,需要用于汽车环境的新的体系结构,比如交换矩阵(SwitchFabric)网络体系结构,其在容量和冗余度两方面均提供可扩缩性,而成本与现有总线体系结构持平。


本公开内容将描述若干实施例来举例说明其广泛的教导。还对附图进行了参考。
图1是并入车辆网络中的车辆的略图。
图2是构成车辆网络的一部分的交换矩阵的略图。
图3是构成车辆网络的部分的交换矩阵的略图,并且还图示出网络内部的通信路径。
图4是构成车辆网络的部分的交换矩阵的略图,并且还图示出完全不同的通信链路。
图5是可以在图1-4中所示网络中使用的网络元件的方框图。
图6是数据分组的略图。
图7-12是图示出可以与图1-4中图示出的网络一起使用的网络节点发现过程的示意图。
具体实施例方式
尽管下文阐述了本发明的大量不同实施例的详细说明,但应当被理解的是本发明的法律范围是由本发明所附的权利要求书的语句所定义的。该详细说明应仅仅被看作是示例性的,而并不是描述本发明的每一可能的实施例,因为描述每一可能的实施例是不可能的,或者是不切实际的。可以使用当前技术或者在本专利的申请日之后开发出的技术来实现大量替代的实施例,但这仍属于定义本发明的权利要求书的范围。此外,此处描述的实施例的特征与功能应该被视为可互换的,并且每个结构、特征或功能可以与此处描述的任何实施例一起使用。
还应被理解的是,除非在本专利中使用句子“如此处所使用的,该术语‘___’在此被定义为意指...”或者类似的句子明确地定义一个术语,否则并不意图将该术语的含义明确或者隐含地限制超出它的平常的或者普通的含义,并且此类术语也不应被解释为被限制在本专利的任一部分中所作出的任何语句(除了权利要求书的语言之外)的范围之内。从而,在本专利中均以符合单一意义的方式来涉及本专利所附的权利要求书中叙述的任一术语,这是为了清晰起见以便不对读者引起混乱,但并不意图隐含地或者相反地来将这种权利要求术语限制为该单一的含义。最终,除非权利要求元素是通过描述措词“装置”以及功能而没有描述任何结构来定义的,否则并不是意图基于35U.S.C.§112,第六款的运用来解释任一权利要求元素的范围。
图1图示出车辆100包括网络102,各车辆装置104-110与该网络102耦合。这些装置可以是用于与各车辆功能系统和子系统连接的传感器、致动装置、处理器等等,例如、但不限于用于节流阀、制动、转向和挂起控制、电力辅助设备、通信、娱乐等等的线控应用。车辆装置104-110可以由接口112-118耦合,接口112-118可以是将特定装置耦合到网络102的任何适当的接口,并且可以是有线的、光学的、无线的或者其组合。然而,应该理解的是,接口并不是必要元件,并且装置104-110可以直接耦合到网络,或者可以构成网络的部分。车辆装置104-110可以被适配为提供与车辆100相关联的一个或多个功能。这些装置可以是数据产生的,比如传感器,可以是数据消耗的,比如致动装置、处理或者其他装置,其均可以产生和消耗数据,或者在网络内部路由该传输数据。当然,致动装置(通常是数据消耗装置),也可以产生数据,例如在致动装置产生数据来指示其已经实现所指示的状态的情况中;或者传感器也可以消耗数据,例如在向其提供用于功能方式的指令的情况中。由装置产生的数据或者向装置提供的数据、以及由网络102运送的数据与装置本身的功能无关。也就是说,接口112-118可以在耦合的装置和网络102之间提供与装置无关的数据交换。
网络102包括在装置之间定义多个通信路径132的交换矩阵130。通信路径允许在装置104-110之间同时进行多个对等或者点对点、一对多、多对多等数据分组通信。在车辆100的工作期间,例如在装置104和110之间交换的数据可以使用装置之间的任何可用的路径或者多条路径。在工作中,经过交换矩阵130的单一路径可以携带用于表示装置104和装置110之间的通信的所有数据分组,或者可以是多条通信路径携带部分数据分组。随后的通信可以使用相同路径或者由网络102的随后的状态所规定的其他路径。这一灵活性是在受限于装置之间的单一通信路径的总线体系结构之上提供可靠性和速度优点,因此容易遭受单一路径的失败或者由于路径拥塞而引起的延迟。此外,可能同时发生使用交换矩阵130内部的通信路径的其他装置104-110之间的通信。
网络102是可以遵循传输控制协议/互连网协议(TCP/IP)、异步传输模式(ATM)、Infiniband、RapidIO或者任何其他目前已知的或者以后开发的分组数据协议的分组数据网络。它还可以包括以分组运输模式(packet transit mode)工作的总线结构,如稍后所述。因而,网络102可以使用具有固定或者可变长度的、由一种或多种可用协议定义的数据分组。例如,如果网络102使用异步传输模式(ATM)通信协议,则可以使用ATM标准数据信元。
装置104-110无需是分立器件。代之以,该装置可以是车辆的系统或者子系统,并且可以包括一个或多个继承通信介质,即诸如J1850、CAN、LIN、Flexray、MOST之类的继承总线体系结构或者类似的总线结构。在此类实施例中,相应的接口112-118可以被配置为代理或者网关,以允许有源网络102和继承装置104-110之间的通信。
图2图示出网络200,其包括由通信链路214-230通信耦合的多个网络元件202-212。多个装置238-250耦合在不同位置,即通过对应的通信链路(没有单独标识出)耦合到网络200的几个网络元件202-212。这些装置可以是任何车辆装置,比如闪光器238-244、闪光器控制(杆开关)246、油门248、诸如量计250之类的一个或多个量计等等。
通信链路214-230可以是健壮的传输介质,并且正如将要描述的,可以由串行通信体系结构改编获得。也就是说,通信链路214-230能够在网络元件之间提供确保的、可靠的消息传送。任何给定通信链路214-230可以是单一的双向链路、单一的单向链路、或者双向链路与单向链路的组合、或者任何链路技术的组合。可以依照为汽车环境设计的现有的健壮传输机制来定义链路,比如CAN、LIN、FLEXRAY、J1850等等,或者可以依照正在开发的或者以后将开发的传输协议来定义链路。链路还可以是技术的组合,或者实际上依照任何其他协议来规定。
网络200可以在不同级别并入提供监督、控制、诊断或其他相关功能性的系统管理功能。可以通过耦合到网络200的单独实体来提供这一功能性,也可以在网络元件202-212或网络200的其他适当元件内部分布该功能性。
图3图示出网络200提供的灵活性。将把信号从闪光器控制246传递到闪光器240的任务视为这一灵活性的一个例子。网络200是基于分组的网络,并且允许与通信介质无关地使用从源点到终点的任何可用通信路径。如图3中所示,来自闪光器控制246的信号可以遍历由网络元件206和204以及连接它们的通信链路222所定义的闪光器控制246之间的一条相对直接路径302。替代地,可以使用一条经由网络元件206、202和204以及连接它们的通信链路218和214的路径304。还可以使用另一条经由网络元件206、210、212和204以及通信链路224、228和216的路径306。正如这一范例所清楚揭示的,可以定义大量通信路径。可利用多条路径使得网络能够管理通信量,以避免一条或多条通信链路214-232上的拥塞,或者一个或多个网络元件202-212处的拥塞。可利用多条通信路径还通过允许绕开故障元件/链路建立通信路径,在一个或多个网络元件和/或一条或多条通信链路发生故障时实现容错。
现在参看图4,网络400包括通过通信链路414-430通信耦合的多个网络元件402-412。多个装置438-450耦合在不同位置,即通过对应的通信链路(没有单独标识出)耦合到网络400的多个网络元件402-412。继承装置452-458,即被适配为依照诸如J1850、CAN、LIN、Flexray、MOST等等现有通信协议通信的装置,也与网络400耦合。例如,被示为门开关的装置452和454可以通过J1850通信链路460和462,分别与网络元件402和404耦合。在本范例中为门锁的装置456和458可以通过CAN通信链路464和466分别与网络元件410和412耦合。此外,可以依照任何适当的、优选为健壮的传输协议来规定这些通信链路中的任一个。正如图4中所示出的,可以依照CAN协议规定通信链路414和416,同时可以依照TCP/IP、CAN、LIN、Flexray等等规定剩余链路。
网络元件的结构可以如图5所示出的那样。图5中的网络元件500包括操作耦合的一个或多个输入输出端口,一个被显示为端口502,网络元件500还包括处理器504和存储器506。存储器506存入了控制程序(没有示出),用于指示处理器以帮助经由相关网络传递数据分组的方式来工作。输入输出端口502被适配为与通信链路耦合,以便发送数据分组和从网络元件500接收数据分组。因为网络元件500可以与超过一种的传输介质类型耦合,所以处理器依据控制程序来操作,以便接受经由第一传输介质发送的数据分组、为经由第二传输介质通信的需要而修改数据分组、以及在第二传输介质之上传递数据分组。用这样的方式,网络元件可以充当完全不同的通信介质之间的代理或者网关。应理解的是,可以按照应用需要,以增强的功能性或者简化的功能性来使用替代网络元件。例如,如果网络元件依照单一的协议将连接链路连接在一起,则可能不需要处理完全不同的协议的处理能力,并且这样一种网络元件可以仅仅被适配为依照与数据分组相关联的路由信息来路由该数据分组。
此处所描述的用于在网络内部传递的数据分组可以包括分组类型标识符、路由信息、源ID信息、QoS信息和有效负载。在图6中图示出的是可以在网络中使用的示例性的数据分组600。数据分组600可以包括帧开始字段602、仲裁字段604、控制字段606、数据字段608、循环冗余校验字段610和帧结束字段612。仲裁字段604可以被适配为包括分组类型标识符614、路由指针616、端口标识符618、620和622、源节点标识符624和优先级标记符626。分组类型614标识出数据分组的类型,比如承载电路(bearer)、发现(discovery)、广告、故障、控制等等。如果数据分组包括路由信息,则路由指针616指向当前跳,并且随着每一跳而递减。路由指针616还可以包括其他类型的路由信息。端口标识符618-622标识数据分组已经遍历的端口,例如网络元件。源节点624标识信息源。优先级标记符626可以保留给QoS要求,并且可以包括标识该数据分组的服务级别的代码。控制字段606可以为传输介质所特有的控制数据,例如,如果数据分组来源于或者目的地为CAN适用通信设备,则它可以包括CAN控制数据。数据字段608包括由分组、即有效负载承载的数据。
数据分组600可以被适配为帮助源路由,即数据分组用来经过网络的路由是由信息源确定的,并且该路径信息被包含在数据分组自身之中。数据分组600还可以被适配为帮助目的地路由,即数据分组将用来经过网络的路由是由每一中间节点确定的,并且在数据分组种包含下一节点信息。
数据分组600可以由已知的通信分组结构改编获得,比如CAN数据分组。如图6中所示,仲裁字段604被适配用于帮助依照多种不同串行通信协议,在网络400内部传递数据分组。仲裁字段还可以被适配为包括用于经由网络400传递数据分组600的路由信息,即可以在路由指针616字段内部包括信息,或者也可以在仲裁字段604内部包括信息。例如,路由信息可以是在整个网络400中与数据分组相伴随的固定标记。网络400的每一网络元件则包括一个表,用于依照该标记指导数据分组经过网络400。替代地,分组也可以被源路由,并且仲裁字段可以从而包括用于贯穿网络的每一跳的路由信息。进一步的替代方案是,在每一跳处修改数据分组600、特别是仲裁信息,以便它包括用于下一跳的信息。当然,数据分组600的其他字段也可被用于携带路由信息、QoS信息或者其他类型的信息。
通过由现有健壮通信介质改编获得通信链路214-232,网络200和400可以被实施到现有应用中。在图2-3中示出的实施方式中,可以依照CAN协议规定通信链路214-232。替代地,可以依照LIN、Flexray、J1850、MOST或者其他协议规定通信链路214-232。在图4中所示的实现方式中,可以依照任何适当的协议来规定通信链路414-432,比如CAN、LIN、Flexray、J1850、MOST等等。这些协议中的每一个均定义了一种用于规定并允许流控制的仲裁机制。仲裁可以被规定为在通信链路上向具有最高优先级的消息赋予优先级。优先级可以在消息首部中的数据分组内部指示出,比如数据分组600的优先级标记符626。例如,消息首部可以在最主要比特中包括零。如果两个网络元件试图同时在同一通信链路上传输,则具有最高优先级(例如在主要比特中具有最低值)的消息将获胜,并且所有的他者将释放该通信链路。
一旦初始化启动依照此处所述实施例的网络,比如网络200和400,则需要识别该网络的所有节点。术语“节点”可以指网络元件,包括但不限于结合网络200和400描述的那些网络元件、交换机、路由器、以及任何和所有连接的设备。还需要识别对特定节点有意义的消息标识符,为每一节点分配逻辑地址,为节点逻辑地址创建标识符的转换表,创建从节点到节点的路由选择表,并且创建从节点到节点的一个或多个备用路由。可以将多个服务级别与这一所谓的发现过程相关联。例如,并且如所将更加详细描述的,网络可以为节点提供组播、加密或者其他能力。节点可以被配置为接收信息或者通告信息的可用性。
在网络方面,发现过程是公知的,并且通常采用的迪杰斯特(Dijkstra)算法可以被用于完成网络发现过程和计算路由选择表。然而这些已知的过程采取完全动态的网络,并且在每一次加电时或者在检测到任何故障的时候来完成全部发现过程。取决于网络的规模,这一发现过程可能占用几分钟的时间,这在用户期待能够进入车辆、启动它并且立即操作它的汽车环境中,或者在车辆运行期间可能发生故障的汽车环境中是不实际的,完成发现过程中的任何延迟都可能带来安全性影响。可以把必须等待几分钟来完成发现过程看作是一种缺陷,其对于用户和制造商而言是不能接受的。
一般来讲,依照此处所述实施例的网络不是完全动态的。一般来讲,该网络仅仅在检测到故障的时候才变为动态的,即,该网络直到某些东西发生故障或者当将新硬件添加到网络的时候才是动态的。因此,可以保存网络的最后已知状态,并在检测到网络变化时采用递增的发现过程。递增的发现过程可以在几乎没有影响整体网络性能的情况下来完成。
图7-12图示出可以供比如此处所述的网络使用的递增的发现过程。图7-12中所示的范例意图是举例说明递增发现过程的一个可能类型,并且应当被理解的是,可以使用该特定范例的替换方案。
然后参看图7-12,一旦加电,每一节点被配置为在与该节点耦合的所有端口上向它的所有直接邻点发送“问候”消息。正如图7中所示,节点01向节点02、03、05和07中的每一个发送问候消息。可以以与图5中图示出的方式相类似的方式来配置节点01、02、03、05和07,其中节点可以包括输入输出端口、处理器或者允许发送和接收问候消息以及比较近邻表的智能的某种最简形式、和存储器,在该存储器中可以存储它的节点编号、近邻表及其他路由信息。
问候消息可以包括节点编号和节点的本地近邻表的副本。节点将每隔N秒继续发送这些本地(即,1-跳)问候消息,其中N是任意选取的值,以便问候消息不成为网络的负担,但是该问候信息充分频繁到足以早期检测到网络变化或者可能的故障。通过这些重复的问候消息,发现新的连接,并且通过由物理层产生的传输错误中断(例如众所周知的“总线断开”错误)检测到故障或者终止的连接。
每当节点从一个邻点接收到问候消息的时候,它查看其本地近邻表,以发现是否发生任何变化,即发现是否有新的邻点向其发送了问候消息。当网络被初始化的时候,这可能发生在车辆的初始组装期间,但也可能发生在其他时候,这时没有存储的路由信息。也就是说,每一节点的近邻表为空,因此,节点将使用所接收和处理的每一问候消息来通知一些变化的事情。一旦在一端口处接收到来自一个节点的问候消息,在本地近邻表中没有为该端口存储信息,则接收节点更新其本地近邻表来纳入这一信息。正如图8中所示出的,节点02更新它的本地近邻表900,以便指示节点01在端口2处连接。节点02、03、05和07也发送由节点01接收的问候消息,如图9中所示。接收到这些问候消息使得节点01能够产生它自己的本地近邻表1000。通过节点发送问候消息的这一过程,每一节点能够产生它的本地近邻表。
当正常启动时,其中在节点的存储器中存储有一个最后确知良好的本地表,则该节点将能立即开始有效的通信。随着节点发现新的/丢失的邻点并开始广播新的近邻表,任何网络变化将开始传遍整个网络(图10和11)。
当在网络的近邻表中发生变化的时候,则节点广播它的近邻表,供网络中的相互节点来接收。广播近邻表使得节点能够产生和存储路由选择表1300,如图12中所示。一旦得到所有近邻表,在图12中被泛义地示为近邻表1302,则每一节点可以确定网络1304中的所有节点、以及到达构成通往特定节点路径的相互节点和中间节点1308、1310、1312所需要的跳1306的数目。
发现过程还可以包括定期检查来确定网络的状态或健康。例如,节点可能未能依照如上所述的过程接收到包含节点的新近邻表的广播消息。这一节点可能实际上变为与其余的网络不同步,直到它接收到广播消息并且能够更新它的本地近邻表的时候为止。由于这个缘故,每一节点可以被配置为周期性地广播包括其近邻表的校验和的分组,每一节点能够基于该校验和来核实一致性。可以与其他消息业务一起来发送该校验和,以便它不会消耗网络内部的带宽。
同步化也可能导致故障状态。故障状态可能引起重新发现活动的急骤风暴,并且因而可能由节点接收到失序的更新,即不太新的表可能在实际最新的表之后到达。可以采用时间戳来确保每一节点具有最新的信息。
鉴于上述说明,本发明的其他改进与替代实施例对于本领域技术人员是十分清楚明白的。本说明仅仅应被视为是例证性的,其目的是为本领域技术人员讲授实现本发明的最佳方式。该结构和方法的细节可以发生相当大的变化,而不会脱离本发明的精神,并且保留归入所附权利要求书的范围之内的所有改进的独占使用。
权利要求
1.一种车辆通信网络包括多个网络元件;以点对点的配置来连接网络元件的多个通信链路,所述多个通信链路中的至少一部分是根据共享访问总线协议规定的;所述多个通信链路被设置为在网络元件之间传递数据分组;以及其中数据分组被修改以便经由所述多个通信链路来传送。
2.根据权利要求1所述的车辆通信网络,其中所述数据分组包括路由信息。
3.根据权利要求1所述的车辆通信网络,其中所述数据分组被修改为包含路由信息。
4.根据权利要求1所述的车辆通信网络,其中所述数据分组被修改为包含服务质量信息。
5.根据权利要求1所述的车辆通信网络,其中所述通信链路和网络元件被配置为交换矩阵。
6.一种在车辆内部提供通信的方法,包括在车辆内提供多个网络元件;使用多个通信链路来通信耦合所述多个网络元件,所述多个通信链路中的至少一部分是共享访问通信链路;配置数据分组,以供在网络元件之间通信,以及使用通信链路在网络元件之间传递数据分组。
7.根据权利要求6所述的方法,其中配置数据分组的步骤包括将路由信息添加到数据分组。
8.根据权利要求6所述的方法,其中配置数据分组的步骤包括将服务质量信息添加到数据分组。
9.一种在车辆内部配置网络的方法,所述网络包括多个网络元件和多个通信链路,所述多个通信链路通信地耦合所述所述网络元件以供点对点通信,所述方法包括存储网络的最后已知配置状态;确定网络的配置状态中的变化,以建立当前配置状态;经由通信链路,点对点地将当前配置状态传播经过网络;以及在所述多个网络元件中的每一个处存储当前配置状态。
10.根据权利要求9所述的方法,其中存储最后已知配置状态和当前配置状态的步骤包括在每一网络元件处存储近邻表和路由选择表。
11.根据权利要求9所述的方法,其中确定网络的配置状态中的变化以建立当前配置状态的步骤包括从每一网络元件,在该网络元件的具有与其耦合的通信链路的每一通信端口上发送消息。
12.一种车辆,包括多个网络元件和多个通信链路,所述多个通信链路将所述多个网络元件通信地耦合起来以便进行点对点通信。用于存储网络的最后已知配置状态的装置;用于确定网络的配置状态中的变化以建立当前配置状态的装置;用于经由通信链路点对点地将当前配置状态传播经过网络的装置;以及用于在所述多个网络元件中的每一个处存储当前配置状态的装置。
13.根据权利要求12所述的车辆,其中所述用于存储最后已知配置状态和当前配置状态的装置包括用于在每一网络元件处存储近邻表和路由选择表的装置。
14.根据权利要求12所述的车辆,其中用于确定网络的配置状态中的变化以建立当前配置状态的装置包括用于从每一网络元件、在该网络元件的具有与其耦合的通信链路的每一通信端口上发送消息的装置。
全文摘要
车辆通信网络(200)包括多个网络元件(202-212)以及将该网络元件以点对点的配置通信耦合起来的多个通信链路(214-230)。所述多个通信链路中的至少一部分是根据共享访问总线协议来规定的。所述多个通信链路被设置为在网络元件之间传递数据分组,并且数据分组被修改以便经由所述多个通信链路来传送。
文档编号H04L12/26GK1806417SQ200480016285
公开日2006年7月19日 申请日期2004年6月10日 优先权日2003年6月12日
发明者唐纳德·伦博斯基, 于尔根·雷诺, 帕特里克·乔丹, 沃尔顿·费尔, 塞缪尔·M·利文森, 董海, 休·约翰逊 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1