数据总线用户以及用于同步数据总线用户的方法

文档序号:7781709阅读:739来源:国知局
数据总线用户以及用于同步数据总线用户的方法
【专利摘要】本发明描述了一种带有数据总线接口的数据总线用户(1),该数据总线接口具有:下行数据总线输入端(2),用于从上级数据总线用户(1)接收数据;和时钟发生器(6),用于产生用于数据总线用户(1)的内部时钟信号。数据总线用户(1)具有同步单元(7),用以使时钟发生器(6)与上级数据总线用户(1)的时钟信号同步,其中,同步单元(7)配置为用于检测在下行数据总线输入端(2)处所接收到的下行数据流(D)中的转变,用于根据检测到的转变来调整内部时钟信号的频率,并用于相对于检测到的转变设置该内部时钟信号的所限定的相位。
【专利说明】数据总线用户以及用于同步数据总线用户的方法
【技术领域】
[0001]本发明涉及一种带有数据总线接口的数据总线用户(Datenbusteilnehmer),该数据总线接口具有下行数据总线输入端,用以从上级数据总线用户接收数据,还具有时钟发生器,用以产生用于数据总线用户的内部时钟信号。
[0002]本发明还涉及一种用于同步这类数据总线用户的方法。
[0003]在数据总线用户之间传递和处理数据数据时经常出现数据总线用户的同步问题。在实际中,数据总线用户具有其自身的本地时钟发生器,而所述本地时钟发生器在根据全局时钟进行设置后也会随时间漂移。
【背景技术】
[0004]文献EP1253494B1提出了通过规定用于同步的时钟而将当前自由运行的处理周期不灵活地与现场总线系统的周期相耦合。为此,存在产生同步信号的同步信号生成装置,通过该同步信号使得现场总线系统的周期与控制和/或调整装置的处理任务相耦合。由此,在中央为所有连接的数据总线用户提供同步信号。
[0005]例如由DE29809721U1还可知,将同步信号在至少一个独立线路上并行地馈送给所有连接的用户。但是这需要一个单独的线路连接。另外还会产生传输时间延迟。
[0006]本地时钟发生器与全局同步时钟的同步也可由文献US5,661,700、DE19626287A1和 DE19831405A1 获知。
[0007]DE19751302A1公开了一种在主站点和分站点情况下进行通信控制的方法,其中,在不需同步信号线路的情况下,将用于主站点中的通信计时器的时间数据连同通信数据一起发送给分站点,由此实现将通信计时器同步。在发送命令数据之前从主站点发送时间数据。分站点的通信计时器将传输延迟校正数据添加至接收到的时间数据。由此补偿之前站点中的转发延迟。
[0008]DE102010000962A1公开了一种监控数据总线用户的频率信号的方法,所述数据总线用户通过串行外设接口 (Serial Peripheral Interface SPI)互相连接。SPI接口允许主机单元和不同的从机单元之间双向、同步和串行的数据传输。为此,在主机单元和与其相连的第一从机单元之间设置至少三条线路、即两条数据线路和一条时钟线路,以用于双向数据传输。当数据线路被用于根据数据线路的信号边沿(Flanke)生成时钟时,时钟线路不是必需的。应借助该时钟控制计数器,所述计数器可以与带有内部时钟的计数器进行比较。
[0009]在DE10148878B4中也提出了一种从卫星系统至评估单元的数据传输的发送时钟的同步,其中,被评估单元采集的卫星系统的发送时钟分别以评估单元的系统时钟为基础被同步。因此设置了中央评估单元的全局系统时钟,该全局系统时钟用于同步所有所连接的用户。

【发明内容】

[0010]基于此情况,本发明所要解决的技术问题是提出一种更优的数据总线用户以及一种更优的用于同步数据总线用户的方法,其中,在不需要提供中央系统时钟或同步时钟的情况下,能够在相互连接并且交换数据流的数据总线用户之间实现可靠和简单的同步。
[0011]所述技术问题通过根据本发明的数据总线用户以及同步这类数据总线用户的方法得以解决。
[0012]本发明还提供了优选的实施方式。
[0013]在开头所述类型的数据总线用户中提出,数据总线用户具有同步单元,用以使时钟发生器与上级数据总线用户的时钟信号同步。所述同步单元配置为用于检测在下行数据总线输入端处接收到的下行数据流中的转变(Transition),用于根据检测到的转变调整内部时钟信号的频率,以及用于相对于所检测到的转变设置内部时钟信号的所限定的相位。
[0014]本发明中的转变的含义是数据流中可用于使时钟发生器与上级数据总线的时钟信号同步的任何特征性的信号变化。实际中,这些转变优选是数字信号在切换时的信号边沿,该切换例如为从低信号电平到高信号电平,即由数字“O”切换到数字“I”或者相反情形。但是也可以利用其它特征性的信号模式,其信号时间点是可以用对于同步所需的精度来确定的。
[0015]由此识别出在下行数据流中的特征性信号切换,该下行数据流从上级数据总线用户转发给当前的数据总线用户,并且由此被该当前的数据总线用户接收。基于检测到的转变,然后相对于该检测到的转变设置内部时钟信号的所限定的相位。也就是说,下行数据流中的特征性信号切换的时间点给出用于将时钟发生器同步的基础,从而将检测到的转变时间点用作同步时间点,根据该同步时间点调整内部时钟信号的相位。
[0016]通过同步装置测量下行数据流中的转变相对于自身的时钟的相位,并这样调整自身的时钟的频率,使得时钟发生器频率能够尽可能精确地对应于隐含在下行数据总线信号中的时钟,并且在下行数据流中的边沿切换与本地内部时钟中的边沿切换之间形成所限定的相位。由此将在下行数据流中检测出的转变用作设置时钟发生器的内部时钟信号的同步信息。
[0017]与单独的同步报文或者同步线路相比,所提出的与来自上级数据总线用户的下行数据流有关的同步的优点是,更复杂系统的数据总线用户总是分别同步于其相邻的之前的数据总线用户,从而在网络内所有数据总线用户中,不依赖于接线并且在没有传输时间延迟引起的问题和没有单独的同步线路的情况下设置内部时钟的完全相同的频率。只是时钟之间的相位不再根据线路的传输时间以及数据总线用户的等待时间来限定。因为每个数据总线用户将其接收方的时钟同步于到达的数据流的边沿,而上级数据总线用户的发送方的时钟的相位不起作用,因此网络的数据总线用户的时钟的相位不相同并不造成问题。
[0018]特别有利的是,数据总线接口是双向的并且还具有上行数据总线输出端,用以将数据发送到上级数据总线用户。数据总线用户不仅配置用于在下行数据流中接收来自上级数据总线用户的数据,还用于在上行数据流中将数据发送(发回)到上级数据总线用户。至少每个上级数据总线用户具有一个相位校正单元,用以检测可以通过上行数据总线输入端从直接下级的数据总线用户接收的数据流中的转变,并根据该检测结果延迟上行数据流,从而相对于延迟后数据流的转变设置内部时钟信号的所限定的相位。相位校正单元例如可以借助于延迟线确定在上行数据总线输入端接收到的数据流的相位,并且将相位校正之后的数据流通过其上行数据总线输出端传输给上级数据总线用户。[0019]因为内部时钟发生器的时钟频率、即内部时钟信号的频率和相位已经根据第一下行数据流进行了设置,所以对于上行数据流而言不能再实现根据该上行数据流设置时钟发送器。由此替代性地提出,借助于相位校正单元,将在上级数据总线用户中、也即在接收方中接收的上行数据流整体延迟,从而在此也相对于上行数据流设置在根据下行数据流设置过的内部时钟信号之间的所限定的相位。因此,上级数据总线用户所接收的上行数据流同样也同步于下级数据总线用户所接收的下行数据流,并且上级数据总线用户和下级数据总线用户的时钟频率和相位彼此协调,用于将数据流的同步发送和接收同步。
[0020]上行数据流的延迟可以例如通过在上行数据流内插入延迟元件或者延迟数据来实现。如下情况是有利的:没有改变数据流,而是例如借助串联连接的延迟元件以电学方式对数据信号进行渡越延迟。这类延迟元件例如可以是FPGA(Field Programmable GateArray (现场可编程门阵列))内的查询表(LUT)或者ASIC(专用集成电路)内的门电路。同步单元和相位校正单元可以为单独的硬件电路。但是也可以考虑将同步单元和相位校正单元实现为在共同或者分开的硬件平台(例如微控制器、处理器或者FPGA)上运行的软件逻辑。
[0021]所述同步单元和/或相位校正单元优选配置为用于在90°至270°的范围中和优选大约180°的范围中设置所限定的相位。在此,应将所限定的相位设置为使得可以尽可能无错误地保证有用信号的扫描。在数据流内的串行数据传输中通常要注意边沿陡度、瞬变现象和相位跳跃,这使得不能紧接在信号转变之后进行信号扫描。因此,对串行数据信号最可靠的扫描在时间上正好位于高数据信号和/或低数据信号的接通与断开之间,也即正好位于数据字的转换时间点或者转变之间,这对应于180°的相位。
[0022]用于同步数据总线用户的方法通过与数据总线用户的构造相应的方式具有以下步骤:
[0023]-下级数据总线用户通过下行数据总线输入端从上级数据总线用户接收下行数据流;
[0024]-检测在下行数据总线输入端处接收到的下行数据流中的转变;
[0025]-根据检测到的转变将下级数据总线用户的时钟发生器的内部时钟信号同步,以及
[0026]-相对于检测到的转变设置同步后的内部时钟信号的所限定的相位。
[0027]对于上行数据流的同步,该方法优选具有如下步骤:
[0028]-数据总线用户通过上行数据总线输入端接收更下级数据总线用户的上行数据流;
[0029]-检测在上行数据总线输入端处所接收到的上行数据流中的转变;
[0030]-根据检测到的转变将该接收到的上行数据流延迟,从而相对于延迟后的上行数据流的转变设置同步后的内部时钟信号的所限定的相位,以及
[0031]-通过上行数据总线输出端向上级数据总线用户发送延迟后的上行数据流。
[0032]在延迟接收到的上行数据流之后,该接收到的上行数据流被与该数据总线用户同步,并且可被扫描和被该数据总线用户应用或继续处理。
[0033]在此尤其有利的是,没有在上行数据流内插入用于延迟该上行数据流的延迟数据,而是只是插入纯粹的电延迟元件、例如FPGA(现场可编程门阵列)内的LUT(查询表)。延迟元件可以是任何不改变数据流本身、而是通过“传输延时”(传输时间延迟)延迟数据流的硬件解决方案。应该有多个延迟元件可用,并且这些延迟元件的传输时间延迟应是基本相同的。
【专利附图】

【附图说明】
[0034]以下根据附图所示的实施例进一步阐释本发明。在附图中:
[0035]图1示出了由数据总线用户构成的网络的框图,作为阐释同步的草图;
[0036]图2示出了数据总线用户和上级数据总线用户的带有下行和上行数据流的框图。
【具体实施方式】
[0037]从图1可以看到由多个数据总线用户I构成的网络的框图。其中,设有对于所有其他数据总线用户I而言上级布置的主机,例如可编程逻辑控制程序SPS在该主机上运行。该主机可以是可编程逻辑控制器PLC,所述可编程逻辑控制器PLC以已知的方式应用于工业自动化过程或者家用自动化。
[0038]数据总线用户I在总线系统内互相连接成绳形或星形或其组合的形式。在一条绳上的每两个相邻的总线节点I之间存在两个单向的点对点连接,因此在相邻的数据总线用户I之间可以进行双向全双工通信。这通过指向下级数据总线用户I的、用于下行数据流D的箭头和指向上级数据总线用户I的、用于上行数据流U的箭头绘出。
[0039]对于在各个数据总线用户内对串行数据流进行可靠扫描来说必要的是,网络的数据总线用户I的时钟发生器被相互同步。为此,对于所有下级数据总线用户(所述下级数据总线用户分别具有一个上级数据总线用户,并且从该上级数据总线用户接收下行数据流D)设计有:这些数据总线用户I将其内部时钟分别同步于相邻的上级数据总线用户1,该相邻的上级数据总线用户比随后的数据总线用户I更靠近主机M。这在功能方面通过指向主机M方向的同步箭头表明。
[0040]在此,同步不像通常那样需要借助单独的同步信号,甚至也不需要借助单独的同步线路、像单独的箭头所假设的那样实现。相反,通过检测在数据总线用户的下行数据总线输入端所接收的下行数据流D内的转变来实现同步。
[0041]从图2可以看到两个直接相邻的数据总线用户1、例如从机SI和从机S2的框图。每个下级数据总线用户I具有用于下行数据流D的数据总线输入端2,用以从上级数据总线用户I接收数据流。另外,每个数据总线用户I具有上行数据总线输出端3,用以将上行数据流U发送到各自的上级数据总线用户。
[0042]另外,数据总线用户I通常还具有下行输出端4,用以向各自的下级数据总线用户I输出下行数据流。该下行数据流可以是在下行数据总线输入端2处所接收的并且未改变的下行数据流,其包含从主机M发给与主机M相连的从机Si (其中i = I至m或者n,其中i,m,n是整数)的报文。但是也可行的是,数据总线用户I在读取指向其的报文之后,将自身给随后的数据总线用户I的报文插入到在下行数据总线输入端2上接收的下行数据流D中。在下行数据总线输入端2处输入的、同步过的并且被扫描的数据流D要么在处理单元10中被读取并且不改变地直传,要么被改变并且然后转发。
[0043]通过相应的方式,数据总线用户I通常还具有上行数据总线输入端5,用以接收下级数据总线用户I的上行数据流U。在数据总线用户的序列的最后一个数据总线用户I中,可以省去下行数据总线输出端4和上行数据总线接收端5。可行的是,在那里,在数据总线用户I内部将下行数据输出端4直接与上行数据接收端5连接,由此形成环路。
[0044]可以看出,数据总线用户I分别具有时钟发生器6,该时钟发生器以已知的方式例如借助于石英构件和/或PLL回路(相位调整回路)或者其他方式来实现。
[0045]为了同步内部时钟发生器6而设有同步单元7,所述同步单元配置为用于检测在下行数据总线输入端2处接收的下行数据流D内的转变。
[0046]对此,所述同步单元7配置为用于测量串行下行数据流D中的转变相对于自身时钟的相位,所述测量借助于作为硬件的合适电路来实现,或者借助于合适的软件支持的信号处理来实现。在此,同步单元7优选配置为用于调整时钟发生器6的内部时钟信号的频率,从而使所述时钟发生器6的内部时钟信号的调整过的频率与下行数据流D内隐含的时钟频率精确对应。同步单元7还配置为相对于检测到的转变设置内部时钟信号的所限定的相位。由此,由时钟发生器6规定的时钟被如此设置,使得在下行数据流D中的信号边沿切换(Flankenwechseln)与自身的时钟信号之间形成所限定的相位,所述所限定的相位能够尽可能无错误地确保对下行数据流D的扫描。因此在90°至270°的范围中,优选在大约180° (±10%)的范围中设置该相位。在例如移相180°的情况下,正好可以在两个边沿切换之间的中部中以两个串联连接的寄存器9a、9b可靠扫描下行数据流D。
[0047]这是借助在两个数据总线用户I之间的下行数据流D中绘出的、带有交叠的(从高电平到低电平和反之的)信号切换的信号,并且借助在其下绘出的、带有在相对于转变T为180°情况下从低到高的边沿切换的时钟信号CLK来表明的。
[0048]所扫描的下行数据流D在处理单元10中要么被读取和未改变地直传,要么被改变并然后转发。接下来,数据流D通过最后一个寄存器9c与内部时钟同步地在下行数据总线输出端4上输出。在此对于通信很重要的一点是,在数据流D在下行数据总线输出端4上输出之前,其经过至少两个寄存器9a,%。通过这种方式,不仅更新了信号的电幅度,而且也更新了边沿的时序(Timing)。实际上,时序的更新不仅在下行上很重要,而且在上行上也是很重要的。
[0049]因此,网络中所有数据总线用户I都在其内部时钟发生器6处设置了完全相同的频率。只是时钟之间的相位不再根据线路上的传输时间以及数据总线用户I的等待时间来限定。对于串行的下行数据流D而言这不是问题,因为同步单元7使下行数据流的接收方的时钟同步于到达的输入数据流D的边沿,而上级数据总线用户I的发送方的时钟的相位在此不起作用。实际中,在串行上行数据流U上,以下行数据流D的与从上级数据总线用户I接收下行数据流D完全相同的频率将数据位传递给上级数据总线用户1、即左侧的邻居。在此,完全不基于在线路中的传输时间和数据总线用户I的等待时间来限定在上行数据流U的边沿与该上行数据流U的上级数据总线用户I的本地时钟之间的相位。
[0050]为了也能够在两个边沿切换之间可靠地读取上行数据流U,在数据总线用户I内设有相位校正单元8,所述相位校正单元例如通过测量来检测在接收到的上行数据流U的边沿切换与各个数据总线用户I的本地时钟之间的相位。相位校正单元配置为用于如此延迟由下级数据总线用户I接收到的上行数据流U,使得接下来恰好可以在边沿切换之间的中部扫描以上行数据流U传输的信号,并且将该信号同步于作为该上行数据流U的接收方的上级数据总线用户I的本地时钟。为了进行扫描,例如可以设有两个存储寄存器9d,9e,上行数据流U串行逐一顺序地穿过所述存储寄存器。
[0051]如图所示,对上行数据流U的延迟可以有利地通过动态插入延迟元件来实现。在此处,数据流U不会被改变,而是通过合适的逻辑元件被整体稍微延迟(传输时间延迟)。数据流信号由此引导穿过串联地相继连接的逻辑元件(例如LUT或缓冲器)。
[0052]在上行数据流U上,上行数据基于下级数据总线用户I与下行D的同步而已经以正确的频率被接收。仅相位必须通过相位校正单元8进行校正。为此,数据流通过数字逻辑元件链进行发送,这些数字逻辑元件不改变数据流,而仅是简单地转发。该转发以所使用的逻辑元件的传播延时来延迟。这类链也称作延迟线。可以根据在哪个链环节(逻辑元件)上分接数据流来设置确定的延迟。例如FPGA内的查询表LUT适于作为逻辑元件。
[0053]借助经过数据总线用户I的这样同步的网络能够实现无限长的数据流的无中断传输。不再需要如例如在以太网中那样对数据包进行拆分来在每个数据包情况下实现与前导(Praambel)的新的同步。由此,不再需要用于前导的带宽等,而且可在任意时间实现对传输介质的访问,因为不再必须首先发送前导。
[0054]另外,不再需要缓冲存储器、例如先入先出存储器或者任意类型的接收或发送缓冲器。为此,一方面将数据的渡越时间最小化,另一方面能够通过较小的硬件开销来降低成本。在所有数据总线用户中,数据处理由于用以供给数据总线用户的逻辑电路和处理器的同步过的时钟发生器而任务同步地并且根据任务精确确定地进行,直至较高的协议层中,部分地也直至软件实现的协议层中。
[0055]此外,在发送和/或接收时不再需要对串行数据流的过采样。由此,在数据总线用户I内无需比用于数据传输的波特率大的时钟频率。由此形成更小的损耗功率和更小的干扰辐射。通过更低的时钟率,也将用于FPGA(现场可编程门阵列)或ASIC(专用集成电路)形式的信号处理单元的开销和成本最小化。
[0056]另一个优点是,专用填充符(Fiillsymbole)或者无内容的数据位不再是必须的,其在其他实施方式中在必要时被插入数据流中或从数据流中剔除,用以平衡稍微不同的波特率。
[0057]相对于同样又更新信号的时序的其它解决方案而言,在直传下行和上行上的数据时的等待时间是极其小的。
【权利要求】
1.一种带有数据总线接口的数据总线用户(I),该数据总线接口具有 -下行数据总线输入端(2),用以从上级数据总线用户(I)接收数据,以及 -时钟发生器(6),用以产生用于所述数据总线用户(I)的内部时钟信号, 其特征在于, -所述数据总线用户(I)具有同步单元(7),用以使所述时钟发生器(6)同步于所述上级数据总线用户(I)的时钟信号,其中,所述同步单元(7)配置为用于检测在所述下行数据总线输入端(2)处接收到的下行数据流(D)中的转变,用于根据检测到的转变来调整所述内部时钟信号的频率,并且用于相对于检测到的转变设置所述内部时钟信号的所限定的相位。
2.根据权利要求1所述的数据总线用户(I),其特征在于,所述数据总线接口是双向的并且还具有用以从下级数据总线用户(I)接收数据的上行数据总线输入端(5),其特征还在于相位校正单元(8),该相位校正单元构建为用以检测在设计用于通过所述上行数据总线输入端(5)接收的上行数据流(U)中的转变并且用于根据检测到的转变延迟所述上行数据流(U),从而相对于延迟后的上行数据流(U)的转变来设置所述内部时钟信号的所限定的相位。
3.根据权利要求2所述的数据总线用户(I),其特征在于,所述相位校正单元(8)配置为用于将电延迟元件插入所述上行数据流(U)内以延迟所述上行数据流(U)。
4.根据权利要求1至3之一所述的数据总线用户(I),其特征在于,所述同步单元(7)和/或相位校正单元(8)配置为在90°至270°的范围中和优选在大约180°的范围中设置所述所限定的相位。
5.一种用于同步如前述权利要求中任一项所述的数据总线用户(I)的方法,其特征在`于 -下级数据总线用户(I)通过下行数据总线输入端(2)从上级数据总线用户(I)接收下行数据流⑶; -检测在所述下行数据总线输入端(I)处接收到的下行数据流(D)中的转变; -根据检测到的转变同步所述下级数据总线用户(I)的时钟发生器(6)的内部时钟信号;以及 -相对于检测到的转变设置同步后的内部时钟信号的所限定的相位。
6.根据权利要求5所述的方法,其特征在于 -数据总线用户(I)通过上行数据总线输入端(5)从下级数据总线用户(I)接收上行数据流(U); -检测在所述上行数据总线输入端(5)处所接收到的上行数据流(U)中的转变; -根据检测到的转变将该接收到的上行数据流(U)延迟,从而相对于延迟后的上行数据流(U)的转变设置同步后的内部时钟信号的所限定的相位;以及 -通过上行数据总线输出端(3)向上级数据总线用户(I)发送延迟后的上行数据流⑶。
7.根据权利要求6所述的方法,其特征在于,将电延迟元件插入所述上行数据流(U)来进行延迟。
8.根据权利要求5至7之一所述的方法,其特征在于,在90°至270°的范围中和优选在大约180°的范围中设置 将所述所限定的相位。
【文档编号】H04L7/00GK103701676SQ201310717644
【公开日】2014年4月2日 申请日期:2013年9月17日 优先权日:2012年9月17日
【发明者】D·杰罗尔姆 申请人:Wago管理有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1