嵌入式系统设计原则及软件特点:
嵌入系统的设计原则 :
嵌入系统设计具有很强的针对性,软硬件协同设计是系统设计的关键。需解决好软硬件的同步与集成设计问题,要结合具体应用进行综合考虑,保证设计工作的一致性与正确性。在针对具体应用系统的功能目标分析基础上,分解整个系统的各项功能指标和技术要求,结合系统的实时响应要求、接口功能定义与标准、嵌入芯片的处理能力、编程语言、开发环境、产品的升级与维护问题、开发投入能力、产品综合成本等多方面因素进行权衡考虑。
(一)在明确系统性能需求的基础上,细化以下考虑因素
1.系统功能实现手段的软硬件分配。
2.器(部)件选择和系统构建。包括微处理器芯片、外围接口电路、各种驱动电路形式、器部件类型、前后向通道处理方式、人机界面和手段等。
3.控制算法设计以及软件系统的架构形式。
4.语言选择。依据设计者熟练程度和习惯、开发环境和控制功能要求选取。
5.抗干扰问题的解决与设计。包括软件的和硬件的、常规的和特定的。
6.实现工艺和方式。包括印制板设计、走线安装、装配工艺、新材料或新技术的应用等。
在各实施阶段,对项目进度、关键技术的风险因素必须进行审查评估,评价软一硬件的功能设计与分配,以及实现的技术性能、工作量和时间进度。明确电路之间的接口参数、软一硬件功能衔接,以及项目中存在的问题和缺陷,及时发现关键部位或矛盾突出点的瓶颈问题,将隐患排除在早期设计阶段。
(二)嵌入系统中微处理器选择应考虑
1.MCU的算术、逻辑处理能力;运算速度和时钟频率;总线控制功能、中断方式和仲裁机制;RAM和FLASHROM容量;软件加密保护。
2.外围接口功能的可重构配置能力;数据通讯模式;前后向通道类型;端口电压的适应能力等;
3.开发工具的在线调试或仿真能力;FLASH代码读写环境;编程语言的支持程度;代码的可移植性等。
4.电源电压;功耗等。
嵌入系统的软件特点:
嵌入式系统是可利用资源有限、专用性很强、实时性要求也很高的应用控制系统。故在软件设计方法和实现手段上,嵌入系统软件同PC机软件存在很大差异,主要表现在:
(一)实时性的控制方法
PC软件提升速率方法,极大依赖处理器性能提升,还体现在缓存方案、动态分配等技术手段上。但在嵌入式系统中应用这些技术就存在硬件资源不足、工作频率低的现实问题,会降低系统的可靠性。
(二)特定的异构特征
嵌入式控制软件设计既要考虑特定的硬件固有部分,也要考虑来自系统之外的各种通讯、传感器的专用信号处理接口,以及不同控制目标的实时期望和执行机构的异步并发事件处理能力。因此不同的硬件系统或控制目标,将会产生不同的系统构建方案。
(三)系统的性能目标
编写嵌入式软件必须着重考虑与硬件系统相匹配的功耗、不间断运行、故障恢复、高可靠性等方面的约束条件,实现特定应用环境下的控制功能、实时性响应的目标要求。因此,嵌入系统要在借鉴通用软件技术,遵循软件工程理论,规范软件开发过程的同时。还应根据嵌入式系统特点研究开发技术和算法结构,提高开发效率,确保系统软件的质量和可靠性,以及软件的复用性、可移植性和易维护性。纵观嵌入式软件设计方法的发展历程,走过了从结构化设计、面向对象设计、基于构件的设计阶段,经历了单任务到多任务的系统转变。