CN107148760B - 将帧经由总线系统从发送器串行传输至至少一个接收器的方法和用于总线系统的参与站 - Google Patents

将帧经由总线系统从发送器串行传输至至少一个接收器的方法和用于总线系统的参与站 Download PDF

Info

Publication number
CN107148760B
CN107148760B CN201580059228.0A CN201580059228A CN107148760B CN 107148760 B CN107148760 B CN 107148760B CN 201580059228 A CN201580059228 A CN 201580059228A CN 107148760 B CN107148760 B CN 107148760B
Authority
CN
China
Prior art keywords
crc
frame
bit
bus system
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580059228.0A
Other languages
English (en)
Other versions
CN107148760A (zh
Inventor
F.哈特维希
M.海内布罗特
C.霍尔斯特
T.林登克罗伊茨
P.斯韦科夫斯基
A.穆特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN107148760A publication Critical patent/CN107148760A/zh
Application granted granted Critical
Publication of CN107148760B publication Critical patent/CN107148760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • H04L1/0008Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/009Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to transmitters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0091Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to receivers, e.g. format detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

提供一种用于将帧(40;60;70;600;700)经由总线线路(3)从发送器串行传输至至少一个接收器的方法和一种用于总线系统(1)的参与站(10;20;30)。在该方法中,由发送器根据预先确定的规则将用于产生附加的信号边沿的填充位(52)插入到帧(40;60;70;600;700)中,并且由接收器在分析接收到的帧(40;60;70;600;700)时又将填充位(52)移除,其中CRC生成器(13A;23A;33A)的CRC计算逻辑算出CRC校验和,帧(40;60;70;600;700)包括所述CRC校验和,并且其中当在通过CRC计算逻辑执行的正在进行的计算中确定CRC校验和的值为“0….0”时,在附加的分析步骤中将值“1”插入到CRC计算逻辑中。

Description

将帧经由总线系统从发送器串行传输至至少一个接收器的方 法和用于总线系统的参与站
背景技术
例如可以将 CAN 总线系统用于运输工具、尤其是汽车中传感器与控制设备之间的通信。在CAN 总线系统中,利用 CAN 和/或者 CAN FD 协议传输帧,如在 IS011898-1 的当前的委员会草案或者在作为具有CAN FD的CAN协议规范的规范“CAN with FlexibleData-Rate, 规范版本1.0 (2012年4月17日发布)”中所描述的那样。
CAN FD 帧(Frames)或者消息在开始的具有显性电平的帧起始位(SOF-Bit)之后具有用于 CAN FD 帧的标识符的位 28至位18 并且必要时还有位 17至位 0 ,该显性电平用信号通知帧的开始。因此也将位 28至位 0 称作 ID28、ID27 等等。
在CAN FD 帧的 CRC 方法(CRC = Cyclic Redundancy Check = 循环冗余校验)中检测到弱点。所述弱点仅涉及具有以四个显性位开始的标识符的 CAN FD 帧。这四个显性位与显性的帧起始位一起生成填充条件(stuff condition),基于该填充条件在第四和第五标识符位之间插入一个隐性填充位。通过这种预先确定的填充位插入规则可以防止将具有五个以上相同位的位序列错误解释为例如帧结束“End of Frame”的信号通知,或者防止总线参与方由于缺少信号边沿或位之间的电平变化而丢失同步。因为在 CAN 和 CAN FD中均将信号边沿或电平变化考虑用来同步总线参与方。
如果在上述四个显性位的情况下(局部在接收器中)使用一个隐性位覆盖前面的显性的帧起始位,该接收器就将第一显性标识符位解释为帧起始位。在接收器中没有填充条件,如果接收器收到隐性填充位,就接受隐性填充位作为第四标识符位。下一位被接受为第五标识符位,并且接收器重新与发送器同相。
弱点在于这种情况下 CRC 校验无法检测已改变的第四标识符位;所发送的标识符(例如 0x001)作为 0x081接收。如果标识符以四个显性的“0”位开始,并且显性的帧起始位被覆盖,就出现这种情况。由此产生的后果将是收到以“1”替代“0”的第四标识符位。这里不仅涉及 11 位标识符,如在基本格式(base format)中的 CAN FD 帧中那样,而且涉及29 位标识符,如在扩展格式(extended format)中的 CAN FD 帧中那样,并且不仅涉及具有 17 位 CRC 的 CAN FD 帧,而且涉及具有 21 位 CRC 的 CAN FD 帧。
传统CAN格式的帧不涉及该问题,因为在此CRC计算不包括填充位。
CRC 方法的弱点是通过 CRC 生成器的初始化向量“00000000000000000”引起。第一引导位“0”不改变 CRC 生成器寄存器,使得如果在仲裁字段中在第一隐性位(所发送的填充位,其被有位错的接收器视作第四标识符位)前面少一个位,就无法通过 CRC 校验检测该引导位。
此外,帧开始处缺少的位不作为格式错误来检测,因为接受填充位作为缺少的标识符位。
概括来说这意味着:
在传统的 CAN 中不考虑将填充位用来 CRC生成。只有位错生成条件/排除填充条件对可以将汉明距离(Hamming Distance (HD))减到 2。
在具有较长的 CRC 校验和(CRC-17 和 CRC-21)的 CAN FD 中, CRC 生成包括填充位。如果帧起始位被接收器篡改,则可能出现问题。
在以下两种情况下可能发生的是,CAN FD 帧的 CRC 检测不到被篡改的标识符。这意味着接收器将接受被篡改的帧作为有效的帧。
情况 1a:发送器发送 ID28-ID25 = “0000”
如果接收器检测到缩短的帧起始位,则以 ID28-ID25 = “0000”开始的标识符可能被篡改为 ID28-ID25 = “0001”。其原因在于,接收器没有或者过晚识别帧起始,并且因此将 ID28 解释为帧起始。由于发送器在 ID25 后面插入的填充位而将前四个标识符篡改为 ID28-ID25 = “0001”,所有后续的标识符位均被正确接收。发送器从总线回读帧起始的时候识别不了错误。
所需的缩短取决于发送器和接收器之间的 CAN 时钟频率关系。对于细节参见示例。
只要显性干扰脉冲不被进行接收的 CAN 节点检测到,则被篡改的总线信号可以包含所述显性干扰脉冲。
如果例如参与站或者节点中的 CAN 时钟是 fRX_节点 == fTX_节点,那么缩短/篡改“phase_seg2 + ε”的帧起始位就足以引起问题。使用 1 Mbit/s 和 80% 的采样点(Sample Point = SP),缩短 205 ns 就足以产生问题。稍后,这还根据图 7 来详细解释。
情况 1b:发送器发送 ID28-ID25 = “0001”
另一方面,在所发送的帧起始位到达之前,如果接收器例如由于一个显性干扰脉冲检测到位时间中的一个显性位,则以 ID28-ID25 = “0001”开始的标识符可能被篡改为ID28-ID25 = “0000”。其原因在于,接收器将发送器所发送的帧起始位识别为 ID28。因此接收器将“1”错误解释为填充位并且将其移除。因此将前四个标识符位篡改为 ID28-ID25= “0000”。所有后续的标识符位均被正确接收。
表 1 概括示出了标识符位 ID28至ID25 “0000”和“0001”的两个关键值在至接收器的途中如何必定被篡改,以至于接收器的 CRC 无法识别错误。
Figure 477322DEST_PATH_IMAGE002
如果接收器由于位缩短或者由于参与方间同步过程中的移位而将所发送的四个显性位的序列后面的一个隐性位错误解释为填充位,并且同时中间 CRC 寄存器值碰巧等于“0...0”,那么类似的情况也可能在 CAN FD 帧之内出现。中间 CRC 寄存器值是 CRC 校验和的分别在为此设置的 CRC 寄存器中存在的值。根据分别使用的 CRC 多项式的规定,利用发送器或接收器中的每个在 CRC 字段前面发送或接收的位来重新计算 CRC 寄存器的内容。然后,发送器在帧的 CRC 字段中将数据字段最后一位处存在的寄存器内容发送给接收器进行校验。
发明内容
因此,本发明的任务是,提供一种用于将帧经由总线系统从发送器串行传输至至少一个接收器的方法和一种用于总线系统的参与站,所述方法和参与站解决在上文中提到的问题。尤其,应提供一种用于将帧经由总线系统从发送器串行传输至至少一个接收器的方法和一种用于总线系统的参与站,其中相对于迄今的方法进一步提高在总线系统的参与方之间的数据传输的可靠性。
所述任务通过具有权利要求1的特征的用于将帧经由总线线路从发送器串行传输至至少一个接收器的方法来解决。在该方法中,由发送器根据预先确定的规则将用于产生附加的信号边沿的填充位插入到帧中,其中由接收器在分析接收到的帧时又将填充位移除,其中CRC生成器的CRC计算逻辑算出CRC校验和,帧包括所述CRC校验和,并且其中当在通过CRC计算逻辑执行的正在进行的计算中确定CRC校验和的值为“0….0”时,在附加的分析步骤中将值“1”插入到CRC计算逻辑中。
本发明描述一种能够如何扩展CRC算法的方法,以便在错误解释填充位的含错误的采样的情况下可靠地识别所述错误。
优点在于在错误采样的情况下可靠地识别位错。
所描述的方法的使用一方面能够经由CAN协议控制器的数据表/手册证实,另一方面通过网络或总线系统中的通信控制装置或控制器的行为证实。在此描述的CAN FD协议变型形式应该用于CAN和TTCAN网络或总线系统。
方法的有利的其他设计方案在从属权利要求中说明。
可行的是,在分析下一传输的位之前执行附加的分析步骤。
在一个特殊的设计方案中,CRC校验和的初始化向量能够具有值“1…0”。
可能地,帧具有头部、数据部分和尾部,和/或可行的是,头部具有标识符。
也可行的是,帧是CAN帧或TTCAN帧或CAN FD帧。
之前提到的任务此外通过根据权利要求6所述的用于总线系统的参与站来解决。参与站包括:发送/接收装置,其用于将帧发送到总线系统的另一个参与站和/或从总线系统的另一个参与站接收帧,借助所述总线系统,能够将帧借助于串行传输经由总线线路从发送器传输至至少一个接收器;和保护装置,所述保护装置用于保护帧的CRC校验和,所述CRC校验和由CRC生成器的CRC计算逻辑算出;其中发送/接收装置被设计成,在发送帧之前,根据预先确定的规则将用于产生附加的信号边沿的填充位插入到帧中和/或在分析接收到的帧时又将填充位移除,其中保护装置被设计成,当在通过CRC计算逻辑执行的正在进行的计算中确定CRC校验和的值为“0….0”时,在附加的分析步骤中将值“1”插入到CRC计算逻辑中。
参与站可以是总线系统的一部分,该总线系统还具有总线线路和至少两个参与站,所述参与站可以通过总线线路相互连接,使得其能够相互通信,其中所述至少两个参与站中的至少一个是之前所述的参与站。
本发明的其他可能的实现也包括之前或者以下参照实施例描述的特征或者实施方式的没有明确提及的组合。在此,专业人士也将单个方面作为改进或补充添加至本发明的相应基本形式。
附图说明
下面,参考附图并且根据实施例对本发明进行详细描述。其中:
图1示出根据第一实施例的总线系统的简化的框图;
图2示出在根据图1的总线系统中的帧的结构的示意图;
图3至图6分别示出CAN FD 帧的格式,具有根据 ISO 11898-1 的当前委员会草案的前四个标识符位(ID28-ID25)的放置;和
图7示出用于表示根据图 1 的总线系统中开始传输帧的时候发送器与接收器之间的时钟关系的时序图。
在附图中,只要没有另作说明,相同的或功能相同的元件配备有相同的附图标记。
具体实施方式
第一实施例
图1在第一实施例中示出总线系统1,所述总线系统例如能够是CAN FD总线系统。总线系统1能够在运输工具、尤其机动车、飞机等中或在医院等中使用。
在图1中,总线系统1具有总线线路3,多个参与站10、20、30连接到所述总线线路上。经由总线线路3,帧40能够以信号的形式在各个参与站10、20、30之间传输。参与站10、20、30例如能够是机动车的控制设备、传感器、显示设备等或还有工业控制设施。
如图1中所示,参与站10具有通信控制装置11、保护装置12和发送/接收装置13,所述发送/接收装置具有CRC生成器13A。当然,保护装置12也能够是通信控制装置11的一部分。而参与站20具有通信控制装置21、具有CRC分析单元22A和插入单元22B的保护装置22、和发送/接收装置23,所述发送/接收装置具有CRC生成器23A。参与站30具有通信控制装置31、保护装置32和发送/接收装置33,所述发送/接收装置具有保护装置32和CRC生成器33A。参与站10、20、30的发送/接收装置13、23、33分别直接连接到总线线路3上,即使这在图1中未示出。
通信控制装置11、21、31分别用于控制相应的参与站10、20、30经由总线线路3与连接到总线线路3上的参与站10、20、30中的其他参与站的通信。通信控制装置11、21、31能够分别如传统的CAN或TTCAN或CAN FD控制器那样实施。通信控制装置11、21、31也能够分别构造为微控制器的一部分,所述微控制器同样由相应的参与站10、20、30包括。
发送/接收装置13、23、33能够分别如传统的CAN或TTCAN或CAN FD收发器那样实施。
保护装置12、22、32也能够实施为软件模块,所述软件模块构成在参与站上运行的软件的一部分。在该情况下,完全以软件描绘根据本发明的方法。
图2非常示意地示出没有帧起始位(SOF)的帧40的结构,所述帧起始位直接在帧40之前经由总线线路3传输。帧40能够是CAN帧或TTCAN帧。
在图2中,帧40具有头部41、41A、42、数据字段43、44、45以及尾部46,所述尾部形成帧尾。头部41、51A、42在第一子区段41中具有标识符(ID)的前四位41、41A,在第二子区段41A中具有标识符41、41A的其余位和控制字段42。数据字段43、44、45在第一部分43中具有字节0,在第二部分44中具有其他字节并且在第三部分45中具有字节n。在尾部46中设有CRC校验和或CRC检查和。
图3示出由参与站10、20、30之一发送的帧60,所述帧具有CAN FD基本格式的高达16个数据字节。帧60具有SOF位61以及多个帧字段,如仲裁字段62(Arbitration field)、控制字段63(Control field)、数据字段64(Data field)和校验和字段65(CRC field)。仲裁字段 62 在 base-ID 字段中包括帧 60 的标识符(Identifier)。将 RRS 位布置在仲裁字段 62 的末尾。控制字段 63 始于 IDE 位,随后是 FDF 位,并且然后是 res 位和紧随其后的 BRS 位,并且然后是 ESI 位,接着是 DLC 字段。如果控制字段 63 的 DLC 字段具有值0 ,则数据字段 64 不存在。校验和字段 65 在CRC-seq 字段中包含 CRC 校验和,并且终止于随后的 CRC 定界符 CRC-Del。上述字段和位从 ISO-CD-11898-1 中已知,并且因此这里没有详细描述。
在图 3 中说明本实施例中的仲裁阶段 67 的长度。如果帧 60 中的 BRS 位是隐性的,那么紧随仲裁阶段 67 之后是数据阶段 68。帧 60 具有头部 61至63、数据部分 64和尾部 65。
在图 3至图6 中,利用帧 60 的底边上宽的线条表示显性位。在图 3至图6 中,利用帧 60 的顶边上宽的线条表示隐性位。
如图 3 中所示,发送器的所属通信控制装置 11、21、31 已经创建了帧 60,使得SOF 位、RRS 位、IDE 位和 res 位是显性的,而 FDF 位和 CRC 定界符 CRC-Del 是隐性的。
图 4 示出由参与站 10、20、30 之一发送的帧 600,其具有 CAN FD 基本格式的大于 16 个的数据字节。帧 600 除了与数据字段 64 相比更长的数据字段 640 以及与校验和字段 65 相比更长的校验和字段 650 之外,以与图 3 的帧 60 相同的方式构造。帧600 具有头部 61至63、数据部分 640 和尾部 650。
图 5 示出由参与站 10、20、30 之一发送的帧 70,其具有 CAN FD 扩展格式(CANFD extended format)的高达 16 个的数据字节。按照图 5,帧 70 具有SOF 位71 以及多个帧字段,如仲裁字段 72(Arbitration field)、控制字段 73(Control field)、数据字段74(Data field)和校验和字段 75(CRC field)。仲裁字段 72 在 base-ID 字段和 ID扩展字段中包括帧 70 的标识符 (Identifier)。在 base-ID 字段和 ID扩展字段之间设置有SRR 位和 IDE 位。将 RRS 位布置在仲裁字段 72 的末尾。控制字段 73 始于 FDF 位,随后是 res 位。随后是 BRS 位和 ESI 位。控制字段 73 终止于 DLC 字段。如果控制字段73 的 DLC 字段具有值 0,则数据字段 74 不存在。在其它方面,帧 70 以与图 3 的帧 60相同的方式构造,并且具有相应的仲裁阶段 77 和数据阶段 78。帧 70 具有头部 71至73、数据部分 74 和尾部 75。
如图 5 中所示,发送器的所属通信控制装置 11、21、31 已经创建了帧 70,使得SOF 位、RRS 位和 res 位是显性的,而 SRR 位、IDE 位和 CRC 定界符 CRC-Del 是隐性的。
图 6 示出由参与站 10、20、30 之一发送的帧 700,其具有 CAN FD 扩展格式(CAN FD extended format)的大于 16 个的数据字节。帧 700 除了与数据字段 74 相比更长的数据字段 740 以及与校验和字段 75 相比更长的校验和字段 750 之外,以与图 5的帧 70 相同的方式构造。帧 700 具有头部 71至73、数据部分 740 和尾部 750。
CRC校验和针对在图3和图4中示出的基本格式的CAN FD帧60、600被称作为CRC-17。CRC校验和针对在图5和图6中示出的扩展格式的帧70、700被称作为CRC-21。
作为示例,图 7 示出参与站 10 的发送信号 TX-10、参与站 20 的接收信号 RX-20 和参与站 20 的采样视点 V-20 分别随时间 t 的变化过程。图 7 中的虚线分别说明各个位之间的位边界 50。为了清晰起见,对于接收信号 RX-20 和采样视点 V-20,并非位边界 50 的所有虚线都配备附图标记。
在图 7 中所示的情况是在发送信号 TX-10 以帧起始位(SOF 位)开始之前首先在总线线路 3 上发送一个空闲位 51。随后是电平与帧起始位相同的位2 至位5,在位5 后面插入一个填充位 52。
因此以没有绘出的、由于通过总线线路 3 传输发送信号 TX-10 而出现的延时产生对应于发送信号 TX-10 的接收信号 RX-20。该接收信号 RX-20 可能由于不同的原因(硬件误差、外部干扰、电磁辐射等等)在持续时间 T 内具有隐性电平,尽管发送信号具有SOF 位的显性电平。在这样篡改的接收信号 RX-20 中还可能存在附加的短的干扰脉冲GD,所述干扰脉冲继续篡改总线信号 35,如图 7 中所示。这样的干扰脉冲 GD 例如同样可能由于外部干扰(电磁辐射等等)而出现,并且可能(例如当这些干扰脉冲短于一个时间量tq 的最小总线时间单位的时候)无法通过进行接收的参与站、这里即参与站 20 检测到。接收信号 RX-20 保持篡改状态。
参与站 20 由于被篡改的接收信号 RX-20 而看见信号 V-20。在帧起始位的位边界 50 后面是配备有附图标记 54 的 sync_seg 阶段。随后是传输阶段 prop_seg,其在图7 中配备有附图标记 55。随后是配备有附图标记 56 的 phase_seg1 以及配备有附图标记 57 的 phase_seg2。所述阶段 54至57 的顺序对于每个位来说均相同。
参与站 20 在采样点 SP1、SP2、SP3、SP4、SP5 对接收信号 RX-20 进行采样。采样点 SP1至SP5 处在配备有附图标记 56 的 phase_seg1 和配备有附图标记 57 的 phase_seg2 之间。
在图 7 中所示的情况中,参与站 10、20、30(也称作节点)中的 CAN 时钟是 fRX_节点 == fTX_节点。也就是说,接收时钟对应于发送时钟。这里,缩短/篡改“phase_seg2 +ε”的帧起始位(SOF)足以引起这里所关注的问题。第五采样点 SP5 在所示的情况下错误地产生隐性值。使用 1 Mbit/s 并且对于采样点 SP1、SP2、SP3、SP4、SP5 使用80% 的采样点SP (SP = Sample Point),缩短 205 ns 就足以如前所述产生这里所关注的问题。
在本实施例中,为了解决之前针对 CRC-17 和 CRC-21 所述的问题,可以使用初始化向量“1...0”替代“0...0”作为 CRC 生成器 13A、23A、33A 的初始化向量。可以使用保护装置 12、22、32,在尤其是具有 CRC 分析单元 22A 和插入单元 22B 的保护装置 22 中进行初始化。由此关于标识符位 ID28至ID25 “0000”和“0001”的两个关键值的问题能够不再出现。
作为所关注的问题的补充的或替代的解决方案如下进行:
当检测到CRC值为“0…0”时,在附加地分析CRC机制时将“1”插入到CRC逻辑中。这在分析下一接收/发送的位之前进行。
换言之,CRC生成器13A、23A、33A的涉及的CRC计算逻辑算出CRC校验和。当在通过CRC生成器13A、23A、33A的CRC计算逻辑执行的正在进行的计算中借助所属的保护装置12、22、33确定CRC值为“0….0”时,在附加的分析步骤中将值“1”插入到CRC计算逻辑中。在参与站20中,借助CRC分析单元22A能够执行CRC值“0….0”的确定。将值“1”插入到CRC计算逻辑中能够借助插入单元22B执行。
所述插入的“1”能够视作为虚拟的填充位,所述填充位仅对CRC逻辑是可见的。由于所述插入,当下一接收/发送的位到达时,CRC值不再为“0…0”。
第二实施例
在第二实施例中,总线系统1以与在第一实施例中描述的相同的方式构造。然而区别在于,在第二实施例中关注下述问题,所述问题能够在下述情况下出现:在CAN FD帧之内,所发送的四个显性位的序列后面的一个隐性位由于位缩短或者由于参与方间同步过程中的移位被接收器错误解释为填充位,并且同时中间 CRC 寄存器值碰巧等于“0...0”。CRC生成器13A、23A、33A的中间CRC寄存器值等于“0…0”在下述情况下出现:CRC校验和的正在执行的计算得出值“0…0”。
可以区分两种情况:
情况2a在下述情况下出现:中间CRC寄存器值等于“0…0”,而发送“0”的填充序列并且这些“0”位的第一个由于同步而缩短。因此,位序列“00000l”(“l”在此表示发送的填充位)由接收器失真地采样成“00001”。所述错误通过CRC检测不到。
情况2b在下述情况下出现:中间CRC寄存器值等于“0…0”,而发送未填充序列“00001”并且接收器对附加的“0”采样。随后,将“1”解释成填充“1”,并且因此发送的位序列“00001”被接收器失真地采样成“00000l”(“l”在此表示发送的误认的填充位)。所述插入通过CRC检测不到。
该问题能够在帧起始和发送的CRC校验和之间的任意位置处出现。借助在第一实施例中描述的初始化向量“1…0”,中间CRC寄存器值等于“0…0”能够对前18个发送的位不出现。
作为对在第二实施例中关注的问题的解决方案,如下进行。
当检测到CRC值为“0…0”时,在附加地分析CRC机制时将“1”插入到CRC逻辑中。这在分析下一接收/发送的位之前进行。
换言之,CRC生成器13A、23A、33A的涉及的CRC计算逻辑算出CRC校验和。当在通过CRC生成器13A、23A、33A的CRC计算逻辑执行的正在进行的计算中借助所属的保护装置12、22、33确定CRC值为“0…0”时,在附加的分析步骤中将值“1”插入到CRC计算逻辑中。在参与站20中,借助CRC分析单元22A能够执行CRC值“0…0”的确定。将值“1”插入到CRC计算逻辑中能够借助插入单元22B执行。
所述插入的“1”能够视作为虚拟的填充位,所述填充位仅对CRC逻辑是可见的。由于所述插入,当下一接收/发送的位到达时,CRC值不再为“0…0”。
总线系统 1、参与站 10、20、30 和方法的上述所有设计方案均可以单独或者以所有可能的组合使用。特别是,上述实施例的所有特征可以任意组合或者省略。尤其还可以设想以下修改方案。
根据基于 CAN FD 协议的总线系统对根据实施例的上述总线系统 1 进行描述。然而,根据实施例的总线系统 1 也可以是其它类型的通信网络。在总线系统 1 中至少在确定时段保证一个参与站 10、20、30 独占、无冲突访问共同的信道,是有利的、但并非强制性前提条件。
实施例及其修改方案的总线系统 1 中参与站 10至30 的数量和布置是任意的。在总线系统 1 中尤其也可以仅仅存在参与站 10或20 或者 30。可以在总线系统 1 中任意组合参与站 10至30。
也可以在所属的通信控制装置 11、21、31 中分别设置保护装置 12、22、32 替代图 1 中针对所述保护装置示出的实施方案。替代于或附加于参与站 10、20、30,一个或者多个这样的参与站可以与参与站 10、20、30 任意组合地存在于总线系统 1 中。

Claims (6)

1.用于将帧(40;60;70;600;700)经由总线线路(3)从发送器串行传输至至少一个接收器的方法,
其中由所述发送器根据预先确定的规则将用于产生附加的信号边沿的填充位(52)插入到所述帧(40;60;70;600;700)中,
其中由所述接收器在分析接收到的帧(40;60;70;600;700)时又将所述填充位(52)移除,
其中CRC生成器(13A;23A;33A)的CRC计算逻辑算出CRC校验和,所述帧(40;60;70;600;700)包括所述CRC校验和,并且
其中当在通过所述CRC计算逻辑执行的正在进行的计算中确定所述CRC校验和的值为“0…0”时,在分析下一传输的位之前的分析步骤中将值“1”插入到所述CRC计算逻辑中。
2.根据权利要求1所述的方法,其中所述CRC校验和的初始化向量具有值“1…0”。
3.根据权利要求1所述的方法,
其中所述帧(40;60;70;600;700)具有头部(41,41A,42;61至63;71至73)、数据部分(43,44,45;64;74;640;740)和尾部(46;65;75;650;750),和/或
其中所述头部(41,41A,42;61至63;71至73)具有标识符(41,41A;62;72)。
4.根据上述权利要求1-3中任一项所述的方法,
其中所述帧(40;60;70;600;700)是CAN帧(40)或TTCAN帧(40)或CAN FD帧(60;70;600;700)。
5.用于总线系统(1)的参与站(10;20;30),具有:
发送/接收装置(13;23;33),用于将帧(40;60;70;600;700)发送到所述总线系统(1)的另一个参与站和/或从所述总线系统(1)的另一个参与站接收帧(40;60;70;600;700),借助所述总线系统能够将帧(40;60;70;600;700)借助于串行传输经由总线线路(3)从发送器传输至至少一个接收器,和
保护装置(12;22;32),用于保护所述帧(40;60;70;600;700)的CRC校验和,所述CRC校验和由CRC生成器(13A;23A;33A)的CRC计算逻辑算出,
其中所述发送/接收装置(13;23;33)被设计成,在发送帧(40;60;70;600;700)之前,根据预先确定的规则将用于产生附加的信号边沿的填充位(52)插入到所述帧(40;60;70;600;700)中和/或在分析接收到的帧(40;60;70;600;700)时又将所述填充位(52)移除,
其中所述保护装置(12;22;32)被设计成,当在通过所述CRC计算逻辑执行的正在进行的计算中确定所述CRC校验和的值为“0…0”时,在分析下一传输的位之前的分析步骤中将值“1”插入到所述CRC计算逻辑中。
6.一种总线系统(1),具有:
总线线路(3),和
至少两个参与站(10,20,30),所述参与站经由所述总线线路(3)能够彼此连接,使得所述参与站能够彼此通信,
其中所述至少两个参与站(10,20,30)中的至少一个参与站是根据权利要求5所述的参与站(10,20,30)。
CN201580059228.0A 2014-09-03 2015-08-04 将帧经由总线系统从发送器串行传输至至少一个接收器的方法和用于总线系统的参与站 Active CN107148760B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102014217587 2014-09-03
DE102014217587.9 2014-09-03
DE102015209201.1A DE102015209201A1 (de) 2014-09-03 2015-05-20 Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmerstation für ein Bussystem
DE102015209201.1 2015-05-20
PCT/EP2015/067930 WO2016034350A1 (de) 2014-09-03 2015-08-04 Verfahren zur seriellen übertragung eines rahmens über ein bussystem von einem sender zu mindestens einem empfänger und teilnehmerstation für ein bussystem

Publications (2)

Publication Number Publication Date
CN107148760A CN107148760A (zh) 2017-09-08
CN107148760B true CN107148760B (zh) 2021-01-05

Family

ID=55312426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580059228.0A Active CN107148760B (zh) 2014-09-03 2015-08-04 将帧经由总线系统从发送器串行传输至至少一个接收器的方法和用于总线系统的参与站

Country Status (5)

Country Link
US (1) US10334089B2 (zh)
EP (1) EP3189630B1 (zh)
CN (1) CN107148760B (zh)
DE (1) DE102015209201A1 (zh)
WO (1) WO2016034350A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015209196A1 (de) * 2014-09-08 2016-03-10 Robert Bosch Gmbh Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmern eines Bussystems
CN109997310B (zh) * 2016-10-14 2022-12-09 奥罗技术公司 通过用修改后的有效载荷校验和加扰有效载荷来避免错误同步的记录和回放设备
DE102017212544A1 (de) * 2017-07-21 2019-01-24 Robert Bosch Gmbh Sende-/Empfangseinrichtung für ein CAN Bussystem und Verfahren zur Erkennung eines Kurzschlusses mit einer CAN Sende-/Empfangseinrichtung
DE102018221961A1 (de) * 2018-12-17 2020-06-18 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102019213783A1 (de) * 2019-09-11 2021-03-11 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102019218714A1 (de) * 2019-12-02 2021-06-02 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102019218715A1 (de) * 2019-12-02 2021-06-02 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013020781A1 (de) * 2011-08-05 2013-02-14 Robert Bosch Gmbh VERFAHREN UND VORRICHTUNG ZUR VERBESSERUNG DER DATENÜBERTRAGUNGSSICHERHEIT IN EINER SERIELLEN DATENÜBERTRAGUNG MIT FLEXIBLER NACHRICHTENGRÖßE
CN103562901A (zh) * 2011-04-06 2014-02-05 罗伯特·博世有限公司 用于匹配串行总线系统中的数据传输安全性的方法和设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7180851B1 (en) * 1999-06-24 2007-02-20 Agilent Technologies, Inc. Method for quick identification of special data packets
DE60314935T2 (de) * 2002-04-16 2007-12-20 Robert Bosch Gmbh Verfahren und Einheit zur Bitstromdekodierung
US7020809B2 (en) * 2002-09-25 2006-03-28 International Business Machines Corporation System and method for utilizing spare bandwidth to provide data integrity over a bus
US8661314B2 (en) * 2009-03-23 2014-02-25 Broadcom Corporation Method and apparatus for calculating frame check sequence

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103562901A (zh) * 2011-04-06 2014-02-05 罗伯特·博世有限公司 用于匹配串行总线系统中的数据传输安全性的方法和设备
WO2013020781A1 (de) * 2011-08-05 2013-02-14 Robert Bosch Gmbh VERFAHREN UND VORRICHTUNG ZUR VERBESSERUNG DER DATENÜBERTRAGUNGSSICHERHEIT IN EINER SERIELLEN DATENÜBERTRAGUNG MIT FLEXIBLER NACHRICHTENGRÖßE

Also Published As

Publication number Publication date
WO2016034350A1 (de) 2016-03-10
EP3189630A1 (de) 2017-07-12
DE102015209201A1 (de) 2016-03-03
EP3189630B1 (de) 2019-02-20
US10334089B2 (en) 2019-06-25
US20170289321A1 (en) 2017-10-05
CN107148760A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
CN107078931B (zh) 发送方将帧串行传输到接收方的方法以及总线系统
CN107148760B (zh) 将帧经由总线系统从发送器串行传输至至少一个接收器的方法和用于总线系统的参与站
RU2626094C2 (ru) Способ и устройство для повышения надежности передачи при последовательной передаче данных с гибким размером сообщений
RU2597501C2 (ru) Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита
RU2603534C2 (ru) Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита
CN107113087B (zh) 将帧经由总线系统从发送器串行传输至至少一个接收器的方法和用于总线系统的参与站
RU2597502C2 (ru) Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных
CN106464559B (zh) 用于分布式控制系统的高速嵌入式协议
CN114144997B (zh) 用于串行总线系统的用户站的错误识别测试装置和用于对在串行总线系统中的通信中用于错误识别的机制进行测试的方法
CN113412604A (zh) 串行总线系统的用户站和在串行总线系统中通信的方法
CN113396564B (zh) 串行总线系统的用户站和在串行总线系统中通信的方法
US11722335B2 (en) User station for a serial bus system, and method for communicating in a serial bus system
RU2602353C2 (ru) Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита
CN111713046B (zh) 用于串行通信网络的用户站和用于校正串行通信网络的消息中的各个错误的方法
CN114731308B (zh) 用于串行总线系统的订户站和用于在串行总线系统中的通信的方法
US20220398212A1 (en) User station for a serial bus system, and method for communicating in a serial bus system
Katyarmal et al. Design of Controller Area Network for Sensor Network Application using Verilog-HDL

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant