世界上充满了创新和有用产品的明亮和创造性的想法。杰出的工程师和营销人员渴望为这些产品带来客户,他们将购买它们并欣赏它们改善生活的方式。如今,这些产品越来越多地基于微处理器或微控制器(MCU),具有外设和独特软件的创造性组合。
那么,为什么这么多的创新概念无法从一个令人兴奋的会议室变成一个实际的盈利产品呢?事实证明,有一些原因可以确定并避免以取得成功。
首先,根据市场研究和用户输入来决定“构建什么”似乎很简单,特别是对于与客户有密切关系并熟悉专业领域的小型公司。
但是,当涉及到与现实世界交互并花费实际美元的实际设备时,“什么”(做x的小玩意儿)通常是一个过于笼统的概念。要了解“什么”确实需要市场研究和投入,但它也依赖于一个工程团队,他们知道技术上涉及什么以及硬性的财务分析,以了解这种可能性的路径将花费什么。由于所有项目都包含某些未知因素,管理层必须灵活地应对计划中的变化和“陷阱”,并有能力通过实现设备所必需的功能和组件的迷宫来找到最佳方法,但这些功能和组件不是其应用的核心。
较小的公司可能会受到其资源和承担风险的意愿的限制,并且在扩展产品时坚持他们所知道的领域 - 他们可以利用较少的直接竞争来支持其产品的开发和增量改进。然而,较大的公司经常选择原型设计,以便他们可以让团队查看工作的早期模型来分析它并理解它以进行更改并解决错误。这两种方法都可以成功,但由于对某些障碍的忽视和对实施的错误假设,两种方法都可能会失败。
首先,通过对一系列想法进行过滤,方法是将它们置于一个称为阶段门的过程中,以考虑市场研究,开发和财务限制,以提出最佳竞争者(图1)。虽然它不经常使用,但对于可能难以采用更严格方法的小型公司来说,阶段门控可能非常有用。
一旦选择了这样的想法,就该开始真正的开发并避免在此过程中存在的陷阱了。
虚构的智能设备及其开发要求
为了证明许多公司在产品开发过程中遇到的问题,请考虑一家假设的公司,该公司在他们已经有一些经验的领域工作。
在进入产品规格阶段(根据针对一组特定最终用户的产品规格选择了“什么”),“什么”有两个方面。这些可以被描述为它应该做什么和“什么”它实际上将作为物理设备的规范 - 或者换句话说,做什么以及如何到达那里。
该公司最终选择了一种小型可穿戴设备,该设备包括一组传感器,用于监控身体和环境条件,向用户提供信息和/或警报,并将数据存储在云中。它被标榜为首款批量销售的同类设备,并将使用蓝牙5收音机连接到包含一个或多个相关应用程序的智能手机。反过来,智能手机与基于云的AI或数据管理应用程序进行通信,使可穿戴设备成为物联网设备。
可穿戴设备花费大量时间与云断开连接,感知,预处理,存储数据并提供即时响应。其本地处理性能受到功耗限制以及对安全性和数据存储的需求的限制。
目前为止,一切都好。从该规范中产生了许多要求,包括:
一套久经考验的可靠传感器
能够将多个传感器输出组合成单个结果的传感器融合算法
足够的程序存储器用于设备软件和固件,以及用于在本地存储数据直到可以传输的附加存储器
USB 接口和固件无线 (FOTA) 更新功能,用于诊断、维护和服务
在最终设计可以容纳的尺寸和重量范围内提供足够的容量和足够的充电能力的电池
满足这些要求需要仔细考虑,而失败往往就是从这里开始的。
成功道路上的坑洼
继续我们假设的例子,开发人员可能会认为Wi-Fi是比USB服务接口更好的选择 - 除了Wi-Fi消耗如此多的功率,以至于设备需要更大的电池和更多的硬件支持,从而导致更大的尺寸,重量和更高的总体成本。完全避免这种错误的成本和时间要低得多,而不是开始沿着这条路走下去,不得不回头。
在选择其他硬件(尤其是处理器)时也需要谨慎。能够处理器件有限编程和复杂性的低功耗微控制器比在尺寸和功耗方面可能过于小用的微处理器更可取。寻找具有集成功能的器件还可以大大有助于降低成本、缩短上市时间,并在开发过程中缩短死胡同,因为与使用分立式蓝牙芯片相比,集成了蓝牙 5 的 MCU 可节省空间和功耗。
而且,无论如何,选择已知、预认证的部件,并在适当时附带可靠的驱动程序软件(如传感器)。
虽然原型设计当然是开发过程的重要组成部分,但请尝试选择具有所选处理器的评估板,而不是一些嵌入式Linux板。前者可以让您更轻松地获得工作,灵活的设计,还可以让您更好地了解组件如何在最终包装中组合在一起。
是否有可用的MCU版本可以放入非常小的封装中?电池和接口将位于可穿戴设备上的什么位置?在流程的早期考虑这些问题有助于避免阻碍上市时间、增加巨大成本并最终扼杀产品的障碍。
寻找软件的安全之路
设计中很少被预先理解的一个方面是所需软件的范围和数量。当然,还有将在设备上运行的软件(这本身就是一个主题),还有将在智能手机上运行的应用程序(是的,Android和iOS版本),以及提高设备可用性所需的云软件。需要对开发方法,外观和感觉做出决定,以使所有这些软件尽可能可靠和一致。
超级循环、意大利面条代码和实时操作系统
如果不仔细绘制,为嵌入式处理器开发软件可能是一条危险的道路。从头开始编写所有代码的诱惑可能是致命的。首先,这需要对外设、安全性、文件系统、实时时钟等的所有支持进行编码。仅此一项就花费了大量的时间,并且意味着不可避免的错误和调试。即便如此,该软件也可能存在部署后仍未检测到的错误。
“从头开始编写所有内容”的常见推论是“超级循环”方法。在超级循环中,从头开始写入以单个控制循环的形式继续进行,该控制循环连续轮询数据和进程的不同外设。这样的循环以最简单的形式很容易理解,但很快就会变成一堆意大利面条,并且随着功能的增长而变得无法理解或维护。从这条路开始只会让你走得更远,并导致发展和财务灾难。
虽然基于平台的开发对于边缘设备(即智能手机)和云来说几乎是给定的,但必须积极地寻找,评估和选择嵌入式设备。从一开始,这意味着使用专门针对项目中使用的MCU架构的实时操作系统(RTOS)。使用RTOS提供了一个即时平台,该平台在MCU上运行,并根据需要从外设中断服务,提供现成的I / O和其他基本功能。仅此一项就提供了大量现成的、经过测试的、通常经过认证的代码,您可以在其中添加独特的功能(增值)。它还缩短了上市时间,并确保了该级别的代码正确性,可以认为该级别是安全的,经过测试的,已经集成,完整且高效,克服了超级循环方法的所有限制。
实时操作系统还可以实现更轻松的原型设计。在前面提到的传感器融合示例中,原型设计将帮助开发人员了解需要哪些传感器,哪些算法最有效地将传感器输出组合成单个数量,以及所选处理器(可能具有快速乘法/累加(MAC)操作性能)能够很好地过滤来自传感器的噪声。基于一系列处理器的外设和原型开发板的RTOS为全面原型设计和开发提供了强大的平台。精心挑选的RTOS可以提供预先测试的设备驱动程序;安全功能;文件系统;并支持各种传感器、摄像头和无线电。
手机框架
当涉及到边缘设备(这里是智能手机,但在其他情况下可能是PC),还有众所周知的操作系统,如Android和iOS,以及用于智能手机开发的强大编程语言和工具。一个可能的陷阱是两种类型的手机的功能和用户体验(如用户界面等)之间的差异。在这里,框架可用于帮助协调开发。
尽管如此,开发手机应用程序的成本很容易被低估。鉴于大多数产品都针对Android和iPhone,因此在手机上使用框架的决定可能是一个艰难的决定。如果单独开发,可以实现几乎相同的外观和感觉,但开发成本和维护成本将更高。使用框架,两个应用程序可以一起维护,这可能会降低成本,但创建不太灵活的用户界面。
云平台抽象挑战,但并非全部挑战
幸运的是,IBM 沃森物联网和微软Azure等平台为开发云应用程序提供了坚实的环境。它们提供云/边缘/设备连接选项、数据管理工具和人工智能 (AI) 框架,可以分析大量数据并优化在设备和边缘系统上运行的应用程序。
开发云软件和云平台本身也可能很昂贵。丰富的环境和先进的云处理可能需要大量开发,尤其是在应用程序需要复杂的学习算法的情况下。
人工智能需要大量的原始真实世界数据,这些数据需要收集,预处理以消除噪声并清理信号,由深度学习神经网络再次处理,最后在后端运行或移动到边缘。这种AI处理可以极大地改善您的产品,但是如果您缺乏算法开发经验和/或不熟悉使用数字信号处理来清理信号,则比您想象的要困难得多。所有这些在时间、风险和总工作量方面往往被低估。从简单的分析开始,并扩大您的成功。
节省时间就是赚到的钱
毫无疑问,产品开发最昂贵的方面是时间——重新设计设计所花费的时间,测试本来可以预先测试过的组件,以及修复错误和糟糕的决策。
市场份额的价值是总开发成本的10到1000倍,因此上市时间,质量和可靠性比您在内部工程组件节省的相对较少更重要。
尽快占领市场份额的一条途径是选择具有您所需的外设支持和灵活性的RTOS,以及可以使您的产品真正成功的处理器。
审核编辑:郭婷
-
微控制器
+关注
关注
48文章
7487浏览量
151033 -
微处理器
+关注
关注
11文章
2247浏览量
82310
发布评论请先 登录
相关推荐
评论