嵌入式实时系统开发的正确选择
上一篇 / 下一篇 2007-03-03 10:47:13 / 个人分类:嵌入式软件测试
文章出处:嵌入式研究网 作者:Robert Oshana 发布时间:2006-01-11 | |
51Testing软件测试网S+Q"H0pC7Q!bIC:?6rtS 嵌入式系统通常是一个包含微处理器的特殊计算机系统,是一个较大系统或设备的组成部分,它在很大程度上决定了设备的功能特性。许多具备数字接口的设备如微波设备、录像机(VCR)和汽车等都会用到嵌入式系统。有些嵌入式系统需要使用操作系统,有些则用单个程序实现整个逻辑,但所有嵌入式系统提供的功能都要比通用计算系统更专业些。嵌入式系统功能包括:51Testing软件测试网
nh,Z0IF)~3}#P0|\ ],zKo(^$Q"d]L\0 虽然通过传感器和激励器完成与外部世界的交互是嵌入式系统的重要特点,但这些嵌入式系统还提供适合它们所在设备的特殊功能。嵌入式系统一般用来执行控制程序、有限状态机和信号处理算法。这些系统还必须检测内部计算环境和周围电磁系统中发生的故障并对此做出响应。 $z{8x*j9AZlG6CO051Testing软件测试网!o@|H-bCr&`嵌入式系统特性51Testing软件测试网6A2^;G9}#iqE;f 51Testing软件测试网~'|9mY3Y 嵌入式系统的设计挑战是使嵌入式系统的独特性能与设备的特殊约束条件相一致。以下是一些嵌入式系统的重要特性:51Testing软件测试网6x~p3~#g6P G7[ 实时系统的特性 "EQ_%m| v0$m*_]H+UAM0 实时系统要求在外部环境指定的时间间隔内对来自环境的激励信号作出响应(包括物理时间的过渡)。从输入时间到输出时间的延迟必须足够小,以满足可以接受的时间值。通常实时系统需要对环境作出连续及时的响应。51Testing软件测试网?&n)[wDZ1Ovw Ld~yh fI0 计算的正确性不仅依赖于结果,而且取决于输出发生的时间。一个实时系统必须满足有限响应时间约束条件,否则会产生严重的后果。如果后果是性能的劣化而不是故障,那么这种系统可以看作是一个软实时系统。如果后果是系统发生故障,那么这种系统就是一种硬实时系统。 ruq2j3}K nA051Testing软件测试网MX P8Jzu*@B实时系统有反应式和嵌入式两种类型。反应式实时系统会与环境发生连续的互作用,而嵌入式实时系统主要用于控制大型系统中安装的特殊硬件。 /o7S:~c"Q,vQ0D1IoXQ+ZNf&D0嵌入式系统开发生命周期 |4Mpjm,b051Testing软件测试网OQH,[1i(GS^许多系统设计工程师都会经历硬件/软件协同设计的过程(图1),此过程中硬件与软件将同时进行开发。理解硬件与软件功能相互之间的关系及界限有助于确保设计要求得到完整正确的理解和实现。 A%s'}P.b0\)z0^y4f-HB\!EU1c j0 早在设计要求的定义与分析阶段,系统开发人员就必须与设计工程师协同分配硬件或/和软件方面的要求。这种分配的依据是早期系统仿真、原型设计和行为建模结果、工程师自己的经验以及上文提及的各种因素权衡结果(图2)。一旦分配结束,就可以立即着手具体的设计和实现。实时系统开发中软硬件的并行设计会使用到各种分析技术,包括: m"DL6qx yFDb|0 可以在各种抽象层次使用的仿真技术主要用于开展早期的性能评估。低层仿真可以用来为总线宽度和数据流程建模,这对性能评估是非常有用的。高层仿真可以满足功能的交互,并促成硬件/软件权衡研究及有效性设计。利用仿真可以将一个复杂的系统向下抽象成基础组件和行为。仿真还助于解决功能性问题(数据与算法)、行为(进程排序)或性能问题(资源利用、吞吐量和时序)。 Z x)rJe(L K1~;V051Testing软件测试网j;D'L6S)?理解设计要求 #\PU+j4^[}"Sj051Testing软件测试网(wK2_k%Os 在作执行任何类型的处理器评估时,首先要详细理解用户的功能和非功能性要求。功能性要求通常比较容易获得,而非功能性要求较难定量测量。但对于实时系统来说,定义响应时间这样的要求是非常重要的。实时要求可以有以下几种: S-R和R-R关系定义了对指定系统的时序要求。这种情况下所实现的功能必须足够快(或足够慢)才能满足时序要求。S-S和R-S约束暗示系统必须能够从环境(可能是一个用户或另外一个系统)中检测出特定时序约束的破坏。这些约束与功能的快慢没有关系,相反它们能够检测出某些遭到破坏的时序约束并采取必要的措施。51Testing软件测试网 n7RZ)M&SQu:d "Dxc8H x)S%x0 因此要从最初系统要求设计时就很好地理解这一点,因为S-R和R-R约束可以引导设计工程师进行代码优化,而S-S和R-S约束需要用额外的软件来检测和响应时序冲突。 G&@!e'k6o0Z8c4L3K+T*e0处理器选择 BgaSVY'e0C S^u{ ~!x'z"U0 嵌入式实时系统比较适合用于系统优化。由于这些系统主要用来解决范围相对较窄的问题,因此硬件和软件能够得到最佳优化,并很好地应用于单一设备。这样做的目的是要在软硬件最佳折衷状态下开展系统设计。影响这一阶段设计的主要因素是处理器的选择、软硬件的分割和总体系统集成。51Testing软件测试网@j}1k5[6wD 51Testing软件测试网)I Ot3M g}在为嵌入式实时系统选择处理器时需要考虑以下几个方面: ;z+g5S-M+D-i0Y-G+T3r`+Pu0 1. 性能:处理器必须有足够的性能执行任务和支持产品生命周期。 /e"]p l/B!ls{8`0$M4f't1rip cJ i8~/v0 2. 实现:根据具体应用情况,处理器可能需要被高度集成。在DSP应用中可以有好几种选择,专用集成电路(ASIC)就是其中的一种。这些器件可以被用作DSP协处理器,但对于许多通用信号处理来说显得不够灵活。另外可以选择精简指令集计算机(RISC)处理器。这些处理器的时钟速度特别快,但可扩展性不是很强,而且会发生其它实时(可预测性)问题。现场可编程阵列(FPGA)是一种快速器件,能够快速高效地完成某些DSP功能,但与DSP相比开发难度比较大,因为在DSP中一个简单的程序就能完成相同的功能。如果是主信号处理应用,则最好采用性能强大功耗也较大的通用处理器。如果需要快速升级信号处理应用,采用DSP等可编程器件比定制的硬件方案要更好些。51Testing软件测试网}Rl2E!E(Sy1M 51Testing软件测试网4}/ZXX!vPz3. 工具支持:支持软件创建、调试、系统集成、代码调整和优化工具对整体项目成功与否非常关键。 ,J(j2\+Yp'`$g0N HU051Testing软件测试网"ONvmu!R4. 操作系统支持:嵌入式系统应用需要使用有帮助的抽象来减少其复杂性。针对处理器系列产品作过优化的商用操作系统(OS)能够缩短设备开发周期和上市时间。 p7v&B,yNxW8kO02ltO7Ui5hn4I0 5. 过去的经验:拥有处理器或处理器系列产品的开发经验可以减少可观的学习新处理器、工具和技术的时间。 |