用于评估电子部件的系统和方法与流程

文档序号:16367586发布日期:2018-12-22 08:30阅读:275来源:国知局
用于评估电子部件的系统和方法与流程

本申请要求2016年3月30日提交的美国临时申请序列号62/315,380和2017年2月22日提交的美国专利申请序列号15/439,822的权益,其公开内容通过引用全部结合在此。

背景技术

与许多类型的环境传感器(例如,温度、振动、加速度、光、速度、声音等)的接口通常包括使用模拟电路和混合信号电路来接收和转换来自传感器的信号以提供离散时间或数字代表。随着不同可用传感器类型的范围扩大并且随着精度的不断提高,能够处理和转换来自传感器的信号的电路设计变得越来越复杂。与此同时,模拟硬件设计专业知识在应用和系统设计工程师中正在逐渐减少,而焦点则转向一个或多个软件或传感器专业知识。



技术实现要素:

各种示例涉及用于评估电子部件的系统和方法。服务器计算装置可为在用户计算装置上执行的用户应用程序提供评估用户界面。服务器计算装置可从所述用户应用程序并经由所述用户界面接收用于评估的电子部件的指示,并访问所述电子部件的配置数据集。配置数据集可包括:描述所述电子部件的一组参数的参数数据;描述参数集的第一参数与第一模型输入参数之间的关系的绑定数据;和描述所述电子部件的模型的模拟器数据。如本文所述,模型可以驻留在服务器计算装置或不同的位置。服务器计算装置也可以至少部分地基于配置数据集来评估电子部件。

还公开了另外的示例,包括方法和机器可读介质示例。

附图说明

在附图中,不一定按比例绘制,相同的附图标记可以描述不同视图中的类似组件。具有不同字母后缀的相同数字可表示类似组件的不同实例。附图通过示例而非限制的方式示出了本文件中讨论的各种示例实施例。

图1示出了根据本公开的示例实施例的环境。

图2示出了根据本公开的示例实施例的评估系统。

图3是示出根据本公开的示例实施例的环境的另一示例实施例的图。

图4是示出配置数据集的一个示例实施例的图。

图5示出了根据本公开的示例实施例的信号链。

图6是示出图5的另一示例信号链的图。

图7是示出又一示例信号链的图。

图8是示出利用客户端和评估工具来评估示例信号链的一个示例评估的图。

图9是示出可以被执行以实现快速傅里叶变换(fft)分析的处理流程的一个示例实施例的流程图。

图10是示出可以被执行以检测模数转换器(adc)的削波的处理流程的一个示例的流程图。

图11是示出可以经由用户界面(ui)提供给用户的评估屏幕的一个示例的屏幕截图。

图12是示出具有附加特征的评估屏幕的另一示例的屏幕截图。

图13是示出选择了fft分析标签的图11和12的评估屏幕的另一示例的屏幕截图。

图14是示出了选择了波形标签的图11和12的评估屏幕的另一示例的屏幕截图。

图15是示出图11和12的评估屏幕的另一示例的屏幕截图,其中选择了下一步骤选项卡。

图16是示出图11和12的评估屏幕的另一配置的示例的屏幕截图。

图17是示出用于计算装置的软件架构的一个示例的框图。

图18是示出计算装置硬件架构的框图,其中可以执行一组或一系列指令以使机器执行本文所讨论的任何一种方法的示例。

具体实施方式

以下阐述某些细节以提供对本公开的示例实施例的充分理解。然而,本领域技术人员将清楚,可以在没有这些特定细节的各个方面的情况下实践本公开的示例实施例。在一些情况下,未详细示出公知的电路、控制信号、定时协议、计算机系统组件和软件操作,以避免不必要地模糊本公开的所述示例实施例。

本发明人已经认识到,模拟或混合信号设计专业知识的侵蚀可能导致设计成本增加、进度超支,甚至可能影响最终产品质量。例如,如果系统工程师可以选择一系列不同的转换和信号处理设备,则工程师可能没有足够的资格或工具来做出有关设备选择或系统内设备配置的明智决策,包括内部配置或外部支持电路。因此,使用模拟工具可以使用户能够以“虚拟”方式评估特定传感应用的上下文中的各种不同设备和设备配置。

这里描述的虚拟评估工具的示例可以基于所接收的选择和配置设置来提供对所选电路或系统组件和配置的评估。电路和系统设计通常包括一个或多个系统参数的规范,例如在传感器规范方面(例如,包括感测的参数范围、环境操作范围或限制、感测的参数测量精度或感测的参数测量精度中的一个或多个)。虚拟评估工具可以提供允许用户选择电子部件(也称为组件)的接口。组件的示例可以包括电子设备、电路、系统等。虚拟评估工具还可以提供用于设置或选择所选组件的配置的界面。虚拟评估工具还可以向所选择的组件提供刺激信号(例如,具有指定特征的所选波形或输入信号),以便提供指示对所提供信号的行为响应的评估数据。评估数据可用于确定所选组件是否满足用户的需要。

图1示出了根据本公开的示例实施例的环境100。环境100可以包括服务器120,服务器120可以执行评估工具124,该评估工具124响应于接收到刺激信号而向客户端102(1-n)提供所选择的一个或多个组件的行为模型。客户端102(1-n)可以是或包括任何合适的计算装置,包括例如台式计算机、膝上型计算机、工作站、移动设备、平板电脑等。评估工具124可以响应于从客户端102(1-n)接收对组件或配置中的至少一个的选择,将行为模型提供给客户端102(1-n)。各个客户端102(1n)可以包括编码有可执行指令的至少一个计算机可读介质,所述可执行指令可以由客户端102(1n)的一个或多个处理单元执行,用于发送、接收、编码和/或解码来自服务器120的数据,例如相应客户端102(1n)上的应用103(1n)。在一些例子中,应用程序103(1n)可以包括用于从传感器104(1m)或服务器120发送、接收、编码或解码数据的基于web的应用程序。例如,应用程序103(1-n)可以在web浏览器应用程序中执行。在一些例子中,应用103(1n)可以包括另一个非基于web的应用,用于从传感器或服务器120发送、接收、编码和/或解码数据。

各个客户端102(1n)可以耦合到网络110,以向服务器120提供一个或多个组件或配置选择,并从服务器120接收评估数据。网络110可以使用一个或多个网络来实现,例如,但不限于,局域网(lan)、广域网(wan)、城域网(man)、蜂窝网络和/或因特网。提供给网络110,来自网络110和来自网络110的通信可以是有线和/或无线的,并且还可以由现在或将来的本领域中已知的任何网络设备提供。通过网络110通信的设备可以与任何通信协议通信,包括但不限于tcp/ip、udp、rs-232和ieee802.11、长期演进(lte)或lte高级无线通信、或任何其他蜂窝/无线通信标准。

服务器120可以提供、处理和/或与接口、模块和/或电路通信,以评估从客户端接收的所选组件和配置,并将评估数据提供给客户端。服务器120可以包括一个或多个处理器单元121和计算机可读介质123。计算机可读介质123可以编码用于执行评估工具124的指令,该评估工具124可以包括客户端通信接口、信号发生器、数据分析器模块等。例如,评估工具124的指令可以使一个或多个处理器单元121从客户机102(1n)的客户端接收评估具有所选配置的所选组件的请求,并且响应于该请求,使用生成的信号运行模拟并向请求客户端提供评估数据。服务器可能能够执行评估工具124的指令的多个实例,以响应来自单个客户端、多个不同客户端或其组合的多个同期请求。服务器120可以向用户提供组件列表或用户可调节配置选项中的一个或多个。组件列表和用户可调整的配置选项可以存储在服务器120可访问的一个或多个数据库中。例如,数据库可以存储在数据存储器130中。

在操作中,客户机102(1n)的客户端可以启动相应的应用程序103(1n)以使服务器120参与用于执行虚拟评估工具124的指令。例如,客户端可以导航到指向服务器120的网站,以请求访问评估工具124。服务器120可以向请求客户端提供组件选项列表,并且可以从组件列表中接收对一个或多个组件的选择。在一些例子中,组件列表可以包括模拟电路组件,例如数模转换器(dac)、adc、滤波器或其他信号调节电路等。在其他示例中,组件的选择可以来自基于客户端先前的选择在服务器120上运行的另一个应用程序。

由评估工具124评估的组件可包括分立设备和/或链或其他设备布置。分立器件可以包括例如dac、adc、滤波器、传感器、晶体管等。离散器件的链(在此称为信号链)可以包括彼此通信以处理刺激信号的分立设备的示例。例如,组件可包括如本文所述的系统、电路、设备等。描述了要评估的信号链,在一些例子中,信号链数据通过ui364从用户接收。

响应于接收到对组件的选择,评估工具124可以向请求客户端提供用于组件的用户可调整的配置选项。用户可调节配置选项可以对应于可用于一个或多个组件的配置设置(例如,时钟速率、外部抖动、是否启用一个或多个特征,诸如数字下变频器(ddc))。可用于存储在配置文件数据库中的配置数据集来描述可用于特定组件的配置选项,例如在数据存储器130处。配置数据集可以是或包括任何合适的逻辑数据单元,例如,文件。评估还可以包括将刺激信号馈送到组件。服务器120还可以为信号发生器提供用户定义的配置选项,以提供数据信号,例如信号类型(形状)、频率、幅度等。在一些例子中,可以从数据库中检索输入信号配置选项,例如配置文件数据库。

响应于接收所选择的配置,评估工具124可以通过向组件的模型提供所生成的刺激信号(基于所接收的配置选择)来运行评估,例如,以提供评估输出数据。组件的评估可以基于与从产品数据库检索的组件相对应的信息和/或从客户端102(1-n)接收的组件的配置选项。评估工具124可以实现信号链以运行模拟,包括信号发生器、一个或多个模拟器、以及一个或多个数据分析器。评估工具124可以例如通过由应用程序103(1-n)实现的用户界面向请求客户端102(1-n)提供评估输出数据。在一些例子中,请求客户端102(1-n)可以调整一个或多个配置选项并提供再次执行评估的请求。

图2示出了根据本公开的示例实施例的评估系统200。例如,评估系统200可以示出环境100的评估工具124的一个示例实现和/或使用。系统200可以包括评估工具224,其被配置为基于来自组件数据库230和配置数据集240的数据执行虚拟评估。评估工具224可以在图1的服务器120中实现。组件数据库230和/或配置数据集240可以在图1的服务器120和/或数据存储130中实现。

这里更详细描述的图11-15描绘了示出与评估工具相关联的评估屏幕1100的各种示例屏幕截图。评估屏幕1100是示例,并非旨在进行限制。在一些例子中,评估工具224可以使用动态链接库(dll)的集合服务器(例如服务器120)作为基于web的应用程序运行。例如,dll可以包括活动功能模型、通过实现功能建模操作(motif)dll和虚拟评估dll。例如,可以使用c#或c++对dll进行编码。motifdll可以包括应用程序接口(api),其接收与来自组件数据库的所选组件相对应的一个或多个组件模型文件,并且可以使用相应的组件模型文件来运行所选组件的模拟。

评估工具224可以依赖于组件数据库230和配置数据集240。组件数据库230可以以任何合适的格式存储,例如可扩展标记语言(xml)格式。来自组件数据库的数据可以加载到motifdll中,以便能够模拟高速组件。可以以xml格式存储的配置数据集240可以被加载到评估工具224的组件中或者由评估工具224的组件(例如,dll或其他类似组件)加载,以为各个产品配置用户界面。配置数据集240也可以由虚拟评估dll用于配置用户界面和底层模拟之间的详细结构关系。

评估工具224可以与在浏览器中运行的客户端(例如,图1的客户端102(1n)的客户端)对接。在一些示例中,客户端软件可以在reactjavascript框架中编写。附加功能可以由称为d3的开源图形库提供。虚拟评估工具224可以向客户端提供来自配置数据集240的组件列表。在一些示例中,组件列表可以被分成类别。在一些例子中,组件列表可以是或包括产品图,例如芯片或模块。该图可以包括一个或多个突出显示的组件。在一些例子中,图表的突出显示可以改变以强调当前选择的组件。在一些例子中,评估工具224可以呈现链接以打印评估会话、导航到数据表、导航到产品页面、或购买与该组件相关联的设备,例如图8的屏幕捕获图像800中所描绘的。

由评估工具224支持的组件可以与配置数据集240的唯一配置数据集相关联。用于组件的配置数据集240可以包括描述组件的各种数据,例如,用户界面的全部或部分的布局,用于接收用户配置设置以及设置、结果和模拟之间的关系等。评估工具224使用这些界面和结构关系来执行评估。配置数据集240,在一些例子中,是用xml生成或编码的,文件可能包括几个部分,如args、bindings、bundles、generators、simulators、analyses、evaluations和pages。部分可以包括一个或多个元素。配置的元素可以对应于软件中概述的对象的实例。当虚拟评估工具224初始化会话时,它读取适当产品的配置文件并创建指定对象的各种关联实例。

图3是示出根据本公开的示例实施例的环境300的另一示例实施例的图。环境300包括客户端302和服务器端301。客户端302可以以与本文关于客户端102(1-n)描述的方式类似的方式操作。例如,客户端302可以执行web浏览器应用程序350。可以使用任何合适的web浏览器应用程序350,例如,microsoftcorporation的internetexplorertm、microsoftcorporation的microsoftmozillafoundation的google公司的chrome等。web应用程序352可以在web浏览器应用程序350中执行或通过web浏览器应用程序350执行。例如,web浏览器应用程序350和/或web应用程序352可以执行图1的应用程序103(1-n)的操作。web应用程序352可以生成和/或填充用户界面(ui)364,其可以显示在客户端302的屏幕或其他输入/输出(i/o)设备上。

服务器侧301可以包括评估工具324,其可以以与本文关于评估工具124、224描述的方式类似的方式操作。例如,评估工具324可以在一个或多个服务器(例如环境100的服务器120)处执行。评估工具可执行程序324可以与web应用程序352进行通信,例如,以通过ui364接收参数值和/或提供评估输出数据或用于通过通信链接357填充ui364的其他数据。通信链接357可以是或者通过网络进行,类似于图1的网络110。在一些例子中,虽然可以使用任何合适的技术,但是通讯链接357可以使用异步javascript和xml(ajax)编程技术来实现。在一些例子中,评估工具324可包括可一起执行以实现本文所述的评估工具的操作的多个可执行程序和/或dll。

评估工具324可以与一个或多个模型356通信。模型356在服务器侧301上示出,并且可以在执行评估工具324的同一服务器上和/或在不同的计算装置处实现或执行。可以使用任何合适类型的模型。例如,数据模型358可以描述电子部件对数据库、表或其他合适数据结构处的不同刺激信号的建模的响应。评估工具324可以查询数据模型358以检索描述建模组件对各种预模拟刺激信号的响应的数据。可执行模型360可以是由服务器或其他合适的计算装置执行的算法模型。可执行模型的示例包括例如具有集成电路强调(spice)模型的仿真程序、以及motif模型,例如可从adi公司获得的adisimadc和adisimdac模型。

在一个例子中,评估工具324也可以与一个或多个工作台模型362通信。工作台模型362可以是“硬件在环”模型,其包括要建模的组件的物理模型电路具有刺激信号并且测量其响应。例如,工作台模型362可以在物理实验室设施中实现,该物理实验室设施可以远离客户端302和/或来自执行评估工具324的服务器或其他计算装置。实验室设施中的计算装置可以接收描述所需刺激信号的数据,在实验室设施提示设备以产生刺激信号,并将刺激信号提供给建模部件的物理实例。实验室设施处的计算装置也可以捕获组件的响应并将捕获的响应发送回评估工具324。

评估工具324可以在评估期间启动模型356。例如,评估工具324可以通过使可执行模型360在执行评估工具324的服务器处执行和/或通过请求另一个计算装置执行可执行模型360来启动可执行模型360。评估工具324可以通过访问包括构成数据模型358的数据的数据存储或其他存储位置来启动数据模型358。评估工具可以例如通过请求实验室设施处的计算装置执行工作台模型362来启动工作台模型362,例如,如本文所述。

评估工具324还可以与一个或多个配置数据集340通信。配置数据集340,如本文中关于图4更详细描述的,可以包括用于利用模型356中的一个或多个模型来促进组件的模拟的各种元数据。在一些例子中,可以由评估工具324评估的每个组件可以与配置数据集340相关联。在一些例子中,单个配置数据集340可以描述任何种类的组件,包括例如本文所述的信号链。

图4是示出配置数据集340(1)的一个示例实施例的图。例如,配置数据集340(1)可以是图4中所示的配置数据集340之一。配置数据集340(1)可以包括参数数据450、绑定数据452、捆绑数据454、发生器数据456、模拟器数据458、分析数据460、评估数据462和页面数据464。

参数数据450可以描述可以如本文所述使用的参数,以在用户(例如,操作客户端102(1-n))和一个或多个模型356之间进行接口。参数或arg可以是任何在评估工具324中使用的值(例如,自定义值),例如用户定义的设置或性能结果,例如与相关联的元数据一起。参数可具有由元数据(其可以是参数数据450的一部分)描述的各种属性。示例参数属性包括类型,诸如浮点、整数、布尔等,以及参数的唯一名称。其他示例参数属性包括显示的名称、单元信息、最小和最大允许值等。配置数据集340(1)的参数数据450可以将数据和元数据的枚举限制为要在评估会话中使用的参数,但不会在其中执行任何操作。

参数数据450可以包括描述评估工具424使用的不同参数的数据(例如,元数据)。例如,描述特定参数的参数数据450可以指示参数的类型。示例参数类型可以包括浮点、整数、字符串、布尔值、可枚举等。描述特定参数的参数数据450还可以包括描述一组可允许值的限制对象。限制可以采用最小、最大或最小-最大对、一组离散允许值或无限制的形式。当将值分配给参数时,评估工具424或其他合适的组件可以针对由参数数据描述的限制(如果有的话)检查所接收的值的有效性。

在一些例子中,参数数据450描述的参数提供用于接收模型356的输入参数的通用格式。如本文所述,参数可允许ui364提供和/或请求来自用户的模拟输入参数。无论使用何种基础模拟器,发电机,评估或分析或分析,都以一致的方式形式存在。示例参数数据450如下所示。在参数数据450的示例中,初始化具有无限制的浮点参数和具有离散的允许选项组“fs”和“odr”的字符串参数。

<args>

<floatname="vstart"displayname="startvoltage"unit="v"value="0.001"/>

<togglename="fsorodr"displayname="controlfsorodr"value="fs">

<option>fs</option>

<option>odr</option>

</toggle>

</args>

在该示例中,参数vstart提供参数名称、参数值和参数选择fsorodr。fsorodr可以指示启动电压是具有指定的输出数据速率(odr)还是指定的滤波器。注意,该示例参数数据450是示例并且不旨在限制。

绑定数据452可以描述参数之间的绑定或关系(例如,参数数据450描述的参数)。绑定可以是一个或多个源参数(也称为源)与一个或多个目标参数(也称为目的地)之间的有向关系。一个示例性结合直接将第一参数arga与第二参数argb相关联。在此示例绑定中,argb的值跟踪arga的值,以便当arga的值更改时,argb的值设置为相同。在一些示例性结合中,几个参数可以通过公式在数学上连接(例如,代数连接)。在另一个示例性结合中,可以将一个参数argc设置为两个其他参数,arga和argb的平方和的平方根。

结合可以以任何合适的格式表示参数之间的数学关系,例如,反向波兰表示法。在一些例子中,绑定可以是有条件的或基于场景的。例如,条件约束可以描述参数之间的关系,这种关系在某些条件下是真的,在其他条件下是假的。如果参数或参数组被设置为特定值,则可以满足条件绑定的条件或条件,但在其他时间不能。

下面是示例绑定数据452,显示了两个示例绑定。第一个绑定包括一个约束,一个名为4800overodr的参数等于4800除以参数odr的值。第二个绑定是一个条件绑定,表示如果fsorodr的值为'fs',fsinternal将被设置为fsbits的值,但如果fsorodr的值为'odr',则将设置为4800overodr的值。

<bindings>

<bindingrpn="4800@odr/"destination="4800overodr"/>

<bindingtoggle="fsorodr"destination="fsinternal">

<casevalue="fs"source="fsbits"destination="fsinternal"/>

<casevalue="odr"source="4800overodr"destination="fsinternal"/>

</binding>

</bindings>

在一些例子中,如本文所述,绑定可以允许评估工具324以有效和/或一致的方式在ui364和模型356之间转换信息。例如,不同模型356可以期望以不同方式指定的不同输入参数集,例如在不同单元中等。由绑定数据452描述的绑定可以将经由ui364从用户接收和/或提供给用户的一个或多个参数与表示特定模型356的输入参数的一个或多个其他参数相关联。例如,绑定可以确保一组用户定义的设置映射到各种模型356的输入参数。例如,特定模型、发生器、评估或分析可能期望接收以毫伏(mv)表示的起始电压。另一方面,参数可以提供以伏特为单位的起始电压。绑定可以将参数转换为模拟器、生成器、评估或分析所期望的输入。在另一示例中,当模型356返回性能结果时,绑定将这些结果映射回用户友好的格式以进行传递。

在一些例子中,绑定数据452可包括具有任何合适深度的任何合适数量的绑定。在图理论术语中,确定参数值的结合可以表示为指向根的树,抗树突。当启用或禁用诸如数字下变频或数控振荡的功能时,其配置信息从根本上改变的设备可能是有用的。

捆绑数据454描述捆绑。束可以描述将例如在ui364的公共区域处出现的输入和/或输出的分组。例如,在图12-14中所示的示例评估屏幕1100中,束可以描述输入和/或出现在设置列中的输出,包括在评估屏幕1100的左侧示出的字段1120、1122、1124。束的内容通常包括参数,例如,由参数数据450描述。束可能是空的,例如,用于启用外部rc电路的束可以使ui364显示与该特征有关的输入和/或输出。当禁用外部rc电路功能时,可以类似地禁用该束,并且显示器可以不显示输入或输出。下面的示例包数据454演示了两个包。第一个称为“extenabled”,表示要显示“电阻”输入和“电容”输入。第二个,称为“extdisabled”,显示要显示的一组空输入和/或输出,例如,当rc电路功能被禁用时。

<defname="common-bundles">

<bundlename="extenabled">

<argname="resistance"/>

<argname="capacitance"/>

</bundle>

<bundlename="extdisabled"/>

</def>

发生器数据456可以描述一个或多个发生器,其可以用于为包括由配置数据集340(1)描述的组件的模型生成一个或多个刺激信号。发生器可以根据定义的模式(例如,单音正弦波等)指定刺激信号。可以使用任何合适的发生器。在一些例子中,发生器数据456可以描述发生器输入参数。以下示例发生器数据456描述了双音发生器:

<generators>

<twotonename="twotone">

<bindingsource="amp1"destination="amplitude1"/>

<bindingsource="freq1"destination="frequency1"/>

<bindingsource="amp2"destination="amplitude2"/>

<bindingsource="freq2"destination="frequency2"/>

</twotone>

</generators>

模拟器数据458可以描述一个或多个模拟器。模拟器可以包裹模型356。例如,模拟器可以包括描述模型输入参数的元数据,例如,根据参数和/或绑定(例如,由参数数据450和/或绑定数据452描述)。模拟器还可以包括用于将由发生器生成的刺激信号转换为模型356所期望的格式的元数据。分析数据460可以描述可以对模型356的输出执行的一个或多个分析。例如,分析可以从模型356接收输出数据并生成评估数据,其可以采用图形和性能度量的形式。

分析的示例可以包括x-y图分析,其生成描述时域中的模型输出的电压、电流、功率或其他参数的评估数据、傅立叶变换分析、诸如fft生成描述模型输出的频率内容的评估数据等。

评估数据462可以描述可以利用配置数据集340(1)的一个或多个评估。例如,评估数据462可以描述一个或多个信号链、一个或多个发生器、以及一个或多个分析。页面数据464可以描述ui364的不同页面,也称为ui364的屏幕。例如,页面的页面数据464可以指定在页面上显示哪些参数或包,并且可以指定显示什么结果。(结果也可以用参数和/或束来描述)。在一些例子中,页面的噬菌体数据464可以指定将运行什么评估和/或分析和/或将是什么图形或其他输出形式显示。例如,在fft分析模块中结束的用于信号改变的页面可以描述fft图的呈现,例如,如图13所示。

在诸如模拟器、生成器或分析的对象内,可以设置更多参数以使对象起作用。基于类型识别哪个参数在哪个对象中是已知的priori。例如,上述双音发生器可能需要两个幅度和两个频率以产生信号输出。这些可以保留为默认值,也可以通过先前声明的参数的绑定来指定。

在评估工具324中的性能模拟中可以依赖与发生器、模拟器和分析相对应的声明对象。例如,信号链可包括一个或多个发生器、一个或多个模拟器以及一个或多个分析。图5示出了根据本公开的示例实施例的信号链500。信号链500可以包括信号发生器510、模拟器520、滤波器530和数据分析器540。信号链500可以通过本文描述的评估工具的各种示例中的任何一个来实现。评估工具中的许多评估,特别是高速产品中的评估,可以使用信号链上部结构(例如信号链500)来计算。信号链可以包括以指定方式连接在一起的另外三个子结构,称为链式链接。第一链环是信号发生器510链式链路,其可以包括产生和提供刺激信号的能力。发生器510可以通过配置数据集处的发生器数据来描述作为评估对象的一个或多个组件。

信号发生器510可以依次链接到一个或多个模拟器520链链接。如上所述,模拟器或模拟器可以包裹模型356以用于对组件或组件集进行建模。模拟器520可以将生成的刺激信号(或先前模拟器的输出)提供给模型356,例如motif模型,用于模拟。模拟器520的输出可以被提供给其他模拟器和/或数据分析器540链链接,其可以包括一个或多个分析以分析模型输出数据以确定性能特征并提供评估数据。在一个例子中,模拟输出数据可以在到达数据分析器540之前通过滤波器530。在一些示例中,滤波器530可以包括sinc滤波器(例如,sin(x)/(x)或sinc(πx)/(πx))。在一些例子中,可以使用模拟器数据458描述的模型356和模拟器来模拟滤波器。

数据分析器540包括两个示例分析。例如,频域(fd)分析542可以执行和/或促进将模型输出数据变换到频域的fft。在一些例子中,fd分析542可以进一步基于变换的模拟数据确定噪声和失真特性,例如信噪比(snr)。例如,图13的屏幕捕获图像600描绘了当选择fft标签时的fft图。在一些例子中,数据分析器540可以包括除fd分析542之外或代替fd分析542的时域(td)分析544。td分析可以在x-y曲线上绘制模型输出数据,该曲线示出第一模型输出参数(例如,电流、电压、功率等)与时间的关系。例如,图14中所示的评估屏幕1100描绘了当选择波形选项卡1114时在图形屏幕1128处的x-y图。

图5的示例仅是一种可能的信号链布置。在一些例子中,信号链结构可能更复杂。例如,每个链接还可以包含一组静态的可能项目,每个项目都要在配置数据集中实例化。在这种情况下,每个链接将在运行时确定将哪个项目作为整体应用于链。此决定通常基于从客户端接收的配置。例如,信号发生器510可以应用单音发生器或双音发生器。可以在运行时确定要应用的选择,这取决于用户配置选择。此外,模拟器520可以应用两个不同模型356中的任一个(例如,用于所选组件的motif模型),这取决于用户是否已启用组件的特征(例如,ddc)。

图6是示出另一示例信号链600的图。信号链600包括发生器602,其被配置为生成单音正弦波形。信号链还包括组件adc604和滤波器606。adc604可以将模拟信号转换为数字信号。滤波器606可以是低通滤波器,例如,以消除高频噪声。分析608是傅立叶变换(例如,fd分析)以示出频率内容。可以使用任何合适的傅里叶变换,包括例如fft算法。信号链600可以由配置数据集340描述。例如,发生器数据456可以描述发生器602,包括例如发生器602的属性和/或输入参数,其可以用参数和/或结合来描述。模拟器数据458可以描述adc604的模型356和滤波器606的模型356以及模型的输入参数,例如,参数和/或绑定。分析数据460可以描述傅立叶变换分析608,例如,以及诸如要使用的傅立叶变换的类型、分析的频率范围或频率焦点等的输入参数。

图7是示出又一示例信号链700的图。例如,信号链700是包括各种链链的复合信号链,所述链链具有可被激活或去激活以改变信号链700的配置的组件。发生器链环702可包括两个发生器,单音发生器710以产生单音正弦刺激信号和双音发生器712以产生双音刺激信号。评估工具可以例如基于运行时或用户提供的其他设置来确定执行哪个发生器710、712。

类似地,模拟器链环704可以包括两个组成模拟器714、718,每个包装模型具有相同组件(在该示例中为adc)。例如,模拟器714可以在启用特定特征(例如,ddc特征)的情况下包裹adc的模型,而模拟器718可以在禁用特征的情况下包裹adc的模型。评估工具324可以基于输入参数确定要使用哪个模拟器714、718和相关联的模型356,例如,可以由用户在运行时或之前提供。信号链700还包括分析706、708,其可以包括td、x-y分析706和fdfft分析708。

图8是示出利用客户端302和评估工具324来评估示例信号链802的一个示例评估800的图。尽管评估800被描述为由客户端302、评估工具324和配置数据集340(1)执行,评估800和类似的评估可以用各种评估工具、客户端和配置数据集来执行,如本文所述。

在图8的示例中,信号链802包括发生器820、模拟器822和分析824,但是其他信号链可以由评估工具以类似的方式实现。在实施评估800之前,评估工具324可以检索与信号链802和/或信号链802的组件之一相关联的配置数据集。配置数据集可以包括描述参数806、808、812、814、816、818的参数数据、描述发生器820的发生器数据、描述模拟器822的模拟器数据、以及描述分析824的分析数据。

评估工具可以从用户接收参数806、808、812、814、816、818中的一些或全部的值。例如,用户可以通过用户界面364向web应用程序352提供参数806、808、812、814、816、818中的一些或全部的值。web应用程序352可以通过通讯链接357(图3)为参数806、808、812、814、816、818向评估工具324提供值。在一些例子中,参数806、808、812、814、816、818中的一些或全部具有默认值(例如,在配置数据集中定义),使得在某些情况下从用户接收特定于评估的值是不必要的。

参数可以作为输入参数直接或作为绑定的结果提供给发生器820、模拟器822和/或分析824,例如绑定810。例如,参数806被提供给发生器820作为发生器输入参数。模拟器822接收参数814和816作为模拟器输入参数。模拟器822还接收另一输入参数,在该示例中,其是参数808和812的数学组合。分析接收参数818作为分析输入参数。

发生器820可以将所接收的发生器输入参数提供给发生器实现826。发生器实现826可以是发送器的任何合适的实现,其提供用于提供给模拟器822的刺激信号。例如,发生器826可以在执行评估工具324的同一服务器上执行和/或在不同的计算装置上执行。在一些例子中,发生器826可以是或包括数据发生器,该数据发生器包括例如指示刺激信号的表或其他表,例如重复刺激信号。在一些例子中,发生器826可以是或包括生成表示刺激信号的数据流的应用程序。在一些例子中,发生器826可以是或包括物理信号发生器(例如,用于如本文所述的工作台模型362)。

模拟器822可以接收模型输入参数和刺激信号,并将模型输入参数和刺激信号提供给模型828,模型828可以是任何合适类型的模型,例如关于上面的模型356所描述的。在一些例子中,发生器实现826可以将刺激信号直接提供给模型828,例如,绕过发生器820和模拟器822。模型828可以生成模型输出信号或数据流,其可以提供给模拟器822和/或直接提供给分析实现830。分析824可以接收分析输入参数并将分析输入参数提供给分析实现830,其可以生成评估输出数据。可以将评估输出数据提供给分析824和/或直接提供给评估工具324。评估工具324可以向web应用程序352提供评估输出数据,其可以将其合并到用户界面364中,例如,如本文所述。

图9是示出可以被执行以实现fft分析的过程流程900的一个示例实施例的流程图。在一些例子中,过程流程900可以由评估工具324执行,例如,作为实现评估工具324的代码的一部分。在其他示例中,过程流程900可以由可以由评估工具调用的单独的分析实现来执行。分析实现可以在执行评估工具324的同一服务器上和/或在不同的计算装置处执行。处理流程900被描述为由计算装置执行,该计算装置可以是执行评估工具324的服务器或任何其他合适的计算装置。处理流程900可以对由模型356生成的输出数据流进行操作。

在操作902,计算装置可以确定输出数据流的频率范围。例如,可以通过参数的值来确定频率范围。在一些例子中,频率范围是从直流(dc),例如0hz到奈奎斯特频率的两倍,例如,数据流的采样率的两倍。数据流的采样率可以例如通过评估信号链中较早的adc模型来设置。

在一个例子中,将频率范围从dc设置为奈奎斯特频率的两倍可以概括fft分析的某些方面以将其应用于实信号或复信号。在操作904,计算装置可以确定数据流是真实的还是复杂的并且相应地标记。例如,计算装置可以将数据流标记为真实的,如果它是真实的,或者如果它是复杂的则复杂的。因为数据流是真实的还是复杂的,在某些示例中,计算装置将仅标记真实的数据流或仅标记复杂的数据流。当计算装置执行涉及对真实和复杂信号的不同处理的操作时,它可以指数据流如何被标记并应用适当的实际或复杂操作。根据数据流的实际或复杂性质而不同的示例操作包括傅立叶变换,例如fft。例如,复杂数据流报道的杂散能量可能与等效的真实数据流有所不同。而且,对于各种操作,对于某些复杂操作与实际操作,所分析的频带可能不同。例如,当接收到真实数据流时,操作可以将dc视为奈奎斯特频率。当接收到复杂的数据流时,操作可以考虑从dc到奈奎斯特频率的两倍。

在操作906,计算装置可以确定用于fft分析的频率杂散。例如,fft分析可以将数据流的频率范围划分为多个频率区间,其中每个区间代表一组离散的频率。频率杂散可以是或包括预期数据流具有频率内容的频率仓。例如,对于单音分析(例如,基于单音刺激信号),频率杂散可以在输入音调的频率处或附近以及单音调的正和负谐波。在一个例子中,频率杂散用于单音分析(例如,包括单音调发生器的信号链的评估)可以根据下面的等式[1]来确定:

fn=k*n*(f+m0)+m1[1]

在等式[1]中,fn表示频率杂散。变量n表示要考虑的刺激信号的谐波。在一些例子中,n可以包括从-7到7的整数范围。在n包括-7到7的整数范围的例子中,分析可以考虑单音的七个负谐波和单音的七个正谐波,尽管可以考虑任何其他合适数量或范围的谐波。等式[1]中的变量k是常数乘数。在一些例子中,变量k等于1。在具有频谱反转特性的分量的一些示例中,变量k等于负1。等式[1]中的变量f是单音的频率(例如,所使用的单音刺激信号的频率)。

在等式[1]中,变量m0和m1表示域前和域后转换混合。例如,在包括诸如adc或dac的转换器的信号链中,转换器或信号链的另一组件可以执行混合以实现输出的上转换或下转换。变量m0可以在域转换之前对混频进行建模,并且变量m1可以在域转换之后对混频进行建模。

用于确定双音分析中的频率杂散的示例等式由下面的等式[2]给出。双音分析可以是刺激信号包括两个离散频率的周期信号的分析。

imdn=k*n1*(f1+m0)+k*n2*(f2+m0)+m1[2]

在等式[2]中,imdn是由频率f1和f2产生的互调失真项。变量n1和n2表示刺激信号的各个音调的谐波。例如,n1和n2可以是从-3到3的整数。在一些例子中,n1和n2还可以包括刺激信号的两个音调之间的预期互调失真的频率。变量k可以是常数乘数。f1和f2可以是刺激信号的各个音调的频率。变量m0和m1可以表示以上关于等式[1]描述的相同值。在一些例子中,在执行期间确定等式[1]和[2]的各种变量的值,例如,基于参数和/或绑定。

在一个示例中,转换器(例如adi公司的ad9625adc)提供可以启用或禁用的ddc选项。当启用ddc选项时,结果信号在转换后通过有时称为数控振荡器(nco)频率的频率混合。例如,绑定可以涉及指示nco频率的参数。在一些例子中,nco频率可以作为每个产生的杂散的偏移量。在一些例子中,偏移被称为postmix。

在可选操作908,计算装置可以从进一步考虑的频率范围中排除由噪声整形失真的频率。例如,一些组件可以利用噪声整形来故意修改噪声的频率内容,使得它落在预期信号所在的频率范围之外。这可能会降低输出的信噪比。同时,它可能通过增加带外内容的功率来扭曲数据流的频率内容。可以基于各种参数和/或绑定的值来接收和/或计算用于确定由于噪声整形而要排除的频率的分析输入参数。例如,利用噪声整形的诸如转换器的组件可以具有称为调谐字的参数,其可以表示为参数。在一些例子中,用户可以确定调谐字的值,其可以通过绑定与fft分析相关联。调谐字的值可以例如根据在一些例子中的关系表示为公式来确定排除哪些频率。不同组件的关系可能不同。

在操作910,计算装置可以确定数据流的平均噪声,例如,不包括刺激信号的谐波和互调频率(例如,如果刺激信号是多音调的话)。在操作912,计算装置可以确定在906处确定的每个杂散的数据流的功率。例如,计算装置可以组合杂散周围的阈值数量的频率仓的功率,并将组合的杂散功率与在操作910确定的噪声基底进行比较。在操作914,计算装置可以扫描频率范围的剩余区间以确定最差的其他区间。最差的其他可以是从与谐波和互调频率无关的那些频率区间或频率区间组中选择的最高功率频率区间或频率区间组。在操作916,计算装置可以确定数据流的输出性能特征,例如,snr、无杂散动态范围(sfdr)等。

在一些例子中,计算装置可以添加额外的杂散以考虑和/或检测带外频谱内容。例如,一些组件,例如射频(rf)和其他传输应用中使用的一些dac,可以在第一奈奎斯特区之外引入显着的频谱内容,因此在操作902确定的频率范围之外。当存在时,这种带外频谱内容有时会泄漏到用户没有合法传输权限的其他频段。在一些例子中,fft分析可以通过选择和跟踪附加杂散来检测带外频谱内容,所述附加杂散可以是在操作906确定的一些或所有杂散的频移版本,转换为第二奈奎斯特区。为了选择带外杂散,计算装置,在一些例子中,可以复制在操作906确定的一个或多个杂散,并将复制的杂散移动到第二或后续的奈奎斯特区。计算装置可以计算一个或多个带外杂散的功率。如果带外杂散的计算功率高于阈值水平,这可以通过将带外杂散的描述写入经由ui364提供给用户的评估输出数据来向用户报告。例如,带外杂散可以包括在图9的fft分析的输出中。用户可以利用该特征来确定在dac之后应用的模拟低通滤波器的需要和设计。

在一些例子中,评估工具324或其他合适的组件可以被配置为检测信号链中的不良频率规划。例如,当adc接收到相对于adc时钟频率具有非常低频率的刺激信号时,刺激信号及其谐波可能彼此无法区分,从而使adc的输出非常嘈杂。在一些例子中,设计人员可能会无意中导致与adc的频率匹配不佳。例如,ddc、抽取和其他类似的adc和预adc处理操作可能会以某些设计人员无法识别的方式降低adc刺激信号的频率。为了解决这个问题,评估工具324或其他合适的组件可以被配置为比较在操作906处生成的杂散。例如,评估工具324或其他合适的组件可以将偏移应用于第一杂散以生成偏移杂散。例如,偏移杂散可以表示刺激信号的谐波或互调失真。然后,评估工具324或其他合适的部件可确定偏移杂散处的功率是否大于原始杂散处的功率。如果是,则可能表示adc输入的频率太低。评估工具324或其他合适的组件可以生成可以提供给用户的警报,例如,通过在ui364处显示的评估输出数据。用户可以选择重新设计电路和/或继续评估。

在一个例子中,评估工具324或其他合适的组件可以被配置为在评估利用噪声整形的adc时检测不合适的调谐字的使用。例如,任何特定adc使用的噪声整形可以通过提供调谐字来配置。调谐字可以描述刺激信号可能驻留的频带(例如,理想频段)。在一些例子中,用户可以选择错误的调谐字,在这种情况下,adc可以将噪声转移到刺激信号所占用的带宽中,从而导致低信噪比。在一些例子中,评估工具324或其他合适的组件可以将刺激信号与由调谐字指示的理想频段进行比较。如果刺激信号落在理想频段之外,则评估工具324或其他合适的组件可以警告用户,例如,通过在ui364处提供的不正确的噪声整形数据写入所述评估输出数据。用户可以选择重新设计电路和/或进行评估。

在一些例子中,评估工具可以被配置为如果用户试图评估经历过度削波的组件或信号链,则检测并警告用户。例如,在adc处可能发生削波,其中adc接收的模拟信号高于adc能够在其输出数字数据流中表示的。adc可以在输出数字数据流中表示的最高值(在此称为满量程值)可以是adc生成的最高数字值。例如,在16位adc中,当adc的输出为十六进制65536时,可能会出现满量程值。对应于满量程值的相应物理值(例如,电压、电流等)可以例如基于adc的分辨率而变化。

在一些例子中,评估工具324可以被配置为在评估组件或信号链期间检测adc的削波。图10是示出可以被执行以检测adc的削波的处理流程1000的一个示例的流程图。在一些例子中,处理流程1000可以由评估工具324执行,例如,作为实现评估工具324的代码的一部分。在其他示例中,过程流程1000可以由评估工具调用的单独的分析实现来执行。分析实现可以在执行评估工具324的同一服务器上和/或在不同的计算装置处执行。处理流程1000被描述为由计算装置执行,该计算装置可以是执行评估工具324的服务器或任何其他合适的计算装置。

在操作1002,计算装置可以确定满量程值在数据流中出现的次数。在操作1004,计算装置可以确定数据流的满量程阈值。满量程阈值可以是数据流中满量程值的最大可接受速率。在一些例子中,满量程阈值可以描述当adc接收到具有与adc的标度匹配的幅度的正弦波的模拟输入时将发生的满量程值的数量。例如,计算装置可以确定峰值,该峰值可以表示当adc的模拟输入是满量程幅度正弦曲线时将被离散化为满量程值的所有输出样本的比例。在一些例子中,峰值可以由下面的等式[4]给出:

在等式[3]中,ncodes可以是adc可以生成的唯一输出代码的数量。例如,对于16位转换器,可以生成65536个唯一输出代码。满量程阈值可由下面的等式[5]给出:

阈值=(1-峰值)×长度[5]

在等式[5]中,长度可以是数据流的长度,其可以表示为adc采集的多个样本。方程[4]-[5]仅显示了确定满量程阈值的一种示例方法。

在操作1006,计算装置可以将数据流与在操作1004确定的全值阈值进行比较。如果数据流中的满量程值的数量不大于满量程阈值,则计算装置可以在操作1008进行评估。例如,计算装置可以执行如图9所述的fft或评估的信号链的其他分析。如果数据流中的满量程值的数量大于满量程阈值,则可能表明adc可能已经接收到超过其可以准确离散的满量程幅度的信号。计算装置可以在1010警告用户。例如,评估工具324可以向客户端302提供警报消息,其可以通过在ui364处提供的评估输出数据来提供警报。在一些例子中,评估可以停止。在其他示例中,尽管剪辑,可以提示用户是否继续进行评估。

图11-15示出了可以提供给用户的屏幕截图,例如,通过ui364,由评估工具324和/或客户端302,如本文所述。例如,图11是示出评估屏幕1100的一个示例的屏幕截图。在图11的示例中,评估屏幕1100包括组件选择窗口1102。在图11中,组件选择窗口1102包括组件类别字段1104,用户可以从中选择组件类别。可以选择任何合适类别的组件。当用户选择组件类别时,产品字段1106可以包括所选类别中的组件的特定示例。在一些例子中,通过组件选择窗口1102选择的组件可以是描述要评估的信号链的全部或部分信号链数据。

图12是示出具有附加特征的评估屏幕1100的另一示例的屏幕截图。如图12所示,评估屏幕1100可以包括各种标签1110、1112、1114、1116、1118,其可以被选择以访问评估工具324的功能。在图12所示的评估屏幕1100的示例中,选择图表标签1110。例如,评估屏幕1100可以包括图表字段1126,其示出了要建模的组件的图。例如,在图12中,图表字段1126示出了adc的图。在一个例子中,图表字段1126可以示出要建模的信号链。

在图12的示例中,评估屏幕110还包括设置字段1120和参数字段1122、1124。设置字段1120可以包括用于评估的控制输入。例如,设置字段1120包括运行按钮,当选择该运行按钮时,可以提示客户端302通过评估工具324启动评估。参数字段1122、1124可以包括用于接收各种参数的值的字段。在字段1122、1124处提示的参数可以通过配置数据集处的参数数据来描述所选择的组件或信号链。在一个例子中,可以通过配置数据集处的捆绑数据来描述在字段1122、1124处提示的特定参数。

图13是示出选择了fft分析标签1112的评估屏幕1100的另一示例的屏幕截图。图形结果字段1128示出了评估输出数据,其包括组件的fft分析的图形表示。可以执行fft分析,例如,如本文关于图9-10所描述的。数值结果字段1130示出了fft分析的各种数值结果,包括例如与信号、噪声和失真有关的结果。图14是示出选择了波形选项卡1114的评估屏幕1100的另一示例的屏幕截图。这可以使评估屏幕1100显示包括x-y分析的评估输出数据,如本文所述。例如,在图14的示例中,屏幕截图1100包括示出示例输出信号的图形屏幕1140。

图15是示出评估屏幕1100的另一示例的屏幕截图,其中选择了下一步骤选项卡1116。接下来的步骤字段1142可以提供到用户可以参与的其他活动的链接,例如,与评估的一个或多个组件相关。例如,打印评估会话按钮1144,当被选择时,可以使客户端302打印和/或保存由标签1110、1112、1114等提供的至少一部分信息。打开数据表按钮1146,当由用户选择时,可以使客户端302访问所评估的一个或多个组件的数据表。当用户选择时,购买按钮1148可以使客户端302链接到网页,例如,通过web浏览器应用程序350,或者用户可以购买一个或多个评估的组件的其他位置,例如,单独使用或与评估板一起使用。当用户选择时,访问产品页面按钮1150可以使web浏览器应用程序350加载提供关于作为评估主题的一个或多个组件的信息的网页。当被选择时,帮助选项卡1118可以向用户提供用于使用评估工具324的各种离线和/或实时帮助选项。

图16是示出图11和12的评估屏幕的另一配置的示例的屏幕截图。在图16的示例中,添加了下载数据表按钮1170和购买评估板按钮1172。当用户选择时,下载数据表按钮1170可以使web浏览器应用程序350加载包括一个或多个评估的组件的数据表的网页。当由用户选择时,购买评估板按钮1172可以使客户端302链接到网页或用户可以单独地或与评估板一起购买一个或多个评估的组件的其他位置。在图16的示例中,省略了屏幕1100的其他示例中所示的后续步骤选项卡1116。在各种示例中,按钮1170和1172可以包括代替后续步骤选项卡1116和/或除了后续步骤选项卡1116之外。此外,尽管在图16中选择了fft选项卡1112,但是在各种示例中,当选择各种其他标签1110、1114、1118等时,按钮1170、1172可以出现在屏幕1100上。

图17是示出用于计算装置的软件架构1702的一个示例的框图1700。架构1702可以与各种硬件架构结合使用,例如,服务器120、客户机102(1-n)、302等,例如,如本文所述。图17仅是软件架构1702的非限制性示例,并且可以实现许多其他架构以促进本文描述的功能。示出了代表性硬件层1704,其可以表示例如任何上述计算装置。在一些例子中,可以根据图17的架构1702和/或图18的架构1800来实现硬件层1704。

代表性硬件层1704包括具有相关联的可执行指令1708的一个或多个处理器单元1706。可执行指令1708表示软件架构1702的可执行指令,包括图1-21的方法、模块、组件等的实现。硬件层1704还包括存储器和/或存储模块1710,其也具有可执行指令1708。硬件层1704还可以包括由其他硬件1712指示的其他硬件,其代表硬件层1704的任何其他硬件,例如作为硬件架构1800的一部分示出的其他硬件。

在图17的示例架构中,软件架构1702可以概念化为层的堆栈,其中每个层提供特定功能。例如,软件架构1702可以包括诸如操作系统1714、库1716、框架/中间件1718、应用程序1720和表示层1744之类的层。操作上,应用程序1720和/或层内的其他组件可以通过软件堆栈调用api调用1724并接收响应,返回值,等等,作为响应api调用1724的消息1726示出。所示的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件层1718,而其他操作系统可提供这样的层。其他软件架构可以包括附加层或不同层。

操作系统1714可以管理硬件资源并提供公共服务。操作系统1714可以包括例如内核1728、服务器1730和驱动程序1732。内核1728可以充当硬件和其他软件层之间的抽象层。例如,内核1728可以负责存储器管理、处理器管理(例如调度)、组件管理、网络、安全设置等。服务器1730可以为其他软件层提供其他公共服务。在一些例子中,服务器1730包括中断服务。中断服务可以检测硬件或软件中断的接收,并且作为响应,使得架构1702暂停其当前处理并在接收到中断时执行中断服务例程(isr)。如本文所述,isr可以生成警报。

驱动器1732可以负责控制或与底层硬件接口。例如,驱动器1732可以包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如、通用串行总线(usb)驱动器)、wi-fi驱动器、nfc驱动器、音频驱动器、电源管理驱动程序等,具体取决于硬件配置。

库1716可以提供可以由应用程序1720和/或其他组件和/或层使用的公共基础结构。库1716通常提供允许其他软件模块以比直接与底层操作系统1714功能(例如,内核1728、服务器1730和/或驱动器1732)直接接口的方式执行任务的功能。库1716可以包括系统库1734(例如,c标准库),其可以提供诸如存储器分配功能、字符串操作功能、数学功能等的功能。另外,库1716可以包括api库1736,诸如媒体库(例如,用于支持各种媒体格式的呈现和操纵的库,诸如mpeg4、h.264、mp3、aac、amr、jpg、png)、图形库(例如,可用于在显示器上的图形内容中呈现2d和9d的opengl框架)、数据库库(例如,可提供各种关系数据库功能的sqlite)、web库(例如,可以提供网络浏览功能的webkit)等。库1716还可以包括各种其他库1738,以向应用程序1720和其他软件组件/模块提供许多其他api。

框架1718(有时也称为中间件)可以提供可以由应用程序1720和/或其他软件组件/模块使用的更高级别的公共基础结构。例如,框架1718可以提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架1718可以提供可以由应用程序1720和/或其他软件组件/模块使用的广谱的其他api,其中一些可以特定于特定操作系统或平台。

应用程序1720包括内置应用程序1740和/或第三方应用程序1742。代表性内置应用程序1740的示例可包括但不限于联系人应用程序、浏览器应用程序、书籍阅读器应用程序、位置应用程序、媒体应用程序、消息传递应用程序和/或游戏应用程序。第三方应用程序1742可以包括任何内置应用程序1740以及各种其他应用程序。在特定示例中,由特定平台的供应商以外的实体进行的第三方应用1742((例如,使用androidtm或iostm软件开发工具包(sdk)开发的应用程序)可以是在移动操作系统(例如iostm、androidtmphone或其他用户计算装置操作系统)上运行的移动软件。在该示例中,第三方应用1742可以调用由诸如操作系统1714的移动操作系统提供的api调用1724,以促进这里描述的功能。

应用程序1720可以利用内置操作系统功能(例如,内核1728、服务器1730和/或驱动程序1732)、库(例如,系统1734、api1736和其他库1738)以及框架/中间件1718来创建用户界面以与系统用户进行交互。替代地或另外地,在一些系统中,与用户的交互可以通过表示层(例如表示层1744)发生。在这些系统中,应用程序/模块“逻辑”可以与与用户交互的应用程序/模块的方面分开。

一些软件架构利用虚拟机。例如,可以利用在一个或多个服务器计算机器处执行的一个或多个虚拟机来执行这里描述的系统。在图17的示例中,这由虚拟机1748示出。虚拟机创建软件环境,其中应用程序/模块可以像在硬件计算装置上执行一样执行。虚拟机由主机操作系统(操作系统1714)托管,并且通常但不总是具有虚拟机监视器1746,其管理虚拟机1748的操作以及与主机操作系统的接口(即操作系统1714)。软件架构在虚拟机1748内执行,诸如操作系统1750、库1752、框架/中间件1754、应用1756和/或表示层1758。在虚拟机1748内执行的这些软件架构层可以与先前描述的对应层相同或可以是不同的。

图18是示出计算装置硬件架构1800的框图,其中可以执行一组或一系列指令以使机器执行本文所讨论的任何一种方法的示例。例如,架构1800可以执行关于图17描述的软件架构1702。架构1800可以作为独立设备操作或者可以连接(例如,联网)到其他机器。在联网部署中,架构1800可以在服务器-客户端网络环境中以服务器或客户端机器的容量运行,或者它可以作为对等(或分布式)网络环境中的对等机器。架构1800可以在个人计算机(pc)、平板pc、混合平板电脑、机顶盒(stb)、个人数字助理(pda)、移动电话、网络设备、网络路由器、交换机或网桥、或任何能够执行指令(顺序或其他)指定该机器要执行的操作的机器中实现。

示例架构1800包括处理器单元1802,处理器单元1802包括至少一个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)或两者、处理器核、计算节点等)。架构1800还可以包括主存储器1804和静态存储器1806,它们经由链路1808(例如,总线)彼此通信。架构1800还可以包括视频显示单元1810、字母数字输入设备1812(例如,键盘)和ui导航设备1814(例如,鼠标)。在一些例子中,视频显示单元1810,输入设备1812和ui导航设备1814被合并到触摸屏显示器中。架构1800可以另外包括存储设备1816(例如驱动单元)、信号生成设备1818(例如扬声器)、网络接口设备1820、以及一个或多个传感器(未示出)、例如全球定位系统(gps)传感器、指南针、加速度计或其他传感器。

在一些例子中,处理器单元1802或其他合适的硬件组件可以支持硬件中断。响应于硬件中断,处理器单元1802可暂停其处理并执行isr,例如,如本文所述。

存储设备1816包括机器可读介质1822,其上存储有一组或多组数据结构和指令1824(例如,软件),其体现或由本文描述的方法或功能中的任何一个或多个使用。指令1824还可以完全或至少部分地驻留在主存储器1804、静态存储器1806内和/或处理器单元1802内,在由架构1800执行期间,具有主存储器1804、静态存储器1806,并且处理器单元1802还构成机器可读介质。存储在机器可读介质1822处的指令可以包括例如用于实现软件架构1702的指令,用于执行本文描述的任何特征的指令等。

虽然机器可读介质1822在示例中被示为单个介质,但是术语“机器可读介质”可以包括存储一个或多个指令1824的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关的高速缓存和服务器)。术语“机器可读介质”还应被视为包括能够存储、编码或携带由机器执行的指令并且使机器执行本公开的任何一种或多种方法或能够存储、编码或携带由这些指令使用或与之相关的数据结构的任何有形介质。因此,术语“机器可读介质”应被视为包括但不限于固态存储器,以及光学和磁性介质。机器可读介质的具体示例包括非易失性存储器,包括但不限于,作为示例,半导体存储器件(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和闪存器件;磁盘,如内部硬盘和可移动磁盘;磁光盘;和cd-rom和dvd-rom磁盘。

指令1824还可以通过网络接口设备1820使用传输介质在通信网络1826上利用许多众所周知的传输协议(例如,超文本传输协议(http))中的任何一个来发送或接收。通信网络的示例包括lan、wan、因特网、移动电话网络、普通老式电话(pots)网络和无线数据网络(例如,wi-fi、3g和5glte/lte-a或wimax网络)。术语“传输介质”应被视为包括能够存储、编码或携带由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以便于这种软件的通信。

以上详细描述包括对附图的参考,附图形成详细描述的一部分。附图通过图示的方式示出了可以实践本公开的具体示例实施例。这些示例实施例在本文中也称为“示例”。这些示例可以包括除了示出或描述的那些之外的元件。然而,本发明人还考虑了仅提供所示出或描述的那些元件的实例。而且,本发明人还考虑使用所示或所述的那些元件(或其一个或多个方面)的任何组合或置换的示例,或者关于特定示例(或其一个或多个方面),或关于本文示出或描述的其他示例(或其一个或多个方面)。

如果本文档与通过引用并入的任何文档之间的使用不一致,则以本文档中的用法为准。

在该文献中,术语“一”或“一个”在专利文献中是常见的,包括一个或多于一个、独立于“至少一个”或“一个或多个”的任何其他实例或用法。在本文件中,术语“或”用于表示非排他性的,使得“a或b”包括“a但不是b”、“b但不是a”以及“a和b”,除非另有说明表示。在本文中,术语“包括”和“其中”用作相应术语“包括”和“其中”的等同词。此外,在以下权利要求中,术语“包括”和“包含”是开放式的,即,除了在权利要求中的这一术语之后列出的元件之外的元件的系统、装置、物品、组合物、配方或工艺仍被认为属于该权利要求的范围。此外,在以下权利要求中,术语“第一”、“第二”和“第三”等仅用作标记,并不旨在对其对象施加数字要求。

这里描述的方法示例可以至少部分地是机器或计算机实现的。一些示例可以包括编码有指令的计算机可读介质或机器可读介质,所述指令可操作以配置电子设备以执行如以上示例中描述的方法。这种方法的实现可以包括代码,例如微代码、汇编语言代码、更高级语言代码等。此类代码可包括用于执行各种方法的计算机可读指令。代码可以形成计算机程序产品的一部分。此外,在示例中,代码可以有形地存储在一个或多个易失性、非暂时性或非易失性有形计算机可读介质上,例如在执行期间或在其他时间。这些有形计算机可读介质的示例可以包括但不限于硬盘、可移动磁盘、可移动光盘(例如压缩盘和数字视频盘)、磁带、存储卡或棒、随机存取存储器(ram)、只读存储器(rom)等。以上描述旨在是说明性的而非限制性的。例如,上述示例(或其一个或多个方面)可以彼此组合使用。在阅读以上描述时,例如本领域普通技术人员可以使用其他示例实施例。提供摘要以符合37c.f.r.§1.72(b),允许读者快速确定技术公开的性质。提交时的理解是,它不会用于解释或限制权利要求的范围或含义。而且,在以上详细描述中,各种特征可以组合在一起以简化本公开。这不应被解释为意图无人认领的公开特征对于任何权利要求是必不可少的。相反,发明主题可以在于少于特定公开的示例实施例的所有特征。因此,以下权利要求作为示例或示例实施例被并入到具体实施方式中,其中每个权利要求自身作为单独的示例实施例,并且可以预期这些示例实施例可以以各种组合或排列彼此组合。应该参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定本公开的范围。

例子

例子1是用于评估电子元件的系统,所述系统包括:服务器计算设备,包括处理器单元并被配置为执行评估应用程序,其中评估应用程序被配置为执行包括以下的操作:为在用户计算装置上执行的用户应用程序提供评估用户界面;从所述用户应用程序并经由所述用户界面接收用于评估的电子部件的指示;访问所述电子部件的配置数据集,其中所述配置数据集包括:描述所述电子部件的一组参数的参数数据;描述参数集的第一参数与第一模型输入参数之间的关系的绑定数据;和描述所述电子部件的模型的模拟器数据;和至少部分地基于所述配置数据集来评估所述电子部件。

在例子2中,例子1的主题任选地包括:其中所述配置数据集还包括描述第一束的第一束数据,该第一束包括该组参数的参数的子集,其中所述评估应用程序还被配置为执行包括以下的操作:确定所述第一束已启用;和向所述用户提供描述所述用户界面的部件的应用字段描述数据,用于接收参数的子集的值。

在例子3中,例子1-2中任一项或多项的主题任选地包括:其中所述评估应用程序还被配置为执行包括以下的操作:从所述用户应用程序接收信号链数据,其中所述信号链数据描述所述电子部件和分析;接收数据流;和启动分析以从所述数据流生成评估输出数据。

在例子4中,例子3的主题任选地包括:其中所述评估输出数据包括描述第一模型输出参数与时间的绘图数据。

在例子5中,例子3-4中的任何一个或多个的主题任选地包括:其中所述评估输出数据包括描述第一模型输出参数的频率内容的频率内容数据。

在例子6中,例子1-5中的任何一个或多个的主题任选地包括:其中所述评估应用程序还被配置为执行包括以下的操作:从所述用户应用程序并经由所述用户界面接收第一参数的第一值;至少部分地基于第一参数的第一值和绑定数据生成所述第一模型输入参数的第一值;至少部分地基于所述第一模型输入参数的第一值来启动所述电子部件的模型;和向所述用户应用程序提供评估输出数据用于显示在所述用户界面,其中所述评估输出数据至少部分地基于所述模型的输出。

在例子7中,例子6的主题任选地包括:其中启动模型包括执行可执行模型。

在例子8中,例子6-7中任何一个或多个的主题任选地包括:其中启动模型包括启动与所述服务器计算装置通信的物理模型电路。

在例子9中,例子6-8中任何一个或多个的主题任选地包括:其中所述评估应用程序还被配置为执行包括以下的操作:接收描述所述模型的第一模型输出参数的数据流;至少部分地基于所述第一参数的第一值选择所述第一模型输出参数的一组频率杂散;和确定该组频率杂散的第一频率杂散的功率,其中所述评估输出数据包括描述所述第一频率杂散的功率的功率数据。

在例子10中,例子9的主题任选地包括:其中所述电子部件是转换器;和其中所述评估应用程序还被配置为执行包括以下的操作:接收描述所述模型的刺激信号的刺激信号数据;和至少部分地基于所述刺激信号的基频和预转换偏移来确定所述第一频率杂散。

在例子11中,例子9-10中任何一个或多个的主题任选地包括:其中所述电子部件是转换器;和其中所述评估应用程序还被配置为执行包括以下的操作:接收描述所述模型的刺激信号的刺激信号数据;至少部分地基于所述刺激信号的基频来确定所述第一频率杂散;和至少部分地基于所述刺激信号的基频和乘数来确定该组频率杂散的第二频率杂散。

在例子12中,例子9-11中任何一个或多个的主题任选地包括:其中所述第一频率杂散位于第一奈奎斯特区;和其中所述评估应用程序还被配置为执行包括以下的操作:确定该组频率杂散的第二频率杂散,其中所述第二频率杂散相当于移位到所述第二奈奎斯特区的第一频率杂散;确定所述第二频率杂散的功率比噪声基底大至少阈值量;和将所述第二频率杂散的描述写入所述评估输出数据。

在例子13中,例子12的主题任选地包括:其中所述第一频率杂散是刺激信号的基频,其中第二杂散是所述基频的谐波;和其中所述评估应用程序还被配置为执行包括以下的操作:至少部分地基于这种第一参数的第一值将偏移应用于所述第一频率杂散以生成第一偏移杂散;确定所述第一偏移杂散大于所述第二杂散;和将低频警告数据写入所述评估输出数据。

在例子14中,例子6-13中任何一个或多个的主题任选地包括:其中所述评估应用程序还被配置为执行包括以下的操作:接收描述所述模型的第一模型输出参数的数据流;确定由所述数据流描述的所述第一模型输出参数的至少阈值数量的值对应于所述电子部件的满量程值;和将剪辑警告数据写入所述评估输出数据。

在例子15中,例子6-14中任何一个或多个的主题任选地包括:其中电子部件是转换器,并且其中所述第一参数的第一值指示第一转换器的噪声整形特征的调谐字;和其中所述评估应用程序还被配置为执行包括以下的操作:确定所述电子部件的理想频段;确定所述调谐字在所述理想频段之外;和将不正确的噪声整形数据写入所述评估输出数据。

例子16是一种评估电子部件的方法,该方法包括:通过服务器计算装置为在用户计算装置上执行的用户应用程序提供评估用户界面;通过服务器计算装置从所述用户应用程序并经由所述用户界面接收用于评估的电子部件的指示;通过服务器计算装置访问所述电子部件的配置数据集,其中所述配置数据集包括:描述所述电子部件的一组参数的参数数据;描述参数集的第一参数与第一模型输入参数之间的关系的绑定数据;和描述所述电子部件的模型的模拟器数据;和通过服务器计算装置至少部分地基于所述配置数据集来评估所述电子部件。

在例子17中,例子16的主题任选地包括:通过服务器计算装置从所述用户应用程序并经由所述用户界面接收第一参数的第一值;通过服务器计算装置至少部分地基于第一参数的第一值和绑定数据生成所述第一模型输入参数的第一值;通过服务器计算装置至少部分地基于所述第一模型输入参数的第一值来启动所述电子部件的模型;和通过服务器计算装置向所述用户应用程序提供评估输出数据用于显示在所述用户界面,其中所述评估输出数据至少部分地基于所述模型的输出。

在例子18中,例子16-17中任何一个或多个的主题任选地包括:通过服务器计算装置接收描述所述模型的第一模型输出参数的数据流;通过服务器计算装置至少部分地基于所述第一参数的第一值选择所述第一模型输出参数的一组频率杂散;和通过服务器计算装置确定该组频率杂散的第一频率杂散的功率,其中所述评估输出数据包括描述所述第一频率杂散的功率的功率数据。

例子19是一种机器可读介质,包括其上的指令,当由计算装置执行时,使得计算装置执行包括以下的操作:为在用户计算装置上执行的用户应用程序提供评估用户界面;从所述用户应用程序并经由所述用户界面接收用于评估的电子部件的指示;访问所述电子部件的配置数据集,其中所述配置数据集包括:描述所述电子部件的一组参数的参数数据;描述参数集的第一参数与第一模型输入参数之间的关系的绑定数据;和描述所述电子部件的模型的模拟器数据;和至少部分地基于所述配置数据集来评估所述电子部件。

在例子20中,例子19的主题任选地包括:其上的指令,当由计算装置执行时,使计算装置执行包括以下操作的操作:从所述用户应用程序并经由所述用户界面接收第一参数的第一值;至少部分地基于第一参数的第一值和绑定数据生成所述第一模型输入参数的第一值;至少部分地基于所述第一模型输入参数的第一值来启动所述电子部件的模型;和向所述用户应用程序提供评估输出数据用于显示在所述用户界面,其中所述评估输出数据至少部分地基于所述模型的输出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1