当前位置:首页 > 公众号精选 > ZLG致远电子
[导读]文|周立功日期|2021年11月29日ZLG致远电子创始人周立功你用的mcu涨价了,这还不是最坏的结果。过去20多年里芯片涨价,半年后基本上都会缓和下来。今年不一样,接近年底了,还没有任何迹象表明明年何时恢复供应,很多企业损失惨重。现在的情况是很多型号的mcu,原厂直接告诉你一句...

文|周立功


日期|2021年11月29日



ZLG致远电子创始人周立功


你用的mcu涨价了,这还不是最坏的结果。过去20多年里芯片涨价,半年后基本上都会缓和下来。今年不一样,接近年底了,还没有任何迹象表明明年何时恢复供应,很多企业损失惨重。


现在的情况是很多型号的mcu,原厂直接告诉你一句话“断供”,有钱都买不到。资本同样是逐利的,仅有的产能肯定转做利润更丰厚的芯片。


某些替代的芯片能买到,虽然无法完全兼容,但功能上可以实现100%替代,而切换平台基本上等于重新开发和测试。


坏消息越来越多,市场传言莫衷一是。转换mcu的产品成了企业最大的危机,不仅腾不出人员开发新产品,而且很有可能原产品软件工程师已经离职了,那怎么迭代维护升级呢?老板想哭都没人理,但危机却让人更加懂得珍惜人才,而从某种意义上来说,关键还是创始人是否能够从危机中看到未来的机会。


这次大缺货的教训,让很多创始人意识到供应链的重要性,深刻地认识到一个朴素的道理,如何让代码高度复用?这是降低开发成本,快速应对危机最有效的软件开发管理策略。


虽然看起来都是软件,但开发(电子产品的)嵌入式软件和计算机软件依然差别巨大。尽管IT技术高速发展了30多年,软件开发技术已经有了很大的进步,但电子领域的专家与计算机软件专家还是没有很好地跨界整合,从而导致企业普遍缺乏科学的软件工程技术管理方法。不仅软件难以重用,而且扩展和维护难度很大,长期以来开发成本居高不下。


从软件开发来看,软件工程与计算机科学(站在电子技术领域的角度来看,可以归类为嵌入式计算机科学)是完全不同的两个领域的知识。其主要区别在于人,因为软件开发是以人为中心的过程。如果考虑人的因素,软件工程更接近经济学,而非计算机科学,所以如果不改变思维方式,则很难开发出既好卖成本又低的好产品。


那到底如何才能实现软件高度复用呢?其实计算的本质和共性就是数据流(Flow),显然数据存储、数据传输……所以可以将各种软件按照分类抽象为节点(代码块),通过AWFlow Design设计器实现拖拽式编程。如下图所示,程序块间通信如同水流管道,每个程序块间的关系一目了然。尤其是虚拟设备接口,已经不是单个设备的业务逻辑软件开发,而是设备与设备之间的软件开发,整个系统与网络的软件开发,真正实现物与物之间的Flow开发。


节点的连接软件,通常称为业务逻辑软件,既可以使用广州致远电子定义的fscript脚本编程,更方便的使用AWBlock积木式图形化卡盒设计器编程,如同少儿编程软件Google的Blockly、微软的MakeCode那样编程,而AWBlock是广州致远电子使用c语言设计的,可以直接运行在各种mcu上的软件设计器,因此AWBlock开发方式结束了多变的用户需求问题。


说句实在话,再丰富的节点、组件资源,也无法满足所有的应用场景和用户需求,不可避免地会出现用户定制化的内容。无休止地投入研发资源定制开发成本极高,这是不现实的。而由用户自行二次开发,无论是底层的C/C 开发,或是Lua、JS、Python等通过脚本语言开发,甚至是将业务收缩,仅保留行业相关配置,比如,AT命令、运动控制命令等,学习这些知识始终是有门槛,需要有较强的专业背景。


AWBlock拼图式软件开发,无需懂得相关的软件知识,开发者可以将自己想要表达的内容和想法,很自然地通过AWBlock描述出来。


当将这些软件都集成在一起时,就是EsDA嵌入式软件设计自动化工具,还包括AWorksLP(或Linux等操作系统)、AWTK图形用户界面和ZWS PaaS IoT云服务。


EsDA可以使应用程序框架变得非常清晰,彻底解决程序块间通信容易混乱的现象,而且也能解决状态机复杂的状态管理和事件处理。


下面示例的流图实现了一个Modbus-RTU与MQTT之间的一个协议转换应用,其中主要分为两条数据流。


  • Modbus至MQTT


modbus_master_poll:Modbus主机轮询节点,该节点运行Modbus主栈功能,可添加多个目标从设备,以及每个从设备所需要轮询读取的寄存器。节点根据配置参数,周期性读取所管理的从设备寄存器值,并传递至fscript处理节点。


fscript:脚本节点,将modbus寄存器数据转换成MQTT数据定制化边缘计算(对数据进行相关计算和封装处理)。


mqtt_out:MQTT上报节点,将数据上传至用户指定的云服务器。


  • MQTT至Modbus


mqtt_in:MQTT下行节点,监听并接收云端请求,并将请求消息传递至fscript处理节点。


fscript:脚本节点将MQTT命令转换成对应Modbus从机寄存器值定制化业务逻辑(如可组合多个命令触发系统事件等)。


modbus_master_out:Modbus主栈从机寄存器修改节点,负责上级节点传递的寄存器值写入到对应从机设备中。


modbus_master_out 、modbus_master_poll均为本地自定义的非云端库的节点,紫色代表本地加载节点。aw-flow节点库已有可用的Modbus主栈节点,由于已有的节点设计适用于从机数量和寄存器数量固定不变的情况,当从机设备或对应寄存器数量发生变化时,需要重新拖拽相关节点才能实现。而在此应用中,从机设备和每个从机寄存器的数量是可变的,所以当前节点并不适用,需要一个可以支持设备和寄存器数量动态变化的节点。基于此,需要将这样的Modbus应用场景,重新抽象为一个新节点,但该节点与原节点并不冲突,适合相应场景的另一种形式,同样是通用Modbus应用节点。后续可以标准化,添加到节点库中。


EsDA的开发始于2006年,自始至终围绕 “帮助用户解决非核心域的问题,让用户专注于自身产品核心域的算法、行业需求、用户体验、市场营销、工艺创新和生产制造”的思路而展开的,因为所有与底层相关的差异化软件,以及各种通信协议等软件的开发,则是我们的核心域。


在产品开发中,如果你是一个有很多好的idea,且热衷于创造的人。但又由于缺乏更专业的软件开发功能,可能一时难以编写复杂的软件代码,最终无法将自己的想法转变成现实,那么选择EsDA则是最佳的捷径。


回头再来看硬件设计存在的问题,一个简单电路的器件,通常来源于几个不同的厂家。焊接到pcb,不仅占用加工时间,而且多个器件组合而成的电路,其可靠性具有很大的离散性,因此使用分立器件设计电路不如使用模块。


显然,需求一旦确定,则很容易几个小时之内焊接好原型机。如果空间不受限,则立即可以批量制造。我们设计了两种底板,分别为8/12个扩展槽,其中一个插电源模块,另一个插通信模块,其它的扩展槽可以任意插入数字输入输出和模拟数据采集模块。需要编程吗?不需要!这是一个独立的边缘计算控制器。


边缘计算芯片预置了通用代码,通过配置即可实现所需要的功能。方法一是烧录功能配置文件,方法二是通过主机发送命令绑定数据,就可以配置为任意功能的控制器,比如,3路输入、5路输出、2路热电偶温度采集和1路4-20mA的接口,即可实现柔性化硬件设计和任意电路扩展,从而极大地降低了设计成本。


企业在发展中,竞争是十分残酷的,总会遇到重重困难和各种各样的竞争者。比如,公司离职的员工会拉走你的人,和你做一样的产品;也有竞争者模仿生产和你兼容的产品,他们采取低价销售的方法和你争夺客户,怎么办?人都是从青涩的年纪走向成熟的,多少都会有无奈的抱怨。但随着时间的推移,很多人却没有被打倒,而是愈挫愈勇越做越好,是什么原因?成功者深刻地认识到,困难是最好的恩人,对手是最好的老师。因为凡事都有对立面,要有反对你的人,你才能将事情做得更好。如果你做什么都很顺利,就很容易失败。有人反对你,有人和你竞争,你应该感到高兴,因为绝好的机会来了。所以一定要知道,尽管对手能够通过模仿加入竞争,却无法偷到你明天的创新。因为最好的防御就是进攻,要敢于打破自己原有的优势形成新的优势,用开阔的胸怀看待世界,那世界慢慢就是你的。


我多么地渴望有一番令人骄傲的才干,也希望能改变这世界的某个角落,而要实现这样的人生理想,不能我一个人战斗,而是需要一个优秀而卓越的创新型人才群体,因此我同样非常渴望优秀的软硬件人才加盟广州致远电子有限公司。


很多人问我,你有什么要求?我想说的是创新是民族进步的源泉,那什么是创新的源泉?首先需要回答,什么是人类心智的最高能力?性灵!性灵是什么?想象力、直觉和感悟。


一个人有很好的出身,固然很重要。而如我一个卑微的技校生,反而会促使自己努力奋斗,用一生证明自己存在的价值。我们可以选择从事热爱的职业,用疯狂的学习精神改变自己的命运。如果你也是这样的人,那就是我们的同盟军。




本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月18日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 很荣幸地宣布与Edge Impulse建立新的全球合作关系。Edge Im...

关键字: 机器学习 MCU CPU

【2024年4月16日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)在2023年持续扩大其在汽车半导体市场的领先地位。TechInsights的最新研究显示,2023年全球汽车半...

关键字: MCU 半导体 电池管理系统

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

· Ceva-Waves™ Links™ IP系列提供完全集成的多协议连接解决方案,包括Wi-Fi、蓝牙、UWB、Thread、Zigbee和Matter,为下一代连接协议丰富的MCU和SoC简化开发工作并加快上市时间

关键字: 人工智能 MCU SoC

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发板是嵌入式系统开发的重要硬件平台,它集成了微处理器(或微控制器)、存储器、输入输出接口以及其他必要的外围电路,主要用于开发、测试、验证嵌入式软件和硬件设计方案。本文将详细介绍嵌入式开发板的基本构造原理、核心组件...

关键字: 嵌入式开发板 MCU

波特率9600的传输速率为每秒9600个比特,而波特率115200的传输速率为每秒115200个比特,因此,115200的传输速度比9600快得多。

关键字: 波特率 传输速度 MCU

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越...

关键字: MCU MPU 开发板
关闭