许多系统设计师将执行软/硬件协同设计周期,即同时开发硬件和软件。理解硬件与软件功能之间的关系以及对两者进行划分有助于确保完全和正确地实现系统需求。
定义和分析需求的初期阶段,系统开发者需要与设计工程师紧密合作,将要求实现的功能分配给硬件或软件。这是根据早期系统仿真、建立原型和行为建模的结果,再加上对前面提及的多种因素的折衷以及过去的设计经验来进行分配的。一旦完成这种分配,就将开始详细的设计和实现。当同时进行硬件和软件设计时,各种不同的分析技术将被应用到实时系统的开发过程中,它们包括:硬件和软件仿真、硬件/软件协同仿真、可规划性建模(如速率单调性分析)、建立原型和增量开发。
能够用于各种不同抽象级的仿真技术可以对性能做出早期评估。低抽象级的仿真能够用于对总线带宽和数据流建模,而且它们对评估性能也非常有用。高抽象级的仿真能解决功能交互问题www.cechina.cn,并研究硬件/软件的折
衷方案和验证设计的有效性。运用仿真方法,复杂的系统能够被抽象为基础的元件和行为。仿真能帮助解决功能方面的问题(数据和算法)、行为方面的问题(处理的先后顺序)或性能方面的问题(资源利用率、
嵌入式实时系统的优化十分重要。因为这些系统设计用于解决相对较窄范围的问题,所以硬件和软件经优化后只要能执行好单个应用就行。目标是在硬件与软件达到最佳平衡的条件下来设计系统。这个阶段的主要影响因素包括处理器的选择、如何在硬件与软件之间分割应用以及整个系统的集成。
在为嵌入式实时系统选择处理器时,应考虑以下因素:
1.性能:处理器必须具备足够的性能来处理任务,并能支持产品的生命周期。
2.实现:根据具体的应用控制工程网版权所有,需要的处理器可能是高度集成的产品,甚至于符合军用规范。对于一个DSP应用,它可以在几种方案中进行选择。一种选择是ASIC。这种器件能被用作DSP协处理器,但对许多通用信号处理应用而言,它不是非常灵活。另一种选择是RISC处理器。这种器件具有极快的时钟速度,但可能不具备可伸缩性,而且可能还存在其它实时问题。FPGA是一种快速器件,能非常迅速和高效地执行某些DSP功能,但与DSP相比,它们仍很难开发。
在DSP中,一个简单的程序就能完成这些相同的功能。如果应用是宿主信号处理应用,那么选择一款功能更强大、功耗更高的通用处理器可能没有问题。如果信号处理应用要求能快速升级控制工程网版权所有,那么像DSP这样的可编程器件将比定制的硬件解决方案更有吸引力。
3.工具支持:支持软件创建、调试、系统集成、代码调整和优化的工具对于整个项目的成功非常重要。
4.操作系统支持:嵌入式系统应用的复杂性要求采用有益的抽象来降低复杂度。针对所选处理器优化的商用操作系统能够缩短应用开发周期和产品上市时间。
5.过去的经验:以前使用所选处理器或处理器系列的经验可以减少学习新处理器、工具和技巧所需的时间。
6.仿真支持:周期精确的仿真技术在某些种类的应用中十分重要控制工程网版权所有,尤其对于数字信号处理,它的大部分功能是依靠仿真技术来验证正确性的。嵌入式系统的软/硬件协同设计模型也使得处理器仿真器成为开发流程中的一个有用工具。
7.应用支持:支持方式分为许多种——从通过热线或网站提供的应用指南到预打包的软件;从应用框架到可用的测试基准。某些DSP处理器还一并提供用于外围设备的驱动程序、板支持包以及其它“启动套件”。这些软件使应用开发者不必再编写没有增值意义的软件,如设备驱动程序控制工程网版权所有,转而专注于为应用开发增值功能,它们将使产品在市场上表现出个性化特色。
8.成本:嵌入式应用对成本非常敏感。几美分的成本差异就能决定产品在市场上的成败。
9.功耗:许多便携型的嵌入式实时系统是依靠电池供电的。因此,电池寿命成为系统的一个重要参数。在这种情况下,应考虑采用针对便携式应用优化的低功耗器件。
10.遗留代码:选用需要移植现有代码的处理器可能会显著延长开发周期。选择一款代码兼容的器件则可以缩短或省去移植代码的步骤。
11.算法复杂性:特定处理器能很高效地运行特定算法。选择的处理器应该尽可能与应用相匹配。例如,包含大量控制代码的有限状态机应用应该选用RISC器件,如ARM处理器。而诸如编码、解码和回波消除等信号处理应用则应当选用DSP或带有信号处理加速器的某些器件。
12.面市时间:项目的最终期限可能会影响处理器的选择。这与前述的几项选择标准有密切关系,如操作系统和其它软件的可供应性以及代码的