用于传输数据的方法和系统的制作方法

文档序号:7675973阅读:131来源:国知局
专利名称:用于传输数据的方法和系统的制作方法
技术领域
本发明涉及一种用于在彼此串联连接的模块之间、尤其是在测量 设备模块之间进行实时数据传输的方法和系统。
技术背景现场总线(Fieldbus)或者过程网络用于在执行器和传感器之间 进行实时数据传输,尤其是在自动化技术领域。在此,数据必须经过 现场总线在确定的时间段内可靠地转发,这样现场总线对数据传输的 滞后时间提出了高的要求。越来越多地,以太网也被用作现场总线, 其中力求实现来自TCP/IP协议系的数据传输协议的广泛的应用。以太 网标准定义了各种不同的数据传输速度,例如具有数据传输速度为 10Mbit每秒、100Mbit每秒和1Gbit每秒的以太网。此外存在数据经 由无线电无线地传输的以太网络。对于这些以太网协议来说,物理的 数据传输和协议层的去耦合是共同的,所述协议层说明各个数据包如 何被组合。物理的数据传输通过半导体IC电路和相互连接的装置或模 块的相应的布线来实现。协议层对于所有传输类型来说是相同的。在 以太网情况下协议层又包括各种不同的数据传输协议例如TCP/IP、 FTP、 HTTP。通常,微处理器相应于所希望的数据协议地组合数据包并 且将其发送给物理的数据传输单元。在实时数据传输领域,尤其是在 用于控制机器或设备的工业领域中的测量数据获取中,该测量数据获 取依赖于数据传输的可预测性,以太网作为传输介质迄今还没有进一 步推广。由于交换器和TCP/IP或UDP协议的应用,以太网在实时能力 方面是不太确定的并且具有比传统的现场总线系统大的不稳定性。图1示出了按照现有技术的以太网拓朴。这里,多个测量仪器MG 经过以太网交换器被连接到数据处理单元如PC。以太网交换器为多路 复用器,其分析在以太网上的数据并相应地进行转发。当多个测量仪 器同时在向PC的方向发送数据时,会导致冲突,以太网交换器仅仅能 够部分地平衡这种冲突。这里,不能保证,从测量仪器MG向以太网交 换器传输的测量数据在第一次数据传输尝试时就能到达该PC。在出现冲突时,数据重新从测量仪器MG被发送。这里,在数据在测量仪器MG 中形成和所述数据到达该PC之间产生未知的延迟时间。该未知的延迟 时间取决于,多少个测量仪器MG被连接到以太网交换器上并且单个的 测量仪器MG在不同的时刻具有何种数据输入。因为可能需要通过测量 仪器MG重新发送数据,因此测量数据还必须被中间存储。图l中所示 的星形的拓朴还具有布线花费相对较大的缺点。在用于传输实时数据的传统以太网数据传输系统中通过这样的方 式来避免冲突,即PC在所谓的握手过程中请求单个测量仪器MG的实 时数据或测量数据。为此,在各种不同的测量仪器MG中,设置相应的 数据存储器和相应的数据管理装置。但是按照握手方法的数据传输的 缺点在于,由以太网所提供的带宽不能被完全地利用,因为数据是从 PC发送至测量仪器MG,或者反过来数据从测量仪器MG向PC发送。所 述数据因此在半双工运行中传输。这导致,数据传输时间或运送时间 在这样的传统以太网现场总线系统中不是最小的,并且强烈取决于所 连接的测量仪器MG的数量。实时要求尤其是例如数据传输时间的可预 测性和短的滞后时间,在这种传统的以太网系统中不能得到满足。发明内容因此,本发明的任务在于实现一种用于实时数据传输的方法和系 统,其具有在数据传输时最小化的滞后时间。按照本发明,该任务通过具有权利要求1中所给出的特征的方法 来解决。本发明实现了用于在彼此串联连接的模块之间传输数据的方法, 其中,模块的有用数据分别嵌入由所连接的模块所接收的数据包(帧) 中,所述数据包具有唯一的数据包号(帧号),如果根据该数据包号 (帧号)构成的比较值与设置在模块中的识别号(帧ID) —致的话。本发明方法的优点在于,相比于图1所示的星形结构最小化布线 花费。本发明方法的另外的优点在于数据传输的可预测性,也就是说, 在数据传输中出现的滞后时间的不稳定极小。因此,本发明的方法具有带有可预测滞后时间的确定性特性,其 中不稳定性是极小的并且优选在IO微秒以下。在本发明的方法的一个有利的实施形式中,比较值通过数据包号(帧号)与可配置的掩码值(帧掩码)的逻辑组合来构成。这具有优点,即通过掩码值(帧掩码)和识别号(帧号)的适当 选择可以调节由模块所传输的数据的周期性。按照本发明的方法的有利的实施形式,将数据包号(帧号)与掩 码值(帧掩码)逻辑"与"连接。根据本发明的方法的代替的实施形式,比较值通过所接收的数据 包的数据包号本身构成。在本发明的方法的另一个实施形式中,在这些模块中分别存储至 少一个识别号。在本发明的方法的另一个实施形式中,在这些模块中分别存储至 少一个掩码值(帧掩码)。在本发明的方法的一个有利的实施形式中,将模块的有用数据作为数据报(Datagramms)、尤其是XCP-数据报的有用数据嵌入所接收 的数据包中。在本发明的方法的一个有利的实施形式中,只要有用数据在该模 块中可利用,就将有用数据通过该模块分别嵌入所接收的数据包中用 于产生扩展的数据包。在本发明的方法的一个有利的实施形式中,仅当在所接收的数据 包中包含的标识符或称标识位被置位时,才将有用数据通过该模块分 别嵌入所接收的数据包中用于产生扩展的数据包。在本发明的方法的一个有利的实施形式中,将所述被扩展的数据 包发送给连接在该模块之后的同类型的模块。在本发明的方法的一个有利的实施形式中,有用数据由测量数据 构成。在本发明的方法的一个有利的实施形式中,彼此串联连接的模块 构成模块链,该模块链被连接在数据处理单元例如PC上,数据处理单 元处理在数据包中传输的数据。在本发明的方法的一个有利的实施形式中,模块链的离数据处理 单元最远的模块具有数据包发生器,该数据包发生器周期地产生不包 含有用数据的空数据包。这里,调节最后一个模块的数据包发生器用来产生空数据包的频 率f吣使得该频率高于或等于相应的模块链的所有模块的最大测量数据率。在本发明的方法的一个有利的实施形式中,通过该数据包发生器 产生的数据包分别具有带有该数据包的唯一数据包号的管理数据(标 题数据)。这里,数据包发生器优选将所产生的空数据包连续地编号。 在本发明方法的有利的实施形式中,该模块链的模块彼此同步。 在本发明方法的有利的实施形式中,数据包全双工地通过传输介 质传输。在本发明方法的有利的实施形式中,数据处理单元将数据包传输 给模块链的模块,这些数据包包括输出数据或调节数据作为有用数据。在本发明方法的有利的实施形式中,模块链的每个模块借助由数 据处理单元通过该模块接收的数据包的管理数据识别用于该模块的数 据包,并且将包含在数据包中的有用数据输出耦合。在本发明方法的特别有利的实施形式中,所传输的数据包由以太 网数据包构成。在本发明方法的有利的实施形式中,传输介质由100MB以太网线 缆构成。本发明还实现了一种用于在彼此串联连接的模块之间传输数据的 实时数据传输系统,其中,每个模块将其有用数据嵌入由连接在前面 的模块所接收的数据包(帧)中,所述数据包具有数据包号(帧号), 如果根据该数据包号构成的比较值与设置在该模块中的识别号(帧ID) 一致的话。本发明还实现了一种用于实时数据传输的模块,其中模块将其有 用数据嵌入由连接在前面的模块所接收的数据包(帧)中,所述数据 包具有数据包号(帧号),如果根据该数据包号(帧号)构成的比较 值与设置在该模块中的识别号(帧ID) —致的话。在本发明的、用于实时数据传输的模块的一个有利的实施形式中, 该模块具有连接到连接在前面的模块上的第一收发机和用于连接到连 接在后面的模块上的第二收发机,以及FPGA单元(现场可编程门阵列)。在此,模块的FPGA单元优选具有逻辑单元,该逻辑单元将所接收 的数据包的数据包号(帧号)与配置的掩码值(帧掩码)进行逻辑组 合以产生比较值。在本发明的、用于实时数据传输的模块的一个有利的实施形式中,模块的FPGA单元具有用于存储所属的、能配置的掩码值(帧掩码)的 第一寄存器和用于存储所属的、能配置的识别号(帧ID)的第二寄存 器。在本发明的、用于实时数据传输的模块的一个有利的实施形式中, 设置在FPGA单元中的逻辑单元将所存储的掩码值(帧掩码)按位地与所接收的数据包的数据包号(帧号)进行逻辑"与"组合以产生比较值。在本发明的、用于实时数据传输的模块的一个有利的实施形式中, FPGA单元具有比较单元,比较单元将由逻辑单元产生的比较值与所存 储的识别号(帧ID)进行比较。在本发明的模块的一个有利的实施形式中,FPGA单元具有计算单 元,该计算单元通过第一介质访问控制器(MAC)连接到第一收发机上, 并且通过第二介质访问控制器(MAC)连接到第二收发机上。、此外,还参照附图描述了本发明的方法和本发明的实时数据传输 系统以及本发明的用于实时数据传输的模块的有利的实施形式,以阐 述发明本质的特征。


示出了图1 按照现有技术的以太网现场总线系统; 图2 本发明的、具有多个彼此串联连接的模块的实时数据传输 系统的可能的实施形式的框图;图3 本发明的、用于实时数据处理的模块的可能的实施的框图;图4 用于说明本发明的实时数据处理系统的功能的框图;图5 用于说明在本发明的方法的优选实施形式中所使用的、用于传输测量数据给数据处理单元的以太网数据包的数据图;图6 用于说明本发明的、实时数据传输的时隙方法的数据图; 图7 本发明的、用于在彼此串联连接的模块之间进行数据传输的方法可能的实施形式的流程图;图8A, 8B, 8C 在本发明的用于实时数据传输的方法中用于说明时隙分配的例子;图9 按照本发明的方法的、针对五比特宽的掩码值的时间片分 配的可能的实现方式的例子;以及图10 图9中所示的掩码值的选择,用于说明在按照本发明的用 于实时数据传输的方法进行时间片分配时对周期性的调节。
具体实施方式
由图2可以看出,本发明的实时数据传输系统1包括至少一个可 连接到由模块3构成的模块链4上的数据处理单元2。模块链4包括N 个彼此串联连接的模块3。模块3涉及提供实时测量数据的任意的模块 或测量仪器。这些模块3通过线缆5彼此链接,其中模块链4的第一 模块3-1通过线缆5-1连接到数据处理单元2。数据传输介质或者线缆 5-i涉及任意的数据传输线缆。在代替的实施形式中,在模块之间无线 地进行数据传输。在图2所示的实施形式中,每个模块3包含两个用 于数据传输的收发机PHY。每个模块还包含FPGA单元(FPGA:现场可 编程门阵列)。收发机PHY优选涉及用于传输以太网数据包的收发机。两个以太 网收发机之一在至数据处理单元2的方向上连接到模块链4的相邻模 块上。在另一个以太网收发机上可连接用于扩展模块链4的另一个模 块。模块链4可以任意地扩展。此外,模块链4可以构建为或连接到 任意的网络拓朴。数据处理单元2通常是PC。数据处理单元2或者说主单元具有对 由模块3构成的仪器集合的访问权,所述仪器集合从主单元2的角度 看为具有MAC地址的以太网仪器。数据包在模块3之间和在模块链4 与数据处理单元2之间全双工地、即在两个相互独立的通信方向上传 输。模块链4的最后的模块3-N周期地产生空的数据包。为此,最后 的模块3-N的FPGA单元包括数据包发生器,它周期地产生不包含有用 数据的空数据包。这些数据包仅仅包含管理数据(标题数据)和数据 包的各自唯一的数据包号。在有利的实施形式中,时间片或称数据包 在数据包上被连续编号,使得在16比特宽的数据包号情况下得到在0 至65. 535之间的数据包号。数据包发生器产生数据包号的频率优选是 可调的。这里,调节由最后的模块3-N的数据包发生器产生空数据包 的频率fFe,使得该频率等于或高于在模块链4的模块3中出现的最高 的测量数据率。在每个时间片,由数据包发生器产生无有用数据的空的以太网数据包。所产生的数据包从模块链4的最后的模块3-N在至数据处理单元2 的方向上经过下一个同类型的模块3- (N-1)传输。所传输的数据包 具有唯一的数据包号(帧号)。该下一个模块根据该数据包号形成比 较值,并且检验所形成的比较值与也设置在模块3- (N-1)中的识别 号(帧号)是否一致。如果是一致,在该模块中可利用的实时数据被 嵌入所接收的数据包中用于产生扩展的数据包,而所述数据包被发送 给后面的模块。模块链4独立地向外传输这样形成的扩展的数据包, 这些数据包例如由PC2接收,而无需模块链4从PC2获得控制指令。 从模块链4的角度,数据接收信号路径与完全与数据发送信号路径无 关,并且由此提供其整个带宽例如用于传输调节控制信号给模块链4 的相应的模块3利用。因为模块3发送无需请求就传送给数据处理单 元2的实时数据,因此在本发明的模块3-i中无需数据存储器并且由 此也无需相关的存储器管理。分别存在于这些模块3中的逻辑优选通 过FPGA单元(FPGA:现场可编程门阵列)来实现。由此,实现了用于 数据传送的最小化的滞后时间。模块链4的每个模块3由至少一个第 一和第二收发机3A、 3B以及由FPGA单元3C组成。图3示出了本发明的模块3内的FPGA单元3C的有利的实施。模 块3-i具有用于连接到连接在后面的模块3i-l的端子6和用于连接到 连接在前面的模块3i+l的第二端子7。这两个端子6和7经过变压器8、 9连接到设置在模块3中的两个 以太网收发机3A、 3B。收发机3A经过端子6在至数据处理单元2的方 向上被连接,而收发机3B经过端子7连接到模块链4的另外的连接在 前面的模块3上。在模块3的FPGA单元3C中设置有两个介质访问控 制器(MAC)IO, 11。介质访问控制器IO、 ll控制对传输介质的访问。 为此,两个介质访问控制器10、 11分别连接到以太网收发机3A、 3B 上。在这两个介质访问控制器10、 ll之间设置有用于将有用数据去耦 输出的数据输出耦合单元12和用于将有用数据耦合输入的数据嵌入单 元13。从介质访问控制器10来的数据包由数据输出耦合单元12不变 地引导向介质访问控制器11。在数据输出耦合单元12中存在FIF0数 据存储器,其可以用于中间存储所述从介质访问控制器10来的数据包。 在数据输出耦合单元12中的帧解析器(XCP)分析所接收的数据包并且取出针对模块3的有用数据。例如,XCP-帧解析器将嵌入到接收的 以太网数据包中的XCP-数据报去耦输出,并且将其存储在输出中间存 储器14中。说明哪些XCP-数据报被分配给哪些模块3的标准或称参数, 由FPGA单元3C的微处理器19经过内部的接口 INT通知给数据输出耦 合单元12。微处理器19例如为Altera公司的NIOSII处理器。NIOSII 处理器19在此将承担所有主要的配置任务。由数据输出耦合单元12 去耦输出的有用数据被中间存储在输出中间存储器14中,并且接着通 过模块3的数据输出接口 15输出。在介质访问控制器10和介质访问控制器11之间还设置有数据嵌 入单元13。由介质访问控制器11提供给数据嵌入单元13的数据包由 在数据嵌入单元13内的帧解析器(XCP)分析。只要有用数据或测量 数据存在并且满足其它的标准,则将有用数据通过数据嵌入单元13嵌 入所接收的数据包中或附加于该数据包后。当根据数据包号(帧号) 构成的比较值与设置在模块3i中的识别号(帧ID) —致时,模块3i 将其有用数据嵌入由连接在前面的模块3i + l所接收的数据包或者数 据帧中。经过数据接口 16嵌入的有用数据被中间存储在有用数据中间 存储器17中,并且在比较值与数据包号一致时被附加到相应的数据包 后或嵌入其中。FPGA单元3C还包括数据包发生器18,该数据包发生器18可以经 过包含在其中的、作为对收发机3B的代替的多路复用器连接到介质访 问控制器11上。仅仅在模块链4的最后的模块3-N中接入数据包发生 器18,也就是说在图3中所示的多路复用器在数据包发生器18内被转 换。模块链4的最后的模块3-N的介质访问控制器11因此不再通过端 子7从外部获得数据包,而是获得由最后的模块3-N的数据包发生器 18产生的数据包。数据包发生器18产生不包含有用数据的空的数据 包。这些数据包分别只包含管理数据或者说标题数据,并且以可调节 的频率由最后的模块3-N的数据包发生器18产生。包含在空数据包中 的管理数据包括唯一的数据包号,该数据包号优选连续地编号。数据 包发生器18优选由NIOSII处理器19来配置。数据包发生器18在此 优选周期地产生完整的、不包含有用数据的UPD-IP-以太网帧。模块3除了 NIOSII微处理器19还包含用于连接数据存储器21的 存储器控制装置20。在有利的实施形式中,为了同步而将同步单元22和23以及同步控制装置24连接到时间模块25。微处理器19经过内部 的接口 INT与数据输出耦合单元12以及数据嵌入单元13的两个介质 访问控制器10、 11相连接。图4示意性示出了本发明的实时数据传输系统的主要的组件。每 个模块3分别具有数据输出耦合单元12和数据嵌入单元13。仅仅在模 块链4的最后的模块3-N中激活数据包发生器18-N。数据包发生器18-N 以预先给定的频率周期地产生无有用数据的空数据包。图5示出了本发明方法的有利的实施形式中的、在如图4中所示 的模块链4的不同位置上的UPD/IP以太网数据包的结构。在各个方框 所说明的数字说明了各个数据比特字段的比特宽度。如在图5A中所示的,数据包发生器18-N产生在那里所示的没有 有用数据内容的UPD/IP-数据包。这样的数据包或者数据帧(帧)由以 太网-信息(Pre、 S0F、 DA、 SA、类型和CRC) IP标题或称IP管理数 据、和UDP标题或称UDP管理数据组成。以太网数据包的结构例如在 www, rcf.net下在对于IP的标准IEEE802. 3或者RFC791以及对于UDP 的RFC768中说明。IP管理数据包括16比特的数据包号(帧ID)。例 如在每个通过数据包发生器18-N新产生的数据包中,数据包号递增1。由此,数据包号被连续地编号,其中不同的数据包的数量大得使 数据包号分别唯一地被分配。数据包发生器18-N产生空数据包的频率 优选可通过模块的处理器19来调节并且例如为10千赫。数据包发生 器18-N产生空数据包的频率f^至少与模块链4内的最高测量数据率 一样高。所调节的频率f^说明了两个数据包或帧之间的时间间隔。有 用数据的数量取决于该选择或者该频率fw,该数量可以由在模块链4 内的模块3附加到数据包后或嵌入其中。在两个数据包或者其周期之 间的时间距离计算如下T顿=l/fFG在该时间期间,在100M比特的以太网中,可以以每比特10纳秒 的位持续时间最大传输下列数量的位,包括IP/UDP标题在内每帧的位阻=如由数据包发生器18-N产生的空数据包包括设置在两个数据包之间的空隙IFG (帧间空隙)在内由528个比特构成。为了传输单个的、 非受控于时间的数据包,在两个数据包或帧之间预留时间,例如用于 传输1000比特。由此,得到可以被附加到帧后或者附加到数据包后的 有用数据位的最大数量有用位組-每帧的位隨-528-1000这意味着,当将所有的被附加或嵌入的有用数据或由模块链4的 模块3附加到所产生的数据包后的XPC-数据报的位的数量加起来时, 其和不允许超过上面说明的有用位_。在本发明的数据传输系统中, 这通过在模块3中适当地选择掩码值和识别号来保证。在本发明的方 法的有利的实施形式中,只有在所接收的数据包中识别符被置位时, 有用数据才通过模块3分别嵌入到所接收的数据包中以产生扩展的数 据包。所述标识符优选通过在IP标题的TOS字段中的位构成。该位是 在IP标题的TOS字段中的所谓的延迟位。借助该标识符或者被置位的 延迟位,连接在后面的模块3的数据嵌入模块13区分所接收的数据包 是用于容纳测量数据的数据包还是其它以太网数据包,如由微处理器 19产生的以太网数据包。随着每个数据包的产生,数据包发生器18-N 将在ID数据字段中的值增加1并且自动计算校验和数据字段一标题CS 和CRC。这样产生的数据包在其直到数据处理单元2的路径上经历了设置在模块链4中的模块3的所有数据嵌入单元n-i。图5B示出了有用数据在所接收的数据包中的嵌入或附加。每个数 据嵌入单元13包括用于存储可配置的掩码值(帧掩码)的第一寄存器 和用于存储可配置的识别号(帧ID)的第二寄存器。两个值优选具有 16比特的位宽。在本发明方法的有利的实施形式中,当下列三个条件被满足时, 接收数据包的测量数据由模块3嵌入或附加首先,由数据嵌入单元13检验有用数据或网络数据是否在模块3 上可利用或者存在。接着,数据嵌入单元13检验所接收的数据包中的标识符是否被置 位。为此,数据嵌入单元13例如检验在所接收的数据包的IP标题的 TOS字段中的延迟位是否被置位。接着,数据嵌入单元执行在所接收的数据包中接收的数据包号(帧 号)与所存储的掩码值的逻辑组合,以产生比较值。优选将该数据包号(帧号)与该掩码值进行逻辑"与"组合以形成比较值。(帧掩码)与(帧号)=帧ID' 接着,将由此形成的比较值帧ID'与存储在该模块中的识别号(帧 ID)进行比较,并且检验这两个值是否一致。如果逻辑运算产生的比 较值帧ID'和存储在该模块中的识别号(帧ID) —致,则将模块3的 可利用的有用数据附加到待接收的数据包后或嵌入其中,以产生扩展 的数据包。如图5B所示,有用数据优选作为完整的XCP数据包被嵌入以太网 数据包中。XCP数据报由字段LEN、 CTR; PID、 FILL、 DAQ以及有用数 据(data)组成。数据嵌入单元13还实时地计算在IP标题中的字段 总长度、标题CS的值以及在UDP标题和在以太网CRC中的长度。在数 据嵌入单元13中的识别号(帧ID)和掩码值(帧掩码)的配置中,可 以为每个模块3预留用于在以太网数据包中的测量或有用数据的空间。 通过掩码值和识别号(帧ID)的选择得到在数据包中预留可利用的带 宽的各种不同的可能性。数据的附加和嵌入连续地在每个模块链4的每个模块3中进行。 图6示意性示出了在本发明的用于实时数据传输的方法中时隙的 预留。模块链4的最后的模块3-N的数据包发生器18-N循环地或周期 地产生空的UDP/IP以太网数据包,其中周期性被调节为使得模块链4 的所有模块3能够将测量或有用数据在足够规模上嵌入所接收的以太 网数据包中。通过掩码值和识别号(帧ID)的选择可以为不同的模块 3预留不同的带宽。例如根据可利用的有用数据的含义或优先级来预留 带宽。在图6所示的例子中,由模块Ml和M2所附加的有用数据的规 模比模块M3、 M4和M5的有用数据的规模或体积大。因为每个以太网 数据包具有唯一的数据包号,因此与所配置的掩码值(帧掩码)的逻 辑组合在每个所接收的数据包中都不同。通过适当地选择掩码值和识 别号(帧ID)可以实现可变的时隙方案。为测量数据获取提供时钟的 时基优选在测量仪器或模块3-i中产生。本发明方法不以模块3-i彼 此在时间上的同步、即所有模块3的本地时基精确地相同运行为前提。 然而,优选将各个本地时基设计为同步,由此不同模块3的测量数据 可以时间上相互被分配。这种同步保证了,模块3的本地时基在工作 时间期间不会脱离出彼此。本地时基的最大的绝对差优选小于 一微秒。图7示出了用于说明本发明的、用于在彼此串联链接的模块3之 间传输数据的方法的工作原理的筒单的流程图。图7示出了有用数据 通过模块链4的模块3-i的嵌入或附加。如果模块3-i在步骤S-0中 获得数据包,则在步骤Sl中首先通过数据嵌入单元13检验,设置在 数据包的管理数据中的标识符是否被置位,该识别符说明数据允许被 嵌入到数据包中。如果是这种情况,接着数据嵌入单元13在步骤S2 中检验根据该数据包号形成的逻辑比较值与在模块中配置的识别号 (帧ID)是否一致。为此,优选将数据包号与所配置的掩码值进行逻 辑"与"运算以形成比较值并且接着与识别号进行比较。如果比较值 与识别号一致,数据嵌入单元13接着在步骤S3中检验,在模块3中 是否存在测量数据或者其是否可利用。如果是,则在步骤S4中将测量 或有用数据优选作为XCP数据报嵌入或添加到所接收的以太网数据包 中。该过程在步骤S5中结束。如由图7可看出的一样,仅当满足在步骤Sl、 S2和S3中检验的 三个条件时,才将测量或有用数据添加到所接收的数据包中。不同条 件的检验顺序是任意的,这样例如首先检验测量数据是否存在,然后 才接着检验其它两个条件。数据嵌入单元13将有用数据嵌入数据包中,该数据包从模块链4 的最后的模块3-N出发被传输给数据处理单元2。在相反的方向上,数 据输出耦合单元12将数据去耦输出,所述数据由数据处理单元2在向 模块链4的最后的模块3-N的方向上传输。借助由数据处理单元2向 模块3传输的数据包的管理数据或标题数据,识别确定用于各个模块3 的数据包,并且将包含在其中的有用数据通过数据输出耦合单元12去 耦输出。图8A、 8B、 8C示出了用于说明本发明的用于实时数据传输的方法 的工作原理的各种不同的例子。在图8A、 8B、 8C中,从上向下标出时 间轴。处于轴线左边的编号说明数据包的数据包号,它产生最后的模 块3-N的数据包发生器18 - N。帧频率或数据包频率在所说明的例子中 为10kHz。在数据传输超过100M比特的以太网的情况下,这意味着每 个彼此相继的以太网数据包包括最小间距(帧间间隙)在内可以包含 10000比特。在图8A、 8B、 8C的图表中,从左到右以比特标出了以太 网数据包的持续时间或长度。每个以太网数据包包含由数据包发生器产生的不含有用数据的空数据包。空数据包包括大约500比特。这部 分存在于每个以太网数据包中。附加地,设置大约2000比特作为两个 彼此相继的测量数据帧之间的最小间距或空隙。设置大约2000比特的 时间间隙,以便将其它的以太网数据包添加到数据流中,这些其它的 以太网数据包由模块3的微处理器向数据处理单元2发送。测量数据 数据包和由微处理器产生的其它的以太网数据包的多路复用在模块3 的介质访问控制器中自动进行。在所给出的例子中,每个以太网数据 包因此还可以被大约7500比特的有用数据填充。在图8A至8C中所示的例子中,设置有分别利用八个测量通道的 90个模块3-i。十个第一模块3具有10kHz的数据获取速率。计算所附加的XCP 数据报的长度64比特[XCP系统开销]+ 32比特[时间戳]+ (8*16比特)[测量 数据]=224比特。二十个另外的模块3在所给出的例子中具有lkHz的获取速率。XCP 数据报长度同样是每个模块具有224比特。这60个剩余的模块3具有 10Hz的获取速率。XCP数据报长度同样为每模块224比特。首先,在所说明的例子中,为十个第一模块3预留带宽,这些模 块3分别具有10kHz的数据获取速率。这些模块3的测量数据频率相 应于数据包发生器18-N产生空数据包的频率。因此,在由数据包发 生器18-N产生的每个以太网数据包中都必须预留用于这些模块的有 用数据的空间。所有十个笫一模块3的数据嵌入单元13因此被配置下 列值掩码值(帧掩码)-识别号(帧ID) = 00000000 00000000 (二进制)逻辑组合(帧掩码)与(帧号)=帧ID 因此在这些模块中对于每个数据包号都是满足的。在图8A中所示的数 据包由空数据包的500比特和均匀地分布在所有数据包上的有用数据 组成。图8B示出了为分别具有lkHz的数据获取速率的另外20个模块3 预留用于有用数据的空间的情况。为此,在所说明的例子中,在每第八个数据包中预留空间用于容纳有用数据。对于每个具有数据包号1、9、 17等等的数据包满足以下逻辑等式(00000000 00000111 )与(帧号)=(00000000 00000001 )。图8B中点示的柱状图反映了为另外20个模块3所预留的带宽。图8C示出了在接着为另外60个以10Hz数据获取频率工作的模块 3预留空间之后的情况。在具有号1的数据帧中仅仅还存在用于另外三个模块的空间。这 另外的三个模块3获得下面的配置值帧ID= 00000000 00000001帧掩码=00000001 11111111 然后,对于具有数据包号l、 513、 1025等等的数据包满足帧掩码"与"帧号=帧ID由以10Hz的数据获取频率工作的其余的57个模块3在具有数据 包号2、 514、 1026等等的数据包中预留空间或带宽。 为此,这些模块3被设置以下面的配置值 帧ID- 00000000 00000010,帧掩码=00000001 11111111 57个模块中的23个模块的有用数据适配到第二数据包中,即具有 数据包号2、 514、 1026的数据包。57个模块3中的随后的23个模块 适配到第三数据包中并且被插入到具有数据包号3、 515、 1027的数据 包中。这些模块3获得下面的配置值 帧ID = 00000000 00000011, 帧掩码=00000001 11111111最后,60个模块中还剩下了 11个模块(57 - 23 - 23 = 11 )。对于 这些模块3,在具有数据包号4、 516、 1028等等的数据包中预留空间。在图8A、 8B、 8C中的图表示出了柱形图,它们仅仅说明了相应的 带宽的预留。模块3的单个XCP数据报在数据包内的位置可以是任意 的,并且取决于相应的模块3在模块链4内的位置。给不同的模块3分配带宽借助配置的各掩码值(帧掩码)并且借 助识别号(帧ID)来进行。通过这两个值的适当的选择,调节针对数据包号的周期性以用于 空间或带宽预留。在本发明方法的有利的实施形式中,限制用于可配 置的掩码值(帧掩码)的值域,使得所述值具有包含16比特内的右对齐的"1"数组的二进制值(0000000000000001, 0000000000000011, 0000000000000111等等)。如其在图10中所示的一样,这相应于掩码 值l、 3、 7、 15、 31。为了简化,在那里说明了具有5比特宽的值的方 案。如从图IO中可以看出的一样,可以通过选择掩码值(帧掩码)来 确定周期性。例如,对于帧掩码-1,在每个第二数据包中预留用于有 用数据的空间。对于帧掩码=2,在每个第四数据包中预留用于有用数 据的空间。对于帧掩码=7,在每个笫八数据包中预留用于有用数据的 空间,等等。因此通过这些时隙,可以实现2"个数据包间隔,其中n 是以二进制表示的掩码值(帧掩码)的右对齐的"1"组的位宽。如图 IO中可看到的一样,识别号(帧ID)的值将时间示意图推移一定数量 的帧或数据包,该数量与识别号的值相同。图9以5比特的位宽示例性示出了对于所有掩码值(帧掩码)的 情况。如果允许掩码值和识别号(帧ID)的所有值,则得到将时隙分 布到不同模块3上的不同的可能性。本发明的用于传输数据的方法不以将以太网用作物理的传输介质 为前提。此外,本发明的方法也不局限于将XCP作为有用数据协议。 原则上,本发明的数据传输方法可以被应用在每种可实行全双工的工 作方式的物理传输介质上。在有利的实施形式中,比较值通过将包含在所接收的数据包中的 数据包号(帧号)与在模块3中所配置的掩码值(帧掩码)进行逻辑 组合来形成。在代替的实施形式中,比较值通过数据包号本身来构成。在该实 施形式中,在模块3中存储具有号码的列表。由模块3将到达的数据 包的数据包号与该列表中的所有记录进行比较。当数据包号与所存储 的号码一致时,由模块3将有用数据附加到所接收的数据包后或嵌入 其中以产生扩展的数据包。
权利要求
1.一种用于在彼此串联连接的模块(3)之间传输数据的方法,其中模块(3i)的有用数据被嵌入由连接在前面的模块(3i+1)所接收的数据包(帧)中,该数据包具有唯一的数据包号(帧号),如果根据该数据包号构成的比较值与设置在该模块(3i)中的识别号(帧ID)一致的话。
2. 按照权利要求1的方法,其中所述比较值通过数据包号(帧号) 与能配置的掩码值(帧掩码)的逻辑组合来构成。
3. 按照权利要求2的方法,其中将所述数据包号(帧号)与掩码 值(帧掩码)逻辑"与"组合。
4. 按照权利要求1的方法,其中所述比较值通过数据包号(帧号) 来构成。
5. 按照权利要求1的方法,其中在彼此串联连接的模块(3)中分 别存储至少一个识别号(帧ID)。
6. 按照权利要求1的方法,其中在彼此串联连接的模块(3)中分 别存储至少一个掩码值(帧掩码)。
7. 按照权利要求1的方法,其中将所述模块(3)的有用数据作为 数据报的有用数据嵌入到所接收的数据包中。
8. 按照权利要求7的方法,其中所述数据报由XCP数据报构成。
9. 按照权利要求1的方法,其中当有用数据在所述模块(3)中可 利用时,将该有用数据通过该模块(3)嵌入所接收的数据包中用于产 生扩展的数据包。
10. 按照权利要求9的方法,其中当在所接收的数据包中包含的标 识符被置位时,将所述有用数据通过所述模块(3)嵌入所接收的数据 包中用于产生扩展的数据包。
11. 按照权利要求10的方法,其中扩展的数据包被发送给连接在 所述模块(3i )之后的模块(3i - 1)。
12. 按照权利要求l的方法,其中所述有用数据由测量数据构成。
13. 按照权利要求l的方法,其中彼此串联连接的模块(3)构成 模块链(4),该模块链(4)连接在数据处理单元(2)上,该数据处理 单元(4)处理在数据包中传输的数据。
14. 按照权利要求13的方法,其中模块链(4)的离数据处理单 元(2)最远的模块(3-N)具有数据包发生器(18-N),该数据包 发生器周期地产生不包含有用数据的空数据包。
15. 按照权利要求14的方法,其中调节最后一个模块(3-N)的 数据包发生器(18-N)用来产生空数据包的频率fFe,使得该频率等于 或高于模块链(4)的各个模块(3)中所发生的最高的测量数据率。
16. 按照权利要求14的方法,其中由所述数据包发生器(18-N) 产生的数据包分别具有管理数据(标题数据),该管理数据带有该数 据包的唯一的数据包号。
17. 按照权利要求14的方法,其中数据包发生器(18-N)将所 产生的空数据包连续地编号。
18. 按照权利要求13的方法,其中所述模块链(4)的模块(3) 彼此被同步。
19. 按照权利要求1的方法,其中所述数据包全双工地通过传输 介质(5)传输。
20. 按照权利要求13的方法,其中所述数据处理单元(2)将包 括输出数据和调节数据作为有用数据的数据包传输给模块链(4)的模 块(3)。
21. 按照权利要求20的方法,其中模块链(4)的每个模块(3) 借助由数据处理单元(2)向该模块(3)传输的数据包的管理数据识 别用于该模块(3)的各数据包,并且将包含在各数据包中的有用数据 去耦输出。
22. 按照前述权利要求1至21之一的方法,其中所传输的数据包 由以太网数据包构成。
23. 按照权利要求19的方法,其中所述传输介质(5)由100MB 以太网线缆构成。
24. —种用于在彼此串联连接的模块之间传输数据的实时数据传 输系统,其中,每个模块(3i)将其有用数据嵌入由连接在前面的模 块(3i + l)所接收的数据包(帧)中,所述数据包具有数据包号(帧 号),如果根据该数据包号构成的比较值与设置在该模块中的识别号(帧ID) —致的话。
25. —种用于实时数据传输的模块,其中该模块(3i)将其有用数据嵌入由连接在前面的模块(3i + l)所接收的数据包(帧)中,所 述数据包具有数据包号(帧号),如果根据该数据包号(帧号)构成 的比较值与设置在该模块(3i)中的识别号(帧ID) —致的话。
26. 按照权利要求25的用于实时数据传输的模块,其中该模块(3i ) 具有用于连接到连接在前面的模块(3i + l)上的第一收发机(3B), 用于连接到连接在后面的模块(3i-l)上的第二收发机(3A),以及 FPGA单元(3C )。
27. 按照权利要求26的模块,其中该模块(3)的FPGA单元(3C) 具有逻辑单元,该逻辑单元将所接收的数据包的数据包号(帧号)与 所配置的掩码值(帧掩码)进行逻辑组合以产生比较值。
28. 按照权利要求27的用于实时数据传输的模块,其中模块的 FPGA单元(3C)具有用于存储所属的、能配置的掩码值(帧掩码)的 第一寄存器和用于存储所属的、能配置的识别号(帧ID)的笫二寄存 器。
29. 按照权利要求28的用于实时数据传输的模块,其中设置在 FPGA单元(3C)中的逻辑单元将所存储的掩码值(帧掩码)按位地与 所接收的数据包的数据包号(帧号)进行逻辑"与,,组合以产生比较 值。
30. 按照权利要求29的用于实时数据传输的模块,其中FPGA单 元(3C)具有比较单元,该比较单元将由逻辑单元产生的比较值与所 存储的识别号(帧ID)进行比较。
31. 按照权利要求26的用于实时数据传输的模块,其中FPGA单 元(3C)具有数据输出耦合单元U2)和数据嵌入单元(l3),它们 经过第一介质访问控制器(11)连接到第一收发机(3B)上并且经过 第二介质访问控制器(10)连接到第二收发机UA)上。
全文摘要
本发明实现了用于在彼此串联链接的模块(3)之间实时数据传输的系统和方法。每个模块(3)将其有用数据嵌入由连接在前面的模块(3)所接收的数据包中,该数据包具有唯一的数据包号,如果根据该数据包号构成的比较值与设置在该模块(3)中的识别号(帧ID)一致的话。
文档编号H04L12/40GK101405997SQ200780010109
公开日2009年4月8日 申请日期2007年2月26日 优先权日2006年3月23日
发明者K·雷特格, M·弗罗纳 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1