CN106598018A - 控制器区域网络(can)装置以及用于操作can装置的方法 - Google Patents

控制器区域网络(can)装置以及用于操作can装置的方法 Download PDF

Info

Publication number
CN106598018A
CN106598018A CN201610907333.1A CN201610907333A CN106598018A CN 106598018 A CN106598018 A CN 106598018A CN 201610907333 A CN201610907333 A CN 201610907333A CN 106598018 A CN106598018 A CN 106598018A
Authority
CN
China
Prior art keywords
timing
timing engine
engine
frames
optimal
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.)
Granted
Application number
CN201610907333.1A
Other languages
English (en)
Other versions
CN106598018B (zh
Inventor
罗尔夫·范德伯吉特
贝恩德·乌韦格哈德·伊兰德
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of CN106598018A publication Critical patent/CN106598018A/zh
Application granted granted Critical
Publication of CN106598018B publication Critical patent/CN106598018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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/4013Management of data rate on the bus
    • 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/40169Flexible bus arrangements
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了方法、装置和计算机可读存储媒体的实施例。在一个实施例中,一种用于操作控制器区域网络(CAN)装置的方法涉及响应于在该CAN装置处接收CAN数据帧的仲裁字段的位,从多个计时引擎中选择一个计时引擎并且使用选定的计时引擎对CAN数据帧的随后的位进行采样。该计时引擎具有不同的样本时钟频率。

Description

控制器区域网络(CAN)装置以及用于操作CAN装置的方法
技术领域
本发明涉及车载网络领域,特别地,涉及控制器区域网络领域。
背景技术
控制器区域网络(CAN)总线是通常在汽车内使用的基于消息的通信总线协议。CAN总线协议用于实现各个电子控制单元(ECU)之间的通信,该ECU例如发动机控制模块(ECM)、传动系控制模块(PCM)、安全气囊、防震刹车、定速巡航、电动助力转向、音频***、窗户、门、后视镜调整、用于混合/电动汽车的电池和再充电***等等。CAN协议的数据链路层被标准化为国际标准组织(ISO)11898-1。标准化CAN数据链路层协议处于进行扩展以提供更高数据速率的过程中。称为CAN灵活数据速率或“CAN FD”的扩展协议采用现有ISO 11898-1标准的更新的形式趋向于标准化。CAN总线协议在传送装置与接收装置之间并不具有专用时钟线。因此,CAN装置无需共同时钟信号而传送。
发明内容
本发明公开了方法、装置和计算机可读存储媒体的实施例。在一个实施例中,一种用于操作CAN装置的方法涉及响应于在CAN装置处接收CAN数据帧的仲裁字段的位,从计时引擎中选择一个计时引擎并且使用选定的计时引擎对CAN数据帧的随后的位进行采样。计时引擎具有不同的样本时钟频率。
在一个实施例中,该方法另外包括使用选定计时引擎的样本时钟频率修改CAN数据帧的至少一些采样的随后的位。
在一个实施例中,CAN数据帧另外包括数据字段,并且使用选定的计时引擎对CAN数据帧的随后的位进行采样包括使用选定的计时引擎对CAN数据帧的数据字段的位进行采样。
在一个实施例中,修改CAN数据帧的至少一些采样的随后的位包括使用选定的计时引擎的样本时钟频率修改数据字段的至少一些采样的位。
在一个实施例中,选择计时引擎包括选择最佳计时引擎和至少一个候选计时引擎。
在一个实施例中,最佳计时引擎和至少一个候选计时引擎对来自仲裁字段的接收到的位的相同数据进行采样。
在一个实施例中,在最佳计时引擎和至少一个候选计时引擎中最佳计时引擎呈现最低计时误差。
在一个实施例中,该方法另外包括基于CAN数据帧的随后的位评估最佳计时引擎和至少一个候选计时引擎。
在一个实施例中,基于CAN数据帧的随后的位评估最佳计时引擎和至少一个候选计时引擎包括在最佳计时引擎和至少一个候选计时引擎中选择具有最低计时误差的第二计时引擎。该方法另外包括使用第二计时引擎对在CAN数据帧的随后的位之后接收的CAN数据帧的另外的位进行采样。
在一个实施例中,CAN装置包括计时引擎和计时引擎解析器,该计时引擎解析器被配置成响应于在CAN装置处接收CAN数据帧的仲裁字段的位,从多个计时引擎中选择一个计时引擎。计时引擎具有不同的样本时钟频率。选定的计时引擎对CAN数据帧的随后的位进行采样。
在一个实施例中,CAN装置另外包括位操纵模块,该位操纵模块被配置成使用选定计时引擎的样本时钟频率修改CAN数据帧的至少一些采样的随后的位。
在一个实施例中,CAN数据帧另外包括数据字段以及CAN数据帧的数据字段的选定计时引擎样本位。
在一个实施例中,位操纵模块另外被配置成使用选定计时引擎的样本时钟频率修改数据字段的至少一些采样的位。
在一个实施例中,计时引擎解析器另外被配置成选择最佳计时引擎和至少一个候选计时引擎。
在一个实施例中,最佳计时引擎和至少一个候选计时引擎对来自仲裁字段的接收到的位的相同数据进行采样。
在一个实施例中,在最佳计时引擎和至少一个候选计时引擎中最佳计时引擎具有最低计时误差。
在一个实施例中,计时引擎解析器另外被配置成基于CAN数据帧的随后的位评估最佳计时引擎和至少一个候选计时引擎。
在一个实施例中,计时引擎解析器另外被配置成在最佳计时引擎和至少一个候选计时引擎中选择具有最低计时误差的第二计时引擎。第二计时引擎对在CAN数据帧的随后的位之后接收到的CAN数据帧的另外的位进行采样。
在一个实施例中,非暂时性计算机可读存储媒体包含用于操作CAN装置的程序指令。通过计算机***的一个或多个处理器的程序指令的执行使得一个或多个处理器执行包括以下项的步骤:响应于在CAN装置处的CAN数据帧的仲裁字段的位的接收,从多个计时引擎选择一个计时引擎并且使用选定的计时引擎对CAN数据帧的随后的位进行采样。计时引擎具有不同的样本时钟频率。
在一个实施例中,这些步骤另外包括使用选定计时引擎的样本时钟频率修改CAN数据帧的至少一些采样的随后的位。
根据本发明的其它方面将从借助于本发明原理的实例说明的结合附图进行的以下详细描述中变得显而易见。
附图说明
图1描绘包括连接到CAN总线的多个CAN节点的CAN网络。
图2描绘来自图1的一个CAN节点的放大图。
图3描绘在CAN协议中限定的标称位时间(NBT)。
图4描绘使用在不同时钟速率下运行的多个计时引擎的CAN装置。
图5示出用于图4中所描绘的CAN装置的计时引擎的示例性同步计时。
图6描绘在图4中所描绘的CAN装置处接收到的CAN数据帧的格式。
图7描绘在图6中所描绘的CAN数据帧的接收期间的四个同步边沿。
图8描绘在图7中所描绘的四个同步边沿处的例子计时引擎选择。
图9描绘实施为封装IC装置的图4中所描绘的CAN装置。
图10是根据本发明的一个实施例用于操作CAN装置的方法的过程流程图。
在整个说明书中,类似的参考标号可以用于标识类似的元件。
具体实施方式
将容易理解,如本文中大体描述且在附图中示出的实施例的组件可以用各种各样不同的配置来布置和设计。因此,以下如图中所表示的各种实施例的更详细描述并非意图限制本发明的范围,而仅仅是表示各种实施例。虽然在附图中呈现了实施例的各个方面,但是除非特别说明,否则附图未必按比例绘制。
在不脱离本发明精神或基本特征的情况下,可以其它特定形式实施本发明。所描述的实施例应视为在所有方面均仅为说明性而非限制性的。因此,本发明的范围由所附权利要求书而不是由此具体实施方式来指示。在权利要求书等效物的含义和范围内的所有变化均涵盖在权利要求书的范围内。
贯穿本说明书对特征、优点或类似语言的涉及并不暗示可以本发明实现的所有特征和优点都应该在或在本发明的任何单一实施例中。实际上,参考所述特征和优点的语言应理解成意味着,结合实施例描述的特定特征、优点或特性包含在本发明的至少一个实施例中。因此,贯穿本说明书对特征和优点的论述以及类似语言可以但未必涉及同一实施例。
此外,本发明的所描述的特征、优点和特性可以任何合适方式在一个或多个实施例中组合。相关领域的技术人员应认识到,鉴于本文的描述,本发明可以在没有特定实施例的具体特征或优点中的一个或多个具体特征或优点的情况下实践。在其它情况下,可在某些实施例中辨识可不存在于本发明的所有实施例中的额外特征和优点。
贯穿本说明书对“一个实施例”、“实施例”或类似语言的参考意味着结合所指示实施例描述的特定特征、结构或特性包含在本发明的至少一个实施例中。因此,贯穿本说明书的短语“在一个实施例中”、“在实施例中”和类似语言可以但未必都涉及同一实施例。
本文中描述的技术可以应用于任何类型的车载网络(IVN),包括控制器局域网(CAN)、局域互连网(LIN)、面向媒体的***传输(MOST)网络、FlexRayTM兼容网络以及其它类型的IVN。尽管在一些实施例中描述特定类型的IVN,但应注意,本发明不限于特定类型的IVN。
图1描绘包括多个CAN节点102的CAN网络100,该CAN节点102也被称作“ECU”,每个ECU连接到CAN总线104。在图1的实施例中,每个CAN节点包括微控制器110,该微控制器110具有嵌入的CAN协议控制器114和CAN收发器120。微控制器通常连接到至少一个装置(未示出),例如,传感器、致动器或一些其它控制装置,并且被编程为确定所接收的消息的含义并且产生适当的传出消息。微控制器,也称为主机处理器、主机或数字信号处理器(DSP)是本领域中已知的。在一个实施例中,主机支持与CAN协议控制器交互的应用软件。
如本领域中已知,可以嵌入在微控制器110内或在微控制器(例如,单独的IC装置)外部的CAN协议控制器114实施数据链路层操作。例如,在接收操作中,CAN协议控制器存储从收发器接收到的串行位,直到全部消息可用于通过微控制器提取。CAN协议控制器还可以根据CAN协议的标准化的帧格式解码CAN消息。在发射操作中,CAN协议控制器从微控制器接收消息并且将消息作为呈CAN帧格式的串行位发射到CAN收发器。
CAN收发器120位于微控制器110与CAN总线104之间并且实施物理层操作。例如,在接收操作中,CAN收发器将来自CAN总线的模拟差分信号转换成CAN协议控制器114可以解译的串行数字信号。CAN收发器还保护CAN协议控制器免受CAN总线上的例如电浪涌的极端电气条件影响。在发射操作中,CAN收发器将从CAN协议控制器接收到的串行数字位转换成在CAN总线上发送的模拟差分信号。
CAN总线104运送模拟差分信号并且包括CAN高(CANH)总线线路124和CAN低(CANL)总线线路126。该CAN总线是本领域中已知的。
图2描绘来自图1的一个CAN节点102的放大图。在图2的放大图中,微控制器包括主机116,该主机可以是例如存储在微控制器的存储器中并且通过微控制器的处理电路执行的软件应用程序。微控制器110和CAN节点的CAN收发器120连接在电源电压VCC与接地GND之间。如图2所示,从微控制器传送到CAN收发器的数据被识别为发射数据(TXD),而从CAN收发器传送到微控制器的数据称为接收数据(RXD)。在通篇描述中,TXD在TXD路径上运送并且RXD在RXD路径上运送。数据分别通过CANH总线线路124和CANL总线线路126传送至CAN总线以及从CAN总线传送。
如上所述,CAN协议控制器114可以被配置成支持正常模式或灵活数据速率模式。如本文所使用,“CAN正常模式”(也被称作“经典CAN模式”)是指根据ISO 11898-1标准格式化的帧并且“CAN FD模式”是指根据新兴的ISO/国际标准草案(DIS)11898-1标准格式化的帧,或其等效物。
在CAN装置中,从接收到的数据中提取内部时钟基准并且时钟同步可以发生在位的负边沿上。例如,如果接收到例如1′的相同值的位的长字符串,那么不存在允许同步的发生的负边沿。为了限制在同步发生之前接收到的位的数目,CAN协议使用位填充。CAN位填充规则允许具有相同极性的最多五个连续位,因此确保在数据中存在足够的极性改变以便能够充分地进行同步。例如,当接收到一行中的五位相同位时,相反值的填充位可以放置到位流中以便迫使过渡。在此规则下,同步将发生在至少每十个位内。图3描绘如在CAN协议中限定的标称位时间(NBT)300。为了具有与NBT相比更精细的同步粒度,时间量子(Tq)限定在CAN位中。如图3中所描绘,CAN位301被划分成同步(Sync)区段302、Prop区段304以及Phase1区段306和Phase 2区段308,它们涉及CAN通信中的物理延迟。Sync区段可以是用于在CAN总线上同步各种CAN装置的位时间的一部分。同步边沿可以预期在此区段内。Prop区段可以是用于补偿CAN网络100内的物理延迟时间的位时间的一部分。这些延迟时间可以包括CAN总线上的信号传播时间以及CAN接收器的内部延迟时间。Phase 1和Phase 2区段可用于补偿边沿相位误差。这些区段可以通过再同步延长或缩短。数据采样点310是读取总线级并且将其解释为相应的位的值的时间点。数据采样点被定义为从Phase1到Phase 2的过渡。然而,在一些实施例中,CAN收发器120在每个Tq上采样。如果在Sync区段外的另一区段中接收到数据边沿,那么CAN收发器的内部时基以X Tq移位,以将其与传入数据的时基对齐。最大时移通过Sync跳转宽度(SJW)参数限定。在一个实施例中,NBT可以高达25Tq,而SJW可以限制在4Tq。
根据本发明的一个实施例,CAN装置包括具有不同样本时钟频率的计时引擎和计时引擎解析器,该计时引擎解析器被配置成响应于在CAN装置处接收CAN数据帧的仲裁字段的位,从计时引擎中选择计时引擎。选定的计时引擎对CAN数据帧的随后的位进行采样。通过基于CAN数据帧的仲裁字段的位选择计时引擎以及使用选定的计时引擎对CAN数据帧的随后的位进行采样,在CAN数据帧的接收期间在运行中可以确定匹配采样频率。例如,匹配采样频率是采样的结果与接收到的CAN帧数据匹配的采样频率。因此,可以在CAN数据帧的循环冗余检查(CRC)区段之前使用匹配采样频率对CAN数据帧进行数据修改。例如,根据CANFD模式格式化的CAN数据帧可以被修改成可通过传统CAN装置理解且并不造成传统CAN装置进入误差状态的格式。
图4描绘使用以不同样本时钟速率运行的多个计时引擎444-1、444-2、444-3的CAN装置440。图4中所描绘的CAN装置可以是图1和2中所描绘的CAN节点102的实施例。在一些实施例中,图4中所描绘的CAN装置是图1和2中所描绘的CAN收发器120的实施例。在图4中所描绘的实施例中,CAN装置440包括具有多个计时引擎444-1、444-2、444-3以及位操纵模块448的计时模块442。CAN装置可以连接到CAN总线404并且从CAN总线中从CAN网络上的其它装置接收数据。计时模块可以接收数据位并且可以检测数据的计时信息。计时模块可随后将接收到的数据消息提供到位操纵模块以进行处理。在一个实施例中,计时模块和位操纵模块包括在相同的IC封装中。然而,在其它实施例中,计时模块和位操纵模块包括在单独的IC封装中。虽然所示出的CAN装置示出为具有某些组件并且通过本文中的某些功能性描述,但是CAN装置的其它实施例可以包括更少或更多组件以实施相同、更少或更多的功能性。例如,虽然CAN装置在图3中示出为包括三个计时引擎,但是在其它实施例中,CAN装置可以包括两个计时引擎或多于三个计时引擎。
在图4中所描绘的实施例中,计时模块442包括第一计时引擎444-1、第二计时引擎444-2和第三计时引擎444-3以及计时引擎解析器446。第一、第二和第三计时引擎中的每一个具有略微地不同的平均时钟频率。在一些实施例中,第一、第二和第三计时引擎的时钟频率相对于参考时钟频率具有较小偏差。例如,CAN协议可以规定传输CAN协议引擎具有±0.5%的精确性的时钟频率。在此实例中,计时模块的时钟频率可具有相对于参考时钟频率的±1.5%的偏差,并且第一、第二和第三计时引擎的时钟频率可具有相对于计时模块的时钟频率的+1%、0%、-1%的偏差。因此,在第一、第二和第三计时引擎中,总有一个计时引擎具有落入用于传输CAN节点的时钟频率范围内的时钟频率。第一、第二和第三计时引擎中的每一个可以从CAN总线404接收数据位,并且可以独立地且平行地处理接收到的数据位。第一、第二和第三计时引擎中的每一个可随后输出接收到的数据位被成功地检测到的指示以及由接收到的数据位表示的消息。计时引擎解析器可以被配置成确定第一、第二和第三计时引擎中的任一个是否指示相应的计时引擎成功地检测接收到的数据位,并且随后将消息提供到位操纵模块448。
图5示出用于图4中所描绘的CAN装置440的计时引擎444-1、444-2、444-3的示例性同步计时。第一、第二和第三计时引擎中的每一个具有涉及相应的计时引擎的时钟频率的平均NBT。平均NBT适用于第二和第三引擎,方法是针对N位中的M添加/减去延迟θ。具体来说,第一计时引擎具有带平均NBT的时钟频率f1。第二计时引擎通过以下平均NBT运行:
这引起以下时钟频率:
第三计时引擎通过以下平均NBT运行:
这引起以下时钟频率:
在图5中所示的同步计时中,M被设置成3并且N被设置成10。应注意,对于第二计时引擎,NBT减小了θ,使得在synch周期位的端部,总时间差相较于第一计时引擎是M*θ。以类似方式,对于第三计时引擎,差异增加了M*θ。
因为第一计时引擎444-1、第二计时引擎444-2和第三计时引擎444-3的检测带宽重叠,所以两个(或甚至全部)的计时引擎可以指示消息的成功接收。在此类情况下,计时引擎解析器446可以选择指示消息的成功接收的两个计时引擎中的一个并且可以使用该计时引擎以将消息提供到位操纵模块448。在一些实施例中,如果两个不同计时引擎都指示消息的成功接收,那么计时引擎解析器可随后选择具有最低计时误差的计时引擎。
在图4中所描绘的CAN装置440的操作的一个实例中,在每个CAN数据帧的开始处并且在每个同步事件上,第一计时引擎444-1、第二计时引擎444-2和第三计时引擎444-3的时间基础重新开始。在CAN数据帧的接收期间,对所计算的误差求和。同步事件下的实际误差SJW是:
SJW(i)=N*θ (5)
其中θ是引擎的标称位时间和传入数据的位时间的不匹配,并且N是自最后一个同步事件的位数目。在同步事件I处的计时引擎x(x是整数)的误差是:
图6描绘在图4中所描绘的CAN装置440处接收到的CAN数据帧600的格式。图6中所描绘的CAN数据帧可以是用于CAN正常模式中的ISO 11898-1帧130(呈经典的基础帧格式(CBFF)或标准格式),或用于CAN FD模式中的ISO 11898-1帧132(呈FD基础帧格式或FBFF)。如图6中所描绘,CAN数据帧包括帧的开始(SOF)字段/相位602、仲裁字段/相位604、控制字段/相位606、数据字段/相位608、循环冗余校验(CRC)字段/相位610、确认(ACK)字段/相位612和帧的结尾(EOF)字段/相位614。
在CAN数据帧600的仲裁字段604的接收期间,在CAN网络中可以有多个CAN节点,这些CAN节点在CAN总线404上传输它们的标识符(ID)。然而,由于CAN网络中的延迟,主导位可以比标称位时间更长,这影响测量并且与具有单个激活CAN节点的仲裁相位相比对于计时引擎可以引起较高的计时误差值ex。它甚至可以引起最佳匹配引擎具有与不太佳引擎相比的较高计时误差ex值。如果接收到的CAN数据帧满足如在ISO11898中所陈述的全部计时要求,那么以下引理在仲裁字段604的端部是有效的:
-最佳计时引擎(最低θ)尚未损失同步
-具有较高计时误差值ex的一些计时引擎与最佳计时引擎相比在仲裁字段作为最佳引擎期间可具有采样的相同数据。因此,希望选择这些计时引擎作为候选计时引擎。
在仲裁字段604在CAN装置440处被接收到之后,控制字段606在CAN装置处被接收到。从控制字段直至确认字段仅仲裁获胜的CAN节点被允许发射。这意味着在控制字段的接收期间,并不预期由于多个发送器在位计时上的干扰。
在控制字段606和数据字段608中,可以通过位操纵模块448执行位的添加、修改和移除。例如,根据CAN FD模式格式化的CAN数据帧可以通过位操纵模块修改成可由经典CAN装置理解或可以被经典CAN装置跳过而不进入误差状态的格式。为了对这些添加/移除/修改的位计时,应该选择单个计时引擎。在控制和数据字段之前,可以通过计时引擎解析器446执行计时引擎的预先选择。例如,计时引擎解析器可以在具有在仲裁字段604期间对相同的数据进行采样的全部计时引擎中选择具有最低计时误差ex的计时引擎(最佳计时引擎)。除最佳计时引擎之外,计时引擎解析器也可以选择具有在仲裁字段期间采样的相同数据的任何其它计时引擎作为可能的计时引擎候选者。在CAN数据帧的随后位的接收期间,候选计时引擎可具有与先前选择的最佳计时引擎相比更低的计时误差。在这种情况下,候选计时引擎被选择为新的最佳计时引擎。
具有相对低的计时误差ex但是具有不同的采样的数据的计时引擎被认为是不可靠的并且在控制字段和数据字段的接收期间将不被选择。在控制字段和数据字段的接收期间,预先选择计时引擎的总计误差同时得到评估或在所选择的时刻得到评估。用于随后接收的位的计时引擎的选择可以基于计时误差ex在控制和数据字段期间发生改变。对于长CAN数据帧,具有最接近于接收到的数据的位计时的标称位计时的引擎被选择用于确认字段。
参考图7和8描述了在CAN数据帧600的接收期间CAN装置440的计时引擎选择操作。图7描绘了在图6中所描绘的CAN数据帧600的接收期间的四个同步边沿702、704、706、708。在每个同步边沿处,为CAN装置选择一个或多个计时引擎。如图7中所描绘,第一同步边沿702在仲裁字段604期间出现而随后的第二、第三和第四同步边沿在数据字段608期间出现。第二同步边沿704、第三同步边沿706和第四同步边沿708可能不会刚好在第一同步边沿之后出现。例如,一个或多个中间同步边沿可以在第一同步边沿与第二同步边沿之间出现。
图8描绘在图7中所描绘的四个同步边沿处对应的计时引擎选择。在图8中所示的例子中,总共九个计时引擎(TE1-TE9)用于CAN装置440。在第一同步边沿702处,计时引擎(TE3)被选为最佳计时引擎并且计时引擎(TE4-TE7)被选为尽可能的计时引擎候选者。计时引擎(TE4-TE7)具有采样的相同数据并且计时引擎(TE3)具有计时引擎(TE3-TE7)中的最低计时误差。计时引擎(TE1-TE3、TE8、TE9)从计时引擎(TE4-TE7)中对不同数据进行采样并且不再考虑用于当前CAN数据帧。计时引擎(TE3)可用于提供用于CAN数据帧600的随后位的位操纵的时钟信息。在第二同步边沿704处,计时引擎(TE4)具有计时引擎(TE3-TE7)中的最低计时误差。因此,计时引擎(TE4)被选为最佳计时引擎并且用于提供时钟信息以用于CAN数据帧的随后位的可能的位操纵。在第三同步边沿706处,计时引擎(TE5)具有计时引擎(TE3-TE7)中的最低计时误差。因此,计时引擎(TE5)被选为最佳计时引擎并且用于提供时钟信息以用于CAN数据帧的随后位的可能的位操纵。在第四同步边沿708处,计时引擎(TE6)具有计时引擎(TE3-TE7)中的最低计时误差。因此,计时引擎(TE6)被选为最佳计时引擎并且用于提供时钟信息以用于CAN数据帧的随后位的可能的位操纵。如图9中所说明,在处理期间采样时钟频率是动态地调节的,前提是允许用于CAN收发器的信号CAN数据帧在单个CAN数据帧内在运行中适用。这允许CAN数据帧在传递到对应的CAN协议控制器之前得到操控并且有助于防止CAN协议控制器进入误差状态。
图9描绘实施为封装IC装置900的图4中所描绘的CAN装置440。如图9中所示,CAN装置的封装IC装置包括:14个引脚/终端,TXD(引脚1,发射数据输入)、GND(引脚2,接地)、VCC(引脚3,电源电压)、RXD(引脚4,接收数据输出)、VIO(引脚5,I/O电平适配器的电源电压)、SDO(引脚6,SPI数据输出)、INH(引脚7,用于切换外部电压调节器的抑制输出)、SCK(引脚8、SPI时钟输入)、WAKE(引脚9,局部唤醒输入)、BAT(引脚10,电池电源电压)、SDI(引脚11,串行***接口(SPI)数据输入)、CANL(引脚12,低等级CAN电压输入/输出)、CANH(引脚13,高等级CAN电压输入/输出)、SE(引脚8,操作模式选择)和SCSN(引脚14,SPI芯片选择输入)。图9中所描绘的封装IC装置是图4中所描绘的CAN装置的一个可能封装IC装置。然而,图4中所描绘的CAN装置的封装IC装置不限于图9中示出的实施例。例如,虽然引脚在图9中示出为位于封装IC装置的外部,但是在其它实施例中,引脚中的一些或全部可以定位在封装IC装置内部/内。在另一个实例中,在CAN装置不包括RXD/TXD接口的实施例中,封装IC装置不包括TXD/RXD引脚。在又另一实例中,封装IC装置可以包括大于14个引脚以实施更多I/O功能或封装IC装置可以包括小于14个引脚以实施较少I/O功能。在一个实施例中,封装IC装置包括8个引脚/终端,TXD(引脚1)、GND(引脚2)、VCC(引脚3)、RXD(引脚4)、n.c.(引脚5,未连接)、CANL(引脚6)、CANH(引脚7)和STB(引脚8,待用模式控制输入)。
图10是根据本发明的一个实施例用于操作CAN装置的方法的过程流程图。在框1002处,响应于在CAN装置处接收CAN数据帧的仲裁字段的位,从具有不同样本时钟频率的计时引擎中选择计时引擎。在框1004处,使用选定的计时引擎对CAN数据帧的随后的位进行采样。CAN装置可以与图1和图2中所描绘的CAN节点102、图1和2中所描绘的CAN收发器120和/或图4中所描绘的CAN装置440相同或类似。
本文中描述的技术可以应用于任何类型的车载网络(IVN),包括CAN、LIN、MOST网络、FlexRayTM兼容网络和其它类型的IVN。虽然在一些实施例中描述CAN装置,但是应注意,本发明不限于CAN装置。在一个实施例中,上文所描述的技术可以适用于CAN、CAN-FD和ISO11898兼容网络。上文所描述的技术可以在例如CAN收发器IC装置、微控制器IC装置或包括CAN收发器和微控制器这两者的IC装置等CAN装置中实施。
在一个实施例中,“CAN消息”是指CAN“数据帧”,它们是具有如在CAN协议中所规定的设置到“0”的RTR位的CAN数据帧。CAN“数据帧”是携带可以用于恶意意图的净荷数据(例如,在数据字段中)的CAN数据帧并且因此重要的是监测CAN“数据帧”以用于入侵检测/防止。在协议中将RTR位设置成“1”的CAN数据帧被称作“远程帧”并且此类帧并不包括净荷数据因为“远程帧”的功能是简单地请求具有相同标识符的CAN数据帧的传输。具有与对应的CAN数据帧相同的标识符的远程帧可以通过全部的其它CAN节点传输(例如,除了负责发送具有相同标识符的数据帧的CAN节点外的全部的CAN节点)。因此,存储传出CAN远程帧的标识符将是没有意义的,并且检查传入CAN远程帧以用于匹配标识符将是没有意义的。
在以上描述中,提供各种实施例的具体细节。然而,可以在并没有这些具体细节的全部细节的情况下实施一些实施例。在其它情况下,为了简洁和清晰起见,除了能够实现本发明的各种实施例的之外不再详细描述某些方法、流程、组件、结构和/或功能。
虽然以特定顺序示出和描述了本文中的(一种或多种)方法的操作,但是可以更改每种方法的操作顺序,使得可以逆序执行某些操作,或使得可以至少部分地与其它操作同时执行某些操作。在另一个实施例中,可以间断的和/或交替的方式实施不同操作的指令或子操作。
还应注意,本文中所描述的方法的至少一些操作可以使用存储于计算机可用存储媒体上的软件指令来实施,以供计算机执行。作为一个实例,计算机程序产品的实施例包括用于存储计算机可读程序的计算机可使用的存储媒体。
计算机可用存储媒体或计算机可读存储媒体可以是电子、磁性、光学、电磁、红外线或半导体***(或设备或装置)。非暂时性计算机可使用的存储媒体和计算机可读存储媒体的例子包括半导体或固态存储器、磁带、可拆卸计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。目前,光盘的实例包含具有只读存储器的高密度磁盘(CD-ROM)、具有读取/写入的高密度磁盘(CD-R/W)和数字视频光盘(DVD)。
替代地,本发明的实施例可以完全实施于硬件中或实施于包含硬件元件和软件元件两者的实施方案中。在使用软件的实施例中,软件可以包括但不限于固件、常驻软件、微码等。
虽然已经描述和例示了本发明的具体实施例,但是本发明不限于如此描述和例示的部分的具体形式或布置。本发明的范围将由在此所附的权利要求书及其等效物限定。

Claims (10)

1.一种用于操作控制器区域网络(CAN)装置的方法,其特征在于,所述方法包括:
响应于在所述CAN装置处接收CAN数据帧的仲裁字段的位,从多个计时引擎中选择一个计时引擎,其中所述计时引擎具有不同的样本时钟频率;以及
使用所述选定的计时引擎对所述CAN数据帧的随后的位进行采样。
2.一种控制器区域网络(CAN)装置,其特征在于,所述CAN装置包括:
多个计时引擎,其中所述计时引擎具有不同样本时钟频率;以及
计时引擎解析器,其被配置成响应于在所述CAN装置处接收CAN数据帧的仲裁字段的位,从所述多个计时引擎中选择一个计时引擎,其中所述选定的计时引擎对所述CAN数据帧的随后的位进行采样。
3.根据权利要求2所述的CAN装置,其特征在于,另外包括位操纵模块,所述位操纵模块被配置成使用所述选定计时引擎的所述样本时钟频率修改所述CAN数据帧的至少一些采样的随后的位。
4.根据权利要求3所述的CAN装置,其特征在于,所述CAN数据帧另外包括数据字段,并且其中所述选定计时引擎对所述CAN数据帧的所述数据字段的位进行采样。
5.根据权利要求4所述的CAN装置,其特征在于,所述位操纵模块另外被配置成使用所述选定计时引擎的所述样本时钟频率修改所述数据字段的所述至少一些采样的位。
6.根据权利要求2所述的CAN装置,其特征在于,所述计时引擎解析器另外被配置成选择最佳计时引擎和所述至少一个候选计时引擎。
7.根据权利要求6所述的CAN装置,其特征在于,所述最佳计时引擎和所述至少一个候选计时引擎对来自所述仲裁字段的所述接收到的位的相同数据进行采样。
8.根据权利要求7所述的CAN装置,其特征在于,在所述最佳计时引擎和所述至少一个候选计时引擎中所述最佳计时引擎具有所述最低计时误差。
9.根据权利要求8所述的CAN装置,其特征在于,所述计时引擎解析器另外被配置成基于所述CAN数据帧的所述随后的位评估所述最佳计时引擎和所述至少一个候选计时引擎。
10.根据权利要求9所述的CAN装置,其特征在于,所述计时引擎解析器另外被配置成在所述最佳计时引擎和所述至少一个候选计时引擎中选择具有所述最低计时误差的第二计时引擎,并且其中所述第二计时引擎对在所述CAN数据帧的所述随后的位之后接收到的所述CAN数据帧的另外的位进行采样。
CN201610907333.1A 2015-10-20 2016-10-18 控制器区域网络(can)装置以及用于操作can装置的方法 Active CN106598018B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/918,370 2015-10-20
US14/918,370 US10614016B2 (en) 2015-10-20 2015-10-20 Controller area network (CAN) device and method for operating a CAN device

Publications (2)

Publication Number Publication Date
CN106598018A true CN106598018A (zh) 2017-04-26
CN106598018B CN106598018B (zh) 2021-04-13

Family

ID=57485280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610907333.1A Active CN106598018B (zh) 2015-10-20 2016-10-18 控制器区域网络(can)装置以及用于操作can装置的方法

Country Status (3)

Country Link
US (1) US10614016B2 (zh)
EP (1) EP3160090B1 (zh)
CN (1) CN106598018B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110312233A (zh) * 2018-03-21 2019-10-08 恩智浦有限公司 控制器局域网(can)装置和用于操作can装置的方法
CN110868302A (zh) * 2018-08-28 2020-03-06 恩智浦有限公司 网络接口装置和用于操作网络接口装置的方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789519B (zh) * 2016-12-30 2021-07-23 深圳市优必选科技股份有限公司 信道配置方法及装置
US10333838B2 (en) * 2016-12-30 2019-06-25 UBTECH Robotics Corp. Frame transmission methods and devices
CN107181656A (zh) * 2017-05-23 2017-09-19 安徽宇锋仓储设备有限公司 叉车增强型控制通讯***
JP7079180B2 (ja) * 2018-09-20 2022-06-01 ボッシュ株式会社 Can通信方法及びcan通信システム
DE102018218721A1 (de) 2018-10-31 2020-04-30 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zum Senden einer Nachricht in einem seriellen Bussystem
JP7120156B2 (ja) * 2019-05-29 2022-08-17 株式会社デンソー 通信装置
DE102020128430A1 (de) * 2019-11-28 2021-06-02 Infineon Technologies Ag Feldbussystem mit umschaltbarer slew-rate
US11295036B2 (en) 2019-12-09 2022-04-05 Nxp Usa, Inc. Method of using protocol CRC to implement end to end protection of a CAN message
IT202000013222A1 (it) * 2020-06-04 2021-12-04 St Microelectronics Srl Procedimento di clock recovery, circuito e sistema corrispondenti
DE102021200080A1 (de) * 2021-01-07 2022-07-07 Robert Bosch Gesellschaft mit beschränkter Haftung Kommunikationssteuereinrichtung für eine Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101371485A (zh) * 2005-12-30 2009-02-18 诺基亚公司 用于为无线通信***提供链路自适应方案的方法和设备
CN102355382A (zh) * 2011-09-28 2012-02-15 东南大学 一种控制器局域网总线分析与触发的方法
CN202798579U (zh) * 2011-12-31 2013-03-13 意法半导体研发(上海)有限公司 跟踪振荡器电路和控制器局域网总线***
US20130103914A1 (en) * 2011-10-25 2013-04-25 Fujitsu Limited Apparatus, method, and storage medium for sampling data
CN103179010A (zh) * 2012-12-04 2013-06-26 中国北方车辆研究所 一种减少帧冲突的can总线通讯方法
US8566632B2 (en) * 2011-01-18 2013-10-22 Nxp B.V. Multi-rate sampling for network receiving nodes using distributed clock synchronization
CN103370700A (zh) * 2010-12-21 2013-10-23 罗伯特·博世有限公司 用于具有附加***的数据的串行数据传输的方法和装置
CN104685483A (zh) * 2013-03-12 2015-06-03 密克罗奇普技术公司 用于时钟恢复的方法及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006057590A1 (en) 2004-10-25 2006-06-01 Kvaser Consultant Ab A device for a can system
JP2009522835A (ja) * 2005-12-30 2009-06-11 ノキア コーポレイション 無線通信システム用リンク適応スキームを提供する方法及び装置
US7647131B1 (en) * 2006-03-09 2010-01-12 Rockwell Automation Technologies, Inc. Dynamic determination of sampling rates
DE102010041223A1 (de) * 2010-09-22 2012-03-22 Robert Bosch Gmbh Verfahren und Vorrichtung zur seriellen Datenübertragung mit umschaltbarer Datenrate
US8767815B2 (en) * 2012-11-30 2014-07-01 Honeywell International Inc. Parallel-frequency partially-coherent reception of pulse-position modulated ADS-B messages
EP2800316A1 (en) * 2013-05-01 2014-11-05 Renesas Electronics Europe GmbH Can fd

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101371485A (zh) * 2005-12-30 2009-02-18 诺基亚公司 用于为无线通信***提供链路自适应方案的方法和设备
CN103370700A (zh) * 2010-12-21 2013-10-23 罗伯特·博世有限公司 用于具有附加***的数据的串行数据传输的方法和装置
US8566632B2 (en) * 2011-01-18 2013-10-22 Nxp B.V. Multi-rate sampling for network receiving nodes using distributed clock synchronization
CN102355382A (zh) * 2011-09-28 2012-02-15 东南大学 一种控制器局域网总线分析与触发的方法
US20130103914A1 (en) * 2011-10-25 2013-04-25 Fujitsu Limited Apparatus, method, and storage medium for sampling data
CN202798579U (zh) * 2011-12-31 2013-03-13 意法半导体研发(上海)有限公司 跟踪振荡器电路和控制器局域网总线***
CN103179010A (zh) * 2012-12-04 2013-06-26 中国北方车辆研究所 一种减少帧冲突的can总线通讯方法
CN104685483A (zh) * 2013-03-12 2015-06-03 密克罗奇普技术公司 用于时钟恢复的方法及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110312233A (zh) * 2018-03-21 2019-10-08 恩智浦有限公司 控制器局域网(can)装置和用于操作can装置的方法
CN110312233B (zh) * 2018-03-21 2024-05-28 恩智浦有限公司 控制器局域网(can)装置和用于操作can装置的方法
CN110868302A (zh) * 2018-08-28 2020-03-06 恩智浦有限公司 网络接口装置和用于操作网络接口装置的方法
CN110868302B (zh) * 2018-08-28 2023-08-11 恩智浦有限公司 网络接口装置和用于操作网络接口装置的方法

Also Published As

Publication number Publication date
EP3160090A1 (en) 2017-04-26
EP3160090B1 (en) 2019-11-20
CN106598018B (zh) 2021-04-13
US10614016B2 (en) 2020-04-07
US20170109309A1 (en) 2017-04-20

Similar Documents

Publication Publication Date Title
CN106598018A (zh) 控制器区域网络(can)装置以及用于操作can装置的方法
US11233750B2 (en) Method and apparatus for allocating transmission opportunities in vehicle network
US10623291B2 (en) Operation method of communication node for detecting link errors in network
US10574348B2 (en) Method for time synchronization between communication nodes in network
US20120201126A1 (en) Fault Tolerant Network Utilizing Bi-Directional Point-to-Point Communications Links Between Nodes
JP2022530680A (ja) 有線ローカルエリアネットワークにおけるコリジョンのエミュレート、並びに関連するシステム、方法、及びデバイス
US10122580B2 (en) Operation methods of communication node in network
US20170048158A1 (en) Operation method of communication node in network
Cummings et al. Exploring use of Ethernet for in-vehicle control applications: AFDX, TTEthernet, EtherCAT, and AVB
JP7504197B2 (ja) イーサネットインターフェース、並びに関連するシステム、方法、及びデバイス
CN107148760B (zh) 将帧经由总线***从发送器串行传输至至少一个接收器的方法和用于总线***的参与站
KR102431490B1 (ko) 차량 네트워크에서 다중 도메인을 활용한 통신 노드의 동기화 방법 및 장치
US20170214606A1 (en) Method of transmitting data based on priorities in network
JP2022545435A (ja) メディアアクセスの改善のためのインターフェース並びに関連するシステム、方法及びデバイス
EP3599743A1 (en) Method and device for communicating data frames on a multi-master bus
US11853252B2 (en) Processing system, related integrated circuit, device and method
US11343359B2 (en) Data transmission and reception method in vehicle network, and apparatus for the same
US20230053564A1 (en) Processing system, related integrated circuit, device and method
CN108093028A (zh) 基于车辆网络中呈现时间再现内容的方法和装置
US7599391B1 (en) Media and speed independent interface
KR102313636B1 (ko) 차량 네트워크에서 시간 동기화를 위한 통신 노드의 동작 방법
WO2015024499A1 (zh) 一种序列传输、接收装置及方法
US9742701B2 (en) Attachment unit interfaces for non-identical data rate links
KR102250450B1 (ko) 네트워크에서 오류 검출을 위한 통신 노드의 동작 방법
KR102670789B1 (ko) Mipi a-phy rts 계층 설계 및 구현

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