本文将描述嵌入式实时系统的关键特征,然后讨论如何在所选择或所开发的硬件和软件构件的基础上开发一个高效的嵌入式系统方案,并介绍开发这些系统所需的独特关键处理技术。
许多系统设计师将执行软/硬件协同设计周期(图1),即同时开发硬件和软件。理解硬件与软件功能之间的关系以及对两者进行划分有助于确保完全和正确地实现系统需求。
图1
在定义和分析需求的初期阶段,系统开发者需要与设计工程师紧密合作,将要求实现的功能分配给硬件或软件。这是根据早期系统仿真、建立原型和行为建模的结果,再加上对前面提及的多种因素的折衷以及过去的设计经验来进行分配的(图2)。一旦完成这种分配,就将开始详细的设计和实现。当同时进行硬件和软件设计时,各种不同的分析技术将被应用到实时系统的开发过程中,它们包括:硬件和软件仿真、硬件/软件协同仿真、可规划性建模
图2
能够用于各种不同抽象级的仿真技术可以对性能做出早期评估。低抽象级的仿真能够用于对总线带宽和数据流建模,而且它们对评估性能也非常有用。高抽象级的仿真能解决功能交互问题,并研究硬件/软件的折衷方案和验证设计的有效性。运用仿真方法,复杂的系统能够被抽象为基础的元件和行为。仿真能帮助解决功能方面的问题(数据和算法)、行为方面的问题(处理的先后顺序)或性能方面的问题(资源利用率、吞吐量和时序)。
嵌入式实时系统的优化十分重要。因为这些系统设计用于解决相对较窄范围的问题,所以硬件和软件经优化后只要能执行好单个应用就行。目标是在硬件与软件达到最佳平衡的条件下来设计系统。这个阶段的主要影响因素包括处理器的选择、如何在硬件与软件之间分割应用以及整个系统的集成。
在为嵌入式实时系统选择处理器时,应考虑以下因素:
1.性能:处理器必须具备足够的性能来处理任务,并能支持产品的生命周期。
2.实现:根据具体的应用,需要的处理器可能是高度集成的产品,甚至于符合军用规范。对于一个DSP应用,它可以在几种方案中进行选择。一种选择是ASIC。这种器件能被用作DSP协处理器,但对许多通用信号处理应用而言,它不是非常灵活。另一种选择是RISC处理器。这种器件具有极快的时钟速度,但可能不具备可伸缩性,而且可能还存在其它实时问题。FPGA是一种快速器件,能非常迅速和高效地执行某些DSP功能,但与DSP相比,它们仍很难开发。
在DSP中,一个简单的程序就能完成这些相同的功能。如果应用是宿主信号处理应用,那么选择一款功能更强大、功耗更高的通用处理器可能没有问题。如果信号处理应用要求能快速升级,那么像DSP这样的可编程器件将比定制的硬件解决方案更有吸引力。
3.工具支持:支持软件创建、调试、系统集成、代码调整和优化的工具对于整个项目的成功非常重要。
4.操作系统支持:嵌入式系统应用的复杂性要求采用有益的抽象来降低复杂度。针对所选处理器优化的商用操作系统能够缩短应用开发周期和产品上市时间。
5.过去的经验:以前使用所选处理器或处理器系列的经验可以减少学习新处理器、工具和技巧所需的时间。
6.仿真支持:周期精确的仿真技术在某些种类的应用中十分重要,尤其对于数字信号处理,它的大部分功能是依靠仿真技术来验证正确性的。嵌入式系统的软/硬件协同设计模型也使得处理器仿真器成为开发流程中的一个有用工具。
7.应用支持:支持方式分为许多种——从通过热线或网站提供的应用指南到预打包的软件;从应用框架到可用的测试基准。某
8.成本:嵌入式应用对成本非常敏感。几美分的成本差异就能决定产品在市场上的成败。
9.功耗:许多便携型的嵌入式实时系统是依靠电池供电的。因此,电池寿命成为系统的一个重要参数。在这种情况下,应考虑采用针对便携式应用优化的低功耗器件。
10.遗留代码:选用需要移植现有代码的处理器可能会显著延长开发周期。选择一款代码兼容的器件则可以缩短或省去移植代码的步骤。
11.算法复杂性:特定处理器能很高效地运行特定算法。选择的处理器应该尽
12.面市时间:项目的最终期限可能会影响处理器的选择。这与前述的几项选择标准有密切关系,如操作系统和其它软件的可供应性以及代码的可移植性问题等。
因为嵌入式系统的预算不断缩减,实时操作系统(RTOS)和TCP/IP堆栈等商业技术已经得到增强,加上对嵌入式系统的需求不断扩展,所以采用现成商业技术的做法正变得越来越流行。使用现成商业技术可以缩短开发周期的某些阶段,包括编码、调试、单元测试和代码检查等。
不过,如果决定购买而不是自主开发,那么这将改变一家公司的基本开发流程。选择购买现成商业技术的公司预计要进行的一些新工作包括:研究和评估供应商、产品评估以及后续与供应商的互动和关系维护等。
很重要的一点是应该让终端用户和技术人员参与选择现成商业技术供应商的过程。在选择的过程中,不仅要考虑技术问题,还要重点关注商业需求。影响成本的因素包括:易学性、易用性、供应商的信誉和稳定度、许可协议以及培训事宜。在选择供应商时的主要任务包括:研究和理解技术标准;向供应商征询建议;评估供应商的建议并对他们作出排名;选择一家供应商并与之签署合同。
嵌入式系统供应商已经认识到,他们需要通过提供软件模块和框架,来加速软件开发进程。在DSP领域,供应商提供了数百个DSP软件给DSP设计师,供他们在产品和系统开发中使用,其中包括参考框架。
在应用开发的早期阶段,已经设计好的参考框架对于设计师而言是能够用以启动项目的解决方案。参考框架包含在许多应用中可以通用的源代码。设计师可以选择最能满足其系统需要的特定参考框架,然后将参考框架与算法(由其他供应商销售的DSP商业现成技术或者它们自己开发的算法)整合在一起,从而为一系列终端设备创造特定应用,包括宽带、语音、视频成像、生物测定和无线基础设施等。