首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

了解嵌入式系统设计的总成本

了解嵌入式系统设计的总成本

  在开发一个嵌入式设备时,确定使用哪种技术来实现系统的核心控制器是早期最为关键的项目进度里程碑之一。除了考虑处理器架构、操作系统性能、以及其它组件之外,您必须决定系统的哪些部分需要设计、哪些部分需要购买现成设备。通过设计和创建一个自定义的控制器,您可以全面地自定义最终的解决方案并优化成本,但是任何设计规范的更改或疏忽都将导致漫长且成本高昂的延期。换句话说,使用现成的平台将增加产品的销售成本(cost of goods sold,即COGS),而且您可能为您的设计中不需要的特性而花费成本。但是通常来说,现成的系统提供了更快的验证周期,因而也就具有更短的上市时间。本指南阐述了用于开发新型控制器时的两种选择——创建或购买——并且讨论了与这两种方式相关的技术和经济风险。

  自定义的嵌入式系统设计——“创建”的方式

  在开发之前,您必须为系统的核心控制器选择一种处理器技术。例如如下所列举的五种技术:

  微控制器-微控制器的成本极为低廉,并且通常在单一的芯片上提供了集成的解决方案,且包括I/O外围设备。它们通常带有极小的片上存储容量,而且不易于用于复杂性高和需要扩展的场合。                   

  此外,其时钟速率通常是10M赫兹的数量级,因此您通常不能实现高性能的控制循环。

  微处理器-利用微处理器,时钟速率将更高而且通常具有外部存储接口,因而性能和扩展性并不成问题。但是您的应用程序可能需要复杂的驱动开发,因为它们通常并不带有片上模拟外围设备。此外,高密度的封装技术,例如球门阵列封装(ball-grid array,即BGA)可能导致需要极为复杂的制造流程。这就增添了更为困难的硬件调试工作。

  数字信号处理器(DSP)-DSP是一种专用的微处理器,它具有额外的指令以优化特定的数学函数,例如乘法和累加操作。DSP对于计算繁重的应用场合来说是极为有用的,但是您通常需要专业的知识来利用它的软件性能。

  专用集成电路(ASIC)-一款ASIC芯片是专为某个特定的应用而设计的,而不是为了通用的可编程性。ASIC广泛被认为是一种极好的技术用来解决诸如功率消耗和产品成本等技术性问题。但是,极为昂贵的ASIC开发和制造流程通常让人望而却步,除了那些具有极大产量的产品。

  现成可编程门阵列(FPGA)-FPGA 在自定义的ASIC设计和现成的技术之间提供了极好的平衡。它们具有高度的专有化性能,但是它们可以重新配置,因而您不会付出与开发ASIC相同的高昂制造成本。虽然您可以在广泛的处理应用场合中使用FPGA,但是会遇到并不常见的复杂的FPGA设计,因为对于大部分习惯于使用C语言进行顺序编程的嵌入式软件开发者来说,VHDL编程格式显得十分陌生。

  在许多情况下,单一的处理器技术并不足以解决应用的需要。因此,近年来混合式架构就变得极为流行。一种使用这种方式的架构如图1所示。实时处理器用来管理网络通信和用户界面,而FPGA则管理着与I/O组件和高速控制任务间的接口。这种混合式架构在嵌入式系统设计中变得十分普遍。

混合式架构在嵌入式系统设计中变得十分普遍

图1、混合式架构在嵌入式系统设计中变得十分普遍。在这种混合式架构中,实时处理器用来管理网络通信和用户界面,而FPGA则管理着与I/O组件和高速控制任务间的接口。

  在确定了使用何种处理器技术之后,您必须开发I/O电路。如果嵌入式系统中存在任何的模拟信号,那么您就需要模拟-数字信号转换器(ADC)、数字-模拟信号转换器(DAC)、以及相应的软件驱动。市面上许多书籍都讲述了设计优良模拟电路中所遇到的复杂性问题,因此本指南着力于系统中的嵌入式控制器,尽管其中许多的概念也适用于I/O组件的选择。

  现成的嵌入式系统-“购买”的方式

  另外一种方式就是购买现成的平台来开发控制器。虽然通常来说您付出了比板卡组件成本更高的价钱,但是您可以更加迅速地进入市场。除此之外,这些系统具有较好的扩展方式,所以在第一次原型设计后进行不可避免的性能改进之时就无需费心费力。而且随着处理器技术的进步,您可以为您的嵌入式系统考虑如下几种不同的实现技术:

  非集成式嵌入式系统-它具有多种不同的波形系数(form factors),例如Mini-ITX、PC/104等。非集成式嵌入式系统通常是最为经济的使用现成产品来建立嵌入式系统的解决方案。这些系统也具有各种不同的处理器架构以供您选择,而且也会带有一小部分操作系统和I/O支持套件。但是,针对这种系统的软件开发工具几乎从未集成,而且这些系统通常需要您进行强制性认证,例如EMI和CE兼容性。

  集成式嵌入式系统-除了具有与非集成式嵌入式系统相同的组件之外,集成式嵌入式系统提供了诸如冲击、振动、工作温度、以及环境认证之类的技术说明。通常来说,这些系统更加昂贵,但是他们通常带有集成式软件开发工具而且具有更为丰富的集成式I/O选择。

  工业级PC-利用现成可得的PC技术,工业级PC为开发工具及I/O性能提供了最为丰富的选择。它们也具有许多与其它集成式嵌入式系统相同的技术说明和认证,但这种性能是以成本为代价的。这种系统比前述两种方式更为昂贵。

  NI CompactRIO集成式嵌入式系统架构与图1所示的简单的方框图极为相似。    
  
  它使用了Freescale公司的PowerPC微处理器并运行 VxWorks实时操作系统。PowerPC通过内部的PCI总线与Xilinx FPGA相连接。此外,FPGA直接连接至各种模拟和数字I/O模块的连接头,从而使得您可以连接传感器、激励器、以及通信总线。如果您需要高度自定义的 I/O,那么您可以设计您自定义的模块。图2示出了NI CompactRIO集成式嵌入式系统示意图,而图3示出了嵌入式系统方框图。

NI CompactRIO正是集成式嵌入式系统的一个实例

图2、NI CompactRIO正是集成式嵌入式系统的一个实例

CompactRIO系统方框图

图3、CompactRIO系统方框图

  做出决定-嵌入式系统设计中的“隐性”成本

  通常在选择采用创建还是购买方式时,技术性能并不是决定性因素。                                   

  相反,它通常会演变成一 个简单的经济性分析。如果最终的利润所得足以填补产品开发过程中所花费的工程成本投资,那么您就做出了一个明智的决定。

  如果要做出一个明智的决定,您必须准确地估计创建您自定义解决方案所花费的成本。但这并是看上去那么简单;如果您只是把板卡组件的成本和硬件及软件的开发时间相加,那么您只是非常粗略地低估了总投资成本。您应当考虑其它的“隐性”成本才能准确地评估真正的任务成本。

  例如,制造和库存成本通常是系统销售成本的百分之二十到三十。此外,平均来说,百分之三十的软件开发时间花在操作系统、驱动、以及中间件开发上-尽管在选择带有集成硬件和软件的集成平台后您可以不必进行这样的板卡启动工作。另外,您还需要考虑其它的隐性成本,包括环保标准、验证、易耗元器件、以及最后时刻的技术变更所导致设计变更和彻底的重新设计。最后,最难以感觉但可能是最为重要的成本是机会成本,即把工程时间花费在设计此种系统,而不是花费在其它将带来收益的项目上。

  一旦您评估了工程投资成本,那么您就可以计算一个简单的财务收支平衡分析。假设您指派两个工程师花费九个月的时间来开发一个自定义的板卡,从技术说明到供货,其投资成本大约是$300,000。下一步,在预安装、原型设计、预发布单元、加工以及其它偶然的工程成本等每个方面您都花费了$25,000,从而使得整个投资成本上升到$400,000。在您完成了这些工作后,自定义设计产品的成本将比现成的平台便宜$400。使用公式1,您将看到投资收支平衡点位于第1000个单位产品,而且直到售出第1001个单位产品才会盈利。而且,这并没有包含上面所讨论的其它“隐性”成本。但是,如果您选择了集成式嵌入式系统,那么您可以缩短上市时间,但是早期的利润将会用于成本优化和特性改进。通过这种方式,您可以在整个产品生命周期内摊销投资成本,而不是在早期的开发过程中投入所有的资金。

使用简单的公式来计算任何自定义系统的收支平衡点

公式1、您可以使用简单的公式来计算任何自定义系统的收支平衡点

  因此就不要开发自定义的板卡了?当然不是。反而,对于那些需要极高专用化波形系数且具有极高产量的系统、或者具有极为苛刻技术要求(例如极低的功率消耗)的系统来说,当您评估对您产品成功至关重要的技术时它将节省您的辛苦付出。而在那些您使用现成技术的领域,可以让供应商负担物流和“隐性”成本从而使得您可以专注于技术差异化以获得更优的产品。

返回列表