执行双报文仲裁的方法和系统与流程

文档序号:24053601发布日期:2021-02-24 00:14阅读:169来源:国知局
执行双报文仲裁的方法和系统与流程

[0001]
本发明涉及一种基于第二通信网络的仲裁信息在第一通信网络中执行报文仲裁的方法和系统,特别是执行双报文仲裁的方法和系统。


背景技术:

[0002]
通常,车辆、飞机等采用许多传感器、致动器、控制器、子系统、总线等,因而需要适当控制互连节点或设备之间的通信。随着车辆内通信信道和/或协议数量的增加,对这些系统进行控制的方法也在增加。
[0003]
例如,现代汽车包括各种子系统的多个电子控制装置。通常最大的处理器是发动机控制单元。其他电子控制装置用于控制变速器、安全气囊、音响系统、电动车窗、车门、后视镜等。其中一些形成独立的子系统或通信信道,但是其他系统之间的相互通信对于现代汽车的安全性、可靠性和/或便利性可能至关重要。为了解决这个问题,引入了各种通信协议;其中一些采用仲裁来允许控制设备随机接入网络。can标准可以用于总线系统,但是也可以并行使用其他通信协议。
[0004]
因此,如果系统包括通过不同协议互连通信的多个设备,则需要确保对网络内的报文流进行适当的仲裁。


技术实现要素:

[0005]
因此,本发明的目的是为不同的数据网络或子系统之间提供跨边界的安全和可靠的数据通信。
[0006]
根据本发明,提供了一种基于第二通信网络的物理仲裁在第一通信网络中执行报文仲裁的方法。第一通信网络包括多个第一节点,这些第一节点又与第二通信网络的相应第二节点互连。
[0007]
根据本发明的方法包括在第一步骤中在相应的第二节点接收来自第一节点的报文,该报文包括所述第一通信网络的物理仲裁数据。基于接收到的报文数据,随后在所述第二节点生成报文帧。该报文帧包括起始前导码,该起始前导码包括所述第一通信网络的修改后的仲裁序列,并且随后在第二通信网络上发送该报文帧。
[0008]
根据本发明,修改后的仲裁序列可以是所述第一仲裁序列与适用于第二网络的相位\频率序列的按位替换。因此,可以通过不同类型的网络实现跨边界仲裁,即双报文仲裁。
[0009]
因此,当在不同的第二媒介上执行原始报文仲裁时,根据本发明的方法确保了在一个媒介(即网络)上的仲裁。根据本发明,上述网络或媒介可以是基于有线的或无线的(通过空气、光等)。两种技术都可以受益于本发明的方法。
[0010]
此外,有利地,如果要实现第一通信网络,则不需要实现第一物理网络,因为本发明的方法允许在与第二通信网络相关联的已经存在的基础设施上模拟第一通信。因此,可以节省诸如电线等材料成本。
[0011]
根据本发明的第二方面,提供了一种基于协议的数据传输系统。该系统包括多个
第一节点和多个第二节点,其中所述第一节点需要通过第二通信网络进行通信,并且所述第二节点适于根据前述方法进行通信。
[0012]
因此,提供了一种用于数据通信的系统,该系统允许使用情况不同的通信网络内的设备互连。有利地,第一网络的仲裁技术也可以用于确保第二网络内的受控数据通信。
[0013]
本发明的实施例:
[0014]
根据本发明的一个实施例,所生成的报文帧还包括至少一个数据集、纠错码信息和报文后缀。因此,确保了多个节点之间安全可靠的数据通信。
[0015]
第二节点适于检测所述第二通信网络中的数据传输,并进而通知所述相应的第一节点暂停报文发送。通过这种机制,可以避免物理线路上的总线拥塞等情况。如果多个节点或设备共享同一条通信线路,这将非常有利。
[0016]
根据一个实施例,在检测到所述第二通信网络中的数据传输之后,第二节点发送所述对应的第一节点的保留报文,所述保留报文导致所述第一节点在所述第一通信网络中的仲裁程序输掉。因此,本发明还允许在所涉及的控制器和与第二数据通信网络互连的相应设备之间进行本地仲裁。
[0017]
检测到的数据传输可以对应于所述第二通信网络内的数据流量和/或所述第一数据通信网络内相应节点的数据流量。因此,可以实现不同网络之间的跨边界数据仲裁和/或相应设备之间的本地通信。
[0018]
根据一个实施例,根据本发明的方法还包括检测所述第二数据通信网络的网络竞争,并将所述保留报文发送到所述相应的第一节点。因此,如果所涉及的第二节点想要通过第二节点或通信信道释放报文,该方法确保要使用的第一节点总是处于空闲模式。
[0019]
可以想到,第二数据通信网络是有线通信信道或无线通信信道。因此,可以通过本发明的方法来对不同种类的数据通信网络进行仲裁。
[0020]
根据本发明第二方面的实施例,第二节点包括通信接口,以使用第一网络协议与所述对应的第一节点进行通信。这可以使所涉及的通信节点之间进行适当互连。
[0021]
第二节点包括:第一通信接口,其使用第一网络协议与所述对应的第一节点通信;以及第二通信接口,其使用第二网络协议在第二通信网络和/或无线网络上进行通信。因此,第二设备可以充当通信桥来使不同类型的数据通信网络互连。
附图说明
[0022]
附图用于帮助进一步理解本发明,并构成本说明书的一部分。附图示出了本发明的实施例,并与说明书一起用于解释本发明的原理。通过参考以下具体实施方式,本发明的其他实施例和本发明的许多预期优点将变得更容易理解。
[0023]
通过实施例并参考附图更详细地解释了本发明,其中:
[0024]
图1以can总线为例,示出了本发明的原理;
[0025]
图2示出了根据本发明的车辆中的通信网络;
[0026]
图3示出了根据本发明实施例的dcan设备的实现;
[0027]
图4示出了根据本发明实施例的can帧的结构;
[0028]
图5示出了根据本发明的两个互连设备的时序图;
[0029]
图6示出了根据本发明实施例的报文传输期间的时序行为;
[0030]
图7示出了根据本发明实施例的接收报文期间的时序行为。
具体实施方式
[0031]
以下参考附图对本发明进行说明,这些附图构成本文的一部分,并且通过说明的方式示出了可以实施本发明的具体实施例。文中诸如“顶部”、“底部”、“前部”、“后部”等方向术语参考所描述的附图的方向来确定。因为本发明的实施例的组件可以定位在多个不同的方向上,所以方向术语仅用于说明,而决不是限制性的。应当理解,在不脱离本发明范围的情况下,可以采用其他实施例,并且可以进行结构或逻辑上的改变。因此,下面的具体实施方式不是限制性的,本发明的范围由所附权利要求书限定。
[0032]
图1示出了本发明的原理,其中示意性地示出了两个不同的通信网络及其相应的互连节点。根据本发明,提供了一种当在不同媒介上进行原始报文仲裁时,在一种媒介上进行报文仲裁的方法。根据一个可能的实施例,两种媒介(通信网络)都是基于有线的,但是也可以想到可以受益于本发明的方法的其他网络,例如无线或混合网络。
[0033]
在图1中,示意性地示出了两个不同通信网络的互连。根据一个实例,第一通信网络可以是can总线,第二通信网络可以是电力线(pl)网络。在本发明的范围内可以想到其他类似的网络。
[0034]
根据一个实施例,第二通信网络是物理存在的网络,并且具有第一节点的第一通信网络使用第二网络进行通信。在第一通信网络中,可以实现一个can仲裁程序,由此仲裁数据被用于第二网络上的报文仲裁。因此,根据本发明的方法工作的系统优于第二通信网络上的传统仲裁数据,例如can仲裁。
[0035]
因此,can网络可以建立在第二物理网络(pl)上,由此第二网络上的报文仲裁基于第一网络的仲裁程序。此外,不需要专用的第一网络硬件,因为根据一种可能的实施方式,可以使用pl网络的线路。
[0036]
图2所示为本发明的一个实施例在车辆中的使用案例。以两个独立的can通信网络的实施为例。第一个用于承载属于车门的can通信,第二个用于承载车辆座椅的can通信。没有使用专用的can线路。取而代之的是,当传输时,使用dcan设备将所有流量从can协议转换为电力线协议,当接收时,将所有流量从电力线协议转换回can协议。车门网络流量通过电力线使用第一专用载波频率进行通信,而座椅网络使用第二专用频率。因此,形成了两个虚拟的can网络,从而通过省略使用专用的can总线铜线来使用车辆中用于数据传输的专用电力线。
[0037]
在该实例中,仅示出了两个网络,但是本发明可以针对几个并发的局域网来实现。另外,pl协议可以用无线协议等代替。这使得本发明的方法具有灵活性,且适用于可想象到的所有类型的网络。
[0038]
为了确保通信系统中成对设备之间的正确互连,根据本发明进行了适当的报文仲裁。
[0039]
在can总线或网络上,可以分别使用按位仲裁。根据本发明的方法,基于can的仲裁从can网络转移到pl网络。因此,需要第二数据网络上的第二仲裁程序。根据本发明,仲裁数据或序列分别用于第二通信网络中的报文仲裁。dcan设备将can报文转换或翻译成相应的数据结构,这些数据结构可以通过pl网络等进行传送。因此,第一网络的仲裁序列用于在pl
网络(即第二网络)上进行仲裁。
[0040]
因此,本发明可以确保在pl网络上dcan设备与其can对应控制器之间以及dcan设备与其他dcan设备之间进行双仲裁。所有主要网络拓扑及其变型都可以根据本发明来实现,包括但不限于:星形、环形、线形和树形。多个dcan设备网络可以在单个电力线上运行,而每个网络都在不同的载波频率(又称为信道)上进行通信。为此,dcan设备提供了一个无缝接口,为can仲裁程序提供了完整的支持,同时还在电力线物理媒介(即电力线网络)上进行仲裁。
[0041]
根据该实施例,本发明可以确保在由至少两个can控制器组成的通信网络中进行适当仲裁,这两个控制器能够通过物理电力线而不是专用的铜质can线路发送数据流量。因此,可以省去用于建立专用can总线的材料成本。
[0042]
参考图3,每个can控制器都连接到一个dcan设备,该dcan设备适于将符合can协议的流量转换为符合电力线协议的流量。如前所述,can和pl协议仅用作可能的实施例。当pl网络上的dcan节点的数量等于can节点的数量时,可以实施本发明,其中单个dcan设备连接到由不止一个can控制器组成的can网络。在这种情况下,dcan设备可以与多个can控制器或节点并行通信。这可具有成本效益,因为网络中需要使用的硬件更少。
[0043]
专用can网络中的can控制器必须遵守can协议。这意味着标准定义的参数是固定的,例如:比特率和时序要求、电压电平、物理线路数量、报文结构和总线仲裁程序。继而,根据本发明的dcan设备必须遵守can协议以及相应的电力线协议。也就是说,当一个协议与另一个协议接口时,dcan作为接口设备,必须在网络的can侧表现出符合can的行为,在网络的电力线侧表现出符合电力线的行为。上面参考图2在实施方式中示例性地示出了根据本发明实施例的dcan设备的灵活性。
[0044]
图4示意性地解释了根据本发明的报文结构。由can控制器生成的每个can报文(称为can报文)都将转换为单个dcan帧(称为pl帧),以通过物理电力线进行传输。参考图4,pl帧携带有can报文。电力线上的pl帧包括起始帧(由仲裁和前导码模式组成)和至少一个数据包,最后是结束帧(表示帧的最后一个数据包)。数据包可以携带任意数量的字节,但也可以是空的,即完全不携带任何信息。纠错码(ecc)对每个数据包进行保护。如图4所示,pl帧可以包括比can报文更多的比特,并且可以具有不同的比特率。dcan设备具有称为“伪报文”的自动配置,以防止总线争用。
[0045]
由于所有设备都可以通过同一条物理线路发送数据,并且没有主设备,因此必须执行适当的仲裁程序。在该实施例中,可以想到线路仲裁等方法。仲裁旨在解决两个或多个网络节点希望同时在一条公共通信线上传输信息时发生的冲突。假设两个或多个节点尝试同时接入该线路,则具有最小(最低)标识码(id)编号的节点将可以接入该线路并被允许在该线路上发送其信息——该节点被称为“仲裁获胜者”。可以参考公知的can协议标准找到一种仲裁程序,其中公开了按位仲裁。
[0046]
一般来说,can是一种“载波侦听”多址接入协议,这意味着每个节点在总线上传输数据之前都会先观察总线,如果检测到总线上有一些数据,则其就不会传输自己的数据,而是等待一段预定义的时间,然后重试。这样可以确保不会破坏总线上正在进行的传送。但是可能会出现两个节点同时开始传输的情况。因此,can协议体现了冲突检测和按位仲裁。
[0047]
数据由总线上的节点以帧的形式进行传输,本说明书的图4和图5示意性地示出了
帧的形式。pl帧具有多个字段,但是对于仲裁,仅起始帧(sof)和标识码(id)是我们所关注的(在图4和图5中未示出)。sof是一种模式,用于向总线上的所有其他节点发送帧开始的信号。pl帧中的后续字段是对报文进行优先级排序的id,id越低,报文的优先级越高。
[0048]
假设两个节点同时开始传输,两个节点将同时传输sof位,接下来节点将开始传输id。在该实例中,id包括11位,但是根据协议可以使用其他长度。
[0049]
每个节点一个接一个地发送id的其他位,并将其与从另一个发送方接收的位进行比较。当一个节点检测到其发送的“1”位和其感测到的位是“0”时,其知道总线上正在发送一个更高优先级的报文,于是该节点开始侦听并停止发送。因此,该仲裁机制确保总线上不会发生数据损坏。
[0050]
参考图5,示出了根据本发明的仲裁程序,其中dcan设备a赢得仲裁,而dcan设备b从相应的设备接收报文。
[0051]
下面描述根据本发明的发送流程。当从其can控制器接收到一个can报文时,dcan设备a生成通过电力线传输的起始帧模式,如图5所示。根据一个可能的实施例,起始帧由基于控制器的can报文id的唯一电力线仲裁组成。
[0052]
在此实例中,当网络中的dcan节点通过电力线(即第二通信网络)赢得仲裁时,dcan设备a赢得仲裁,随后其将在指定的can确认时隙用确认报文应答控制器,并且通过电力线向所有连接的dcan节点(即根据示例性实施方式的dcan设备b)发送pl帧。
[0053]
例如,如果一个dcan节点(设备)由于另一个dcan设备(图4中未示出)的传输而在电力线上输掉仲裁,其将生成nack报文,该报文将在指定的确认时隙被发送到相应的can控制器,并且dcan设备将中止传输,从电力线接收pl帧(由获胜的dcan设备a发送),并且将其传送到相应的can控制器b。因此,输掉仲裁的dcan设备的相应can控制器可以确定是重新传输can报文还是将其丢弃。
[0054]
每个can控制器都连接到其相应的dcan设备(参见图2和图3),因此,这些控制器不知道电力线上是否有正在进行的通信。另一方面,dcan设备连接到电力线,因此知道电力线是否繁忙(通信正在进行)。因此,如果特定的can控制器希望在电力线繁忙时发送can报文,则由相应的dcan设备“通知”该can控制器此时其不能发送任何数据。这只能在遵守根据本发明的can协议的情况下实现。
[0055]
因此,通过使can控制器相信其在can总线上输掉了仲裁,即模拟了输掉仲裁状态,可以实现这一点。为此,定义了一个伪报文,即空的或“零”的can报文,其id为0(根据can规范,id为0的can报文得到保留)。对于仲裁程序,此类报文将始终通过其can控制器赢得本地can仲裁,这在can控制器tx流中施加了人为的延迟。
[0056]
根据一个实施例,存在至少两种生成保留的伪报文的其他可能性。
[0057]
第一种情况(情况1)是,如果检测到can控制器启动了新的can报文传送,而先前的can报文仍通过电力线传输(pl繁忙)。在这种情况下,伪报文将使can控制器输掉总线上的仲裁,其将不得不等待到伪报文的结束,并成为一个接收节点。因此可以避免总线拥塞,因为在pl总线处于空闲模式之前不会发生传输。
[0058]
第二种情况(情况2)是,当can控制器发起新的can报文,同时相应的dcan设备正处于从电力线接收pl帧的过程中时;在这种情况下,dcan生成的伪报文将使相应的控制器等待,直到电力线pl帧接收完成。
[0059]
因此,只要电力线不是空闲的,并且在can控制器试图发起新的can报文传输时,根据本发明的dcan节点将总是会产生伪报文。
[0060]
下面描述根据本发明的报文接收流(rx流)。一旦检测到电力线pl帧,dcan设备将把该pl帧转换成can报文,然后通过本地can总线(本地链路)将其发送到相应的can控制器(尤其是对于本地can节点的can rx输入),参见图3。
[0061]
当can控制器开始向相应的dcan设备传送can报文,而dcan设备同时开始向所述can控制器传送其接收到的电力线pl帧时,会发生can控制器—dcan设备冲突。根据本发明的教导,提供了一种通过在所述控制器和相应的dcan设备之间发起本地can总线仲裁程序来解决这种冲突的方法。如果can控制器赢得了本地仲裁,dcan设备将停止传送电力线pl帧,并接收控制器的can报文,以便以后通过电力线进行传输。然后,dcan将自动将该电力线can报文传输到相应的can控制器。
[0062]
当can控制器输掉对dcan设备的本地can总线仲裁时,电力线pl帧将被完全传送到can控制器。然后,根据一种可能的实施方式,can控制器可以传送该can报文或者可以将其丢弃。
[0063]
参考图6(和图7),示意性地说明了根据本发明的方法进行的报文处理(发送tx流和接收rx流)。
[0064]
图7示出了根据一种可能的实施方式,相应的can控制器如何发送连续的can报文。举例来说,假设一个can协议定义了两次连续传输之间的3位的最小时间。
[0065]
由于电力线pl帧(图3)可能比can控制器的报文长,因此can控制器必须等到电力线可用后才能避免时序危险。在此实例(实例1)中,dcan设备向其can控制器发出伪报文(空报文),以延迟新报文的传送,直到正在进行的can电力线传输完成。实例1—图6描绘了两个can报文a和b,其延迟小于400μs。尽管can报文a仍通过电力线传输,但can控制器会发起一个新报文b。一旦检测到新报文b的起始帧(sof),dcan就会立即发起一个伪报文。当通过电力线完成信息a的传输时,电力线再次可用,并且can控制器通过dcan通过电力线重新发送can报文b。
[0066]
实例2—can控制器生成新的起始帧,同时相应的dcan设备正在从另一个dcan节点接收电力线pl帧。
[0067]
图7给出了示例性的实例,说明了在dcan设备从另一个dcan节点b接收电力线pl帧的同时,其相应的can控制器a如何生成新的起始帧。
[0068]
为了清楚起见,该实例可以分为两种情况。情况a—电力线pl帧已完全解码,并准备好传输到控制器。在这种情况下,dcan开始将电力线pl帧传送到can控制器。如果控制器同时开始传送自己的can报文,则dcan与控制器之间将进行本地仲裁(与在can-总线中执行的仲裁相同,请参见上文)。id优先级较高的报文将获胜。
[0069]
如果dcan输掉本地仲裁,其将从其can控制器接收can报文,然后通过电力线发送控制器can报文。然后,dcan将再次向相应的控制器重新发送其等待的电力线pl帧。
[0070]
情况b—检测到电力线pl帧,但在相应的can控制器a新起始帧之前,dcan设备未对其进行完全解码。
[0071]
在这种情况下,在开始从can控制器a发送新的can报文之前,dcan已从dcan b检测到新的电力线pl帧。因此,dcan a发出伪报文,直到电力线再次空闲。can控制器a输掉本地
仲裁,成为接收者。只要电力线没有空闲,dcan a就重复发出伪报文。从而避免可能的总线冲突。
[0072]
如果电力线空闲,当can报文b被发送到dcan节点b时,该序列开始。一段时间后,can控制器a尝试发送其can报文a。由于dcan a已经在检测dcan b的电力线pl帧的过程中,其将向can控制器a发出伪报文,直到电力线再次空闲。
[0073]
当dcan设备a完成接收dcan设备b的pl帧的操作后,dcan设备a将开始使用其相应的控制器(can控制器a)进行本地仲裁。如果can控制器a赢得本地仲裁,则其can报文将通过电力线发送。然后,dcan设备a成功将设备b报文重新发送到其控制器。控制器设备b成功接收到设备a的can报文。
[0074]
所描述的利用本发明的方法的dcan设备可以实现为具有硬逻辑编程的现场可编程门阵列(fpga)半导体、数字信号处理器(dsp)或专用集成电路(asic)半导体等。
[0075]
因此,确保了不同数据通信网络内的报文仲裁,其中在一个数据网络上的仲裁是对源自第一通信网络的仲裁数据执行的。
[0076]
应当注意的是,权利要求中使用的措辞“包括”不应被解释为限于其后列出的装置或手段,即不排除其他要素或步骤。因此,应将其解释为存在所述特征、整数、步骤或组件,但是并不排除存在或添加一个或多个其他特征。
[0077]
因此,“包括装置a和装置b的设备”这一表述的范围不应限于仅由组件a和组件b组成的设备或模块。这意味着对于本发明,该设备的唯一相关组件是a和b。
[0078]
在整个说明书中,“一个实施例”或“某个实施例中”这一表述意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书的不同地方出现的短语“在一个实施例中”或“在某个实施例中”并不是一定都指同一实施例,而是可以指同一实施例。此外,在一个或多个实施例中,特定特征、结构或特性可以以任何合适的方式组合,这对于本领域的普通技术人员而言,根据本公开将是显而易见的。
[0079]
类似地,应当理解,在本发明的示例性实施例的说明中,出于简化公开和帮助理解一个或多个各种发明方面的目的,本发明的各种特征有时被组合在单个实施例、附图或其说明中。但是,该公开方法不应解释为反映了这样一种意图,即所要求保护的发明具有的特征需要比每个权利要求中明确叙述的特征更多。相反,如权利要求书所反映的,发明的方面在于其具有的特征少于前述公开的单个实施例的所有特征。因此,在此声明,权利要求书中所述的权利要求在此被明确地结合到该具体实施方式中,每个权利要求都独立地作为本发明的单独实施例。
[0080]
尽管这里已经示出和描述了特定实施例,但是本领域普通技术人员将理解,在不脱离本发明的范围的情况下,可以用各种替代和/或等效的实施方式来代替示出和描述的特定实施例。本申请旨在覆盖这里讨论的特定实施例的任何修改或变化。因此,本发明仅由权利要求书及其等同物来限制。
[0081]
本发明提供了一种数据系统,该数据系统适于根据在第二通信网络的物理仲裁的基础上在第一通信网络中执行报文仲裁的方法进行通信。第一通信网络包括多个第一节点,这些第一节点又与第二通信网络的相应第二节点互连。
[0082]
根据本发明的方法包括在第一步骤中在相应的第二节点接收来自第一节点的报文,该报文包括所述第一通信网络的仲裁数据。基于接收到的报文数据,在所述第二节点生
成报文帧。该报文帧包括起始前导码,该起始前导码包括所述第一通信网络的修改的仲裁序列,且(仲裁成功之后)随后在第二通信网络上发送报文帧。
[0083]
因此,当原始报文仲裁在不同的第二媒介上执行时,根据本发明的方法确保了在一个媒介(即网络)上的仲裁。根据本发明,前述网络或媒介可以是基于有线的或无线的。两种技术都可以受益于本发明的方法。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1