了解嵌入式系统设计的总成本
扫描二维码
随时随地手机看文章
在开发一个嵌入式设备时,确定使用哪种技术来实现系统的核心控制器是早期最为关键的项目进度里程碑之一。除了考虑处理器架构、操作系统性能、以及其它组件之外,您必须决定系统的哪些部分需要设计、哪些部分需要购买现成设备。通过设计和创建一个自定义的控制器,您可以全面地自定义最终的解决方案并优化成本,但是任何设计规范的更改或疏忽都将导致漫长且成本高昂的延期。换句话说,使用现成的平台将增加产品的销售成本(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兼容性。 集成式嵌入式系统-除了具有与非集成式嵌入式系统相同的组件之外,集成式嵌入式系统提供了诸如冲击、振动、工作温度、以及