MCU也要基于模型设计?看海尔嵌入式开发专家范纪青怎么说

发布者:EEWorld资讯最新更新时间:2024-06-21 来源: EEWORLD关键字:MCU  MBD  Mathworks  Matlab  Simulink  海尔 手机看文章 扫描二维码
随时随地手机看文章

在家电行业快速发展中,传统的瀑布流式的嵌入式开发模式正面临前所未有的挑战。随着产品功能的日益复杂化,如何提升开发效率、保证产品质量成为企业关注的焦点。


日前,在MATLAB EXPO 2024上,海尔集团嵌入式开发专家范纪青以公司的实际开发为例,介绍了基于模型的设计(MBD)是如何帮助传统家电行业提升效率,迎接数字化的。


作为全球知名的家电品牌,海尔有着丰富的产品品类,以范纪青所在的水联网业务部门来看,就包括了电热水器、燃气热水器、热泵热水器、净水机、采暖炉等等丰富的产品。产品种类和功能的升级,正在推进海尔开发模式的变革。


传统开发模式力不从心


范纪青指出,如今对海尔而言,在产品功能向多样化和智能化发展的趋势下,电子控制部分不可能完全依赖硬件电路实现,必须加入更复杂的控制算法。也正因此,传统的软件开发模式已显得力不从心,需要进一步提高软件开发的融合性与复用性。


传统的软件开发模式存在诸多问题,其中之一是开发调试周期过长。通常开始于技术文档的编制,随后进行简单的算法设计。之后主要的工作将转向编写和调试代码。代码调试和编译完成后,需要将其烧录到实体硬件上,并执行进一步的调试工作,大部分时间都消耗在了手写代码和调试上。


其次是软件庞大之后容易出错且效率低。范纪青指出,早期软件代码量较小时,传统开发模式更加简洁易用,而随着如今MCU的Flash已经到了512KB甚至更大时,这也意味着代码量激增。传统软件开发方式势必会出现效率低、错误增加、算法通用性差、可读性差等诸多问题。


另外,传统的软件测试方法也存在局限性。由于依赖人工编写测试用例,限制了测试的覆盖范围。同时,许多核心算法诸如PID等,需要实体硬件进行调试,这无疑增加了开发难度和周期。

image.png

MathWorks 中国半导体行业首席技术官陈晓挺博士也举例道,比如空调系统现在需要集成新风系统,这不仅提高了对家电的技术要求,也相应地增加了研发的复杂性和难度。另外,成本也是家电厂商需要面临的压力。大多数家电产品在功能增加的同时,价格却在下降。这要求在设计上进行创新,通过软件实现硬件功能,例如软件定义传感器等,从而降低成本。


陈晓挺说道:“基于功能和成本的双重需求,软件算法变得日益复杂。开发算法不能再依赖于传统的手工编写、汇编语言或C语言,而是需要通过仿真来进行。”


围绕MBD进行软件重构

image.png

在嵌入式领域,MBD在汽车领域已经相当普遍,无论是在建模、软件代码生成还是验证方面,都已久经考验。但在家电领域,此前对于这项技术并不太感冒。“很多人也有这样的疑问,选择MathWorks这么高大上的工具做开发,是不是会有“杀鸡用牛刀”的感觉?实际上,通过构建MBD,我们软件开发的开发流程和管理理念都发生了变化。”范纪青说道。


范纪青介绍道,面对各种开发弊端,海尔在集团内部开始了开发转型,对软硬件设计方法学进行了重构。其中在硬件上,集团内部实现了模块通用化,通过在中间件以下部分的重构,实现了软硬件解耦,这样在更换芯片或进行设备验证时,仅需一两天内就可完成。


更重要的是,海尔利用MBD,使开发人员可以将主要精力集中在模型及算法的开发上。从而提高开发效率,减少人为错误,并适应快速变化的市场需求。


范纪青认为,如今许多软件和计算机工程的开发者对底层知识了解不足,因此通过软硬件解耦和MBD的方法论,优化了开发流程,开发效率,并提高了代码可读性,增强了协作开发的可能。


在转型过程中,海尔也面临着从C代码到MBD的转变,这不仅是技术上的挑战,还包括团队协作和管理模式的变革,更是理念上的革新。


“理念转变是最大的难点,许多人习惯于硬件设计,而软件团队通常规模较小,许多资深专家对新算法也不太熟悉。这时,我们就需要借助工具。这些工具可以借鉴其他领域的经验,例如通信领域中已使用的信号处理算法,我们可以将其适配并简化,以适应家电行业智能互联的需求。”陈晓挺也表示。


“随着公司规模的扩大,软件开发势必要向数字化转型,将软件划分为多个标准化模块,从过去个人独立工作转变为团队协作模式。”范纪青说道。


采用MBD的好处


范纪青认为MBD具有多项优势。首先,它能够降低开发难度并提高开发效率,这对于实现软件的模块化和标准化至关重要。此外,MBD允许多个模块的并行开发,从而使得团队协作变得更加高效。同时,由于如今家电都有智能化和OTA需求,因此也需要持续集成和部署(CI/CD)的敏捷开发方式,传统开发流程下缺乏此类工具。


“MBD可以允许在开发的早期阶段解决更多问题,这种左移的方法可以在早期发现并解决问题,从而减少了后期通过硬件修复bug的成本。”范纪青说道。设计人员可以在构建系统之前验证系统设计并优化硬件和软件实现,或者使用现有设计进行验证,从而避免昂贵的物理原型迭代。这种模型在环验证可以模拟各种异常情况,这是硬件测试所不具备的。


“传统的开发流程中,工程师需要在实验室中手动调整参数,观察系统响应,这个过程繁琐且容易出错。MBD允许工程师在仿真环境中复现实验条件,快速调整和优化系统性能,提高了实验的准确性和可靠性。”


另外,范纪青还表示,MathWorks提供丰富的数学公式以及图形化建模功能以及静态测试工具Polyspace,这些都极大降低了建模及验证、测试的门槛。另外,MathWorks的自动代码生成工具,支持从模型自动生成代码,此过程减少了手动编码出错的可能性,并确保了模型和代码之间的一致性。值得一提的是,MathWorks嵌入式自动代码生成工具,支持为特定处理器生成代码,并提供了部署和测试手段,在效率和存储空间上,代码水平已经远超传统的手动模式。

image.png

MBD在海尔的实践


500多万的MATLAB用户涵盖从Apple、Google、空中客车、特斯拉和国际货币基金组织等跨国巨头,到初创公司和高校,应用涵盖科学计算到金融工程的各个领域。也正因此,MathWorks积累了大量的用户案例,以证明MBD的优势。


MATLAB EXPO也成为了MATLAB爱好者们交流分享的盛会。在MATLAB EXPO 2022上,海尔洗衣机部门王越就分享了《海尔使用MBD加速智能电器的软件开发》。


在今年的MATLAB EXPO 2024上,范纪青又深入分享了海尔在MBD上的体会。

image.png

范纪青解释说,白色家电的核心竞争力之一就是电机上,诸如冰箱、空调、热泵等应用的压缩机,洗衣机的BLDC电机等等,目前电机驱动算法通常由东芝、瑞萨、英飞凌和TI等国外芯片公司掌握,海尔通过Simulink和MATLAB建立了自己的电机驱动模型,解决了过往严重依赖国外技术的问题。


自动控制特别是PID算法的开发是电机控制中的重要组成。但直流电机驱动设计中涉及许多复杂的数学公式,诸如微分、积分、正弦、余弦等电机驱动中常用的数学运算,以及克拉克变换、帕克变换等等,另外还会涉及到大量的功率器件模型,这使得算法开发及验证变得异常繁琐。通过MATLAB和Simulink,海尔建立了电机模型,并通过模型的仿真与分析,优化了电感、直流电阻反电动势等参数,确保了电源稳定性和算法的准确性。


同时,海尔的MBD不仅限于核心算法,还包括整机模型及测试系统的开发。例如,在饮水机产品中,通过建立功能逻辑、交互输入等多个模型,海尔能够清晰地追踪数据流向。以电热水器的预约加热功能为例,传统测试方法需要人工设置各种时间组合,进行长达数周的测试。而MBD测试,可以在40分钟内完成原本需要45天的测试工作。这种自动化测试不仅大幅缩短了测试时间,还提高了测试覆盖率,确保了软件质量,同时简化了问题定位和复现过程。


范纪青表示,海尔已经利用MBD开发了6款电机驱动产品,在一年半的时间内达到了十几万的销量,圆满完成了市场的验证。

image.png

构建生态系统的必要性


范纪青发现,海尔在构建MBD时,发现很多芯片缺乏与MATLAB的融合,因此仍需要C语言来解决很多基础问题,对此也希望更多芯片厂商能提供代码库和API的支持,从而有效地利用芯片资源。


MathWorks正在为开发人员提供许多跨硬件平台移植应用的功能,因为开发者可能与多家MCU厂商合作,如TI、ST和Infineon等。


更多关于MathWorks支持的硬件可以查询:https://ww2.mathworks.cn/hardware-support/home.html,里面已经支持了主流的MCU或模块厂商,诸如树莓派、Arduino等。


写在最后


“尽管家电行业已经成熟,但仍有提升空间。关键在于如何通过深入探索和创新,将这一成熟行业推向新的高度。”范纪青说道,“同时,家电领域竞争一直非常激烈,我们始终要面临质量、成本、交期这6个字的考验。”


而通过MBD方法学,海尔找到了家电创新的新范式。范纪青也对此总结道:“通过使用MathWorks工具,我们显著提升了产品的质量,随之而来的效益提升也是显而易见的。这是管理层希望看到的变化,但对于开发团队来说,这不仅仅是表面的变化,更是开发流程和管理方式的变革。管理层可能只看到了“水面之上”的变化,而我们作为基础开发人员,更应该注重“水面之下”的工作。只有当基础工作扎实了,“水面之上”的成果才会自然而然地显现。”


关键字:MCU  MBD  Mathworks  Matlab  Simulink  海尔 引用地址:MCU也要基于模型设计?看海尔嵌入式开发专家范纪青怎么说

上一篇:米尔T527系列加推工控机和工业机,更多工业场景DEMO
下一篇:英飞凌推出全新开发板,加速边缘 AI 和 ML 应用

推荐阅读最新更新时间:2024-11-16 22:26

利用单片机从LCD显示屏上读出所测得电阻值解析方案
1引言 在电路测试过程中常常会碰到由于忽略某些小电阻的影响引起实验数据与理论值之间存在较大误差,从而影响测试效果例如电感器变压器中往往存在铜电阻,地铁铁轨的电阻;由于其数值较小,一般的指针万用表无法测量出来;通常实验室里会用电桥进行测量,但电桥操作手续较烦,又不能直接读出被测电阻阻值鉴于此,我们采用了单片机,利用单片机的优势设计了该测量仪该测量仪可直接从LCD显示屏上读出所测得的电阻值,测量范围为10~2.9999k,同时可以把测试的数据进行储存,然后经串行口送入上位机,通过上位机的强大功能,可以对所测得的数据进行分析处理该测试仪的测量精度高达±0.1%,并采用四端测量法,电阻值不受引线长短及接触电阻的影响不仅测量简便,读数直观
[单片机]
利用<font color='red'>单片机</font>从LCD显示屏上读出所测得电阻值解析方案
基于STM32单片机秒中断源和闹钟中断源的解决方案
“RTC”是Real Time Clock 的简称,意为实时时钟。STM32提供了一个秒中断源和一个闹钟中断源。 RTC的技术器是一个32位的计数器,使用32.768khz的外部晶振。 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。所有使用UNIX时间表示时间的程序都将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件。 在大部份的32位操作系统上,此“TIme_t”数据模式使用一个有正负号的32位元整数(signedint32)存
[单片机]
基于STM32<font color='red'>单片机</font>秒中断源和闹钟中断源的解决方案
51单片机头文件
intrins.h 在C51单片机编程中,头文件INTRINS.H的函数使用起来,就会让你像在用汇编时一样简便. 内部函数 描述 _crol_ 字符循环左移 _cror_ 字符循环右移 _irol_ 整数循环左移 _iror_ 整数循环右移 _lrol_ 长整数循环左移 _lror_ 长整数循环右移 _nop_ 空操作8051 NOP 指令 _testbit_ 测试并清零位8051 JBC 指令 reg51.h at89x51.h文件中对P1.1的操作是写成P1_1 reg51.h文件中对P1.1的操作是写成P1^1 表示方法不一样而已。 1 //Time:2017-2-11 2 //Project Name:reg51.h
[单片机]
PIC单片机入门_同步/异步通信技术基础
1.前言 通用同步 / 异步收发器 (Universal Synchronous/Asynchronous Receiver/Transmitter, USART) 模块是两个串行 I/O 模块之一 ( 另一个是 Synchronous Serial,SSP 模块 )。 USART也称为串行通讯接口(Serial Communication Interface,SCI)。 USART 可以配置为全双工异步系统,可与 CRT 终端和个人计算机等外设进行通信(RC6=TX, RC7=RX);也可配置为半双工同步系统,可与 A/D 或 D/A 集成电路,以及串行 EEPROM等外设器件进行通信。USART 可配置为以下几种工作模式:全
[单片机]
51单片机内部定时器/计数器应用
M1M0工作方式功能描述00工作方式013位计数器01工作方式116位计数器10工作方式2自动再装入8位计数器11工作方式3定时器0:分成两个8位计数器; 定时器1:停止计数 定时器/计数器方式控制寄存器TMOD不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器0,高半字节定义为定时器1。复位时,TMOD所有位均为0。 例:设定定时器1为定时工作方式,要求软件启动定时器1按方式2工作。定时器0为计数方式,要求由软件启动定时器0,按方式1工作。 我们怎么来实现这个要求呢? 大家先看上面TMOD寄存器各位的分布图 第一个问题:控制定时器1工作在定时方式或计数方式是哪个位?通过前面的学习,我们已知道,C/T位(D
[单片机]
PIC单片机调试心得
我是一位初学者,pic初学者,但是在单片机行当已经混迹多年了。说句实话,c开发环境都大同小异,只不过烧写和在线仿真大同小异。钻研了两天,收到了很多回应和启发。 下面应soso的请求,把最近的调试心得和大家分享 1、 先说说我要做的东西 说来惭愧,这是临时的一个小任务,做一个采集和现实的部分,用两路ad采集模拟量,通过开关进行切换,简单的说就是开关打开,显示一路模拟量;开关关闭,显示另一路模拟量。主电路及其简单,我就直接说了,不附图了。电源通过一个负载(滑动变阻器就可以)回到电源负极,在回路中接入一个电流传感器,实时采集电流信号(如果条件不允许,也可以用康铜丝或者一个大瓦数小数值的采样电阻采集电流信号。然后通过放大,隔离后送入单片机
[单片机]
PIC<font color='red'>单片机</font>调试心得
利用汽车微控制器上的边缘AI检测驾驶条件
高级驾驶员辅助系统 (ADAS) 能够检测车辆运动和道路状况,这种解决方案可以提醒驾驶员路面不平坦或是车辆正在发生侧滑,从而提升车内外人员的安全性。这种灵活的AutoDevKit系统解决方案套件 (AEKD-AICAR1) 基于在SPC58 C系列汽车 微控制器 上运行的长短时期记忆单元 (L ST M) 递归神经网络 (RNN)。 为驾驶模式部署 边缘AI ——TinyML如何转变驾驶状态检测? 根据最新研究,对于希望创造终极驾驶体验的汽车制造商来说,驾驶模式可能是新的埃尔多拉多(西班牙语“理想国度“的意思)。在2021年发表的一篇论文中,研究人员表明,某些驾驶模式会使在高速公路上行驶的电动汽车的耗电量增加15%
[汽车电子]
利用汽车<font color='red'>微控制器</font>上的边缘AI检测驾驶条件
单片机的FLASH引导装载系统设计
前言 DSP系统的引导装载是指在系统加电时,由DSP将一段存储在外部非易失性存储器中的代码移植到内部高速存储器单元并执行的过程。这种方式即可利用外部存储单元扩展DSP本身有限的ROM资源,又能充分发挥DSP内部资源的高速效能。因此,引导装载系统的性能直接关系到整个DSP系统的可靠性和处理速度,是DSP系统设计中必不可少的重要环节。在装载系统中,外部非易失性存储器和DSP的性能尤为重要。FLASH是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统EPROM要低。为此,本文介绍了TMS320C6713浮点DSP芯片和SST公司提供的SST39VF400A FLASH存储器的基本特点,给出了使用该FLASH存储器设计
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved