0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Python/MATLAB环境中使用ACE快速评估数据转换器

analog_devices 来源:亚德诺半导体 作者:亚德诺半导体 2022-09-21 15:16 次阅读

评估板(EVB)及其配套软件具有即插即用功能,可轻松评估ADI产品的性能。其图形用户界面(GUI)提供了直观的方式,可进行手动配置并与该设备通信。但是,在更复杂的产品中,如果不能自动处理这些重复性任务,那么在评估所有可用功能的同时,扫描产品的所有附加功能可能会变得非常耗时。

本文说明如何记录宏,以及如何无需开发复杂的软件控制器代码,也能在PythonMATLAB环境中使用宏来自动处理某些评估任务。本文以 AD7380和 AD7606C-16 为例自动处理所有用户交互,用于扫描不同的配置,发起转换,然后导出结果。本文使用这些示例来自动评估过采样数字滤波器带给模数转换器(ADC)的性能优势。虽然本文着重介绍AD7380和AD7606C-16,但本文中的信息也适用于ADI的其他产品和应用。

ADI提供了一些方法来轻松评估每次发布的新产品、其可实现的性能及其特性。首先,我们的评估板由印刷电路板(PCB)(集成主要器件,例如ADC)和所需的配套产品(例如基准电压源、驱动放大器时钟源、电源解决方案等)组成。其次,这些板附带的软件可以展示解决方案可实现的实际性能。它展示了使用该平台可以获得的真实数据。在过去几年中,ACE软件平台一直用于此目的。分析 | 控制 | 评估 (ACE) 软件ADI的“Analysis, Control, Evaluation”(ACE)是一款桌面软件应用程序,可对ADI产品组合中的多个评估系统进行评估和控制。该应用程序由常用框架和各特定元件插件组成。

ACE设计用于在组件的功能操作中指导用户,让用户以所需的抽象级别访问系统。

在ACE平台中,每个产品都有一个插件,通过简洁明了的GUI访问设备寄存器映射,从而简化了设备配置。

在ADC示例中,ACE通常以波形或直方图的形式显示原始数据,并通过FFT计算AC性能指标,例如SNR或THD。本文展示如何无需进行软件开发自动处理所有这些程序。

a2a5da56-397c-11ed-9e49-dac502259ad0.png

图1. 评估板的硬件和软件交互框图,包括ACE与Python/MATLAB的通信。

01ACE插件

图2显示AD7380插件芯片视图,其中包含多个按钮,以便轻松配置该器件:

REF允许选择内部或外部基准电压源

OSC可以启用过采样,并设置过采样率

a2c27f1c-397c-11ed-9e49-dac502259ad0.png

图2. AD7380的ACE插件芯片视图。

图3显示AD7606C-16插件芯片视图,其中多个按钮用深蓝色突出显示,可用于:

通过单击PGA符号选择每个通道的模拟输入范围

选择内部或外部基准电压源

选择过采样率

配置偏置/增益/相位校准功能

配置诊断

a2e934fe-397c-11ed-9e49-dac502259ad0.png

图3. AD7606C-16的ACE插件芯片视图。

虽然前面的示例使用AD7380和AD7606C-16,但本文不止介绍这些产品,还包括与ACE配套使用和用于自动处理重复性任务的所有其他器件。每个ACE插件都有自己的GUI布局。但是,随着产品日益变得复杂,添加的功能越来越多(例如诊断、校准等),手动测试所有这些功能也会变得更加复杂和繁琐。ACE远程控制能够设置或扫描参数,例如,扫描过采样率和测量噪声性能的改善程度。

02设置ACE远程控制

在开始编写远程控制ACE的代码之前,需要先按照以下步骤与ACE建立通信:

打开ACE,前往设置

找到IPC服务器选项卡,确保已启动该服务器

确保已分配了一个端口,最好是2357

a317c8a0-397c-11ed-9e49-dac502259ad0.png

图4. 与ACE建立通信。

03记录宏,生成脚本

ACE提供宏工具菜单,通过将配置和设备交互步骤存入宏文件进行记录。生成宏之后,可以使用该宏来一次性自动重复所有步骤。以下是生成宏的步骤:

打开ACE,进入工具 >> 宏工具。

点击图5中蓝色高亮显示区域中图标右侧的记录宏命令按钮。

开始执行设备交互,例如更改参数、向存储器映射中的寄存器输入值、捕捉数据等。在浏览和使用GUI时,命令窗口中会填入信息。

在记录要输入的所有操作/设置之后,点击停止记录宏命令按钮。按钮在上述同一位置。将会自动弹出命令窗口。

例如,在记录宏时,用户使用图2中所示的按钮配置过采样率和分辨率模式。命令窗口如图5所示。

a352b758-397c-11ed-9e49-dac502259ad0.png

图5. 命令窗口和宏工具。

在这个窗口中,可以查看记录的所有步骤,甚至可以跳过/中断任何无需自动生成的步骤,然后将整个程序导出到一个可选择语言的脚本中,如图5中红色高亮部分所示。

记录宏文件之后,可以再次保存和播放,以重复之前执行过的步骤。ACE有一个内置功能,可以生成脚本,按照所选的受支持的语言执行记录的操作。所以,按照之前的列表,接下来的步骤是:

5.点击图5中蓝色高亮显示区域右侧的生成图标,打开脚本生成器窗口。

6.从C#、MATLAB或Python中选择所需的语言,然后点击导出。

之后,可以将该代码导入IDE中执行。以这段代码为基础,添加额外的功能,例如仪器控制,构建自动测试台,以获取测量结果。接下来的章节中显示的示例使用Visual Studio Code或MATLAB,这些示例仅使用产品评估板来执行噪声分析,不使用任何额外的设备。

a39adc2c-397c-11ed-9e49-dac502259ad0.png

图6. 使用Python语言的ACE代码生成编辑器。

04使用Python自动处理评估任务

上一节中生成的.py文件可用于轻松启用和重复之前记录的一系列操作。此外,通过编辑这些脚本和自动处理某些任务,还能获得更大的益处。在前面的示例中,在AD7380 ACE插件中设置了过采样率和分辨率,对生成的宏进行了编辑,以便使用输入参数,如图7所示。注意,默认情况下,这些宏被称为execute_ macro(),但可以将这个名称更改为更具描述性的名称。

a6a9c1da-397c-11ed-9e49-dac502259ad0.png

图7. 编辑Python函数,以便使用输入参数。

这些宏现在可以在内部调用实现循环,扫描过采样率值,显示噪声性能如何随着过采样率提高而改善,以及启用两个额外的分辨率位带来的好处。

a832f2ba-397c-11ed-9e49-dac502259ad0.png

图8. 这些指令用于实现循环,该循环扫描过采样率,打开和关闭两个额外的分辨率位。

因此,Python示例代码访问导出的数据文件,读取ACE插件测量的SNR数据,并通过串行监控器报告数据。如表1所示,过采样可以改善噪声性能,但在某些情况下,为了展示AD7380显示为18位字,而非16位字带来的真正优势,需要两个额外的分辨率位。

a864ee96-397c-11ed-9e49-dac502259ad0.png

表1. AD7380 SNR与过采样率的关系

05使用MATLAB自动处理评估任务

与Python示例一样,自动生成的代码也可以导出用于MATLAB中,在本例中生成一个.m文件。在本例中,宏被定义为一个函数,但可以对宏进行编辑,以便使用输入参数。以下MATLAB示例使用AD7606C-16板。

同样,可以通过自动使用ACE来轻松评估AD7606C-16的过采样优势。图9显示一个MATLAB函数,经过编辑后可以使用多种参数,例如吞吐量、样本数量、接口类型(串行或并行)、基准电压源(内部或外部)、过采样率、数字走线数量或模拟输入范围。

a8933f44-397c-11ed-9e49-dac502259ad0.png

图9. 编辑MATLAB函数,以便使用输入参数。

这个特定函数可以在主代码中使用,以快速启用不同配置的数据采集,轻松执行多个AD7606C-16指标比较,例如:

噪声性能与过采样率

性能与吞吐量

性能与模拟输入范围

内部基准电压源与外部基准电压源

串行接口与并行接口

等等。注意,这只是以AD7606C-16为例;根据所评估的产品不同,可能需要执行多种不同的性能评估。

您可以访问wiki.analog.com查看AD7606C-16的使用说明,包括可用的源代码。其中介绍了如何生成宏代码,也给出了后期处理数据的示例。OversamplingSweep.m示例扫描过采样率,针对每个值绘制代码直方图。如图10所示,过采样率越大,代码直方图越窄。表2也显示代码的峰峰值分布如何随过采样降低。

a8ed4282-397c-11ed-9e49-dac502259ad0.png

a92136aa-397c-11ed-9e49-dac502259ad0.png

a946bca4-397c-11ed-9e49-dac502259ad0.png

a9714bf4-397c-11ed-9e49-dac502259ad0.png

a9b2202a-397c-11ed-9e49-dac502259ad0.png

图10. 代码直方图显示噪声性能如何随过采样率改善。可使用简单脚本扫描可用的多种过采样率选项(高达256个)。

aa057b76-397c-11ed-9e49-dac502259ad0.png

表2. AD7606C-16的代码分布与过采样率的关系

06结论

新型ACE平台可作为新评估板的软件框架,由于能够记录宏,对于希望加快ADI产品评估工作速度的硬件设计人员来说,这是一个有利的工具。这些宏通过行业通用的编程语言,例如Python或MATLAB助力实现测试自动化。自动处理这些任务反过来又会加快产品评估和选型,帮助加快上市时间,缩短硬件设计周期。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 转换器
    +关注

    关注

    27

    文章

    8313

    浏览量

    143717
  • 半导体
    +关注

    关注

    330

    文章

    25416

    浏览量

    206001
  • matlab
    +关注

    关注

    178

    文章

    2929

    浏览量

    228957
  • python
    +关注

    关注

    53

    文章

    4701

    浏览量

    83703

原文标题:如何在Python/MATLAB环境中使用ACE快速评估数据转换器

文章出处:【微信号:analog_devices,微信公众号:analog_devices】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单相降压转换器双非对称BG评估数据手册

    电子发烧友网站提供《单相降压转换器双非对称BG评估数据手册.rar》资料免费下载
    发表于 04-14 17:10 0次下载
    单相降压<b class='flag-5'>转换器</b>双非对称BG<b class='flag-5'>评估</b>板<b class='flag-5'>数据</b>手册

    单相降压转换器双非对称AG评估数据手册

    电子发烧友网站提供《单相降压转换器双非对称AG评估数据手册.rar》资料免费下载
    发表于 04-14 17:02 0次下载
    单相降压<b class='flag-5'>转换器</b>双非对称AG<b class='flag-5'>评估</b>板<b class='flag-5'>数据</b>手册

    何在测试中使用ChatGPT

    Dimitar Panayotov 在 2023 年 QA Challenge Accepted 大会 上分享了他如何在测试中使用 ChatGPT。
    的头像 发表于 02-20 13:57 524次阅读

    为什么应该在SEPIC转换器中使用耦合电感?

    为什么应该在SEPIC转换器中使用耦合电感?
    发表于 02-06 06:58

    如何设置ACE和DGP实现AD9164评估套件的subclass1模式?

    已经有FPGA底板和AD9164评估板套件,如何设置ACE和DGP实现AD9164的subclass1模式,直接设置ACE和DGP为subclass1模式并没有生成sysref±信号,请问该如何设置参数,实现该模式的通信
    发表于 12-08 07:14

    何在Linux中使用htop命令

    本文介绍如何在 Linux 中使用 htop 命令。
    的头像 发表于 12-04 14:45 713次阅读
    如<b class='flag-5'>何在</b>Linux<b class='flag-5'>中使</b>用htop命令

    Buck转换器如何工作

    电路Buck转换器
    油泼辣子
    发布于 :2023年11月18日 11:51:37

    何在Python中使用Scapy进行抓包操作

    1. 前言 抓包通常使用软件如wireshark,Tcpdump等,对数据通信过程中的所有lP报文实施捕获并进行逐层拆包分析,一直是传统固网数通维护工作中罐常用的故障排查工具,都需要在界面操作。本篇
    的头像 发表于 11-01 14:47 2571次阅读

    何在开发环境中的Python环境下使用我们提供的BM-OpenCV?

    何在开发环境中的Python环境下使用我们提供的BM-OpenCV?
    发表于 09-19 07:14

    转换器中使用多层陶瓷电容器的优势

    转换器中使用多层陶瓷电容器的优势  随着科技的发展和进步,人们对电能的需求越来越大。电力转换器作为一个重要的电子设备,在各行各业都有着广泛使用,其主要功能是将一种电源转换为另一种电源
    的头像 发表于 09-18 11:48 356次阅读

    SE5如何在Python中使用SAIL?

    SE5已经预装在/system/lib下,只需要设置好环境变量,然后就可以在python中使用SAIL了: # SE5设置环境变量export PATH=$PATH:/system
    发表于 09-18 06:22

    何在biquads 1.0版中使用CMSIS-DSP的Python包装

    本指南提供了一个简单的示例,说明如何使用CMSIS-DSP Python包装以及如何用Python语言表示CMSIS-DSPAPI。 嵌入式系统上的信号处理算法通常通过使用在科学计算环境
    发表于 08-28 06:30

    Silanna Semiconductor推出适用于100w快速充电器设计的DC/DC转换器评估

    Smart Power™ 系列宽电压、高频负载点转换器快速开发和评估100W端到端快充应用。 SZDL3105BB-EVB02降压转换器设计示例配置为5A时输出范围为5V至20V。它
    的头像 发表于 08-22 17:20 668次阅读

    应用MATLAB(或Python)对数据进行数字特征估计与频谱分析

    实验目的:应用MATLAB MATLAB(或Python)对数据进行数字特征估计与频谱分析 实验内容:实验数据一为某气象站若干年每日气
    发表于 08-02 16:19 15次下载

    何在PythonMATLAB环境中使ACE快速评估数据转换器

    本文以ADI的AD7380和AD7606C-16为例自动处理所有用户交互,用于扫描不同的配置,发起转换,然后导出结果。通过使用这些示例,来自动评估过采样数字滤波器带给模数转换器(ADC)的性能优势。
    的头像 发表于 07-11 11:11 377次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>Python</b>或<b class='flag-5'>MATLAB</b><b class='flag-5'>环境</b><b class='flag-5'>中使</b>用<b class='flag-5'>ACE</b><b class='flag-5'>快速</b><b class='flag-5'>评估</b><b class='flag-5'>数据</b><b class='flag-5'>转换器</b>