新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 如何降低手机软件的更换成本

如何降低手机软件的更换成本

——
作者:电子产品世界 时间:2006-08-04 来源:电子产品世界 收藏

堪称移动电话最重要的元素,它是移动电话能否在市场成功的关键要素。它决定了是“热门产品”还是“三味产品”。它是使用者最先接触到的功能。它是我们爱恨的主要原因。系统工程师只要想到此点就不寒而栗,因为很容易发生问题、成本经常超出预期、而且总是要到手机量产前才能完成。本文将深入说明为何仍是系统开发人员的主要考虑,以及为何采用一种符合常识的设计方法和架构可以大幅减少这些风险。

手机内的软件


图1示出了手机里的软件,它们最后都会在芯片组厂商提供的硬件平台上执行。在移动电话里,这个平台可能是含有MIPS等微控制器 (MCU) 的基带处理器 (BB) 或应用协同处理器 (ACP)。由于软件程序代码必须针对基带或应用处理器的缓存器、时序和微控制器种类而特别设计,因此由最了解硬件的厂商来提供软件自然是最合理的选择。

图1 手机内的软件


设计良好的软件系统会将硬件相关的低阶界面隐藏起来,不让它们出现在比较依赖通用实时操作系统服务和应用软件架构的高阶接口。以典型的个人计算机应用为例,个人计算机应用软件的程序设计师就不需要知道底层硬件的任何细节,这些研发人员会利用操作系统提供的服务以及协力厂商的工具来设计应用软件。


在手机软件世界里,这就像是硬件厂商会发展基本接口与上层软件沟通,手机应用程序设计人员则会专注于软件应用,完全不必考虑底层硬件。换言之,图1就代表这种以专业知识为基础的软件设计分工方式。


尽管如此,手机软件系统设计通常仍会涉及众多厂商,因此实际情形并不会像图1所示那么简单明确。芯片组厂商虽然有硅芯片设计知识,却不一定了解软件。因此他们只会发展硅芯片,然后由不同的软件厂商设计所需软件以便与芯片提供的平台驱动程序或系统驱动程序等外围接口和功能沟通。这也难怪许多更具竞争力的芯片解决方案虽然提供更强大的集成度和效能,手机制造商在软件考虑下总是不太愿意更换硬件平台。

手机内的特定软件


针对特定芯片所设计的软件大致可分为两个领域:俗称为协议堆栈 (protocol stack) 的软件以及直接与芯片上各种外围接口或驱动程序沟通的软件。


协议堆栈软件必须支持现有的全部电信标准才能通过电信法规认证。由于功能规格和时序要求都很严苛,这些软件必须了解所使用的芯片组平台细节。幸运的是,协议堆栈完全符合OSI-ISO (Open Systems Interconnect-International Standards Organization) 架构要求。该架构要求软件的发展必须采用分层架构,而且每层都要有一定程度的功能隔离。多数协议堆栈是由OSI模型的第一、二和三层组成 (L1、L2和L3),其中只有俗称为实体层的第一层才需要了解底层硬件细节。协议堆栈的其余部份都与硬件无关,它们通过通用接口向下与特定硬件的第一层沟通,向上则与应用架构沟通。

手机软件的评价指标


介绍了手机软件环境和手机系统工程师每天都会遇到的各种软件整合问题后,我们接着将讨论一些重要的评价指标,同时说明我们所推荐的智能型架构如何解决这些问题。下列这些问题对所有手机制造商和最终使用者都同样重要,也是他们都关心的问题。


成本:当制造商谈到手机的元器件用料时 (BOM),他们是指电子元器件用料 (E-BOM) 以及塑料和机械元器件等其他用料。虽然如此,只有极少数的制造商有能力计算和管理他们的软件成本。经验证明软件成本约占普通手机成本的15%。软件成本的另一来源是将现有软件移植到新芯片平台的前置作业费用,这需要的工作量相当于一位训练有素而昂贵的工程师工作两年半才能把原来就有的软件移植到新平台。假设每位工程师的总成本是每年30万美元,这表示每个平台需要75万美元的工程费用。在今日竞争激烈的市场里,降低软件成本有助于提高效益进而扩大整体获利能力。


上市时程:目前,资源和研发时间大致会以7:3的比例分配给软件和硬件。手机内嵌软件研发人员通常会用一半以上时间解决软件和基带硬件的低阶互动问题,但这纯粹是生产力的浪费,因为工程师原本可利用这些时间设计与整合软件。换言之,软件整合过程对于手机极为重要。

图2 一种弹性良好的手机软件架构


品质:移动电话市场竞争极为激烈,因此任何产品隔离要素都非常重要。隔离主要来自于产品外型和使用者界面 (UI),然而手机制造商却总是将软件资源用于修改低阶软件以配合最新最好的芯片组,这会使得内嵌软件的核心变得极不稳定;使用者虽然看不到这些重要的工作软件,却极度依赖它们执行手机功能,当它们变得问题丛生自然会导致手机经常故障和客户抱怨连连。


效能:为了在不断缩短的产品开发时间内推出更多手机,内嵌软件工程师只有很少的时间将其软件效能最佳化。因此他们会把时间用来试验手机和修补程序以避免宕机,而不会采用良好的软件工程流程来设计可靠的软件。

如何解决这些问题


减少软件整合的风险:只要让手机制造商尽量保持原有的软件架构就能做到此点。芯片厂商可以提供平台驱动程序与通用接口,让手机制造商很容易将现有的软件整合于它们之上。平台驱动程序会把硬件细节隐藏起来,同时让工程师简单快速而可靠地修改装置驱动程序以支持所要使用的特定外围。这种经过严格测试和工作可靠的低阶软件平台还能让手机制造商专心为产品发展独特不同的新功能,他们不必为了支持更新更好的基带芯片而负担额外的软件维护费用与软件升级成本。


制造商修改软件以配合底层硬件的工作:芯片厂商除了要提供平台和知道硬件细节的系统驱动程序外,还必须提供易于使用的通用应用程序界面给手机制造商。程序设计师为了管理这类资源争夺要求,通常必须安排这些高数据产出组件存取高速数据端口的顺序。针对这种争夺硬件使用权的要求,芯片厂商可以提供适当的应用程序接口来执行管理和排程功能,这将大幅减轻手机制造商软件整合团队的程序设计负担。在软件部分,手机制造商也应能保持他们的协议堆栈原封不动,这是因为协议堆栈的上层会与手机应用软件紧密互动以提供通话控制和SIM卡管理等功能。许多手机制造商不会向基带器件制造商购买协议堆栈,他们有些是自己拥有协议堆栈的原始程序,有些则是向协议厂商购买所使用的协议堆栈软件。协议堆栈工程师通常会与基带器件制造商密切合作,这是因为协议堆栈实体层与底层基带功能的互动非常密切。只有芯片厂商最了解基带器件和它们的关键时序 (critical timing),因此手机制造商通常很难改用现有协议堆栈不支持的基带芯片;换言之,在软件移植成本的影响下,就算最有吸引力的芯片解决方案也会变得风险过高。


虽然如此,OSI-ISO的分层架构仍让协议堆栈各层之间的功能区分极为明确。实体层本身就是由两层所组成,其中同步实体层 (SPL) 负责提供所有重要基带时序功能,异步实体层 (APL) 则负责将协议堆栈上层传来的讯息转送至同步实体层。由于第一层与基带的关系极为密切,芯片厂商可以自行发展这层软件,再由协议堆栈厂商将协议堆栈的其余部份移植到这层软件上。有两种方法可以让第一层配合特定的协议堆栈,一种方法是在异步实体层和第二层之间增加接口层,另一种方法则是将整个异步实体层视为同步实体层与第二层之间的适应层 (adaptation layer)。采用第一种建议方法 (在异步实体层与协议堆栈其余部份之间加入接口层) 可能都不像最初所想的那么有效。第二种方法似乎较有希望,因为协议堆栈的多数实作都已包含异步实体层,它们不仅能重复使用,还可配合基带器件的同步实体层。通过这种方式,协议堆栈厂商或芯片厂商就能移植现有的异步实体层,并让它继续担任第二层和第三层与同步实体层之间的适应层,这能让第一层的关键时序要求以及协议堆栈上层与应用软件之间的接口维持不变。除此之外,由于同步实体层和异步实体层已成为业界标准概念,协议堆栈工程师也不需要学习任何新技术。


最后,芯片厂商还要提供世界级的支持服务,让制造商通过单一窗口就能解决所有的系统问题。

图3 通用链接库提供最高质量


在各种环境中测试:芯片厂商只要提供通用标准实体层 (generic SPL) 和平台驱动程序界面就能同时与多家手机制造商合作,这些制造商很容易就将他们的软件移植到这个通用低阶软件平台。由于多家制造商采用同样的平台和系统驱动程序以及标准实体层,这些核心软件模块就能在各式各样的环境和平台上搭配不同的实时操作系统、外围、内存、软件架构、音讯和视讯编码器和应用软件一起接受测试。芯片相关软件模块因此会受到最广泛深入的检验,确保最后完成的软件拥有最高质量。

拥有最佳化专家

这种独特而有弹性的手机软件架构可以提供最完整的测试,它会考验芯片厂商所发展的低阶软件模块的每个层面。这能让手机制造商确信这些软件已由一支经验丰富和最了解硬件的专业软件团队将它们调整至最佳状态。

结语

手机软件领域极为复杂,各个层面之间的互动非常密切,这使得成本、上市时程、质量和效能成为非常重要的评比指标。芯片厂商若能承担低阶软件接口的研发责任,就可大幅减少利用新手机平台开发产品的风险,手机制造商也能专注于使用者界面和应用软件等产品隔离功能。芯片厂商对于他们所参与的技术领域必须有更全面的看法,提供给手机制造商的产品也不应局限于硬件解决方案。手机制造商不应只是为了避免软件转换风险而被迫采用次佳芯片组,他们希望芯片平台能够提供最高的整合度和效能,同时又有足够弹性让他们保留现有的可靠软件。在竞争激烈的手机市场上,一套低成本而不影响质量、效能或上市时程的全方位解决方案正是手机制造商的最佳选择!



评论


相关推荐

技术专区

关闭