如何缩短开发嵌入式系统之路
扫描二维码
随时随地手机看文章
在日益信息化的现代社会中,计算机和网络的应用已经全面渗透到日常生活中,各种应用嵌入式系统的电子产品也随处可见,计算机的应用经过桌面PC系统的空前之后,嵌入式系统的应用正风起云涌,广泛进入到工业、军事、通信、环保、电力、铁路、金融等众多领域。作为两大类型计算机之一的专用计算机系统、即嵌入式系统在应用数量上已经远远超过传统的通用计算机系统,嵌入式微控制器技术的出现给现代工业控制领域带来了一次新的技术革命。
嵌入式微控制器组成的系统可嵌入到任何需要控制的设备中,并且在工控领域的应用已经越来越广泛。嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SoC)。当前使用的单片机与工控机是一种典型的嵌入式系统应用。随着Internet的飞速发展,对各种工控设备的网络功能要求也越来越高。大量的智能设备将通过网络相互传递信息和数据,实现智能化现场设备的功能自治性、系统结构的高度分散性以及监管控一体化。
在嵌入式系统的市场竞争愈加激烈的今天,如何快速地将符合需求的产品投入市场并在竞争中保持一席之地?成为众多嵌入式研发制造企业所面临的共同课题。
所以必须通过加快设计流程来提高设计质量,而目前大多企业普遍采取的解决方案是利用现成的商业化平台。嵌入式设备在开发过程中,除了必须考虑它的处理器架构、操作系统性能、以及其他组件之外,开发人员还必须了解一些例如:系统的哪些部分需要设计、哪些部分需要购买现成设备等等。
一般自行设计的方案,它的优势是可以全面地自定义最终的解决方案并优化成本,但是任何设计规格的更改或疏忽都会使成本高昂,且周期漫长。相反,使用商业现成的平台将增加产品的销售成本,或者可能会浪费一些不必要的成本,但是通常来说,现成的系统提供了更快的验证周期,因而也就具有更为快捷的设计流程,从而在更短的上市时间内保证设计的质量。
下文我们就将用于开发嵌入式系统的两种方案----自行设计或使用现成平台进行对比阐述,并且讨论与这两种方案相关的技术和经济风险。
方案一:自行设计
开发之前,需要为系统的核心控制部分选择一种处理器技术,目前研祥采用以下五种技术:
1. 微控制器-微控制器的成本极为低廉,并且通常在单一的芯片上提供了集成的解决方案,且包括I/O外围设备。它们通常带有极小的片上存储容量,而且难以用于复杂性高和需要扩展的场合。此外,其时钟速率通常是10MHz的数量级,因此一般不能实现高性能的控制循环。
2. 嵌入式处理器-和微控制器相比,嵌入式处理器的时钟速率更高且通常具有外部存储接口,因而性能和扩展性并不成问题。但是应用程序需要进行复杂的驱动开发,因为嵌入式处理器通常并不带有片上模拟外围设备。此外,随着芯片封装技术的发展,嵌入式处理器通常采用高密度的封装技术,例如球栅阵列封装(ball-grid array,即BGA),这将导致较复杂的制造流程,增添了更为困难的硬件调试工作。
3. 数字信号处理器(DSP)-DSP是一种专用的微处理器,它提供额外的指令以优化特定的数学函数,例如乘法和累加操作。DSP对于计算繁重的应用场合来说是极为有用的,但是通常需要专业的知识来利用它的软件性能。
4. 专用集成电路(ASIC)-ASIC芯片是专为某个特定的应用而设计的,不具有通用性。对于解决诸如功耗和产品成本等问题,ASIC被广泛认为是一种极好的方案。但是,极为昂贵的ASIC开发和制造流程通常让人望而却步,一般仅限于具有极大产量的产品。
5. 现场可编程门阵列(FPGA)-FPGA在自定义的ASIC设计和现成的技术之间提供了极好的平衡。它们具有高度的专有化性能,同时可以通过编程重新配置逻辑模块,因而其开发成本与ASIC相比要低得多。虽然FPGA可以被应用于各种场合,但是一般来说复杂的FPGA设计并不常见,因为对于大部分习惯于使用C语言进行顺序编程的嵌入式软件开发者来说,VHDL编程格式显得十分陌生。
在许多情况下,单一的处理器技术并不足以解决应用的需求,因此,混合式架构逐渐成为发展的方向。如图1所示,嵌入式处理器用于进行系统管理、用户界面和数据分析,而DSP负责与I/O模块和对数据进行初步处理等任务。这种混合式架构在嵌入式系统设计中变得十分普遍。
图1:嵌入式处理器用于进行系统管理、用户界面和数据分析,而DSP或FPGA负责与I/O模块和对数据进行初步处理等任务
在确定了使用何种处理器技术之后,设计人员还需要完成I/O电路的开发。如果嵌入式系统中存在任何的模拟信号,那么就需要使用模数转换器(ADC)、数模转换器(DAC)、以及相应的软件驱动。模拟电路的设计同样会遇到很多复杂的问题,限于篇幅本文不再赘述。
方案二:利用EVOC EEB PowerPC模块构建
采用这种方案,虽然通常来说需要付出比板卡组件成本更高的价钱,但是可以显著缩短产品进入市场的时间。除此之外,这些系统具有较好的可扩展性。随着处理器技术的进步,嵌入式系统出现以下几种不同的实现技术:
1、 非集成式嵌入式系统------对于使用现成产品来构建系统,这种系统通常是最为经济的解决方案。但是,针对这种系统的软件开发工具几乎从未集成,而且这些系统通常需要进行各种监管认证。
2、 集成式嵌入式系统------除了具有与非集成式嵌入式系统相同的组件,这种系统还提供诸如冲击、振动、工作温度,以及环境认证之类的技术说明。通常这些系统更加昂贵,但一般都带有集成的软件开发环境,且具有更为丰富的I/O选择。
3、 工业级PC------利用现成的PC技术,工业级PC为开发工具及I/O性能提供了更为丰富的选择。它们也具有许多与其他集成式嵌入式系统相同的技术说明和认证,但这种性能是以成本为代价的,它比前述两种方案更为昂贵。[!--empirenews.page--]
基于EVOC EEB PowerPC模块的集成式嵌入式系统架构与图1所示的简单方框图相似。它使用Freescale PowerPC嵌入式处理器运行VxWorks或Linux实时操作系统。PowerPC通过内部的60X总线或PCI总线与DSP/FPGA相连接。 DSP/FPGA直接连接至AD采集芯片、开关量输入输出等外围接口。
图2:基于EVOC EEB PowerPC模块的集成式嵌入式系统示意图
图3:EVOC EEB PowerPC模块框架
纵观以上两种设计方案,技术性在其中能不能起到决定性作用,而简单的经济性分析却是非常必要的。如果最终的利润足大于开发过程中所花费的工程成本投资,那么所做的决定就是明智的。准确估算自行设计方案所花费的成本,并不是一个很简单的过程;如果只是把板卡组件的成本和硬件及软件的开发时间相加,那么只能是非常粗略地估算了总投资成本。还应该考虑其他的潜在成本才能准确地评估实际的任务成本。
评估了工程投资成本后,可使用公式: TPC/(SUP-VCUP)=BEP(其中,TFC为总固定成本,VCUP为单位变动成本, BEP为收支平衡点。)简单计算出企业的收支平衡点。但这并没有包含其他潜在成本。不过,如果选择了集成式嵌入式系统,不但可以缩短上市时间,而且早期的利润将会用于成本优化和特性改进。通过这种方案,可以在整个产品生命周期内分摊投资成本,而不是在早期的开发过程中投入所有资金。
那么这样是否就不用再自行设计板卡了呢?当然不是。对于那些对形状尺寸有具体要求且具有极高产量的系统,或者技术要求极为苛刻的系统来说,自行设计的方案将更具优势。而对于产量相对较低、技术复杂又需要快速上市的产品,使用现成平台可以让供应商负担物流和潜在成本,而使设计人员可以专注于突出技术优势,从而在市场竞争中处于领先位置。