嵌入式系统应用研究(共12篇)
嵌入式系统应用研究 篇1
1 嵌入式系统的组成
嵌入式系统是集操作系统软件、应用软件和专用硬件平台与一身的专用的计算机系统。简单的说就是系统的软件与硬件一体化。相对与计算机系统来说, 嵌入式系统的硬件平台是专门定制的, 其特点是功耗低、体积小;软件方面, 嵌入式系统代码量小, 系统高度自动化、响应速度快。特别适合于一些要求实时性高、多任务、且数据运算量不大的场合, 如工业控制、智能家居、智能机器人等领域。
嵌入式系统基本结构分为硬件和软件两部分。
1.1 嵌入式硬件
硬件方面, 嵌入式处理器是整个硬件平台的核心, 可分为几大类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器和片上系统。而嵌入式微处理器以其操作系统的良好支持、极强的事务管理能力和应用程序支持等特性, 从几种处理器中脱颖而出, 成为了嵌入式系统开发者们的首选。最具代表性的便是以ARM为核心的各类微处理器, 其在全球手机芯片的市场份额已超过90%, 并且在其他行业也在进行不断扩展。此外, 还有MIPS、x86架构的处理器, 也具有各自的特点。在处理器的外围, 开发者根据实际的应用需要, 进行各个模块的开发扩展, 一般嵌入式系统需要的模块主要有内部/外部存储器 (RAM, Flash等) 、串口、各类传感器、控制器等, 有些还有图形输出 (如LCD) 控制器。再在处理器周围加入时钟系统、电源系统, 就实现了嵌入式硬件平台的搭建。
1.2 嵌入式软件
软件部分主要分为两层:系统层与应用层。系统层, 是包含了板级支持包 (BSP) 、经裁剪后的操作系统内核与文件系统的一系列软件的集合。板级支持包主要实现了硬件对操作系统支持, 它与操作系统的驱动程序紧密相连, 使操作系统能够访问硬件资源。而操作系统和文件系统则是提供给用户操作环境和系统管理工具, 以及提供应用程序一个运行的环境。使用较多的嵌入式操作系统有嵌入式Linux、Win CE、Vx Works、u C/OS-II等, 其中嵌入式Linux系统较其他系统而言, 具有硬件平台支持广泛、内核运行稳定、代码开源、价格低廉的优势。在系统层之上, 开发者可根据操作系统提供的接口进行各类应用程序的开发。
2 嵌入式系统的开发流程
嵌入式系统以应用为中心, 在进行开发之前, 首先需要做的是客户需求分析, 确定产品的功能、成本、指标参数。在此阶段, 开发者除了确认客户明确提出的要求之外, 还应对隐性需求进行分析, 如在功能上是否需要优化或扩展, 是否在将来需要更新换代等等。深度的隐性需求分析能够为开发者在之后的研发过程中省去不少时间和精力。
根据需求分析的结果, 对处理器、功能模块、操作系统和开发环境进行选型, 制定出系统的结构图和软件流程图, 并根据资金、人力实际情况安排研发的进度。
开发过程分为硬件和软件两个部分, 相互并行执行, 硬件设计主要包括硬件功能模块设计、原理图绘制、PCB制板、元器件焊接与调试等。软件设计主要包括软件功能设计、编码和调试。嵌入式系统在应用上具有专一性, 软硬件协同设计是系统设计的关键。在针对具体应用系统的功能目标分析基础上, 分解整个系统的各项功能指标和技术要求, 结合系统的实时响应要求、接口功能定义与标准、嵌入芯片的处理能力、编程语言、开发环境、产品的升级与维护问题、开发投入能力、产品综合成本等多方面因素进行权衡考虑。
3 嵌入式行业的前景
当整个IT行业前进的步伐迈入第三个十年的时候, 物联网、云计算俨然已成为信息产业的主旋律, 而这些产业应用技术中最核心、最关键的部分正是嵌入式系统。随着嵌入式技术的广泛应用和高速发展, IT行业的发展也势不可挡地进入了嵌入式时代。嵌入式产品正在以非常迅猛的速度渗透到各个行业、各个领域, 并且进入了我们的生活。大到通讯基站、航天卫星、工业控制, 小到手机、平板电脑、智能家居, 智能化嵌入式产品已在其中占据着不可替代的重要地位。
3.1 从事嵌入式开发的优点
1) 市场人才需求量大。随着智能化电子行业的迅猛发展, 嵌入式行业凭借其“应用领域广、人才需求大、就业薪资高、行业前景好”等众多优势无疑已成为当前最热门、最有发展前途的行业之一, 与此同时, 嵌入式研发工程师更是日益成为IT职场的紧缺人才。
2) 知识覆盖面广。嵌入式不是一项纯软件或者纯硬件方向的技术, 而是软件与硬件的结合, 行业知识覆盖面非常广。从事嵌入式开发工作, 一般是从嵌入式应用开发做起, 随着项目经验的增加, 可以选择逐步向驱动程序、硬件设计发展, 不断学习新的知识。
3.2 从事嵌入式开发的难点
嵌入式行业的入门起点较高, 除了要求开发者精通C语言、对操作系统的编程接口有一定理解, 在硬件方面还要求能看懂硬件原理图, 一般非专业IT人员很难切入这一领域。另一方面, 目前嵌入式的发展迅速, 技术更新快, 对开发者能学习能力要求自然很高, 需要开发者能够迅速学习新的知识并将其用于实际项目中。
4 结语
信息时代数字时代使得嵌入式产品获得了巨大的发展机遇, 也为嵌入式市场展现了美好的前景, 同时也对嵌入式系统的开发者提出了新的挑战。开发出的产品除了应具有独特的创新功能外, 开发者还应遵循一定的原则, 只有这样, 才能使嵌入式系统产品的开发事半功倍。另外, 嵌入式系统一般都具有不同于大型软件系统的具体要求, 如实时性、可靠性、能耗 (如电池供电) 要求等, 因此在实现系统时还应根据开发者的经验进行特别处理。
参考文献
[1]沈连丰, 宋铁成, 叶芝慧.嵌入式系统及其开发应用[M].北京:电子工业出版社, 2003.
[2]张春平, 戴青云.嵌入式系统及其发展前景[J].石家庄职业技术学院学报, 2006 (4) .
[3]王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出版社, 2003 (10) .
嵌入式系统应用研究 篇2
一、嵌入式系统及其应用概述
嵌入式系统是以应用为中心,以计算机技术为基础,软件可编程,硬件可剪裁、重构的专用计算机系统。该系统通常嵌入在对象环境中,并通过其在对象环境下运行的特定程序,完成对外界物理参数地采集、处理,达到对控制对象地响应或人机交互的功能。
目前,嵌入式系统的发展方向主要是解决接口多样性、适应性、灵活性和集成开发环境等的特定应用问题。嵌入式系统应用的底层性与对象系统的紧耦合性是其显着的基本特征。所以,最大限度的满足对象数据采集、控制、开发环境、功耗,以及适应能力、可靠性等品质因数是选择嵌入式系统的标准。
为适应技术发展需求,嵌入系统在不断追求结构紧凑、坚固可靠、技术密集、高度分散的同时,尤以不断创新为嵌入式系统的发展核心。使嵌入系统凸现了高技术门槛,主要表现在软硬件设计的紧密相关性上,特别是构建RTOS系统需透彻了解RTOS的工作机制和系统资源配制,掌握底层软件、系统软件和应用软件的设计、调试方法。
随着对嵌入式系统的智能化愈加关注,现场可编程、调试、引脚配置变得非常重要和必不可少。所以,用户可配置的SCO(在片系统)已成为现阶段嵌入式系统的核心发展技术。通过现场可编程阵列把接口应用设计和系统开发留给系统设计者,提供灵活、多样的片上电路设计平台,使电路板设计变成在片的芯片配置,将嵌入系统地设计带入了软硬件的双编程时期,进一步缩短了产品开发周期。而下一代的在片系统还将发展成一个MUC数量可缩放的集合体。
在嵌入式应用系统中,虽然高端产品不断涌现,但由于应用对象、环境的不同特点,嵌入系统的8位机产品仍因应用对象的有限响应时间、完备的集成开发环境、良好的性价比等优势仍然占据着低端应用系统的主流地位。Cygnel公司的C8051F系列产品就充分印证了这点。
回顾嵌入式系统的发展历程,已经历了由模拟向数字的演进过程,现又逐步演变为数模并存情形。由最初软件编程主宰的微处理器(嵌入式微处理器、数字信号处理器、单片机),到硬编程主宰的专用集成电路时代,再到今天的现场可编配置时代。嵌入式系统的核心技术正沿着“许氏循环”的浪潮不断前行。而配套的`软件设计平台也随着科技进步在不断得到完善。可以预期,软硬双可编程的嵌入式系统时代必会带来更加便捷的开发环境和技术支持。
二、嵌入系统的设计原则
嵌入系统设计具有很强的针对性,软硬件协同设计是系统设计的关键。需解决好软硬件的同步与集成设计问题,要结合具体应用进行综合考虑,保证设计工作的一致性与正确性。在针对具体应用系统的功能目标分析基础上,分解整个系统的各项功能指标和技术要求,结合系统的实时响应要求、接口功能定义与标准、嵌入芯片的处理能力、编程语言、开发环境、产品的升级与维护问题、开发投入能力、产品综合成本等多方面因素进行权衡考虑。
(一)在明确系统性能需求的基础上,细化以下考虑因素
1。系统功能实现手段的软硬件分配。
2。器(部)件选择和系统构建。包括微处理器芯片、外围接口电路、各种驱动电路形式、器部件类型、前后向通道处理方式、人机界面和手段等。
3。控制算法设计以及软件系统的架构形式。
4。语言选择。依据设计者熟练程度和习惯、开发环境和控制功能要求选取。
5。抗干扰问题的解决与设计。包括软件的和硬件的、常规的和特定的。
6。实现工艺和方式。包括印制板设计、走线安装、装配工艺、新材料或新技术的应用等。
在各实施阶段,对项目进度、关键技术的风险因素必须进行审查评估,评价软一硬件的功能设计与分配,以及实现的技术性能、工作量和时间进度。明确电路之间的接口参数、软一硬件功能衔接,以及项目中存在的问题和缺陷,及时发现关键部位或矛盾突出点的瓶颈问题,将隐患排除在早期设计阶段。
(二)嵌入系统中微处理器选择应考虑
1。MCU的算术、逻辑处理能力;运算速度和时钟频率;总线控制功能、中断方式和仲裁机制;RAM和FLASHROM容量;软件加密保护。
2。外围接口功能的可重构配置能力;数据通讯模式;前后向通道类型;端口电压的适应能力等;
3。开发工具的在线调试或仿真能力;FLASH代码读写环境;编程语言的支持程度;代码的可移植性等。
4。电源电压;功耗等。
三、嵌入系统的软件特点
嵌入式系统是可利用资源有限、专用性很强、实时性要求也很高的应用控制系统。故在软件设计方法和实现手段上,嵌入系统软件同PC机软件存在很大差异,主要表现在:
(一)实时性的控制方法
PC软件提升速率方法,极大依赖处理器性能提升,还体现在缓存方案、动态分配等技术手段上。但在嵌入式系统中应用这些技术就存在硬件资源不足、工作频率低的现实问题,会降低系统的可靠性。
(二)特定的异构特征
嵌入式控制软件设计既要考虑特定的硬件固有部分,也要考虑来自系统之外的各种通讯、传感器的专用信号处理接口,以及不同控制目标的实时期望和执行机构的异步并发事件处理能力。因此不同的硬件系统或控制/文秘站-您的专属秘书,中国最强免费!/目标,将会产生不同的系统构建方案。
(三)系统的性能目标
浅析Linux嵌入式系统的应用 篇3
1、嵌入式系统是一种应用系统,它至少包含一个可编程的计算机[通常是某种形式的控制器、微处理器或数字信号处理芯片(DSP)]且使用该系统的人一般并未意识到该系统是基于计算机的。
操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源。为用户提供使用计算机及其外部设备的接口。它存在的目的是为了管理所有硬件资源,并且提供应用软件一个合适的操作环境。嵌入式系统由于硬件的先天限制,经常只具有极稀少的硬件资源。如时脉较少的CPU、较少的内存、常不具有磁盘而用小容量的DiskOnChip或DiskOnModule。而在使用电池的系统中,它还要实现节省电池消耗,延长电池使用时间的功能。
2、最初的嵌入式设备是单一用途的,它们拥有各自独特的显示方式和用户界面;而今天它们变成了我称之为“等同PC”的系统。它们必须运行很多相同的应用程序,它们需要采用相同的方式实现互连或是在某些情况下增强互连性。因此你可以看到在传统的实时操作系统(RTOS)之上建立应用程序的必要性。作为内部开发(in-house developed)操作系统的替代方式,RTOS的出现使得建立嵌入式应用变得更加容易。Liuux还具有很好的可靠性。传统的RTOS通常不具备强大的内存保护功能,这使应用程序很容易被破坏。
二、嵌入式linux在工业控制领域中的应用
基于嵌入式linux的工控系统以嵌入式微处理器为核心来运行嵌入式Linux操作系统。应用程序可通过网络进行更新,并可通过键盘进行人机对话,数据可通过LCD现场显示,重要数据可用文件形式保存在Flash等闪存存储器中;数据和报警信息可通过串口向上位机传输,也以通过以太网向工业以太网或Inernet发布,用户还可通过网络实现远程监控和远程维护。更为关键的是,可充分利用Interact上已有的软件和协议(如:ftp,http以及Apache,PHP,MySQL等应用程序)迅速搭建前台数据采集系统,以实现测控系统和后台管理系统的通讯。
这种方式的优点有:
(1)不需专用的通信线路即可用现成的INTER-NET网络将数据传送到任何地方。
(2)不仅能够传递数据信号,也可以传递音频和图像信号。
(3)由于目前的INTERNET协议是现成和公开的,因此,利用大到几十兆的Microsoft IE浏览器,或小到只有600kB的Mosaic浏览器都可以对网络数据进行读取。
三、Linux操作系统在移动设备领域的优势
首先,Linux属于开放的操作系统,它自身的技术文档甚至源代码都是开放的,因而在学术领域受到格外青睐,使得它对新技术,新协议有良好的适应性,
其次,由于Linux和Unix之间的相似性,使得许多对Unix熟悉的开发人员能够很快在相似的基于嵌入式Linux开发环境中进行开发工作。另外,由于Linux源码的开放性使得代码移植和重用变得相当普遍,基于嵌入式Linux平台的开发产品往往只花费较低的成本就能有很好的质量。这对于注重开发成本的公司无疑具有极大的诱惑力。
四、结束语
在嵌入式应用的领域里,从因特网设备到专用的控制系统,Lin-ux操作系统的前景都很光明。所有新造的微型计算机芯片中大约有95%都是用于嵌入式应用的。由于Linux功能强大、可靠、灵活而且具有伸缩性。再加上它支持大量的微处理器体系结构、硬件设备、图形支持和通信协议,这些都使它作为许多方案和产品的软件平台越来越流行。
参考文献:
[1]邹思轶,Linux嵌入式设计与应用[M],北京:清华大学出版社,2002
嵌入式系统应用研究 篇4
伴随着信息技术与嵌入式技术的发展,现代的远程监控技术已经走进我们的生活,可以说远程监控系统就是信息网络与控制网络结合的产物,它集现代计算机技术、通信技术、传感器技术、自动控制技术和人机系统技术等为一体,在许多领域有广泛的应用,如工业生产过程实时监控、动力设备集中监控、环境与安保集中监控、水利系统监控、图像远程监控、电力综合监控、综合网络监控、移动监控等。
1 嵌入式系统概述
1.1 嵌入式系统的定义
嵌入式系统本身是一个相对模糊的定义。从应用上来定义,可以叙述为:是“控制、监视或者辅助装置、机器和设备运行的装置”。当然,这仅仅是从一个方面来概括。目前国内普遍它被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的场合。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
1.2 嵌入式系统的特点
1)嵌入式系统是一个实现预定特殊功能的系统,它具有有限的资源(如内存、功耗、处理器速度、计算能力等)。通常,应用程序的运行将占用整个ROM的存储容量。这与一台具有普通处理器、支持多种应用程序的PC机是截然不同的。另外,嵌入式软件的应用范围较PC机丰富许多。
2)嵌入式系统具有自己的操作系统,一般为实时操作系统RTOS。RTOS的出现,很大程度上缩短了开发周期,减少了系统程序员的工作量,提高编程效率与程序质量,同时也加速了嵌入式产品的更新换代,而利用RTOS进行开发的嵌入式系统所带来的优越性是其他监控系统(如单片机、PLC等)无法比拟的。
3)嵌入式系统的CPU具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成到芯片内部,从而有利于整个系统设计趋于小型化。系统可靠性高,能适应冷热、振动、腐蚀等各种变化,因此特别适用于需要在恶劣环境下工作的监控系统。
通过上述对嵌入式系统的分析,可以使我们很容易的了解到,嵌入式技术在监控系统中应用的优越性是其他监控系统所无法比拟的。对此,本文从嵌入式监控系统入手,结合WEB技术实现远程监控的目的。
2 基于嵌入式WEB技术的远程视频监控系统
基于嵌入式WEB技术的视频监控系统结合了先进的WEB技术与嵌入式技术,其服务器采用嵌入式技术实现,通过WEB方式实现服务器端与客户端的信息交互。本文所述监控系统的硬件结构如图1所示:
系统由现场设备、嵌入式WEB服务器、传输网络和监控端组成。现场设备包括摄像头和一些测控单元,用于采集现场的数字视频信息和各种开关量、模拟量信息。嵌入式服务器是整个监控系统的核心部分,其硬件由CPU芯片、Flash芯片、内存、网络接口以及一些数据采集卡组成。主要功能包括:实现现场视频信息的直播和点播;采集现场设备信息并进行相应处理,为监控端提供WEB访问页面;对监控端的访问进行有效性、安全性检查;响应监控端的请求,为监控端提供所需信息;接收监控端的控制信息,经过软硬件转换对现场设备进行控制,如控制摄像头的转动、启动现场的报警装置等。每个服务器有自己的IP地址,在监控端可通过通用浏览器界面访问服务器,一个服务器可同时为多个监控端服务。为了实现视频点播功能,需要存储大量的视频图像信息,由于嵌入式服务器体积小,故增加了可选择的外接存储设备。监控端的功能是显示现场视频和状态信息,并根据需要向服务器端发出各种信息请求以及对现场设备的控制信号。一个监控端也可以同时访问多个服务器。
3 服务器的软件设计
3.1 系统软件
系统软件包括操作系统与设备驱动程序。
嵌入式操作系统是支持嵌入式系统应用的操作系统软件,是在系统实时性、硬件相关性、软件固态化等方面有着突出特点的专用操作系统。本系统采用嵌入式LINUX操作系统,它是在根据系统需要对LINUX操作系统进行小型化裁剪的基础上实现的。使用LINUX的优势在于:其操作系统的源代码是开放的,可根据需要进行定制;系统内核小,因而对硬件的要求相对要低;支持多任务多进程,能提供较好的实时性。由于系统信息处理量大、实时性要求高,操作系统的存储调度、进程管理、文件管理等都要求采取高效可行的策略。本系统是一个专用计算机系统,用于测控的板卡有些是根据需要自行定制的,因此编写相应的驱动程序也是必不可少的环节。
3.2 应用软件
服务器的应用软件结构如图2所示:
3.2.1 视频服务器
视频服务器是整个服务器的核心部分。主要包括以下几个模块:
3.2.1. 1 视频压缩编码模块
主要功能是实现对视频信息的压缩和编码。根据网络带宽、拓扑结构以及对图像质量的要求,本系统选用基于MPEG-2标准的分层可扩展性编码方案。
实时采集模块将获取的视频信息存放在待编码视频缓冲队列中,等待视频压缩编码进程对视频信息进行压缩和编码处理,视频压缩编码进程将编码后的视频存放到已编码视频缓冲队列中,同时激活或等待直播进程和存储管理进程进行相应处理。
3.2.1. 2 存储管理与调度模块
存储管理模块的主要功能是将压缩和编码的视频信息根据一定的策略存储至磁盘中特定的区域。本系统采用等长分组存储策略。即将视频信息按照时序关系分割成若干数据单元,这些数据单元称为分组,将每个分组存储于一个大小固定的存储单元内。
存储调度模块的主要功能是响应视频调度模块的请求,按照一定的磁盘调度策略和优先级顺序从磁盘中读取信息至内存缓冲区。由于采用等长分组存储策略,因此系统的磁盘调度直接采用简便快捷的线性调度算法。
3.2.1. 3 视频调度与传输模块
视频调度与传输模块共同协作,为监控端提供所需的视频信息。视频传输模块根据所采取的网络传输与控制协议与监控端建立连接,监听监控端的请求;视频调度模块根据不同的服务类型采取相应的调度策略创建视频流,传递给视频传输模块;视频传输模块再将数据分组、打包,发送到监控端,并根据路由器和监控端反馈的网络状态信息进行差错处理和拥塞控制。本系统对于点播信息采用单播传输方式。视频调度采取先来先服务的策略,对于每一个点播请求单独生成一个视频流。直播信息采用分层组播方式。这种方式避免了数据的重复发送,节省了网络带宽,非常适合于直播视频流的传输。分层组播的基本思想是发送方将每一层的压缩视频发送到一个组播组中,接收端根据自己的网络带宽状况接收基本层数据和多个增强层数据,从而获得不同质量的视频。
本系统采用的网络传输协议使用RTP/UDP/IP模型。RTP协议是一种提供端对端的实时媒体传输服务的协议,由实时传输协议RTP和实时传输控制协议RTCP两个部分组成。RTP用于多媒体数据的传输,而RTCP用来监控实时数据的传输。RTP的数据包头的数据结构非常适合媒体数据的封装和描述。RTP协议不规定负载的格式和大小,因而具有很大的灵活性。RTCP协议为媒体流化的管理提供了平台,利用RTCP的数据结构可以很好地监控信息传输状况,实现流量及拥塞控制。RTP本身并不具有独立传输数据的能力,而是必须和低层的网络协议结合使用,对于IP网络,通常是和UDP协议结合。UDP协议采用无连接的传输方式,适用于对实时性要求高、允许有一定丢失率的视、音频实时数据的传输。视频数据流在传输时被划分为块,视频数据块依次经过RTP、UDP、IP协议的封装,最终成为相对独立的网络数据包提交给网络传输媒体。RTP/UDP/IP的方式兼顾了视频传输的实时性与Qo S保证。由于传输网络状况的不确定性,还必须采取一定的拥塞控制和差错控制策略。针对本系统采用的分层可扩展性编码方法,选择了基于收端的速率控制方式进行拥塞控制。由客户端根据网络状态增加或减少信道数量,一般最少保证基本层视频信息的接收。服务器端编码部分固定不变,只是在发送层参与调整,这种方式减轻了服务器的负担。差错控制方面,为简化服务器的设计,选择采用误码掩盖的方法,即采用空间上相邻的宏块来取代出错的宏块,或利用前一帧相同位置或运动矢量指向的位置信息来取代出错位置的信息。
3.2.2 实时采集/控制模块与测控信息处理模块
实时采集/控制模块是指系统各种外设的实时采集模块和实时控制模块,它们相对独立,采用多线程的方式实现与底层设备驱动程序的信息交互。实时采集模块由一系列设备的采集模块组成,在操作系统启动时加载。在服务器运行期间始终驻留内存运行,定时轮询设备端口状态,获取设备端口的数据信息,并激活或提交给相应的处理模块。对于视频数据,将其加入视频编码缓冲队列,由视频压缩编码模块处理;现场状态信息送交测控信息处理模块处理。测控信息处理模块在WEB服务器和实时采集/控制模块之间提供了信息的过滤和转换功能。实时控制进程根据处理后的设备信息和控制信息调用相应设备的驱动程序对设备进行控制。
3.2.3 WEB服务器
WEB服务器通过HTTP协议与监控端浏览器软件进行信息交互,提供服务器应用程序模块的访问界面和现场设备的信息访问和控制界面。除此以外它还要对监控端的访问权限进行控制,过滤监控端的请求和控制信息,处理多个监控端的请求和控制的同步和优先级问题,从而保证系统的安全性和稳定性。监控端通过WEB页面激活服务器的相应应用程序模块,传递信息服务请求和控制命令。本系统采用Apache Server。Apache Server是一个功能强大的开放源代码的WEB服务器软件,可灵活定制,服务器程序本身所占空间很小,因而十分适用于嵌入式系统。
4 结束语
随着信息化,智能化,网络化的快速发展,嵌入式系统应用也将获得更广阔的空间。未来的嵌入式系统必然是要与网络接轨,因此,本文对于嵌入式WEB技术的远程视频监控系统研究是具有深远意义的。
摘要:近年来,随着计算机技术及集成电路技术的发展,嵌入式系统的应用也日益普及,在各行各业发挥着重要作用。尤其在监控系统中的应用较为广泛,本文首先对嵌入式系统进行了了解,然后结合WEB技术实现了远程监控系统设计。
关键词:嵌入式,监控系统,WEB
参考文献
[1]林建民.嵌入式操作系统技术发展趋势[J].计算机工程,2001(10).
[2]涂刚,阳富民,胡贯荣.嵌入式操作系统综述[J].计算机应用研究,2000(11).
[3]彭涛,李声晋,芦刚,邵瑜.远程设备监控系统中嵌入式Web服务器的设计[J].机械与电子,2008(1).
[4]黄天戍,余智欣,袁学文.新型嵌入式Web服务器系统的设计与研究[J].计算机工程,2005(11).
嵌入式系统应用与学习心得体会 篇5
μC/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息 队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。它是一个完整的、可移植、可固化、可裁剪的抢占式实时多任务内核。μC/OS-II绝大部分的代码是用ANSII的C语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器使用。至今,从8位到64位,μC/OS-II已在超过40种不同架构上的微处理器上运行。μC/OS-II已经在世界范围内得到广泛应用,包括很多领域,如手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制上。实际上,μC/OS-II已经通过了非常严格的测试,并且得到了美国航空管 理局的认证,可以用在飞行器上。这说明μC/OS-II是稳定可靠的,可用于与人性命攸关的安全紧要系统。除此以外,μC/OS-II 的鲜明特点就是源码公开,便于移植和维护。
我们在学习μC/OS嵌入式实时操作系统时用的教科书是任哲编著的 《嵌入式实时操作系统μC/OS-Ⅱ原理及应用》,这本书介绍了嵌入式实时操作系统μC/OS-Ⅱ内核的任务管理和调度、系统时钟和节拍服务、时间管理、中断、任务的通信和同步、内存的简单管理原理,同时给出了实例。最后,还介绍了μC/OS-Ⅱ的移植方法。
在多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通讯。内核提供的基本服务是任务切换。之所以使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核本身也增加了应用程序的额外负荷,代码空间增加ROM的用量,内核本身的数据结构增加了RAM的用量。但更主要的是,每个任务要有自己的栈空间,这一块吃起内存来是相当厉害的。内核本身对CPU的占用时间一般在2到5个百分点之间。μC/OS-Ⅱ有一个精巧的内核调度算法,实时内核精小,执行效率高,算法巧妙,代码空间很少,具有如下特点:只支持基于优先级的抢占式调度算法,不支持时间片轮循;64个优先级,只能创建64个任务,用户只能创建56个任务;每个任务优先级都不相同;不支持优先级逆转;READY队列通过内存映射表实现快速查询;效率非常高;支持时钟节拍;支持信号量,消息队列,事件控制块,事件标志组,消息邮箱任务通讯机制;支持中断嵌套,中断嵌套层数可达255层,中断使用当前任务的堆栈保存上下文;每个任务有自己的堆栈,堆栈大小用户自己设定;支持动态修改任务优先级;任务TCB为静态数组,建立任务只是从中获得一个TCB,不用动态分配,释放内存;任务堆栈为用户静态或者动态创建,在任务创建外完成,任务创建本身不进行动态内存分配;任务的总个数(OS_MAX_TASKS)由用户决定;0优先级最高,63优先级最低;有一个优先级最低的空闲任务,在没有用户任务运行的时候运行。
任务的调度核心主要是在任务就绪表中查找具有最高优先级别的就绪任务及实现任务切换,即将找到的的最高优先级别的任务的“任务号”---> “当前任务的任务号OSPrioCur”;从OSTCBPrioTbl[]取出最高优先级别任务的任务控制块首地址---> “当前任务的任务控制块指针OSTCBCur”,最后调用OS_TASK_SW()完成现场切换(即将CPU的寄存器信息保存到当前正运行任务的私栈中,然后从待运行的高优先级别的任务私栈中弹出原先保存寄存器信息到CPU)。
时钟节拍服务放到一个时钟节拍任务中完成,通过采用啥希散列表机制来管理延时任务,每次时钟节拍服务只需要处理极少数的延时任务,从而大大减少了时钟节拍服务花费的时间,提高了系统的实时性。
另外,在μC/OS系列RTOS中,时钟节拍服务除了会跟踪延时的任务,还会跟踪那些指定了超时时限的等待任务。也就是说,当指定的超时时限结束时,即使任务等待的事件没有发生,时钟节拍服务也会使该任务恢复运行。
uC/OS-II的时间管理是通过定时中断来实现的,该定时中断一般为10毫秒或100毫秒发生一次,时间频率取决于用户对硬件系统的定时器编程来实现。中断发生的时间间隔是固定不变的,该中断也成为一个时钟节拍。
uC/OS-II要求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相关的系统函数,例如中断级的任务切换函数,系统时间函数。
uC/OS-II 中最多可以支持64 个任务,分别对应优先级0~63,其中0 为最高优先级。63为最低级,系统保留了4个最高优先级的任务和4个最低优先级的任务,所有用户可以使用的任务数有56个。还提供了任务管理的各种函数调用,包括创建任务,删除任务,改变任务的优先级,任务挂起和恢复等。
系统初始化时会自动产生两个任务:一个是空闲任务,它的优先级最低,该任务仅给一个整形变量做累加运算;另一个是系统任务,它的优先级为次低,该任务负责统计当前cpu的利用率。
想使用在MCU上使用μC/OS-II则必须满足以下几个条件:①处理器C 编译器支持可重入代码的生成;②用C 语言可以打开和关闭中断;③ 处理器支持中断,并能产生定时中断(中断频率通常设置在10~100 Hz 之间);④ 处理器支持足够的RAM 空间,以满足多任务环境下设置任务堆栈的要求;⑤处理器有相应的指令,能将堆栈指针和其它CPU 寄存器读出和存储到堆栈或内存中。μC/OS-II代码中大部分是用C语言写的,但涉及到数据类型的重定义、堆栈结构的设计、任务切换时状态的保存和恢复等问题的大部分代码由于与处理器有关,是用汇编语言实现的。移植所要做的工作,就是在不同的处理器上用汇编语言来改写与处理器有关的代码及其他与处理器特性相关的部分。
在μC/OS-II移植过程中涉及以上问题的代码都包含在文件OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM中。因此移植的主要工作也在源代码的基础上围绕着这三个文件的改写展开。
总之,学习μC/OS嵌入式实时操作系统首先得先了解整个系统的结构,工作时的流程,比如任务1运行时如果有外部中断会发生什么(调用中断服务程序,把相应的任务加如就绪列,内核进行调度,就绪队列中的最高优先级的任务...)等,再对代码进行具体的研究会比较容易。
我们需熟知μC/OS嵌入式实时操作系统中的函数及其应用,例如引起任务调度的系统函数有OSStart()uCOS/II启动 ;OSTaskSuspend()挂起任务 ;OSTaskResume()恢复任务 ;OSTimeDly()/OSTimeDlyHMSM()等待一个事件的发生等。只有在熟识系统运行的方式及可以引发其运行的函数的情况下我们才能较好的去运用它,用它来实现移植,从而达到我们的目的。
学习实时操作系统,任哲编著的 《嵌入式实时操作系统μC/OS-Ⅱ原理及应用》这本书相对来说比较适合初学者,它篇幅适中,通俗易懂,若能结合北京航空航天大学《ucosii操作系统讲义》就更加好了。
嵌入式系统应用课程教学方法实践 篇6
关键字: 网络 多媒体技术 嵌入式系统 应用课程 教学方法
DOI:10.3969/j.issn.1672-8289.2010.09.052
随着信息化,智能化,网络化的发展,嵌入式系统技术也获得了广阔的发展空间。嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。它的发展给社会带来了巨大的经济效益,与此同时,社会对嵌入式专业人才的需求也逐步扩大。据有关部门不完全统计,国内每年嵌入式系统技术人才紧缺达40多万人左右[1]。
为社会培养人才正是高校办学的宗旨,嵌入式系统作为一个新兴的技术领域,正逐渐成为许多高校的重点建设课程,如何尽快培养出满足社会发展需要的各种嵌入式技术高级人才,是高校从事嵌入式技术教学的老师必须面临的问题[2]。已有嵌入式系统教育工作者在嵌入式系统教学现状[3]和教学模式[4]方面做了一些研究。
但对嵌入式系统教学方法的研究也不容忽视,好的教学方法会起到事半功倍的效果。嵌入式系统可以认为是软件和硬件的综合体,它涉及计算机体系结构、操作系统、微机原理、接口技术、计算机编程等诸多知识内容,是一门综合性和实践性都很强的课程。如何有效的提高课堂教学效果,达到预期的教学目标,是高校教师应该思考的问题。
1 嵌入式系统应用课程设置
嵌入式系统应用课程[5]是整个嵌入式系统教学中最重要的部分,其设置的合理性,直接关系到嵌入式系统教学的成败。嵌入式系统应用课程的设置要具有针对性,下面就这一问题从以下四个方面进行讨论。
(1) 嵌入式微处理器的选择
嵌入式技术发展到今天,嵌入式微处理器的种类也日益繁多,单从嵌入式微处理器的架构来讲,目前市场上流行的就有ARM、MIPS、PowerPC以及68000等架构。
但在高校教学领域推广十分广泛的就属ARM架构嵌入式微处理器,它是由ARM(Advanced RISC Machines)公司推出的32位RISC处理器。毫无疑问,ARM芯片嵌入式微处理器中的佼佼者,是很多数字电子产品的核心。如95%的手机里面的核心处理器使用的都是ARM芯片,而ARM在整个手持市场上占有90%以上的份额,这是一个惊人的比例。目前,全球已有超过700多家的软硬件系统公司加入了ARM Connected Community,其中中国本土公司也已有超过70多家公司加入了ARM生态伙伴系统[6]。
而且ARM公司提供了一套完整的产业链,确保了ARM芯片的开放性和通用性。因此,高校开设嵌入式系统专业课程,ARM芯片应是首选的学习对象,其相关的学习资料和开发工具较多。比如三星公司ARM7内核的S3C44B0X,以及ARM9内核的S3C2410等。
(2) 嵌入式操作系统的选择
嵌入式操作系统是嵌入式系统的灵魂,它使得嵌入式系统的应用更加广泛。目前在市场上流行的嵌入式操作系统多达十几种,常见的有uC/OS II,ucLinux,Arm-Linux,Windows CE,VxWorks,Palm OS,Symbian,Windows Mobile,Android等等。
在嵌入式系统教学上,应从市场对人才需求来考虑,这里建议选择Linux操作系统作为教学内容。因为该操作系统是内核代碼开源的,可以免费下载使用。可根据应用情况进行内核裁剪,具有很好的移植性。
(3) 实验平台的选择
嵌入式系统实验平台是嵌入式系统教学不可缺少的教学资源,目前推广嵌入式系统实验教学平台的公司也比较多,比如北京博创兴业科技有限公司、英蓓特信息技术有限公司、亿道电子技术有限公司等。
每个公司所推出的实验平台有所不同,主要是所采用的处理器平台、操作系统平台、以及外围硬件资源的不同。在教学实验平台的选择上,应根据教学培养目标来进行选择。建议在嵌入式系统基础实验上要重点考虑。
(4) 应用课程教材的选择
在嵌入式系统教学中,嵌入式系统应用课程教材的选择也尤为重要。目前市场上关于嵌入式系统的教材可以说是琳琅满目、百家争鸣。选择一本合适的教材,对于学生学习和掌握嵌入式系统起着关键的作用。如果所选教材太难,或者太简单,那么学生会觉得学习起来没有意思,缺乏激情。所以,教材内容的难易度,要根据教学目标和学生的实际情况来进行选择,并且应与嵌入式系统实验平台相配合,通过实验加深对知识的理解和掌握。
2 传统的教学方法
嵌入式系统应用课程是嵌入式系统专业的核心课程,它具有综合性强和实践性强的特点。不仅在课程设置上对教学提出了挑战,更是在教学方法上提出了更高的要求。采用何种教学方法以达到较好的教学效果,成为了嵌入式系统教学成败的关键。
教学方法是指教师在教学过程中为完成教学目的、任务而采取的活动方式的总称。但它不是教师孤立单一的活动方式,它包括教师“教”的活动方式,还包括学生在教师指导下“学”的方式,是“教”的方法与“学”的方法的统一。
讲台—实验室教学方法是一种传统的教学方法,它注重的是在新知识的传授过程中,以老师讲授为主,老师的注意力集中在自己“教”的内容上,而无暇顾及学生实际“学”的情况。而是教学之后,通过实验来巩固所学知识。在这样的教学过程中,学生就会觉得十分乏味,以致对嵌入式的学习产生厌倦的情绪。而且,学生在真正做实验的时候,已经是很被动的去完成相关任务,而失去了挑战新知识的动力。
3 一种新的教学方法
改进教学方法[7],提高教学质量是教育界一直都关注的问题。面对嵌入式系统应用课程综合性和实践性的特点,传统的教学方法显得心有余而力不足。高校培养合格的嵌入式技术人才是高校办学的宗旨。结合嵌入式系统应用课程特点和学院实际情况,通过研究讨论,提出了一种创新型的教学方法——网络多媒体技术教学方法,该教学方法有别于一般的多媒体教学法。
如何有效地组织实施该教学方法,是获得理想教学效果的关键。下面从三个方面来阐述这种新的网络多媒体技术教学方法的实施步骤。
(1) 网络多媒体环境的布置
网络多媒体环境的布置是这种新型的教学方法有效实施的前提。如图1所示为网络多媒体环境的平面图。第一,要构建一个局域网络。在这个局域网络里,以教师机主机控制端、学生机为受控端,安装好“红蜘蛛”多媒体教学软件;第二,要组装好嵌入式系统实验平台。要求在教师和每一位学生座位上组装配置好实验教学平台;第三,要在教师机配有扩音器和话筒。
(2) PPT课件的制作
PPT课件的制作,在形式上要新颖、多样化,给学生以一定的视觉冲击,以防止学生视觉单调而疲劳乏味;在内容上要结合课本、联系实际,给学生带来除课本之外的知识享受。
(3) 示例演示与互动
嵌入式系统课程是一门应用性、实践性很强的课程。所以在教学过程中,要特别注意示例演示,以加强学生对新知识的理解和掌握。并要考虑学生的主体地位,留有一定的时间给学生,让他们自己动手操作。
该新的教学方法,教师和学生都可以处于主体地位,教师在传授新知识过程中,以边讲边操作的方式进行,让学生能够直观的理解知识难点。学生也可以在课堂剩余的时间里,对新知识进行验证理解。
4 两种教学方法的对比
我们对嵌入式系统课程教学进行了研究讨论,并对上课的184名学生进行调查统计,得到表1所示的统计数据。
从这些数据表明,网络多媒体教学方法在嵌入式系统教学上是可行的,也是十分有效的。
5 结束语
随着嵌入式应用的迅猛发展,企业对嵌入式人才需求的缺口越来越大,越来越多的高校开始加强嵌入式系统的教学和科研,培养更多的适应社会需求嵌入式系统人才。嵌入式系统应用课程教学是嵌入式系统教学的核心,针对嵌入式系统应用课程的特点,本文在讨论了如何设置嵌入式系统应用课程的基础上,讨论了传统教学方法在嵌入式系统应用课程教学中的不足,并提出了一种新的教学方法,教学实践证明,该教学方法获得了显著的教学效果。该教学方法具有一定的参考价值,可以在其它高校进行推广和借鉴。
参考文献
[1] 中国教育培训行业发展趋势研究报告[R]. http://www.hdcmr.com/34587.pdf.
[2] 刘国梅.浅谈普通高校的嵌入式系统教学[J].中国科技信息. 2008(20).
[3] 李岩,王小玉,孙永春.嵌入式系统教学研究[J].电气电子教学学报.2006(03).
[4] 马忠梅.嵌入式系统教学模式探讨[J].单片机与嵌入式系统应用.?2008(11).
[5] 毕春越.计算机专业嵌入式系统教学模式探析[J].教育与教学研究.2008(04).
[6] 2010年ARM技术研讨会(上海/北京/深圳)[C].http://www.arm.com/chinese/.2010.
[7] 雍克勤.?基于现代科学技术发展下的高等学校教学方法改革研究[J].兰州大学报.2007.
作者简介:
谭华(1983-),男,助教,硕士研究生,研究方向为嵌入式系统应用、形式化方法、模型检验;
嵌入式系统稳定性的研究及应用 篇7
稳定性是嵌入式系统的生命线,而实验室中的嵌入式产品在调试、安装并测试通过后投放到实际应用后,往往还会出现很多故障和不稳定的现象。国内很多电子产品卖不到好价格,很大的原因就是它的稳定性没有充足的保障。许多文章也都从各种不同的角度揭示和解决嵌入式系统的稳定性问题,都做了比较细致的研究,提供了许多解决办法。使用这些方法和措施确实能够解决工程实践中的很多问题,但是嵌入式系统是一个综合了软件和硬件的复杂系统,单单依靠哪个方面都不能完全的解决其抗干扰问题,只有从嵌入式系统硬件、软件以及结构设计等方面进行全面的考虑,综合应用各种抗干扰技术来全面应对系统内外的各种干扰,才能有效提高其抗干扰性能。
笔者曾主持研发用于多型号电动车辆的电机控制系统,过程中遇到很多稳定性问题,阅读了大量有关抗干扰技术的文章,很难找到一篇从软硬件综合角度来考虑该问题的文章。通过具体项目的开发与实践,笔者从实际中发掘各种抗干扰技术的特点与适用条件,取得了宝贵的经验,并对有些抗干扰技术作了深入的研究,提出了新的稳定性问题的解决办法,在综合应用中取得了成功,确实提高了产品的稳定性能。为了把经验推广,本文结合自己的项目开发经历和体会,从实践角度对之进行了总结和梳理,希望能够对读者有所帮助。
1嵌入式系统的干扰源及影响
干扰源是产生干扰的元件、设备或信号。根据干扰窜入嵌入式系统的渠道不同,嵌入式系统的干扰源主要分为三类:一是空间电磁场干扰。多发生在高电压、大电流、高频电磁场附近,并通过静电感应、电磁感应等方式侵入系统内部;二是信号传输通道干扰。通过输入输出通道进入系统,影响大且危害重;三是供电系统干扰。由电源的噪声干扰引起。
这些干扰源往往对嵌入式系统如下三个部位的稳定性带来影响:
(1) 对控制系统内核的影响 干扰使微处理器内核总线上的数字信号出错,程序计数器PC发生错误后,导致程序“跑飞”,也可能导致程序陷入死循环和误操作等。
(2) 对系统输入通道的影响 干扰叠加在输入信号上,使数据采集误差增大。
(3) 对系统输出通道的影响 干扰耦合在输出信号上使输出信号混乱,导致误操作,并有可能引发严重事故。
因此,抗干扰设计已成为嵌入式系统研制过程中不可忽视的内容。
2嵌入式系统抗干扰技术综述
嵌入式系统的抗干扰设计主要包括硬件和软件两个方面。在硬件方面通过提高硬件的性能和功能,能有效地抑制干扰源,阻断干扰的传输信道,这种方法具有稳定、快捷等优点,但会使成本增加。而软件抗干扰设计采用各种软件方法,通过技术手段来增强系统的输入输出、数据采集、程序运行、数据安全等抗干扰能力,具有设计灵活、节省硬件资源、低成本、高系统效能等优点,且能够处理某些用硬件无法解决的干扰问题,如电磁干扰引起的程序失控跑飞、数据窜改等。常见的软件抗干扰技术有:指令冗余、软件陷阱、软件拦截、看门狗、数字滤波等。本文结合自己的应用实践经历,对软件抗干扰的主要措施进行了研究和总结,主要从主控芯片本身以及通信、输入和输出等4个方面来阐明。
3保证CPU运行的稳定性
CPU指令由操作码和操作数两部分组成。CPU取指令时先取操作码后取操作数。当程序计数器PC因干扰出错时,程序便会跑飞,引起程序混乱失控,严重时会导致程序陷入死循环和误操作。为了避免这样的错误发生或者从错误中恢复,通常使用以下稳定性设计方法:
3.1指令冗余
单字节指令由于其只具有操作码而无操作数,即使程序跑飞也能实现正确的指令解析。若PC被弹飞到某条单字节指令上,则可自动纳入正轨,但若被弹飞到多字节指令上,就很可能把操作数当成操作码而引起误操作。而且,程序跑飞后可能进入死循环、窜改RAM中数据、破坏输入输出状态,甚至导致不再响应中断。因此,对于各种异常情况,首先需要尽快将程序引入正常的工作状态。通常在双字节指令和三字节指令后可插入两个字节以上的NOP,这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,使程序自动纳入正轨。
因此,在某些对系统工作状态至关重要的指令,特别是在对程序流向起决定作用的指令之前可插入两条NOP指令,以保证弹飞的程序可迅速纳入正常。此外,在由单片机或DSP等构建的嵌入式系统中采用多字节指令时,在关键位置插入几个单字节空指令NOP或将有效单字节指令重复,可解决大部分情况下指令解码紊乱的问题。
但加入过多冗余指令会降低程序正常运行的效率。因此,为了增强程序的可靠性,可以尽量多采用单字节指令,少用多字节指令,并采用指令冗余技术。
3.2软件拦截技术
随着芯片集成度的提高,很多处理器内部可集成较大空间的Flash ROM,并可进行扩展,如MCF52233等。这样,在系统中会剩余大量未使用的存储空间,对单片机而言,未用的ROM空间数据保持为全FF;对不同指令系统来说,它将代表不同的操作,当程序受干扰而跑至该区时,就依次执行该“指令”或形成死循环。针对这种情况,可采用软件拦截技术。
软件拦截就是用引导指令将捕捉到的乱飞程序引向正常位置处(如出错处理过程、复位入口地址等),在此处将程序转向专门对程序出错进行处理的程序,使程序纳入正轨。实现的方法可在程序存储器的未使用区域中加上几条空操作指令和无条件跳转指令,无条件跳转指令转向出错处理过程或复位入口地址。例如:“JMP ERROR”指令,ERROR为错误处理程序的地址标号;另外,为了加强捕捉效果,可在其前面加两条NOP,以进行指令同步。软件拦截陷阱通常设置在以下3种位置:未使用的中断向量区、未使用的Flash ROM区、用户程序区。
中断向量区应设置为各中断服务程序的入口地址,当干扰触发未发生的中断事件或程序指针跑飞到此区时,可引起没有发生中断却执行相应中断服务程序的混乱。对此,可在中断向量区两种位置设置陷阱指令:(1) 在未使用的中断向量处设置陷阱,引导被触发的未使能中断进入错误处理过程,最简单的办法是,用空处理函数首地址指针填充相应向量表项;(2) 在使用的中断向量跳转指令前设置陷阱,捕捉非正常调用中断服务的程序指针,或在进入中断处理例程之前,查询相应中断标志,以判别该中断是否确实发生,并依此决定是否进入中断服务处理或进入陷阱处理。
在未使用的Flash ROM区,每间隔特定的空间就应该设置软件陷阱,推荐至少每1K的存储空间设置1~3个软件陷阱,对于实时性要求高的嵌入式系统,可设置更多的陷阱或用软件陷阱来填满所有未使用的Flash ROM区。
程序区是由用户的功能指令构成,不能在其中随意安置陷阱。但是,在用户指令中存在某些断裂点,正常的程序是执行不到的,而是按照设计要求跳转执行,如遇到指令JMP、BRA等指令时。当跑飞的程序落到断点的操作数上或前面指令的操作数上,程序将出现运行错误。对此,可采用模块化程序设计,在程序各模块之间的断点处安置指令冗余或软件陷阱,这样,程序正常运行时不会进入陷阱,只有出现跑飞等异常时,才进入设定的陷阱。
软件陷阱使跑飞程序自动恢复正常同样是有条件的,即弹飞的程序必须落到程序区且能够执行到软件陷阱处。因此,软件陷阱同指令冗余一样,只能有限地解决系统软件的抗干扰问题,对于程序陷入死循环或跑飞至其他位置等情况,同样无法处理。
3.3程序数据保护
程序在初始化和运行过程中产生的数据有时十分重要。通常将系统数据存放在片内RAM区,内部RAM存储空间不够时,可使用片外扩展RAM。当CPU受到干扰时,就有可能窜改RAM区数据,破坏系统的执行状态。针对程序执行过程RAM区数据保护,有以下3种方法。
1) 读写时用条件陷阱保护RAM区数据
在对RAM区存储单元进行写操作之前设置条件陷阱,在进行正常写操作时,不会进入陷阱;若CPU受到干扰,程序跑飞试图窜改数据时,会因不满足写条件而进入陷阱,程序将被引导至错误处理过程,或形成死循环被看门狗复位。
这种数据保护方法灵活可靠,不占用更多的RAM空间,为了增强其保护效果,可设置几个片内存储标志单元,在对RAM数据读写之前进行多次的条件判断,它的唯一不足之处是在系统断电时,不能实现数据的保护。
2) 软件冗余备份保护RAM区数据
在RAM区有多余的存储空间时,可采用软件冗余方法将重要的数据块存储备份至RAM区的不同空间,如对0x0000~0x00FF、0x0100~0x01FF、0x0200~0x02FF这3个同样大小的存储空间重复存放同样的数据块。存储数据时,对各区分别写入;读取数据时,对各区数据先进行检查,对于被窜改的数据进行修正,再读取正确的数据。这种数据保护方法的可靠性高,其缺点是以牺牲有限的RAM空间来换取数据读写的可靠性能,在RAM空间显得紧凑时,不推荐采用此方法,同样,它也不能实现系统断电数据保护。
3) 片内Flash或外部EEPROM存储备份保护RAM区数据
EEPROM(电可擦除可编程只读存储器)的最大特点为可在线编程实现数据的读与写,且在断电情况下数据不丢失,重复擦写次数多达10万次以上,且性能稳定、可靠性高。片内Flash实际上也属于EEPROM的一种,只是因为嵌入式应用的特点,它被集成在芯片内部而已。对单片机或DSP等微处理器进行片外EEPROM扩展,并通过编程实现对其数据的读写,将重要数据保存至EEPROM,这样即使嵌入式系统受到干扰也无法窜改数据。用这种方法进行数据保护,可靠性能最高,且能在断电情况下实现数据备份,不足之处是在系统运行期间,对EEPROM数据的读写占用CPU的开销增加,增加了系统硬件成本,而在这一点上片内Flash就显得更有优势了。
3.4EEPROM和自定义的数据表格区的保护
在某些嵌入式应用中,EEPROM或片内Flash通常用来存放用户程序和系统参数,同时它们又都可在线编程,在用户程序中往往包含对它们的擦写程序,故而程序跑飞时,极有可能因错误的执行擦写程序而破坏用户和数据表格区。对于这类问题,可在擦写程序处设置条件陷阱,也可用软件冗余备份的方法来实现保护。
3.5计算机操作正常监控(看门狗)
如今的单片机基本上都集成了计算机操作正常监控模块COP(Computer Operating Properly),有时又叫看门狗WTD(Watch Dog)系统。它利用片内独立运行的计时器来监控系统的运行,程序在正常运行时,用户程序令CPU定期向看门狗模块发出清零复位信号使计时器重新计时,即所谓“喂狗”,如果系统程序跑飞或发生死循环,计时器就会因无法清零而很快到达计时溢出设置的值,这样片内硬件将激发看门狗复位,从而使整个单片机系统重启。下面以S08系列单片机为例说明看门狗功能的使用方法。
在系统初始化期间调用下面函数使能看门狗功能:
系统重启则意味着一切从头开始,在正常研发过程的早期,不推荐使用看门狗功能,不然遇到问题很难定位,只有在产品开发临近结束时为保证产品定型后的稳定性才加入该功能。
看门狗监视技术可由软件或硬件实现。在软件看门狗模块没有集成到芯片内的时候,硬件看门狗其实已经出现。下面给出一个典型的硬件实现原理图。如图1所示,GPIO为单片机的普通I/O口,RST为复位引脚,低有效。在正常情况下运行在MCU内部的软件须通过GPIO口向外输出特定频率的方波,以使得比较器的同相端电平高于反相端,这样,RST-OUT的输出为高电平,不会引发系统复位;但若运行的系统软件出现跑飞等故障后,由于GPIO口无法向外输出特定频率的方波,以致于同相端电平低于反相端而使得RST-OUT的输出为低,从而引发系统复位。
用软件实现看门狗技术,可降低系统成本,但需注意的是,有的MCU或DSP设置有软件看门狗复位指令,如HCS08系列,而有的单片机则没有软件看门狗复位指令,这时,只能用跳转指令指向系统程序入口模拟软件看门狗复位,并注意清除中断激活标志等环境参数。
3.6定期自动复位系统
嵌入式系统长时间运行后,也会出现进入死循环等类似死机现象,这通常都会被系统看门狗复位。这些情况都是不得不干预的极端情况,而另外有些情况则不然,即程序还能正常运行,但系统参数(如RAM或系统寄存器中的信息)往往因电磁干扰等非法原因被篡改而进入一种“亚健康”状态,这种情况则潜伏着某种“危机”,一旦这种危机被触发或放大,也会引起系统崩溃,而这种情况恰好是看门狗所“看”不住的。故而,很有必要在系统运行中,由软件定期主动复位整个系统,以保证其继续正常运行。
使用软件复位的方法有以下几种。
1) 强制看门狗复位
这是最简单的软件复位方式,即用程序方法产生死循环,然后主动等待看门狗复位。
void ForceReset(void)
{
DisableInterrupts(); //禁止所有中断
for(;;); //等待看门狗复位
}
这种方法要求事先必须启动看门狗功能,而且复位过程也将有少许延时,对实时要求较高的系统不宜使用。
2) 非法寻址复位
当指令对某个不存在的内存空间进行寻址操作时某些单片机会产生硬件复位。例如:
void ForceReset(void)
{
//跳转至非法地址将引发复位
asm JMP 0xFD00;
}
注意不同芯片其有效内存空间配置不同,具体地址需参考芯片数据手册作适当调整。
3) 非法指令复位
当执行不存在的指令编码时单片机会产生硬件复位。这里又可以分两种手段:
一是利用“合法”指令在特定配置模式下的“非法性”,如STOP指令。如果在芯片的配置寄存器SOPT中设定STOPE位为0禁止STOP指令,若再执行STOP就会被视为非法,从而立即引发非法指令操作复位。
void ForceReset(void)
{
asm STOP; //非法STOP将导致复位
//注意STOP模式使能位必须为0
}
在实际应用中正常情况下不会用到STOP,就可以采用这种方式,若本来就要用STOP指令就不能用这种方式产生复位,因为通常SOPT寄存器在复位后只能被写一次。
第二种方法则是人为制造非法指令然后强行运行。这是比较通用的方法,这对S08内核系列均可适用。在单片机的指令表中确认不可能出现的指令编码,例如0x8D33,将其填入RAM中然后强制运行,即可立即产生复位。
void ForceReset(void)
{
byte illegalCode[2];
illegalCode[0] = 0x8d;
illegalCode[1] = 0x33; //非法指令
//执行非法指令将导致复位
((void (*)(void))illegalCode)();
}
3.7热复位和冷复位处理
单片机从没加电到加上电源,而自动产生的上电复位称为冷复位;而在已经通电的情况下给它一个复位信号,则称为热复位,该复位信号可以由软件产生,也可以由硬件实现。冷复位会使单片机的特殊功能寄存器和数据存储器的内容全部改变;而热复位只使特殊功能寄存器的内容改变,而单片机的内部RAM数据存储器的内容不变。
通常看门狗导致的复位跟热复位在效果上没什么两样,复位后用户RAM区内容仍然保持不变(冷启动后用户RAM区的内容一般为零或随机数),利用这个特性可以在用户RAM区保存被控设备的工作状态,然后在程序的开头增加一段代码,检查先前设置的标记,如果是热启动则根据RAM区的数据恢复设备的工作状态(冷启动则跳过恢复状态),这样当硬件受到外来强干扰、程序跑飞而产生了复位,瞬间就能恢复被控设备的工作状态。
4保证通信的稳定性
在嵌入式系统中,会使用各种各样的通信接口,以便与外界进行交互,因此,必须要保证通信的稳定。在设计通信接口的时候,通常从通信数据速度、通信距离等方面进行考虑,一般情况下,通信距离越短越稳定,通信速率越低越稳定。例如,对于SCI接口,通常我们只选用9 600、38 400、115 200等低速波特率来保证通信的稳定性,另外,对于板内通信,使用TTL电平即可,而板间通信通常采用232电平,有时为了传输距离更远,可以采用差分信号进行传输。
另外,为数据增加校验也是增强通信的稳定性的常用方法,甚至有些校验方法不仅具有检错功能,还具有纠错功能。常用的校验方法有奇偶校验、循环冗余校验法(CRC)、海明码以及求和校验和异或校验等。
5保证物理信号输入的稳定性
模拟量和开关量都是属于物理信号,它们在传输过程中很容易受到外界的干扰,雷电、可控硅、电机和高频时钟等都有可能成为其干扰源。在硬件上选用高抗干扰性能的元器件可有效地克服干扰,但这种方法通常面临着硬件开销和开发条件的限制。相比之下,在软件上则可使用的方法比较多,且开销低,容易实现较高的系统性能。
通常的做法是进行软件滤波,对于模拟量,主要的滤波方法有限幅滤波法、中位值滤波法、算术平均值法、滑动平均值法、防脉冲干扰平均值法、一阶滞后滤波法以及加权递推平均滤波法等;对于开关量滤波,主要的方法有同态滤波和基于统计计数的判定方法等。各种方法分别适用于对不同的干扰进行滤波,因篇幅所限,各方法的具体实现本文不作详细描述。
6保证物理信号输出的稳定性
系统的物理信号输出,通常是通过对相应寄存器的设置来实现的,由于寄存器数据也会因干扰而出错,所以使用合适的办法来保证输出的准确性和合理性也很有必要,主要方法有输出重置、滤波和柔和控制等。
在嵌入式系统中,输出类型的内存数据或输出I/O口寄存器也会因为电磁干扰而出错,输出重置是非常有效的办法。定期向输出系统重置参数,这样,即使输出状态被非法更改,也会在很短的时间里得到纠正。但是,使用输出重置需要注意的是,对于某些输出量,如PWM,短时间内多次的设置会干扰其正常输出。通常采用的办法是,在重置前先判断目标值是否与现实值相同,只有在不相同的情况下才启动重置。有些嵌入式应用的输出,需要某种程度的柔和控制,可使用前述滤波方法来实现。
7结语
嵌入式系统的稳定性关系到整个系统的成败,所以在实际产品的整个开发过程中都必须要予以重视。在嵌入式工程应用中,设计者应根据测控系统功能和性能要求,权衡硬件抗干扰设计带来成本的增加和软件可靠性设计导致系统处理实时性能下降的现实,结合嵌入式系统软件的各种抗干扰技术所具有的优缺点和适用范围,采用科学的方法进行可靠性设计,予以有效地避免不必要的错误的发生,提高产品的可靠性。
摘要:针对嵌入式系统在应用中存在的稳定性问题,比较硬件和软件抗干扰特点,重点从核心芯片本身、通信、物理信号的输入和输出等四个方面来总结各种常用软件稳定性设计方法,如指令冗余、软件陷阱、软件拦截、程序数据保护、计算机操作正常监控、定期复位系统、热复位和冷复位处理、输入数字滤波、输出重置以及输出柔和控制等。给出各种方法的特点与适用范围,及相关的设计程序。
关键词:嵌入式,稳定性,指令冗余,软件陷阱,数字滤波
参考文献
[1]王宜怀,吴瑾,蒋银珍.嵌入式系统原理与实践-ARM Cortex-M4Ki-netis微控制器[M].北京:电子工业出版社,2012.
[2]Ben D S,Ramdani M,Sicard E.Elect romagnetic compatibility of inte-grated circuit s:techniques for low emission and susceptibility[M].New York:Springer,2006.
[3]杨波,陈阳.软件抗干扰技术在航天靶场中的应用[J].航天电子对抗,2008,24(4):12-16.
[4]肖毅,肖明.单片机抗干扰技术及应用[J].IC与元器件,2002(1).
[5]伍伟杰.嵌入式系统软件可靠性和抗干扰技术[J].电子产品可靠性与环境试验,2006,24(4):59-64.
嵌入式系统应用研究 篇8
(一) 嵌入式处理器。
此类结构主要联合嵌入式微处理器、控制终端、DSP进行交互式调节梳理, 其中微处理器能够与通用计算机微处理器CPU相互对应, 尤其在特殊应用场景之中, 主要是将微处理器和电路板进行合理交融, 争取令母板结构之上单纯保留嵌入式单元功能就可以了, 相对地令系统实际占用体积和功能消耗数量都限定在一类合理指标之上。现如今流行的嵌入式处理器主要如ARM、Power PC等等。而嵌入式微控制处理器又被称作是单片机, 其能够令存储器以及其余外部封装功能集合分布在电路板之上, 常见功能部件型号如8051。至于内部DSP结构单元则主要应对离散时间信号状态下的极速计算工作挑战内容, 借助不同程序实际编译效率和后期执行水准, 进行特殊数字内部滤波合理消除, 至此稳定图像综合处理领域延展功效, 截止至今, 此类结构部件已经在我国嵌入式系统关键技术设计和结构功能有机延展领域中得到全面重视。
(二) 微内核结构单元。
实际上大部分操作系统都会被事先划定出内核与外部应用层次, 其中前者基本提供系统预设功能, 包括文件系统和管理设备的有机供应等, 此类功能能够令用户快速体验到不同阶段调用方式的异质化状态效应。至于一类桌面操作系统, 也会将上述功能尽量转接到计算机内涵单元之上, 使得计算机系统内核空间无限增大, 后期资源占用需求得到尽量满足, 但是后期剪裁工作便不可避免地繁琐起来。大部分嵌入式操作系统实际上仍旧沿用微内核结构, 毕竟内核提供功能集中分布在基础领域内部, 如任务调度、内存管制、时钟控制等;至于其余应用组件结构之中, 包括网络功能、文件支持系统等都处于用户管理常态之中, 借助系统进程或是函数调用方式进行工作细节布置, 所以此类系统相对来讲能够方便进行裁剪, 确保用户能够借助自身实际管理需求加以对应组件灵活选取。
二、涉及嵌入式系统开发应用技术功能细节解析
(一) 嵌入式开发过程。
在进行嵌入式系统科学开发和系统沿用期间, 有关控制终端和疏导媒介之间角色关系需要事先加以精准划分, 其中前者复杂对应程序、链接要素整编, 而后者则全面投入到以嵌入式程序为支撑主体的硬件控制体系架构。具体规划细节表现为:把应用程序转换成可以在目标机上运行的二进制代码。这一过程包含三个步骤:编译、链接、定址。编译过程由交叉编译器实现。所谓交叉编译器就是运行在一个计算机平台上并为另一个平台产生代码的编译器。常用的交叉编译器有GNU C/C++ (g cc) 。编译过程产生的所有目标文件被链接成一个目标文件, 称为链接过程。定址过程会把物理存储器地址指定给目标文件的每个相对偏移处。该过程生成的文件就是可以在嵌入式平台上执行的二进制文件。
(二) 向嵌入式平台移植软件。
大多数嵌入式系统内部设计主体, 在进行对应程序选取期间会事先进行计算机终端架构编辑, 之后实施既定软件结构转接移植计划。需要特别加以关注的是, 在PC机上编写软件时, 要注意软件的可移植性, 选用具有较高移植性的编程语言 (如C语言) , 尽量少调用操作系统函数, 注意屏蔽不同硬件平台带来的字节顺序、字节对齐等问题。以下是我们在移植协议栈过程中的一些体会。
结语
综上所述, 经过嵌入式系统产品开发和持久化应用过后, 笔者发现内部工作从事次序上相对不是非常特殊, 但是相关支持性硬件设备都是极为独特的, 由此使得后续附加开发工作处理得相对缓慢一些。日后相关技术开发主体需要全面加大内部关键支持技术和功能的开发工作, 争取令相关领域事务交接效率达到最佳状态。
摘要:笔者主要联合嵌入式系统关键技术设计与后期应用交接流程加以细致阐述。第一, 将此类系统内部处理器和操作系统界面阐述完全, 同时强调其和其余系统操作形式的差异性特征, 必要时联合笔者多年工作经验, 将内部单元舒展和功能规范技巧补充完善。第二, 清晰阐述此类系统如今在特殊领域内的流行应用功能, 包括最新技术产品规格样式等, 令相关工作人员产生一定的思想共鸣效应, 进一步有机延展嵌入式系统规划前景, 为我国科学技术和经济协调化发展提供广泛适应基础。
关键词:嵌入式系统,处理器,内存管理单元,微内核
参考文献
[1]朱巧明.远程调试系统的关键技术分析[J].计算机应用与软件, 2010, 15 (10) :166-175.
嵌入式系统应用研究 篇9
在半导体技术发展的基础上, 智能仪表的主体为单片机, 并结合了计算机技术和测量控制技术, 广泛地应用到了生产当中。微处理器存在于这些智能仪表当中, 设计独特的结构, 测试可以独立进行, 能够灵活方便地使用, 系统软件决定了其主要功能。在计算机应用中, 人们开始关注的一个新领域是嵌入式实时系统, 具有简洁、高效等非常显著的特点。将嵌入式实时操作系统向智能仪表进行移植, 从而让仪表拥有更为方便的功能, 同时规范并简化软件的开发与测试, 从而推进模块化编程的实现, 同时使开发周期进一步减小。
一、系统功能描述和模块划分
大规模的集成电路被应用到了这一智能仪表当中, 多点温度传感器与二次仪表是其组成部分。能够将分度号不一样的热电阻与热电偶应用到温度传感器上, 具有较强的互换性和较大的测试范围。仪表能够对16个不同分度号的温度测点同时进行巡回检测, 同时能够以用户要求为依据将其增加到64个。借助键盘可以在安装现场设定传感器型号并修改仪表运行参数。电位器在整个仪表中一个都没有, 软件负责全部的的校准与配置。以测点类型的不同为依据, 线性化、数据滤波与冷端补偿等都能自动完成, 使智能化的优势得以充分发挥[1]。
为使仪表的功能得以实现, 使信号间的干扰得以避免, 以此为依据, 由主控制模块、I/0模块与显示模块共同构成了整个系统。如图1所示:
作为系统核心的主控制模块, 对数据采集通道进行选择、调理信号、分析处理输入数据、对系统温度进行实时监控、报警各种异常、将显示数据发送给显示模块、监视电源、冷端补偿热电偶等。对用户的输入进行监控, 同时以用户输入信息为依据, 对系统参数进行调整是其主要功能。
基于主控制模块的控制, 借助输入通道选择开关, I/0模块向主控制模块的信号调理转换器发送检测信号, 并针对温度异常将报警信号输出。
将键盘接口、检测测点号与相应温度显示出来是显示模块的主要功能, 同时能够进行LED报警 (针对温度异常) 。
二、系统硬件实现
2.1数据采集模块设计。对热敏元件的模拟信号进行采集使本温度巡检仪模拟输入通道的用途, 热电阻与热电偶是其所接的主要热敏元件, 0-80m V是其输入信号的范围, 同时为慢速变化信号。若温度范围与精度要求给定, 需要对合适分辨率的ADC进行选择。若传感器有-272-+1700℃的测温范围与±0.1℃的精度要求时, 其有意义的电压级为 (1700-272) ×20=39440, 所以ADC的选择应为16位的。
作为一种高分辨率、高集成度与低价格的ADC, 对低频信号 (针对宽动态范围测量、工业控制或工艺控制) 进行转换是AD7705的设计初衷, 低频测量的双通道的模拟前端是其主要应用点。由于0-80m V是热电阻与热电偶输入信号的取值范围, 同时信号又是慢速变化的, 所以AD7705是非常适合在温度测量系统中转换调理信号的[2,3]。图2为主控制板中AD7705与AT89C52的连接。
借助一个上拉电阻 (110K) , 从而得以连接DOUT与DIN (AD7705) 和RXD口线 (AT89C52) , INTO、TXD与#WR (AT89C52) 分别连接了#DRDY、SCLK和#CS。向AD7705接供电源与参考电压的是LM1403。
2.2冷端补偿电路设计。冷端补偿的进行采用的是DS18B20 (DALLAS公司生产) 。单总线数字温度传感器是其结构特点, 其优点是微型化、功耗低、性能高和抗干扰等, 由其可以作为多点温度测控系统的构成要素。在不需要任何外围硬件的基础上简单的完成温度检测系统的构建。
图2所示为DS18B20和MPU的连接。DS18B20的数据输入/输出端 (即单线总线) 是DQ, 该脚是漏极开路输出, 高电平是其常态, 连接DQ线 (DS18B20) 和P17口 (89C52) 。外部的+5V电源端是VDD, 接地时并不使用, 在这里, 和电源端VCC相连接。
2.3 I/0板。输入传感器信号并输出继电器信号依靠I/0板。借助一片74HC154, I/0板译码来自主控制板的信号, 将数据采集通道选择出来。I/0板用二片PCF8574进行I/0扩展。一个8位准双向口与I2C总线接口包含于PCF8574中, 产生很低的电流消耗, 同时大电流驱动能力是输出锁存的特点, 能够对LED进行直接驱动。
2.4显示板。对测点号、温度与LED报警进行显示是显示板的作用, LED显示与键盘接口的所有功能由仪表内使用串行接口的HD7279A来完成。HD7279A能够对8位共阴式数码管与64键连接的键盘矩阵进行同时驱动, 2种译码方式与译码器存在于片内, 能直接将BCD码或16进制码接受。同时, 通过对多种控制指令的运用, 芯片能够对显示与键盘接口进行方便的控制。
三、结束语
基于不断发展的科学技术, 温度检测与控制越来越重要, 精度、系统稳定性、响应速度与适应能力等是其主要表现。将嵌入式实时操作系统移植到智能仪表中, 通过软件方便的控制仪表的功能与行为, 使其开发周期得以减小, 使仪表的可靠性、稳定性与可维护性得以提高。设计并实现本仪表, 作为一次尝试是非常有意义且非常成功的, 以期提供一定的借鉴意义, 并促进国产电力智能仪器仪表的技术进步。
参考文献
[1]李军.51系列单片机高级实例开发指南[M].北京航天航空大学出版社, 2004.
[2]敖振浪.十六位模数转换器AD7705及其应用[M].成都信息工程学院学报, 2003, 9:35-37.
[3]仇国庆.AD7705/7706在仪器仪表中的应用[M].自动化与仪器仪表, 2001, 6.
[4]张海藩.软件工程导论 (第四版) [M].清华大学出版社, 2003, 11.
[5]邵贝贝译.嵌入式实时操作系统[M].北京航天航空大学出版社, 2003.
嵌入式系统应用研究 篇10
随着互联网商品化的不断发展, 互联网信息共享表现出越来越大诱惑力。在不用PC机基础上, 通过ISP采取8位的微控制器接到互联网上并取代传统以PC机为核心应用模式, 已成为现在乃至未来互联网发展主要趋势。为把单片机体系有效接到互联网上务必要做好两手准备, 在硬件上要根据系统的主控器加上网络接口, 在软件商要为之提供相对应通信协议。因单片机具有较小存储单元且数据处理较慢, 因此采用PC机TCP/IP协议已无法嵌到单片机里, 所以简化TCP/IP协议, 实现单片机和互联网间电子邮件的运输对达到单片机和互联网间信息传输目的具有重要推动作用, 下面主要研究嵌入式系统的TCP/IP协议的应用研究。
2. 嵌入式系统TCP/IP协议在硬件中的应用
2.1 单片机嵌入互联网模式选择
2.1.1 EmWarea其EMIT技术
这种技术采取的是标准互联网协议并对16位和8位嵌入式的设备管理, 该类嵌入模式是使用TCP/IP协议栈和网关在Internet里桥接代理。选取EMIT技术虽可使用在各类型单片机上, 但却要求系统工程师熟悉相关接口和掌握em Ne T协议, 有着较大工作量。
2.1.2 PC网卡加上专用网
该类单片机嵌入互联网模式是采用CANBus、RS485、RS232等专用网络将小批量单片机均连接起来后, 再把专业网络均连接在同一台的PC机上面, 因其依靠PC机为协议实现机制转换, 所以当多个单片机体系较为分散时, 该类专用网络的布置就显得很不方便, 在PC机里装上专门协议软件来转换机制, 又将发开成本增加了。
2.1.3 MCU加上网卡芯片
这类单片机嵌入互联网模式是用单片机对TCP/IP协议进行加载并据此对以太网网卡进行控制实现数据的传输, 是采用TCP/IP协议嵌入互联网。该饭饭么有使用网关或PC机平台, 因此, 开发成本降低, 只需相关人员深层次了解单片机、网卡的驱动程序和TCP/IP协议。
分析完以上三种单片机嵌入互联网方案, 可知MCU加上网卡芯片为最佳方案, 最为经济模式。
2.2 系统的硬件结构
系统单片机应该采取8 9 C 5 1, 而网卡芯片应该采取RT L 8 0 1 9 A S。此外, 读取键盘其输入数据与指令应该串行E2PROM采取24C256.89C51在处理操作时, 要通过网络接口的电路和网卡芯片来实现单片机和互联网接入任务, 从而进一步达成电子邮件接收发送功能。
3. 嵌入式系统TCP/IP协议在软件中的应用
3.1 TCP/IP协议特点
高级系统里虽可支持完整TCP/IP协议, 但针对单片机系统却很难将其做到。根据以上特点, 第一, 要按照各类系统特点及功能对TCP/IP协议进行特定设计, 仅仅需要达到相关协议需求;第二, 针对具体实际运用, 为避免单片机其内部资源出现不足, 在保证所需协议实现基础功能前提下做好精简工作。单片机中程序结构通常为硬件中断和顺序执行相结合模式, 因此, 对于处理TCP/IP协议工作应该将其在主程序顺序循环里, 使用查询式来控制网卡芯片, 其它中断任务实行间隙中间隙TCP/IP协议处理, 使用时间成本换取系统可靠性。
单片机读取数据是靠RTL8019AS在网络上面接受, 并从网络接口的控制程序处将其读到缓冲区即E2PROM里来检测协议字段类型, 从而去夜店那种协议可用来处理该分组。当格式出现错误时就将该分组丢弃。
3.2 TCP/IP协议的实现
实现软件采取51系列的单片机C语言开发的平台伟福6000, 同时用COMP51编译器, 下面具体就协议实现进行分析:
3.2.1 APR协议
APR协议其首要目的是完成IP地址和以太网地址间映射。在APR包里操作码相应字段突出APR应答、APR请求、RARP应答、RARP请求四种操作形式。该单片机体系仅仅对APR请求与APR应答响应, 为有效提升网络传输效率与速度, 防止每次数据传输前都要对APR地址给予解析才可活动响应目的地址, 可构建一个储存常用目的地地址APR的高速缓存。其实现需要两个进程: (1) 进程处理, 处理APR响应与APR请求, 与此同时也将APR的高速缓存更新; (2) 进程寻址, 在APR的高速缓存里为相应IP地址寻址与之对应以太网的地址。
3.2.2 IP协议
为实现单片机里对IP协议进行加载, 同时又不对多个IP地址支持, 主要通过以上进程来完成: (1) 进程发送, 首先把待发数据密闭封装到IP包里, 然后再查看本机和目的主机在同一子网里与否, 当处在同一子网里就将IP数据直接发送给目的主机, 若不在同一子网就将数据包经默认路发送到路由器里; (2) 进程接收, 在得到了IP包过后, 要对TP目的地址、头部版本等进行校验, 正确以后, 再将协议字段类型给予解析, 并交由高层协议去处理。
3.2.3 ICMP协议
IP协议因无法提供链接服务, 所以错误信息和报文无法传送给最初主体, 针对此情况, 对系统里接收ICMP包校验且无误后, 且CODE域和TYPE来替代echo请求后, 还需发送echo来应答, 从而实现网络其诊断功能。
3.2.4 TCP协议
TCP协议面向端对端、连接可靠的通信协议, 该部分主要通过以下进程达成: (1) 构建连接。首先在客户机发送对端接入要求时, 要可随时选送初始的序号;其次, 服务器同样要选送属于自身初始的序号, 客户机传送来的序号对答号要及时返送到客户机上;最后, 客户机要再次发送应答段给服务器来当作服务器发送请求接入响应, 包括数据每个TCP段均要取得相应对端返回应答段来当作握手信号以确保数据的可靠接收。作为应答段其自身则不需应答来预防应答陷入永无止境嵌套; (2) 进程验证, 该进程要使用相应措施对传输中错误给予消除来确保数据传输可靠性, 例如:可用持续跟踪法对已发出的数据段进行跟踪来判断其返回与否以及数据丢失与否;也可用序列号对通信时失序、重复问题给予解决;对于数据误码的问题可用校验来解决等; (3) 进程流量控制, 首先设计滑动窗口用循环缓冲区域来做, 对于窗口与ACK的配合要指明处于正确接收最后数据包后, 同时要处在可接受序列号的范围内, 并以此来控制流量; (4) 连接关闭, 首先客户机对服务器发送关闭段, 该时刻客户机只可对数据进行接收, 不可再次发送数据;其次, 服务器对客户机发送关闭即应答段, 该时段, 服务器仍旧可为客户机传输数据, 也就是接入处在半关闭的状态;再次, 服务器对客户机发送关闭段, 此时可服务器不可再次发送出去数据;最后, 客户机务必要对服务器关闭做出响应, 对服务器发送关闭即应答段。
3.2.5 SMIP协议
SMIP协议只需依赖一个可靠规则数据的流通道, 而不需依赖特定传输子系统。SMIP主要为面向基于命令、文字的协议, 设计系统时该部分协议主要靠两进程构成: (1) 处理底层邮件, 提取信头其各字段的信息, 并按照数据编码性质来处理数据, 让其以用户能够接受刑事传输为图形用户的界面; (2) 发送邮件, 通过DATA、TO、RCPT、MAILFROM、HELO一系列接受方会话和指令, 由25号能够采取电子邮件的传输TCP其保留端口来进行邮件的传输工作。
综上所述, 嵌入式系统TCP/IP协议在硬件和软件上的应用可有效实现在单片机里采取电子邮件传输任务, 探究嵌入式系统TCP/IP协议的应用不仅能够提高单片机和互联网间信息共享度, 还可减少硬件的使用、降低成本和为使用带来便利。此外, 采取51系列的单片机, 虽然利于软件移植及二次开发, 但却有着较慢数据传输速度, 还需我们进一步探究。
参考文献
[1]吕宁, 冯崇涛.嵌入式系统TCP/IP协议栈的定制研究[J].自动化技术与应用, 2010 (08) .
[2]黄振宇.嵌入式TCP/IP在单片机与PC机通信中的应用[J].河南科技学院学报:自然科学版, 2011 (05) .
[3]王金华, 李允俊.物联网中嵌入式TCP/IP协议栈的设计技巧[J].信息安全与技术, 2011 (10) .
嵌入式系统应用研究 篇11
关键词: 嵌入式系统;μC/OS-II;温度控制
中图分类号:TP39文献标识码:A文章编号:1009-3044(2007)16-31108-03
Applications of Temperature Control Based on the Embedded Real-time Operating System
Songlin-Wang, Zhengqin-Wang
(Computer Department Anhui business college Vocational Technology, Wuhu 241000)
Abstract:The paper introduces the design of the temperature-controlled based on the embedded real-time operating system. Analyses mainly the construct of system and the design method of hardware and software. The embedded operating system μC/OS-II has been transplanted in the software design. It will reduce the difficulty in software design because of the new method of multitask program. The system has many advantages such as high temperature accuracy, good quality, etc.all of which have been laboratorial experimented and proved.
Key words:embedded system;μC/OS-II;temperature-controlled
1 引言
嵌入式系统是以应用为中心,满足应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,它将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,具有软件代码小、高度自动化、响应速度快等特点。特别适合于要求实时的和多任务的监控系统。论文利用嵌入式系统的设计方法及测试技术,结合RTOS的选取原则,选用了源码公开的嵌入式实时操作系统μC/OS-II,设计、实现对多点温度进行控制的嵌入式系统。
2 系统开发环境与技术
考虑系统性能、成本、可靠性等因素,系统的主控芯片选用了台湾Syncmos公司生产的以80C52为内核的8位微控制器SM5964,嵌入式操作系统的软件开发平台选用了源代码公开的RTOS ---μC/OS-II,运用嵌入式系统较常用的设计与测试技术。下面对其详细介绍。
2.1系统的开发环境与工具
2.1.1系统的开发
PC选用的开发环境是:Windows 2000 Server;嵌入式系统开发集成环境:Keil C51 7.0、VC++ 6.0;选用的程序设计语言是:汇编、C语言。
2.1.2嵌入式微控制器
SM5964 微控制器是系统的核心器件,它是80C52 微控制器家族的派生产品,其硬件特征和强大的指令系统使它成为一种性能价格比高的控制器。除具有通用80C52优点之外,其特点如下:
(1)集成度高:它具有丰富的片内资源,包括3个16位定时器、1个看门狗定时器、全双工串口通道等,其PDIP 封装具有32个I/O口而PLCC/QFP封装则具有多达36个I/O口。
(2)存储量大:它内置了64 KB Flash ROM和1 KB RAM。
(3)ISP特性:它具有在系统可编程(ISP)功能,可以通过串口或者并口利用ISP功能实现系统的程序在线修改或升级。片内有多达4KB的存储空间供ISP编程之用。
(4)PWM特性:片上有5路PWM通道可供用户使用。
2.1.3嵌入式操作系统μC/OS-II
在进行嵌入式系统设计时,选择适合自己的实时操作系统是至关重要的,我结合具体的应用,考虑开发成本等因素,根据嵌入式操作系统的选取原则并基于μC/OS-II的许多特点,选用了源代码公开的实时操作系统μC/OS-II。μC/OS-II的主要特点有:
(1)公开源代码:源代码全部公开,这样使系统变得透明,很容易就能把操作系统移植的各个不同的硬件平台上,并可根据需要进行扩充。
(2)可移植性:μC/OS-II绝大部分源码是用ANSI C写的,可移植性(Portable)较强。它可以在绝大多数8位、16位、32位甚至64位微处理器、微控制器、数字信号处理器(DSP)上运行。
(3)占先式:μC/OS-II完全是占先式(Preemptive)的实时内核,总是运行在就绪条件下优先级最高的任务。大多数商业内核也是占先式的,μC/OS-II在性能上与它们类似。
(4)可确定性:全部μC/OS-II的函数调用与服务的执行时间具有其可确定性。μC/OS-II的系统服务的执行时间不依赖于应用程序任务的多少。
(5)稳定性与可靠性:μC/OS-II自1992年以来已经有很多成功的商业应用,其稳定性和可靠性都有很好的保证。
μC/OS-II的其硬件和软件体系结构如图1。
图1 u C/OS-II硬件与软件的体系
2.2 嵌入式系统协同设计技术
如何工程实际性能出发,依据相应的指导原则和分配算法对硬件/软件功能进行分析及合理的划分,从而使得系统的整体信能、运行时间、能量损耗、存储能量达到最佳状态,即为硬件/软件协同设计技术的重要研究内容。
典型的硬件/软件协同设计过程是:首先,选用独立于任何软硬件的功能性规格方法对系统进行描述;然后,在系统描述基础上对硬件/软件的功能模块进行划分;最后,需对硬件、软件的功能划分的结果进行评估。如果评估结果不满足要求,说明划分方案的选择是不合理的,需要重新划分硬件/软件模块,以上过程重复直到系统获得一个满意的硬件/软件实现为止。
软硬件协同设计过程可以归纳为:需求分析、软硬件协同设计、软硬件实现、软硬件协同测试和验证。
2.3 嵌入式系统的测试技术
嵌入式系统软件的测试必须考虑时间和硬件影响的问题。对于硬件,一般是采用专门的测试仪器进行测试;而对于实时嵌入式软件,则需要有关的测试技术和测试工具的支持,需要采取特定的测试策略。
测试技术指的是软件测试的专门途径,以及提供的能够更加有效的运用这些途径的特定技术。测试技术主要有回归测试(基于代码的测试或白盒测试)、第三方的验证和确认测试(功能测试或黑盒测试)及维护中的修改或升级测试(回归测试)等。目前,大量的实时嵌入式软件是面向对象编程和基于部件开发的,它们对时空和宿主机、目标机的交叉开发方式,论文选用该测试技术。
3 温度控制系统的设计与实现
嵌入式的多点温度监控系统需完成测量和控制两大功能。系统测量功能包括:多点温度数据采集、信号转换、信号传输等功能;系统的控制功能包括:温度数据的分析处理、输出控制信号、显示、通信等功能。下面将详细说明各个功能模块的设计与实现。
3.1系统的硬件设计
温度控制系统主要有键盘输入、数据采集、输出控制、LCD显示、通信及电源模块等组成。系统结构如图2。
图2 系统结构框图
3.1.1键盘输入电路
键盘是一组按键的组合,它是常用的输入设备,可以通过键盘输入数据或者命令,实现简单的人机对话。键盘可分为独立联接式和行列式(矩阵式)两类,每类按其译码方式又分为编码式及非编码式两类,设计中使用的是独立联接非编码式键盘。每个按键使用的是一个瞬时接触开关,这种联接方式可以容易被微处理器检测,但由于按键会产生机械抖动,在按键被按下或者抬起的瞬间,一般持续5~15ms,因此设计中要去除键抖动。可以通过硬件双稳态电路或者软件延时来实现,设计中采用延时20ms实现的。
3.1.2数据采集电路
本系统实现对两路温度信号的采集,为了节省硬件成本,在前向通道中采用了多路选择开关,使用了两个多路模拟开关器件CD4052,实现信号的差分输入,完成对两路温度信号的轮流采样,然后将信号送入一个公共的模数转换器LTC2430,完成模数转换。由微处理器的P1.2、P1.3两引脚实现信道的选择。电路如图3。
图3 数据采集电路图
3.1.3模数转换电路
系统模数转换采用LTC2430,设计中使其工作在外部时钟驱动模式下,工作状态分为转换(Conversion)、休眠(Sleep)和数据输出(DataOutput)三个状态。
3.1.4通信电路
系统所进行的通信是实现与PC机的通信,选择最为广泛的通信标准RS232通信标准。由于PC机使用的是RS232电平,而SM5964输出是TTL电平,因此选用MAX232解决电平匹配的问题。电路如图4。
图4 通信电路原理图
SM5964的串行发送端口TXD和接收端口RXD经MAX232芯片进行电平转换后,分别与PC机的数据接收端口RXD和数据发送端口TXD相连接。在设计中,使用了两个发光二极管D7和D8监视通信的工作状态。
3.1.5 LCD显示电路
对于LCD MGLS-12864,内置HD61202图形液晶显示模块,厂家为其设置了7条指令来完成对它的控制,有两条指令用于显示状态的设置,其余指令用于数据读/写操作,在此不对其进行详细的说明。
MGLS-12864与微处理器的连接方式有两种:一种是直接访问方式,一种为间接控制方式。直接访问方式就是将液晶显示模块的接口作为存储器或者I/O设备直接挂在计算机总线上,计算机以访问存储器或者I/O设备的方式操作液晶显示模块的工作。而间接控制方式是计算机通过自身的或者系统中的并行口与液晶显示模块连接,通过对接口的操作达到对液晶显示模块的控制。设计中论文采用了间接控制方式,这种方式的特点是电路简单,控制时序有软件实现,可以实现高速计算机与液晶显示模块的接口。
3.1.6输出控制及报警指示电路
输出控制电路采用12V直流继电器对外电路进行控制,通过控制继电器的吸合时间来实现对温度的控制,继电器是与强电控制电路(大电流、高电压)联系在一起,会对应用系统产生严重干扰,使系统不能正常工作。为了消除干扰,在微机接口与继电器之间分别加了光耦,使系统主机部分的地与强电控制电路的地隔开。当温度超限或者系统出现致命错误时,系统会发出报警指示且实现在LCD上显示。
3.2系统的移植
系统移植是指使一个实时操作系统能够在某个微处理器平台上运行。每个实时嵌入式操作系统都支持很多种处理器,为了使其在具体的硬件平台上工作,必须根据具体的硬件平台完成移植工作。μC/OS-II需要用户独立完成此工作。由于在设计时已经充分考虑了可移植性,移植工作并不太复杂,要根据具体硬件平台,对文件OS_CPU.H、OS_CPU_C.C和OS_CPU_A.ASM进行合理的修改。要使其正常运行,处理器首先需满足以下要求:
(1)处理器的C编译器能产生可重入代码;
(2)用C语言就可以打开和关闭中断;
(3)处理器支持中断,并且能够产生定时中断(通常在10Hz至100Hz之间);
(4)处理器支持能够容纳一定数量数据(可能是几千字节)的硬件堆栈;
(5)处理器有将堆栈指针和其他CPU寄存器读出和存储到堆栈或内存中的指令。
3.3系统的软件模块设计
系统软件设计平台RTOS作为一种专门为嵌入式微处理器设计的模块化、高性能的实时操作系统,提供了一种基于开放系统标准的完善的多任务环境。它作为嵌入式应用软件的基础和开发平台,是一段嵌入在目标代码中的软件,在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于其上的各个任务,RTOS根据各个任务的要求进行资源管理、消息管理、任务调度、异常处理等工作。
系统软件的体系结构如图5所示。硬件抽象层(HAL)把实时内核与硬件隔离开,实现了操作系统内核与设备无关,提高了应用系统的可靠性。内核层是一个是实时多任务操作系统(RTOS)内核。内核层上面是高层驱动和库函数,提供通用的API、I/O管理器。应用程序层是用户的不同的任务。
图5 RTOS体系结构
3.3.1任务划分
根据要实现的功能,系统划分为如下6个任务:按键处理、LCD显示、串行通信、输出任务、控制运算、信号采集处理。从系统设计方面,可以划分为人机交互模块、串行通信模块、温度测量及控制模块和远程加载模块。
3.3.2基本界面设计
为了完整地实现系统的控制功能,需要在界面上显示全部的信息。显示的信息量较多,采用了六个显示界面分屏显示,界面的切换、菜单的选择、参数的选择及修改等是通过不同的按键来实现。
图6 系统基本界面
3.3.3串行通信模块设计
串行通信模块是系统设计中的一个重要部分。它要实现与PC机通信,接收PC机发来的命令帧,在确认正确后进行分析执行,并向PC机发送相关信息和数据。该模块设计工作主要为串口设备驱动程序设计与串行通信应用程序的设计,前者主要完成串口的工作方式、波特率等环节的设置,该部分工作具有系统设计共性,在此主要分析串行通信设计。
在系统中串行通行程序是专门用于接收PC机发送来的读写命令,根据命令的不同,完成不同的操作,既可以对系统当前的运行状态或参数进行改变,也可以把PC机需要的数据信息打包发送。在设计中,为简单起见,系统作为从机,只能被动接收PC机发来命令,对命令帧分析处理之后执行,可以改变系统当前的运行方式和参数。当需要向PC激发信息时,它要按要求把相关信息组帧发送,如当前继电器状态、第一路温度值、第二路温度值等。程序流程如图7所示。
图7 串行通信流程图
3.3.4温度测量及控制模块设计
数据信号的采集处理是把实际过程中的模拟量、开关量以及其它信息量通过相关的方式送入计算机,再由计算机进行存储和进一步的处理(如计算、显示、控制等)。模拟量的采集是将模拟量转换成数字量并送入计算机。然后调用处理算法将这些数字量存储并进行二次计算处理,一方面要输出显示便于观察,另一方面调用相关的控制模块,对被测对象进行控制。
系统要实现对两路温度进行采集控制,温度信号经两个模拟转换开关CD4052之后,以差分式输入模拟转换器LTC2430的输入端子,转换后的数字量送入微控制器SM5964,从而完成信号的采集。控制模块采用了时间最优控制和PID算法相结合的控制方法合理的控制算法对被控对象进行控制,设计中取得很好的效果。
3.3.5远程加载模块设计
此功能模块就是利用“在系统编程”(In-System Programming,简称ISP)技术,可以实现对系统进行在线升级。所谓“在系统编程”技术是指在用户设计的微控制器系统中为配置新的系统功能而对器件进行重新编程,并在线地将程序代码(固件)下载到程序存储器中的一种编程技术。它的出现是对传统编程方法的重大突破。在设计中,PC机利用串口向系统发送各种命令,如片擦除、页擦除、编程等命令,系统正确接收之后分析执行,从而完成加载升级功能。
4 结论
论文基于嵌入式系统设计框架,选用代码开发的μC/OS-II操作系统,在模块化、高性能的RTOS软件平台上采用多任务编程技术、分层体系思想完成系统各个软件模块的设计,利用系统的ISP功能,实现系统程序加载和动态更新,利用RS232串行通信技术实现通过PC的远程控制功能。嵌入式温度控制系统的实时性、可靠性等工程性能优良,并具有升级更新能力。
参考文献:
[1]巴内特,奥卡尔.嵌入式C语言编程与Microchip PIC/Embedded C Programming and the Microchip PIC [M].清华大学出版社,2005.
[2]江申,陈首先,王子健.基于嵌入式技术的温度测量系统[J].微计算机信息,2005,21(10-2):25-27.
[3]孙瑞志,史美林.基于S3C44BOX的嵌入式温度湿度实时监控系统[J].微计算机信息,2006,22(6-2):207-208.
[4]叶以民,赵会斌,耿增强.等.嵌入式系统中的实时操作系统[J].测控技术,2000,19(4):6-8.
嵌入式系统应用研究 篇12
1 国内外研究现状
在工业制糖操作中,压榨、提汁、分离和分蜜等环节都基本达到自动化标准,但是在煮糖环节仍然基本依靠有经验的工人检测蔗糖的结晶程度,自动化水平严重落后。为摆脱传统煮糖的瓶颈,国内外各糖厂都在大力研究用仪器来检测煮糖过程的状况。
1.1 国外研究现状
国外的自动化制糖技术较为成熟,例如制糖业较为发达的丹麦、美国、法国、澳大利亚等国。1957年,丹麦最早开始采用电导法控制煮糖(除了最纯糖膏如精炼糖)。1967年,英国糖业公司设计了由一台电子计算机控制的13台煮糖罐的制炼车间,使用两个操作者。其中,使用煮糖罐的压力表和温度计从煮糖罐正面的副控制屏遥控手动操作阀门;在车间控制室内遥控手动进行煮糖罐操作:配备单生产参数控制仪表,由控制室操作;真空煮糖的直接数控与装置在控制室内的生产流程控制器完全平行,传输信号送到另一控制室的中央电子计算机,计算机输出信号送到增量式气动传送器以传送到各个阀门。但是该系统对操作者的要求比较高,他们必须充分了解当时的生产过程状况。该糖业公司很快就发展了微型电子计算机控制的真空煮糖罐,在每台真空煮糖罐上都安装了微信息处理器[4]。
而国外对煮糖控制的研究也取得了较大成就,例如澳大利亚、巴西、泰国等过的糖厂在十几年前均已普遍采用全自动煮糖系统。由于煮糖控制本身受干扰的因素很多,其时变性和非线性等差异很大,因此要建立一个反应进料量、进水量与过饱和度之间的精确数学模型非常困难[5]。自1961年以来,Wright,Foster,Broadfoot,Wilson,Schneider等人一直致力于研究根据物料平衡和能量平衡等推出一系列用于煮糖的数学模型,并设计出典型的煮糖控制方案。
1.2 国内研究现状
与国外相比,国内自行研制开发的自控煮糖系统尚未成熟。近几年来,研究人员开始利用BP神经元网络、小波分析等方法模拟人工煮糖的过程。华南理工大学研究开发了糖膏过饱和度在线测量装置,采用粘度作为过饱和度以及晶粒含量与大小的替代参数,通过在线测量空心圆筒的扭矩,推算出过饱和度值,装置的样机在广西东门糖厂甲糖煮糖罐在线运行,并于l992年4月在南宁通过有关专家的阶段评议[6]。1994年云南省轻工设计院在景真糖厂利用扭矩测粘度推算过饱和度的办法进行微机自动煮糖。1996年华侨大学机械工程系进行过光电检测法在线测控糖液过饱和度的研究,测控原理是基于糖液浓度与其折射率之间的对应关系,采用依据光的全反射原理的折光法来检测糖液浓度,并以光电逻辑处理技术和单片微机结合实现在线测控的要求[7]。
在蔗糖工业领域,纵观国内的煮糖控制现状可知,我国的自动化煮糖技术不高,这方面的研究还有很大的发展空间,尤其在煮糖过程中关键参数的测量与控制,以及蔗糖晶体颗粒的数字图像处理技术,既具有挑战性,又具有很广阔的应用前景。
2 嵌入式系统下的应用研究
以下根据在煮糖过程中关键参数的测量与控制,以及蔗糖晶体颗粒的数字图像处理技术这两方面,列举了不同的嵌入式系统下的应用研究。
2.1 模糊控制在煮糖结晶过程中的应用
煮糖结晶过程中的参数设置与控制应用来源于模糊控制。模糊控制是把模糊数学理论应用于自动控制领域而产生的控制方法,是以模糊集合理论、模糊语言变量及模糊逻辑推理为基础的一种计算机数字控制。它属于一种特殊的语言控制,反映了人们在对被控对象进行调节时,不断将观察到的过程输出精确量转化为模糊量,经过人脑的思维与逻辑推理进行模糊判决后,再将判决得到的模糊量转化为精确量,去实现模拟人工进行手动控制时的整个过程。
自20世纪80年代后期开始,模糊控制据进入了实用化阶段。同样的,由于煮糖控制本身受干扰的因素很多,其时变性和非线性等差异很大,因此要想建立一个反映进料量、进水量与过饱和度之间精确的数学模型非常困难,以至于用经典控制或现代控制的方法对这类复杂的控制对象都难以得实现。进而应用模糊控制可以将精确的过饱和度值来开、关入料蔗汁,或入水的阀门开度来完成整个煮糖过程,再也不用煮糖工人根据个人煮糖经验,通过手、眼等感官推测过饱和度。结合工艺理论,用模糊控制理论建立模糊控制模型,可以提高控制智能化程度,对于提高产品质量具有重要意义。
从上世纪90年代开始,模糊控制已经从理论走向了应用。在实践应用中显示出了几个十分显著的优点[8]:
l)无需预先知道被控对象的精确数学模型,所以,对数学模型难以求取或无法求取的对象可以进行有效控制;
2)模糊控制规则是用人的经验总结出来的条件语句表示的,因此对于对模糊控制理论不熟悉的人来说,也很容易学会和掌握模糊控制的方法;
3)由于表示控制的知识是以人的语言形式进行,故有利于人机对话系统的知识处理,从而具有系统处理的灵活性和机动性;
4)控制系统的鲁棒性强。
随着模糊控制的应用越来越广泛,将模糊控制与其它控制理论相结合产生了许多新的控制方法[9]:模糊控制理论结合人工神经网络(Neura1 Network)和遗传基因(Genetic Mechanism)形成交叉学科神经网络模糊技术(Neuron fuzzy Technique)和遗传基因模糊技术(Genetic Fuzzy Technique),用于解决单一技术不能解决的问题。
2.2 蔗糖结晶颗粒图像检测系统的应用
图像检测技术是新的测量计数,它以光学为基础,融以电子学、计算机技术、激光技术、图像处理技术等现代科学技术为一体,组成光、机、电、算综合的测量系统,它广泛应用几何量的尺寸测量,航空等遥感测量,精密复杂零件的微尺寸测量和外观检测以及光波干扰图等和图像有关的技术领域中,所谓图像检测就是测量被测对象时,把图像作为检测和传递信息的手段或载体加以利用的测量方法,其目的是从图像中提取有用的信号[10]。
早期的数字图像处理系统为了提高处理速度、增加容量都采用大型机。随着计算机性价比日新月异的提高,以小型机为主的微型图像处理系统得到发展。图1表示微型图像处理系统的组成。图像处理系统主要由图像输人设备、图像采集卡、计算机、监视器等组成。
基于图像处理技术的蔗糖结晶颗粒检测系统采用Visual C++6.0为开发工具。Microsoft公司开发的Visua1C++6.0是一种具有高度综合性能的软件开发工具,用它开发出的应用程序具有运行速度快,可移植能力强的优点。同时它又面向对象程序设计,主要使用面向对象设计的方法,可以使用很多重复性强的代码。
图像技术的加入解决了单纯依靠人工进行颗粒的统计分析存在的操作费时、复杂和精度底等缺陷,而且重要的是用计算机可对颗粒图像作各种处理,既加快了分析处理的速度,又突出人们需要的信息。随着计算机速度的提高、电子技术的发展,特别是CCD性能的不断提高和图像处理算法的改进,数字图像处理技术起着越来越重要的作用。基于图像处理技术的颗粒检测系统有着良好的发展前景,但无论是在硬件方面还是在图像处理算法方面,仍有一些关键技术尚待解决。
利用图像处理技术进行检测具有许多独特的优点:如非接触性和远距离检测、直观性、智能型、抗干扰性、可以在很大范围内控制检测精度等。因此要提高分析速度,改进图像处理时的分析方法,通过缩短处理颗粒图像的时间,提高图像分析效率,实现粒度分析必需的大批量颗粒图像处理。在蔗糖工业领域,目前尚未产生成熟的针对蔗糖结晶颗粒的数字图像处理技术。综上所述,基于数字图像处理来检测蔗糖结晶颗粒的技术的研究,即具有挑战性,又具有很广阔的应用前景。
3 结束语
本文分析了国内外制糖技术的现状和优缺点,应用模糊控制的方法能控制糖液的过饱和度,使晶粒能均匀、整齐地生长,实现模拟人工进行手动控制时的整个过程;而蔗糖结晶颗粒图像检测系统采用硬件及软件相互协调工作,能够在短时间内直观的检测蔗糖结晶颗粒是否成熟。通过对比两种基于嵌入式系统下的蔗糖结晶过程,利用模糊控制和蔗糖结晶颗粒图像检测系统对于提高蔗糖的质量乃至国民经济的发展具有重要的社会现实意义。
参考文献
[1]对近年来广西制糖工业企业综合实力比较分析[EB/OL].[2004-06-03].广西糖网
[2]中国糖业简介[EB/OL].中国食堂网,www.gsec.com.cn.
[3]陈维均,许斯欣.甘蔗制糖原理与技术(第四分册)[M].北京:中国轻工业出版社,2001.
[4]司伟.中国糖业发展回顾及展望[J].世界农业,2004(3):10-13.
[5]樊春丽,朱明日.蔗糖结晶过程的建模与控制[J].计算机系统应用,2009,18(3):38-41.
[6]郑莹娜,李昌禧.糖膏过饱和度在线测量装置的研究[J].电子测量与仪器学报,1994,8(2):52-54.
[7]Luo Fei,Mo Hong-qiang.Predictive Control for the Crystallizing Process of Cane Sugar with Genetic Neural Network Model[J].Journal of South China University of Technology:Natural Science Edition,2000,12(28):48-51.
[8]陆军.计算机模糊控制原理及应用[M].北京:北京航空大学出版社,1995:45-48.
[9]李士勇.模糊控制、神经控制和智能控制论[M].哈尔滨:哈尔滨工业大学出版社,1998:122-124,263-279.
【嵌入式系统应用研究】推荐阅读:
嵌入式系统原理及应用06-23
嵌入式系统在车辆导航监控系统中的应用05-29
《嵌入式系统原理及应用》结课论文格式模版07-22
嵌入式数据库SQLite在远程监控系统中的应用,嵌入式数据库10-21
嵌入式应用软件09-28
嵌入式导航系统06-03
嵌入式系统技术06-19
嵌入式系统移植07-30
汽车嵌入式系统08-30
嵌入式系统测试09-03