可配置测量接口的制作方法

文档序号:6433890阅读:144来源:国知局
专利名称:可配置测量接口的制作方法
技术领域
本发明涉及测量设备。
背景技术
很多种测量设备可以被设置成彼此经由测量接口交互的单独的子系统。例如,很多种测量设备、智能传感器、数据获取系统等等,都可以被设置成经由精确定义的测量接口来通信的前端子系统和后端子系统。如果测量接口提供了使得能够对测量设备子系统进行相对独立设计的和布置的结构和协议,那么可以认为该测量接口是精确定义的。
精确定义的测量接口的一个例子是IEEE 1451.2标准中所定义的一种。IEEE 1451.2标准提供了测量设备的前端子系统(STIM)和后端子系统(NCAP)之间的测量接口。IEEE 1451.2标准给出了这样一种结构和协议,其使得STIM能够使用传感器电子数据表(TEDS)来向NCAP通知测量通道、测量单元以及速度和精度参数的设置。
IEEE 1451.2标准在STIM和NCAP之间提供了相对固定的职责分配。STIM的职责可以包括(例如经由传感器)生成原始数据、(例如经由致动器)施加激励、进行信号调节、采样并保持以及缓冲功能、数模转换等等。NCAP的职责可以包括将得自STIM的原始数据转换成工程量、分析并转换数据、检测警告等等。
测量设备的前端和后端子系统之间相对固定的职责分配可能会限制设计者的这样一种能力,即在不显著增加测量设备前端子系统的复杂度的情况下向测量设备增加更精细的测量功能。不幸的是,测量设备前端子系统的复杂度的增加,可能增加测量设备的开发时间和总成本。

发明内容
公开了一种具有可配置测量接口的测量设备,该测量接口使得能够在测量设备的前端和后端子系统中动态分配职责。根据本教导的可配置测量接口使得能够设计这样的测量设备,其在不需要增加测量设备的前端子系统的复杂度的情况下进行精细的测量。根据本教导的测量设备包括与物理环境进行交互的前端子系统、和具有支持前端子系统的一组资源的后端子系统。前端和后端子系统被耦合到测量接口。前端子系统通过测量接口向后端子系统传送一组引导(bootstrap)信息,作为响应后端子系统配置所述资源来支持前端子系统。
从下面的详细说明,可以清楚本发明的其他特征和优点。


按照其具体示例实施例来描述本发明,相应地参考以下附图图1示出了结合本技术的测量设备;图2示出了根据本教导配置测量设备中的测量接口的方法;图3示出了根据本教导的测量设备的后端子系统的一个实施例;图4示出了根据本发明的教导的测量设备的网络,其中每个测量设备都具有可配置测量接口;图5示出了根据本技术的测量设备,其检测快速群发的事件并为每个事件生成和存储高精度的时间戳;图6示出了根据本技术的测量设备,其检测不同类型的快速群发事件并为每个事件生成和存储高精度的时间戳。
具体实施例方式
图1示出了结合了本技术的测量设备10。测量设备10包括前端子系统12和后端子系统14。前端子系统12和后端子系统14经由测量接口18来互连。前端子系统12包括与物理环境进行交互的机构,而后端子系统14包括用于支持前端子系统12的一组资源16。前端子系统12通过经由测量接口18向后端子系统14传送一组引导信息20,来动态地配置资源16的支持功能。
前端子系统12可以使用引导信息20,来使由后端子系统14中的资源16所执行的功能适应在前端子系统12中所执行的特定应用。有很多可以由资源16执行并使用引导信息20来配置的功能的例子。
可以由资源16执行的功能的一个例子是分配测量接口18中的接口线。例如,前端子系统12的不同实现可能需要不同的数据路径(例如串行或8、16、32路并行)和/或不同的时序、信令要求等等。
可以由资源16执行的功能的另一个例子是用于时间戳功能的信令协议。例如,如果测量应用需要用于在前端子系统12中检测到或产生的若干事件的时间戳,那么资源16可以包括多个时间戳寄存器和相关联的触发信号。
可以由资源16执行的功能的另一个例子是检测由前端子系统12获得的一组数据中的模式。例如,如果测量应用需要通过由前端子系统12所采样的数据模式来检测警告或条件或其他事件,那么资源16可以在采样数据经由测量接口18被传送到后端子系统14时,对其进行模式匹配。
可以由资源16执行的功能的另一个例子是对由前端子系统12所获得的数字数据进行的换算/转换等等。
可以由资源16执行的功能的其他例子包括通信功能、数据加密/解密功能、安全功能等等。
引导信息20可以包括一组编程数据。例如,资源16可以包括可编程逻辑设备,而引导信息20可以包括用于该可编程设备的编程数据,例如模式掩码数据。在另一个例子中,资源16可以包括例如CPU的处理器或专用处理器,而引导信息20可以包括资源16中的处理器所执行的代码。
引导信息20可以包括使得后端子系统14能够得到一组编程数据的标识。例如,引导信息20可以被用来标识前端子系统12,以使得后端子系统14可以从后端子系统14的持久性存储器或者从后端子系统14可访问的服务器中查询编程数据,例如模式掩码、代码等等。
引导信息20可以包括校验和,其使得后端子系统14能够验证存储在后端子系统14中的一组编程数据是否是用于前端子系统12的正确编程数据。例如,后端子系统14可以将引导信息20中得自前端子系统12的校验和,与对在其本地持久性存储器(例如EPROM)中得到的编程数据所计算的校验和进行比较。
引导信息20可以包括使得后端子系统14能够生成一组编程数据的信息。例如,引导信息20可以包括一组布尔表达式,其使得后端子系统14能够生成用于可编程逻辑设备的编程数据。在另一个例子中,引导信息20可以包括源代码,后端子系统14将该源代码编译成要由处理器执行的目标代码。
前端子系统12中用于与物理环境进行交互的机构的例子有很多,包括传感器、致动器、以及可以处理与传感器和致动器有关的信息的控制器。可以在前端子系统12中采用的传感器和致动器的例子多到不必提及。
图2示出了根据本教导配置前端子系统12和后端子系统14之间的测量接口的方法。
在步骤100,在前端子系统12和后端子系统14之间的测量接口18中设置一组引导线和一组可分配线。测量接口18还可以包括用于前端子系统12的电源和地线。引导线的设置可以是例如包括时钟、数据输入、数据输出的3条线,或者带时钟的2线半双工,或者不带时钟的1线异步半双工。
在步骤102,后端子系统14将测量接口18的可分配线置于高阻状态。
在步骤104,前端子系统12将引导信息20经由测量接口18的引导线传送到后端子系统14。举几个例子,引导信息20可以是用于一组可编程逻辑的一组布尔表达式和/或一组编程数据、用于处理器的一组源代码和/或目标代码、用于可编程存储器的校验和、或者与前端子系统12相关联的唯一标识。
在步骤106,后端子系统14响应于来自前端子系统12的引导信息20,而初始化可编程环境来执行合适的功能。步骤106可以包括初始化用于后端子系统14中处理器的中断服务例程。步骤106可以包括初始化用于后端子系统14中处理器的实时线程。步骤106可以包括向后端子系统14中的一组可编程逻辑提供一组编程数据。步骤106可以包括将源代码编译成目标代码,和/或将布尔表达式编译成编程数据。步骤106可以包括从本地存储器或从远程服务器获得代码或数据。
在步骤108,后端子系统14将测量接口18的可分配线从高阻状态释放,并向前端子系统12传送使前端子系统12启动的信号。可以将启动信号经由测量接口18的引导线传送到前端子系统12。
图3示出了根据本教导的测量设备10的后端子系统14的一个实施例。所示出的实施例中的后端子系统14中的资源16包括处理器40、FPGA 42、存储器44、和线接口电路46。
测量接口18包括一组引导线30和一组可分配线32。线接口电路46将可分配线32置于高阻状态,并响应于来自处理器40的控制信号53而释放高阻状态。
处理器40经由引导线30从前端子系统12获得引导信息20。处理器40包括根据上述方法步骤处理引导信息20的驻留代码。
例如,如果引导信息20包括用于FPGA 42的一组编程数据,那么处理器40就使用控制信号52启动FPGA 42,并将该编程数据馈送到FPGA42。处理器40可以将所获得的编程数据存储到例如持久性存储器的存储器44中,以不必在下一次启动时从前端子系统12获得编程数据。
如果引导信息20包括定义要在FPGA 42中执行的所需功能的一组布尔表达式,那么处理器40就将布尔表达式编译成编程数据,并且启动FPGA 42并将该编程数据馈送到FPGA 42。处理器40可以将被编译的编程数据存储到存储器44中,以不必在前端子系统12的下一次启动时重新编译编程数据。处理器40可以使用在远程服务器上实现的编译器来编译从前端子系统12获得的布尔表达式。
如果引导信息20包括用于FPGA 42的一组编程数据的校验和,那么处理器40就对已经存储在存储器44中的一组编程数据计算校验和。如果校验和匹配,则处理器40启动FPGA 42并将编程数据馈送到FPGA 42。如果校验和不匹配,则处理器40经由引导线30向前端子系统12发送消息,以使前端子系统12向后端子系统14发送合适的编程数据或布尔表达式。
如果引导信息20包括用于前端子系统12的唯一标识,那么处理器40可以在已经存储在存储器44中的一组或多组编程数据中,搜索用于FPGA42的与唯一标识相关联的一组编程数据。如果找到了合适的编程数据组,则处理器40启动FPGA 42并将编程数据馈送到FPGA 42。如果没找到合适的编程数据,则处理器40经由引导线30向前端子系统12发送消息,以使前端子系统12向后端子系统14发送合适的编程数据或布尔表达式。处理器40可以使用该唯一标识来从服务器获得合适的编程数据。
如果引导信息20包括由处理器40执行的一组目标代码,那么处理器40安装该目标代码。目标代码可以是用于处理来自FPGA 42或某个其他设备的中断的中断服务例程代码。目标代码可以是用于实时线程的代码。安装目标代码可以包括动态链接步骤,其使得此新安装的目标代码能够访问在处理器40上执行的操作系统或其他软件元件的数据、变量、例程等等。处理器40可以将所获得的目标代码存储到存储器44中。持久性存储器可以被用来使得不必在前端子系统12的下一次启动时获得并重新安装目标代码。目标代码可以是任何类型的合适的目标代码。例如,处理器40可以执行Java虚拟机,而引导信息20可以包括Java字节代码。
如果引导信息20包括要由处理器40执行的代码的一组源代码,那么处理器40将该源代码编译成目标代码并安装该新编译的目标代码。处理器40可以将该新编译的代码存储到存储器44中,以不必在前端子系统12的下一次启动时重新获得并重新编译源代码。处理器40可以使用在远程服务器上提供的编译器服务,来编译得自前端子系统12的源代码。
如果引导信息20包括用于前端子系统12的唯一标识,那么处理器40可以在已经存储在存储器44中的一组或多组目标代码中,搜索与唯一标识相关联的目标代码。如果没找到合适的目标,则处理器40可以经由引导线30向前端子系统12发送消息,以使前端子系统12向后端子系统14发送合适的目标代码或源代码。处理器40可以使用该唯一标识来从远程服务器获得合适的目标代码或源代码。
图4示出了根据本发明的教导的测量设备的网络,其中每个测量设备都设置有后端子系统210-214和相应的前端子系统。每个后端子系统210-214包括经由网络200来通信的机构。例如,后端子系统214包括能够根据因特网协议经由网络200来通信的网络接口220。
后端子系统210-214每一个都能够使用因特网协议来访问服务器202。后端子系统可以经由网络200从服务器202获得编程数据、目标代码、或任何其他合适的信息,以支持其相应的前端子系统。例如,服务器202可以存储每个都与前端子系统的唯一标识相关联的多组编程数据或目标代码。后端子系统可以向服务器202发送包括从其相应的前端子系统所获得的唯一标识的请求,以标识并获得合适的编程数据或目标代码组。
服务器202可以提供将布尔表达式编译成编程数据的服务,和/或将源代码编译成目标代码的服务。这可以用来使后端子系统免除进行编译的任务。作为替代,后端子系统向服务器202发送从其前端子系统获得的一组源代码或布尔表达式,以及将其编译的请求。作为响应,服务器202进行合适的编译,并将所产生的编程数据或目标代码发送回请求的后端子系统。
图5示出了根据本技术的测量设备66,其检测快速群发(burst)的事件并为每个事件生成和存储高精度的时间戳。测量设备66包括经由测量接口64交互的前端子系统60和后端子系统62。测量设备66包括检测快速群发事件的事件检测电路76。
测量接口64是根据本技术的动态测量接口,其使得测量设备66的设计者能够不必为支持对快速群发事件加时间戳而过度地增加前端子系统60的复杂度。相反,测量接口64被前端子系统60用来利用一组FPGA代码80配置后端子系统62中的FPGA 68,并用来配置后端子系统62中的一组新应用软件82,以支持对快速群发事件加时间戳。FPGA代码80和应用软件82被存储在前端子系统60的配置存储器72中。通过测量接口64的引导通信线装载FPGA代码80和应用软件82。前端子系统60的配置存储器72或相关联元件包括合适的通信硬件,以支持引导线的特定物理实现,例如2/3线、全/半双工等等。
响应于用来自配置存储器72的新FPGA代码对FPGA 68的编程,在FPGA 68中创建时间戳FIFO 74,并且测量接口64的一对可分配线被用作事件检测电路76和时间戳FIFO 74之间的事件检测信号84和事件确认信号86。事件检测信号84被用来指示何时检测到新事件,而事件确认信号86是用来握手的确认标志,表示时间戳FIFO 74准备好接收另一个事件检测信号。时间戳FIFO 74为每个被检测事件从系统时钟88获得当前时间的值,并将其存储到时间戳FIFO 74中。
时间戳FIFO 74对在后端子系统62上运行的应用软件70即被安装的应用软件82提供了接口。应用软件70通过一组存储器映射的FPGA寄存器来与时间戳FIFO 74交互。数据可用信号85使得后端子系统62中的处理器启动唤醒应用软件70的中断。应用软件70访问FPGA 68的读时间戳寄存器来获取硬件时间戳。
图6示出了根据本技术的测量设备166,其检测不同类型的快速群发事件并为每个事件生成和存储高精度的时间戳。测量设备166包括前端子系统160,前端子系统160具有检测不同类型的快速群发事件的事件检测电路176。前端子系统160通过根据本技术的测量接口164被耦合到后端子系统162。
后端子系统162可以基本上类似于上面示出的后端子系统62,例如可以具有基本上类似的资源、FPGA、处理器等等,以对前端子系统提供动态支持。或者,后端子系统62可以被重新使用来与前端子系统160一起构建测量设备166。在任一情况下,前端子系统160都包括提供了一组FPGA代码180和一组应用软件182的配置存储器172,FPGA代码180和应用软件182被用来配置后端子系统62或162来支持对由事件检测电路176所检测的不同类型的事件的快速加时间戳。
用FPGA代码180对后端子系统162中的FPGA 168的编程创建了FIFO 174,以存储事件标志的类型以及相应的时间戳。在此例子中,事件检测电路174能够检测4种不同类型的事件。因此,通过测量接口164的可分配线提供了4种不同的事件检测信号。与测量设备66的FIFO 74相比,FIFO 168被扩展来包括附加位,以存储类型信息。类似地,被应用软件170访问的FIFO接口寄存器也提供了此信息。
通过为每类事件使用单独的可分配线简化了前端子系统160。在其他实施例中,事件检测信号可以被作为包含每一类事件的类型号的数据总线。例如,对于4条线,可以通信多达16个不同的事件类型。
以上对本发明的详细说明是为了解释的目的而提供的,并不想是穷尽的或者将本发明仅仅限制到所公开的确切实施例。因此,本发明的范围由所附的权利要求来限定。
权利要求
1.一种测量设备,包括被耦合到测量接口(18)的前端子系统(12),所述前端子系统(12)用于与物理环境进行交互;被耦合到所述测量接口(18)的后端子系统(14),所述后端子系统(14)具有支持所述前端子系统(12)的一组资源,以使得所述后端子系统(14)通过所述测量接口(18)从所述前端子系统接收一组引导信息(20),并作为响应而配置所述资源来支持所述前端子系统(12)。
2.如权利要求1所述的测量设备,其中所述引导信息(20)包括用于所述后端子系统(14)中所述资源的一组编程数据。
3.如权利要求1所述的测量设备,其中所述引导信息(20)包括标识,所述标识使得所述后端子系统(14)能够得到用于所述后端子系统(14)中所述资源的一组编程数据。
4.如权利要求3所述的测量设备,其中所述标识使得所述后端子系统(14)能够从服务器得到所述编程数据。
5.如权利要求3所述的测量设备,其中所述后端子系统(14)包括持久性存储器,以使得所述标识让所述后端子系统(14)能够从所述持久性存储器得到所述编程数据。
6.如权利要求1所述的测量设备,其中所述引导信息(20)包括用于所述后端子系统(14)中所述资源的一组编程数据,并且所述后端子系统(14)包括用于存储所述编程数据的持久性存储器。
7.如权利要求1所述的测量设备,其中所述引导信息(20)使得所述后端子系统(14)能够为所述后端子系统(14)中的所述资源生成一组编程数据。
8.一种用于测量设备的接口方法,包括以下步骤在所述测量设备的前端和后端子系统(14)之间提供包括一组引导线和一组可分配线的测量接口(18);将所述可分配线置于高阻状态;将一组引导信息(20)经由所述引导线从所述前端(12)传送到所述后端子系统(14);响应于所述引导信息(20)而初始化所述后端子系统(14)中的编程环境;从所述后端子系统(14)向所述前端子系统(12)传送信号,以使得所述前端子系统(12)启动;将所述可分配线的子组从所述高阻状态释放。
9.如权利要求8所述的接口方法,其中初始化所述后端子系统(14)中的编程环境的步骤,包括为所述后端子系统(14)中的处理器初始化中断服务例程的步骤。
10.如权利要求8所述的接口方法,其中初始化所述后端子系统(14)中的编程环境的步骤,包括为所述后端子系统(14)中的处理器初始化实时线程的步骤。
全文摘要
本发明公开了具有可配置测量接口(18)的测量设备,该测量接口(18)使得能够在测量设备的前端和后端子系统之中动态分配职责。根据本教导的测量设备包括与物理环境进行交互的前端子系统(12)、和具有支持前端子系统(12)的一组资源的后端子系统(14)。前端子系统(12)和后端子系统(14)被耦合到测量接口(18)并通过其通信。前端子系统(12)通过测量接口(18)向后端子系统(14)传送一组引导信息(20),作为响应后端子系统(14)配置所述资源来支持前端子系统(12)。
文档编号G06F9/445GK1637392SQ200410086058
公开日2005年7月13日 申请日期2004年10月22日 优先权日2003年12月23日
发明者杰弗森·B·伯奇, 格伦·R·恩格尔, 小格伦·珀迪 申请人:安捷伦科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1