评估板(EVB)及其随附软件可通过即插即用功能轻松评估ADI公司产品的性能。其图形用户界面 (GUI) 提供了一种直观的方法来手动配置和与设备通信。但是,在更复杂的产品中,如果不自动执行这些重复性任务,则在评估所有可用功能的同时扫除所有产品的花里胡哨可能会变得耗时。
本文介绍如何记录宏以及如何在 Python 和 MATLAB 环境中使用它来自动执行某些评估任务,而无需开发任何复杂的软件控制器代码。本文中使用的AD7380和AD7606C-16示例可实现所有用户交互的自动化,以便它们扫描许多不同的配置并启动转换,然后导出结果。本文使用这些示例来自动评估过采样数字滤波器为模数转换器(ADC)带来的性能优势。虽然本文重点介绍AD7380和AD7606C-16,但本文中的信息也适用于其他ADI产品和应用。®®
介绍
ADI提供了轻松评估每个新产品发布的方法,其可实现的性能及其特性。首先,我们的评估板由一个印刷电路板(PCB)组成,该电路板容纳主要器件(例如ADC)以及所需的配套产品,如基准电压源、驱动放大器、时钟源、电源解决方案等。其次,这些板带有软件,可以展示解决方案可以实现的实际性能。它显示可以通过该平台获取的真实数据。在过去的几年里,ACE软件1一直是用于此目的的平台。
在 ACE 平台中,每个产品都有一个插件,通过干净、易于导航的 GUI 访问设备寄存器映射来简化设备配置。
以ADC为例,ACE通常以波形或直方图的形式显示原始数据,并通过FFT计算SNR或THD等交流性能指标。本文介绍如何在不需要软件开发的情况下自动执行所有这些过程。
ACE 插件
图2显示了AD7380插入式芯片视图,其中提供了几个按钮,可轻松配置器件:
REF 允许选择内部或外部基准
OSC 可以启用过采样并设置过采样率
图2.AD7380的ACE插件芯片视图。
图3显示了AD7606C-16插件芯片视图,其中几个按钮(以深蓝色突出显示)可用于:
通过单击 PGA 符号选择每个通道的模拟输入范围
选择参考源,无论是内部还是外部
选择过采样率
配置失调/增益/相位校准功能
配置诊断
图3.AD7606C-16的ACE插件芯片视图。
虽然前面的示例使用AD7380和AD7606C-16,但本文的范围不仅仅是这些产品,而是与使用ACE和自动执行重复性任务相关的所有内容。每个 ACE 插件都有自己的 GUI 布局。但是,随着产品复杂性的增加和添加的功能(例如,诊断、校准等),手动测试所有这些功能变得越来越复杂和乏味。ACE遥控器提供设置或扫描参数的能力,例如,扫描过采样率并测量噪声性能如何改善。
设置 ACE 遥控器
在开始创建代码以远程控制 ACE 之前,需要按照以下步骤建立与 ACE 的通信:
打开 ACE 并转到“设置”
转到“IPC 服务器”选项卡并确保它已启用
确保分配了端口,最好是 2357
图4.设置与 ACE 的通信。
录制宏并生成脚本
ACE 有一个“宏工具”菜单,通过将配置和设备交互步骤放入宏文件中来记录这些步骤。生成宏后,可以使用它一次自动重复所有步骤。以下步骤说明如何生成宏:
打开 ACE,然后转到“工具”>>“宏工具”。
点击 Record 宏命令按钮,该按钮位于图标右侧的蓝色区域内,如图 5 中突出显示。
开始执行设备交互,例如更改参数、向内存映射上的寄存器输入值、捕获数据等。命令窗口将在 GUI 导航和交互时填满。
记录所有要输入的操作/设置后,点击停止录制宏命令按钮。位置与上述相同。然后将自动弹出命令窗口。
例如,在录制宏时,用户只需使用图 2 中说明的按钮即可配置过采样率和分辨率模式。命令窗口如图 5 所示。
图5.命令窗口和宏工具。
在此窗口中,可以查看记录的所有步骤,甚至可以跳过/中断任何不需要的自动生成的步骤,然后将整个程序导出到可选择的语言脚本中,如图 5 中以红色突出显示的那样。
录制宏文件后,可以保存并再次播放以重复先前执行的步骤。ACE 具有内置功能,可生成脚本,这些脚本以所选支持的受支持语言执行录制的操作。因此,按照上一个列表,接下来的步骤将是:
单击图 5 中突出显示的蓝色区域右侧的 Generate 图标,打开脚本生成器窗口。
在C#,MATLAB或Python中选择所需的语言,然后点击导出。
然后,可以将此代码导入到 IDE 中执行。使用此代码作为基础,添加仪器控制等附加功能,以具有用于测量的自动测试台。2Visual Studio Code或MATLAB用于下一节中显示的示例,这些示例将仅使用产品评估板执行噪声分析,而无需任何额外的设备。要查找用于操作、存储或绘制所收集数据的代码示例(如以下几节所示),请访问 wiki.analog.com 并搜索感兴趣的评估板。
图6.使用 Python 语言的 ACE 生成的代码编辑器。
使用 Python 自动执行评估任务
上一节中生成的.py文件允许轻松启动和重复一系列先前记录的操作。此外,编辑这些脚本和自动执行某些任务会带来更大的好处。按照上一个示例,在AD7380 ACE插件中设置过采样比和分辨率,对生成的宏进行编辑以允许输入参数,如图7所示。请注意,默认情况下,这些宏称为 execute_macro(),但此名称可以更改为更具描述性的名称。
图7.编辑 Python 函数以使用输入参数。
现在可以在内部调用此宏进行循环,扫描过采样比率值,并查看噪声性能如何随着过采样比率的增加而提高,以及看到启用两个额外分辨率位的好处。
图8.这些指令适用于扫描过采样率并打开和关闭两个额外分辨率位的循环。
因此,Python 示例代码访问导出的数据文件,读取 ACE 插件测量的 SNR 数据,并通过串行监视器报告这些数据。如表1所示,过采样可改善噪声性能3但是,在某一点上,需要额外的两位分辨率才能看到AD7380显示为18位字而不是16位字的真正优势。
OSR | 动态范围(正常分辨率) | 动态范围(提升分辨率,18 位) |
1 | 90.8分贝 | 90.8分贝 |
2 | 92.6分贝 | 93.6分贝 |
4 | 94.3分贝 | 96.5分贝 |
8 | 95.8分贝 | 99.2分贝 |
16 | 96.3分贝 | 100.4分贝 |
32 | 96.5分贝 | 100.5分贝 |
使用 MATLAB 自动执行评估任务
与 Python 示例一样,自动生成的代码也可以导出到 MATLAB,在本例中生成一个 .m 文件。在这里,宏被定义为一个函数,但也可以编辑这些宏以允许输入参数。以下MATLAB示例改用AD7606C-16板。
同样,AD7606C-16过采样的优势可以通过自动化ACE轻松评估。图 9 显示了一个 MATLAB 函数,经过编辑以接受吞吐量、采样数、接口类型(串行或并行)、基准源(内部或外部)、过采样率、数字线路数或模拟输入范围等参数。
图9.编辑 MATLAB 函数以使用输入参数。
此特定功能可在主代码中使用,以便快速启动数据捕获不同的配置,从而轻松执行多个AD7606C-16比较,例如:
噪声性能与过采样比
性能与吞吐量
性能与模拟输入范围的关系
内部基准与外部基准
串行接口与并行接口
等等。请注意,这只是AD7606C-16的示例;根据被评估的产品,可能会出现许多不同的性能评估需求。
AD7606C-16的好手可以在 wiki.analog.com 找到,4源代码可用。这显示了如何对宏进行编码,并提供了对数据进行后处理的示例。OversamplingSweep.m 示例扫描过采样率,并为每个值绘制代码直方图。如图 10 所示,过采样率越大,代码直方图越窄。表2还显示了代码的峰峰值分布如何随着过采样而减小。
图 10(续)。代码直方图显示了噪声性能如何随着过采样率而提高。一个简单的脚本允许扫描许多可用的过采样率选项(最多 256)。
OSR | 峰峰值 (LSB) |
1 | 16 |
2 | 13 |
4 | 12 |
8 | 10 |
16 | 7 |
32 | 6 |
64 | 4 |
128 | 4 |
256 | 2 |
结论
较新的ACE平台是最新评估板软件的框架,对于任何渴望加快ADI产品评估工作的硬件设计人员来说,这是一个有利的工具,因为它具有记录宏的能力。这些宏通过行业已知的编程语言(如 Python 或 MATLAB)实现测试自动化。反过来,自动化这些任务可以加快产品评估和选择阶段,从而缩短上市时间并缩短硬件设计周期。对于此主题和其他主题,始终可以在 EngineerZone 中找到进一步的支持™,更多遥控器示例可在 wiki.analog.com 中找到。
全部0条评论
快来发表一下你的评论吧 !