首页> 中国专利> 具有协议异常状态的数据传输协议

具有协议异常状态的数据传输协议

摘要

用于在用户之间交换数据的方法,这些用户借助于总线系统相互连接,其中包含数据的消息根据第一通信协议来交换,其中这些消息由比特序列组成,其中具有在根据第一通信协议来交换的消息内的预给定位置的至少一个控制比特必须具有预给定值,其中对于每个消息来说一个用户占据发送器的角色并且至少另一用户作为接收器接收消息并且执行对于消息的错误监视,其特征在于,在存在具有与预给定值不同的值的至少一个控制比特时至少一个接收器占有协议异常状态,在该协议异常状态中该至少一个接收器中止错误监视,直到满足使用第一通信协议的重新开始条件。

著录项

  • 公开/公告号CN104995874A

    专利类型发明专利

  • 公开/公告日2015-10-21

    原文格式PDF

  • 申请/专利权人 罗伯特·博世有限公司;

    申请/专利号CN201380073346.8

  • 发明设计人 F.哈特维希;

    申请日2013-12-19

  • 分类号

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人杜荔南

  • 地址 德国斯图加特

  • 入库时间 2023-12-18 11:38:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-05

    授权

    授权

  • 2015-11-18

    实质审查的生效 IPC(主分类):H04L12/40 申请日:20131219

    实质审查的生效

  • 2015-10-21

    公开

    公开

说明书

背景技术

本发明从用于在用户之间交换数据的方法出发,这些用户借助于总线系统相互连接,其中包含数据的消息根据第一通信协议来交换,其中这些消息由比特序列组成以及具有在根据第一通信协议所交换的消息内的预给定位置的至少一个控制比特必须具有预给定的值,其中对于每个消息来说一个用户占据发送器的角色并且至少另一其它用户作为接收器接收消息并且执行对于该消息的错误监视。

这种方法例如出现在控制器域网络(Controller Area Network(CAN))的通信控制器中。该方法例如在可以从罗伯特博世有限公司(Robert Bosch GmbH)网站http://www.semiconductors.bosch.de下载的BOSCH CAN规范2.0中作了描述。总线系统在该情况下通常是诸如扭绞的铜芯电缆的线路对。CAN协议例如在汽车工业中、在工业自动化中或者也在建筑物网络化中广泛传播。要在CAN协议中传输的消息具有头部、数据域以及尾部,其中要传输的数据包含在数据域中。消息的头部包含帧开始比特(Start-Of-Frame-Bit)、仲裁字段(Arbitration Field)以及控制字段(Control Field)。该仲裁字段包括确定消息的优先级的标识符。CAN支持11比特(“标准格式(Standard Format)”或“基本格式(Base Format)”)以及29比特(“扩展格式(Extended Format)”)长度的标识符。该控制字段包括预给定数据域长度的数据长度码(Data Length Code)。消息的尾部具有CRC字段(CRC Field)、确认字段(Acknowledge Field)以及帧结束字段(End-Of-Frame Field)。下面称这种CAN协议为“标准CAN(Norm CAN)”。比特率通过标准CAN达到直至1Mbit/s。

发送器和接收器针对要传输的消息的角色根据来自消息头部的信息通过仲裁方法在用户中分配。仲裁方法在该上下文中意味着,根据包含在消息中的标志协定:在多个用户同时尝试发送消息时,哪个用户获得对总线的发送访问,其中在单义地分配的标志情况下通过仲裁方法给恰好一个用户授予发送访问。对于本发明来说为前提的至少一个控制比特在CAN的情况下包含在头部中并且例如是仲裁字段中或控制字段中的保留比特,该保留比特必须以预给定值例如一直显性地传输。

许多其它通信系统知道一直以固定值传输的类似的保留比特。下面从CAN出发示出发明构思。但是本发明不由此受限于CAN总线系统,而是可以基于满足所要求保护的方法的前序部分的特征的所有总线系统来实施。

引入不断更强地网络化的应用——例如车辆中的辅助系统或工业设备中的网络化的控制系统——导致了这样的一般性需求:必须提高用于串行通信的带宽。

两个因素限制了标准CAN网络中的有效数据速率,即一方面通过CAN总线仲裁方法的功能被向下限制的比特持续时间(也即比特的时间长度),以及另一方面在CAN消息中的数据比特和控制比特(也即包含非有效数据的比特)的数量之间的关系。

已知称为“CAN with Flexible Data-Rate(具有灵活数据速率的CAN)”或CAN FD的另外的协议。该协议使用了从CAN中已知的总线仲裁方法,但是通过转换到仲裁结束以后直至比特CRC定界符(Bit CRC Delimiter)的更短的比特持续时间来提高比特率。此外,通过允许更长的数据域来提高有效数据速率。CAN FD也是用于在用户之间交换数据的方法,这些用户借助于总线系统相互连接,其中包含数据的消息根据第一通信协议来交换,其中消息由比特序列组成并且在每个包含数据的消息内,具有在比特序列内的预给定位置的至少一个控制比特必须具有预给定的值。

CAN FD可以用于一般的通信,但也用在确定的运行方式中,例如用于软件下载或行结束编程或用于维护工作。

CAN FD要求两组比特时钟配置寄存器,这些比特时钟配置寄存器定义一个用于仲裁阶段的比特持续时间以及另一个用于数据阶段的比特持续时间。用于仲裁阶段的比特持续时间具有与在标准CAN网络中相同的限制,用于数据阶段的比特持续时间可以关于所选取的收发器的效率以及CAN FD网络的要求被选取得更短。

CAN FD消息由与标准CAN消息相同但是细节上不同的元素组成。因此,数据域和CRC域在CAN FD消息中可以更长。标准CAN和CAN FD消息的示例在图1中示出。

CAN FD支持CAN协议的两种标识符长度,11比特长的、也称为“基本格式”的“标准格式”和29比特长的“扩展格式”。CAN FD消息具有与标准CAN消息相同的结构。通过保留比特来进行在标准CAN消息和CAN-FD消息之间的区分,该保留比特在标准CAN中总是显性地传输,携带名称“r0”和“r1”并且位于数据长度码之前的控制字段中。在CAN FD消息中该比特被隐性地传输并且叫做EDL。与标准CAN消息相比在CAN FD消息中附加地跟随例如BRS比特的控制字段比特,该控制字段比特说明这样的位置:在该位置上如果BRS比特具有相应的值,则CAN FD消息中的比特持续时间转换成更短的值。这在图1a中通过箭头示出,该箭头将这些消息划分成具有标记“CAN FD Daten-Phase(CAN FD数据阶段)”的一个片段(在这些片段中使用高比特率或短的比特持续时间)以及具有名称“CAN FD Arbitration-Phase(CAN FD仲裁阶段)”的两个片段,在该处使用较低的比特率或更长的比特持续时间。

数据域中的字节的数量通过数据长度码来指明。该码是4比特宽的并且在控制域中传输。该编码在CAN FD中不同于在标准CAN中。前九个码(0x0000至0x1000)是相同的,但是下面的码(0x1001至0x1111)对应CAN FD消息的更大的数据域,例如12、16、20、24、32、48和64比特。

标准CAN收发器可以用于CAN FD,专门的收发器是可选的并且可以在必要时有助于进一步提升数据阶段中的比特率。

CAN FD协议在具有标题“CAN with Flexible Data-Rate specification”的协议规范(下面称为CAN FD规范)中作了描述,该规范可以在罗伯特博世有限公司网站http://www.semiconductors.bosch.de上下载。

只要使用未修改的标准CAN控制器,标准CAN用户和CAN FD用户的混合网络就可以只以标准CAN格式通信。也就是说,网络中的所有用户必须具有CAN-FD协议控制器,以便执行CAN FD通信。但是所有的CAN FD协议控制器能够参与标准CAN通信。

返回到混合网络中的更慢通信的原因是通过通信用户监视通信,所述通信用户对于例如CAN总线系统中的高的传输安全性共同负责。因为未修改的标准CAN控制器不能正确地接收CAN FD消息的更快的数据比特,该未修改的标准CAN控制器会通过错误消息(所谓的错误帧(Error-Frames))来破坏该消息。CAN FD控制器消息会以相似的方式通过错误帧被破坏,这些消息在成功仲裁后会尝试例如使用相对CAN FD规范再次缩短的比特持续时间或者使用其它的比特编码或不同的协议来传输。因此,传输速率一般可以被网络中的更慢的用户之一或者其监视机制限制。

尤其当应该在两个确定的用户之间进行被设置用于不同的、例如更快的通信协议的数据传输时,所述限制不总是必要的,并且尤其当在该不同的通信协议的情况下可以放弃会导致破坏不同的或更快的消息的监视机制时可以是不利的。

因此,如果通过错误帧导致破坏消息的监视机制在确定的假设下被合适的机制中止,则至少在确定的应用情况中可以实现显著更高的传输速率。

发明内容

本发明提供消除所述缺点的方法,其方式是,在更快地传输的消息不被其它总线用户破坏的情况下使用现有总线系统的线路来实现到更快的或以其它方式修改的通信上的转换。

本发明的优点

本发明的主题是用于在用户之间交换数据的方法,这些用户借助于总线系统相互连接,其中包含数据的消息根据第一通信协议来交换,其中所述消息由比特序列组成,其中具有在根据第一通信协议来交换的消息内的预给定位置的至少一个控制比特必须具有预给定值,其中对于每个消息来说一个用户占据发送器的角色并且至少另一用户作为接收器接收消息并且执行对于消息的错误监视。该方法的特征在于,在存在具有与预给定值不同的值的至少一个控制比特时至少一个接收器占有协议异常状态,在该协议异常状态中该至少一个接收器中止错误监视,直到满足使用第一通信协议的条件。可以得出:该具有不同值的控制比特用信号通知:总线线路上的通信不根据第一通信协议进行,而是总线线路应该用于另一目的,因此可以通过根据本发明的行为实现以下优点:至少一个接收器的错误监视不干扰或不阻止针对另一目的的使用。

在一个有利的实施方式中,具有与预给定值不同的值的至少一个控制比特的存在指明,在使用不同的通信协议的情况下发送器发送由其传输的消息。通过由至少一个接收器占有通信异常状态于是阻止了,该接收器通过其错误监视或从中导出的例如错误帧的措施来破坏根据该不同的通信协议传输的消息。

在一个特别有利的实施方式中,该不同的通信协议在所传输的消息的一部分中具有相对第一通信协议更短的比特持续时间。这例如可以在所传输的消息是根据CAN FD协议传输的消息时是这种情况。该实施方式实现由发送器利用更高的数据速率或以更短的时间来传输数据。

也有利的是,该至少一个接收器通过执行协议控制单元或协议状态机的重启来占有协议异常状态。这种机制通常总归都设置在协议实现中并且因此根据本发明的方法可以以相对少的耗费从掌控第一通信协议的实现出发来示出。

有利地,定义预给定或可预给定数目的具有预给定值的比特或者规定总线上消失的通信的预给定的或可预给定的持续时间作为使用第一通信协议的重新开始条件。至少一个接收器尤其可以在重启以后在针对具有预给定值的比特的出现而使用边沿识别装置和计数器的情况下监视重新开始条件的发生,其中在出现边沿的情况下重启该计数器。这从掌控第一通信协议的实现出发进一步减少了用于转化所述方法的耗费,因为所述用户通常以这种方式在错误引起的重启以后或在数据传输开始时与总线通信同步。

有利地,要根据第一通信协议传输的消息具有头部、数据域和尾部,其中要传输的数据包含在数据域中并且该至少一个控制比特包含在头部中。由此可以提早地在消息内在读取控制位之后占有协议异常状态并且必要时发送器转换到不同的通信协议。

只要通过仲裁方法在用户之间分配了发送器和收发器的角色,其中根据包含在消息的头部中的标志来规定哪个用户获得对总线的发送访问,如果多个用户同时尝试发送消息,则以有利的方式确保在总线通信中不出现冲突。这尤其可以通过以下方式实现:根据CAN标准ISO 11898-1来实施仲裁方法并且消息的头部包括帧开始比特、仲裁字段、控制字段并且消息的尾部具有CRC字段、确认字段和帧结束字段。

具有用于实施方法的合适装置的设备——该方法是权利要求1或其从属权利要求的主题——具有相应的优点。这种设备尤其可以有利地在混合网络中使用并且在那里有助于快速的以及无摩擦的数据传输,其方式是该设备不干扰针对另一目的对总线线路的使用或发送器使用不同通信协议发送的消息不被不公正的监视机制干扰或破坏。

附图说明

图1a示出了标准CAN和CAN-FD消息的共同的基本结构。说明了消息片段的顺序和名称(帧开始比特、仲裁字段、控制字段、数据字段、CRC字段、确认字段(Ack Field)以及帧结束字段)。总线在消息之后和之前处于没有数据传输的状态中,这通过概念“Interframe Space(帧间空间)”来表示。通常使用如在ISO 11898标准中规定的英文名称。可以在CAN FD消息的情况下进行的比特速率转换通过具有“标准比特速率(Standard Bit Rate)”以及具有“可选高比特速率(optional High Bit Rate)”的片段来绘入。

图1b分别以标准或基本格式以及以扩展格式示出了根据标准CAN协议和CAN FD协议的消息的包括帧开始比特、仲裁字段和控制字段的头部。在CAN FD消息的情况下在数据阶段可以进行比特速率转换。

图2示出了由第一用户200和第二用户250组成的混合网络。这些用户通过总线系统100连接,该总线系统例如可以构造为双芯铜芯线路。导线末端例如可以通过合适的终端电阻来端接,以便避免消息的反射。也可以设想其它的导线拓扑,诸如环形的、星形的或树形的拓扑。第一和第二用户通过第一和第二接口201、251与总线系统连接。这些接口例如包括诸如CAN收发器的总线连接单元以及诸如CAN控制器或CAN FD控制器的通信单元。这些接口也可以全部地或部分地与用户的另外的构件集成地示出。常规的组合例如是将通信单元集成到用户的同样存在的微处理器中。

第一用户通过如下方式显得突出:所述第一用户根据本发明可以占有协议异常状态,而第二用户通过如下方式显得突出:所述第二用户使用第二通信协议或能够转换到第二通信协议。只要另外的用户不干扰所描述的方法,则也可以在网络上连接这些另外的用户。在图2中示出的用户中的若干用户也可以是可选的用户,这些用户仅在确定的情况下——例如在维护工作的情况下或在编程工作的情况下——被连接。

图3示例性示出了具有接口201的第一用户200的示意性框图。接口包括总线连接单元210以及被设置用于实施根据本发明的方法的通信控制器220。通信控制器220为此包含计数器221和边沿识别装置222。

下面描述多个实施例,在这些实施例中第一用户和第二用户分别使用不同的通信协议。

具体实施方式

示例1:相对CAN FD消息容许CAN实现

下面根据图2和3示出本发明的从标准CAN网络出发的实施方式的示例。在图2中示出的网络的第一用户200在该情况下例如是控制设备,这些控制设备具有根据本发明的设备,也即如在图3中作为接口201的一部分示出的那样具有带有修改的标准CAN实现的通信控制器220。该标准CAN实现被如此修改,使得其实施根据本发明的方法。在图2中示出的网络的第二用户250在此例如是控制设备,这些控制设备具有带有CAN FD实现的通信控制器。

实现指的是按照硬件或按照软件实现通信协议,也即例如CAN通信控制器或含有CAN通信控制器并且可以集成在更大的半导体组件中的IP模块。

通过根据本发明的修改,标准CAN实现——也即按照定义不能用于发送和接收CAN FD消息的标准CAN实现——能够容许根据不同的第二通信协议实施的通信。在此示出的实施方式中,该不同的第二通信协议是CAN FD。容许不同的通信协议意味着,该根据本发明修改的标准CAN实现通过其例如产生错误帧来忽略并且不干扰根据第二通信协议(在该情况下也即CAN FD)运行的通信。这具有这样的优点:实现从标准CAN协议到更快的第二协议的转换,而且是在使用相同的总线芯线的情况下。如果满足使用第一通信协议(也即标准CAN)的重新开始条件,在根据第二通信协议CAN FD的快速通信结束之后进行到原始的标准CAN协议的反转换。

针对本发明在在此所描述的实施例中组合CAN协议的两个现有功能,以便使这样修改的标准CAN实现容许CAN FD。第一,使用设置在标准CAN实现中的计数器221,以便在标准CAN实现同步到总线通信时检测11个相继的隐性比特的出现。这例如在重启以后或执行所谓的“总线断开恢复序列”时在标准CAN中进行(参见CAN规范2.0的第七章“Fault Confinement”,第12条)。第二,使用边沿识别装置222,其每CAN总线时间单元在边沿方面检验一次CAN总线侧的输入,以便加入所检测的边沿作为比特同步的基础。(比特的长度在CAN总线的情况下由多个、例如8和25之间的CAN总线时间单元或“时间份额(Time Quanta)”组成,所述CAN总线时间单元或“时间份额”的长度又从相应总线用户的内部振荡器时钟导出。可以从CAN规范2.0提取细节。)

根据本发明的在此描述的示例所修改的CAN实现使用了下面的机制:所修改的CAN实现首先照常参与通信,也就是说该修改的CAN实现尝试在存在要发送的消息时通过发送消息的头部在仲裁范围内获得对总线的访问。如果没有要发送的或该修改的CAN实现丢掉仲裁,则该修改的CAN实现将总线通信视为接收器。直接在识别具有标准格式的所接收的标准CAN消息中的比特位置r0处的隐性比特之后,或在识别具有扩展格式的所接收的标准CAN消息中的比特位置r1处的隐性比特之后(根据CAN FD消息的EDL比特的位置,参见图1a和1b),该修改的标准CAN实现在不改变其错误计数器的情况下以及在不发送错误帧的情况下重启其负责协议解码的状态机(协议状态机)或为此设置的协议控制单元,例如以硬件实现的协议控制机构。通过这种方式,该修改的标准CAN实现占有协议异常状态,在该协议异常状态中该修改的标准CAN实现等待重新开始条件的发生。在重新开始条件发生时如下面进一步描述的那样执行重新开始过程。

可替代地,也可以在标准格式的情况下在r0的位置处或在扩展格式的情况下在r1的位置处将标准CAN消息内的具有固定值的其它比特用于引进协议异常状态,诸如扩展格式中的r0比特。

协议异常状态:

在协议异常状态中首先执行协议状态机或协议控制单元的重启。在重启以后,用户在使用为此设置的对具有预给定值的比特进行计数的计数器221的情况下等待在该示例中11个相继跟随的隐性比特的序列。不允许在该序列内出现隐性到显性的边沿,否则计数器221重启。这通过现有的边沿识别装置222来监视。

重新开始过程:

如果例如在使用计数器221和边沿识别装置222的情况下识别重新开始条件,在本示例中也即11个相继跟随的隐性比特的序列,则用户离开协议异常状态并且与总线通信同步。因此用户又准备好发送或者接收标准CAN消息,通过显性的帧开始比特用信号通知该标准CAN消息的开始。

所示出的机制的优点在于因此确保:所修改的标准CAN用户等待直到传输了CAN FD消息(或直到在由CAN FD用户识别错误时所述CAN FD消息通过错误帧被中断)。因为在传输CAN FD消息期间从不满足11个相继跟随的隐性比特的序列的要求并且所修改的标准CAN用户不像其在上面描述的那样执行重新开始过程。因此所描述的方法使得该修改的标准CAN实现能够容许所有CAN FD消息。

有利的是,CAN FD消息的数据阶段内的比特持续时间(参见图2)不比CAN FD仲裁阶段的CAN总线时间单元短。否则可能出现的是,11个相继跟随的隐性比特由所修改的标准CAN用户在CAN FD消息中在少数情况下随机读出。

检测CAN FD消息不引起错误计数器的递增,使得所修改的标准CAN实现直接在更快的CAN FD消息的末端之后可以继续根据标准CAN协议的总线通信。

示例2:相对根据进一步开发的协议的消息容许所修改的CAN FD实现

下面再次参照图2和3示出本发明的从CAN FD网络出发的实施方式的另一示例。在该情况下,在图2中示出的网络的第一用户200例如是控制设备,这些控制设备具有根据本发明的设备、也即如在图3中作为接口201的一部分示出的那样具有实施根据本发明方法的带有修改的CAN FD实现的通信控制器220。在图2中示出的网络的第二用户250在该示例中是控制设备,这些控制设备具有包含另一通信协议的实现的通信控制器。该另一通信协议例如可以是CAN FD协议的进一步开发,该进一步开发例如根据数据长度码的内容允许比在CAN FD中设置的还更长的数据域。此外,可以设想控制字段中的附加的控制比特,例如为了数据安全的目的或为了在用户之间传输附加的状态信息。可替代地或附加地,该另一通信协议可以针对CRC字段的内容和/或CRC字段的不同大小设置经修改的计算。

根据公开的规范的CAN FD协议也在消息内的若干预给定位置处具有带有预给定值的比特。如在图1b中示出的那样,标准格式以及扩展格式的CAN FD消息例如包含各一个保留比特r1作为仲裁字段中的最后比特并且在控制字段中包含跟随EDL比特的保留比特r0。

与此对应,在上面针对修改的标准CAN实现所描述的机制类似于修改的CAN FD实现来应用。该修改的CAN FD实现必须对此包含两种机制,为此使用所述两种机制,即一方面用于在该示例中11个相继跟随的隐性比特的计数器221以及另一方面边沿识别装置222。这通常是给出的。在其它的实施例中可以使用其它机制,这些机制用于在重启或错误识别以后重新开始通信并且这些机制又可以用于实施根据本发明的方法。

根据本发明的在此描述的示例所修改的CAN FD实现现在使用以下机制:修改的CAN FD实现首先照常参与通信,也就是说该修改的CAN FD实现在存在要发送的消息时尝试通过发送消息的头部在仲裁的范围内获得对总线的访问。如果没有要发送的或该修改的CAN FD实现丢掉仲裁,则该修改的CAN FD实现将总线通信视为接收器。直接在识别具有标准格式的CAN FD消息中的比特位置r0处的隐性比特之后,或在识别具有扩展格式的CAN FD消息中的比特位置r0处的隐性比特之后(参见图1a和1b),该修改的CAN FD实现在不改变其错误计数器的情况下以及在不发送错误帧的情况下重启其负责协议解码的状态机(协议状态机)或为此设置的协议控制单元,例如以硬件实现的协议控制机构。通过这种方式该修改的CAN FD实现占有协议异常状态,在该协议异常状态中该修改的CAN FD实现等待重新开始条件的发生。该重新开始条件以及由此引进的重新开始过程看起来与已经在前面针对第一实施例描述的基本相同。CAN FD实现通常具有相似的机制,也即尤其可以为此使用的用于隐性比特的计数器221和边沿识别装置222。

可替代地,也可以在标准格式或扩展格式的情况下在r0比特的位置处将CAN FD消息内的具有固定值的其它比特用于引进协议异常状态,诸如仲裁字段末端处的r1比特。

所示出的机制的优点因此确保:该修改的CAN FD用户等待直到传输了根据该另一通信协议的消息(或直到在识别错误时该消息必要时通过相应机制被中断了)。前提是,该另一通信协议被如此构造,使得在传输期间从不满足11个相继跟随的隐性比特的序列的要求,并且修改的CAN FD用户因此不像其在上面描述的那样执行重新开始过程。因此所描述的方法使得该修改的CAN FD实现能够容许根据该另一通信协议所传输的消息。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号