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