嵌入式设计系统范文

时间:2023-04-20 17:23:45

嵌入式设计系统

嵌入式设计系统篇1

[关键词]嵌入式系统 设计

[中图分类号]TP368.1[文献标识码]A[文章编号]1007-9416(2010)03-0009-01

嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和具体应用相结合的产物。

近年来,在计算机、互联网和通信技术高速发展的同时,嵌入式系统开发技术取得迅速发展,嵌入式系统应用范围也急剧扩大。从小到电子手表、电子体温计、翻译机等,大到如冷气机、电冰箱、电视机,甚至马路上红绿灯的控制器、战斗机中的飞控系统等。嵌入式系统几乎无处不在:

1 嵌入式系统的特点

与通用计算机系统相比,嵌入式系统有其自身的特点:

(1)嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

(2)嵌入式系统通常是面向用户、面向产品、面向特定应用的。

(3)嵌入式系统和具体应用相结合,其升级换代也是和具体产品同步进行的。因此嵌入式系统产品一旦进入市场,就具有较长的生命周期。

2 嵌入式系统的发展趋势

消费家电的智能化,为嵌入式系统的发展展现出美好的市场前景,也对嵌入式系统提出新的发展要求;微电子技术和系统设计方法的进步,使得嵌入式系统的发展呈现出以下趋势:

(1)随着嵌入式系统功能的增加,嵌入式系统处理的信息和数据量越来越大,系统对处理的响应时问也要求更严格,嵌入式处理器的主频会越来越高,甚至采用多核的方式来应付日益增长的性能要求。

(2)嵌入式系统在工业领域和某些特殊场合的广泛应用,要求嵌入式系统具有远程控制软件更新和故障诊断的能力。

(3)随着嵌入式系统在手持设备上的大量应用,手持设备的特点要求嵌入式系统功耗、体积更小,重量更轻。

(4)嵌入式系统将具有更加高速的通信接口,如USB2.0、千兆以太网等。

3 嵌入式系统设计流程

嵌入式系统开发分为软件开发部分和硬件开发部分。嵌入式系统开发过程一般都采用“宿主机/目标板”开发模式,即利用宿主机(PC机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件,然后通过交叉编译环境生成目标代码和可执行文件,通过串口FUSB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后,将程序下载固化到目标机上,完成整个开发过程。当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点,图1所示为嵌入式系统开发的一般流程。流程主要包括系统需求分析佞求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试、最终产品。具体情况如下:

(1)系统需求分析:确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非专题与综述功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。

(2)体系结构设计:描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。

(3)硬件/软件协同设计:基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。

(4)系统集成:

把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。

(5)系统测试:对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。

4 嵌入式系统设计面临的挑战

要求更高的应用需求推动嵌入式设计从8/16位转向功能更强大的32位MCU。这种升级给工程师带来了严峻的挑战,提出了一系列前所未有的全新问题。

(1)转变观念,需要熟悉新的开发模式。嵌入式系统应用不再是过去单一的单片机应用模式,而是越来越多样化,嵌入式系统实现的最高形式是片上系统SoC,而SoC的核心技术是重用和组合IP核构件。从单片机应用设计到片上系统设计及其中间的一系列的变化,从底层大包大揽的设计到利用FPGA和IP模块进行功能组合PSoC/SOPC设计。

(2)技术门槛提高,需要学习全新的RTOS技术。

(3)选择合适的开发工具,熟悉新的开发环境。目前从8位升级到32位的一个最大障碍就是开发工具的投入。32位开发工具要比8位开发工具复杂得多,使用的技术门槛要高得多,同时其投资也要高得多。

(4)熟悉硬件/软件协同设计和验证技术、设计管理技术。软/硬件并行设计是嵌入式系统设计的一项关键任务。在设计过程中的主要问题,是软硬件设计的同步与集成。这要求控制一致性与正确性,但随着技术细节不断增加,需要消耗大量的时间。目前,业界已经开发Polis、Cosyma及Chinook等多种方法和工具来支持集成式软硬件的协同设计。目标是提供一种统一的软硬件开发方法。它支持设计空间探索,并使系统功能可以跨越硬件和软件平台复用。团队开发的最大问题就是设计管理问题。

(5)SoC设计所面临的巨大的挑战。SoC已经开始成为新一代应用电子技术的核心,这已成为电子技术的革命标志。过去应用工程师面对的是各种ASIC电路,而现在越来越多所面对的是巨大的IP模块库,所有设计工作都是以IP模块为基础。SoC设计技术使嵌入式系统设计工程师变成了一个面向应用的电子器件设计工程师。随着SoC应用的日益普及,在测试程序生成、工程开发、硅片查错、量产等领域对SoC测试技术提出了越来越高的要求。

[参考文献]

[1] DSP技术及应用.黄仁欣.2002年出版.

[2] 单片机技术.彭永.2007年12月出版.

[3] 电子感测技术.周南山.2007年出版.

[4] 电子技术基础.韦鸿.2008年出版.

[作者简介]

嵌入式设计系统篇2

关键词:UML;嵌入式系统;OOD建模;双向工程

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)34-9742-02

The Design on UML Embedded Systems

YU Hai-wen

(College of Information Engineering Nanchang University(Pre-Lake Campus), Nanchang 33000, China)

Abstract: UML is the the most popular standard modeling language, embedded systems are professional computer system on the centre of application and the base of computer technology, embedded systems are the integrity of software and hardware; The design's quality of embedded systems is the key of success about digital products. The paper discuss the important conception of UML,and how to use the technology of UML OOD in the design of embedded systems, then show us the steps based on the example of microwave light.

Key words: UML; embedded systems; OOD modeling; two-way engineering

近年来,数字家电、汽车电子、MP3、Smart Phone等跃居电脑产业的主流地位,数字整合的需求日益增长,嵌入式软件(Embedded Software)系统愈来愈复杂,涉及到的接口越来越多,这种软、硬件结合的协同设计(Hardware/Software Co-design)需要不同技术背景的人共同开发,如何使这些具有不同技术背景和专长的人联合开发、协同设计?UML可以解决这个问题。统一建模语言UML(Unified Modeling Language)采用一种简单而直观的图形化方式描述系统设计中的各个问题和细节。不同技术背景的设计师只需懂得UML 符号就可以与对方交流、共同设计。

本文将重点讨论如何在嵌入式系统设计中使用 UML 技术,并结合实例“微波炉小灯”演示采用 UML 的嵌入式系统设计过程。

1 UML OOD建模

1.1 UML基本概念介绍

1.1.1 UML事物

UML中事物是实体抽象化的最终结果,是模型中的基本成员,UML中包含结构事物、行为事物、分组事物和注释事物。

1.1.2 UML建模图

图是事物集合的分类,UML中包含多种图:1)类图(Class Diagram);2)对象图(Object Diagram);3)包图(Package Diagram);4)组件图(Compoment Diagram,也称构件图);5)部署图(Deployment Diagram);6)用例图(Usecase Diagram);7)时序图(Sequence Diagram);8)协作图(Collaboration Diagram);9)状态图(Statechart Diagram);10)活动图(Activity Diagram)。

由于篇幅原因,本文将结合一个需求非常简单的“微波炉小灯”的实例,给出几个重要的图。本文介绍的图采用业界使用最广泛的UML建模工具Rational Rose。Rational Rose为团队开发和规范的开发过程管理提供了良好的支持。

1.2 UML OOD建模

从应用的角度上来讲,面向对象的系统设计一般需要完成如下工作:

1)描述需求;2)根据需求建立系统的静态模型;3)建立系统的动态模型:即描述系统的行为。

1.2.1 描述需求

“微波炉小灯”的实例需求很简单,即微波炉里有个小灯,微波炉门打开时,它就亮起来,一旦关上门,就熄掉了。本文将根据此需求说明,采用UML设计一个控制程序来感应微波炉对象的状态变化,并且触发小灯对象的状态变化。

1.2.2 建立系统的静态模型

用例图(Use Case Diagram):UML的Use Case图1描述User对整体系统的功能需求,本例中,User会有两项动作――“开微波炉”与“关微波炉”,而且期待开微波炉时会亮小灯,关微波炉时小灯会自动熄掉。

类图(Class Diagram):如图2,类是OOD中一个重要概念。软件组件的模块通称为组件的类(Class),OOD设计理念是程序指令写在类里,其所检验测试的对象都是类,等到电脑执行时才由电脑在内存中定义实体组件(对象)。

1.2.3 建立系统的动态模型

建立系统的动态模型实质就是描述系统的行为。

时序图(Sequence Diagram):图3这个时序图反映了开微波炉过程中触发小灯亮的详细执行过程。

状态转换图4(Statechart Diagram):对对象行为做详细的描述。就小灯而言,消息的传达是个事件(Event),这事件令小灯改变状态(亮或熄)。

2 双向工程

2.1 正向工程

Rational Rose中可实现正向(为模型产生相应的代码,即程序框架)、逆向(从用户原来的软件系统导出该系统的模型)和双向工程(实现模型和代码之间的循环工程),从而保证模型与代码的高度一致,这个功能意味着降低了开发人员编写程序的复杂度和工作量。

Rational Rose支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic、PowerBuilder等语言和开发工具,并能为CORBA 应用生成接口定义语言(IDL),为数据库应用生成数据库描述语言(DDL)等。Rational Rose默认支持的语言是Java。

本例中,在完成了“微波炉小灯”类图制作后,选择菜单“Tools” “Java/J2EE”“generate code”即可生成Java代码,当原建模文件更新时,代码会同步更新。

2.2 逆向工程

前面所述正向工程虽然只是得到了代码框架,实现功能部分的代码仍需开发人员输入。随着软件功能的实现及新的用户需求的加入,原建模文件在需要更新时,可不需要重新画图,只需进行逆向工程操作即可。本例中,在完成了“微波炉小灯”代码后,选择菜单“Tools”“Java/J2EE”“reverse engineer”即可生成新的建模文件。

3 小结

在软、硬件设计领域中,采用UML进行软件组件设计及其架构(Architecture)规划技术逐渐成为业界关注的焦点。根据本文及“微波炉小灯”实例,显然从UML设计图到Java(C及C++)代码的过程很流畅。

参考文献:

[1] 徐宝文. UML与软件建模[M]. 北京:清华大学出版社,2006.

[2] 吴建. UML基础与Rose建模案例[M].2版. 北京:人民邮电出版社,2007.

嵌入式设计系统篇3

关键词:嵌入式系统;硬件低功耗;软件低功耗;集成电路工艺

中图分类号:TP274;TP3680

引 言

经过近几年的快速发展,嵌入式系统(Embedded System)已经成为电子信息产业中最具增长力的一个分支。随着手机、PDA,GPS、机顶盒等新兴产品的大量应用,嵌入式系统的市场正在以每年30%的速度递增(IDC预测),嵌入式系统的设计也成为软硬件工程师越来越关心的话题。

在嵌入式系统设计中,低功耗设计(Low Power Design)是许多设计人员必须面对的问题。其原因在于嵌入式系统被广泛应用于便携式和移动性较强的产品中,而这些产品不是一直都有充足的电源供应,往往是靠电池来供电的;而且大多数嵌入式设备都有体积和质量的约束。另外,系统部件产生的热量和功耗成比例,为解决散热问题而采取的冷却措施进一步增加了系统的功耗。为了得到最好的结果,降低系统的功耗具有下面的优点:

(1) 电池驱动的需要。在强调绿色环保时期,许多电子产品都采用电池供电。对于电池供电系统,延长电池寿命,降低用户更换电池的周期,提高系统性能与降低系统开销,甚至能起到保护环境的作用。

(2) 安全的需要。在现场总线领域,本安问题是┮桓霆重要话题。例如FF的本安设备,理论上每个网段可以容纳32个设备,而实际应用中考虑到目前的功耗水平,每个网段安装10个比较合适。因此降低系统功耗是实现本安要求的一个重要途径。

[JP2](3) 解决电磁干扰。系统功耗越低,电磁辐射能量越小,对其他设备造成的干扰也越小。如果所有的电子产品都能设计成低功耗,那么电磁兼容性设计会变得容易。[JP]

(4) 节能的需要。特别是对电池供电系统,功耗与电压的平方成正比即:P=V2fC+P┆static,б虼私谀芨为重要。

1 功耗产生的原因

[BT3]1.1 集成电路的功耗

目前的集成电路工艺主要有TTL和CMOS两大类,无论哪种工艺,只要电路中有电流通过,就会产生功耗。通常,集成电路的功耗主要有4个:

(1) 开关功耗。对电路中的电容充放电而形成,其表达式为:

(2) 静态功耗和动态功耗。当电路的状态没有进行翻转(保持高电平或低电平)时,电路的功耗属于静态功耗,其大小等于电路电压与流过电流的乘积;动态功耗是电路翻转时产生的功耗,由于电路翻转时存在跳变沿,在电路翻转瞬间,电流比较大,存在较大的动态功耗。目前大多数电路都采用CMOS工艺,静态功耗很小,可以忽略。起主要作用的是动态功耗,因此从降低动态功耗入手来降低功耗。

(3) 短路功耗。因开关时由电源到地形成的通路造成的,其表达式为:

(4) 漏电功耗。由亚阈值电流和反向偏压电流造成。目前大多数电路都采用CMOS工艺,故漏电功耗很小,可以忽略。

1.2 电阻的功耗和有源器件的功耗

通常为负载器件和寄生元件产生的功耗。有源开关器件在状态转换时,电流和电压比较大,将引起功率消耗。另外, CMOS电路中最大的功耗来自于内部和外部的电容充放电产生的功耗。

2 硬件低功耗设计

[BT3]2.1 选择低功耗的器件

选择低功耗的电子器件可以从根本上降低整个硬件系统的功耗。目前的半导体工艺主要有TTL工艺和CMOS工艺,CMOS工艺具有很低的功耗,在电路设计上尽量选用,使用CMOS系列电路时,其不用的输入端不要悬空,因为悬空的输入端可能存在感应信号,它将造成高低电平的转换。转换器件的功耗很大,尽量采用输出为高的原则。

嵌入式处理器是嵌入式系统的硬件核心,消耗大量的功率,因此设计时选用低功耗的处理器;另外,选择低功耗的通信收发器(对于通信应用系统)、低功耗的访存部件、低功耗的电路,目前许多通信收发器都设计成节省功耗方式,这样的器件优先采用。

2.2 选用低功耗的电路形式

完成同样的功能,电路的实现形式有多种。例如,可以利用分立元件、小规模集成电路,大规模集成电路甚至单片实现。通常,使用的元器件数量越少,系统的功耗越低。因此,尽量使用集成度高的器件,以减少电路中使用元件的个数,减少整机的功耗。

2.3 单电源、低电压供电

一些模拟电路如运算放大器等,供电方式有正负电源和单电源两种。双电源供电可以提供对地输出的信号。高电源电压的优点是可以提供大的动态范围,缺点是功耗大。例如,低功耗集成运算放大器LM324,单电源电压工作范围为5~30 V。当电源电压为15 V时,功耗约为220 mW;当电源电压为10 V时,功耗约为90 mW;当电源电压为5 V时,功耗约为15 mW。可见,低电压供电对降低器件功耗的作用十分明显。因此,处理小信号的电路可以降低供电电压。

2.4 分区/分时供电技术

一个嵌入式系统的所有组成部分并非时刻在工作,基于此,可采用分时/分区的供电技术。原理是利用“开关”控制电源供电单元,在某一部分电路处于休眠状态时,关闭其供电电源,仅保留工作部分的电源。

2.5 I/O引脚供电

嵌入式处理器的输出引脚在输出高电平时,可以提供约20 mA的电流,该引脚可以直接作为某些电路的供电电源使用,如图2所示。处理器的引脚输出高电平时,外部器件工作;输出低电平时,外部器件停止工作。需要注意,该电路需满足下列要求:外部器件的功耗较低,低于处理器I/O引脚的高电平输出电流;外部器件的供电电压范围较宽。

2.6 电源管理单元设计

处理器全速工作时,功耗最大;待机状态时,功耗比较小。常见的待机方式有两种:空闲方式(Idle)和掉电方式(Shut Down)。其中,Idle方式可以通过中断的发生退出,中断可以由外部事件供给。掉电方式指的是处理器停止,连中断也不响应,因此需要进入复位才能退出掉电方式。

为了降低系统的功耗,一旦CPU处于“空转”,可以使之进入Idle状态,降低功耗;期间如果发生了外部事件,可以通过事件产生中断信号,使CPU进入运行状态。对于Shut Down状态,只能用复位信号唤醒CPU。

2.7 智能电源设计

既要保证系统具有良好的性能,又能兼顾功耗问题,一个最好的办法是采用智能电源。在系统中增加适当的智能预测、检测,根据需要对系统采取不同的供电方式,以求系统的功耗最低。许多膝上型电脑的电源管理采用智能电源,以笔记本电脑为例,在电源管理方面,Intel公司采取Speed Step技术;AMD公司采取Power Now技术;Transmeta公司采取Long Run技术。虽然这三种技术涉及到的具体内容不同,但基本原理是一致的。以采用Speed Step技术的笔记本电脑为例,系统可以根据不同的使用环境对CPU的运行速度进行合理调整。如果系统使用外接电源,CPU将按照正常的主频率及电压运行;当检测到系统为电池供电时,软件将自动切换CPU的主频率及电压至较低状态运行。

2.8 降低处理器的时钟频率

处理器的功耗与时钟频率密切相关。以SAMSUNG S3C2410X (32 b ARM 920T内核)为例[8],它提供了四种工作模式:正常模式、空闲模式、休眠模式、关机模式,各种模式的功耗如表1所示。[HJ1][HJ]

由表1可见,CPU在全速运行的时候比在空闲或者休眠的时候消耗的功率大得多。省电的原则就是让正常运行模式远比空闲、休眠模式少占用时间。在类似PDA的设备中,系统在全速运行的时候远比空闲的时候少,所以可以通过设置,使CPU尽可能工作在空闲状态,然后通过相应的中断唤醒 CPU,恢复到正常工作模式,处理响应的事件,然后再进入空闲模式。因此设计系统时,如果处理能力许可,可尽量降低处理器的时钟频率。

另外,可以动态改变处理器的时钟,以降低系统的总功耗。CPU空闲时,降低时钟频率;处于工作状态时,提高时钟频率以全速运行处理事务,实现这一技术的方法。通过将I/O引脚设定为输出高电平,加入电阻R1,将增加时钟频率;将I/O引脚输出低电平,去掉电阻R1,可降低时钟频率,以降低功耗。

2.9 降低持续工作电流

在一些系统中,尽量使系统在状态转换时消耗电流,在维持工作时期不消耗电流。例如,IC卡水表、煤气表、静态电能表等,在打开和关闭开关时给相应的机构上电,开关开和关状态通过机械机构或磁场机制保持开关的状态,而不通过电流保持,可以进一步降低电能的消耗。[JP]

3 软件低功耗设计

3.1 编译低功耗优化技术

编译技术降低系统功耗是基于这样的事实:对于实现同样的功能,不同的软件算法,消耗的时间不同,使用的指令不同,因而消耗的功率也不同。对于使用高级语言,由于是面向问题设计的,很难控制低功耗。但是,如果利用汇编语言开发系统(如对于小型的嵌入式系统开发),可以有意识地选择消耗时间短的指令和设计消耗功率小的算法来降低系统的功耗。

3.2 硬件软件化与软件硬件化

通常的硬件电路一定消耗功率,基于此,可以减少系统的硬件电路,把数据处理功能用软件实现,如许多仪表中用到的对数放大电路、抗干扰电路,测量系统中用软件滤波代替硬件滤波器等。

需要考虑,软件处理需要时间,处理器也需要消耗功率,特别是在处理大量数据的时候,需要高性能的处理器,这可能会消耗大量的功率。因此,系统中某一功能用软件实现,还是用硬件实现,需要综合计算后进行设计。3.3 采用快速算法

数字信号处理中的运算,采用如FFT和快速卷积等,可以大量节省运算时间,从而减少功耗;在精度允许的情况下,使用简单函数代替复杂函数作近似,也是减少功耗的一种方法。

3.4 软件设计采用中断驱动技术

整个系统软件设计成处理多个事件,在系统上电初始化时,主程序只进行系统的初始化,包括寄存器、外部设备等,初始化完成后,进入低功耗状态,然后CPU控制的设备都接到中断输入端上。当外设发生了一个事件,产生中断信号,使CPU退出节电状态,进入事件处理,事件处理完成后,继续进入节电状态。

3.5 延时程序设计

嵌入式设计系统篇4

为解决公交车的高效便捷清洗问题,基于青岛理工大学韩旭东教授的团队设计的一款“垂直滚筒式公交清洗小车”,利用AT89C51单片机配合其他元器件,设计了相关的嵌入式系统,包括超声波测距系统和手动/自动双模平台升降控制系统,完善了原产品的设计。采用KeilC51软件编写了相应的控制程序,使用Proteus软件绘制了电路原理图,并进行了仿真模拟。

关键词:

公交清洗小车;嵌入式系统;超声波测距;平台升降控制

0引言

为解决公交车的高效便捷清洗问题,青岛理工大学韩旭东教授的团队设计了一款“垂直滚筒式公交清洗小车”[1]。但在该设计中,仅对机械结构与工作原理做了介绍,缺少相关的控制电路与控制程序的设计,给清洗小车的使用带来了极大的不便。本文在原产品的基础上,针对小车与公交车之间距离的控制不准确的问题,设计了超声波测距系统;针对平台升降控制不方便的问题,设计了手动/自动双模平台升降控制系统。有效地提高了该产品的实用性,完善了该产品的设计。

1超声波测距系统

1.1设计目的

清洗小车由人力推动并控制方向,但由于路面不平,人力控制精度有限,会使小车与公交车车体间的距离发生改变,距离过近会使滚筒挤压车体表面,阻碍滚筒旋转;距离过远,则会使滚筒毛刷与车体表面间间隙过大,影响清洗效果。需要一套测距系统使小车与公交车车体间的距离始终保持在一个合理范围之内。

1.2测距方式的选择

超声波测距是利用机械波反射来测量距离,适用于短距离测距,原理简单,成本低,远距离测量精度较低。公交清洗小车的使用环境比较复杂,对测距系统的精度要求不高,测量的距离在1~2m,且要求结构简单、成本低廉、性能稳定。根据需要和集中测距方式的特点,本文选择超声波测距方式。

1.3超声波测距原理

超声波在均匀介质中的传输速度为一恒定值,由发生器发射超声波,在遇到测量目标后反射回来,由接收器接收并记录由发射到接收经历的时间,便可以计算出发生器与测量目标之间的距离[2]。公式如下:L=12C•Δt。式中:L为测量距离;C为超声波在当前介质中的传输速度(空气中常温下速度为340m/s);Δt为从发射到接收经历的时间。

1.4设计内容

本文利用AT89C51单片机、HC-SR04超声波测距模块、LED灯组成了一个超声波测距警报系统。当距离过近时,指示距离过近的红灯点亮;距离适中时,指示距离适中的绿灯点亮;当距离过远时,指示距离过远的红灯点亮。工作人员可以根据灯光指示调整小车位置,使之与车体表面间的距离保持在一个合理范围。1.4.1HC-SR04超声波测距模块工作原理本文所采用的HC-SR04超声波测距模块,具有成本低、体积小、精度高、使用简单方便等优点,其基本工作原理为:1)采用I/O口TRIG触发测距,提供至少10μs的高电平信号;2)模块自动发送8个40kHz的方波,自动检测是否有信号返回;3)有信号返回,通过I/O口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间[3]。1.4.2程序控制过程利用AT89C51单片机自带的定时计数器资源,通过I/O口给超声波模块一个发射信号并开始计时,当收到超声波模块的反馈信号时,结束计时并计算距离。

2手动/自动双模平台升降控制系统

2.1设计目的

现行大多数公交车的高度在3m左右,为能够确保清洗整个车体表面,原产品采用双丝杠旋转驱动平台升降的设计,并利用直流电动机产生动力。为方便用户使用,能够快捷高效操作平台升降,提高清洗效率,本文设计了一套手动/自动双模平台升降控制系统。

2.2设计内容

根据计算,清洗平台需调整2次高度才可将车体表面清洗完毕,为了方便工作人员操作,本文设计了手动/自动双模控制系统。该系统采用AT89C51单片机,配合L289直流电动机驱动模块,通过控制电动机的正反转实现平台的升降,设计原理图见图4[5]。操作过程为:启动系统后,在自动模式下,按UP键,平台会上升一个固定高度;按DOWN键,平台会下降一个固定高度。该高度值是为实现最高清洗效率,以3m高的车身为标准,经优化计算得出的最适高度。因为公交车的型号差异,车身高度也各不相同,所以为满足实际使用要求,我们又设计了手动控制模式。在手动模式下,按住UP键,平台会上升,松开立即停止;按住DOWN键,平台会下降,松开立即停止。为防止工作人员误操作,本文增加了按键防抖动延迟,防止工作人员误触按键;如果UP和DOWN键同时按下,则电动机停转,直至其中一个按键松开。

3结语

本文是在韩旭东教授设计的“垂直滚筒式公交清洗小车”的基础上,利用单片机配合其它元器件完成了相关嵌入式系统的设计,有效地解决了小车与公交车之间距离的控制不准确和平台升降控制不方便的问题,并设计了防止误操作的保护程序,提高了原产品的实用性与安全性。本文所采用的单片机与相关的控制模块都是技术成熟、结构简单且成本低廉的器件,在实现所需功能的同时,并不会大幅提高原产品的设计复杂性与生产成本,具有一定的应用价值。

嵌入式设计系统篇5

摘要: 设计一种能够在典型嵌入式环境下应用的线性文件系统,为嵌入式系统Flash空间的管理提供一种非常有效的手段。它包装和通用文件系统类似的API接口,设计的实现独立于实时操作系统(RTOS)和具体的Flash典型,可方便移植到不同的嵌入式应用中。

在嵌入式系统中,为了便于对闪存(Flash)空间进行管理,会采用文件的形式来访问Flash。目前,可以购买到的Flash文件系统一般都是兼容DOS的文件系统(Flash File System,FFS),这对需要一个具有复杂的目录层次,并且DDS文件兼容的系统来说是必要的;但是对大多数的嵌入式应用来说,这种文件系统太过奢侈。笔者在参与嵌入式系统项目的时候,设计了一种线性文件系统,它适用于大多数的嵌入式应用对Flash文件系统的需求。

线性文件系统设计基于三个目标:一是提供给应用程序通过文件名而不是物理地址访问系统Flash的能力;二是文件系统的设计独立于实时操作系统(RTOS),这样可以很容易移植到不同的嵌入式应用中;三是设计统一的底层接口,适应不同的Flash类型。本文设计的线性文件系统为典型的嵌入式系统提供了所需的类文件系统能力。需要注意的是,本文件系统不支持复杂的Flash扇区擦写次数均衡算法,没有目录层次,并且和其它的文件系统不兼容。

1 线性文件系统

线性文件系统的设计思路是这样的:文件分为文件头和文件数据区两个部分,每个文件按照顺序存放在Flash中,以单向链表来链接文件。文件的起始部分是文件头,包含文件的属性、指向下一个文件头的指针、文件头和文件数据区的32位循环冗余校验和(CRC32)等。文件头用一个32位的字来表示文件属性,每位表示一种属性,如数据文件或者是可执行文件,是否已删除的文件等,具体可以根据应用的需要来定义文件的属性;文件头和文件数据区维护独立的CRC32校验,使文件系统能更精确检测文件的完整性。文件的起始地址没有特殊需求,分配给文件系统的Flash大小限制了文件的大小。另外,线性文件系统作为嵌入式系统的一个功能模块,它为应用程序提供与标准文件系统类似的API接口,如:read()、write()、open()、close()、stat()和seek()等。对于同时在多片Flash的系统而言,每片Flash相当于一个目标,文件都可存储在任何一片中(当然受物理空间限制),但不能跨片存储。

图1 Flash文件系统空间

在第一个文件创建之前,必须进行初始化,将所有分配给文件系统的Flash空间擦除。当创建第一个文件时,起始位置从文件系统的起始地址开始,文件头指针指向下一个空文件的起始位置(链表尾部);第二个文件的位置从当前的链表尾部开始,同时文件头中的链表指针指向新的尾部。删除文件时,仅仅是简单地把文件头的标识位中的活动文件标识位置0,表示删除。这样,在经过多次删除之后,就有必要运行碎片整理模块来进行文件系统Flash空间的碎片整理。碎片整理模块还需要在文件系统Flash空间尾部留一个扇区来数据备份,以便当碎片整理被打断时(如下电或者复位)可以恢复文件系统。这个保留的扇区称空闲扇区。它必须放在文件系统空间之后,这样可以保证文件系统的所有文件在所占用的Flash空间是连续的。整个文件空间的分配如图1所示。

阴影部分是文件头,数据结构如下:

struct hdr{

unsigned short hdrsize; /*文件头字节数*/

long filsize; /*文件头版本*/

long filsize; /*文件大小*/

long flags; /*描述文件的标识*/

unsigned long filcrc; /*文件数据的CRC32的值*/

unsigned long hdrcec; /*文件的最后修改时间*/

struct hdr *next; /*指向下一个文件头的指针*/

char name[NAMESIZE]; /*文件名*/

char info[INFOSIZE]; /*文件描述信息*/

};

碎片整个记录区包含两种数据类型:碎片整理文件头信息表defraghdr和文件区扇区整理前后的CRC值备份表sectorcre。具体的地址分配从空闲扇区的起始地址减1开始,往前分配文件系统扇区数乘以4字节作为sectorcrc的空间;从sectorcrc起始地址减1开始,往前分配活动文件个数乘以64字节作为碎片整理文件头信息表。这两个结构定义如下:

struct defraghdr{

struct hdr *ohdr; /*文件头的原始位置指针*/

struct hdr *nextfile; /*指向下一个文件的指针*/

long filsize; /*文件大小*/

unsigned long crc; /*这个头的CRC32值*/

unsigned long ohdrcrc; /*原始文件头CRC32值的拷贝*/

long idx; /*碎片整理表头的索引*/

long nesn; /*新的文件尾的扇区号*/

long neso; /*新的文件尾的扇区偏移量*/

char *nda; /*新的文件起始地址*/

char fname[NAMESIZE]; /*文件名*/

};

struct sectorcrc{

unsigned long precrc; /*碎片整理前扇区数据CRC32的值*/

unsigned long postcrc; /*碎片整理后扇区数据CRC32的值*/

};

从上面介绍可知,除了文件数据之外,文件系统还需要如下4种额外的开销。

①文件头:这是每个文件必须的开销,如果文件名和信息域各24字节,那么整个文件头共76字节。

②碎片整理文件头信息表:每个活动(非删除)的文件在进行碎片整理时在这个表里创建一个表项,每个表项64字节。

③碎片整理前后的扇区CRC32值表:保存文件整理前后的CRC32值,总的字节数约为文件所占扇区数的4倍。

④空闲块:用来在碎片整理过程中备份当前整理扇区数据。它必须不小于文件系统其它所有扇区。

可以用下面方程计算系统开销的总和:

overhead=(FTOT*(HDRSIZE+64))+SPARESIZE+(SECTORCOUNT*8)

其中:

FTOT是总的文件数;

HDRSIZE是文件头字节数(目前为76字节);

SPARESIZE是空闲块的大小;

SECTORCOUNT是分配给文件系统的Flash扇区数,不包括空闲块。

图2 文件碎片整理

2 碎片整理

创建新文件需要占用文件系统空间;但是,由于Flash的底层技术不允许Flash中的任意地址空间被删除,而是按照扇区为单位删除,为此在删除一个文件的时候,暂时没有把整个文件所占的空间删除,仅仅是在文件头的标识里作一个删除标识,并保留在Flash中。这样,被删除文件积累到一定的数量时,就会占用相当大的空间。因此,需要整理文件系统Fla

sh空间,使被删除文件占用的空间重新使用。图2显示了碎片整理过程。文件F1、F2和F5已经被删除,并且在碎片整理之后从Flash中被清除。进行碎片整理的方法可以有多种。对于嵌入式系统来说,选择哪种方法,衡量的依据是复杂性和功能之间的平衡。下面讨论两种不同的方法:第一种方法相当简单,但是有缺陷;第二种方法功能强大得多,笔者在线性文件实现中即采用这种方法。当然,存在更加复杂的解决办法,但通常的情况是,所添加的复杂性会使整个文件系统的实现更加复杂。目标是保持文件存储的简单和线性,保证所有的文件都是以连续的空间存储在Flash中。

最简单的方法是将活动的文件备份在RAM中,删除分配给文件系统的Flash空间,然后将RAM中备份的所有文件拷贝回Flash。这种方法很简单,并且不需要分配一个扇区作为空闲区;但问题是,需要有一整块和分配给文件系统的空间一样大的RAM来完成这项工作。更糟的是,如果此时系统被复位,或者在删除扇区内容却还没有将文件拷贝回Flash的时候被断电,文件系统将会崩溃。因为RAM中的内容会随之选择,文件内容会被破坏掉。

我们在文件系统实现设计了一种碎片整理方法,可以防止在碎片整理过程中系统复位导致文件崩溃的情况。采用这种方法,不需要大块的RAM,但是需要预选先分配给碎片整理过程一个Flash扇区作为备份区。这个扇区的字节数不小于任何分配给文件系统的扇区。在整个文件系统中,这个扇区位于分配给文件系统最后一个扇区的下一个扇区。因为扇区可能比需要分配给非删除文件的备份的空间要小,所以它必须逐个扇区进行处理,而不是一下就把所有的碎片整理完。采用备份扇区的好处是,在碎片整理过程中,无论断电或者复位都不会破坏文件系统。当下次系统重新恢复时,会根据在碎片整理前记录的每个扇区碎片整理前后CRC值,来判断当前的文件碎片整理状态。如果上次文件整理没有完成,就会继续上次的整理。这种技术的一个缺陷是空闲扇区的擦写次数会较多。这样空闲扇区就可能因为达到擦写寿命而失败。达到这一点的关键依赖于使用的Flash、所分配给文件系统的扇区数、文件删除和重建的频率。一个可行的解决办法采用电池备份的RAM来替换空闲扇区,可以增加Flash的整体寿命,但是对那些预算紧张的应用来说太过奢移。

具体的碎片整理过程是,首先建立碎片整理区。①为每个扇区建立2个CRC32表项;第一个CRC32是这个扇区在碎片整理前的CRC值;第二个CRC32值是计算出来的碎片整理后的CRC32值。这些CRC是当碎片整理过程被打断时,用来重新恢复整理用的。②创建碎片整理文件头信息表,每个活动的文件占用一个表项。③计算①和②的CRC值,并保存。①~③的数据保存在图1中的碎片整理记录区。第二步是文件重定位;遍历文件系统的每个扇区,处理重新定位后存储空间和该扇区相覆盖的文件。在每个扇区被重写之前,扇区原来的信息被保存在空闲扇区里。第三步,擦除Flash;遍历未使用的扇区,确认所有的扇区被删除。第四步,完整性检测:对新的文件进行检测,保证所有重定位的文件都是完整的。

3 应用分析

Flash的扇区有最大擦写次数。当前的Flash芯片一般支持10万~100万次的擦除。文件系统的应用各不相同,所以这里不能下结论说采用线性文件系统Flash的寿命会有多长。下面解释文件系统访问Flash的方法。这样用户可以根据应用来判断Flash的预期寿命。

我们所设计的线性文件系统并不进行扇区删除次数均衡,以延长Flash的使用寿命。如果所需要的文件系统频繁修改并需要扇区删除次数均衡,可以购买现成的Flash文件系统。扇区删除均衡算法大大增加了底层实现的复杂性,并且超出本文的讨论范围。一般来说,通过文件系统来管理Flash的需求远大于对Flash扇区擦写次数均衡的需求,特别是现在越来越多的Flash扇区都支持100万次的擦写。

如上面所提到的,文件系统本身提供给编程者的接口API与标准OS提供的接口类似。这可能误导开发者认为文件系统可以看作是一个硬盘,以任意的频率进行读写操作。事实并不是这样,线性文件系统碎片整理同制并没有进行擦写次数均衡,这意味着空闲扇区可能会是最早损坏的Flash扇区。因为在碎片整理过程中,空闲扇区被用作其它所有扇区的暂时存放扇区。例如在设计里,有13个扇区Flash用来作线性文件系统区,有1个扇区作为空闲扇区。假设对于最坏情况的碎片整理(13个扇区都影响到),如果每天进行1次碎片整理,对于100 000次擦写次数的Flash而言,可用期能够超过20年(100 000/13/365=21)。20年是基于每天进行1次碎片整理,并且所有扇区都影响到的情况。碎片整理的频率和整理所影响到的扇区数受应用程序使用文件的限制。用户可以根据文件系统的应用来估算Flash扇区的磨损情况,并作相应的处理。

下面讨论文件系统是如何使用扇区的。Flash扇区仅仅在碎片整理时候才被擦除。当删除文件的时候,只是简单地作一个标识(文件头的一个位)。如果一个存在的文件以写的方式打开,实际的修改步骤是,删除原有的文件,并在当前文件系统的最后一个文件之后重写该文件。最后,这个过程会使文件系统的Flash空间被耗尽,这要就需要运行碎片整理程序。碎片整理程序会使已被删除文件所占用的空间被清除,所有活动的文件在Flash中的位置以连续的方式存放。每个扇区的整理过程是,扇区被拷贝到空闲扇区作备份,然后原来的扇区被删除,计算出该扇区在文件整理后的内容,写入扇区,之后删除空闲扇区的备份。文件系统从头到尾每个扇区重复这样作。在碎片整理时,如果一个扇区不需要进行碎片整理,碎片整理程序就不会动这个扇区因此,受碎片整理程序影响的扇区数目依赖于当前被文件系统占用的Flash扇区数和被删除文件在Flash中的位置。

在一个典型的嵌入式应用里,文件系统中的可执行文件本身就是应用程序。可执行文件一般是最大的文件,也是最不可能经常改变的文件。这意味着执行文件所占用的空间是相对固定的,将会减少空闲扇区因为碎片整理而进行的擦写次数。另外一方面,如果有任何文件需要定期改动,碎片整理将会更加频繁运行。

结语

嵌入式设计系统篇6

现在有效的电子产品开发要求板卡设计、可编程逻辑设计和软件开发进行融合,需要把监控上述领域的设计管理流程集成进来。为了保持竞争力,公司需要的产品应当能超越松散的集成管理,提供真正统一的设计流以改进设计创新,充分利用当前的器件技术,加速设计流程,更快地把更加智能的产品推向市场。

软件的革命

近年行业中最大的变化是低成本微处理器的运用。微处理器最初用于实现计算器,然后用于个人电脑。由于具有动态重新配置特点,它们取代了许多硬连接数字系统电路,将真实的“嵌入人工智能”带入先前“笨拙”的器件中。

微处理器成功的关键不在于器件本身,而在于它让工程师们将重要的设计难题从硬连接环境转换为“软”领域的能力。板级硬件平台设计继续使用熟悉的“硬连接、现用器件”模式,但是平台中的产品特性或智能的开发可以为“软件”。使用这种基于平台的方法,制造相同物理硬件的风险大大降低了,因为构建硬件后还可以修改其特性。

微处理器最初作为一种高效的可升级工具,现在最终改写了电子器件的规则。它不再满足于价格便宜、性能可靠、工作效率高,现在的电子器件需要“智能”。

将软设计提升一个水平

FPGA本身是一个胶合逻辑应用,要超出这一应用需要更广阔的视野,包括充分利用可编程器件,把尽可能多的硬件引入到软领域之中。这包括引入处理器功能本身,目前FPGA内的软处理器越来越普通。

根本上说,引入基于FPGA实现的软处理器结构灵活、板卡尺寸更小、更简单。但深层次的应用会带来更引人注目的优点。嵌入式开发人员利用了FPGA的可编程特性获得处理器顶层的抽象级别。不仅能在软件中实现抽象级设计,而且也在硬件中实现抽象级设计。

考虑这样一个系统:处理器通过可配置的硬件(本质上是一个硬件包)与其内存和外设连接。这就抽象了处理器的接口。简单地对FPGA重新编程就改变了硬件包,系统设计师可以轻易改变处理器内核,甚至在硬的或软的处理器间转换,无需修改其他系统硬件。从系统角度来看所有处理器都是相似的,简化了硬件设计流程。当然,把这延伸到应用软件领域也需要可以在处理器之间提供C级别兼容性的编译器。

这种系统的优点是不需要“事先”对处理器做出选择。系统可能使用某种处理器开发,如果在开发阶段发现需要更高的性能,则可再采用更快的器件。处理器可以是软的、硬的甚至是FPGA内部的硬件处理器内核,而不会影像周围的硬件。

在这个方案中,FPGA成为有效的系统互连结构,可为嵌入式系统的所有部件提供通用的连接性。

最后,在处理器之上引入透明的包裹层会创建出基于FPGA的开发环境,提供真正的处理器独立性。软件和硬件开发速度都提高了,处理器选择可放到设计后期进行,有效的软件/硬件协同设计成为可能。

传统设计方案的失败

关键一点是它导致了设计流程复杂性和相互依赖程度的增加。随着更多设计转入“软”平台,传统设计领域如硬件、软件和FPGA间的界限越来越模糊。采用不同工具独立处理这些设计元素变得越来越困难且效率低下。

在单个流程中转入到更高抽象级别可处理特定的复杂度问题。当然,最终这些单个的设计元素必须集成在一起创建一个最终产品,但每个组件的专业化程度的增加导致最终产品更难装配。这将消耗大量设计时间并最终妨碍产品创新。

在本质上,与此相承的单点式工具电子产品设计方法已是昨日黄花。产品开发团队面临保持市场竞争力的压力,因此不断寻求新途径来更快速地将更高级智能的设计推向市场,同时处理整个设计流程中不断增加的设计复杂性。

硬件设计软件化

随着最近FPGA技术的发展,分析专家认为我们正处于电子设计的转型中。FPGA刚一面世,就达到了这些器件的价格/容量曲线分水岭。它们能提供ASIC的许多好处,而无需高昂的成本和长期的开发周期。

这些器件内在的可重新编程特性大量削减了设计时间,带来了现场硬件升级的可能性。然而,要充分利用可编程硬件的潜力,工程师需要能在更广的设计流程中发挥技术优势的工具。

在对大型FPGA进行板级布线时,智能的管脚输出流程自动化要求PCB设计编辑器十分了解目标FPGA器件的物理特性和功能,及FPGA设计师施加的优先约束条件,同时也需要FPGA和PCB设计环境间的紧密联系,以便迅速重复FPGA和PCB级设计间的约束,达到优化方案,平衡FPGA内的时间需求和板卡可布线问题。

一体化的设计环境

诸如FPGA这样的可编程技术的真正潜力在于其不再区分硬件和软件。随着我们不断利用该潜力,硬件、软件和可编程硬件的设计就不断融合。从设计工具角度来看,这一融合将驱动传统设计工具边界间的自动流程需求。要成功做到这点需要的不仅是不同设计工具集表面的集成,而是要涉及到所有不同设计环境的完整统。

Altium在Altium Designer系统中体现了这一必然要求。AltiumDesigner提供单一、统一的环境,把PCB级的硬件设计、可编程逻辑设计和嵌入式软件开发集成在一起。这样工程师、设计师和开发人员就能充分利用可编程硬件的特点创造更加智能的电子产品,而不用考虑其FPGA水平如何。

统一的硬件设计框架

Altium Designer中实现了这一目标。它将硬件和软件开发统一在平台内,从而加快了软件/硬件共同设计的进程。Altium De-signer的根本需求是开发人员能方便一致地操作分立和基于FPGA的“软”硬件。这通过把传统HDL方法转为FPGA设计,并将现成易用的、基于组件的设计用于可编程器件来实现。在这种环境下,使用描述板级电路相同的方法和语言来描述FPGA内部实现的系统组件。

在开发时使用预先合成的逻辑块(元件)而不是基于HDL的源库,具有几个优点:首先,在硬件综合时把块视为“黑盒”,从而加快进程的处理;第二,与板级的分立组件的使用一样,在无需了解底层的代码结构的情况下,基于FPGA的组件块即可被使用。尽管,组件背后的原理很复杂,但设计者只需要知道基本的功能即可。

开发电子产品,提供当今市场上真正的差异化产品,其根本在于利用可编程器件,以软件和“软”硬件的形式为嵌入智能提供一个可重构的平台。这需要有一个统一硬件、软件和可编程硬件设计的系统和可重构的平台,支持软设计模式带来的开发自由。

FPGA正继续着电子产品设计的“软化”过程。可编程资源更加便宜、丰富,工程师们不需在HDL中对寄存器级电路进行编码和优化,板级设计模式可以延伸至可编程器件中实现的系统设计中。这将为当前正在从事主流电子产品开发的工程师和设计人员打开软系统设计的大门,他们可以从PCB硬连接环境中将功能移植到可轻易更新的FPGA软连接领域。

要使此流程得到主流电子产品开发工程师的应用,需要将硬领域和软领域设计加以统一的工具,并提供一种真正的一体化环境,统一硬连接平台开发与设计和平台上可编程元件嵌入式智能的集成。

嵌入式设计系统篇7

关键词:嵌入式;通信系统;工作原理;创新设计

一、嵌入式通信系统概述

1.嵌入式通信系统特征

为适应经济发展和时代进步,通信系统制造商需要制造出功能更加齐全、性能更加强大的通信产品来迎合市场的激烈竞争。嵌入式通信系统需要满足更多的功能和更多样的性能要求。嵌入式通信系统由于特定的应用场景、特殊的应用目的,其与一般的系统相比,具备特有的属性:一是响应时间受限性,通信系统的任务具有时限属性,当任务开始后,要在一个特定的时间内执行完毕。二是可靠性,通信系统对可靠性有严格要求,特别是汽车、航空器等控制系统,通信系统的执行情况和执行结果对生命、财产、国防安全有重大的影响,一个微小的故障就可能造成严重的后果;三是约束的复杂性,约束分为时间约束和资源约束,前者指每个任务都需满足时限约束,后者指当多个任务共享同一的资源时,按照一定的资源访问控制协议进行,防止死锁,避免高优先级任务被低级任务阻塞;四是多任务类型,嵌入式通信系统需要处理不同类型的任务,如周期式任务、偶发式任务、非周期式任务和非实时式任务。

2.嵌入式通信系统工作原理

嵌入式通信系统运行中,在不同任务之间需要进行通信,其是通过读写、共享变量实现的。必须保证共享变量的数据的一致性,才能保证嵌入式通信系统正常工作。嵌入式通信系统通常采用原子锁的机制来确保共享变量访问一致性,在任务访问共享变量之前对其锁定,在访问结束后解锁。如果锁定或者解锁失败,则不能访问系统共享变量。由此任务的执行过程产生关联,当高优先级任务访问系统共享变量时,访问相同共享位置变量的低优先级任务会被拒绝,从而落实嵌入式通信系统运算规则。嵌入式通信系统需要同时保证对共享资源的互斥访问与任务的可调度性。

3.嵌入式通信系统调度原理

为了精确调度嵌入式通信系统的资源,达到实时、可预测的特定要求,在嵌入式通信系统部署之前,需要用调度理论对目标任务进行可调度性分析,再进行调度方案搜索。嵌入式通信系统任务调度技术分为嵌入式通信系统可调度性分析方法和嵌入式通信系统调度策略。嵌入式通信系统任务调度技术研究包括任务共享系统资源的策略、机制,并提供判断嵌入式通信系统任务可否调度。嵌入式通信系统经历了从简单到复杂的历程。嵌入式通信系统的特定应用需求要求通信系统设备小型化、集成度高,紧密与网络契合,具备移动能力。并进一步要求嵌入式通信系统的嵌入式CPU体积小、低功耗,能够将通用CPU中由板卡完成的目标任务集成在芯片内部。嵌入式通信系统的CPU要求硬件和软件有较高的效率,去除冗余,在同样的条件下达到更高的性能。毋庸置疑,嵌入式通信系统是一项技术密集、资金密集、研发密集、不断创新的高新知识集成系统。

二、嵌入式通信系统存在的可扩展性问题

1.嵌入式通信系统网络容量不足

举一个常见的嵌入式通信系统的例子,该系统包含4个ECU和8个消息,嵌入式通信系统的通信周期为1,每个消息的周期亦为1,嵌入式通信系统系统的每个通信周期都包含8个时间槽。所有节点通过单个嵌入式通信系统总线连接,各个ECU节点之间的信号通信情况正常,消息在嵌入式通信系统总线静态段上调度。稍作分析可知,消息M1、M2、M3……M8刚好会占满嵌入式通信系统系统静态段的全部时间槽,导致嵌入式通信系统资源占用率已达饱和状态,网络容量不足,无暇处理其他信息。

2.嵌入式通信系统分支负载不均衡

当嵌入式通信系统的静态段时间槽全部占用,而嵌入式通信系统系统的静态段时间槽占有率仅为50%,属于严重的负载不均。嵌入式通信系统负载不均会导致嵌入式通信系统不能容纳新消息传输,限制通信系统升级,进而造成嵌入式通信系统系统无法进行扩展。这一问题产生的根源在于嵌入式通信系统通信网络结构设计缺陷,其消息调度未将负载均衡作为设计指标,亦无其它相关工作考虑了嵌入式通信系统负载均衡。

三、嵌入式通信系统优化

1.嵌入式通信系统消息缓存交换结构优化

使用嵌入式通信系y交换机代替原有的设备,嵌入式通信系统交换机只负责把消息转发给需要该消息的分支,允许多个分支上的ECU 节点同时发送消息,进而提高嵌入式通信系统通信网络的有效带宽。嵌入式通信系统的交换机采用电路交换模式,交换机与嵌入式通信系统的总线保持同步。配置嵌入式通信系统交换机中不同输入端口、输出端口的连接方式,进而确定消息转发路径。嵌入式通信系统的每个时间槽都含有一个报文,在每个时间槽上都要对嵌入式通信系统的交换机的连接进行重新配置。将此方式改进为无缓冲、无延迟的嵌入式通信系统 交换机,有助于嵌入式通信系统的交换结构优化。

2.嵌入式通信系统HSRN负载均衡优化

对嵌入式通信系统HSRN各分支进行负载均衡优化设计,可扩展的通信网络利用优化后的交换机将嵌入式通信系统的通信网络分割。在各分支之间的负载均衡性极大的情况下,将提升嵌入式通信系统通信网络的可扩展性。负载均衡设计之后具有明显的优势:在电子系统中,软件升级会导致嵌入式通信系统通信数据量的增加,而负载均衡设计可以为每个分支都预留较大的扩展量,从而方便的完成系统的升级和扩展。嵌入式通信系统HSRN结构本身引入了消息可缓存的系统交换机,有效隔离了广播域,提高了嵌入式通信系统的网络容量。在嵌入式通信系统交换机中设置的消息缓存队列,能够放松对跨分支消息的同步传输约束,进而提高嵌入式通信系统通信系统的消息可调度性,使得嵌入式通信系统可容纳更多消息,提高了嵌入式通信系统的通信网络的带宽利用率。

参考文献

[1] 王永吉,陈秋萍.单调速率及其扩展算法的可调度性判定. 软件学报. 2014年.

[2] 金宏,王宏安,王强.一种任务优先级的综合设计方法. 软件学报.2013年.

[3] 邹勇,李明树,王青.开放式通信系统的调度理论与方法分析. 软件学报.2013年.

[4] 段成刚,欧阳森,宋政湘.新型在线实时电能质量监测设备的设计.电网技术. 2014年.

嵌入式设计系统篇8

【关键词】 抽象级 嵌入式系统 设计模型

在嵌入式系统的设计工作中,设计者更多的将精力放在嵌入式系统体系结构上,使系统变得更灵活。本文主要通过利用抽象的ADL体系结构描述语言对嵌入式系统进行实验和系统的设计,并经过反复过程达到设计要求。总的来说,对抽象级嵌入式系统设计方法的探讨是为了提高嵌入式系统的设计效率,并从一定程度上加快嵌入式系统的发展和嵌入式系统在不同硬件中的应用。

1 嵌入式系统设计介绍

嵌入式系统问世已经有一段时间了,其协议也逐渐变得更加稳定和通用。就目前来看,市场上基于嵌入式系统的产品在逐渐增多,再加上随着几个大型企业的推进和改革让很多芯片和模块的发展逐渐走向稳定的道路。所以嵌入式系统的开发环境主要是依托于执行特定任务的系统芯片之中。由于嵌入式系统在开发中具有相当的难度,所以ADL体系结构和设计语言多应用于抽象级嵌入式系统的开发,所以笔者就嵌入式系统的开发做出具体介绍。

(1)基于ADL体系结构设计的语言和设计方法。ADL体系结构应用在很多软件系统的开发之中,从目前的情况来看,我国对硬件体系结构的研究主要停留在非形式化的基础之上。很大程度上依赖于硬件设计的传统经验。在目前的硬件开发中,很难描述不同组成部件之间的组合关系,导致开发人员对硬件的实际结构难以理解或难以形式化分析。而从经济角度出发,基于结构的硬件研发手段又是目前主要的应用手段,所以在实现实际结构之前应该进行虚拟化的模拟。这也就是抽象级嵌入式系统开发的核心理念。JET技术就是为了支持这一抽象级开发而被使用的技术,拥有更强大和灵活的工具,能快速的转变JAVA和VHDL和其他语言的代码。JET技术实现的主要思路表示如下:

Sample.xml + xxx.jet = 生成文件(.java .vhd)

其中,sample.xml为参数文件,主要提供输入数据。xxx.jet为具体的模板文件。主要利用不同的代码生成功能不同的jet文件。

(2)基于上述实验的具体证明。笔者为了说明此方法的具体特点,就设计了模型CPU,控制器采用微程序的方法,只能完成基本的算术和逻辑。模型CPU的指令系统分类比较详细,在实际应用中可以根据不同的需要对指令系统进行扩充。再加上控制器采用微程序的方式,指令系统的更改将变得更加容易。具体的指令系统如表1所示。

根据表1所述指令系统,可以通过开关输入检验指令的执行和具体结构系统的正确性。最终确定,模型CPU的运转共分为取指令周期、指令执行周期等。

2 抽象级嵌入式系统设计模型描述

抽象级嵌入式系统由于其技术特点决定,是最适合工业以及工程远程操控。这是因为工业生产设备的远程操控比较简单,传输数据较少,而且对系统的通信技术性价比的要求较高。所以嵌入式系统正是工业设备远程操控的最佳选择。比如水利工程远程操控,可以基于嵌入式系统技术结合PLC技术实现水利工程的远程操控。而对于嵌入式系统的市场化应用则是应该对嵌入式系统的产品加大开发力度。从硬件和软件两部分出发,双管齐下,提升嵌入式系统的市场占有率以及市场产品的使用率。对于硬件来说,应该加强对芯片以及电路板的研究,将其低功耗与高性能的特点发挥出更大的作用。而软件部分则主要是对传输协议的进一步改善,让嵌入式系统更加普及。

在抽象级嵌入式系统具体设计时,由于其CPU的结构与传统设计有相同和相似的地方,而且CPU还具有不少固定的结构。所以利用抽象级嵌入式系统设计方法设计的CPU可以明显的提升设计效率。在设计时,首先要基于XML的ADL语言本身对模型CPU进行属性和参数的设计。然后利用不同的技术实现代码的映射,从而调整上层系统的具体设计方案。

在设计完成后,如果需要对地层设计进行修改,则只需要修改顶层的有关参数即可。利用XML代码的灵活,保证了模板文件对应的设计比较正确,也能保证整个设计的正确性和可靠性。总的来说,对抽象级嵌入式系统的设计方法主要是为了避免传统嵌入式系统的设计方法中存在大规模系统设计适应度不足的问题。可以说抽象级嵌入式系统的设计改变了原有的底层代码编写方式,将嵌入式设计提升到一个高级抽象级别。这种方法主要应用基于XML的ADL语言进行操作,并利用严格设计的目标文件和JET技术自动生成所需要的底层代码,不仅提高了设计的效率,还提高了设计的整体可靠性。所以,对抽象级嵌入式系统的研究是具有很高的理论价值与经济价值的。

3 结语

在嵌入式系统的设计工作中,设计者更多的将精力放在嵌入式系统体系结构上,使系统变得更灵活。本文主要通过利用抽象的ADL体系结构描述语言对嵌入式系统进行实验和系统的设计,笔者认为,抽象级嵌入式系统的设计改变了原有的底层代码编写方式,将嵌入式设计提升到一个高级抽象级别,总的来说,抽象级嵌入式系统的研究价值是很高的,而且通过不同的模式表现出来。

参考文献:

[1]高晓清.基于ADL的抽象级嵌入式系统设计方法研究[J].计算机工程与设计,2010,31(14):3229-3232.

上一篇:教师心理档案范文 下一篇:教师生活作风问题范文

免责声明