用于与存储器大小匹配的串行数据传输的方法和设备的制作方法

xiaoxiao2020-7-22  14

用于与存储器大小匹配的串行数据传输的方法和设备的制作方法
【专利摘要】描述一种用于在具有至少两个参与的数据处理单元的总线系统中进行串行数据传输的方法,其中所述数据处理单元通过总线交换消息,其中所发送的消息具有根据CAN标准ISO11898-1的逻辑结构,其中该逻辑结构包括帧起始位、仲裁字段、控制字段、数据字段、CRC字段、确认字段和帧结束序列,并且其中该控制字段包括数据长度码,所述数据长度码包含关于数据字段长度的信息。消息的数据字段能够不同于CAN标准ISO11898-1地包括多于8个字节,其中为了确定数据字段大小,数据长度码的值至少部分地不同于CAN标准ISO11898-1地被解释。为了在数据字段和应用软件之间的数据传送设置至少一个中间存储器,并且所传送的数据量至少在数据字段大小不同于所使用的中间存储器的大小时按照该数据字段和所使用的中间存储器之间的大小差异被匹配。
【专利说明】用于与存储器大小匹配的串行数据传输的方法和设备
【技术领域】
[0001]本发明涉及用于与存储器大小匹配地在串行总线系统中的至少两个用户之间进行串行数据传输的方法和设备。
【背景技术】
[0002]例如由IS011898-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]DE10311395A1描述一种系统,在所述系统中能够替代地通过非对称的物理CAN协议或通过对称的物理CAN协议进行异步串行通信,并且由此可为异步通信实现更高的数据传输速率或数据传输安全性。
[0006]DE102007051657A1提出,在TTCAN协议的专属时间窗中应用异步的、快速的、不符
合CAN的数据传输,以便提高传输的数据量。
[0007]G.Cena 和 A.Valenzano 在 “Overclocking of controller areanetworks”(Electronics Letters,第 35 卷,第 22 其月(1999 年),第 1924 页)中探讨了消息子区域中的总线频率超频对有效实现的数据速率的影响。
[0008]可以看出,现有技术没有在每个方面都提供令人满意的结果。

【发明内容】

[0009]以下根据附图和实施例描述本发明连同其优点。本发明的主题不限于所示的和所描述的实施例。
[0010]本发明的优点
[0011]本发明从借助总线系统中的根据CAN标准IS011898-1的逻辑结构传输消息出发,所述总线系统具有至少两个参与的数据处理单元,其中所述逻辑结构包括帧起始位、仲裁字段、控制字段、数据字段、CRC字段、确认字段和帧结束序列,并且其中所述控制字段包括数据长度码,所述数据长度码包含关于数据字段的长度的信息。
[0012]本发明提供一种方法,该方法的特点是,消息的数据字段可以不同于CAN标准IS011898-1地具有多于8个字节,其中为确定数据字段大小,数据长度码的4个位的值至少部分地不同于CAN标准IS011898-1地被解释,并且为了在数据字段和应用软件之间的数据传输设置至少一个中间存储器以供使用,并且传送的数据量至少在数据字段大小不同于所使用的中间存储器的大小时根据数据字段和所使用的中间存储器之间的大小差异被匹配。由此实现以下优点,即可以不变地继续使用该应用软件并且无须不必要地提高通信控制器的大小,即使当数据字段大小可相对于标准CAN提高时也是如此。
[0013]有利地从通过总线接收的消息的数据字段中按照预先给定的或可预先给定的选择方法选择对应于所使用的中间存储器的大小的、尤其是包括8个字节的数据量,并且在数据字段大小大于所使用的中间存储器的大小(典型地是8个字节)时将该数据量传送给中间存储器。当数据字段大小大于所使用的中间存储器的大小时,中间存储器的内容被录入到要通过总线发送的消息的数据字段中的所述消息的数据字段的至少一个预先给定的或可预先给定的区域中,并且该数据字段的一个或多个剩余区域按照预先给定的或可预先给定的方法被填充。为了消息长度并非不必要地增大,有利的是,在要通过总线发送的消息的数据字段的所填充的区域中的位被这样填充,使得根据CAN标准ISOl 1898-1的规则在这些区域中必须不插入填补位。
[0014]通过列出数据长度码的内容和数据字段长度之间的明确分配,有利地实现就可描绘的数据字段大小而言的高灵活性。
[0015]还可能的是,在数据字段按照本发明增大的情况下,采用改变的多项式来计算校验和并在CRC字段中传输。这所具有的优点是,针对较大的传输数据量也保持错误识别的安全性。在一个特别有利的实施方式中,与消息开始并行地启动校验和的多次计算,并依据数据长度码的内容来判断使用其中一次计算的哪个结果或在CRC字段中传输哪个结果。由此可能的是,将关于是否根据按照标准的方法或按照本发明修改的方法来传输消息的信息连同该消息一起发送,而不用事先告知接收方所采用的方法。用于检验正确数据传输的校验和针对两种方法都存在并且能根据需要被分析。
[0016]如果将该方法与例如用于至少数据字段和CRC字段的位的位长度的转换相结合,则实现如下的进一步优点,即加速传输更大的数据量并且总线系统的平均数据传输速率得以提高。在一个有利的实现方式中,在这种情况下具有缩短的位长度的消息的标记通过控制字段中的标记位来实现。由此,位长度的转换可以与CRC计算或数据字段大小的转换无关地进行并且可以灵活地对总线系统的状况做出反应。
[0017]对于分别所使用的传输方法的可追溯性有利的是设置一个或多个附加的状态位,有过所述附加的状态位针对应用软件提供涉及不同于CAN标准IS011898-1的数据传输方法的信息。诸如可以设想将状态位用于通知成功发送、用于通知成功接收或用于通知最后出现的错误的类型。根据在不同于CAN标准IS011898-1的数据传输方法中出现错误的频率,可以有利地转换回至根据CAN标准IS011898-1的传输方法并且通过另一状态位发信号通知这一点。
[0018]在消息存储器和/或中间存储器中可以有利地设置一个或多个附加的消息位,所述附加的消息位表示为相应的消息所使用的或要使用的用于数据传输的方法。在此,例如可以录入设置在该消息中的标记。
[0019]所述方法能够有利地用在机动车的正常运行中以用于在机动车的至少两个控制设备之间传输数据,所述至少两个控制设备通过合适的数据总线连接。但能够同样有利地用在机动车的制造或维护期间,用于在出于编程的目的与合适的数据总线连接的编程单元和机动车的与数据总线连接的至少一个控制设备之间传输数据。当例如出于控制目的必须传输更大的数据量时,所述方法能够同样有利地用在工业领域中。尤其地,当由于传输路径的长度而在仲裁期间必须应用减小的数据速率以便所有用户具有获得对总线访问的可能性时,能够通过所述方法、尤其是与数据字段的长度的转换和位长度的减小相组合地实现更高的数据传输速率。
[0020]另一个优点是,为了能够根据本发明工作,仅须最小地改变标准CAN控制器。根据本发明的通信控制器仅稍大于常规的标准CAN控制器,所述根据本发明的通信控制器也可以作为标准CAN控制器工作。不必改变所属的应用程序,这样就已经在数据传输的速度方面实现了优点。
[0021]能够以有利的方式接管CAN —致性测试的重要部分(IS016845)。在一种有利的实现方式中,能够将根据本发明的传输方法与TTCAN(IS011898-4)的补充相组合。
【专利附图】

【附图说明】
[0022]另外,根据附图来详述本发明。
[0023]图1a示出以根据现有技术中的CAN标准IS011898-1的CAN格式的消息结构的两种替换方案。图1b示出根据本发明一个实施例的与此相反根据本发明修改的消息的格式的两种相似的替换方案。
[0024]图2示出可以如何根据本发明与CAN标准IS011898-1不同地解释数据长度码的内容的不同可能性。
[0025]图3示意性示出了根据本发明一个实施例的在总线系统的用户站上的根据本发明的接收过程。
[0026]图4示意性示出了根据本发明另一个实施例的在总线系统的用户站上的根基本发明的接收过程。
[0027]图5针对本发明的一个实施例示出了根据本发明修改的消息的格式,其中附加地在消息内的规定区域中使用不同的位长度。
[0028]图6示出了在数据字段和应用软件之间传递的数据量的根据本发明的匹配的例子。
[0029]图7示出了根据本发明另一个实施例的根据本发明修改的消息的格式的两个替换方案(标准/扩展),其中使用单独的位来转换数据字段大小和位长度并且还将附加的位纳入到控制字段。[0030]图8示出了根据本发明实施例所匹配的、在总线系统的用户站上运行的接收过程。
【具体实施方式】
[0031]图1a中示出如在CAN总线上用于数据传输那样的消息结构。示出两种不同的格式“标准”和“扩展”。根据本发明的方法同样能够应用到两种格式上。
[0032]消息以“帧起始”(SOF)位开始,所述“帧起始”位发信号通知消息的开始。随后是主要用于消息标识的片段,根据该片段,总线系统的用户决定其是否接收到该消息。所述片段以“仲裁字段”表示并且包含标识符。随后是“控制字段”,所述“控制字段”尤其是包含数据长度码。数据长度码包含关于消息的数据字段大小的信息。在此之后是实际的数据字段“数据字段”,该数据字段包含要在总线系统的用户之间交换的数据。随后是具有包括15位校验和一个分隔符的“CRC字段”,并且接着是两个“确认”(ACK)位,所述“确认”位用于向发送方发信号通知消息的成功接收。该消息通过“帧结束”(EOF)序列结束。
[0033]在根据标准的CAN传输方法中,数据字段最大允许包含8个字节、即64位数据。数据长度码根据标准包括4位,即接收16个不同的值。从现今的总线系统中的该值范围中,针对不同大小的从I个字节至8个字节的数据字段仅仅使用8个不同的值。在标准CAN中不推荐O个字节的数据字段,不允许8个字节以上的大小。数据长度码的值到数据字段大小的分配在图2中的列CAN标准中示出。
[0034]在图1b中以类似的图示对比根据本发明要传输的经修改的消息,所述消息分别从两种标准格式中导出。
[0035]在根据本发明经修改的传输方法中,数据字段还允许包含多于8个字节,即在所示的实施中高达K个字节。与标准CAN中不同,利用数据长度码可以采用的其他值来标记更大的数据字段。例如可以使用4位的数据长度码来表示O至15个字节的值。但也可以作出其他的分配,例如一种可能性是,将数据长度码的在现今CAN消息中通常不使用的值DLC=ObOOOO用于其他可能的数据字段大小,例如用于16个字节大小。
[0036]这两种可能性在图2中以作为DLCl和DLC2的表格形式被示出。数据字段的最大大小K在此情况下具有值15或16。另一个可能性是,对于大于OblOOO并且直至Obllll的数据长度码的值,数据字段的所属大小增长了较大的增量。这种情况的一个例子在表中作为DLC3被示出。数据字段的最大大小K在该变型中达到64个字节的值。另外的选择当然是可行的,例如分别为4字节的增量。
[0037]为了保证根据本发明的通信控制器能够确定其应以哪种方式解释数据长度码的内容,有利的是,该通信控制器自动识别总线系统的通信是根据标准CAN还是根据本发明的方法来运行的。对此的一种可能性在于,在仲裁字段或控制字段内使用一个保留位用于标记,从而通信控制器可以由该标记推导出第一转换条件,据此通信控制器选择传输方法。例如可以使用在图1b中以rO表示的控制字段的第二位来用于标记。
[0038]也可以根据标识符格式选择所述确定。因此,对于标准寻址,一种用于标记根据本发明的消息的可能性是将隐性EDL(扩展数据长度)位插入到控制字段中的在标准CAN中始终占优的r0位的位置上。对于扩展寻址,控制字段中的隐性EDL位可以取代在标准CAN中始终占优的rl位的位置。[0039]另一种可能性是,使用SRR位,其在标准CAN中必须总是被隐性地发送,但是被接收消息的用户还以占优方式接受。也可以评估位组合以确定第一转换条件。
[0040]另一种可能性是,对于根据本发明修改的传输方法,规定扩展格式的使用。扩展格式的消息由总线用户根据IDE位的值识别(参见图1a),并且该位可能同时表示第一转换条件,从而对于扩展消息总是应用经修改的传输方法。替代地还可能的是,在扩展消息中使用保留位rl用于标记或用于推导第一转换条件。但是该保留位也可以如进一步在下面所述的用于推导第二转换条件,该第二转换条件用于在多于两个不同的数据字段大小之间进行转换或者在数据长度码的值和数据字段大小之间进行分配。
[0041]但是替代地也可能的是,将所述方法应用于适合于此的通信控制器中,所述通信控制器不被设计为也用于符合标准的CAN通信。在这种情况下,也可以取消例如根据消息的合适标记对所提到的第一转换条件的确定。更确切地,通信控制器在这种情况下仅仅根据所述方法之一工作并且相应地仅仅在如下总线系统中可使用,在所述总线系统中仅仅使用这种根据本发明的通信控制器。在这种情况下同样可以舍弃消息内的、否则的话被用于相对于根据标准的消息标记本发明消息的一个位或者多个位,或者所述一个位或者多个位就数据传输方法而言被通信用户忽略。
[0042]如果如在本发明中规定的那样增大消息的数据字段,则可能有意义的是,还匹配所使用的用于循环冗余校验(CRC)的方法,以便获得足够的错误安全性。尤其可以有利的是,使用例如具有更高阶的另外的CRC多项式并且在根据本发明修改的消息中相应地设置不同大小的CRC字段。这在图1b中通过以下方式示出:根据本发明的消息的CRC字段在所示的例子中具有L位的长度,其中L与标准CAN不同,可以不等于、尤其是大于15。
[0043]用于计算CRC校验和的经修改方法的使用可通过表示第三转换条件的标记发信号通知总线用户。但该标记和第三转换条件也可与第一标记和/或转换条件一致。在此也可以如上文所述的那样例如将图1b中的保留位r0用于标记,或者可以使用SRR位。也可以考虑结合所述方法在扩展消息中的应用地使用IDE位,或者使用位rl。
[0044]在标准CAN控制器中,借助反馈移位寄存器产生待发送的CAN消息的CRC码,在所述反馈移位寄存器的输入端顺序地馈入所述消息的串行发送的位。移位寄存器的宽度对应于CRC多项式的阶。CRC编码通过在移位操作期间寄存器内容与CRC多项式的逻辑关联来进行。如果接收到CAN消息,则消息的串行接收的位相应地移到CRC移位寄存器中。如果在CRC字段的末尾移位寄存器的所有位为0,则CRC测试是成功的。在发送情况下的CRC码生成和在接收情况下的CRC测试两者都以硬件进行,而不需要软件干预。因此,CRC编码的修改对应用软件没有影响。
[0045]在一种可能的实施方式中,如此设计通信控制器,使得该通信控制器具有与标准CAN的兼容性,也即在标准CAN总线系统中符合标准地工作,而该通信控制器在根据本发明修改的总线系统中一方面允许消息中的更大数据字段并且另一方面也执行CRC码的经匹配的计算和检查。
[0046]因为在接收消息开始时还没有确定,是否接收到符合标准的CAN消息或根据本发明修改的消息,所以在根据本发明的通信控制器中实现两个CRC移位寄存器,所述两个CRC移位寄存器并行工作。在接收CRC分隔符之后,当在接收器中评估CRC码时,基于根据本发明的标记或例如从标记或数据长度码的内容中推导出的第三转换条件也确定了已经应用哪一种传输方法,并且然后评估给该传输方法分配的移位寄存器。第三转换条件可以如先前已经描述的那样与第一转换条件一致,所述第一转换条件涉及数据字段大小和数据长度码的解释。
[0047]虽然在发送消息开始时已经为发送方确定应根据哪一种传输方法发送。然而,因为可能出现丢失为了总线访问的仲裁并且不发送已经开始的消息而是替代地接收另一消息,所以在此也并行控制两个CRC移位寄存器。
[0048]两个并行工作的CRC移位寄存器的所描述的实现也实现了另一种改进:标准CAN协议的CRC多项式(xl5+xl4+xl0+x8+x7+x4+x3+l)是为少于127位的消息长度设计的。如果根据本发明传输的消息还使用更长的数据字段,则有意义的是,为了保持传输安全性而使用另一个尤其是更长的CRC多项式。根据本发明传送的消息相应地获得改变的、尤其是更长的数据字段。在持续的运行中通信控制器动态地在两个CRC移位寄存器——也即符合标准CAN的移位寄存器和根据本发明的移位寄存器——之间切换,以便使用分别相配的多项式。
[0049]当然,也可以根据数据字段的长度或所期望的传输安全性分级地使用多于两个移位寄存器和相应地使用多于两个CRC多项式。在这种情况下,如果应保持与标准CAN的兼容性,则必须匹配相应的标记和与此相关联的转换条件。例如可以通过图1b中的保留位r0或SRR位触发第一转换条件,所述第一转换条件表示到更长的数据字段——例如根据图2上的DLCl—一和所属的第二 CRC多项式的转换。对于扩展格式的消息,可以附加地、如通过图1b中的保留位rl或IDE位表示的触发第二转换条件,所述第二转换条件表示到另一组数据字段大小——例如图2中的DLC3——和第三CRC多项式的转换。
[0050]此外也可能的是,第一转换条件例如通过保留位r0或SRR位转换到更长数据字段的可能性和数据长度码的内容的相应解释,并且然后根据数据长度码的内容进行第三转换条件的求取和伴随着选择为CRC检查进行评估的CRC多项式。第三转换条件相应地也可以采用多于两个值。例如可以根据DLC3选择数据字段大小,即采用O和64字节之间的值,并且然后可以并行地通过合适的移位寄存器计算三个CRC多项式,例如用于多达8个字节的数据字段的标准CRC多项式,用于多达24个字节的数据字段的第二 CRC多项式和用于多达64个字节的数据字段的第三CRC多项式。
[0051]图3以简化的图示示出根据本发明的接收过程的一部分,如其在总线系统的用户站上运行的那样。在此示出以下情况:在该情况下实现与标准CAN的兼容性,其方式是,根据第一转换条件匹配通信控制器的行为。尽管在图3中选择了对于软件中程序运行的描述常见的图示,但该方法同样完全适合于硬件中的实现。所示的流程也可以应用于放弃转换条件、例如如上所述地放弃转换条件UBl的实施方式。但接收过程由此实际上在路径中的仅仅之一的程度上简化地进行,所述路径否则的话根据相应的转换条件来进行。这里省去了对这样简化的流程图的单独图示。
[0052]用户站首先处于对总线采样的状态中,只要在总线上不存在通信业务。因此,查询302等待总线上的占优位。该位标记新消息的开始。
[0053]一旦确定了新消息的开始,就在块304中开始计算至少两个要并行计算的校验和。第一校验和对应于标准CAN的CRC计算,而第二校验和根据新方法计算。
[0054]随后从步骤306起接收消息的跟随SOF位的其他位,所述其他位从仲裁字段开始。如果多个总线用户想要发送消息,则在此情况下根据源于标准CAN的常见方法在所述总线用户中协商,哪个总线用户获得对总线的访问。所示块306表示所有位的接收,直至已接收第一标记或者第一转换条件确定下来。在所列出的例子中,由仲裁字段(例如由SRR位或IDE位组成)或由控制字段(例如由控制字段的保留位组成)求取第一转换条件(参见图1)。随后,可以在块308中接收消息的又一些其他位,直至从消息的特定位开始根据所求取的第一转换条件进行不同处理。通过相应的查询或分支310确保到不同的方法处理的分开,如在下面示例性所示的那样。
[0055]如果在分支310中例如在接收控制字段的前2位之后存在以下信息:根据第一转换条件根据标准CAN进行通信(图3的以“ I ”表示的路径),则在步骤312中读入控制字段的其他位。从这些位中,根据标准CAN评估数据长度码并且随后在步骤316中接收对应于数据字段的所属的数据量,最大8个字节。然后在步骤320中接收包括15位的CRC字段。如果在分支324中存在以下信息:由发送方传送的CRC校验和与由接收方本身求取的CRC校验和一致,则在块328中发送占优的确认位。应注意,在这种情况下比较符合标准的CRC校验和,因为根据标准CAN进行通信。如果确定不一致,则隐性地发送确认位(块330)。随后跟随有ACK分隔符和EOF位(见图lb,图3中未示出)。
[0056]如果与此相反在分支310中例如在接收控制字段的前2位之后存在以下信息:根据第一转换条件必须应用根据本发明修改的通信方法(图3的以“2”表示的路径),则在块314中读入控制字段的其他位。从该结果中根据新的解释求取数据长度码,针对所述新的解释在图2中以表格形式列出一些例子。在块318中,接收相应的数据量,也即对于图2中表格中的例子DLCl多达15个字节,对于例子DLC2多达16个字节,对于例子DLC3多达64个字节。在块322中接收根据本发明不同的、尤其是更长的CRC字段。如果在分支324中存在以下信息:由发送方传送的CRC校验和与由接收方本身求取的CRC校验和一致,其中在这种情况下比较基于根据本发明不同的CRC校验和,则在块328中发送占优的确认位。否则隐性地发送确认位(块330)。随后在步骤332或334中跟随有ACK分隔符和EOF位。由此,用于消息的接收过程结束。
[0057]在图3中示出了以下情况:其中确定要使用的CRC的第三转换条件与涉及数据字段大小和数据长度码的解释的第一转换条件一致。因此,在CRC校验和的接收320或322之前没有再次查询根据第三转换条件接收哪个CRC并且针对分支324对其评估。通过图3中的流程图的简单修改,能够将附加的查询采纳到如在图4中所示的流程中。
[0058]在根据图4的这样修改的接收过程中,在块316或318中接收数据字段的根据数据长度码中的信息所预期数量的数据字节之后在查询或分支410中求取,第三转换条件具有哪个值。所述信息可以如先前所述的那样例如已经由相应的第三标记或由数据长度码的内容求取。在所示的例子中存在用于第三转换条件的三个不同的值,即A、B和C。然后,根据该转换条件的值,在块420、422和424中读入CRC字段的不同数量的位,例如对于值A是15位,对于值B是17位,并且对于值C是19位。随后,在分支324中与图3类似地检查,由发送方传送的CRC校验和与由接收方本身求取的CRC校验和是否一致并且据此进一步处理。
[0059]图5为根据本发明的传输方法的其他实施例再次示出两种可能的变型方案、即标准格式和扩展格式中的消息的结构。对于两种变型方案,在图5中绘出以下区域:在所述区域中在两种状态——在此以“快速CAN仲裁(Fast-CAN-Arbitration) ”和“快速CAN数据(Fast-CAN-Data) ”表示——之间转换。两种状态之间的转换在该例子中引起:在结束对于所述消息的一部分、尤其是对于数据字段和CRC字段的仲裁之后位长度缩短并且因此各个位更快速地通过总线被传输。由此,能够相对于符合标准的方法缩短用于消息的传输时间。时间上的位长度的所属切换例如可以通过在持续运行中使用至少两个不同的缩放因子来相对于最小时间单位或振荡器时钟调整总线时间单位来实现。位长度的转换以及缩放因子的相应的变化在图5中同样示例性地示出。
[0060]在两种状态“快速CAN仲裁”和“快速CAN数据”之间的过渡可以根据另一转换条件来进行,该另一转换条件与消息的一个标记对应,该标记向数据传输的用户发信号通知应用了缩短的位长度。在此所示的实施例中,该标记的所选择的位置是“保留位”rO,所述保留位在数据长度码之前被传输。该位置因此相应于第一标记以及第三标记的可能位置,该第一标记与第一转换条件相对应并且标记较长的数据字段的可能使用和数据长度码的改变的解释,该第三标记与改变的CRC计算相对应。
[0061]用于标记根据本发明的具有缩短的位长度的消息的另一种可能性在图7中示出。在此,具有潜在更长的数据字段(属于:第一标记)和改变的CRC计算(属于:第三标记)的消息通过隐性的EDL(Extended Data Length:扩展数据长度)位表示,所述隐性的EDL位取代在标准CAN消息中占优地传输的位的位置并且代替该位或者向后移动一个位置。对于标准寻址,EDL位取代控制字段中的第二个位置并且将位于那里的始终占优的rO位移动一个位置。对于扩展寻址,在所示的例子中EDL位取代控制字段的第一位置并且代替位于那里的保留的rl位,该保留的rl位在标准CAN中始终占优地被传输。
[0062]通知使用缩短的位长度的另一或第四标记通过在根据本发明的、通过EDL位标记的消息的控制字段中插入附加的隐性的BRS位(Bit Rate Switch:位率开关)来示出。在此所示的实施例中,BRS位的位置是控制字段中的第四个位置(标准寻址)或者第三个位置(扩展寻址)。
[0063]所述消息承载了标志“CAN FD快速”。对于消息的两种可能的寻址变型方案——标准格式和扩展格式,在图7中绘出以下区域:在所述区域中在两种状态——以“快速CAN仲裁”和“快速CAN数据”表示——之间转换。如所说明的那样,两种状态之间的转换引起:对于所述消息的对应部分位长度被缩短并且因此各个位更快速地通过总线被传输。由此能够相对于符合标准的方法缩短用于消息的传输时间。状态“快速CAN仲裁”和“快速CAN数据”之间的过渡在具有第一或第三标记EDL的消息中根据所述另一标记BRS来进行,所述另一标记发信号通知数据传输的用户应用了缩短的位长度。
[0064]在所示情况下一其中第二标记BRS跟随第一标记EDL,在根据本发明的传输方法中传输以下消息:所述消息的位长度明显缩短,所述消息的数据字段大小可扩展到大于8个字节的值,并且所述消息的CRC与更大的数据字段匹配。如此实现在更好的传输安全性的同时通过所述总线系统的传输容量的显著提高。
[0065]更快速的传输在所示例子中在发送所属的标记之后立即开始并且在到达为反向转换所规定的位之后立即结束或当已识别错误帧开始的原因之后立即结束。
[0066]图8示出相对于图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中的那样。
[0067]较快的传输例如在发送所属的标记之后立即开始并且在到达针对反向转换所确定的位之后立即结束,或者在识别出错误帧开始的原因时结束。
[0068]所述方法在机动车的正常运行中适合于在机动车的通过合适的数据总线连接的至少两个控制器之间传输数据。但所述方法能够在机动车的制造或维护期间同样有利地用于在出于编程的目的与合适的数据总线连接的编程单元和机动车的与数据总线连接的至少一个控制设备之间传输数据。此外还有可能的是,将所述方法用于工业自动化中,也即例如用于在通过总线相互连接的分布式的控制单元之间传输控制信息,所述控制单元控制工业制造流程的流程。在周围环境中也可能出现很长的总线线路,并且可以特别有意义的是,对于仲裁阶段借助相对长的位长度——例如借助16微秒、32微秒或64微秒——运行总线系统,从而总线信号在仲裁过程期间如所需的那样能够在整个总线系统上传播。于是随后,对于消息的一部分一如所描述的那样一能够转换到更短的位长度上,以便不允许平均传输速率变得过小。
[0069]总的来说,所述方法是一种特征在于标准CAN控制器仅须最小地被改变以便能够根据本发明工作的传输方法。根据本发明的通信控制器仅仅比常规的标准CAN控制器稍大,所述根据本发明的控制器也能够作为标准CAN控制器工作。所属的应用程序不必改变,这样就已经实现数据传输的速度方面的优点。通过使用扩展的数据字段大小和所属的DLC和CRC,能够进一步提高数据传输的速度,应用软件方面的匹配是最小的。能够接管CAN—致性测试的大部分(IS016845)。也有可能的是,将根据本发明的传输方法与TTCANdSOl 1898-4)的补充组合。
[0070]至少对于特定应用目的或者在引入阶段中有意义的是,针对本发明的数据传输方法和执行该方法的设备规定一种变型方案,该变型方案就所使用的应用软件而言表现为完全兼容的或在很大程度上兼容。该应用软件例如可以是用于机动车的电子稳定程序的调节软件或者用于机动车内燃机的控制软件:该应用软件尤其对于安全关键的系统而具有大量的安全程序,并且因而有利的是,可以在不变的应用软件情况下执行根据本发明修改的数据传输设备的引入。
[0071]消息的数据字段和应用软件之间的数据传递在通信控制器中通过设置用于该应用的中间存储器和所属的消息存储器来进行,其中该中间存储器在标准CAN中具有例如8个字节的预先给定的大小。中间存储器和消息存储器也可以与本发明相关地是指在较大的存储单元内的被指定用于相应使用的区域。
[0072]与此相应地,在按照标准CAN执行数据传输的系统中,由应用软件通过大多大量的消息存储器和中间存储器与CAN消息的数据字段交换最多8个字节大小的数据分组。如果应用软件保持不变,则也可以在例如8个字节的预先给定的大小情况下保留消息存储器和中间存储器,以便无不必要地提高本发明通信控制器的大小或芯片面积。如果本发明消息的数据字段大小(例如16个字节)现在不同于所使用的中间存储器大小(例如8个字节),则需要根据数据字段和中间存储器之间的大小差异对通信控制器的协议控制机构进行匹配。
[0073]本发明数据传输方法的另一实施例——在图6中以具有16字节大小的数据字段的标准格式的消息为例——因此规定,鉴于经由总线串行地传输位来实施所述方法的全部功能性,但仅有8个字节在数据字段中被传输给相关的有用数据。也就是说,在相应地存在转换条件的情况下通过总线例如传输具有16字节大小的数据字段和所属标记的消息并且消息通过相应匹配的CRC多项式被检验是否正确传输,而通过本发明通信控制器中的中间存储器620和例如消息存储器630只将8个字节的有效数据传递给应用软件640。在发送情况下,应用软件640将8个字节有效数据例如通过另一个或同一个消息存储器630写入中间存储器620中,所述有效数据按照预先给定的或可预先给定的方法被录入到待发送消息的例如16字节大小的数据字段中。当然也可行的是,将该方法限于不同于8个字节的中间存储器大小,例如6个字节或4个字节。这在应用软件同样规定了该限制时是尤其有意义的。16个字节的数据字段大小的选择也可以理解为仅仅是示例性的并且例如也可以包括24、32或64个字节的值。诸如从图2中得知大量的其他可能性。在从消息中传递给应用软件的或由应用软件提供以便录入到消息的数据字段中的数据量和中间存储器620的大小之间存在一定关系。
[0074]通信控制器的协议控制机构在该实施例中如在图6中由双箭头600所表示的那样在待传输数据串行化时例如将8个有效数据字节从中间存储器620放置到数据字段的前8个串行字节中并且如在图6中由箭头610所示地用预先给定的、可预先给定的或任意填充数据——例如用某个位图——填充数据字段的其他位。有意义的是,在此情况下使用这样的位序,所述位序不导致按照CAN标准IS011898-1规则的附加填补位的插入,因为否则的话该数据字段被不必要地扩大。因而例如可以针对数据字段的每个未使用的字节插入位序ObOOllOOll 或者 ObllOOllOOo
[0075]还可能的是,中间存储器620的例如8个有效数据字节未被录入到数据字段的前8个字节中,而是被录入在数据字段的其他位置处或多个其他区域中。只须针对总线用户统一规定或可规定有效数据字节的位置。
[0076]接收的总线用户根据本发明方法读取消息,执行例如CRC校验并且通过确认来证实正确接收。接收的总线用户的通信控制器中的协议控制机构转化消息的串行接收的位并且在此从数据字段的例如16个字节中提取8个字节有效数据,所述有效数据被写入到中间存储器620中。这在图6中同样由双箭头600表示。剩余的填充数据被拒。因而只有8个字节有效数据通过中间存储器620和例如消息存储器630被传递给应用软件640。应用软件640本身不确定与按照标准的传输方法的使用相比的区别。
[0077]为了错误安全地实施本发明数据传输方法的不同实施方式,也就是尤其是如下方法,所述方法具有:在消息的子区域中缩短的位长度、改变的数据字段长度和修改的、可能也多级修改的数据长度码内容的解释、以及使用不同的CRC-校验和或者将所传送的数据量与数据字段和中间存储器之间的大小差异相匹配,是具有进一步补充意义的。
[0078]通过合适的状态寄存器,例如在标准CAN中保证了,例如可以通过微控制器或应用软件读取错误状态(错误警告、错误被动,总线关闭)的达到,所述错误状态在数据传输中的错误相应地积累时被接受。此外,通过标志发信号通知成功的发送和接收过程(TxOK,RxOK)并且准备好关于分别最后的总线结果的信息(LEC,负载错误码)。这些信息中的一些或全部可以在本发明通信控制器中在为此设置的存储器区域中被多次预置,从而例如通过所属的微控制器或在其上运行的应用软件根据当前执行的数据传输方法可以单独检测和保存相应的信息。由此可以确定,在相对于CAN标准修改的传输方法情况下、例如在消息区域中的数据字段较长或位长度较短的情况下是否比在标准CAN传输方法的情况下更经常地出现某个错误图。
[0079]可以引入附加的错误状态并且通过状态位来发信号通知,该状态位在经修改的传输模式中的错误积累时将数据传输永久地转换回到标准CAN传输方法。可以单独针对不同的数据传输方法检测信息Tx0K、Rx0K和LEC。替换地可以针对LEC附加地保存在哪种传输模式中出现错误的信息。
[0080]此外可以有意义的是,针对所接收的消息来确定所述消息按照哪个方法和以哪个可能的标记被接收,并且针对待发送的消息单独确定应该按照哪个方法并以哪个标记来发送该消息。某些或所有的接收消息存储器和/或中间存储器可为此补充一定数量的附加位,所述附加位对应于可能的标记。也可以在其他为此设置的位中单独保存在哪种状态下或在哪种转换条件下接收相应消息的信息。类似地,某些或所有的发送消息存储器和/或中间存储器也可以配备附加位,在所述附加位中录入应该以修改的方法和/或以相应的标记发送相应的消息。
[0081]最后可以有意义的是,本发明通信控制器应被如此设计,使得其可以通过适当的重配置在应用软件兼容模式和数据传输优化模式之间被转换,其中所述应用软件兼容模式具有将在消息的数据字段和应用软件之间传送的数据量限制到例如8个字节,并且所述数据传输优化模式具有在使用相应地设计大小的所用的中间存储器的情况下对数据字段的全部大小的使用。在此情况下,虽然无法通过使用相应较小的中间存储器和/或消息存储器实现在大小或芯片面积方面的相应节约,但该通信控制器可以很灵活地用在继续利用已有的应用软件的总线用户中以及为其创建新的数据传输优化软件的总线用户中。
[0082]可转换的通信控制器于是也应该例如通过相应的状态位使其当前所利用的模式——也即应用软件兼容模式或数据传输优化模式——在为此设置的存储器区域中可见。
[0083]在对本发明的先前描述中参考ISO标准的地方,相应的ISO标准的在申请时刻有效的版本能够分别作为现有技术的基础。
【权利要求】
1.一种用于在具有至少两个参与的数据处理单元的总线系统中进行串行数据传输的方法,所述数据处理单元通过总线交换消息, 其中所发送的消息具有根据CAN标准IS011898-1的逻辑结构, 其中该逻辑结构包括帧起始位、仲裁字段、控制字段、数据字段、CRC字段、确认字段和帧结束序列, 其中该控制字段包括数据长度码,所述数据长度码包含关于数据字段长度的信息, 其特征在于,所传输的消息的数据字段能够不同于CAN标准IS011898-1地包括多于8个字节, 其中为了确定数据字段大小,数据长度码的值至少部分地不同于CAN标准IS011898-1地被解释, 其中为了在数据字段和应用软件(640)之间的数据传送设置至少一个中间存储器(620),并且所传送的数据量至少在数据字段大小不同于所使用的中间存储器(620)的大小时按照数据字段和所使用的中间存储器(620)之间的大小差异被匹配。
2.根据权利要求1所述的方法, 其特征在于,根据预先给定的或可预先给定的选择方法,从通过总线接收的消息的数据字段中选择对应于中间存储器的大小的数据量,并且当数据字段大小大于所使用的中间存储器的大小时将该数据量传送给该中间存储器。
3.根据权利要求1或2所述的方法, 其特征在于,在要通过总线发送的消息的数据字段中,所述中间存储器的内容被录入到所述消息的数据字段的至少一个预先给定的或可预先给定的区域中,并且当该数据字段大小大于所使用的中间存储器的大小时,该数据字段的一个或多个剩余区域根据预先给定的或可预先给定的方法被填充。
4.根据权利要求1至3之一所述的方法, 其特征在于,在通过总线接收的消息的数据字段大小多于8个字节时,通过所述至少一个中间存储器将数据字段的8个预先给定的或可预先给定的字节传递给应用软件。
5.根据权利要求1至4之一所述的方法, 其特征在于,在要通过总线发送的消息的数据字段大小多于8个字节时,用预先给定的或可预先给定的值填充该数据字段的剩余位。
6.根据权利要求3至5之一所述的方法, 其特征在于,在要通过总线发送的消息的数据字段的所填充的区域中的位这样被填充,使得根据CAN标准IS011898-1的规则必须在这些区域中不插入填补位。
7.根据权利要求1至6之一所述的方法, 其特征在于,数据长度码的位的可能值组合中的每一个被分配给数据字段的允许大小之一 O
8.根据权利要求1至7之一所述的方法, 其特征在于,根据至少部分地不同于CAN标准IS011898-1地解释的数据长度码使接收过程匹配与所述数据字段大小。
9.根据权利要求1至8之一所述的方法, 其特征在于,消息的CRC字段能够具有至少两个不同的位数,其中CRC字段中的有效位数中的至少一个是不同于CAN标准ISOl 1898-1的位数, 其中为了确定这样的具有不同位数的CRC字段的内容,使用不同于CAN标准IS011898-1的生成多项式。
10.根据权利要求1至9之一所述的方法, 其特征在于,消息内的时间上的位长度能够取至少两个不同的值,其中对于该消息内的至少一个可预先给定的第一区域,所述时间上的位长度大于或等于预先给定的大致为I微秒的最小值,并且在该消息内的至少一个可预先给定的第二区域中,所述时间上的位长度具有与第一区域相比减小的值。
11.根据权利要求10所述的方法, 其特征在于,消息内的时间上的位长度的至少两个不同的值通过在持续运行中使用至少两个不同的缩放因子以相对于最小时间单位或振荡器时钟调整总线时间单位来实现。
12.根据权利要求10或11所述的方法, 其特征在于,以下消息能够通过所述控制字段中的标记识别:在所述消息中消息内的时间上的位长度能够取至少两个不同的值。
13.根据权利要求1至12之一所述的方法, 其特征在于,设置至少一个附加的状态位,通过所述附加的状态位针对应用软件提供涉及不同于CAN标准IS0 11898-1的数据传输方法的信息。
14.根据权利要求13所述的方法, 其特征在于,所述至少一个附加的状态位包括用于通知成功发送的状态位和/或用于通知成功接收的状态位和/或用于通知最后出现的错误的类型的一个或多个状态位。
15.根据权利要求13或14所述的方法, 其特征在于,根据在不同于CAN标准IS011898-1的数据传输方法中出现错误的频率,转换回至根据CAN标准IS011898-1的传输方法,并且设置至少一个用于通知成功的反向转换的状态位。
16.根据权利要求1至15之一所述的方法, 其特征在于,在所述至少一个中间存储器和/或至少一个所分配的消息存储器中设置至少一个附加的消息位,所述附加的消息位表示为相应的消息所使用的或要使用的数据传输方法。
17.一种用于在具有至少两个参与的数据处理单元的总线系统中进行串行数据传输的设备,所述数据处理单元通过总线交换消息, 其中所发送的消息具有根据CAN标准IS011898-1的逻辑结构, 其中该逻辑结构包括帧起始位、仲裁字段、控制字段、数据字段、CRC字段、确认字段和帧结束序列, 其中控制字段包括数据长度码,该数据长度码包含关于数据字段长度的信息, 其特征在于,所传输的消息的数据字段能够不同于CAN标准IS011898-1地包含多于8个字节, 其中为了确定数据字段大小,数据长度码的值至少部分地不同于CAN标准IS011898-1地被解释, 其中为了在数据字段和应用软件之间的数据传送设置至少一个中间存储器,并且所传送的数据量至少在数据字段大小不同于所使用的中间存储器的大小时根据数据字段和所使用的中间存储器之间的大小差异被匹配。
18.根据权利要求17所述的设备, 其特征在于,该设备通过合适的装置被设立用于实施根据权利要求2至15所述的用于数据传输的方法中的至少一种。
19.根据权利要求18所述的设备, 其特征在于,所述合适的装置包括至少一个协议控制机构,所述协议控制机构用于根据数据字段和中间存储器之间的大小差异来匹配在数据字段和中间存储器之间传送的数据量。
20.根据权利要求18或19之一所述的设备, 其特征在于,所述合适的装置包括至少一个附加的或扩展的状态寄存器,所述状态寄存器的内容表示分别所使用的数据传输方法的类型和/或效果和/或结果。
21.根据权利要求18至20之一所述的设备, 其特征在于,所述合适的装置包括至少一个附加的或扩展的消息存储器和/或中间存储器,在该消息存储器和/或中间存储器中,至少一个附加的消息位表示为相应的消息所使用的或要使用的用于数据传输的方法。
22.一种根据权利要求1至16之一所述的方法在机动车或工业设备的正常运行中的使用,用于在所述机动车或所述工业设备的至少两个控制设备之间传输数据,所述至少两个控制设备通过合适的数据总线连接。
23.一种根据权利要求1至16之一所述的方法在机动车或工业设备的制造或维护期间的使用,用于在出于编程的目的与合适的数据总线连接的编程单元和所述机动车或所述工业设备的与所述数据总线连接的至少一个控制设备之间传输数据。
【文档编号】G06F13/42GK103649933SQ201280020589
【公开日】2014年3月19日 申请日期:2012年4月26日 优先权日:2011年4月26日
【发明者】F·哈特维希 申请人:罗伯特·博世有限公司

最新回复(0)