本文将描述
嵌入式 实时系统的关键特征,然后讨论如何在所选择或所开发的硬件和软件构件的基础上开发一个高效的 嵌入式 系统方案,并介绍开发这些系统所需的独特关键处理技术。
许多系统设计师将执行软/硬件协同设计周期,即同时开发硬件和软件。理解硬件与软件功能之间的关系以及对两者进行划分有助于确保完全和正确地实现系统需求。
在定义和分析需求的初期阶段,系统开发者需要与设计工程师紧密合作,将要求实现的功能分配给硬件或软件。这是根据早期系统仿真、建立原型和行为建模的结果,再加上对前面提及的多种因素的折衷以及过去的设计经验来进行分配的。一旦完成这种分配,就将开始详细的设计和实现。当同时进行硬件和软件设计时,各种不同的分析技术将被应用到实时系统的开发过程中,它们包括:硬件和软件仿真、硬件/软件协同仿真、可规划性建模(如速率单调性分析)、建立原型和增量开发。
能够用于各种不同抽象级的仿真技术可以对性能做出早期评估。低抽象级的仿真能够用于对总线带宽和数据流建模,而且它们对评估性能也非常有用。高抽象级的仿真能解决功能交互问题,并研究硬件/软件的折衷方案和验证设计的有效性。运用仿真方法,复杂的系统能够被抽象为基础的元件和行为。仿真能帮助解决功能方面的问题(数据和算法)、行为方面的问题(处理的先后顺序)或性能方面的问题(资源利用率、吞吐量和时序)。
嵌入式实时系统的优化十分重要。因为这些系统设计用于解决相对较窄范围的问题,所以硬件和软件经优化后只要能执行好单个应用就行。目标是在硬件与软件达到最佳平衡的条件下来设计系统。这个阶段的主要影响因素包括处理器的选择、如何在硬件与软件之间分割应用以及整个系统的集成。
在为嵌入式实时系统选择处理器时,应考虑以下因素:
1.性能:处理器必须具备足够的性能来处理任务,并能支持产品的生命周期。
2.实现:根据具体的应用,需要的处理器可能是高度集成的产品,甚至于符合军用规范。对于一个DSP应用,它可以在几种方案中进行选择。一种选择是ASIC。这种器件能被用作DSP协处理器,但对许多通用信号处理应用而言,它不是非常灵活。另一种选择是RISC处理器。这种器件具有极快的时钟速度,但可能不具备可伸缩性,而且可能还存在其它实时问题。FPGA是一种快速器件,能非常迅速和高效地执行某些DSP功能,但与DSP相比,它们仍很难开发。
在DSP中,一个简单的程序就能完成这些相同的功能。如果应用是宿主信号处理应用,那么选择一款功能更强大、功耗更高的通用处理器可能没有问题。如果信号处理应用要求能快速升级,那么像DSP这样的可编程器件将比定制的硬件解决方案更有吸引力。
3.工具支持:支持软件创建、调试、系统集成、代码调整和优化的工具对于整个项目的成功非常重要。
4.操作系统支持:嵌入式系统应用的复杂性要求采用有益的抽象来降低复杂度。针对所选处理器优化的商用操作系统能够缩短应用开发周期和产品上市时间。
5.过去的经验:以前使用所选处理器或处理器系列的经验可以减少学习新处理器、工具和技巧所需的时间。
6.仿真支持:周期精确的仿真技术在某些种类的应用中十分重要,尤其对于数字信号处理,它的大部分功能是依靠仿真技术来验证正确性的。嵌入式系统的软/硬件协同设计模型也使得处理器仿真器成为开发流程中的一个有用工具。