摘 要:如今,由于嵌入式系统的市场巨大、潜力无限,全球的生产商都非常看好这一领域,纷纷投入了大量的人力物力,而围绕嵌入式系统的研究、设计和开发正成为计算机发展最活跃的方向之一。笔者结合自身的工作经历,对关于嵌入式系统进行了概述,希望能为从事嵌入式开发人员提供一些帮助。
关键词:嵌入式系统
随着电子技术的快速发展,特别是大规模集成电路的产生和发展,使得现代科学研究得到了质的飞跃,而嵌入式微控制器技术的出现则是给现代工业控制领域带来了一次新的技术革命。我们已经进入了网络时代,不仅能够通过PC上网,还可以用各种各样的嵌入式设备上网。后来PC时代出现了许多信息电器,我们周围的嵌入式系统设备有很多,如掌上电脑、可视电话、传真机、手机、个人数字助理(PDA)、电视会议、TV机顶盒、数码相机等,嵌入式设备如果要上网就必需加上TCP/IP网络协议,由于8/16位的单片机的速度还不够快,内存也不够大,不容易满足嵌入式设备上网的要求。随着集成电路的发展,32位的RISC处理器更是能得到青睐,领先的是ARM处理器位内核的生产芯片的公司居多。
1.嵌入式系统的一般构成
一个以单片机为核心的比较复杂产品或实际应用系统,包含模拟量的输入、模拟量的输出,开关量的输入、开关量的输出及数据通信的部分。从嵌入式系统设计角度来看,任何一个系统都是一个输入/输出处理系统。广义地说,所处理的物理量可分为模拟量、开关量与数字量。若能了解一个实际的对象系统有哪些输入的物理量,哪些输出的物理量以及它们之间的内在关系,就可以设计出以单片机为核心的应用系统,并通过编程实现输入/输出之间的关系。
单片机工作支撑电路保障单片机能够正常运行,如电源提供、晶振电路、必要的滤波电路等。实际模拟信号一般来自相应的传感器。例如,开发非接触式的IC卡燃气表系统,要测量使用气量,就需要流量传感器。但是,一般传感器将实际的模拟信号转成的电信号都比较弱,单片机无法直接获得该信号,需要将其放大,然后经过A/D转换变为数字信号,进行处理。目前许多单片机内部包含A/D转换模块(例如:Free Scale公司系列单片机),实际应用时也可根据需要外接A/D转换芯片。常见的模拟量有温度、湿度、压力、重量、气体浓度、液体浓度、流量等。对嵌入式来说,模拟信号通过A/D转换变成相应的数字序列进行处理。实际开关信号一般也来自相应的开关类传感器。如光电开关、电磁开关、干簧管(磁开关)、声控开关、红外开关等等,一些儿童电子玩具中就有一些类似的开关。手动开关也可作为开关信号送到嵌入式中。对单片机来说,开关信号就是只有“0”和“1”两种可能值的数字信号。
2.嵌入式系统软件的特征
嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和通用计算机有所不同。
2.1软件要求固态化存储为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
2.2软件代码高质量、高可靠性尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。
2.3系统软件(OS)的高实时性是基本要求在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。
2.4嵌入式系统开发需要开发工具和环境通用计算机具有完善的人机接口界面,在上面增加一些开发应用程序和环境即可进行对自身的开发。
2.5嵌入式系统软件需要RTOS开发平台通用计算机具有完善的操作系统和应用程序接口(API),是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在OS平台上面运行,但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
2.6嵌入式系统开发人员以应用专家为主通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式系统则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识,其开发人员往往是各个应用领域的专家。
3.嵌入式软件开发的难点与分析
随着技术的进步和需求的扩大,嵌入式系统的规模越来越大,嵌入式软件的复杂度和开发难度也随之不断增加。目前,嵌入式软件开发的难点主要有如下几点:
(1)嵌入式系统的一个最大特点就是软硬件紧密结合,为此,嵌入式软件(尤其是嵌入式底层软件)的设计和验证要充分考虑硬件因素。
(2)嵌入式软件运行在特定的硬件体系和环境中,在进行设计时,不但需要考虑各个节点间的通信和同步问题,还需要考虑整个系统的时序问题。
(3)嵌入式产品广泛的应用于工业、军事和航空航天等领域,这使得嵌入式系统对可靠性、防危性、和容错性等功能有更苛刻的要求,丢失数据在许多情况下是不可容忍的。
目前,结构化的软件设计方法是嵌入式软件设计领域中理论最成熟、使用最广泛的方法。结构化程序就指的是程序组成结构化、功能模块化、执行流程化,要求将特定任务的代码和数据与程序其余部分相分割,实现分割的方法是将处理特定任务的指令和数据设计成子程序或中断服务子程序,这些子程序或中断服务子程序称作功能模块,具有特定功能、可处理特定任务、能解决专门问题。结构化的嵌入式软件设计流程是:按照系统总体规划和总体设计,由设计人员分别编程设计各功能模块;接着依据软件结构和程序流程,将功能模块组成结构化程序,实现系统整体功能,满足系统要求,解决实际问题。
4.嵌入式系统的发展前景
信息时代、数字时代使得嵌入式产品在人们生活要中无处不在,为嵌入式市场展现了美好的前景,同时也对嵌入式系统技术提出了新的挑战。以下几点是嵌入式系统的发展前景。
4.1连上互联网随着网络的不断发展,嵌入设备要连上互联网,就必须要提供网络通信接口,不仅要支持TCP/IP,有些还需要
支持IEEE1394、USB、蓝牙、IrDA等,同时还要提供相应的通信组网协议软件和物理层驱动软件。
4.2利用最低的资源实现最恰当的功能要在小型电子设备装入嵌入式系统,就要求设计时尽量精简系统内核、算法、降低功耗和软硬件成本。这就提高了对嵌入软件的技术要求,要求软件人员要有丰富的编程经验和硬件知识,同时还要发展先进的嵌入式软件技术,如Web,WAP等。
4.3嵌入式开发需要强大的硬件开发工具和软件包支持目前很多厂家在着力推出系统的同时,也开始将开发嵌入式系统的环境作为重点推出。如Windows CE在主推系统时也推出了Embedded VC++作为开发工具。
4.4提供友好的人机交互界面嵌入式设备在人们的生活中无处不在,要让人们觉得嵌入式设备好用,那么提供有好的人机交互界面这是必然。人们的需求是无止境的,嵌入式设备要不断的满足人们的需要,就要不断的发展,提供最友好的图像用户界面。
参考文献:
[1]沈连丰,宋铁成,叶芝慧.嵌入式系统及其开发应用[M].北京:电子工业出版社,2005.
[2]张春平,戴青云.嵌入式系统及其发展前景[J].石家庄职业技术学院学报,2006(4):19-20.
[3]王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出版社,2003(10):3.