分布式系统中无损的基于时间的数据采集和控制的制作方法

文档序号:10540853阅读:548来源:国知局
分布式系统中无损的基于时间的数据采集和控制的制作方法
【专利摘要】用于将基于时间的数据采集(DAQ)映射到网络的等时数据传送通道的系统和方法。可以配置与网络的等时数据传送通道相关联的缓冲器。可以配置时钟和本地缓冲器。功能单元可以被配置为发起基于时间的DAQ的连续执行,传送数据到本地缓冲器,在所配置的开始时间发起数据在本地缓冲器与缓冲器之间的传送,以及以迭代的方式重复传送和发起传送,由此在本地缓冲器与缓冲器之间传送数据。缓冲器可以被配置为通过网络的等时数据传送通道传递数据,由此将基于时间的DAQ映射到网络的等时数据传送通道。
【专利说明】
分布式系统中无损的基于时间的数据采集和控制
技术领域
[0001] 本发明涉及等时数据传送的领域,尤其涉及用于基于时间的波形采集引擎的系统 和方法。
【背景技术】
[0002] 基于时间的或者等时的(即,定期的、周期性的)数据传送由控制应用使用,在控制 应用中,缓冲或数据流的及时传送极为重要。如果出于任何原因,数据迟到,它们则不可被 使用并且被丢弃。因此,基于控制的应用典型地被设计为容忍数据的一些丢失或迟到。例 如,在一些基于控制的应用中,如果一个控制周期的数据丢失,则应用可以检测到这一点并 且推迟控制回路计算直到下一个周期。因此,如果数据继续迟到或者对于多个控制回路根 本没有到达,则基于控制的应用可以标记错误并且采取更为严重的动作。
[0003] 而且,网络和处理器互连已经实现了一些特征,这些特征特定于对基于控制的应 用的等时数据传送的支持。例如,在诸如PCI Express和时间敏感(TS)联网(即,IEEE 802.1)这样的标准中的特征并入了对等时数据传送的支持。这些特征并入了支持等时数据 传送所必要的两个基本需求一一第一,在参与等时数据传送的端点之间存在同步、如此保 证协调的数据传输和接收的需求;以及第二,从数据生产者一直到数据使用者始终存在预 留带宽,如此保证端点的递送和同步的需求。
[0004] 在应用中存在新的发展,它们可以受益于等时数据传送的这些基本需求。例如,所 谓"物联网"正在将因特网连通性扩展到广泛领域中的机器,从电力系统到医疗设备(以及 其他的)。在这种应用中,数据的最常见使用是聚合以供分析或日志记录。而且,因为在这些 应用中采集数据的测量节点典型地分布在广阔的地理区域上,所以不可以应用常规的基于 信号的同步技术。代替地,使用时间来同步测量并且数据经由有限或连续采集而被采集。
[0005] 在有限采集中,以周期性间隔采集一组数据点,例如,每个间隔一组数据点。在系 统中的所有节点之间,每个间隔在相位和频率方面同步。这种系统的示例包括电力相量测 量单元以及结构和机器监控系统。
[0006] 在连续采集中,一旦采集已经开始,数据就被连续地采集。开始时间to以及采集之 间的时间At在系统中的所有节点之间同步。另外,通常只有当接收到明确地终止采集的命 令时,采集才终止。这种系统的示例是车内数据记录器。
[0007] 在这种基于时间的数据采集系统中,因为数据被聚合,所以应用可以容忍数据的 迟到但是不可以容忍丢失。因此,当前在这些系统中传送的数据或者独立于等时数据地被 处理(例如作为尽力而为或异步数据而传送),或者通过使用等时通道一次传输一个数据点 而在端点处被聚合。独立于等时数据地处理数据通过应答数据传送并且如果丢失则重新传 输它来满足无损需求。等时通道的使用则使用等时通道上的预留带宽来消除因拥塞引起的 丢失,但是不解决因电磁干扰(EMI)引起的丢失或者因网络或总线上的位(bit)错误引起的 数据损坏的情况。另外,在现有技术方法中,端点处的聚合以及等时通道的使用仅可以被映 射到有限采集,并且不可以满足连续采集模型。因此,寻找这种系统中的数据传送的改进。
[0008] 例如,对基于时间的测量的及时递送的改进将提供多个益处。首先,及时递送可以 减少聚合延迟,由此提高处理效率。另外,及时递送可以改进监控循环时间,从存储的预期, 允许实时分析和数据集减小,并且允许更快的响应时间。及时递送还可以通过减少因重新 传输和拥塞引起的延时而增加网络带宽利用率,并且改进与控制系统的共存而不引入抖 动。而且,及时递送可以允许新的控制模型的引入,其中算法可以使用经聚合的波形的凝聚 集作为输入来计算控制输出。最后,及时递送可以减少和简化存储器管理,允许精确的先于 运行时的分配以使用数据传送率匹配采集率。因为改进基于时间的测量的及时递送存在众 多优点,所以本申请描述将基于时间的数据采集映射到等时数据传送通道中的新方法的各 种实施例。

【发明内容】

[0009] 下面呈现用于配置和执行连续的基于时间的数据采集(DAQ)到网络的等时数据传 送通道的映射的系统和方法的各种实施例。
[0010] 在一个实施例中,用于将连续的基于时间的数据采集映射到网络的等时数据传送 通道的系统可以包括功能单元、本地缓冲器和缓冲器。网络可以是实时网络、以太网网络或 者存储器映射总线。本地缓冲器可以耦合到功能单元并且可以被配置为接收来自连续的基 于时间的数据采集的数据。缓冲器可以与等时数据传送通道相关联。缓冲器可以耦合到功 能单元和本地缓冲器,并且可以被配置为接收来自本地缓冲器的数据。系统(例如,功能单 元)可以经由下面呈现的方法被配置。
[0011] 功能单元可以被配置为发起连续的基于时间的DAQ的执行。连续的基于时间的DAQ 可以根据时钟执行。在一个实施例中,时钟可以被配置为同步到网络的全局时钟。来自连续 的基于时间的DAQ的数据可以存储在本地缓冲器中。而且,功能单元可以被配置为发起数据 从本地缓冲器到缓冲器的连续传送。从本地缓冲器到缓冲器的传送可以根据第一时钟而执 行。
[0012] 在一个实施例中,缓冲器可以具有可配置的缓冲器大小和可配置的传送频率。而 且,本地缓冲器可以具有大小并且该大小可以基于缓冲器的传送频率以及连续的基于时间 的DAQ的数据速率而配置。
[0013] 在一些实施例中,功能单元可以被配置为在连续的基于时间的DAQ的开始时间发 起连续的基于时间的DAQ的执行,以及在连续传送的开始时间发起数据从本地缓冲器到缓 冲器的连续传送。连续传送的开始时间可以基于缓冲器的缓冲器大小、连续的基于时间的 DAQ的开始时间以及连续的基于时间的DAQ的数据速率。在一个实施例中,连续的基于时间 的数据采集的开始时间可以与网络的全局时钟同相。
[0014] 在某些实施例中,功能单元可以被配置为在连续传送期间执行数据完整性处理, 由此防止数据丢失。数据完整性处理可以包括在数据中嵌入前向纠错码。
[0015] 在一个实施例中,系统可以包括另外的本地缓冲器并且每个另外的本地缓冲器可 以被配置为接收来自相应另外的连续的基于时间的DAQ的数据。在这种实施例中,功能单元 可以被配置为对于每个相应另外的连续的基于时间的DAQ,根据相应的时钟发起相应另外 的连续的基于时间的DAQ的执行以及发起数据从相应的本地缓冲器到缓冲器的连续传送。 注意,相应另外的连续的基于时间的DAQ可以根据相应的时钟而执行,并且来自相应另外的 连续的基于时间的DAQ的数据可以存储在另外的本地缓冲器中相应的本地缓冲器中。
[0016] 用于配置连续的基于时间的DAQ到网络的等时数据传送通道的映射的示例性方法 可以包括配置本地缓冲器用于接收来自连续的基于时间的DAQ的数据,配置缓冲器用于接 收来自本地缓冲器的数据,以及如上所述地配置功能单元。注意,缓冲器可以与等时数据传 送通道相关联,等时数据传送通道可以具有相关联的带宽,并且配置缓冲器可以预留相关 联的带宽。
[0017] 用于将连续的基于时间的DAQ映射到网络的等时数据传送通道的示例性方法可以 包括配置本地缓冲器用于接收来自连续的基于时间的DAQ的数据,配置可以耦合到等时数 据传送通道的缓冲器用于接收来自本地缓冲器的数据。而且,连续的基于时间的DAQ可以根 据时钟而执行并且来自连续的基于时间的DAQ的数据可以存储在本地缓冲器中。数据从本 地缓冲器到缓冲器的连续传送可以根据时钟而执行并且数据可以从缓冲器等时地提供到 等时数据通道。
【附图说明】
[0018] 当连同下面的附图考虑下面优选实施例的详细描述时,可以获得本发明的更好理 解,其中:
[0019] 图1例示根据一个实施例的被配置为将迭代的基于时间的DAQ操作映射到网络的 等时数据传送通道的系统;
[0020] 图2例示根据一个实施例的连续的基于时间的DAQ到缓冲器的映射;
[0021 ]图3例示根据一个实施例的缓冲器的示例性时间轴;
[0022] 图4是例示用于配置连续的基于时间的DAQ到网络的等时数据传送通道的映射的 方法的一个实施例的流程图;
[0023] 图5是例示用于将连续的基于时间的DAQ映射到网络的等时数据传送通道的方法 的实施例的流程图;
[0024]图6例示根据一个实施例的分布式测量和控制系统;以及
[0025] 图7例示根据一个实施例的另一种分布式测量和控制系统。
[0026] 虽然本发明容许各种修改和作为替换的形式,但是本发明的具体实施例在附图中 经由示例而示出并且在这里详细地描述。然而,应当理解,附图以及对其的详细描述不打算 将本发明限制为公开的特定形式,而是正相反,本发明将覆盖落在如由附加权利要求书所 定义的本发明的精神和范围内的所有修改、等价物和替换物。
【具体实施方式】
[0027] 通过引用的合并
[0028] 下面的参考文献通过引用将其全部内容合并至此,好像在这里充分并且完整地陈 述一样:
[0029] 于2013年11 月 11 日提交的、标题为 "Lossless Time Based Data Acquisition and Control in a Distributed System" 的美国专利申请序列号 14/072,297。
[0030] 于20 11 年9 月 25 日提交的、标题为 "Conf i gur ing Buf f er s wi th Timing Informat ion" 的美国专利申请 No ? 13/244,572 〇
[0031 ] 术语
[0032] 下面是在本申请中使用的术语的词汇表:
[0033] 存储器介质一一各种类型的存储器设备或存储设备的任何类型。术语"存储器介 质"旨在包括安装介质,例如CD-ROM、软盘104或磁带设备;计算机系统存储器或随机存取存 储器,诸如DRAM、DDR RAM、SRAM、ED0 RAM、Rambus RAM等;诸如闪存、磁介质的非易失性存储 器,例如硬驱动器或光学存储;寄存器或其它类似类型的存储器元件等。存储器介质也可以 包括其它类型的存储器或其组合。另外,存储器介质可以位于程序被执行的第一计算机中, 或者可以位于通过网络(诸如因特网)连接到第一计算机的不同的第二计算机。在后一种情 况下,第二计算机可以向第一计算机提供程序指令用于执行。术语"存储介质"可以包括可 以存在于不同位置中(例如通过网络连接的不同计算机中)的两个或更多个存储介质。 [0034]载体介质一一如上面描述的存储介质,以及诸如总线、网络这样的物理传输介质, 和/或传递诸如电、电磁或数字信号这样的信号的其他物理传输介质。
[0035] 可编程硬件元件一一包括各种硬件设备,这些硬件设备包括经由可编程互连而连 接的多个可编程功能块。示例包括FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、FP0A (现场可编程对象阵列)和CPLD(复杂PLD)。可编程功能块可以在从细粒度(组合逻辑或查找 表)到粗粒度(算术逻辑单元或处理器核心)的范围变化。可编程硬件元件也可以称作"可重 构逻辑"。
[0036] 软件程序一一术语"软件程序"旨在具有它的普通意义的全部范围,并且包括任何 类型的程序指令、代码、脚本和/或数据或者其组合,这些可以存储在存储介质中并且由处 理器执行。示例性软件程序包括:以基于文本的编程语言(诸如C、C++、PASCAL、FORTRAN、 C0B0L、JAVA、汇编语言等)编写的程序;图形化程序(用图形化编程语言所编写的程序);汇 编语言程序;已经编译成机器语言的程序;脚本;以及其他类型的可执行软件。软件程序可 以包括以某种方式互操作的两个或多个软件程序。注意,在这里描述的各种实施例可以由 计算机或软件程序实现。软件程序可以作为程序指令存储在存储介质上。
[0037] 硬件配置程序--可以用来编程或配置可编程硬件元件的程序,例如网表 (net list)或位文件。
[0038] 程序一一术语"程序"旨在具有它的普通意义的全部范围。术语"程序"包括:1)软 件程序,其可存储在存储器中并可由处理器运行,或2)硬件配置程序,可用于配置可编程硬 件元件。
[0039]图形化程序一一一种包括多个互连的节点或图标的程序,其中所述多个互连的节 点或图标形象化地指示程序的功能性。互连的节点或图标是用于程序的图形化源代码。图 形化功能节点也可以被称为块。
[0040] 以下提供图形化程序的各种方面的实例。下列实例以及讨论并不旨在限制图形化 程序的上述定义,而是提供术语"图形化程序"包括什么的例子:
[0041] 图形化程序中的节点可以以数据流、控制流和/或执行流格式中的一个或多个连 接。节点被可以以"信号流"格式连接,信号流是数据流的子集。
[0042] 可用于创建图形化程序的示例性图形化程序开发环境包括来自Na t i 〇na 1 Vision Program Manager?,来自Measurement Computing的SoftWIRE?,来自Northwoods Software的Sanscript?,来自Khoral Research的Khoros?,来自HEM Data的SnapMaster?, 来自 Visual Solutions 的 VisSim?,SES(Scientific and Engineering Software)的 Ob jectBench?,和来自 Advantech 的VisiDAQ?,除 了其他之外。
[0043] 术语"图形化程序"包括在图形化建模环境中创建的模型或框图,其中所述模型或 框图包括形象化地指示模型或框图的操作的互连的框(即节点)或图标;示例性的图形化建 模环境包括Simulink_、SystemBuild TM、VisSimTM、Hypersignal Block?等。
[0044] 图形化程序可以在计算机系统的存储器中表示为数据结构和/或程序指令。图形 化程序一一例如这些数据结构和/或程序指令一一可以被编译或解释以产生机器语言,所 述机器语言实现如在图形化程序中示出的所期望的方法或处理。
[0045] 到图形化程序的输入数据可以接收自各种源中的任何源,诸如来自设备、测试中 的单元、被测量或控制的处理、另一计算机程序、数据库,或者来自文件。同样,用户可以使 用图形化用户界面(例如前面板)来输入数据到图形化程序或虚拟仪器。
[0046] 图形化程序可以可选地具有与所述图形化程序相关联的GUI。在这种情况下,多个 互连的框或节点通常称为图形化程序的框图部分。
[0047]计算机系统一一各种类型的计算或处理系统中的任何类型,这些计算或处理系统 包括个人计算机系统(PC)、大型计算机系统、工作站、网络家电(network appliance)、因特 网家电(Internet appliance)、个人数字助理(PDA)、电视系统、网格计算系统或者其他设 备或设备的组合。一般来说,术语"计算机系统"可以广义地定义为包括具有至少一个执行 来自存储器介质的指令的处理器的任何设备(或设备组合)。
[0048] 测量设备一一包括仪器、数据采集设备、智能传感器以及被配置为采集和/或存储 数据的各种类型的设备的任何一种。测量设备还可以可选地被进一步配置为分析或处理所 采集或者所存储的数据。测量设备的示例包括仪器,诸如传统的独立式"盒子"仪器、基于计 算机的仪器(卡上仪器)或者外部仪器、数据采集卡、与数据采集卡类似地操作的计算机外 部的设备、智能传感器、底盘中的一个或多个DAQ或测量卡或模块、图像采集设备(诸如图像 采集(或机器视觉)卡(也称作视频捕获板)或者智能相机)、运动控制设备、具有机器视觉的 机器人、以及其他类似类型的设备。示例性"独立式"仪器包括示波器、万用表、信号分析器、 任意波形发生器、分光镜以及类似的测量、测试或自动化仪器。
[0049] 测量设备还可以被配置为执行控制功能,例如响应于对所采集或者所存储的数据 的分析。例如,测量设备可以响应于特定的数据而发送控制信号到外部系统(诸如运动控制 系统)或者到传感器。测量设备还可以被配置为执行自动化功能,即可以接收并且分析数 据,并且作为响应发出自动化控制信号。
[0050] 功能单元(或者处理元件)--指各种元件或者元件的组合。处理元件包括,例如 诸如ASIC(专用集成电路)这样的电路,单独处理器核心、整个处理器核心、单独处理器、诸 如现场可编程门阵列(FPGA)的可编程硬件设备的部分或电路,和/或包括多个处理器的系 统的较大部分,以及其任意组合。
[0051] 自动一一指的是动作或操作由计算机系统(例如由计算机系统执行的软件)或设 备(例如电路系统、可编程硬件元件、ASIC等)执行,而没有直接指定或执行该动作或操作的 用户输入。因此术语"自动"与由用户手动执行或指定的操作(其中用户提供直接执行该操 作的输入)形成对照。自动的过程可以由用户所提供的输入启动,但随后"自动"执行的动作 不由用户指定,即不是"手动"执行("手动"执行中用户指定每个要执行的操作)。例如,用户 通过选择每个字段并提供指定信息的输入(例如通过键入信息、选择复选框、单选等)来填 写电子表格是手动填写所述电子表格,即使计算机系统必须响应于用户动作来更新所述表 格。所述表格可以由计算机系统自动填写,其中计算机系统(例如在计算机系统上执行的软 件)分析表格的字段并填写表格而没有指定字段的答案的任何用户输入。如上面所指示的, 用户可以调用表格的自动填写,但并不参与表格的实际填写(例如用户不手动指定字段的 答案,相反字段的答案自动完成)。本说明书提供响应于用户已经采取的动作而自动被执行 的操作的各种例子。
[0052]并发一一指并行运行或执行,其中任务、处理或程序以至少部分重叠的方式执行。 例如,并发性可以使用"强的"或者严格的并行性或者使用"弱的并行性"来实现,在强的并 行性的情况下,任务在相应的计算元件上(至少部分地)并行地执行,在弱的并行性的情况 下,任务以交错的方式(例如通过执行线程的时间复用)执行。
[0053]无损一一指一类数据压缩算法,其允许从经压缩的数据重建准确的原始数据。 [0054]前向纠错(FEC)-指用于控制数据传输中的错误的技术,其中发送方消息中的冗 余防止因位(bit)错误和网络重构而引起的数据丢失。
[0055]有限采集一一指以周期性的间隔采集一组数据点的采集。每个间隔在系统中的所 有节点之间在相位和频率方面同步。
[0056]连续采集一一指一旦采集已经开始就连续地采集数据的采集。开始时间to以及采 集之间的时间At在系统中所有节点之间同步。另外,只有当接收到明确地终止采集的命令 时,采集才可以终止。
[0057]因特网协议(IP)-一指用于网络(诸如因特网)的联网模型和一组通信协议。
[0058]传输控制协议(TCP)-一指因特网协议套件的核心协议并且提供八位元组流的在 连接到局域网、内联网或公共因特网的计算机上运行的程序之间的递送。
[0059]以太网一一指如在IEEE 802.3中标准化的用于局域网(LAN)的计算机联网技术的 族。
[0060] 局域网(LAN)-一指在诸如办公大楼或者办公综合楼这样的有限地理区域中互连 计算机的计算机网络。
[0061] 虚拟局域网(VLAN)-一指以组织为基础逻辑地分割的计算机网络,换言之,该分 割基于功能或应用而不是像LAN的情况那样以物理或地理为基础。
[0062] 媒体访问控制(MAC)层一一指多层计算机网络模型中的子层,该子层提供使得能 够在共享共同介质(诸如以太网)的多个网络节点之间进行通信的寻址和通道访问控制机 制。MAC层充当逻辑链路控制子层与网络的物理(PHY)层之间的接口。
[0063]时间敏感(TS)网络--指遵守用于实时数据传送的IEEE 802.1标准的网络。
[0064] 时间敏感(TS)分组一一指路由通过TS网络的数据的特定分组,该分组包含时间敏 感数据。可以包括来自非IEEE 802.1兼容的实时网络的分组,其中VLAN标签使用本发明的 实施例被插入。
[0065] 等时一一通常指定期地、或者换言之以相等的时间间隔发生的事件。
[0066] 异步一一通常指不定期地、或者换言之以未经调度且间歇性的时间间隔发生的事 件。
[0067] 图1-5:用于将基于时间的数据映射到等时数据传送通道的系统和方法
[0068] 图1例示根据本发明的实施例的被配置为将连续的基于时间的DAQ映射到网络的 等时数据传送通道的系统。图2和图3分别例示将与基于时间的DAQ相关联的数据映射到缓 冲器以及随着时间数据从缓冲器的传送。另外,用于配置映射以及基于时间的DAQ到网络的 等时数据传送通道的映射的方法的实施例在下面参考图4和图5来描述。
[0069] 如图1中所示,系统100可以包括功能单元110、本地缓冲器120、缓冲器130以及数 据速率时钟150。在某些实施例中,如下面进一步描述的,系统100可以被包括在网络接口控 制器(NIC)中或者耦合到NIC。另外,在一些实施例中,系统100可以耦合到测量设备或者包 括在该测量设备中,测量设备诸如传统的独立式"盒子"仪器、基于计算机的仪器(例如,卡 上仪器)或者外部仪器、数据采集卡、与数据采集卡类似地操作的计算机外部的设备、智能 传感器、底盘中的一个或多个DAQ或测量卡或模块、图像采集设备(诸如图像采集(或机器视 觉)卡(也称作视频捕获板)或者智能相机)、运动控制设备、具有机器视觉的机器人,以及其 他类似类型的设备。
[0070] 因此,在一个实施例中,系统可以包括在耦合到测量设备或者包括在测量设备中 的NIC中。而且,测量设备可以是分布式测量设备,例如网络的部分,诸如遵守用于实时数据 传送的IEEE 802.1标准的时间敏感(TS)网络,或者不遵守IEEE 802.1标准的另一种实时网 络,该另一种实时网络例如实时以太网网络实现,诸如:PR〇FINET,其使用诸如TCP/IP和以 太网这样的标准连同用于实时和等时实时通信的机制;EtherCAT,这是开放高性能的基于 以太网的现场总线系统;Ethernet/IP,这是为了在过程控制和其他工业自动化应用中使用 而设计的;或者以太网Powerlink,这是用于标准以太网的确定性实时协议;以及其他的。另 选地,系统可以包括在存储器映射的分布式系统中,诸如外围组件互连(PCI)、PCI express (PCIe)或者CompactPCI (以及其他的)。这种系统的示例包括基于National Instruments Corporation的CompactRIO平台的系统以及基于National Instruments Corporation的 PXI (面向仪器化的PCI扩展)平台的系统。
[0071] 在一个实施例中,功能单元110可以耦合到本地缓冲器120、缓冲器130以及数据速 率时钟150。注意,在某些实施例中,系统100可以包括一个或多个功能单元,然而,为了简 单,系统100的功能性依据单个功能单元而描述。同样注意,术语功能单元可以与术语处理 元件可交换地使用并且具有其最广泛意义的含义。换言之,术语功能单元或处理元件指多 种多样的元件或这种元件的组合中的任意一种,如在上面术语章节中注释的。处理元件包 括,例如诸如AISC(专用集成电路)这样的电路、单独处理器核心的部分或电路、整个处理器 核心、单独处理器、诸如现场可编程门阵列(FPGA)这样的可编程硬件设备、和/或包括多个 处理器的系统的较大部分,以及其任意组合。
[0072] 在示例性实施例中,数据速率时钟150可以被配置为同步到网络的全局时钟,诸如 网络200的全局时钟250。在各种实施例中,系统100可以经由以太网类型的连接、或者另选 地经由存储器映射总线(诸如PCI、PCIe或CompactPCI)而包括在网络200中或者耦合到网络 200。而且注意,数据速率时钟150可以是包括在系统100中的多个数据速率时钟中的一个, 例如,数据速率时钟150可以是多个数据速率时钟中的一个,这多个数据速率时钟中的每一 个可以被配置为或者直接地或者间接地(例如经由同步到全局时钟的另一个时钟)同步到 网络的全局时钟。
[0073] 缓冲器130可以包括可配置的缓冲器大小和传送频率。将数据传送到缓冲器130的 开始时间可以相应地被配置。在一个实施例中,传送数据的开始时间可以以基于时间的DAQ 的开始时间和数据速率为基础而配置。缓冲器可以与网络200的等时数据传送通道相关联。 [0074]另外,本地缓冲器120的大小可以被配置。在一个实施例中,本地缓冲器120的大小 可以以缓冲器的传送频率和基于时间的DAQ的数据速率为基础而配置。如此,如参考图2和 图3更详细描述的,本地缓冲器120的大小可以取决于缓冲器的配置以及基于时间的DAQ的 配置。
[0075] 在一个实施例中,功能单元110可以被配置为在基于时间的DAQ的开始时间发起基 于时间的DAQ的执行。在一些实施例中,功能单元110可以接收指示基于时间的DAQ的开始时 间的触发器。在其他实施例中,功能单元110可以被配置为根据提供给功能单元110的计划 表来调度开始时间。
[0076] 基于时间的DAQ的执行可以产生或生成数据,并且因此功能单元可以被配置为响 应于数据的产生或生成而传送数据到本地缓冲器。而且,功能单元110可以被配置为在用于 传送数据的开始时间,发起数据在本地缓冲器120与缓冲器130之间的传送。
[0077] 注意,在一些实施例中,数据可以不是从迭代的基于时间的DAQ线性地传送到缓冲 器。例如,在一个实施例中,数据可以在传送到缓冲器之前在本地缓冲器中累积。而且,缓冲 器可以不立即传递从本地缓冲器传送来的数据。相反,缓冲器可以在通过等时数据传送通 道传递数据之前累积另外的数据(例如,来自本地缓冲器的多于一次的数据传送)。在其他 实施例中,本地缓冲器可以累积数据,并且数据的子集可以传送到缓冲器并且立即通过等 时数据传送通道被传递。在这种实施例中,可以配置本地缓冲器的大小以防止数据的丢失 或者可以配置缓冲器的频率以防止数据的丢失。
[0078]在示例性实施例中,功能单元110还可以被配置为执行数据完整性处理,这可以防 止在本地缓冲器120与缓冲器130之间的数据传送期间的数据丢失。因此,在一个实施例中, 数据完整性处理可以包括或利用无损算法,例如,允许从经压缩的数据重建准确的原始数 据的数据压缩算法。例如,数据完整性处理可以包括嵌入前向纠错码(FEC)-一一种用于控 制数据传输中的错误的技术,其中发送方消息中的冗余防止因为位错误和网络重构而引起 的数据丢失。另外或者另选地,数据完整性处理可以包括任何其他类型的纠错算法,诸如 Reed Solomon、汉明码(Hamming Codes)、Viterbi、纠删码(Erasure Coding)以及应用级前 向纠删(以及其他的)。
[0079] 在某些实施例中,缓冲器130可以被配置为以缓冲器130的传送频率在缓冲器130 的循环上通过网络200的等时数据传送通道传递数据。因此,基于时间的DAQ可以被映射到 网络200的等时数据传送通道。
[0080] 图2是根据一个实施例的连续的基于时间的DAQ到缓冲器(诸如缓冲器130)的示例 性映射的例示。如图2中所例示的,基于时间的DAQ的迭代可以包括数据200的数据传送,数 据200的数据传送可以包括相关联的数据传送大小D sz。因此,对于每个迭代,数据200到本地 缓冲器220的传送可以发生。注意,本地缓冲器220可以具有与本地缓冲器120类似或相同的 功能性。
[0081] 本地缓冲器220可以包括相关联的块大小Bsz,其中块大小可以是数据传送大小Dsz 的倍数。因此,传送一块数据可以包括一次或多次数据传送。换言之,一块数据可以包括来 自多个(一个或多个)基于时间的DAQ迭代的数据。另外,本地缓冲器220可以具有相关联的 大小LSZ,L SZ可以大于或等于块大小Bsz。注意,在一些实施例中,本地缓冲器的大小可以等同 于数据传送大小D sz。而且,在一些实施例中,本地缓冲器的大小Lsz可以基于块的大小(例如 块大小B sz)、以及缓冲器230的输出频率和基于时间的DAQ的数据速率。
[0082] 一旦数据200已经传送到本地缓冲器220,则它们可以被传送到缓冲器230。在一些 实施例中,FEC可以嵌入在数据中以增加数据的恢复力使得不需要重新传输。已知FEC是为 了防止因位错误、EMI和网络重构而引起的数据丢失。注意,数据200可以作为一个或多个数 据块从本地缓冲器220传送到缓冲器230。缓冲器230的大小Sz可以连同传送频率一起由用 户、耦合到本地缓冲器的功能单元、耦合到(或者本地地或者其他地)缓冲器230的功能单 元、或者耦合到(或者本地地或者其他地)缓冲器230的计算机系统来配置。一旦数据200已 经传送到缓冲器230,缓冲器230则可以通过网络的等时数据传送通道提供数据200,数据 200可以包括在一个或多个数据块中的一个中。术语网络意思是广泛地包括以太网网络、实 时网络(例如,IEEE 802.1兼容的实时网络或者非IEEE 802.1兼容的实时网络)或者存储器 映射总线(以及其他的)中的任何网络。因此,因为等时通道可以提供有保证的递送并且FEC 可以去除因位错误、EMI和网络重构引起的数据丢失的可能性,所以数据200可以以无损的 方式通过网络被提供。
[0083] 图3例示根据本发明的一个实施例的缓冲器(诸如缓冲器130)的示例性时间轴。在 这种实施例中,在基于时间的DAQ的开始时间to,数据可以以数据速率r产生或生成,如由每 个向上的箭头所指示的,并且被写入或复制到本地缓冲器(诸如上面参考图1描述的本地缓 冲器120)中。缓冲器的开始时间s可以使用在基于时间的DAQ的每个迭代被采集的基于时间 的DAQ的开始时间ts、缓冲器的大小Sz、数据的大小D sz,以及使用数据速率r来计算。注意, "复制时间(copy time)"指示在缓冲器的每个周期p将数据从本地缓冲器传送到缓冲器所 必要的时间。而且注意,缓冲器可以被配置为周期性地(例如以传送频率)传送数据(例如一 个或多个数据块)。因此,在某些实施例中,缓冲器的开始时间s可以由等式1数学地表示:
[0084] s = to+(Sz*r)Dsz+Copy Time (1)
[0085] 而且,缓冲器可以使用大小和频率的组合来配置以确保本地缓冲器可以总是有数 据以所配置的传送频率输出到缓冲器。同样注意,通过增加本地缓冲器大小或者缓冲器大 小,可以适应或实现缓冲器的数据速率和传送频率不是彼此的整数倍的实施例。另外,在某 些实施例中,传送到缓冲器的数据的大小(或数据有效载荷大小)可以连同数据一起提供。 换一种说法,当缓冲器不满时,缓冲器可以传输等同于缓冲器大小的数据分组。因此,缓冲 器可以传输包括空的或填充符数据的数据分组。在这种情况下,数据有效载荷大小可以包 括在所传输的数据分组中,使得空的或者填充符数据可以被由缓冲器传输的数据的使用者 忽略。换言之,在数据速率不是缓冲器的传送频率的整数倍的情况下,可以配置本地缓冲器 和缓冲器的大小以允许无损的数据传送,并且在一些实施例中,数据有效载荷大小可以包 括在由缓冲器传送的数据中。例如,在一个实施例中,在缓冲器的开始时间s可以由等式1表 示的情况下,本地缓冲器的大小L sz可以由等式2数学地表示:
[0087]另选地,在某些实施例中,缓冲器的大小Sz可以基于本地缓冲器的大小Lsz而确定, 如由等式3数学地表示的:
[0089]而且,在再一个实施例中,缓冲器的频率或周期p可以基于本地缓冲器的大小Lsz和 缓冲器的大小Sz这两者而确定,如由等式4数学地表示的:
[0091]图4是例示用于配置基于时间的DAQ到网络的等时数据传送通道的映射的方法的 一个实施例的流程图。图4中所示的方法可以连同上面参考图1-3描述的系统或设备(以及 其他系统和设备)中的任何一个一起使用。在各种实施例中,所示的方法元素的一些可以并 发地执行、以与所示不同的顺序执行、或者可以省略。另外的方法元素也可以根据期望而执 行。如所示,方法可以如下操作。
[0092] 首先,在402中,可以配置本地缓冲器用于接收来自基于时间的DAQ的数据。注意, 缓冲器可以由诸如功能单元110这样的功能单元配置,或者缓冲器可以由耦合到该缓冲器 的另一个功能单元或计算机系统来配置,该另一个功能单元或计算机系统例如经由存储器 映射总线或者网络连接(以及其他通信性耦合)耦合到该缓冲器。在404中,可以配置第一缓 冲器(例如,缓冲器130或230)用于接收来自本地缓冲器的数据。第一缓冲器可以与等时数 据传送通道相关联。
[0093]在406中,可以配置功能单元以发起连续的基于时间的数据采集的执行。(连续的) 基于时间的数据采集可以根据时钟而执行,并且来自基于时间的数据采集的数据可以存储 在本地缓冲器中。在某些实施例中,时钟(例如,数据速率时钟)可以是多个时钟中的一个。 在这种实施例中,第一时钟可以同步到全局时钟并且这多个时钟中的每一个另外的时钟可 以经由第一时钟同步到全局时钟。在其他实施例中,该时钟可以同步到本地时钟并且本地 时钟可以同步到全局时钟。
[0094]在408中,可以配置该功能单元以发起数据从本地缓冲器到第一缓冲器的连续传 送。从本地缓冲器到第一缓冲器的传送可以根据时钟(例如第一时钟)来执行。
[0095] 在进一步的实施例中,可以配置将数据传送到缓冲器的开始时间。在一些实施例 中,开始时间可以基于缓冲器的大小。另外,开始时间可以以基于时间的DAQ的开始时间和 数据速率为基础。数据速率可以根据时钟。基于时间的DAQ的开始时间可以与网络的全局时 钟同相。而且,开始时间可以基于所传送的数据的量(例如,块大小)。
[0096] 在一些实施例中,可以配置本地缓冲器的大小。本地缓冲器的大小可以基于基于 时间的DAQ的数据速率和所传送的数据的量。另外,在一些实施例中,本地缓冲器的大小可 以进一步基于缓冲器的传送频率。而且,在特定的实施例中,本地缓冲器的大小可以进一步 基于复制时间,即,从本地缓冲器中读出数据并且将数据写入缓冲器所需的时间量。而且, 在某些实施例中,本地缓冲器可以进一步被配置为先入先出(FIFO)缓冲器。
[0097] 注意,在某些实施例中,功能单元可以由系统的用户配置。在其他实施例中,功能 单元可以由耦合到该功能单元的另一个功能单元或计算机系统配置。另外,在一些实施例 中,基于时间的DAQ的开始时间可以由该功能单元作为指示基于时间的DAQ的开始时间的触 发器被接收。在其他实施例中,可以配置功能单元以根据提供到功能单元的计划表来调度 开始时间。
[0098] 在某些实施例中,一个或多个数据块在本地缓冲器与缓冲器之间的传送可以包括 功能单元在传送期间执行数据完整性处理。数据完整性处理可以防止数据丢失。在一个实 施例中,数据完整性处理可以包括嵌入前向纠错码。
[0099] 在方法的一个实施例中,也可以配置功能单元以配置缓冲器的缓冲器大小和传送 频率。另外,在某些实施例中,可以配置功能单元以配置用于在本地缓冲器与缓冲器之间传 送数据的时钟和开始时间。而且,可以配置功能单元以配置本地缓冲器的大小以及配置本 地缓冲器以便传送数据。
[0100] 在方法的另一个实施例中,可以配置另一个或者另外的功能单元以配置缓冲器的 缓冲器大小和传送频率。另外,在某些实施例中,可以配置该另外的功能单元以配置用于在 本地缓冲器与缓冲器之间传送数据的开始时间和时钟。而且,可以配置另外的功能单元以 配置本地缓冲器的大小以及配置本地缓冲器以便传送数据。
[0101] 在方法的再一个实施例中,可以配置多个基于时间的DAQ。在这种实施例中,所述 多个基于时间的DAQ可以包括该基于时间的DAQ以及一个或多个另外的基于时间的DAQ。因 此,对于这一个或多个另外的基于时间的DAQ中的每一个,可以分别地配置本地缓冲器的大 小、时钟和开始时间。因此,可以配置与每个基于时间的DAQ相关联的每个本地缓冲器,以便 传送由与该本地缓冲器相关联的相应的基于时间的DAQ产生或生成的数据。因此,所述多个 基于时间的DAQ可以具有对应的多个本地缓冲器和时钟。
[0102] 在包括多个基于时间的DAQ的一些实施例中,功能单元可以被配置为,对于所述多 个基于时间的DAQ中的每一个,在基于时间的DAQ的相应开始时间发起基于时间的DAQ的执 行,并且响应基于时间的DAQ的执行而传送相应的数据到相应的本地缓冲器。另外,功能单 元可以被配置为,对于所述多个基于时间的DAQ中的每一个,在传送数据的开始时间发起相 应的数据在相应的本地缓冲器与缓冲器之间的传送,并且重复该传送和发起传送一次或多 次,由此将数据从相应的本地缓冲器传送到缓冲器。因此,在某些实施例中,功能单元可以 对于所述多个基于时间的DAQ中的每一个,执行其被配置用于的动作。
[0103] 而且,在某些实施例中,缓冲器可以被配置为以缓冲器的传送频率在至少一个循 环上通过网络的等时数据传送通道传递每个基于时间的DAQ的相应的数据,由此将多个基 于时间的DAQ映射到网络的等时数据传送通道。换言之,多个本地缓冲器可以被复用至单个 缓冲器,用于通过网络的等时数据传送通道进行通信。因此,在某些实施例中,缓冲器可以 以缓冲器的传送频率在至少一个循环上通过网络的等时数据传送通道传递每个基于时间 的DAQ的相应的数据,由此将多个迭代的基于时间的DAQ操作映射到网络的等时数据传送通 道。
[0104] 另外,在包括多个基于时间的DAQ的一些实施例中,该方法还可以包括执行:对于 一个或多个另外的缓冲器中的每一个,配置缓冲器大小和传送频率,以及配置传送数据的 开始时间。另外,所述一个或多个另外的缓冲器中的每一个可以与一个或多个另外的功能 单元中的对应的功能单元相关联。因此,缓冲器以及另外的一个或多个缓冲器可以组成多 个缓冲器,并且功能单元以及一个或多个另外的功能单元可以组成多个功能单元。因此,具 有对应的多个本地缓冲器的多个基于时间的DAQ可以被映射到多个缓冲器。因此,多个缓冲 器中的每一个可以被配置为以相应缓冲器的相应传送频率通过网络的对应等时数据传送 通道传递相应的数据,由此将多个基于时间的DAQ映射到网络的多个等时数据传送通道。 [0105]注意,在各种实施例中,映射可以是线性的,例如一对一,或者非线性的。换言之, 基于时间的DAQ可以被映射到对应的缓冲器,例如线性的或者一对一映射。另选地,映射可 以是非线性的,例如,对于每个基于时间的DAQ可以不存在对应的缓冲器。例如,第一基于时 间的DAQ可以被映射到第一缓冲器,而第二和第三基于时间的DAQ可以被映射到第二缓冲 器j等等。
[0106] 因此,在这种实施例中,对于多个缓冲器中的每个相应的缓冲器,多个功能单元中 对应的功能单元可以被配置为,对于多个基于时间的DAQ中的至少一个基于时间的DAQ,在 该至少一个基于时间的DAQ的相应的开始时间,发起该至少一个基于时间的DAQ的连续执 行,响应于该至少一个基于时间的DAQ的执行而传送数据到相应的本地缓冲器,在传送数据 的开始时间发起数据在相应的本地缓冲器与缓冲器之间的传送,并且重复所述传送和所述 发起传送一次或多次,由此在相应的本地缓冲器与相应的缓冲器之间传送相应的数据。而 且,多个缓冲器中的每一个可以被配置为以相应缓冲器的相应传送频率通过网络的相应等 时数据传送通道传递来自多个缓冲器中的每一个的相应的数据,由此将多个基于时间的 DAQ映射到网络的多个等时数据传送通道。因此,在某些实施例中,该方法还可以包括,对于 多个缓冲器中的每个相应的缓冲器,多个功能单元中相应的功能单元可以对于多个基于时 间的DAQ中的至少一个基于时间的DAQ,执行其被配置为用于的以上动作。
[0107] 在某些实施例中,该方法还可以包括基于时间的控制的配置和执行。在这种实施 例中,功能单元可以包括第一功能单元,本地缓冲器可以包括第一本地缓冲器,缓冲器可以 是或者包括第一缓冲器,时钟可以是或者包括第一时钟,并且等时数据传送通道可以是或 者包括第一等时数据传送通道。该方法还可以包括配置第二缓冲器的缓冲器大小以便基于 时间的控制。第二缓冲器可以与网络的第二等时数据传送通道相关联。
[0108] 另外,该方法还可以包括配置第二缓冲器的传送频率以及配置第二数据速率时钟 (与基于时间的控制操作相关联)以同步到网络的全局时钟。而且,该方法可以包括配置传 送来自第二缓冲器的数据的第二开始时间。传送数据的第二开始时间可以基于第二缓冲器 的缓冲器大小、基于时间的控制操作的开始时间、根据第二时钟的基于时间的控制操作的 数据速率、以及所传送的数据的大小。在某些实施例中,基于时间的控制操作的开始时间可 以与网络的全局时钟同相。而且,第二本地缓冲器的大小可以例如基于所传送的数据的大 小、第二缓冲器的传送频率以及基于时间的控制操作的数据速率来配置。第二本地缓冲器 还可以被配置为响应于基于时间的控制操作的连续执行,从第二本地缓冲器传送数据。
[0109] 因此,第二功能单元可以被配置为在基于时间的数据操作的开始时间发起基于时 间的控制操作的连续执行,响应基于时间的控制操作的连续执行而传送来自本地缓冲器的 数据,在传送数据的第二开始时间发起数据在第二本地缓冲器与第二缓冲器之间的传送, 以及以迭代的方式重复传送和发起传送一次或多次,由此在第二本地缓冲器与第二缓冲器 之间传送数据。因此,第二缓冲器可以被配置为以第二缓冲器的传送频率在至少一个循环 上通过网络的第二等时数据传送通道传递数据,由此将基于时间的控制操作映射到网络的 第二等时数据传送通道。注意,在一些实施例中,第二功能单元可以执行其被配置用于的以 上动作。
[0110] 在包括基于时间的DAQ操作和基于时间的控制操作的示例性实施例中,功能单元 可以被配置以实现为或者操作为上面讨论的第一和第二功能单元这两者,并且类似地,缓 冲器可以被配置以实现为或者操作为第一和第二缓冲器这两者。换言之,该方法可以使用 单个功能单元和单个缓冲器来执行。因此,功能单元可以包括第一功能单元和第二功能单 元并且缓冲器可以包括第一缓冲器和第二缓冲器。因此,单个等时数据传送通道可以被配 置作为第一和第二等时数据传送通道这两者。因此,等时数据传送通道可以包括网络的第 一等时数据传送通道和第二等时数据传送通道。
[0111] 注意,在某些实施例中,第一缓冲器可以是缓冲器的第一分区并且第二缓冲器可 以是缓冲器的第二分区。因此,基于时间的DAQ可以被映射到缓冲器的第一分区并且基于时 间的控制操作可以被映射到缓冲器的第二分区。在这种实施例中,可以配置缓冲器的缓冲 器大小和传送频率以适应这两种操作。
[0112] 图5是例示用于基于时间的DAQ到网络的等时数据传送通道的映射的方法的一个 实施例的流程图。图5中所示的方法可以连同上面参考图1-4所描述的方法、系统或设备(以 及其他系统和设备)的任何一个一起使用。在各种实施例中,图4中描述的方法可以用来配 置系统以执行方法的实施例。另选地,可以使用其他方法准备系统以执行实施例。在各种实 施例中,所示的方法元素的一些可以并发地执行、以与所示不同的顺序执行、或者可以省 略。另外的方法元素也可以根据期望而执行。如所示,方法可以如下操作。
[0113] 在502中,可以配置本地缓冲器用于接收来自基于时间的DAQ(例如,连续的基于时 间的DAQ)的数据。在一些实施例中,本地缓冲器的大小可以被指定。在示例性实施例中,可 以如上所述来确定本地缓冲器的大小。
[0114] 在504中,可以配置缓冲器(例如,第一缓冲器),诸如上面描述的缓冲器130,用于 接收来自本地缓冲器的数据。缓冲器可以耦合到等时数据传送通道。在示例性实施例中,可 以使用上面描述的方法的实施例来配置缓冲器。
[0115] 在506中,基于时间的DAQ可以根据时钟(例如,第一时钟或数据速率时钟)而执行。 来自基于时间的DAQ的数据可以存储在本地缓冲器中。
[0116] 在508中,数据可以根据时钟从本地缓冲器传送到(例如,连续地)缓冲器。本地缓 冲器可以是先入先出(FIFO)缓冲器并且可以只要基于时间的DAQ正在被执行(即,生成数 据),就继续传送数据到缓冲器。
[0117] 在510中,数据可以从缓冲器等时地提供到等时数据通道。注意,如上所述,数据提 供到缓冲器的速率可以不与缓冲器提供数据到等时数据通道的速率相匹配也不是其整数 倍。
[0118] 图6-7:分布式控制和测量系统的进一步实施例
[0119] 图6和图7例示上述系统和方法的进一步的实施例。注意这些实施例虽然被详细地 描述,但是仅是示例性的并且许多变化和修改将变得对本领域那些技术人员而显然。
[0120]图6例不根据一个不例性实施例的分布式控制和测量系统600。如所例不的,分布 式测量控制系统600可以包括一个或多个计算机系统,诸如计算机系统610和620。系统600 还可以包括一个或多个分布式测量和控制设备,诸如设备640、650和660。注意,这里所描述 的基于时间的数据传送的系统和方法的优点之一是同一设备(例如设备640-660中的任何 一个)能够同时或并发地交换控制数据(例如经由基于时间的控制操作)以及测量数据(例 如经由基于时间的DAQ操作)的能力。因此,设备(诸如设备640-660中的任何一个)上的每个 通道可以基于操作(基于时间的控制(虚线)或者基于时间的DAQ(实线))或功能而独立地被 配置。而且,基于期望的无损行为的程度,在具有或不具有诸如FEC这样的数据完整性处理 的情况下,数据可以被映射到一个或多个缓冲器上。另外,这一个或多个缓冲器可以被配置 为以相同或不同的频率或速率(诸如速率rl_r5的任何一个)通过等时传送通道传送数据。 因此,所有通道可以使用时间的共同概念,例如,数据速率时钟可以全部同步到网络的全局 时钟,并且开始时间可以全部与全局时钟同相,并且可以以不同的频率或速率传输数据,而 不安协确定性。
[0121] 而且,在某些实施例中,计算机系统610-620可以经由网络交换机(诸如网络交换 机630)耦合到分布式测量和控制设备640-660。因此,在一些实施例中,计算机系统610-620 以及分布式测量和控制设备640-660可以包括网络接口控制器(NIC)。注意,在某些实施例 中,网络交换机630可以包括遵守用于实时数据传送的IEEE 802.1标准的网络交换机。在其 他实施例中,网络交换机630可以包括不遵守用于实时数据传送的IEEE 802.1标准的网络 交换机,诸如用于以下各项的网络交换机:PR〇FINET,其使用诸如TCP/IP和以太网这样的标 准连同用于实时和等时实时通信的机制;EtherCAT,这是开放高性能的基于以太网的现场 总线系统;Ethernet/IP,这是为了在过程控制和其他工业自动化应用中使用而设计的;或 者以太网Powerlink,这是用于标准以太网的确定性实时协议;以及其他的。在又一些的其 他实施例中,可以设想网络交换机630可以包括存储器控制器并且网络可以是存储器映射 网络,诸如PCI、PCIe或者compactPCI (以及其他的)。
[0122] 上述系统和方法的示例性实现被例示为示例性设备660。设备660可以包括多个基 于时间的DAQ操作和基于时间的控制操作,并且本地缓冲器可以与每个操作相关联。另外, 设备660包括多个(例如一个或多个)时钟(例如,数据速率时钟),相应的时钟与相应的基于 时间的操作相关联。设备660还可以包括多个功能单元,每个与相应的等时通道(例如等时 数据传送通道)相关联,并且因此,相应的缓冲器具有相应的传送率rl-r4。因此,对于相应 的缓冲器,功能单元可以被配置为:对于至少一个基于时间的DAQ,在相应的开始时间发起 多个基于时间的DAQ中的至少一个基于时间的DAQ的连续执行,响应于该至少一个基于时间 的DAQ的连续执行而传送相应的数据到相应的本地缓冲器,在用于传送相应数据的相应的 开始时间发起相应的数据从相应的本地缓冲器到相应的缓冲器的传送,以及以迭代的方式 重复传送和发起传送一次或多次,由此在相应的本地缓冲器与相应的缓冲器之间传送相应 的数据。而且,基于时间的控制操作可以与功能单元相关联,该功能单元可以通过如先前描 述的本发明的实施例来配置。
[0123] 图7例示根据另一个示例性实施例的分布式控制和测量系统。系统700可以包括耦 合到网络720的计算机系统710。在一个实施例中,网络720可以遵守用于实时数据传送的 IEEE 802.1标准。另外,系统可以包括同样耦合到网络720的节点730和740。每个节点可以 包括或者实现在这里公开的技术的实施例。节点730和740可以包括时钟产生电路,时钟产 生电路可以使用由网络接口中的时间戳单元(TSU)创建的信号而同步。节点还可以包括耦 合到TSU的NIC、耦合到第二TSU的物理层(PHY)以及端点应用,全部这些经由本地总线耦合 到时钟产生电路。节点每个还可以包括功能单元、本地缓冲器和缓冲器,全部这些耦合到本 地总线。时钟产生电路可以包括一个或多个数据速率时钟,每个经由NIC的TSU或者PHY的 TSU而同步到网络720的全局时钟。因此,从计算机系统710发送到每个节点的开始时间可以 用来创建驱动物理采集/产生的协调的采样事件,例如以发起基于时间的DAQ和控制操作。 例如,一旦节点730的功能单元发起基于时间的DAQ操作的连续执行并且传送数据到本地缓 冲器,功能单元就可以发起数据到缓冲器的传送并且缓冲器可以经由等时数据传送通道在 网络720上传递数据。以这种方式,数据可以经由缓冲器在节点730与节点740之间传送。
[0124]虽然已经相当详细地在上面描述了实施例,一旦上面的公开被充分领会,许多变 化和修改将变得对本领域中那些技术人员而显然。下面的权利要求书打算被解释为包括所 有这种变化和修改。
【主权项】
1. 一种用于配置连续的基于时间的数据采集到网络的等时数据传送通道的映射的方 法,所述方法包括: 配置本地缓冲器,用于接收来自连续的基于时间的数据采集的数据; 配置第一缓冲器,用于接收来自本地缓冲器的数据,其中第一缓冲器与等时数据传送 通道相关联,其中等时数据传送通道具有相关联的带宽,并且其中所述配置第一缓冲器预 留相关联的带宽; 配置功能单元以: 发起连续的基于时间的数据采集的执行,其中该连续的基于时间的数据采集根据第一 时钟而执行,其中来自该连续的基于时间的数据采集的数据存储在本地缓冲器中;以及 发起数据从本地缓冲器到第一缓冲器的连续传送,其中从本地缓冲器到第一缓冲器的 传送根据第一时钟而执行。2. 根据权利要求1所述的方法,其中第一时钟被配置为同步到网络的全局时钟。3. 根据权利要求1所述的方法,其中所述配置第一缓冲器包括: 配置第一缓冲器的缓冲器大小;以及 配置第一缓冲器的传送频率。4. 根据权利要求1所述的方法,其中所述配置本地缓冲器包括: 基于第一缓冲器的传送频率以及连续的基于时间的数据采集的数据速率来配置本地 缓冲器的大小。5. 根据权利要求1所述的方法,还包括: 配置数据从本地缓冲器到第一缓冲器的连续传送的开始时间,其中该开始时间基于第 一缓冲器的缓冲器大小、连续的基于时间的数据采集的开始时间以及连续的基于时间的数 据采集的数据速率; 其中功能单元还被配置为: 在连续的基于时间的数据采集的开始时间发起连续的基于时间的数据采集的执行;以 及 在连续传送的开始时间发起数据从本地缓冲器到第一缓冲器的连续传送。6. 根据权利要求5所述的方法,其中连续的基于时间的数据采集的开始时间与网络的 全局时钟同相。7. 根据权利要求1所述的方法,其中所述配置功能单元以发起数据从本地缓冲器到第 一缓冲器的连续传送还包括:配置该功能单元以在连续传送期间执行数据完整性处理,由 此防止数据丢失。8. 根据权利要求7所述的方法,其中数据完整性处理包括: 在数据中嵌入前向纠错码,其中所述执行数据完整性处理使用所嵌入的前向纠错码。9. 根据权利要求1所述的方法,还包括: 配置一个或多个另外的本地缓冲器,用于接收来自对应的一个或多个另外的连续的基 于时间的数据采集的数据;以及 配置功能单元以: 对于所述一个或多个另外的连续的基于时间的数据采集中的每一个: 发起连续的基于时间的数据采集的执行,其中该连续的基于时间的数据采集根据相应 的第一时钟而执行,其中来自该连续的基于时间的数据采集的数据存储在所述一个或多个 另外的本地缓冲器中相应的本地缓冲器中;以及 根据相应的第一时钟发起数据从相应的本地缓冲器到第一缓冲器的连续传送。10. 根据权利要求9所述的方法,还包括: 配置一个或多个进一步另外的本地缓冲器,用于接收来自对应的一个或多个进一步另 外的连续的基于时间的数据采集的数据; 配置至少一个另外的第一缓冲器,用于接收来自所述一个或多个进一步另外的本地缓 冲器的数据,其中每一个另外的第一缓冲器与对应的另外的等时数据传送通道以及对应的 另外的功能单兀相关联;以及 配置另外的功能单元中的每一个以: 对于所述一个或多个进一步另外的连续的基于时间的数据采集中的相应至少一个: 发起连续的基于时间的数据采集的执行,其中该连续的基于时间的数据采集根据相应 的第一时钟而执行,其中来自该连续的基于时间的数据采集的数据存储在所述一个或多个 进一步另外的本地缓冲器中相应的本地缓冲器中;以及 发起数据从该相应的本地缓冲器到与该功能单元相对应的第一缓冲器的连续传送,其 中从该相应的本地缓冲器到第一缓冲器的传送根据相应的第一时钟而执行。11. 根据权利要求1所述的方法,还包括: 配置一个或多个另外的本地缓冲器,用于接收来自对应的一个或多个另外的连续的基 于时间的数据采集的数据; 配置至少一个另外的第一缓冲器,用于接收来自所述一个或多个另外的本地缓冲器的 数据,其中每一个另外的第一缓冲器与对应的另外的等时数据传送通道以及对应的另外的 功能单兀相关联;以及 配置另外的功能单元中的每一个以: 对于所述一个或多个另外的连续的基于时间的数据采集中的相应至少一个: 发起连续的基于时间的数据采集的执行,其中该连续的基于时间的数据采集根据相应 的第一时钟而执行,其中来自该连续的基于时间的数据采集的数据存储在所述一个或多个 另外的本地缓冲器中相应的本地缓冲器中;以及 发起数据从相应的本地缓冲器到与该功能单元相对应的第一缓冲器的连续传送,其中 从相应的本地缓冲器到第一缓冲器的传送根据相应的第一时钟而执行。12. 根据权利要求1所述的方法,还包括: 配置一个或多个另外的本地缓冲器,用于接收来自对应的一个或多个另外的连续的基 于时间的数据采集的数据; 配置一个或多个另外的第一缓冲器,用于分别接收来自所述一个或多个另外的本地缓 冲器的数据,其中所述另外的一个或多个第一缓冲器中的每一个与对应的另外的等时数据 传送通道以及对应的另外的功能单元相关联;以及 配置相应另外的功能单元中的每一个以: 发起所述一个或多个另外的连续的基于时间的数据采集中相应的连续的基于时间的 数据采集的执行,其中该相应的连续的基于时间的数据采集根据相应的第一时钟而执行, 其中来自该相应的连续的基于时间的数据采集的数据存储在所述一个或多个另外的本地 缓冲器中相应的本地缓冲器中;以及 发起数据从该相应的本地缓冲器到与该相应另外的功能单元相关联的对应的另外的 第一缓冲器的连续传送,其中从该相应的本地缓冲器到相应另外的第一缓冲器的传送根据 相应的第一时钟而执行。13. 根据权利要求1所述的方法,其中本地缓冲器是第一本地缓冲器,其中等时数据传 送通道包括第一等时数据传送通道,其中功能单元包括第一功能单元,以及其中所述方法 还包括: 配置第二本地缓冲器,用于接收来自连续的基于时间的控制操作的数据; 配置第二缓冲器,用于接收来自第二本地缓冲器的数据,其中第二缓冲器耦合到第二 等时数据传送通道;以及 配置第二功能单元以: 发起连续的基于时间的控制操作的执行,其中该连续的基于时间的控制操作根据第二 时钟而执行,其中来自该连续的基于时间的控制操作的数据存储在第二本地缓冲器中;以 及 发起数据从第二本地缓冲器到第二缓冲器的连续传送,其中从第二本地缓冲器到第二 缓冲器的传送根据第二时钟而执行。14. 根据权利要求13所述的方法,其中第一缓冲器包括第二缓冲器,其中等时数据传送 通道还包括第二等时数据传送通道,以及其中功能单元还包括第二功能单元。15. 根据权利要求1所述的方法,其中所述网络包括: 实时网络; 以太网网络;或者 存储器映射总线。16. -种用于将连续的基于时间的数据采集映射到网络的等时数据传送通道的系统, 所述系统包括: 功能单元; 本地缓冲器,耦合到所述功能单元并且被配置为接收来自连续的基于时间的数据采集 的数据;以及 第一缓冲器,耦合到所述功能单元和本地缓冲器并且被配置为接收来自本地缓冲器的 数据,其中第一缓冲器与等时数据传送通道相关联;以及 其中所述功能单元被配置为: 发起连续的基于时间的数据采集的执行,其中该连续的基于时间的数据采集根据第一 时钟而执行,其中来自该连续的基于时间的数据采集的数据存储在本地缓冲器中;以及 发起数据从本地缓冲器到第一缓冲器的连续传送,其中从本地缓冲器到第一缓冲器的 传送根据第一时钟而执行。17. 根据权利要求16所述的系统,其中第一时钟被配置为同步到网络的全局时钟。18. 根据权利要求16所述的系统,其中第一缓冲器具有可配置的缓冲器大小以及可配 置的传送频率。19. 根据权利要求16所述的系统,其中本地缓冲器具有一大小,其中该大小基于第一缓 冲器的传送频率以及连续的基于时间的数据采集的数据速率被配置。20. 根据权利要求16所述的系统,其中所述功能单元还被配置为: 在连续的基于时间的数据采集的开始时间发起该连续的基于时间的数据采集的执行; 以及 在连续传送的开始时间发起数据从本地缓冲器到第一缓冲器的连续传送,其中该连续 传送的开始时间基于第一缓冲器的缓冲器大小、该连续的基于时间的数据采集的开始时间 以及该连续的基于时间的数据采集的数据速率。21. 根据权利要求20所述的系统,其中连续的基于时间的数据采集的开始时间与网络 的全局时钟同相。22. 根据权利要求16所述的系统,其中为了发起数据从本地缓冲器到第一缓冲器的连 续传送,所述功能单元还被配置为在连续传送期间执行数据完整性处理,由此防止数据丢 失。23. 根据权利要求22所述的系统,其中数据完整性处理包括: 在数据中嵌入前向纠错码,其中所述执行数据完整性处理使用所嵌入的前向纠错码。24. 根据权利要求16所述的系统,还包括: 一个或多个另外的本地缓冲器,每一个另外的本地缓冲器被配置为接收来自相应另外 的连续的基于时间的数据采集的数据,其中所述功能单元还被配置为: 对于每一个相应另外的连续的基于时间的数据采集: 发起相应另外的连续的基于时间的数据采集的执行,其中该相应另外的连续的基于时 间的数据采集根据相应的第一时钟而执行,其中来自该相应另外的连续的基于时间的数据 采集的数据存储在所述一个或多个另外的本地缓冲器中相应的本地缓冲器中;以及 根据相应的第一时钟发起数据从该相应的本地缓冲器到第一缓冲器的连续传送。25. 根据权利要求16所述的系统,其中所述网络包括: 实时网络; 以太网网络;或者 存储器映射总线。26. -种用于将连续的基于时间的数据采集映射到网络的等时数据传送通道的方法, 所述方法包括: 配置本地缓冲器,用于接收来自连续的基于时间的数据采集的数据; 配置第一缓冲器,用于接收来自本地缓冲器的数据,其中第一缓冲器耦合到等时数据 传送通道; 根据第一时钟执行连续的基于时间的数据采集,其中来自该连续的基于时间的数据采 集的数据存储在本地缓冲器中; 根据第一时钟执行数据从本地缓冲器到第一缓冲器的连续传送;以及 将数据从第一缓冲器等时地提供到等时数据通道。
【文档编号】G06F13/42GK105900077SQ201480056456
【公开日】2016年8月24日
【申请日】2014年10月13日
【发明人】S·钱德霍克, B·K·奥多姆
【申请人】美国国家仪器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1