用于匹配串行总线系统中的数据传输安全性的方法和设备的制作方法

文档序号:7990407阅读:283来源:国知局
用于匹配串行总线系统中的数据传输安全性的方法和设备的制作方法
【专利摘要】描述了一种用于在具有至少两个参与的数据处理单元的总线系统中进行串行数据传输的方法,其中所述数据处理单元通过总线交换消息,其中所发送的消息具有根据CAN标准ISO11898-1的逻辑结构,其中所述逻辑结构包括帧起始位、仲裁字段、控制字段、数据字段、CRC字段、确认字段和帧结束序列,其中所述控制字段包括数据长度码,所述数据长度码包含关于数据字段的长度的信息。根据所述数据长度码的内容,所传输的消息的CRC字段可以具有至少两种不同的位数。
【专利说明】用于匹配串行总线系统中的数据传输安全性的方法和设备
【技术领域】
[0001]本发明涉及用于匹配串行总线系统中至少两个用户之间的数据传输安全性的方法以及设备。
【背景技术】 [0002]例如由ISO 11898-1至11898-5族标准已知控制器域网络(CAN)以及称作“时间触发CAN” (TTCAN)的CAN扩展,以下也称作标准CAN。在CAN中使用的介质访问控制方法以逐位仲裁为基础。在逐位仲裁的情况下,多个用户站可以同时通过总线系统的信道传输数据,而不因此干扰数据传输。此外,用户站可以在通过信道发送位时求取信道的逻辑状态(O或I)。如果所发送的位的值与所求取的信道逻辑状态不对应,则用户站结束对信道的访问。在CAN情况下,通常根据在要通过信道传输的消息内的标识符进行逐位仲裁。在用户站已经将标识符完全发送给信道之后,该用户站知道,其具有对该信道的专属访问。因此,标识符传输的结束对应于释放间隔的开始,在所述释放间隔内用户站能够专属地使用信道。根据CAN的协议规范,其他用户站一直不被允许访问该信道、也即向该信道发送数据,直至发送用户站传输了消息的校验字段(CRC字段)。因此,CRC字段的传输的结束时刻对应于释放间隔的结束。
[0003]因此,通过逐位仲裁,实现了通过信道无破坏地传输已经获得仲裁程序的消息。CAN的协议特别适合于在实时条件下传输短的消息,其中能够通过标识符的适当的分配确保特别重要的消息几乎总是获得仲裁并被成功发送。
[0004]随着越来越多的现代车辆联网和附加的、用于改善例如驾驶安全性或驾驶舒适性的系统的进入,对待传输的数据量和在传输时允许的延迟时间的要求增加。例子有驾驶动态调节系统(例如电子稳定性程序ESP)、驾驶员辅助系统(例如自动间距调节ACC)或驾驶员信息系统(例如交通标志识别)(参见例如“Bosch Kraftfahrtechnisches Handbuch”中的描述,第 27 版,2011 年,Vieweg+Teubner)?
[0005]DE 103 11 395 Al描述一种系统,在所述系统中能够替代地通过非对称的物理CAN协议或通过对称的物理CAN协议进行异步串行通信,并且由此可为异步通信实现更高的数据传输速率或数据传输安全性。
[0006]DE 10 2007 051 657 Al提出,在TTCAN协议的专属时间窗中应用异步的、快速的、不符合CAN的数据传输,以便提高传输的数据量。
[0007]G.Cena 和 A.Valenzano 在 “Overclocking of controller area networks”(Electronics Letters,第35卷,第22期(1999年),第1924页)中探讨了消息子区域中的总线频率超频对有效实现的数据速率的影响。没有探讨数据传输安全性的匹配。
[0008]可以看出,现有技术没有在每个方面提供令人满意的结果。

【发明内容】

[0009]以下根据附图和实施例描述本发明连同其优点。本发明的主题不限于所示的和所描述的实施例。
[0010]本发明的优点
本发明从借助总线系统中的根据CAN标准ISO 11898-1的逻辑结构传输消息出发,所述总线系统具有至少两个参与的数据处理单元,其中所述逻辑结构包括帧起始位、仲裁字段、控制字段、数据字段、CRC字段、确认字段和帧结束序列,其中所述控制字段包括数据长度码,所述数据长度码包含关于数据字段的长度的信息。
[0011]本发明提供以下可能性:对于特定的传输的消息使用改变的多项式用于计算校验和并且传输具有与标准CAN不同的大小的CRC字段,其方式是,所传输的消息的CRC字段可以具有至少两种不同的位数并且对于数据长度码的有效值中的至少一个具有与CAN标准ISO 11898-1不同的位数,并且其中为了确定这样的、具有不同位数的CRC字段的内容使用至少一个与CAN标准ISO 11898-1不同的生成多项式。这所具有的优点是,对于所传输的较大数据量也保持错误识别的安全性。
[0012]在一种特别有利的实施方式中,在消息开始时并行启动校验和的多个计算并且根据数据长度码的内容决定:使用所述计算之一的哪个结果或传输CRC字段中的哪个结果。由此可能的是,与消息一起发送关于是根据符合标准的方法还是按照根据本发明修改的方法传输消息的信息,而不预先通知接收方关于所使用的方法。对于两种方法存在用于检查正确的数据传输的校验和并且可以根据需要评估所述校验和。
[0013]一种有利的实施方式通过提供用于增大所传输的消息的数据字段的可能性来实现以下效果:相对于符合标准的CAN消息能够借助唯一的消息通过总线传送更大的数据量。因此,通过有利的方式,消息中数据量与控制信息的比例上升并且因此通过总线系统的平均数据传输速率也上升。
[0014]通过数据长度码的内容和数据字段的长度之间设置明确的分配,通过有利的方式实现了关于可表示的数据字段大小的高灵活性。
[0015]此外有利的是,对于数据长度码的在标准CAN中通常使用的值ObOOOl至OblOOO分配与标准CAN相应的数据字段大小、也即I个字节至8个字节,并且数据长度码的其余值用于其他允许的数据字段大小直至最大可能的大小。这在转变到根据本发明的方法的情况下以节省成本的方式降低了应用软件的匹配耗费。
[0016]进一步有利的是,可能存在的、出现在消息中CRC字段之前的填充位被接纳到校验和的计算中。由此进一步改善数据传输的安全性或对于数据传输错误的识别概率。
[0017]如果将所述方法进一步与例如至少数据字段和CRC字段的位的位长度的转换相组合,则实现另一优点:比在将数据字段限制在8个字节这种情况下加速地传输更大的数据量。由此,总线系统的平均数据传输速率进一步上升。在一种有利的实施中,在这种情况下通过另一标记位实现具有缩短的位长度的消息的标记。由此能够与CRC计算的转换或者数据字段大小无关地实现位长度的转换并且能够灵活地对总线系统的状况进行反应。
[0018]所述方法能够有利地用在机动车的正常运行中以用于在机动车的至少两个控制器之间传输数据,所述至少两个控制器通过合适的数据总线连接。但能够同样有利地用在机动车的制造或维护期间,用于在出于编程的目的与合适的数据总线连接的编程单元和机动车的与数据总线连接的至少一个控制器之间传输数据。当例如出于控制目的必须传输更大的数据量时,所述方法能够同样有利地用在工业领域中。尤其地,当由于传输路径的长度而在仲裁期间必须应用减小的数据速率以便所有用户具有获得对总线访问的可能性时,能够通过所述方法、尤其是与数据字段的长度的转换和位长度的减小相组合地实现更高的数据传输速率。
[0019]另一个优点是,为了能够根据本发明工作,仅须最小地改变标准CAN控制器。根据本发明的通信控制器仅稍大于常规的标准CAN控制器,所述根据本发明的通信控制器也可以作为标准CAN控制器工作。不必改变所属的应用程序,这样就已经在数据传输的速度方面实现了优点。
[0020]能够以有利的方式接管CAN —致性测试的重要部分(ISO 16845)。在一种有利的实施中,能够将根据本发明的传输方法与TTCAN (ISO 11898-4)的补充相组合。
【专利附图】

【附图说明】
[0021 ] 此外,根据附图更详细地解释本发明。
[0022]图1a示出以根据现有技术中的CAN标准ISO 11898-1的CAN格式的消息结构的两种替换方案。图1b示出与此相反根据本发明修改的消息的格式的两种相似的替换方案。
[0023]图2示出可以如何根据本发明与CAN标准ISO 11898-1不同地解释数据长度码的内容的不同可能性。
[0024]图3示意性地示出在总线系统的用户站上的根据本发明的接收过程的一个实施例。
[0025]图4示意性地示出在总线系统的用户站上的根据本发明的接收过程的另一个实施例。
[0026]图5示出根据本发明修改的消息的格式的两个例子,其中附加地在消息内的规定区域中使用不同的位长度。
【具体实施方式】
[0027]图1a中示出如在CAN总线上用于数据传输那样的消息结构。示出两种不同的格式“标准”和“扩展”。根据本发明的方法同样能够应用到两种格式上。
[0028]消息以“帧起始”(SOF)位开始,所述“帧起始”位发信号通知消息的开始。随后是主要用于消息标识的片段,根据该片段,总线系统的用户决定其是否接收到该消息。所述片段以“仲裁字段”表示并且包含标识符。随后是“控制字段”,所述“控制字段”尤其是包含数据长度码。数据长度码包含关于消息的数据字段大小的信息。在此之后是实际的数据字段“数据字段”,该数据字段包含要在总线系统的用户之间交换的数据。随后是具有包括15位校验和一个一个分隔符的“CRC字段”,并且接着是两个“确认”(ACK)位,所述“确认”位用于向发送方发信号通知消息的成功接收。该消息通过“帧结束”(EOF)序列结束。
[0029]在根据标准的CAN传输方法中,数据字段最大允许包含8个字节、即64位数据。数据长度码根据标准包括4位,即接收16个不同的值。从现今的总线系统中的该值范围中,针对不同大小的从I个字节至8个字节的数据字段仅仅使用8个不同的值。在标准CAN中不推荐O个字节的数据字段,不允许8个字节以上的大小。数据长度码的值到数据字段大小的分配在图2中的列CAN标准中示出。
[0030]在图1b中以类似的图示对比根据本发明要传输的经修改的消息,所述消息分别从两种标准格式中导出。
[0031]在根据本发明经修改的传输方法中,数据字段还允许包含多于8个字节,即在所示的实施中高达K个字节。与标准CAN中不同,利用数据长度码可以采用的其他值来标记更大的数据字段。例如可以使用4位的数据长度码来表示O至15个字节的值。但也可以作出其他的分配,例如一种可能性是,将数据长度码的在现今CAN消息中通常不使用的值DLC=ObOOOO用于其他可能的数据字段大小,例如用于16个字节大小。这两种可能性在图2中以表格形式作为DLC I和DLC 2示出。数据字段的最大大小K在这些情况下具有值15或16。
[0032]另一种可能性是,对于数据长度码的大于OblOOO和至Obllll的值,数据字段的所属大小例如各增加2个字节。这种情况在表格中示出为DLC 3。数据字段的最大大小K在该变型方案中达到值24。通过选择更大的增量、例如4个字节,可相应地实现更大的数据字段。
[0033]此外,在例子DLC 3中还进行另一修改:在该实施例中,值DLC=ObOOOO由远程帧使用。与此相反在标准CAN中规定,发送具有相同DLC值的远程帧,作为对远程帧的响应所发送的消息具有该DLC值。通过在此描述的修改确保了:能够发送具有不同DLC和相同标识符的远程帧,这(参考ISO 11898-1,第10.8.8节)可能导致无法解决的冲突。
[0034]在所述方法的在图2中以表格形式在列DLC 1、DLC 2和DLC 3中所示的实施中,数据长度码的值ObOOOl至OblOOO到在I个字节和8个字节之间的数据字段大小的分配相应于标准CAN中的分配。由此可以通过简单的方式实现与标准CAN的兼容性,即如此设计通信控制器,使得其在标准CAN总线系统中符合标准地工作,而其在根据本发明修改的总线系统中允许消息中的更大数据字段。但也可能的是,进行数据长度码的可能的值到允许的数据字段大小的完新分配。对此的一个例子同样在图2中作为DLC 4列出。所实现的数据字段最大大小K在该情况下是30个字节。
[0035]为了保证这种通信控制器能够确定其应以哪种方式解释数据长度码的内容,有利的是,该通信控制器自动识别总线系统的通信是根据标准CAN还是根据本发明的方法来运行的。对此的一种可能性在于,在仲裁字段或控制字段内使用一个保留位用于标记,从而通信控制器可以由第一标记Kl推导出第一转换条件UB1,据此通信控制器选择传输方法。例如在图1b中以rO表示的控制字段的第二位用于标记。另一种可能性是,使用SRR位,其在标准CAN中必须总是被隐性地发送,但是被接收消息的用户还以占优方式接受。也可以评估位组合以确定第一转换条件UBl。
[0036]另一种可能性是,对于根据本发明修改的传输方法,规定扩展格式的使用。扩展格式的消息由总线用户根据IDE位的值识别(参见图la),并且该位可能同时表示第一转换条件UB1,从而对于扩展消息总是应用经修改的传输方法。替代地还可能的是,在扩展消息中使用保留位rl作为第一标记Kl或用于推导第一转换条件UB1。但是该保留位也可以如进一步在下面所述的用于推导第二转换条件UB2,该第二转换条件用于在多于两个不同的数据字段大小之间进行转换或者在数据长度码的值和数据字段大小之间进行分配。
[0037]但是替代地也可能的是,将所述方法应用于适合于此的通信控制器中,所述通信控制器也不被设计用于符合标准的CAN通信。在这种情况下,也可以取消例如根据消息的合适标记Kl对所提到的第一转换条件UBl的确定。更确切地,通信控制器在这种情况下仅仅根据所述方法之一工作并且相应地仅仅在如下总线系统中可使用,在所述总线系统中仅仅使用这种根据本发明的通信控制器。在这种情况下同样可以取消消息内的、一般用于相对于符合标准的消息来标记根据本发明的消息的一位或多位,或者所述一位或多位鉴于用于数据传输的所述方法而被通信用户忽略。
[0038]如果如在本发明中规定的那样增大消息的数据字段,则可能有意义的是,还匹配所使用的用于循环冗余校验(CRC)的方法,以便获得足够的错误安全性。尤其可以有利的是,使用例如具有更高阶的另外的CRC多项式并且在根据本发明修改的消息中相应地设置不同大小的CRC字段。这在图1b中通过以下方式示出:根据本发明的消息的CRC字段在所示的例子中具有L位的长度,其中L与标准CAN不同,可以不等于、尤其是大于15。
[0039]将经修改的方法用于计算CRC校验和可以通过表示第三转换条件UB3的第三标记K3发信号通知给总线用户。但标记K3和第三转换条件UB3也可以与第一标记Kl和/或转换条件UBl —致。在此也可以如上文所述的那样例如将图1b中的保留位r0用于标记,或者可以使用SRR位。也可以考虑结合所述方法在扩展消息中的应用地使用IDE位,或者使用位rl。
[0040]在标准CAN控制器中,借助反馈移位寄存器产生待发送的CAN消息的CRC码,在所述反馈移位寄存器的输入端顺序地馈入所述消息的串行发送的位。移位寄存器的宽度对应于CRC多项式的阶。CRC编码通过在移位操作期间寄存器内容与CRC多项式的逻辑关联来进行。如果接收到CAN消息,则消息的串行接收的位相应地移到CRC移位寄存器中。如果在CRC字段的末尾移位寄存器的所有位为0,则CRC测试是成功的。在发送情况下的CRC码生成和在接收情况下的CRC测试两者都以硬件进行,而不需要软件干预。因此,CRC编码的修改对应用软件没有影响。
[0041]在标准CAN协议中,CAN消息内的填充位(参考ISO 11898-1,第10.5节)没有包括进CRC码的计算或检查中(参考ISO 11898-1,第10.4.2.6节the bit streamgiven by the destuffed bit sequence...”)。这导致,在罕见的情况下一个消息中的两个位错误不被识别,尽管所述CRC原本应识别一个消息中高达五个随机分布的位错误。这可能发生在由于位错误填充位转化为数据位的时候,反之亦然(参考Unruh, Mathony和Kaiser 的“Error Detection Analysis of Automotive Communication Protocols”, SAEInternational Congress,第 900699 期,美国,底特律,1990 年)。
[0042]相反,在根据本发明修改的传输方法中可以如此修改CRC编码,使得在计算或检查CRC码时也包括消息内的填充位。也就是说,在该实施方式中,属于仲裁字段、控制字段和数据字段的填充位作为要通过循环冗余校验保护的数据的一部分被处理。CRC字段的填充位如在标准CAN中那样被遮蔽。
[0043]在一种可能的实施方式中,如此设计通信控制器,使得该通信控制器具有与标准CAN的兼容性,也即在标准CAN总线系统中符合标准地工作,而该通信控制器在根据本发明修改的总线系统中一方面允许消息中的更大数据字段并且另一方面也执行CRC码的经匹配的计算和检查。
[0044]因为在接收消息开始时还没有确定,是否接收到符合标准的CAN消息或根据本发明修改的消息,所以在根据本发明的通信控制器中实现两个CRC移位寄存器,所述两个CRC移位寄存器并行工作。在接收CRC分隔符之后,当在接收器中评估CRC码时,基于根据本发明的第三标记K3或例如从标记或数据长度码的内容中推导出的第三转换条件UB3也确定了已经应用哪一种传输方法,并且然后评估给该传输方法分配的移位寄存器。第三转换条件UB3可以如先前已经描述的那样与第一转换条件UBl—致,所述第一转换条件涉及数据字段大小和数据长度码的解释。
[0045]虽然在发送消息开始时已经为发送方确定应根据哪一种传输方法发送。然而,因为可能出现丢失为了总线访问的仲裁并且不发送已经开始的消息而是替代地接收另一消息,所以在此也并行控制两个CRC移位寄存器。
[0046]两个并行工作的CRC移位寄存器的所描述的实现也实现了另一种改进:标准CAN协议的CRC多项式(χ15+χ14+χ10+χ8+χ7+χ4+χ3+1)是为少于127位的消息长度设计的。如果根据本发明传输的消息还使用更长的数据字段,则有意义的是,为了保持传输安全性而使用另一个尤其是更长的CRC多项式。根据本发明传送的消息相应地获得改变的、尤其是更长的数据字段。在持续的运行中通信控制器动态地在两个CRC移位寄存器——也即符合标准CAN的移位寄存器和根据本发明的移位寄存器——之间切换,以便使用分别相配的多项式。
[0047]当然,也可以根据数据字段的长度或所期望的传输安全性分级地使用多于两个移位寄存器和相应地使用多于两个CRC多项式。在这种情况下,如果应保持与标准CAN的兼容性,则必须匹配相应的标记和与此相关联的转换条件。例如可以通过图1b中的保留位r0或SRR位触发第一转换条件UBl,所述第一转换条件表示到更长的数据字段一例如根据图2上的DLC I——和所属的第二 CRC多项式的转换。对于扩展格式的消息,可以附加地、如通过图1b中的保留位rl或IDE位(第二标记K2)表示的触发第二转换条件UB2,所述第二转换条件表示到另一组数据字段大小——例如图2中的DLC3——和第三CRC多项式的转换。
[0048]此外也可能的是,第一转换条件UBl例如通过保留位rO或SRR位转换到更长数据字段的可能性和数据长度码的内容的相应解释,并且然后根据数据长度码的内容进行第三转换条件UB3的求取和伴随着选择为CRC检查进行评估的CRC多项式。第三转换条件UB3相应地也可以采用多于两个值。例如可以根据DLC 3选择数据字段大小,即采用值O (对于远程帧)、I个字节、8个字节、10个字节、12个字节、14个字节、16个字节、18个字节、20个字节和24个字节,并且然后可以并行地通过合适的移位寄存器计算三个CRC多项式,例如用于多达8个字节的数据字段的标准CRC多项式,用于多达16个字节的数据字段的第二 CRC多项式和用于多达24个字节的数据字段的第三CRC多项式。
[0049]图3以简化的图示示出根据本发明的接收过程的一部分,如其在总线系统的用户站上运行的那样。在此示出以下情况:在该情况下实现与标准CAN的兼容性,其方式是,根据第一转换条件UBl匹配通信控制器的行为。尽管在图3中选择了对于软件中程序运行的描述常见的图示,但该方法同样完全适合于硬件中的实现。所示出的流程还可以用于如下实施方式,在所述实施方式情况下放弃转换条件,例如像上面所述地放弃转换条件UBl。但是接收过程由此就一般根据相应的转换条件运行的路径中的仅仅一个路径而言实际上被简化地运行。在此省略单独地示出这样的简化的流程图。
[0050]用户站首先处于对总线采样的状态中,只要在总线上不存在通信业务。因此,查询302等待总线上的占优位。该位标记新消息的开始。[0051]一旦确定了新消息的开始,就在块304中开始计算至少两个要并行计算的校验和。第一校验和对应于标准CAN的CRC计算,而第二校验和根据新方法计算。在计算第二校验和时,在所示的实施例中包括填充位,而这在根据标准CAN的计算中不是这种情况。但也可能的是,与标准CAN类似地,也没有考虑将填充位用于第二校验和的计算。
[0052]随后从步骤306起接收消息的跟随SOF位的其他位,所述其他位从仲裁字段开始。如果多个总线用户想要发送消息,则在此情况下根据源于标准CAN的常见方法在所述总线用户中协商,哪个总线用户获得对总线的访问。所示块306表示所有位的接收,直至已接收第一标记Kl或者第一转换条件UBl确定。在所列出的例子中,由仲裁字段(例如由SRR位或IDE位组成)或由控制字段(例如由控制字段的保留位组成)求取第一转换条件UBl (参见图1)。随后,可以在块308中接收消息的又一些其他位,直至从消息的特定位开始根据所求取的第一转换条件UBl进行不同处理。通过相应的查询或分支310确保到不同的方法处理的分开,如在下面示例性所示的那样。
[0053]如果在分支310中例如在接收控制字段的前2位之后存在以下信息:根据第一转换条件UBl根据标准CAN进行通信(图3的以“ I”表示的路径),则在步骤312中读入控制字段的其他位。从这些位中,根据标准CAN评估数据长度码并且随后在步骤316中接收对应于数据字段的所属的数据量,最大8个字节。然后在步骤320中接收包括15位的CRC字段。如果在分支324中存在以下信息:由发送方传送的CRC校验和与由接收方本身求取的CRC校验和一致,则在块328中发送占优的确认位。应注意,在这种情况下比较符合标准的CRC校验和,因为根据标准CAN进行通信。如果确定不一致,则隐性地发送确认位(块330)。随后跟随有ACK分隔符和EOF位(见图lb,图3中未示出)。
[0054]如果与此相反在分支310中例如在接收控制字段的前2位之后存在以下信息:根据第一转换条件UBl必须应用根据本发明修改的通信方法(图3的以“2”表示的路径),则在块314中读入控制字段的其他位。从该结果中根据新的解释求取数据长度码,针对所述新的解释在图2中以表格形式列出一些例子。在块318中,接收相应的数据量,也即对于图2中表格中的例子DLC I多达15个字节,对于例子DLC 2多达16个字节,对于例子DLC 3多达24个字节,并且对于例子DLC 4多达30个字节的数据。在块322中接收根据本发明不同的、尤其是更长的CRC字段。如果在分支324中存在以下信息:由发送方传送的CRC校验和与由接收方本身求取的CRC校验和一致,其中在这种情况下比较基于根据本发明不同的CRC校验和,则在块328中发送占优的确认位。否则隐性地发送确认位(块330)。随后在步骤332或334中跟随有ACK分隔符和EOF位。由此,用于消息的接收过程结束。
[0055]在图3中示出了以下情况:其中确定要使用的CRC的第三转换条件U3与涉及数据字段大小和数据长度码的解释的第一转换条件UBl—致。因此,在CRC校验和的接收320或322之前没有再次查询根据第三转换条件UB3接收哪个CRC并且针对分支324对其评估。通过图3中的流程图的简单修改,能够将附加的查询采纳到如在图4中所示的流程中。
[0056]在根据图4的这样修改的接收过程中,在块316或318中接收数据字段的根据数据长度码中的信息所预期数量的数据字节之后在查询或分支410中求取,第三转换条件UB3具有哪个值。所述信息可以如先前所述的那样例如已经由相应的第三标记K3或由数据长度码的内容求取。在所示的例子中存在用于第三转换条件UB3的三个不同的值,即A、B和C。然后,根据转换条件UB3的值,在块420、422和424中读入CRC字段的不同数量的位,例如对于值A是15位,对于值B是17位,并且对于值C是19位。随后,在分支324中与图3类似地检查,由发送方传送的CRC校验和与由接收方本身求取的CRC校验和是否一致并且据此进一步处理。
[0057]图5为根据本发明的传输方法的其他实施例再次示出两种可能的变型方案、即标准格式和扩展格式中的消息的结构。对于两种变型方案,在图5中绘出以下区域:在所述区域中在两种状态——在此以“快速CAN仲裁(Fast-CAN-Arbitration)”和“快速CAN数据(Fast-CAN-Data)”表示——之间转换。两种状态之间的转换在该例子中引起:在结束对于所述消息的一部分、尤其是对于数据字段和CRC字段的仲裁之后位长度缩短并且因此各个位更快速地通过总线被传输。由此,能够相对于符合标准的方法缩短用于消息的传输时间。时间上的位长度的所属切换例如可以通过在持续运行中使用至少两个不同的缩放因子来相对于最小时间单位或振荡器时钟调整总线时间单位来实现。位长度的转换以及缩放因子的相应的变化在图5中同样示例性地示出。
[0058]在两种状态“快速CAN仲裁”和“快速CAN数据”之间的过渡可以根据第四转换条件UB4来进行,该第四转换条件与消息的第四标记K4对应,所述第四标记向数据传输的用户发信号通知应用了缩短的位长度。在此所示的实施例中,标记K4的所选择的位置是“保留位” r0,所述保留位在数据长度码之前被传输。该位置因此相应于第一标记Kl以及第三标记K3的可能位置,该第一标记Kl与第一转换条件UBl相对应并且标记较长的数据字段的可能使用和数据长度码的改变的解释,该第三标记K3与改变的CRC计算相对应。
[0059]用于标记根据本发明的具有缩短的位长度的消息的一种可能性在图6中示出。在此,具有潜在更长的数据字段(属于:第一标记Kl)和改变的CRC计算(属于:第三标记K3)的消息通过隐性的EDL (Extended Data Length:扩展数据长度)位表示,所述隐性的EDL位取代在标准CAN消息中占优地传输的位的位置并且代替该位或者向后移动一个位置。对于标准寻址,EDL位取代控制字段中的第二个位置并且将位于那里的始终占优的r0位移动一个位置。对于扩展寻址,在所示的例子中EDL位取代控制字段的第一位置并且代替位于那里的保留的rl位,该保留的rl位在标准CAN中始终占优地被传输。在上面描述的情形下可以省略通过EDL位的标记。
[0060](同样可选的)另一标记或第四标记K4通过在根据本发明的、通过EDL位表示的消息的控制字段中插入附加的隐性的BRS位(Bit Rate Switch:位率开关)来示出,其中所述第四标记K4通知缩短的位长度的使用。在此所示的实施例中,BRS位的位置是控制字段中的第4个位置(标准寻址)或者第三个位置(扩展寻址)。
[0061]消息承载了标志“CAN FD快速”。对于消息的两种可能的寻址变型方案——标准格式和扩展格式,在图6中绘出以下区域:在所述区域中在两种状态——以“快速CAN仲裁”和“快速CAN数据”表示一之间转换示。如所说明的那样,两种状态之间的转换引起:对于所述消息的对应部分位长度被缩短并且因此各个位更快速地通过总线被传输。由此能够相对于符合标准的方法缩短用于消息的传输时间。状态“快速CAN仲裁”和“快速CAN数据”之间的过渡在具有第一或第三标记EDL的消息中根据第四标记BRS来进行,所述第四标记发信号通知数据传输的用户应用了缩短的位长度。
[0062]在所示情况下一其中第二标记BRS跟随第一标记EDL,在根据本发明的传输方法中传输以下消息:所述消息的位长度明显缩短,所述消息的数据字段大小可扩展到大于8个字节的值,并且所述消息的CRC与更大的数据字段匹配。如此实现在更好的传输安全性的同时通过所述总线系统的传输容量的显著提高。
[0063]更快速的传输在所示例子中在发送所属的标记之后立即开始并且在到达为反向转换所规定的位之后立即结束或当已识别错误帧开始的原因之后立即结束。
[0064]图7示出相对于图3修改的接收过程,其中附加地根据第二标记BRS在状态“快速CAN仲裁”和“快速CAN数据”之间转换。如果在分支310中例如在接收控制字段的第二位作为隐性位EDL之后存在以下信息:应该应用根据本发明修改的通信方法,则在块408中读入数据字段的接下来的位。如果接收用作第二标记的位,例如根据本发明扩展的控制字段的第四位BRS,其具有预给定的值,例如“隐性的”,则例如在所述位的采样点上采用状态“快速CAN数据”,也即转换到缩短的位长度上(路径“C”)。如果有关的位具有相反的值,也即在该例子中是“占优”,则不进行位长度的缩短(路径“B”)。在块412或414中,根据数据长度码中的大小信息进行控制字段的剩余位(包括数据长度码)的接收和数据字段的接收。在块412中,借助正常的位长度接收,在块414中借助缩短的位长度接收。在块416或418中,读入根据本发明不同的、尤其是更长的CRC字段。在块418中,在CRC字段的最后一位、即CRC分隔符上重新以普通的位率转换到状态“快速CAN仲裁”。随后,在分支324中与图3类似地检查,由发送方传送的CRC校验和与由接收方本身求取的CRC校验和是否一致并且据此进一步处理,如已经在图3中的那样。
[0065]以下计算说明了与所述方法的以DLC 3表示的实施例相组合地使用在图5中所示的实施例:假设24个字节的数据字段长度、标准格式的具有11位寻址的数据帧以及500kBit/s的波特率,其中所述的以DLC 3标识的实施例具有关于所实现的数据传输速率改变了的数据字段大小。此外假设缩放因子在“保留位”r0后增大到4倍。因此在这种情况下,在“保留位”rO后的位长度从2微秒减小到0.5微秒。在该例子中忽略可能的填充位的情况下每数据帧以正常的位长度传输27位(S0F、标识符、RTR、IDE、R0、ACK字段、EOF、间歇)并且以缩短的位长度传输212位(DLC、数据、CRC、CRC分隔符),其中在此还假设15位CRC,但根据本发明所述15位CRC可以被更长的CRC代替。
[0066]在给定的边缘条件下得出在160微秒中293位的有效传输效率,这在假设的相同总线满载的情况下相应于以下数据传输速率:所述数据传输速率相对于未修改的标准CAN传输提高到3.7倍。附加地,有用数据(数据字段)与协议开销的比例以有利的方式变化。
[0067]所述方法在机动车的正常运行中适合于在机动车的通过合适的数据总线连接的至少两个控制器之间传输数据。但所述方法能够在机动车的制造或维护期间同样有利地用于在出于编程的目的与合适的数据总线连接的编程单元和机动车的与数据总线连接的至少一个控制设备之间传输数据。此外还有可能的是,将所述方法用于工业自动化中,也即例如用于在通过总线相互连接的分布式的控制单元之间传输控制信息,所述控制单元控制工业制造流程的流程。在周围环境中也可能出现很长的总线线路,并且可以特别有意义的是,对于仲裁阶段借助相对长的位长度——例如借助16微秒、32微秒或64微秒——运行总线系统,从而总线信号在仲裁过程期间如所需的那样能够在整个总线系统上传播。于是随后,对于消息的一部分一如所描述的那样一能够转换到更短的位长度上,以便不允许平均传输速率变得过小。
[0068]总的来说,所述方法是一种特征在于标准CAN控制器仅须最小地被改变以便能够根据本发明工作的传输方法。根据本发明的通信控制器仅仅比常规的标准CAN控制器稍大,所述根据本发明的控制器也能够作为标准CAN控制器工作。所属的应用程序不必改变,这样就已经实现数据传输的速度方面的优点。通过使用扩展的数据字段大小和所属的DLC和CRC,能够进一步提高数据传输的速度,应用软件方面的匹配是最小的。能够接管CAN —致性测试的大部分(ISO 16845)。也有可能的是,将根据本发明的传输方法与TTCAN (ISO11898-4)的补充组合。
[0069]在本发明的先前的描述中已参考ISO标准之处,相应的ISO标准的在申请时刻有效的版本能够分别作为现有技术的基础。
【权利要求】
1.用于在具有至少两个参与的数据处理单元的总线系统中进行串行数据传输的方法,所述数据处理单元通过总线交换消息, 其中所发送的消息具有根据CAN标准ISO 11898-1的逻辑结构, 其中所述逻辑结构包括帧起始位、仲裁字段、控制字段、数据字段、CRC字段、确认字段和帧结束序列, 其中所述控制字段包括数据长度码,所述数据长度码包含关于数据字段的长度的信息, 其特征在于,根据所述数据长度码的内容,所传输的消息的CRC字段能够具有至少两种不同的位数。
2.根据权利要求1所述的方法, 其特征在于,根据所述数据长度码的内容,使用至少两个不同的生成多项式来确定所述CRC字段的内容。
3.根据权利要求1或2所述的方法, 其特征在于,对于所述数据长度码的至少一个有效值,所述CRC字段中的位数和为确定所述CRC字段的内容所使用的生成多项式对应于所述CAN标准ISO 11898-1。
4.根据权利要求1至3之一所述的方法, 其特征在于,根据所述数据长度码的内容推导出CRC字段中的位数,其中根据推导出的CRC字段中的位数来匹配接收过程。
5.根据权利要求1至4之一所述的方法, 其特征在于,在消息开始时借助不同的生成多项式并行地启动至少两个CRC校验和的计算,并且根据所述数据长度码的内容决定:使用来自并行启动的CRC计算之一的哪个结果O
6.根据权利要求1至5之一所述的方法, 其特征在于,在并行实施的CRC计算中的至少一个CRC计算时也考虑在所述消息的位于CRC字段之前的片段内的可能的填充位。
7.根据权利要求1至6之一所述的方法, 其特征在于,所述消息的数据字段与CAN标准ISO 11898-1不同地能够包括多于8个字节,其中为了确定数据字段大小,数据长度码的值至少部分地与CAN标准ISO 11898-1不同地被解释。
8.根据权利要求7所述的方法, 其特征在于,给所述数据长度码的位的可能值组合中的每一个分配允许的数据字段大小之一。
9.根据权利要求7至8之一所述的方法, 其特征在于,在参与的数据处理单元中评估所述数据长度码的内容以求取数据字段大小并且将所述接收过程匹配于所述数据字段大小。
10.根据权利要求7至8之一所述的方法, 其特征在于,将所述数据长度码的在ObOOO I至Ob 1000之间的值用于根据CAN标准ISO11898-1的在I个字节和8个字节之间的数据字段大小,并且所述数据长度码的其余值用于其他允许的数据字段大小直至最大可能的大小。
11.根据权利要求1至10之一所述的方法, 其特征在于,消息内的时间上的位长度能够采用至少两个不同的值,其中对于所述消息内的至少一个能预给定的第一区域所述时间上的位长度大于或等于预给定的约I微秒的最小值,并且在所述消息内的至少一个可预给定的第二区域中所述时间上的位长度具有相比所述第一区域减小的值。
12.根据权利要求11所述的方法, 其特征在于,消息内的所述时间上的位长度的至少两个不同的值通过在持续运行中使用至少两个不同的缩放因子以相对于最小时间单位或振荡器时钟调整总线时间单位来实现。
13.根据权利要求11或12所述的方法, 其特征在于,以下消息能够通过所述控制字段中的标记识别:在所述消息中消息内的所述时间上的位长度能够采用至少两个不同的值。
14.根据权利要求1至13之一所述的方法, 其特征在于,所述消息时间受控地根据在TTCAN标准ISO 11898-4中描述的方法传输。
15.用于在具有至少两个参与的数据处理单元的总线系统中进行串行数据传输的设备,所述数据处理单元通过总线交换消息, 其中所发送的消息具有根据CAN标准ISO 11898-1的逻辑结构, 其中所述逻辑结构包括帧起始位、仲裁字段、控制字段、数据字段、CRC字段、确认字段和帧结束序列, 其中所述控制字段包括数据长度码,所述数据长度码包含关于数据字段的长度的信息, 其特征在于,根据所述数据长度码的内容,所传输的消息的CRC字段能够具有至少两种不同的位数。
16.根据权利要求15所述的设备, 其特征在于,所述设备通过合适的装置设置用于实施根据权利要求2至14所述的用于数据传输的方法中的至少一种。
17.根据权利要求16所述的设备, 其特征在于,所述合适的装置包括足够数量的用于通过至少两个不同的生成多项式计算所述CRC字段的内容的移位寄存器。
18.根据权利要求1至14之一所述的方法在机动车的正常运行中的使用,用于在所述机动车的至少两个控制设备之间传输数 据,所述至少两个控制设备通过合适的数据总线连接。
19.根据权利要求1至14之一所述的方法在机动车的制造或维护期间的使用,用于在出于编程的目的与合适的数据总线连接的编程单元和所述机动车的与所述数据总线连接的至少一个控制设备之间传输数据。
【文档编号】H04L12/413GK103562901SQ201280027420
【公开日】2014年2月5日 申请日期:2012年3月29日 优先权日:2011年4月6日
【发明者】F.哈特维希 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1