请更新您的浏览器。 为了获得最佳的 Liquid Instruments 使用体验,请将 Chrome、Edge、Firefox 或 Safari 更新到最新版本。 更新 Microsoft Edge.
液体仪器标志
产品
硬件平台
Moku:Delta
Moku:Delta
全新发布
用于高级设计和验证
Moku:Pro
Moku:Pro用于多种测试和测量
Moku:Lab
Moku:Lab用于实验研究实验室
Moku:Go
Moku:Go用于快速测试和调试
比较硬件
比较硬件横向比较所有 Moku 硬件
技术
GenInst Studio
全新发布
生成个性化工具
仪器功能高度集成触手可及的专业仪器设备
神经网络集成了 基于 FPGA 的神经网络仪器
多仪器并行模式组合仪器功能以创建自定义测试系统
Moku Compile编码、编译和部署到 Moku 的 FPGA 上
软件
MokuOS下载适用于 Windows、macOS、iPadOS 和 VisionOS 的 Moku 应用
APIsPython、MATLAB、LabVIEW
实用工具用于文件转换的命令行和图形工具
仪器功能
信号分析
示波器
频谱分析仪
频率响应分析仪
锁相放大器
相位表
逻辑分析仪/码型发生器
时间间隔与频率分析仪
数据记录器
信号生成
波形发生器
任意波形发生器
信号控制与调理
PID 控制器
数字滤波器
FIR 滤波器生成器
激光锁频/稳频器
自定义与其他功能
GenInst Studio
全新发布
高速信号采集记录回放仪(Gigabit Streamer)
自定义仪器
神经网络
多仪器并行模式
应用
光学与光子学
显微镜和光谱学
光子计数
量子光学
航空航天和国防
A&D仪器
器件测试
自动化测试
半导体测试
控制系统和伯德图分析
MEMS 系统测试
AI 和机器学习
生成式仪器
全新发布
神经网络
教育服务提供商
教育与研究
相关资源
应用笔记
博客
客户案例
相关课程
指南
产品文档
资讯观点
网络研讨会
白皮书
支持
关于我们
联系我们
关于我们
领导团队
合作伙伴
公司动态
媒体中心
活动日程表
加入我们
商店
Moku:Delta
Moku:Pro
Moku:Go
升级您的 Moku:Pro
升级您的 Moku:Lab
升级您的 Moku:Go
0
获取报价 立即购买
博客

使用ChatGPT和Moku Cloud Compile执行自定义瞬态故障检测

2023 年 8 月 2 日

    在执行实时故障检测时,您通常会遇到权衡:您可以以高速率采样但面临很长的死区时间,或者可以以非常低的速率采样并获得几乎连续的数据。 显然,这两种方法都不是理想的。 然而,有一种方法可以更好地优化您的测试设备——使用 VHDL 和可定制的测试设备自行编程瞬态故障检测。 这样做可以让您实时检测 FPGA 中的故障,甚至可以在您已经使用的测试和验证设备内进行故障检测。 我们知道,编写 FPGA 代码因比传统的过程编程更具挑战性而享有盛誉。 然而,像 ChatGPT 这样的新一代大型语言模型可以让您在不了解某门语言细节的情况下轻松高效地使用该语言。

    传统方式

    测试装置不太擅长瞬态故障检测。 通常有两种监控和检测方法:

    1. 高频率但间歇性
    2. 低利率但持续

    选项 1 使用示波器。 示波器的死区时间通常在 20% 到 >99.9% 之间,因此依靠在屏幕上“看到”瞬态故障的可能性很小。 解决此问题的一种方法是设置一个触发器,使示波器能够为您进行故障检测并仅向您显示结果。 这种方法有一些缺点:首先,故障必须是能够被触发的,其次,它只能可靠地告诉您故障是否发生过一次。 它无法确定故障计数、故障率、故障状态下的总时间等。

    选项 2 使用数据记录器或数据采集设备。 在这种情况下,计算机实时监控所有相关信号并可以计算中间值。 系统检测故障和相关参数。 然而,这种方法也有其自身的缺点。 这种方法需要计算机具有适当的编程环境,但更重要的是它只能监测达到某个最大速率的信号,受到计算机功率、任何计算的复杂性以及数据采集设备之间连接的吞吐量的限制和电脑。

    人们希望将两种方法的优点结合起来:检测复杂的瞬态故障状况并实时测量其参数,而不受低采样率的限制。 Moku 设备方便地利用片上仪器架构和用户可编程 FPGA。 与 Moku 设备上最多 15 个其他仪器一起(图 1),Moku Cloud Compile (MCC) 为自定义仪器提供了编程环境。 MCC 提供您编写自己的 FPGA 代码并将其部署到 Moku 所需的所有基础设施。

    Moku:Pro、Moku:Lab、Moku:Go、Moku:Ipad iOS

    图 1:具有 iPad 和桌面界面的 Moku 产品阵容

    示例:瞬态电源事件检测

    假设您的测试仪需要监视电源系统的瞬态电源事件。 系统的额定功率高达总功率,但实际上,只要事件发生率、事件时间和故障条件下的总时间低于阈值,它就可以承受瞬态过功率。 换句话说,我们希望设计一个能够:

    1. 通过系统中的一个点监控功率,即监控电压和电流,然后计算功率。
    2. 计算功率超过阈值的次数(如果有)。
    3. 记录功率超过阈值的总时间。

    我们还可以记录任何一个故障的最大持续时间、故障条件下的总能量等等,但我们将仅限于这三个步骤。

    这不太适合像使用示波器那样进行间歇性监测。 当示波器的输入是电压和电流时,需要示波器在功率电平上触发。 很少有系统可以使用实时计算作为触发电路的输入。

    根据系统参数,它也不太适合数据采集方法。现代电力系统可能会被高速瞬变损坏,需要较高的采集速率;但像这样的电力系统通常设计用于长时间连续使用,因此系统需要监控以确认其行为的时间也可能非常长。总之,这会导致数据量非常大,从而增加成本和复杂性。

    定制片上仪器部署是一个完美的选择,让我们看看如何使用 ChatGPT 来帮助我们构建一个。

    用于自定义故障检测的 ChatGPT

    首先,ChatGPT 在给出非常具体的指令时表现最佳。 将大型问题陈述分解为更易于管理的迭代。 这样看来,还真是人性啊!

    接下来,我们要求一个 VHDL 实体来计算图 2 中的故障事件数量。

    图 2:提示 ChatGPT 基于 VHDL 的故障计数器。

    图 2:提示 ChatGPT 基于 VHDL 的故障计数器。

    接下来,我们添加故障状态总时间的计数器(图 3)。

    图 3:提示 ChatGPT 将计数器添加到我们的程序中。

    图 3:提示 ChatGPT 将计数器添加到我们的程序中。

    最后,我们通过将故障条件阈值添加为 VHDL 实体的端口,使故障条件阈值在运行时可配置(图 4)。 在最终的 MCC 实现中,该阈值将连接到控制寄存器,因此无需重建整个仪器即可对其进行设置。

    图 4:提示 ChatGPT 修改我们的实体。

    图 4:提示 ChatGPT 修改我们的实体。

    在本文末尾可找到最终 VHDL 的完整列表。

    请注意,我们尚未解决计算输入功率的问题。 我们可以通过在电压和电流输入进入 VHDL 实体之前将它们简单地相乘来实现这一点。 图 5 显示了如何在 MCC 中实例化该实体的示例,并将电源作为输入。

    图 5:用 VHDL 计算输入信号的功率

    图 5:用 VHDL 计算输入信号的功率

    请注意,这确实将输入端口的宽度从 16 位增加到 32 位。 这里的实例化可以丢弃低 16 位(如果精度损失可以接受),或者更新实体以直接采用 32 位输入。 无论哪种方式,您所需要做的就是询问! 请参阅本文末尾的提示。

    回顾:使用 ChatGPT 和 Moku Cloud Compile 执行自定义瞬态故障检测

    我们遇到一个问题,需要对计算量(而不是可以直接测量的量)进行实时、高速率、无死区故障检测。 仅经过三个提示,ChatGPT 就为我们提供了用 VHDL 实现此功能所需的所有代码,VHDL 是一种专门为 FPGA 上的高速数据处理而设计的语言。 简单的剪切和粘贴操作和一点粘合代码,以及 Liquid Instruments 的 Moku Cloud Compile 将其转变为自定义仪器,能够部署到 Moku 片上仪器。 10分钟的工作还不错!

    有关将 ChatGPT 与 MCC 结合使用的更多示例,请在此处观看我们的网络研讨会: https://liquidinstruments.com/webinar-registration-moku-cloud-compile-and-chatgpt-essential-strategies-for-testing-smarter-with-ai/

    对想要与 MCC 一起开发的定制仪器有疑问吗? 联系我们: support@liquidinstruments.com 我们将为您联系一位工程师。

    附录1:代码清单

    附录1:代码清单

    VHDL 代码片段:

    library ieee;
    use ieee.std_logic_1164.all;
    use ieee.numeric_std.all;
    
    entity RisingAboveZero is
        Port (
            clk: in std_logic;
            reset: in std_logic;
            in_value: in signed(15 downto 0);
            threshold: in unsigned(15 downto 0);
            out_value: out signed(15 downto 0);
            out_cycle_count: out signed(15 downto 0)
        );
    end RisingAboveZero;
    
    architecture Behavioral of RisingAboveZero is
        signal counter: signed(15 downto 0);
        signal cycle_count: signed(21 downto 0);  -- Updated to 22 bits
        signal previous_value: signed(15 downto 0);
    begin
        process(clk, reset)
        begin
            if reset = '1' then
                counter <= to_signed(0, 16);
                cycle_count <= to_signed(0, 22);  -- Updated to 22 bits
                previous_value <= to_signed(0, 16); elsif rising_edge(clk) then if in_value > signed(threshold) and previous_value <= signed(threshold) then
                    counter <= counter + 1; end if; if in_value > signed(threshold) then
                    cycle_count <= cycle_count + 1;
                end if;
    
                previous_value <= in_value;
            end if;
        end process;
    
        out_value <= counter;
        out_cycle_count <= cycle_count(21 downto 6);  -- Output the 16 most significant bits
    end Behavioral;
     

    附录2:端口连接提示

    附录2:端口连接提示

     
    在演示模式下试用 Moku 下载 Moku 应用 → 获取常见问题的答案 访问知识库 → 与全球的 Moku 用户建立联系 加入用户论坛 →

    其他推荐博客文章

    博客
    什么是生成式乐器演奏?

    这项人工智能技术可用于创建定制化测试解决方案,包括专业测量、实时信号处理和控制功能。

    日期: 2026 年 7 月 14 日

    博客
    基于FPGA的测试与测量定制的5大优势

    具有用户可编程 FPGA 的仪器如何取代成排的测试设备,这对您的实验室意味着什么。

    特点: 自定义仪器

    日期: 2026 年 5 月 22 日

    博客
    MokuOS 4.2 带来更快、更强大的实时自定义功能

    MokuOS 4.2 通过便捷的软件更新,即可在 Moku:Delta 上解锁更高的带宽、更快的实时处理速度和更多的仪器功能。

    日期: 2026 年 3 月 19 日

    返回所有博客

    站内导航

    • 产品
    • 仪器功能
    • 相关资源
    • 支持
    • 关于我们
    • 联系我们
    • 隐私政策
    • 使用条款

    办公室

    美国
    (619) 332-6230
    12526 High Bluff Dr.
    Suite 150
    San Diego, CA 92130

    澳大利亚
    +61 2 6171 9730
    243 Northbourne Avenue
    Suite 1, Level 1
    Lyneham, ACT 2602

    澳大利亚
    +61 3 7073 3594
    5C套房,5楼
    斯旺斯顿街700号
    维多利亚州卡尔顿 – 3058

     

     

    关注我们

    LinkedIn YouTube X Facebook Instagram

    官方微信

    © 2026 Liquid Instruments. 版权所有