欢迎光临散文网 会员登陆 & 注册

每一个成功的产品背后都有一个精心设计的架构

2022-03-21 20:56 作者:纪客老白  | 我要投稿


在他的硬件创业系列文章中,作者介绍了硬件体系结构设计的重要性,以及不进行适当的体系结构设计将如何导致麻烦。为了使这个问题更加清晰,他使用了一个他最近处理过的现实生活中的例子,以便更好地理解。当我们建造房子时,通常我们不会直接去设计房子。我们首先得到建筑师的帮助,以获得房子的轮廓(现在一天3d 渲染的房子) ,并得到所有需要的功能解决之前,我们进入下一阶段的规划或创建一个房子平面图。同样,在完成详细设计之前,创建一个电子产品需要基本的架构设计。一个成功的设计需要适当的架构设计和良好的电路设计。

但是,在开始实现设计之前,您需要经验和知识的深度来设计体系结构。我最近观察到的是,一旦团队冻结了设计产品的决定,他们就从电路设计开始,这就会导致问题。我看到的一些关键问题是:

  1. 产品性能不符合要求

  2. 产品成本增加

  3. 在不同环境下工作时遇到的问题

  4. 产品升级的困难

设计产品的体系结构首先有助于提升产品。当您进行体系结构设计时,您不应该担心将使用什么组件,而应该只担心产品的功能。一旦架构完成,实现设计就变得更加容易。

第二种风险趋势是专注于“技术”,并为使用该技术而定制设计。很多次我听到创业者告诉我,“先生,微控制器很好,所以我们正在设计一个基于它的产品。”但这种谬论只会导致后来的麻烦。俗话说,你应该买合适尺寸的鞋子,而不是为了你喜欢的鞋子而剪脚!

在设计医疗设备、航空电子设备和工业设备时,架构变得最为关键,所有这些设备都以安全为主要标准。由于这些都是受监管的行业(中央机构将最终批准您的产品) ,因此体系结构设计和故障安全分析至关重要,因为必须对这些设计进行审查。

大多数设计师在开始设计之前并不了解开发架构的好处。设计体系结构的优势首先在以下产品中有所帮助:

  1. 满足需求的可预测性能

  2. 设计简单,制造方便,成本低

  3. 易于支持和升级的未来

顺便说一下,设计一个架构不是一个火箭科学。它只需要将产品功能分解为单个部分并创建单个块来处理这些功能的基本思想。

为什么产品架构是至关重要的

一个架构良好的产品是健壮的,并且按照规范执行。这有效地导致了一个成功的产品与长寿命。请记住,对于一个寿命长的产品(医疗设备、航空电子设备和工业设备) ,

这些需求需要一个设计良好的体系结构。长寿产品有它们自己的问题,特别是陈旧过时。今天,七到十年是半导体的平均寿命。因此,如果产品需要更长的寿命,设计就需要特别针对这个挑战。

第二个方面是产品的成本。随着产品的老化,消费者希望成本下降,此外还有对产品过时的担心,导致产品价格不断下降。一个结构良好的产品可以降低生产成本并且易于维护。

除此之外,产品的软件开发也受到体系结构的影响。定义良好的体系结构有助于更简单和健壮的软件。当软件不使用任何实时操作系统,而是作为一个裸金属软件开发时,这是很有帮助的。在裸金属软件中,对硬件的依赖性很高,设计良好的体系结构使得裸金属代码的编写简单紧凑。

一个很好的架构示例

为了解释一个好的架构的重要性,这里有一个产品的现实例子,这个产品的设计没有一个好的架构,而且电路的实现没有经过适当的设计周期。这种设计是为国防应用而创建的,以取代现有的机械控制成为电子控制。该系统的主要功能是从第一个继电器开始,逐个关闭一系列的31个继电器。关闭操作以按下按钮开始。电位计 p1和 p2被用来设定下列功能:

P1设置继电器在按下按钮后开始闭合的延迟时间。

P2设定继电器闭合之间的时间,从继电器1开始到继电器3。

原始设计如图1所示。你可以看到有两个微控制器,系统有两个 pcb,由于在现有的外壳改装要求。这导致了22个互连针之间的印刷电路板。继电器的延迟和闭合所涉及的时间以秒为单位,设计者仍然采用传统的单片机驱动3个继电器的设计方法。这样就没有空间用来连接(需要 adc) ,他们添加了另一个微控制器来完成这个功能,并且用两个微控制器使设计变得复杂。整个设计变得复杂和昂贵的维护与两个软件在同一个产品。如果设计师在架构上花费一两天的时间,这一步本来是可以避免的。

图1: 应用程序的原始设计

设计师来找我们寻求指导,帮助我们重新设计,使整个设计变得更简单。经过研究的要求(主要的限制是现有的外壳是15厘米直径和10厘米长的柱体和多氯联苯必须安装在这个有限的空间,我们的团队重新设计的结构,使整个设计更简单,如图2所示。我们花了大约一天的时间来理解这个需求,并做了一个自下而上的新设计。正如你所看到的,新设计的优点是:

  1. 一个微控制器和更简单的软件

  2. Pcb 之间的互连从22减少到4,使工程简单和制造更容易

  3. 这种结构为下一代系统增加更多的继电器提供了一个开放的选择。

  4. 最重要的是,作为一个长寿命的产品,设计可以支持不需要太多的努力。

图2: 简化设计与重新设计的架构

什么是需要考虑的因素

当设计师开发产品架构时,需要考虑以下因素:

  1. 处理器的选择以及不同内存大小和不同软件包的变化。

  2. PCB数量和按功能块划分系统,以确保最佳设计。

  3. 如果系统是电池驱动的,那么架构设计就变得至关重要,因为电池寿命完全取决于操作的速度和电子设备消耗的静态电流,而静态电流与处理器的速度成正比。

  4. 如果产品面向受监管的行业,那么架构应该是“容错的”或“故障安全的”在容错系统的情况下,体系结构应该不间断地工作,这在医疗和电信系统中是很典型的。这可能需要使用两个处理器。在故障安全系统的情况下,当系统出现故障时,系统应该进入安全状态而不伤害用户。

  5. 花时间了解可用的开发和调试工具,以及它们是否符合安全标准。通常,大多数免费工具或开源工具不符合任何安全要求,必须使用特殊工具。

  6. 了解处理器的时钟速度和产品性能需要避免选择一个动力不足的速度,可能会影响系统的性能。

开发体系结构的技巧

为电子产品开发体系结构可以是一个完整的过程,因为它同时影响到硬件和软件。然而,这里有一些小贴士可以使用。

  1. 当产品构思出来时,用功能块构建产品,每个功能块都有一个独特的功能。

  2. 使用信号组来规划块之间的相互连接(如果在上面的例子中设计的团队完成了这一步,他们就会发现他们遇到了一个挑战) ,将数据、电源、时钟等分开。这给出了一个清晰的信号概述,并带出了任何缺失的信号。

  3. 如果产品必须设计与多种多氯联苯(任何电子产品的用户界面总是有一个单独的 PCB 显示) ,确定哪块将去哪个 PCB。再次访问互连,因为现在你将有更多的信号来连接

  4. 始终选择一个控制器,有不同的内存选项和不同的选择。这有助于用最少的硬件和软件更改定制产品。

  5. 当你设计一个物联网解决方案时,物品数量会很大,所以成本必须很低。然而,每个“东西”都将与网关或云有互连。必须正确地选择互联方式。由于错误的界面选择和错误的组件,许多设计都会遇到成本和性能问题。

  6. 如果您使用的是供应商提供的参考硬件或软件,首先要了解设计,因为这些都是为了演示,其成本和内存大小永远不会得到优化。


每一个成功的产品背后都有一个精心设计的架构的评论 (共 条)

分享到微博请遵守国家法律