CN103116322A - 微调可调振荡器以匹配 can 总线的方法及can 总线通信控制器 - Google Patents
微调可调振荡器以匹配 can 总线的方法及can 总线通信控制器 Download PDFInfo
- Publication number
- CN103116322A CN103116322A CN2012103572874A CN201210357287A CN103116322A CN 103116322 A CN103116322 A CN 103116322A CN 2012103572874 A CN2012103572874 A CN 2012103572874A CN 201210357287 A CN201210357287 A CN 201210357287A CN 103116322 A CN103116322 A CN 103116322A
- Authority
- CN
- China
- Prior art keywords
- bus
- tunable oscillator
- signal
- cycle length
- oscillator
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明披露了一种微调可调振荡器CAN总线的方法及CAN总线控制器。一种用于微调可调振荡器的周期时间以匹配以预定位时间运行的控制器区域网络总线(CAN总线)的方法,包括:确定在CAN-总线上传输的CAN帧中的第一信号和第二信号之间的可调振荡器的测量的周期数;使用测量的周期数以及每个位时间的标称周期数,确定关于可调振荡器的当前周期时间的信息;以及基于所确定的信息,微调可调振荡器的周期时间,以匹配以预定位时间运行的CAN总线。
Description
技术领域
本发明实施方式涉及访问CAN总线的方法以及用于微调可调振荡器以匹配以预定位时间运行的CAN总线的方法。
背景技术
CAN总线(CAN区域网络总线)系统,或者,一般来说,其中访问并使用共享介质传输数据的系统,要求所有访问介质或总线的节点遵循共同的时序方案。因此,CAN总线节点可以是控制例如机动车中的电子系统或子系统的电子控制单元(ECU)。为此,一些不需要分配共同时钟信号的系统,诸如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总线节点中,还可以使用传统通信控制器。
附图说明
在附图中示出了本发明的若干实施方式,在附图中:
图1a示出了CAN总线通信控制器的实施方式;
图1b示出了CAN总线信号和图1a的通信控制器的信号的示例性信号定时;
图2示出了用来确定可调振荡器的当前周期时间与期望的周期时间之间的偏差的实例;
图3示出了用于微调可调振荡器的周期时间以匹配以预定位时间运行的CAN总线的方法的实施方式;以及
图4示出了用于微调可调振荡器的周期时间的方法以及用于访问CAN总线的方法的另一实施方式的框图。
具体实施方式
图1a示出了用于以预定位时间运行的CAN总线4的CAN总线通信控制器2的实施方式。尽管CAN总线4被示出为2线总线,但是可选实施方式可以连接只具有一个或多个线的总线系统。
CAN总线通信控制器2包括访问单元6、可调振荡器8以及控制器模块10。访问单元6包括用于CAN总线4的信号线的端子12a和12b。访问单元6可以进一步耦合到可调振荡器8的输出14,以接收可调振荡器8的操作时钟信号。控制器模块10可以耦合至可调振荡器8,以确定关于可调振荡器8的周期时间或振荡数的信息以及微调或调节可调振荡器8。在一些实施方式中,控制器模块10可选地可以进一步耦合到访问单元6。
图1b的时序图在上部图中示出了CAN总线4上的信号16的实例,并且在下部图18中示出了可调振荡器8的连续周期时间(还称为振荡或时间量)数。根据预定位数20,即,用于在CAN总线上以及在可调振荡器8的标称周期时间(标称频率的倒数)传输单个位的时间,每个位时间20都对应于每个位时间20的标称周期数22。在图1a和图1b示出的实例中,仅仅作为一个实例,标称位数20被选择为对应于可调振荡器8的八个标称周期时间。
可调振荡器8的周期时间还可以表示为CAN总线规格中的时间量。在与每个位时间20相关的标称周期数22中,对CAN总线上的信号采样以收集关于是否在总线上传输显性位(0)或隐性位(1)的信息的采样时间,通过标称周期数22的一个特定周期时间的结束或开始来定义。对于图1中的实例,假设通过每个位时间20的标称周期数22的第五个周期的结束来给出采样时间24。尽管图1b仅示出了离散标记(tick),以说明在可调振荡器8的相关周期时间的结束或开始处的可能采样时间,采样还可以在可调振荡器8提供的信号的上升沿或下降沿来执行,或者在从可调振荡器8的振荡衍生的任何其他可重复的时刻来执行。
图1b示出了CAN总线的三个连续位时间20以及传输的信号序列0(显性位)、1(隐性位)和0。为了说明如何由具有错误频率或错误周期时间的振荡器引起位误差或误差,图形18示出了具有过长的周期时间的振荡器的输出。
在通信控制器2中,采样点或时间起源于可调控制器8的内部时钟信号18。出于以下考虑,示例性假设在第一位的传输的开始25处可调振荡器8与CAN总线信号16硬同步。如果由可调振荡器8提供或来源于可调振荡器的周期时间或时间量会准确地对应于标称周期时间或标称时间量,则第三位的采样将会在时间26a处以正确的定时发生,即,第三位时间的结束之前的三个标称时间量,换句话说,硬同步后的21个周期时间。
然而,根据图1b的下部图18的误微调的振荡器将会引起第三位的错误采样值,原因如下。采样时间起源于连接至CAN总线4的通信控制器2中或节点中的可调振荡器8。相对于在时间25处的硬同步来对周期时间或时间量的量进行计数。在该特定实例中,硬同步之后的振荡器的周期数为21,气味每个位时间的标称周期数(为8)的两倍加上每个位时间的标称周期数中的采样位置(为5)。不管可调振荡器8是否被误微调,硬同步之后的时间量的量限定了对信号采样的时间。采样时间26b对应于硬复位之后误微调的振荡器的二十一个周期时间。然而,此时,第四位已经在总线上传输,因此,在时间26b从总线采样得到的信号是错误的。在本实例中,将采样逻辑“1”而不是正确的结果“0”。总之,不精确的振荡器可以显著地增大总线上发生的误差数,甚至使得不能在总线上进行通信。
为了避免该问题,一些传统解决方案规定使用对标称周期时间具有小的偏差的高精度振荡器。例如,在传统CAN总线节点中使用的振荡器可以允许对其标称频率或者其相关标称周期时间(标称频率的倒数)仅具有0.3%的偏差。然而,这些高精度振荡器是昂贵的设备,并且仅可以实现为外部振荡器,即,为将被实现为CAN总线通信控制器或CAN总线节点的另外的设备或元件。相反,内部或片上振荡器比较廉价并且从通信控制器或CAN总线节点逻辑的硅或半导体材料来实施,并且可以具有较低的绝对精度。
通过使用控制器模块10,图1a的通信控制器2可以方便使用低精度可调振荡器来基于关于可调振荡器8的当前周期时间的信息来调节可调振荡器8。为此,控制器模块10使用CAN总线上的第一和第二信号的检测之间的测量或确定周期数以及每个位时间20的标称周期数22,确定关于可调控制器8的当前周期时间的信息。然后可以利用关于可调振荡器8的当前周期时间的信息来补偿可调振荡器8的误微调,即,当前周期时间对标称周期时间的偏差,以实现在正确时间的采样。为此,可以基于确定的信息来微调或调节可调振荡器8的周期时间。
根据一些实施方式,对标称周期数22的整数倍的偏差可以确定为关于可调振荡器8的当前周期时间的信息。在图1b中,例如,第三位的标称周期数22的整数倍为24。如果将第一信号选择为第一位的上升沿,并且如果将第二信号选择为第三位的下降沿,则在第一和第二信号的检测之间确定的可调振荡器8的周期数为20,其从周期数的标称整数倍(为24)偏差了四个周期时间。因此,所确定的偏差30为四个周期。
根据一些实施方式,仅在标称周期数22的整数倍对测量的周期数偏差大于预定容差值时才考虑确定的偏差或调节可调振荡器8。根据一些实施方式,该容差值可以是1,由于总线上的上升沿或下降沿的检测要求在两个连续周期时间对总线上的信号连续采样,因此给出了一个周期时间或时间量的固有不确定性。根据其他实施方式,可以仅在偏差大于或等于标称周期数的0.4%并且至少为1时调节可调振荡器8。即,预定容差值可以小于或等于标称周期数量的0.4%。当检测到1个周期时间以上的偏差时,这可能加快可调振荡器8的微调,然而,这是可接受的,这是因为标称周期时间对当前周期时间的偏差已经是可接受的。
在这方面,可以将测量的周期数对标称周期数22的整数倍的偏差理解为对标称周期数的任何可能的整数倍的最小出现偏差。这允许等待两个信号的检测之间的内部振荡器的任意数量的周期时间的空载时间,而不用关于期望在空载时间期间通过总线的位数的任何先验知识。
在其他实施方式中,当与图2中示出的标准的应用一起执行“测量的周期数”MODULO(取模)“标称周期数”的计算以评估计算结果时,可以微调可调振荡器8的周期时间。先前计算的结果主要在0和“每个位时间的标称周期数-1”之间,即,在本实例中,在0和7之间。当允许一个周期的容限值,即,当使用预定容限值1时,如果计算结果在第一个间隔34中,即,在2和每个位时间的标称周期数22的一半之间,则可以确定可调振荡器的周期时间太短。可选地,如果计算结果在第二个间隔36中,即,大于每个位时间的标称周期数22的一半且小于“标称周期数-2”,则可以确定周期时间太长。
换句话说,可以执行以下计算,以得到测量的周期数和每个位时间20的标称周期数22之间的偏差。设每个位时间的标称周期数为N且测量的周期数为M,则偏差D可以计算为D=M MODULO N。当D证明在间隔[2;N/2]中时,周期时间可能太短,即,关于当前周期时间的信息可以表明当前周期时间太短。因此,当D在间隔[N/2;N-2]中时,周期时间可能太长。
一般来说,关于可调振荡器的当前周期时间的信息可以是允许对是否需要调节或微调作出结论的任何信息。为此,可以确定其周期时间是太短还是太长的信息。可选地,偏差的周期数,即,先前定义的偏差D,可以用作关于可调振荡器的当前周期数的信息。
当确定周期时间太长时,可以通过控制器模块10来调节可调振荡器8,使得周期时间减小。可选地,如果发现周期时间太短,在可以调节可调振荡器8来提供较长的周期时间。
根据本方面的一些实施方式,可以通过预定值来执行可调振荡器8的周期时间的调节,而不管所确定的偏差数量如何。即,当发现周期时间太大时,可以调节周期时间减少预定数量。对于DOC(数控振荡器),可以通过诸如1、2、3或任何其他值的预定数字来执行调节。对于VCO(压控振荡器),可以通过提供至振荡器的电压的预定增大或减小来执行调节。在系统对单个实例的时钟速率的较大跳跃敏感时,这可以减小计算复杂度并提高系统稳定性。在利用单个中央时钟或单个可调振荡器来提供多个设备的操作时钟信号时,这可能特别适合。为此,可以另外地存在PLL(锁相环)或其他分频器或复用器,以为CAN总线节点或CAN总线通信控制器中的多个部件提供不同时钟。
为了达到可接受的容限(其在预定容限值以下的确定偏差),例如在循环内,一些实施方式可以多次执行调节和相关测量,直到满足了所需的可接受偏差。然而,其他通信控制器可以通过取决于所确定的偏差的变量值来调节可调振荡器8的周期时间,使得较大的确定偏差导致对周期时间的较大调节。
在其他一些实施方式中,只有在CAN总线上传输的位或信号的下降沿被检测为第一和第二信号。下降沿可以具有较小的相关抖动,因此,测量结果可以更可靠。
根据一些实施方式,用作测量的开始的第一信号可以与在消息开始处在总线上传输的帧开始符号相关,特别地,与CAN总线消息开始处的帧开始位相关,以进一步利用CAN总线消息的内部结构的先验知识。特别地,本发明的一些实施方式可以在执行第二信号(例如,CAN总线信号的第二下降沿)的检测之前等待内部振荡器的预定周期数,以确定有用的结果。鉴于对短空载时间(即,在两个检测之间等待了过少的周期时间)可能提供不了有用的测量的观察,这可以被使用,因为时钟或可调振荡器可以总是足够精确来提供零偏差。
另一方面,CAN总线消息可以具有可变长度,尽管期望使用可调振荡器的微调的大部分消息以快速达到一个结果。例如,一般的远程帧消息(RTR消息)短于含有有效载荷的消息,而甚至含有有效载荷的消息可以具有可变长度。
为了满足上述的两个要求,一些实施方式可以在检测第一信号之后,开始检测总线上的第二信号之前,等待可调振荡器的预定周期数。根据一些实施方式,等待的预定周期数可以是标称周期数的预定整数倍,以考虑在总线上传输的消息的属性。
在CAN总线通信控制器或节点的情况下,预定整数倍可以从11和24之间的范围选择,以满足先前的要求。根据一些实施方式,预定整数倍可以选择为23,这还允许使用CAN总线协议的最短的可能RTR和有效载荷消息用于微调,同时在这一约束下提供最大空载时间。考虑到总线上的所有允许有效载荷和RTR消息的最小长度以及CAN总线的位填充机制(在CAN总线消息中出现五个后续相同位之后,其自动插入一个交替位),由于为了确定地捕获总线上的另一下降沿,每个位的标称周期时间数的23倍是帧开始位之后可负担的最大空载时间,因此情况尤其是如此。
同样在CAN总线通信控制器的情况下,可以使用任意不同信号沿或任意信号作为第一信号以及任何相关可选空载时间,以微调可调振荡器来使CAN总线与预定位时间匹配。
图3是用于微调可调振荡器的周期时间以与以预定位时间运行的CAN总线匹配的方法38的实施方式的示意性框图。例如,图3中示出的方法可以由图1a的CAN总线通信控制器来执行,或者由CAN总线的节点的任何实施方式来执行。特别地,该方法还可以由在CAN总线节点中的可控逻辑电路(例如,CPU、FPGA等)上运行的软件来执行。
在测量步骤40中,在CAN总线上传输的CAN帧或消息中的在CAN总线上传输的第一和第二信号之间,确定可调振荡器的测量的周期数。即,第一和第二信号可以与同一CAN总线消息或CAN帧相关或包含于其中。为此,术语CAN总线消息或CAN帧可以被理解为构成根据协议细节在总线上传输的单个消息或帧的连续位数。例如,这些可以开始于识别两个连续消息或帧之间的空闲时间的多个位之后的帧开始位的传输。这些帧和消息的实例是RTR帧和含有有效载荷的帧。
在确定步骤42中,使用每个位时间的标称周期数和测量的周期数,确定关于可调振荡器的当前周期时间的信息。
在微调步骤44中,基于当前周期时间的确定信息微调或调节可调振荡器的周期时间以匹配以预定位时间运行的CAN总线。
先前,其间确定了测量的周期数的信号主要被定义为在CAN总线上传输的单个位的下降沿。然而,可选地,第一和第二信号还可以是在总线上传输的信号序列,或者在总线系统、共享介质、移动通信无线系统等上传输的复杂符号或任意符号或信号。
图4示出了用于微调可调振荡器的周期时间以与以预定位时间运行的CAN总线匹配的方法38的又一实施方式的框图。
在用于访问CAN总线50的方法中示出了方法38,所述CAN总线50可以由CAN总线通信控制器或CAN总线节点利用以建立并维持可靠通信。
在图4示出的实施方式中,用于微调可调振荡器的周期时间的方法使用测量步骤40中的下列子步骤,以确定测量的周期数。在第一确定步骤52中,检测在CAN总线消息的开始处在总线上传输的帧开始位的第一下降沿。在空载时间步骤54中,等待可调振荡器8的预定周期数。
在后续检测步骤56中,检测在总线上传输的信号的第二下降沿。在确定步骤58中,确定第一和第二下降沿之间的可调振荡器的测量的周期数。
在确定步骤42中,确定测量的周期数和每个位时间的标称周期数的整数倍之间的偏差。
在容限检查60中,检查所述偏差是否大于容限值。如果答案为“是”,则在调节步骤46中调节可调振荡器的周期时间,并重新进入微调周期时间的方法38。
如果容限检查60的答案为“否”,即,当周期时间在容限范围内并且不需要调节时,方法可以在此结束。
然而,图4进一步示出了使用方法38用来访问CAN总线的方法50的实施方式。用于访问CAN总线的方法50可以用于初始化CAN总线的CAN总线通信控制器或节点,并且在一旦成功地执行了初始化时,用于成功地保持对CAN总线的访问。
如上面已经提到的,为了成功地访问具有CAN总线通信控制器或CAN总线节点的CAN总线,可以重复用于微调可调控制器38的周期时间的方法,直到所确定的偏差小于容限值。
此时,CAN总线通信控制器或CAN总线节点可以从收听模式切换到主动发送模式,使得激活了节点或通信控制器的消息至总线的传输。
然而,根据图4中示出的用于访问CAN总线的方法50,仅当在CAN总线上的前一消息或最后一个消息的误差状态指示没有误差、应答误差或CRC误差时,才向CAN总线传输消息。为此,误差检查步骤62评估在CAN总线上传输的消息的误差状态。
如果误差检查步骤提供了肯定的结果,即,如果在总线上传输的最后一个消息的误差状态指示没有误差、应答误差或CRC误差,则结合了图4的方法的通信控制器或节点可以切换到传输模式,并且开始在传输步骤64中主动地在CAN总线上传输消息。可以执行误差状态的该评估,以检查总线是否在允许得出信号检查和振荡器微调成功的结论的状态。
在已经存在其他节点并且总线上的传输没有误差的情况下,该情况是显而易见的,并且节点或通信控制器可以切换到主动状态。然而,还可以接受应答误差和CRC误差,以避免在总线上只有一个另外的节点进行发送或传输时,结合了该方法的设备一直不能进入主动模式。如果情况是这样,则可以使用从另外的节点发送的消息来微调可调振荡器。然而,由于结合了消息的节点仍在只收听模式,因此将没有应答被添加到其他节点的个体消息。为此,应答误差不应当妨碍结合了图4中示出的方法的节点或通信控制器主动地向总线发送消息。
在可以由在总线上进行收听的节点检测的CRC误差的情况下,同样如此。由于仅总线上的剩余另一节点将不接收应答信号,因此其不会更新其发送帧缓冲器,并因此连续发送具有CRC误差的同一消息(即,其中冗余信息未嵌入有效载荷的消息)。为此,根据一些实施方式,含有CRC误差的帧也不应当妨碍进入主动模式以及在总线上这样传输消息。
然而,其余的CAN总线误差可能妨碍节点访问处于传输模式的总线。特别地,具有CAN总线误差代码1、2、4和5的误差可能妨碍节点访问总线。CAN总线误差#1表示形式误差,而CAN总线#2表示填充误差,即,发生了在CAN总线消息中有五个以上的连续相同位。误差代码#4和#5表示特殊位(显性或隐性)可能因为某些原因而不在总线上传输。如先前已经阐述的,误差代码0(没有误差)、3(应答误差)和6(CRC误差)可以是可接受的。
根据图4中示出的另一实施方式,当访问CAN总线的方法包括连续监控CAN总线上的消息的误差状态时,可以维持CAN总线的稳定操作。为此,在总线上出现了每个传输或帧之后,可以在步骤66(在该步骤中监控预定数量的连续消息的误差状态)中检查全局误差状态。当所有连续消息的误差状态指示误差时,发起CAN总线通信控制器或CAN总线节点的重新初始化。这可以避免与永久地以错误时序进行发送的其他节点的可能冲突,该错误时序在结合了图4中示出的用于访问CAN总线的方法的节点的可调振荡器的微调之外。然而,如果并不是所有连续消息的所有误差状态都指示误差,则传输可以进行。
以下示例性计算机代码的短序列示出了用于微调可调振荡器的周期时间的方法的另一实施方式及其特定的实施方式。
以下的主函数在所确定的周期数(承载在变量“rx_capture_time_ticks”中)内执行一些初始配置和后续循环,直到达到了1个周期时间的期望的偏差。随后,当评估产生相应的结果时,评估总线的误差状态,以开始主动地在总线上传输。
主程序进一步调用用于计算更多的数量(诸如空载时间(预定周期数))的子程序,这在以下进行了描述。
对于本领域普通技术人员来说,可以容易地推导各步骤的功能,并且使用公知的“//”来标记指示符,用源代码进行了进一步描述。
从主程序调用以下的程序,并主要用于计算这里使用的一些量,诸如关于在称为“微调”的函数中的当前周期时间的信息。
尽管已经主要相对于在CAN总线系统中的实施描述了上面的实施方式,但是本发明的方法或设备的其他实施方式还可以在依赖于到传输介质的共享访问的其他系统中实施。例如,这可以是无线电信系统,诸如UMTS(无线移动电信系统)、LTE(长期演进)、GSM(全球移动通信系统)、UMB(超宽带)、WLAN(无线本地局域网)、蓝牙等。此外,还可以在其他无线通信系统中来进行实施,例如,LAN、基于光纤和铜的网络等。
当在计算机或处理器上执行具有用于执行上述方法之一的程序代码的计算机程序时,实施方式还可以进一步提供该计算机程序。本领域技术人员将认识到,可以通过编程计算机来执行各上述方法的步骤。这里,一些实施方式还旨在涵盖程序存储装置,例如,数字数据存储介质,其是机器或计算机可读的以及编码机器可执行的或程序指令计算机可执行的,其中,所述指令执行上述方法的一些或全部步骤。程序存储装置可以是例如数字存储器、诸如磁盘和磁带的磁存储介质、硬驱动、或光学可读数字数据存储介质。实施方式还旨在覆盖被编程为执行上述方法的步骤的计算机或被编程为执行上述方法的步骤的(场)可编程逻辑阵列((F)PLA)或场可编程门阵列((F)PGA)。
说明书和附图仅示出了本发明的原理。因此,可以理解的是,尽管在这里并没有明确描述或示出,本领域技术人员仍能够设计体现了本发明的原理并且包括在本发明的精神和范围内的各种配置。此外,这里描述的全部实例主要旨在明确地仅用于教学目的,以帮助读者理解本发明的原理以及发明人用于推动现有技术的概念,并且被解释为不限制这些具体描述的实例和条件。此外,这里陈述本发明的原理、方面和实施方式的所有陈述以及其具体实例旨在包括其等替换。
表示为“用于…的装置”的功能模块(执行特定功能)应当理解为分别包括适于执行或执行某一功能的电路的功能模块。因此,“用于s.th的装置”还可以理解为“适于或适合于s.th的装置”。因此,适于执行某一功能的装置并不意味着这种装置必须执行该功能(在给定的时刻)。
附图中示出的包括标为“装置”、“用于形成…的装置”、“用于确定…的装置”等的功能模块的各元件的功能可以通过使用专用硬件(诸如“形成器”、“检测器”等)以及能够执行与适当的软件相关的软件的硬件来提供。当由处理器提供时,功能可以由单个专用处理器、由单个共享处理器或者由其中一些可以共享的多个单独处理器来提供。此外,术语“处理器”或“控制器”的具体使用不应当理解为专指能够执行软件的硬件,还可以具体包括但不限于数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)以及非易失存储器。还可以包括常规和/或定制的其他硬件。类似地,附图中示出的开关仅仅是概念性的。它们的功能可以通过程序逻辑电路的操作、通过专用逻辑电路、通过程序控制和专用逻辑电路的交互、甚至人工地来执行,由执行者选择的特殊技术根据上下文更具体地理解。
本领域技术人员应当理解的是,这里的任何框图表示体现了本发明的原理的说明性电路的概念图。类似地,可以理解的是,任何流程图、流程表、状态转换图、伪代码等表示可以基本上在计算机可读介质中表示并且由这种计算机或处理器执行的各处理,而不管是否具体示出了计算机或处理器。
此外,以下的权利要求因此结合在详细的说明书中,其中,每个权利要求本身可以作为单独实施方式。尽管每个权利要求本身可以作为单独实施方式,但是应当注意的是,虽然从属权利要求可以在权利要求中引用一个或多个其他权利要求的组合,但是其他实施方式也可以包括从属权利要求与每个其他从属权利要求的主题的组合。除非说明了不要某具体组合,否则本文提出了这种组合。此外,旨在还包括从属于任何其他独立权利要求的权利要求的特征,即使该权利要求不直接从属于独立权利要求。
还应当注意的是,在说明书或权利要求中公开的方法还可以由具有用于执行这些方法的各步骤中的每个的装置的设备来实施。
此外,应当理解的是,在说明书和权利要求中公开的多个步骤和功能不应被解释为具有特定顺序。因此,多个步骤和功能的公开不应将这些限定为特殊顺序,除非这样步骤或顺序由于技术原因是不可互换的。
此外,在一些实施方式中,单个步骤可以包括或者可以分成多个子步骤。除非明确地排除了,否则可以包括这种子步骤以及公开的单个步骤的一部分。
Claims (28)
1.一种方法,包括:
确定在控制器区域网络总线(CAN-总线)上传输的控制器区域网络(CAN)帧中的第一信号和第二信号之间的可调振荡器的测量的周期数;
使用所述测量的周期数以及每个位时间的标称周期数,确定关于所述可调振荡器的当前周期时间的信息;以及
基于所确定的信息,微调所述可调振荡器的周期时间,以匹配以预定位时间运行的CAN总线。
2.根据权利要求1所述的方法,其中,所述第一信号与在CAN总线消息的开始处传输的帧符号的开始相关。
3.根据权利要求1所述的方法,其中,确定所述测量的周期数包括:在检测所述第一信号后,等待所述可调振荡器的预定周期数。
4.根据权利要求3所述的方法,其中,所述预定周期数是所述标称周期数的预定整数倍。
5.根据权利要求4所述的方法,其中,所述预定整数倍等于或小于在所述总线上传输的消息的最小位数。
6.根据权利要求5所述的方法,其中,所述预定整数倍是选自11和24之间的范围的整数。
7.根据权利要求1所述的方法,其中,所述第一信号和所述第二信号是在CAN帧内传输的信号的下降沿。
8.根据权利要求1所述的方法,进一步包括:
当所述测量的周期数从所述标称周期数的整数倍偏差了大于预定容限值时,调节本地振荡器的周期时间。
9.根据权利要求8所述的方法,其中,所述预定容限值小于或等于所述标称周期数的0.4%。
10.一种用于微调可调振荡器的周期时间以匹配以预定位时间运行的控制器区域网络总线(CAN-总线)的方法,包括:
检测CAN总线消息中的在总线上传输的位的第一下降沿;
等待所述可调振荡器的预定周期数;
检测在所述总线上传输的位的第二下降沿;以及
确定在所述第一下降沿和所述第二下降沿的检测之间所述微调振荡器的测量的周期数;
确定所述测量的周期数和每个位时间的标称周期数的整数倍之间的偏差;以及
当所述偏差大于预定容限值时,调节所述可调振荡器的周期时间。
11.根据权利要求10所述的方法,其中,检测所述第一下降沿包括:检测在CAN总线消息的开始处在所述总线上传输的帧的开始的第一下降沿。
12.根据权利要求10所述的方法,其中,所述预定容限值小于或等于所述标称周期数的0.4%。
13.根据权利要求10所述的方法,其中,使用以下计算的结果来确定所述偏差(D):
D=MMODULON
其中,M=所述测量的周期数,而N=所述每个位时间的标称周期数。
14.根据权利要求10所述的方法,其中,调节所述周期时间包括将所述周期时间增大或减小固定值。
15.根据权利要求10所述的方法,其中,调节所述周期时间包括将所述周期时间增大或减小变化值,所述变化值取决于所确定的偏差。
16.一种用于访问控制器区域网络总线(CAN总线)的方法,包括:
重复根据权利要求10的用于微调可调振荡器的周期时间的方法,直到确定所述偏差小于或等于所述预定容限值。
17.根据权利要求16所述的方法,进一步包括:
评估在CAN总线上传输的消息的误差状态;
仅在所述误差状态指示没有误差、应答误差或CRC误差时,向所述CAN总线传输消息。
18.根据权利要求17所述的方法,进一步包括:
在向所述CAN总线传输消息的同时,确定预定数量的连续消息的误差状态;以及
当所有连续消息的所述误差状态都指示误差时
停止向所述CAN总线传输消息;以及
重复根据权利要求10的用于微调可调振荡器的周期时间的方法,直到所述偏差小于或等于所述预定容限值。
19.一种用于以预定位时间运行的CAN总线的控制器区域网络总线(CAN-总线)通信控制器,包括:
访问单元,包括用于CAN总线的信号线的一个或多个端子,所述访问单元适于检测在所述CAN总线上传输的CAN总线消息中的第一信号和第二信号;
可调振荡器,具有与所述访问单元耦合的输出端以为所述访问单元提供操作时钟信号;以及
控制器模块,耦合至所述可调振荡器,并适于使用在所述第一信号和第二信号之间的所述可调振荡器的测量的周期数和每个位时间的标称周期数,确定关于本地振荡器的当前周期时间的信息。
20.根据权利要求19所述的CAN总线通信控制器,其中,所述访问单元适于:
检测在所述CAN总线消息的开始处在所述总线上传输的下降沿作为所述第一信号;以及
在检测所述第一下降沿之后,检测在预定周期数的空载时间之后在所述总线上发生的第一下降沿作为所述第二信号。
21.根据权利要求19所述的CAN总线通信控制器,其中,所述控制器模块适于在所述测量的周期数从所述标称周期数的整数倍偏差了大于预定容限值时,调节所述本地振荡器的所述周期时间。
22.一种用于以预定位时间运行的控制器区域网络总线(CAN总线)的节点,包括:
CAN总线通信控制器,包括用于所述CAN总线的信号线的一个或多个端子;
可调振荡器,具有与所述通信控制器耦合的输出端以为所述通信控制器提供操作时钟信号;
控制器模块,耦合至所述可调振荡器的控制输入端以及所述CAN总线通信控制器的控制输入端,其中,所述控制器模块适于:
操作所述通信控制器,使得所述通信控制器监控所述CAN总线的所述信号线,以指示在所述总线上向所述控制器模块传输的CAN总线消息中的第一和第二信号的检测;以及
使用在所述第一信号和第二信号的检测之间的所述可调振荡器的测量的周期数和每个位时间的标称周期数,确定关于所述可调振荡器的当前周期时间的信息。
23.根据权利要求22所述的节点,其中,所述控制器模块适于在所述测量的周期数从所述标称周期数的整数倍偏差了大于预定容限值时,调节所述本地振荡器的所述周期时间。
24.根据权利要求23所述的节点,其中,所述控制器模块使用以下计算来得到所述偏差(D):
D=M MODULO N
其中,M=所述测量的周期数,而N=所述每个位时间的标称周期数。
25.根据权利要求23所述的节点,其中,所述控制器模块适于将所述本地振荡器的所述周期时间增大或减小预定值。
26.根据权利要求22所述的节点,其中,所述控制器模块进一步适于评估在所述CAN总线上传输的消息的误差状态,并且操作所述通信控制器,使得所述消息仅在所述误差状态指示没有误差、应答误差或CRC误差时传输到所述CAN总线。
27.根据权利要求22所述的节点,其中,所述控制器模块进一步适于操作所述通信控制器,使得:
在CAN总线消息的开始处在所述总线上传输的帧位的开始的下降沿被指示为检测的第一信号;以及
在所述可调振荡器的预定周期数的空载时间之后在所述总线上出现的第一下降沿被指示为检测的第二信号。
28.一种具有非易失介质上的程序代码的计算机程序,当所述计算机程序在计算机或处理器上执行时,用来执行用于微调可调振荡器的周期时间以匹配以预定位时间运行的控制器区域网络总线(CAN总线)的方法,包括:
操作通信控制器,使得所述通信控制器监控所述CAN总线的信号线,以指示在所述总线上向所述控制器模块传输的CAN总线消息中的第一信号和第二信号的检测;
使用所述第一信号和所述第二信号的所述检测之间的所述可调振荡器的测量的周期数和每个位时间的标称周期数,确定关于所述可调振荡器的当前周期时间的信息;以及
基于所确定的信息,微调所述可调振荡器的周期时间,以匹配所述预定位时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/241,592 US8542069B2 (en) | 2011-09-23 | 2011-09-23 | Method for trimming an adjustable oscillator to match a CAN-bus and a CAN-bus communication controller |
US13/241,592 | 2011-09-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103116322A true CN103116322A (zh) | 2013-05-22 |
CN103116322B CN103116322B (zh) | 2016-07-06 |
Family
ID=47828067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210357287.4A Active CN103116322B (zh) | 2011-09-23 | 2012-09-21 | 微调可调振荡器以匹配can总线的方法及can总线通信控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8542069B2 (zh) |
CN (1) | CN103116322B (zh) |
DE (1) | DE102012108958A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092587A (zh) * | 2014-07-22 | 2014-10-08 | 中国第一汽车股份有限公司 | Can网络位定时影响因素检测系统及其方法 |
CN111713076A (zh) * | 2018-02-21 | 2020-09-25 | 罗伯特·博世有限公司 | 用于总线系统的发送/接收装置的设备和方法 |
CN113760811A (zh) * | 2021-08-19 | 2021-12-07 | 武汉华中数控股份有限公司 | 数控系统多种现场总线的混联总线协议架构及其通信方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9419737B2 (en) * | 2013-03-15 | 2016-08-16 | Concio Holdings LLC | High speed embedded protocol for distributed control systems |
WO2014191788A1 (en) * | 2013-05-29 | 2014-12-04 | Freescale Semiconductor, Inc. | A network receiver for a network using distributed clock synchronization and a method of sampling a signal received from the network |
WO2014191785A1 (en) * | 2013-05-29 | 2014-12-04 | Freescale Semiconductor, Inc. | A network receiver for a network using distributed clock synchronization and a method of adjusting a frequency of an internal clock of the network receiver |
CA2888742C (en) | 2013-09-23 | 2015-09-15 | Jason G. Tatge | Farming data collection and exchange system |
JP6798280B2 (ja) * | 2016-11-29 | 2020-12-09 | 富士通株式会社 | 攻撃検知装置、攻撃検知方法、および、攻撃検知プログラム |
US11503024B2 (en) * | 2019-12-06 | 2022-11-15 | The Mitre Corporation | Physical-layer identification of controller area network transmitters |
EP3917100A1 (en) * | 2020-05-26 | 2021-12-01 | Nxp B.V. | Controller area network controller and transceiver |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5661700A (en) * | 1994-07-18 | 1997-08-26 | Allen-Bradley Company, Inc. | Synchronizable local clock for industrial controller system |
CN1496514A (zh) * | 2001-03-15 | 2004-05-12 | ����-��ϣ�ɷݹ�˾ | 用于同步多个ttcan总线的周期时间的方法和装置以及相应的总线系统 |
US7472216B2 (en) * | 2004-10-25 | 2008-12-30 | Timegalactic Ab | Variable oscillator for generating different frequencies in a controller area network (CAN) |
CN101960771A (zh) * | 2008-03-07 | 2011-01-26 | 罗伯特.博世有限公司 | 包括数据总线和多个连接在其上的用户节点的通信系统以及用于运行这样的通信系统的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10000303B4 (de) * | 2000-01-05 | 2011-09-29 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern |
CN100409175C (zh) * | 2001-03-15 | 2008-08-06 | 罗伯特-博希股份公司 | 在具有至少一个用户的总线系统中形成时钟脉冲的方法和装置,总线系统和用户 |
SE525273C2 (sv) * | 2002-01-07 | 2005-01-18 | Kvaser Consultant Ab | Distribuerat styr- och övervakningssystem |
DE102004022555B4 (de) * | 2004-05-07 | 2006-04-06 | Siemens Ag | Vorrichtung und Verfahren zum Synchronisieren einer Blinkerfrequenz mit einer Zentralblinkfrequenz |
DE102004062210B3 (de) * | 2004-12-23 | 2006-05-24 | Texas Instruments Deutschland Gmbh | Dualmodultaktversorgung für CAN-Kommunikationsmodul |
US7504902B2 (en) * | 2006-03-31 | 2009-03-17 | Silicon Laboratories Inc. | Precision oscillator having linbus capabilities |
DE102007011684A1 (de) * | 2007-03-09 | 2008-09-11 | Robert Bosch Gmbh | Verfahren, CAN-Bus-Treiber und CAN-Bus-System zur Rückgewinnung einer Taktfrequenz eines CAN-Busses |
TWI340882B (en) * | 2007-04-09 | 2011-04-21 | Novatek Microelectronics Corp | Real time clock integrated circuit and apparatus thereof |
DE102008042847A1 (de) * | 2008-10-15 | 2010-04-22 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Überprüfung eines frequenzmodulierten Taktgebers |
-
2011
- 2011-09-23 US US13/241,592 patent/US8542069B2/en active Active
-
2012
- 2012-09-21 DE DE102012108958A patent/DE102012108958A1/de active Pending
- 2012-09-21 CN CN201210357287.4A patent/CN103116322B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5661700A (en) * | 1994-07-18 | 1997-08-26 | Allen-Bradley Company, Inc. | Synchronizable local clock for industrial controller system |
CN1496514A (zh) * | 2001-03-15 | 2004-05-12 | ����-��ϣ�ɷݹ�˾ | 用于同步多个ttcan总线的周期时间的方法和装置以及相应的总线系统 |
US7472216B2 (en) * | 2004-10-25 | 2008-12-30 | Timegalactic Ab | Variable oscillator for generating different frequencies in a controller area network (CAN) |
CN101960771A (zh) * | 2008-03-07 | 2011-01-26 | 罗伯特.博世有限公司 | 包括数据总线和多个连接在其上的用户节点的通信系统以及用于运行这样的通信系统的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092587A (zh) * | 2014-07-22 | 2014-10-08 | 中国第一汽车股份有限公司 | Can网络位定时影响因素检测系统及其方法 |
CN104092587B (zh) * | 2014-07-22 | 2017-07-04 | 中国第一汽车股份有限公司 | Can网络位定时影响因素检测系统及其方法 |
CN111713076A (zh) * | 2018-02-21 | 2020-09-25 | 罗伯特·博世有限公司 | 用于总线系统的发送/接收装置的设备和方法 |
CN111713076B (zh) * | 2018-02-21 | 2021-12-31 | 罗伯特·博世有限公司 | 用于总线系统的发送/接收装置的设备和方法 |
US11424951B2 (en) | 2018-02-21 | 2022-08-23 | Robert Bosch Gmbh | Device and method for a transmitter/receiver device of a bus system |
CN113760811A (zh) * | 2021-08-19 | 2021-12-07 | 武汉华中数控股份有限公司 | 数控系统多种现场总线的混联总线协议架构及其通信方法 |
CN113760811B (zh) * | 2021-08-19 | 2024-01-02 | 武汉华中数控股份有限公司 | 数控系统多种现场总线的混联总线协议架构及其通信方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102012108958A1 (de) | 2013-03-28 |
US20130076451A1 (en) | 2013-03-28 |
US8542069B2 (en) | 2013-09-24 |
CN103116322B (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103116322A (zh) | 微调可调振荡器以匹配 can 总线的方法及can 总线通信控制器 | |
US11804919B2 (en) | High speed embedded protocol for distributed control system | |
US8391318B2 (en) | Communication system including a data bus and multiple user nodes connected thereto, and method for operating such a communication system | |
US7430261B2 (en) | Method and bit stream decoding unit using majority voting | |
US7979730B2 (en) | Method and device for synchronizing cycle time of a plurality of TTCAN buses based on determined global time deviations and a corresponding bus system | |
US7920587B2 (en) | Method for establishing a global time base in a time-controlled communications system and communications system | |
US8566632B2 (en) | Multi-rate sampling for network receiving nodes using distributed clock synchronization | |
KR102148943B1 (ko) | 프로그래머블 컨트롤러 시스템, 그 컨트롤러 | |
EP3849145A2 (en) | High speed embedded protocol for distributed control system | |
JP7401656B2 (ja) | クロック・ソースを選択するための方法、装置、及びシステム、並びに記憶媒体 | |
US10042383B2 (en) | Navigation system and mouse device | |
CN112162591B (zh) | 具有多个处理器的电子装置及其同步方法 | |
KR20210026528A (ko) | 차량 내 통신 장치 및 그의 시간 동기화 방법 | |
US9442511B2 (en) | Method and a device for maintaining a synchronized local timer using a periodic signal | |
EP3005605B1 (en) | A network receiver for a network using distributed clock synchronization and a method of adjusting a frequency of an internal clock of the network receiver | |
US8897289B2 (en) | Node system and supervisory node | |
CN111740799B (zh) | 一种用于以太网分布式节点的平滑同步方法 | |
CN115314143A (zh) | 多模组计算平台时钟同步系统、方法、电子设备及介质 | |
Yalçın | Clock synchronization algorithms on a software defined can controller: Implementation and evaluation | |
CN116388913A (zh) | Rtc时钟自校准方法、电子设备及存储介质 | |
Lisner | A Fault-Tolerant Dynamic Time-Triggered Protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |