人工智能(AI)正在从设计到功能等各个层面重新定义嵌入式系统。
本文将探讨AI产生重大影响的三个关键领域:软件开发、硬件设计和AI应用程序,以及AI对各个领域的影响,重点介绍多种先进工具,并指出在这种新的设计范式中取得成功的关键设计原则。
AI赋能嵌入式开发:
让编程更智能、更高效
软件工具是AI发展极快的领域之一。这并不令人意外,因为大语言模型(LLM)确实很适合处理由大量文本构成的代码库。但AI的作用不仅限于生成代码:它还在文档、可视化和测试方面发挥着至关重要的作用。让我们仔细看看每个领域的趋势。
针对嵌入式系统的AI编程助手
初时,AI编程助手只是帮助进行通用编程,但现在已经发展得非常成熟。现在,它们也正在成为嵌入式系统的宝贵资产。GitHub Copilot和Amazon CodeWhisperer等工具可以为适合微控制器开发的代码提出建议,非常适合以下任务:
特定于微控制器架构的外设初始化和配置
针对事件驱动系统优化的中断处理程序
促进集成组件之间数据交换的通信协议
这一发展意味着AI编程工具现在能够协助应对嵌入式开发中以硬件为中心的底层挑战。然而,只有正确使用这些工具,才能实现这些优势。开发人员应注意以下几点:
了解目标硬件——AI可能无法理解电源管理、内存限制和其他系统细节的细微差别;
验证生成的代码——AI生成的代码通常语法正确,但并不总是符合预期;
注意依赖关系——AI生成的代码可能会引入不适合嵌入式环境的库。
本文反复强调的一个主题是,AI在知识渊博的设计师手中才能发挥强大作用。换句话说,AI应该增强人类的工程技能,而不是取代人类。
自动化文档和可视化工具
文档一直都是嵌入式开发中非常耗时且易被忽视的环节之一。现在,AI工具正在改变技术参考资料的创建、维护和可视化方式:
文档:Doxygen或类似工具可以从源代码中提取结构化注释,生成与代码更新保持同步的API文档。
解释:诸如GitHub Copilot Chat这样的助手工具可以分析复杂函数并生成摘要,使代码更易理解。
可视化:类似Mermaid Chart这样的平台可以帮助创建可视化内容(如协议的时序图),有助于缩小硬件与软件团队之间的隔阂。
需要注意的是,这些工具只有在正确配置并具有合适输入内容的情况下才能有效工作。例如,Doxygen需要特定的注释格式规范才能正常工作。
上下文是另一个关键考虑因素。自动化工具可能会遗漏一些对经验丰富的工程师显而易见的细节。因此,工具生成的文档必需经过仔细检查,尤其是在安全性至关重要的系统中,因为文档出错可能会导致严重后果。
增强的测试框架
AI还能显著提升代码测试的效率。Eggplant Test Automation以及类似的框架支持先进的硬件在环(HIL)仿真,使开发人员能够生成更多样化的测试用例[1]。凭借更广泛的测试套件,这些工具可以捕获传统测试方法容易遗漏的功耗、资源利用率和竞争条件等问题。例如,这些工具可以识别出仅在特定时序条件下才会出现的问题。测试人员还可以实时动态调整参数,并在此过程中持续优化代码。
这些框架非常全面,但它们缺乏人类的创造力和直觉。它们在处理诸如零碳设计等更加微妙的概念时往往会遇到困难[2]。因此,它们需要有人类的监督和输入,才能充分发挥强大的能力。
但这些工具的优劣很大程度上取决于训练数据的质量。没有高质量的数据,它们的准确性和可靠性都会受到影响。
AI设计:
从元器件到原型设计,让流程更简化
虽然软件工具发展迅速,但AI对硬件设计的影响更深刻。现在,设计人员可以使用AI工具完成从元器件选型到仿真和测试的所有工作。在许多情况下,这些工具取代了手动流程,使设计人员能够大幅缩短产品上市时间并优化设计。
先进的仿真与测试
AI在模拟电路仿真方面具有显著优势。传统SPICE仿真器需要工程师手动设置参数,而这是一个复杂、耗时的过程。相比之下,Synopsys PrimeSim和Siemens Solido Design Environment等工具可自动配置仿真并预测潜在问题。除了帮助识别关键测试用例外,这些工具还可以优化供电网络,并为元器件的参数值提供建议,以提升整体系统效率。
对于印刷电路板(PCB)布线优化,Flux和DeepPCB等工具可以利用深度学习技术来补充人类的设计专长。这些系统能够评估多种配置,同时评估走线布局对信号质量、散热和供电的影响。
需要注意的是,模拟仿真素以复杂多变著称。例如,元器件参数值或工作条件的细微差异,都可能导致电路行为发生显著变化。因此,工程师需要具备扎实的模拟设计基础,才能有效使用这些工具。
将AI用于芯片设计优化
AI也在彻底改变FPGA和ASIC设计,Synopsys DSO.ai等工具就是例证。这些工具具备多种功能,包括可以同时优化多个目标,帮助设计人员快速找到高效的设计[3]。根据Synopsys的说法,DSO.ai有望将生产效率提高两倍,还能大幅减小芯片尺寸,并将功耗降低多达15%[4]。
这些工具的一个潜在缺点是可解释性。AI生成的FPGA和ASIC设计可能难以手动分析或修改,尤其是在给出的建议采用了非传统方法的情况下。
快速原型设计和制造集成
AI驱动的工具也在简化原型设计和制造。Autodesk Fusion 360等解决方案使用机器学习(ML)来优化元器件放置、信号完整性和散热性能,帮助工程师更快地进行迭代。工程师可以快速调整设计、运行仿真并探索替代方案,从而缩短从概念到终端产品的所需的时间。
AI还可以通过确保运营设备的性能和效率与自动化生产流程保持一致,来改进制造流程。边缘AI开发框架正日趋成熟,可实现预测性维护功能的广泛部署,从而优化设备效率、质量控制并降低运营成本。
面向边缘AI的设计:
让预测性维护焕发生机
AI工具不仅加速了开发过程,还带来了新的设计可能性。其中极为成熟的应用之一是预测性维护,已在实际应用中部署了多年。随着AI模型针对微控制器和边缘设备进行优化,嵌入式工程师现在可以直接在以往无法支持此类功能的硬件上部署智能功能。
面向边缘设备的资源高效型AI平台
传统上,嵌入式系统和边缘设备对AI算法的支持能力有限。大多数ML模型根本不是为这种资源受限的操作环境而设计的。TensorFlow Lite for Microcontrollers和Edge Impulse等嵌入式AI平台改变了这种状况,提供了以下几项关键优势:
能够在资源有限的设备上(内存从大约50KB起)运行ML模型
提供全面的模型量化和优化工具
简化工作流程,以根据特定微控制器架构选择、训练和定制模型
与此同时,硬件也在不断发展。越来越多的微处理器和微控制器添加了加速器,使AI能够在相对低端的系统上运行。
使用AutoML优化模型
工程师可以使用AutoKeras等自动化机器学习(AutoML)工具进一步简化模型开发。这些解决方案可根据硬件能力和应用需求快速优化模型的架构和权重。其缺点是,由于AutoML工具通常需要迭代优化,因此使用这些工具需要同时具备系统目标硬件方面以及AI和ML方面的专业知识。
训练数据质量是边缘AI实施面临的另一个挑战。一个常见的问题是过拟合,如果使用过小的数据集训练模型,就会出现过拟合。有意思的是,如果模型或数据集过于复杂,性能也会受到影响。找到合适的平衡点既是一门艺术,也是一门科学,因此在开始构建模型时,有必要寻求经验丰富的AI专家的建议。
预测性维护应用
在工业应用中,预测性维护是边缘AI真正大放异彩的地方。大多数现代工业系统都包含许多传感器,涵盖从振动、电流消耗到声学特征等各个方面。预测性维护算法可以采集所有这些信息,并分析其中可能表明设备即将发生故障的任何模式。
然后,AI可以提醒操作员注意这些问题,操作员就可以及时维修或更换故障元器件。
当与联邦学习技术结合时,这一能力将更加强大。联邦学习是一种在分布式本地数据集上训练模型,并将模型更新发送到中央服务器的技术。这种方法为工业应用带来了诸多优势:
通过将原始数据保留在本地,提升数据隐私与安全性
通过减少数据传输,增强合规性
通过减少数据传输需求,降低运营成本
边缘处理与联合学习相结合,打造了一个持续改进的维护系统,随着时间的推移,该系统会变得越来越准确,同时不会影响安全性或效率。
设计与开发的智能未来
AI从根本上改变了电子设计,提升了从开发到生产的效率和生产力。从AI编程助手和文档工具,到智能PCB设计优化和高效运用资源的边缘平台,这项技术正在重塑整个嵌入式系统生命周期的工作流程。
然而,企业不能以草率的态度来决定是否采用AI技术。要通过AI取得成功,关键在于了解应该使用哪些工具,以及这些工具的局限性。有效的实施方法,让AI发扬它的优势所在:处理重复性任务、探索广阔的设计空间以及识别不明显的模式,而不是试图让它代替人类,毕竟人类的专业知识在某些领域依然是不可替代的。AI只有与人类智能相结合,才能发挥强大作用。它不会取代工程师,而是让工程师具备更强大的能力。
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com