前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的嵌入式设计系统主题范文,仅供参考,欢迎阅读并收藏。
关键词:嵌入式芯片;FPGA;人机交互界面
嵌入式芯片是当前一些主流数码设备的核心部件,也是嵌入式系统的硬件基础。嵌入式系统是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。
嵌入式芯片主要包括FPGA芯片(Field Programmable Gate Array 现场可编程门阵列),MCS-51系列芯片等等。本文主要介绍面向嵌入式芯片的指令测试系统。
一、系统架构
测试系统的主体是面向嵌入式芯片的人机交互界面。它为用户提供了检测芯片指令集的各种便捷操作。
为了更好的实现测试体系的各项功能,笔者在编写程序时,将测试系统人为的分成了几个模块。这些模块之间有着非常紧密的联系,每一步的实现都是下一步成功运行的基础。
测试体系的主体架构主要分为五个部分:
(一)源代码的输入与保存
用户可以通过编辑框输入代码,实现程序的编写。此外系统还为用户提供了编辑框的清空操作,并可以自动将编写的代码保存为.asm文件。
(二)源文件的读取与显示
用户可以将已经编写好的源文件读入系统,并对其进行编辑。
(三)交叉编译
系统对读入的源文件进行编译,期间用户可以自动配编译工具,编译完成后系统将自动报错。
(四)串口的输入输出
系统可以将用户指定的二进制文件送到串行口中,并发送至连接到PC端的8051芯片中。发送成功后,系统将显示已经发送的信息。
系统可以自动接收来自串口的消息,并显示在相应的列表框中。
(五)程序运行日志
系统在用户运行了测试体系之后,即程序的出口处,自动生成程序的运行日志,它为用户显示了程序运行的各项参数,例如程序运行时间,串口状态等。
此外系统为了使用户可以更加方便自如的使用本测试框架,在每一部分的实现过程中,都充分考虑了软件的灵活性,尽可能的让用户自主配置测试体系的各项参数。
二、系统设计
(一)整体性
作为嵌入式测试系统的人机交互界面,在其设计的过程中必然要形成一套完备的软件体系,即保证程序运行的整体性。这关系到整个测试系统的完整性和稳定性。
源代码输入和源文件读取部分主要是将指令集测试代码导入到系统中。交叉编译部分的工作是对导入系统的测试代码进行编译处理,以便用户对测试代码进行调试。串口检测部分是将编译通过的测试程序所生成的二进制文件以8位字符串的形式送入串口,经过开发板的运行以后,将结果通过串口输出到指定的LCD显示屏或PC上,从而验证测试程序的可执行性。程序运行日志是对整个程序运行的效率和稳定性向用户提供的反馈信息。
(二)灵活性
在保证程序运行的整体性的同时,为了使测试体系的使用更加的方便,提高测试体系进一步完善的空间,就必须保证各功能模块的灵活性。在源代码输入和源文件读取的部分,系统默认的输入程序是汇编程序,但用户也可以输入C程序,JAVA程序,XML程序等多种程序语言。同时,在交叉编译部分也可以通过调用不同的编译器和链接器对这些程序编译调试,这无形中将单一的面向嵌入式芯片的汇编编译器扩展为集C语言编译器,JAVA语言编译器和XML语言编译器等多种编译器于一体的集成编译环境,从而实现强大的编译功能。串口检测部分为用户提供串口参数的配置框,并支持串口信息的发送与接收,从而使测试体系具有了类似超级终端的串口通信功能,这也为用户对串口操作提供了极大的方便。
三、结束语
作为当前主流的数码产品的关键部件,嵌入式芯片必然会在未来的IT市场上占有越来越重要的地位。本文所探讨的嵌入式芯片测试系统正是基于这样的考量,不但从源代码的输入与保存,源文件的读取与显示,交叉编译,串口的输入输出和程序运行日志这五个模块来构建测试系统,而且还从程序设计的整体性和灵活性两个方面,对该系统进行了评测。未来的嵌入式系统和普通的计算机系统在微型化和小型化方面将会趋于一致,而测试系统也可以进一步扩展为对整个计算机系统进行相应的检测。希望测试系统能为嵌入式芯片的发展做出一定的贡献。
参考文献:
[1]胡振华.VHDL与FPGA设计[M].北京:中国铁道出版社,2003.
[2]陈荣,陈华.VHDL芯片设计[M].北京:机械工业出版社,2006.
[3]张大波,吴迪,郝军.嵌入式系统原理设计与应用[M].北京:机械工业出版社,2005.
关键词:软件测试控制系统嵌入式
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2012)05-0151-01
1、嵌入式系统的特点以及实现方法
嵌入式系统的主要特点如下:嵌入式系统的硬件和软件的紧密结合,具有很强的依赖性之间的软件和硬件,嵌入式系统的功能和性能通过软件和硬件来实现。因此,在硬件平台上的嵌入式软件系统的测试。在硬件,嵌入式软件系统测试。这是一个不同的主机平台上的软件,只能在电脑平台的主机平台软件系统测试,不需要专门的硬件平台测试。嵌入式系统的要求非常苛刻的时间。嵌入式系统,实时控制系统,为要求苛刻的实时场合。嵌入式系统的硬件资源有限,存储容量和速度的嵌入式CPU和应用环境的制约。
软件测试的方法可以分为黑盒测试和白盒测试两大类:黑盒测试是一种基于需求的测试,以验证测试软件是否满足软件的需求。白盒是基于结构的测试,软件控制流测试包括语句覆盖,分支覆盖,等等和数据流测试。覆盖测试原理是:测试软件,测试工具的使用静态分析,以确定代码中的分支点,并统一编号,分配给每个分支点。计划执行的历史信息和路径,你可以从这份文件中,为了计算的代码覆盖率。嵌入式软件与主机平台上的软件有不同的特点,所以从主机平台软件测试,测试也明显不同。
2、嵌入式系统的应用
嵌入式系统为中心,基于计算机技术,利用可定制的功能性,可靠性,成本,体积,功耗严格要求,设备专用计算机系统111硬件和软件。它一般由嵌入式微处理器,硬件设备,嵌入式操作系统和用户应用程序,控制其他设备,监事或管理由四部分。最典型的嵌入式系统的特点是与人民生活密切相关的,任何一个普通的人可能有各种使用嵌入式微处理器技术的电子产品,MP3,PDA等数字设备,数字家电,智能家电,地理信息系统的车辆。事实上,新的嵌入式设备的数量远远超过通用计算机。其硬件系统表现如右:
嵌入式操作系统和通用操作系统有许多功能,如可靠性,可削减,可扩展性,实时等。前三嵌入式应用环境的要求。“实时”,以满足系统内容的实时性要求。通常在一些嵌入式操作系统,通常被称为“实时操作系统,但它是操作系统的性能有一个更好的实时能力。在一个特定的嵌入式应用系统中,没有实时的结论。不同的嵌入式操作系统,可以有不同的实时能力。嵌入式操作系统应符合设计实时任务调度,运行速度快,实时性能的内容嵌入式操作系统的能力,可以更容易地实现实时的应用程序。
3、应用航天业的条件和发展
今天的软件和硬件技术的发展,嵌入式系统被广泛用于航空航天,国防,军工,电子通讯等行业,其中软件变得越来越复杂。应用嵌入式系统的特点,这些地区往往是高安全性,关键任务系统,软件,小缺陷可能会严重威胁生命和国家安全的,巨大的天文财产损失。这使得它保证嵌入式软件的质量和可靠性变得至关重要。
4、航天业的应用条件
嵌入式系统的任务有一定量的时间限制。据截止时间,实时系统,实时被分为“硬实时时间”和“软实时”。可以完全满足硬实时应用的需求,否则,导致发生重大安全事故,甚至造成了生命和生态破坏。
可预见性是一个系统,能够实时执行任务的时间来判断,以确定它是否能满足任务的期限。在航空航天工业实时系统需要严格的时间限制,称为实时系统的可预测性是一个重要的性能要求也至关重要。除了硬件延迟的可预见性,也需要软件系统的可预测性,包括应用程序的可预测性的响应时间可预测的,也就是说,在有限的时间内完成必要的工作;和操作系统,即实际运行时的开销时间原语,调度功能应范围内,以确保应用程序的执行时间为界。
5、与外部环境的相互作用
航天业需要的外部环境是独一无二的,这样的外部环境是一个实时系统不可或缺的组成部分。空间计算机子系统控制系统,它必须在规定时间内作出回应外部请求。外部物理环境经常指责子系统,两个互动,以形成一个完整的实时系统。为此,该系统需要一个静态的分析,并保留资源和冗余配置,系统可以工作在最坏的情况下,或避免损失。可靠性已成为航空航天工业的实时系统性能不可缺少的一个重要指标来衡量。
6、结语
随着嵌入式系统的广泛使用,其实时性已经吸引了越来越多的关注。实时嵌入式系统是一个综合性的问题,应考虑在嵌入式系统设计,硬件不仅是软件的选择也应注意。在这些领域的嵌入式系统应用的特点,往往是高安全性,关键任务系统,软件,小缺陷可能会严重威胁生命和国家安全的一个巨大的天文数字的财产损失。这使得它变得至关重要,以确保嵌入式软件的质量和可靠性。
参考文献
[1]谢东,李昌禧.基于LabVIEW的嵌入式软件黑盒测试系统的研究[J].工业控制计算机,2005年12期.
[2]杨顺昆,刘斌,陆民燕.WindowsNT下几种定时器的实现原理及性能比较[J].测控技术,2002年12期.
[3]崔小乐,刘斌,钟德明,阮镰,高小鹏.实时嵌入式软件仿真测试平台的体系结构设计[J].测控技术,2003年07期.
[4]崔小乐,刘斌,杨顺昆,阮镰.嵌入式软件仿真测试平台的建模环境设计[J].测控技术,2004年02期.
关键词:嵌入式;系统设计;低功耗技术
一、硬件的低功耗设计
1、硬件电路器件
程序编写后实现功能需要硬件电路的参与,因此硬件部分是电路设计的重点,也关系到嵌入式模块功能是否能够实现。电路中的电子元器件如果设计不合理或者焊接误差,会导致使用阶段断连情况发生,目前多用集成技术来解决这些耗能隐患。CMOS技术应用后使硬件电路的连接形式更合理,控制模块运转阶段的能源损耗量被控制在了标准范围内,流经电流如果出现异常变化,会调整稳定后再流入到电路中。由于现在绝大部分电路均采用集成电路CMOS工艺技术,这与以前的TTL工艺相比,本身就已经起到了降低电子元器件和整体系统功耗的作用,因此,应该继续多采用CMOS集成电路工艺技术。另外,由于采用CMOS集成工艺技术,其电路静态功耗很小(可忽略不计),而动态功耗较大,因为动态功耗是指电路高低电平翻转时产生的功耗,在电路高低电平翻转跳变沿期间,电流很大,存在较大功耗,所以,降低硬件电路功耗主要是降低电路动态功耗。
2、低功耗器件的选用
实现低功耗还要对电子器件进行挑选,对比不同类型元器件的节能指标,低功率环境下对器件的损害程度更小,在安全使用年限内也不会发生功率损耗过大的现象。嵌入式技术中硬件部分设计与软件程序编写都同等重要,器件选择时如果无法确定标准,可以采用试验的方法来帮助计算功率损耗情况,对比阶段也更容易进行,在这样的环境下,嵌入式技术应用才能达到预期的目标。完成同样的功能,电路的实现形式有多种。例如,尽可能地将嵌入式系统的内部存储器RAM转换为外部的闪存FLASH,因为在同样条件下,读内部RAM比读外部FLASH会带来更大的功耗。也可以利用分立元件、小规模集成电路,大规模集成电路甚至单片实现。通常使用的元器件数量越少,系统的功耗越低。因此,应尽量使用集成度高的器件,以减少电路中使用元件的个数,减少整机的功耗。
3、微处理器的选择
微处理器能够起到对治理程序控制的发现不合理现象也要及时采取调控方法,处理器运行阶段损耗的功率比较大,也是节能设计期间重点优化的部分。选择时首先要判断功能是否能够达到标准,在此前提下进行后续损耗的对比分析。要有明确的额定功率,这样在损耗控制时技术应用才更顺利,技术应用形成并不是固定的,可以根据实际使用需求对技术方法进行组合应用,将损耗降至最低。仅消耗少部分电能便能够实现系统的高效运行,功能实现的流程也更合理,是嵌入式设计时首要遵从的标准。并且高效率的处理器都提供有多种时钟频率和工作电压的选择,以便于最大限度地节约功耗。此外,在进行系统设计时,在工作电压相差不大和系统处理能力许可的情况下,还应尽可能降低微处理器的时钟频率,现以起到节能的作用。以SAMSUNGS3C2410(32位ARM920T内核)为例,它就提供了四种工作模式:正常模式、空闲模式、休眠模式、关机模式。
二、软件的低功耗设计
1、优化编译器
控制程序在运行使用过程中,要定期检验,观察控制功能是否高效实现,并对使用中常常出现误差的部分进行调节控制,编译器模块是实现调控功能的部分,在此过程中,会涉及到频繁的计划变动,经过多次试验后最终确定的编译模式应用后才不会出现误差。但是,在某些情况下,这样会影响程序的执行性能。编译器的有效性以及它所生成的代码效率,可以与汇编语言代码相比较得出。事实上,在一个程序中,每一条指令都将激活微处理器中的某些硬件部件,因此,正确选择指令可以降低处理器的功耗。通过优化编译器可以进行有效的软件低功率化,从而生成效率更高的代码,以降低嵌入式设备的功耗。
2、采用软件代替硬件电路
软件与硬件相比较功能更加丰富,也能在工作任务开展阶段形成更稳定的控制体系。因此采用软件来对复杂的电路进行更换,才是更高效合理的,使用功能不受到影响的前提下达到降低功耗的目标,这样的处理形式符合嵌入式设计标准。一般的硬件电路都存在功耗,所以,可以把具有数据运算处理功能的硬件电路用软件来实现,例如滤波电路,指数、对数运算电路、抗干扰电路等。但是,任何事情都不是绝对的,部分硬件电路到底能否通过软件来实现,此外,还要考虑处理大量的软件数据,需要提高处理器的性能和功耗等,同时要考虑这是否合算。
3、中断驱动技术设计
把整个嵌入式系统软件设计成多个事件来处理,而在系统上电初始化时,主程序只进行系统的初始化(包括寄存器、外部设备等),初始化完成后,进入低功耗状态,然后把CPU控制的设备都接到中断输入端上。当外设发生了一个事件,即产生中断信号,使CPU退出节电状态而进入事件处理,事件处理完成后,继续进入节电状态。在嵌入式程序设计时,一个程序到底使用中断方式还是查询方式,对于一些简单的应用并不那么重要,但在其低功耗特性上却相去甚远。使用中断方式,微控制器可以什么都不做,甚至可以进入等待模式或停止模式;而在查询方式下,微控制器必须不停地访问寄存器,这会带来很多额外的功耗,所以,用软件进行设计时,除非系统本身已要求采用查询方式,否则应尽可能采用中断方式进行编程。
4、定时器延时程序的采用
当软件设计中需要用到延时程序时,设计人员应多使用定时器延时方法来进行设计。这是因为,通常嵌入式处理器进入待机模式后,CPU会停止工作,而定时器可以正常工作,由于定时器的功耗很低,故当处理器调用延时程序后,嵌入式系统便可进入待机模式,此时定时器可以继续工作,定时时间一旦结束,即可唤醒CPU重新进入工作,这样不但降低了CPU功耗,还提高了CPU的工作效率。而如果采用查询方式,则CPU会不断地对系统进行查询,由于CPU时刻工作,这样不但效率低下,同时处理器功耗也很大。
5、算法优化
优化算法多出现在嵌入式DSP中,采用大量现成的公式和计算方法,可以节省系统内部运算的时间,减少功耗;另外,在嵌入式系统允许的误差情况下,也可以近似用比较简单的函数来取代复杂函数进行运算,从而减少功率消耗。
结语:嵌入式系统的设计涉及到硬件设计和软件设计两个方面,在实际系统应用时,低功耗的设计并非是单方面的因素,需要综合考虑各种可能的原因、条件和状态,应把硬件设计和软件设计综合起来进行考虑,并对细节进行认真的分析,同时对多种可能的方案和方法进行计算和总结,这样才可能取得较为满意的效果,最终达到降低系统功耗的目的。
参考文献:
【关键词】嵌入式 信息终端 通讯子系统 设计 实现
信息终端理论具有广博的范畴,笔者则是侧重PSTN网络固化用户来探究如何科学设计信息终端通讯子系统的。主体目标就是打造一个通讯平台,借助这一平台信息终端可以丰富信息服务,增加服务项目与服务内容,通过这一平台信息所提供的通讯资源,业内人士能够发明更多新型服务,打破传统简单的普通电话语音服务的局限性,使用户能够享受到更多元化的服务,满足用户的需求。
一、PSTN与嵌入式技术分析
(一)PSTN简单介绍
PSNT的全称为:公共电话交换网,主要是以语音服务为主的网络系统,在高端电信技术的支持下,网络系统的绝大部分都达到了数字化高度,
当前市场上对于PSTN用户提供的服务多数带有一定的局限性,而且所有的服务尚未被整理在同一个信息终端中,嵌入式技术作为一种时下流行的技术,目前已经被广泛开发与利用,将其应用于PSTN能够达到IP层的数据传输,这一技术具有更广阔的功能与优势。
(二)嵌入式系统的简单介绍
嵌入式系统又被称作:微处理器。这一系统目前被广泛利用于多个领域。特别是将其应用于PSTN系统上具有一定的可行性,具体体现在:1.嵌入式系统获得飞快发展,具有功能全、体积小的特点,促进了微型信息系统的发展。2.对于PSTN在信号传播过程中所用到的调制解调芯片,其协议具有高度的集成性,功能也更为健全,具有良好的开发接口。3.由于嵌入式系统技术的持续发展进步,将其同互联网联系起来,有效地克服了internet 同计算机系统之间的矛盾,极大地降低了应对与解决网络协议时产生的负担,而且伴随着嵌入式操作系统的引入,整个系统的功能扩展性增强,系统的稳定性增强,为用户提供更为细致周到的服务,服务项目也更加丰富。
二、嵌入式信息终端通讯子系统设计方法
(一)通讯子系统与嵌入式信息终端系统关系
信息终端中,应用同服务是相互对应的,通过设计来完善服务,也就是说要凭借系统所供应的资源,参照服务特点来对应策划出应用,在利用通讯子系统资源的条件下,应用程序对应提供各种服务,应该根据服务所需要的基本协议来对通讯子系统进行设计,充分发挥操作系统的作用,实现对终端通讯资源的管理,二者的关系图如下所示:
以嵌入式系统为基础构建信息终端系统的通讯子系统,需要引入嵌入式微处理器以及调制解调芯片。
(二)通讯子系统的设计方法:
通常情况,信息系统是从顶端向下来设计的。1、先明确客户的服务需求,再来分析系统的工作流程,进一步对系统的服务流程与结构做出规划,从而抉择出功能模块。2、对功能模块进行集中探究找出其内部流程,在对内部流程科学分析情况下,来决定针对硬件设备操作的底层模块。3、对已经选择的硬件设备做出全面的总结与分析,确保底层模块功能的发挥。
嵌入式信息终端系统的设计的核心所在就是要实现其应用价值,所采用的设计方法也是直接针对于服务,然而这些服务的实现,则需要调动通讯子系统功能模块,而且必须有底层模块做支撑。根据以上的分析可以看出:对信息终端通讯子系统的设计需要对服务做好分析,设计需要针对于服务来完成功能模块的设计,进而根据功能模块完成底层模块的设计。
与此同时,与子系统的设计类似,通讯子系统服务功能的实现也本着一样的思路,然而,由于不同阶段的预期目标有所差异,需要针对服务展开分析,明确在整个服务流程中,单个服务的详细定位,其中针对于服务的功能模块的设计就是要提供出与服务相对的功能模块内部程序;针对于功能模块的底层模块设计就是要通过参照通讯子系统中的信号底层模块,达到对底层模块的设计,实质上这其中无非是对设计的编辑与运用。
(三)嵌入式信息终端通讯子系统设计的特点
在PSTN通讯子系统的设计方面已经形成了多种方法,然而,几乎所有的设计方案都是对应某一特定服务,其不足之处在于无法兼具新类型的服务,就是说不能够更好地扩展服务项目与服务内容,然而,对应的嵌入式设计方案则有效地解决了这些问题。这一设计方法能够兼容新类型服务。
(四)嵌入式信息终端通讯子系统所能够提供的服务类型
在嵌入式系统的有效支撑下,通讯子系统的服务类型更加多元化,这些服务类型也更具深刻的意义与典型性特征,以往的普通语音服务得以持续,对应又新增了一系列服务类型,那就是:固网短信服务、互联网网络服务以及远程控制服务等等,大大增加了服务类型,提高了对用户的服务水平。
三、总结
嵌入式设计方法是一种科学有效的通讯子系统信息终端设计方法,这一设计方法在PSTN中的运用,有效增加了信息服务项目,拓展了服务类型。
参考文献:
[1]梁衍学 基于DSP的VXI采集系统的研究与实现[学位论文].2003
[2]周建辉 6-PSS并联机床实时数控系统应用研究[学位论文].2003
关键词: 嵌入式技术; 无线传感网络; 火灾检测; 时监测
中图分类号: TN911.23?34; TP27 文献标识码: A 文章编号: 1004?373X(2017)10?0168?04
Abstract: A fire detection system based on embedded technology is studied. The wireless technology and embedded technology are used to design the fire detection system. The system can collect the fire factor in real time, and uses the modes of wireless communication and route transmission to transmit the data to the processor, so as to generate a fire decision, and perform the early warning. The wireless communication method is adopted in Internet and mobile phone monitoring center to acquire the early warning information and environmental parameters timely. According to the monitored smoke, atmospheric pressure, temperature, relative humidity and other information, the environmental condition of the forest is analyzed comprehensively to forecast the fire effectively, and avoid the economic losses caused by forest fire. The experimental results show that the system has reached the expected target.
Keywords: embedded technology; wireless sensor network; fire detection; real?time monitoring
在特定环境以及人民活动范围逐渐提升的过程中我国的森林火灾事件频频出现。森林火灾具有危害性大以及难以预测的特性。由于森林火灾的危害性和普遍性以及森林资源的珍贵性使得森林防火的重要性越来越大,所以应当通过对高效精确技术手段的应用来有效地预警和监测森林火灾[1?2]。
通过对无线技术和嵌入式技术的应用所设计的火灾检测系统,能够实时地采集火灾因子,采用无线通信和路由传输的方式将数据传输到处理器中,进而生成火灾决策和预警。互联网以及手机监测中心可以采用无线通信方法及时地获取预警信息和环境参数,根据所监测的烟尘、大气压、温度以及相对湿度等信息来综合分析森林环境状况,进而有效地预报火灾,避免森林火灾产生较大的经济损失[3?4]。
1 火灾检测系统总体设计
森林具有数目分布随机、面积广以及距离短的特点,因此本文以ZigBee技术为基础设计了一种无线传感器网络来监控森林火灾。作为一种自组织、低复杂度、近距离、低功耗以及低成本的无线组网通信技术,ZigBee技术具有有线系统所不具有的优势,能够以较为灵活的方式进行安装和布置,同时具有较高的可靠性、较低的能耗以及低廉的安装费用等优势,因此在实时监测森林火灾的过程中能够发挥非常重要的作用[5?6]。
系统的整体结构框图如图1所示。外部通信网络、数据采集网络、终端设计以及主控制器是本文所设计火灾检测系统的主要组成部分。其中终端节点、路由器以及协调器是无线数据采集网络的三种功能节点,通过自组织这三种功能节点能够组成无线通信网络,各种传感器组成了终端设备,在风力、烟雾浓度以及温度等森林环境参数监测的过程中能够发挥非常重要的作用。
主控制器,也就是嵌入式网关,该部分为系统的主要控制部分,需要将系统外部网络与内部网络连接起来;另外利用ZigBee无线网络能够实时地监测智能终端设备[7]。内部网路,也就是无线数据采集网络,多个 CC2530 模块组成了这种网络。模块中包含终端节点、路由器以及解调器三种类型的节点,通过ZigBee无线网络能够将终端节点上所采集的数据传输到协调器,然后利用UART接口协调器能够将数据传输到嵌入式网关中。传感器主要包含风力传感器、气体传感器以及温湿度传感器等,主要在内部网络的终端节点上进行安装,主要对目标区域的环境参数进行采集。
外部网络, Internet,用户通过外部网络能够远程访问整个系统[8]。
2 系统硬件设计
2.1 嵌入式模块硬件设计
作为一种中央处理器架构,ARM架构和PC 常用的X86比较类似,这种架构具有稳定性高、效率高、成本低以及功耗低的特点,因此在嵌入式设备的应用非常广泛[9]。本文在设计的过程中对S3C2440A 处理器进行了应用。
(1) 供电电路。本文设计的嵌入式系统中使用 5 V,3.3 V及1.25 V 三种电压供电。5 V和3.3 V电压为存储器和外部设备供电,1.25 V电压为S3C2440A 处理器的内核供电。3.3 V电压由5 V电压经过AS1117AR?3.3芯片转换,1.25 V电压由3.3 V电压经过MAX8860EUA 芯片转换得来[10]。供电电路如图2所示。
(2) USB 接口电路。本文使用4线制的USB连接方式,USB 的接口电路如图3所示,D+,D-端用于传输数据。
(3) 以太网电路。本文研究的嵌入式检测系统中使用DM9000 网卡芯片作为以太网连接,使用H1102 网络变压器作为电气隔离以及保护芯片之用[11]。
2.2 无线通信模块硬件设计
本文设计火灾检测系统的无线通信模块使用TI 公司的 CC2530 芯片作为射频芯片。
(1) 主控器最小系统。最小系统电路是实现主控器基本功能的基础电路,如图4所示[12]。
2.3 传感采集模块硬件设计
(1) 温湿度传感器。本系统采用SHT10数字式温湿度传感器芯片对检测区域内的环境温湿度进行实时监测,该芯片抗干扰能力突出、功耗低、体积较小。SHT10数字式温湿度传感器芯片与CC2530主控模块连接见图6。
(2) 烟雾浓度传感器 MQ?2。本系统采用MQ?2 烟雾浓度传感器对检测区域内的环境烟雾浓度进行实时监测,该芯片抗干扰能力突出、对烷类气体检测效果最优。其工作电压为DC 5 V,检测范围在100~1 000 ppm。MQ?2 烟雾浓度传感器与CC2530主控模块连接如图7所示,传感器需要经过LM358 放大处理后与CC2530进行连接[13]。
3 系统软件设计
3.1 采集节点的程序设计
在接通电源以后采集节点首先初始化整个系统。完成初始化以后就开始对节点自身附近的可用信道进行扫描,如果有可用信道就通过发送入网请求来进入到网络中。根据前面的描述,森林检测环境非常复杂,只能采用池供电的方法对实际森林环境进行检测,因此节点的能量会受到一定的限制。
为了减少节点采集过程中所耗费的能量,在完成初始化后节点就进入到休眠状态,利用定时采集数据的方法能够唤醒采集节点。当达到定时时间以后就会唤醒节点,根据所设置的定时周期就可以周期性地采集森林环境数据,然后直接或者间接地将采集到的数据传输到网关节点中,就能够不间断地监测森林环境,还能够保证实时和高效地传输网关节点和采集节点之间的数据。另外还能够有效地避免节点消耗过多的能量,对于整个系统生命周期的延长有非常重要的作用。采集节点的程序流程如图8所示[14]。
3.2 路由节点的程序设计
在对路由节点程序进行设计的过程中,应当保证路由转发数据功能的实现。在申请进入网络以后路由节点需要根据所设置的周期对森林环境数据进行不间断的采集,另外还要对其他路由节点和采集节点发送过来的数据进行采集,最后将这些数据传输到网关节点中。路由节点的流程如图9所示[15]。
3.3 网关节点的主程序设计
在整个森林火灾检测系统中网关节点是核心部分,能够连接监测中心和传感器节点。既要对路由节点和传感器节点发送过来的环境数据进行接收,还要通过对通信模块的控制将数据传输到远端监测中心;另外一方面各个传感器节点通过网关节点能够获取监测中心的指令。在接通电源后网关节点首先初始化核心微处理器模块,同时对无线通信模块进行初始化。初始化完成后通过对空闲信道的扫描来建立全新的网络,并对所建立的网络进行启动。
接下来节点的地址信息通过网关节点传输到周围的传感器中,如果传感器处在有效的通信范围内,而且接收到了信息,才对网关所分配的地址成功获取以后就能够将确认信息发送到网络中,使得成功地组建系统网络。这样传感器所发送的入网请求就能够得到定时的响应和监测,对于传感器节点所采集到的环境数据也能够顺利的接收。网关节点的主程序流程如图10所示[15]。
3.4 监控组态软件设计
基本上所有的工业软硬件通信接口都能够实现与组态王的兼容,因此可以将其称之为具有开放性特点的监控系统集成平台。具有适应性强以及展性强的特点。利用组态王能够进行网络的,另外通过浏览器监控端能够在任意的位置对监控画面和监控的数据进行查看。图11为组态王操作智能板卡的方法。设计人员利用组态王对所用板卡的驱动程序进行固定调用以后就能够对板卡的逻辑关系进行使用,另外利用组态王能够自动的完成其他底层的操作。
嵌入式火灾检测系统的组态界面如图12所示。
4 结 论
本文研究一种基于嵌入式的火灾检测系统,通过对无线技术和嵌入式技术的应用所设计的火灾检测系统。对检测系统的嵌入式模块硬件、无线通信模块硬件、传感采集模块硬件进行了设计。对系统采集节点程序、路由节点程序、网关节点程序及组态软件进行了设计。结果表明,该设计达到了预期目标。
参考文献
[1] 苏坡.基于ZigBee无线传感器网络的森林火灾监测系统研究[D].西安:长安大学,2015.
[2] 杨磊.基于ZigBee和GPRS无线远程森林防火系统研究与设计[D].沈阳:沈阳理工大学,2015.
[3] 曹流圣.基于Android和ZigBee技术的室内智能监控系统的设计与实现[D].杭州:浙江大学,2015.
[4] 陈静.基于LabVIEW的校园宿舍消防安全管理系统的设计与实现[D].成都:电子科技大学,2014.
[5] 邓懿.基于ARM与ZigBee的矿井安全监测系统研究与设计[D].兰州:兰州交通大学,2015.
[6] 黎智成.基于Zigbee无线通信网络的智能办公综合监控系统[D].广州:华南理工大学,2012.
[7] 尹红敏.基于ZigBee的矿井安全监测系统设计[D].太原:中北大学,2013.
[8] 尹盼.基于ZigBee技术的矿井综合监测系统设计与网络节点开发[D].长沙:中南大学,2009.
[9] 战胜.基于组态王的变电站综合监控系统设计及应用[D].北京:华北电力大学,2014.
[10] 马加名.基于GIS的高校学生宿舍火灾风险评估及应急决策系统研究[D].武汉:武汉理工大学,2014.
[11] 张志强.高等学校学生宿舍安全管理研究[D].上海:上海师范大学,2015.
[12] 张军国,李文彬,韩宁,等.基于ZigBee无线传感器网络的森林火灾监测系统的研究[J].北京林业大学学报,2007(4):41?45.
[13] 汤文亮,曾祥元,曹义亲.基于ZigBee无线传感器网络的森林火灾监测系统[J].实验室研究与探索,2010(6):49?53.
MicroBlaze嵌入式软核的运行速度较快,可配置性强,属于32位RISC处理器,该处理器支持CoreConnect总线的标准外设集合,和CPU同频,并支持FCB、XSL、XCL等高速连接,此外,通过MAILBOX和MUTEX,该软核处理器还能实现多核处理系统。从理论上来讲,FPGA容量是唯一影响CPU数量的因素,但是实际上CPU数量最多只能到8个。对MicroBlaze处理器进行设计之前,需要先明确其功能任务,这样才能快速选取或者设计处理器组件,进行参数化控制,缩短设计时间。设计MicroBlaze处理器时选用任务目标为导向的设计方法,设计的主要内容如下所述:(1)根据FPGA型号确定主频,并根据处理能力需求确定单核或者是多核。(2)根据具体的软件运行空间和处理器要求,确定容量、FLASH芯片及RAM类型。(3)根据需要的外部接口、外部芯片及片内模块等,选取相应的IP-Core或设计相应的模块,实现各类接口。初步确定设计的参数和元件后,进行优化设计。
2嵌入式系统结构
本文采用SOPC技术设计了基于MicroBlaze软核处理器的嵌入式系统,设计过程体现了SOPC技术的优点。系统的网络接口选择SMSC91C111芯片实现,支持CoreConnect总线的标准外设集合,DDRSDRAM和BRAM用来存储相关的数据,并且存储的数据不同,其中BRAM存储系统数据及系统运行代码,DDRSDRAM存储系统中的软件代码和系统参数。LCD显示屏的主要作用是显示系统的运行状态。该系统要实现和以太网的数据传输,其实质是以太网控制器,具有MAC层及物理层的功能。
3基于MicroBlaze的嵌入式系统开发流程
完成MicroBlaze处理器的设计之后,开始对嵌入式系统的硬件进行设计,硬件的设计如下所述。先创建硬件平台,平台的创建通过XPS的BSB向导实现;然后删减或者添加开发板平台的IP核,并对IP核的属性进行设置;最后在SystemAssem⁃blyview界面中分配地址、对端口和相应的总线连接进行设置。在开发板中下载系统生成的正确的Bitstreams,SDK中运行相应的应用程序时会看到对应的现象。系统的开发包括硬件开发和软件开发,通过EDK平成。
3.1硬件开发设计
用基本系统向导BSB搭建Microblaze平台,平台的搭建主要包括三方面的内容:确定FPGA器件的型号,并对器件的属性进行设置;根据系统需求添加需要的外设,添加之后设置其属性;平台功能测试等。XPS能够自定义IP核,生成向导创建User_Logic用户逻辑模块及IPIF接口模块,两个模块的功能和属性各不相同,其中用户可以采用User_Logic模块,根据系统需求任意添加自定义逻辑,不必考虑它们和Microblaze之间的通信链接,而IPIF接口模块的功能是进行协议转换并捕捉到PLB总线信号,和PLB总线进行交互,如果用户想要自定义输入/输出信号,只要在IPIF模块中声明即可。设计系统平台时,需要添加多种外设,如添加SMSC91C111芯片的控制逻辑;添加外部存储器SRAM的控制逻辑;FPGA的I/O接口控制逻辑及添加用户自定义的逻辑接口控制逻辑等,这些外设和Microblaze软核处理器的连接是通过特定的片内总线实现。
3.2软件开发设计
通过EDK平台的SDK组件可以完成完整的嵌入式系统软件平台的设计。利用SDK组件用户可以生成需要的MHS文件及MSS文件。MHS文件包含了整个MicroBlaze系统的总线、外设、处理器等描述。MSS文件包含了全部的外设驱动信息描述,通过驱动文件完成软件调度程序,由MB2GCC工具编译调度程序生成可执行程序。最终生成软件程序及.bit文件下载到开发板。程序设计好之后,需要进行测试,如果程序运行中存在问题,则可以应用XMD调试软件,使程序更加完善,解决问题完成设计。MHS文件可以根据系统需求进行更改,使系统变得更加完善。PlatGen(硬件平台生成器)产生整个系统的网表,结合约束文件能够生成可配置文件(.bit),用来下载。此外,EDK还提供了大量的函数库,完整的操作系统及板级支持包(BSP)都能够帮助用户开发软件平台。用户可以根据功能需求需要对外设进行设置,应用VerilogHDL或者VHDL代码在ProjectNavigatorISE环境中对用户的IPcore进行设计,然后利用creat—importperipheral工具(XPS中)完成创建和导入IPcore。EDK系统存在的IPcore和用户自己定义的IPcore可以构建一个完整的嵌入式系统。
3.3操作系统的移植
该嵌入式系统应用了μC/OS操作系统,该操作系统是一种实时操作系统,比较适用于微控制器。设计μC/OS操作系统时,要以平台的移植需求为基础,对于不同的平台μC/OS系统的要求也不相同,因此,需要改写宏和函数。*OS_ENTER_CRITICAL及OS_ENTER_CRITICAL:这是两个不同的宏,它们的主要功能是进行临界段保护。在该嵌入式系统中临界段保护的实现需要利用汇编代码关。*OS_TASK_SW:这个宏的主要作用是用于任务切换,嵌入式系统中任务切换主要利用CPU的软件中断方式实现。如果需要中断则调用此宏,宏产生软件中断,相应的中断处理程序会对中断进行处理,实现任务的切换及上下文保护。*OSIntCtxSw::采用纯汇编实现中断级任务切换。*OSTickISR:采用纯汇编实现系统定时器中断的处理函数。*OSCtxSw::采用纯汇编实现,用户级上下文切换。*OSTaskStkInit:创建任务时,初始化任务堆栈。
4结论
(Ed.)
UML-B Specification for
Proven Embedded Systems
Design
2004, 300pp.
Hardcover $ 129.00
ISBN 1-4020-2866-0
Kluwer Academic Publishers
本书介绍了贯穿整个模块系统设计方法论的系统性质形式证法。该方法论将子系统的共同验证与虚拟系统部件的系统精化和复用性相结合,通过规约的形式与非形式方法相结合,由UML和B语言来完成。这样就允许通过经证明的子系统的合成来验证系统规约(对于接口则给予某些特别的注意,符合VSIA/SLIF方法)。将B语言与C、VHDL和SystemC语言相连,将通过构造校正设计的过程扩展到较低的单片系统开发阶段。因此证明嵌入式软件产品是与证明硬件产品相配套的。书中开发了用于从UML和B语言产生代码的原型工具,现有的B语言验证工具被拓展成支持IP的再使用,这都是根据VSIA的推荐。书中所涉及的方法论及工具是通过开发三个工业应用来验证的,即无线移动终端、建立在HIPERLAN/2协议基础上的电信单片系统、以及汽车的防碰撞组件。
全书共有17章。第1章形式方法介绍:它们是怎样应用于嵌入式系统设计的?第2章使用UML、B和SystemC的形式统一系统规约环境;第3章使用PUSSEE方法设计嵌入式系统;第4章借助事件B的系统层次建模与精化;第5章用于UML中形式系统建模的UML-B简况;第6章U2B―用于从UML-B模型转换到B语言的工具;第7章BHDL硬件描述语言;第8章用于UML对硬件描述语言映射的概念性框架;第9章B语言中基于接口的合成精化;第10章借助互补模型检验的有限状态机的精化;第11章适应漫游控制实例研究设计实验;第12章适就漫游控制器实例的研究;第13章使用事件B的电子线路形式建模;第14章回送注销单元实例研究;第15章可移动设计系统实验结果;第16章UML-B规约与汉明编码器/解码器的硬件实现;第17章实践中的PUSSEE方法。书后的附录A1:嵌入式系统设计方法的评估标准。
本书描述的问题有一定的难度,所获得的成果证明了该项目研究的成功,且视野广阔,因此受到欧洲专家的肯定。本书公布的形式方法现在已经能够应对工业中有难度的问题,便于设计工程师、大学教师和研究人员使用。
胡光华,高级软件工程师
(原中国科学院物理学研究所)
关键词:ARM;嵌入式系统;linux;BootLoader
中图分类号:TP274文献标识码:A文章编号:1009-3044(2008)09-11724-02
The Design and Realization of Embedded System Based on ARM
LIN Hua
(Computer Science College of Yangtze University, Jingzhou 434023, China)
Abstract: This paper designed a new embedded system based on ARM.Firstly, it introduced the embedded system hardware design, Secondly, it analyzed detailedly the compile and transplant course of the uCLinux, in the end it discussed on the communication software design for uCLinux.
Key words: ARM; Embedded System; Linux; BootLoader
随着计算机技术和半导体技术的发展,嵌入式系统在个人数据处理、多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域内得到了广泛的应用,各种嵌入式相关的新产品纷纷涌现。嵌入式系统越来越引起人们的关注,对嵌入式系统的研究,是掌握信息技术的核心。本文以处理器S3C44B0为核心,设计出一个基于ARM+uCLinux的嵌入式系统,对于嵌入式系统有独到的研究。
1 嵌入式硬件方案设计
1.1 系统硬件平台
系统的硬件平台主要是由嵌入式处理器、FLASH、SDRAM、以太网接口、USB接口、UART接口、JTAG接口、I/O接口、I2C、系统电源、复位电路等组成。系统硬件结构图如图1所示:
1.2 主要硬件的设计
1.2.1 ARM嵌入式处理器的设计
处理器采用Samsung公司的S3C44B0微处理器,S3C44B0最突出的特点是它的CPU核使用ARM公司的16/32位ARM7TDMI RISC结构。ARM7TDMI系统扩充包括Thumb协处理器、片上ICE中断调试支持和32位硬件乘法器。S3C44B0通过在ARM7TDMI内容基础上扩展一系列完整的通用器件,主要包括:8KB的Cache,外部存储器控制器,LCD控制器,2通道UART,4通道DMA, 71个通用I/O端口,8个外部中断源等。
1.2.2 网络接口的设计
采用RTL8019AS芯片作为网络接口芯片,RTL8019AS是一种高度集成的以太网芯片,能简单的实现Plug and Play并兼容NE2000,芯片内部集成了DMA控制器、ISA总线控制器、16KSRAM,用户可以通过DMA方式把需要发送的数据写入片内SRAM中,让芯片自动将数据发送出去;而芯片在接收到数据后,用户可以通过DMA方式将数据读出。
1.2.3 USB接口的设计
采用PDIUSBD12作为USB接口芯片,PDIUSBD12是一款性价比很高的USB器件,完全符合USB1,1版的规范,它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口,它还支持本地的DMA传输。
2 软件体系的设计
软件开发过程包括BootLoader设计、uCLinux的编译和移植、uCLinux下的网络编程和应用程序开发等。
2.1 BootLoader的设计与实现
在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,BootLoader可以完成对系统板上的主要部件进行初始化,也可以下载文件到系统板、对CPU、SDRAM、Flash,通过串行口Flash进行擦除与编程。
BootLoader作为系统复位或上电后首先运行的代码,一般应写入Flash存储器中并从起始物理地址0x0开始。BootLoader根据实现的功能不同,其复杂程度也各不相同。一个简单的BootLoader程序可以仅仅完成串行口的初始化,并进行通信,而功能完善的BootLoader可以支持比较复杂的命令集,对系统的软硬件资源进行合理的配置与管理。因此,用户可根据自身的需求实现相应的功能。BootLoader的设计步骤一般如下:
2.1.1 系统初始化
系统初始化主要实现以下的几个功能:
(1)进入SVC32工作模式(管理模式),以取得访问一些系统资源的权限。
(2)禁止所有的中断并清除所有中断标志。
(3)初始化SYSCFG寄存器。
(4)导入链接器预定义的变量,为存储器的重映射做准备。
2.1.2 Memory Remap的实现
Memory Remap就是地址重映射,即存储空间的重新分配,主要分为以下几个步骤:
2.1.2.1 初始化SDRAM
系统刚上电后,只有Flash是可用的, SDRAM没有被初始化,是不可用的。此时Flash被映射到0-2M的地方。通过配置相关寄存器完成SDRAM的初始化后,SDRAM被映射到了2-18M的位置上。此时的Memory Map为:0-2M是Flash,2-18M是SDRAM
2.1.2.2 将BootLoader从Flash中复制到SDRAM中
在此之前,BootLoader一直是在Flash里面执行的。为了实现Memory Remap,并且保证remap后BootLoader可以继续执行,需要把BootLoader自己全部复制到SDRAM里面去。BootLoader的大小利用链接器预定义的程序段变量。此时,在SDRAM里己经有了一个BootLoader的拷贝,但是必须注意,BootLoader还是在Flash里面执行。此时的Memory Map为:0-2M还是Flash,2-18 M还是SDRAM,但是SDRAM里面多了一个BootLoader的拷贝。
2.1.2.3 地址重映射
通过设置S3C44B0的相关寄存器,可以完成最后的地址重映射。SDRAM在0-16M的位置,而Flash被Map到了16-18M的位置。由于在SDRAM有一份BootLoader的拷贝,所以Remap以后BootLoader将转到SDRAM里面来执行。
2.1.3 Kernel的装载
此处的Kernel即为uClinux的内核映像,完成Kernel把控制权交给了uClinux来管理,Kernel将被装载到的装载后,系统就0x8000处。Kernel的装载过程如下所示:
(1)将RW段复制到OxA0,0000处,ZI段清零。
(2)设置堆栈指针SP=0x80,0000。
(3)跳转到函数loadkernel()中。
(4)将Kernel装载到0x8000,同时将PC指向0x8000。
(5)Kernel获得控制权,接管整个系统。
2.2 嵌入式操作系统的编译与移植
本系统采用uCLinux作为操作系统,uCLinux包含一整套的编译、调试等开发工具、内核源代码、各种文件系统、图形接口、各种协议、驱动程序以及丰富的应用程序。uCLinux操作系统主要由内核、Shell、文件结构组成;其中内核是系统的心脏,是运行程序和管理磁盘、打印机等硬件设备的核心程序。Linux的内核主要由5个子系统构成:进程调度、内存管理、虚拟文件系统、网络接口和进程间通信,在设计时,可以根据需要配置内核选择体系结构和裁剪内核。
2.2.1 uClinux交叉编译环境
uClinux交叉编译环境的建立可分为以下两个步骤:
(1)要在宿主PC机上安装标准Linux操作系统(也可以在Windows环境下安装Cygwin,模拟Linux环境,但可能在开发过程中产生兼容性错误,因此不推荐),如RedHat Linux,并对计算机的硬件设备如网卡进行配置,确认网络配置正确。
(2)要在宿主PC机上安装交又编译的一些工具链,主要有以下这些: arm-elf-binutils,arm-elf-gcc, genromfs,arm-elf-gdb, elf2flt等。
2.2.2 uClinux内核的编译和移植
uClinux内核采用模块化的组织结构,通过增减内核模块的方式来增减系统的功能,因此,通过正确合理的设置内核的功能模块,只编译系统所需功能的代码以减少内核的大小。编译工作的具体步骤下所示:
(1)解压源代码文件并进入到uClinux-Samsung目录中。
(2)make menuconfig进行内核配置。
(3)make dep寻找文件依赖关系。
(4)make clean清除无用文件。
(5)make lib only 编译库文件。
(6)make user_ only编泽用户应用程序文件。
(7)make image编泽内核文件。
(8)make编译完成,生成内核文件。
编译上述步骤后,会在images目录下看到一些文件,如:linux.text,linux.data,romfs.img,image.bin,image.rom,image.ram,boot.rom。
最后,将image.rom烧写入Flash存储器的0x0处,当系统复位或上电时,内核会自解压到SDRAM,并开始运行。可以通过串行口观察uClinux的启动情况。
如果编译和加载的过程都正确,就可以在超级终端中看到uClinux移植成功的相关提示。
2.3 uCLinux下的网络编程
2.3.1 uCLinux下的网络编程协议简介
uCLinux下的TCP/IP网络协议栈的各层之间是通过一系列互相连接层的软件来实现Internet地址族的。其中BSD socket层由专门用来处理BSD socket的通用套接字管理软件来处理,它由INET socket层来支持。INET socket为基于IP的协议TCP和UDP管理传输端点。 UDP是一个无连接协议,而TCP(传输控制协议)是一个,TCP靠的端对端协议。传输UDP包的时候,uCLinux不知道也不关心它们是否安全到达了口的地。TCP则不同。在TCP连接的两端都需要加上一个编号,以保证传输的数据被正确接收。在IP层,实现了Internet协议代码,这些代码要给传输的数据加上一个IP头,并且知道如何把传入的IP包送给TCP或者UDP协议。在IP层以下,就是网络设备来支持所有的uCLinux 网络工作,如PLIP, SLIP和以太网。
2.3.2 uCLinux环境下的socket编程
网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符,也具有一个类似文件的函数调用socket()。该函数返回一个整型的socket描述符,随后的连接建立、数据传输等操作都是通过该socket函数实现的。常用的socket类型有两种:流式socket和数据报式socket。两者的去别在于:前者对应于TCP服务,后者对应于UDP服务。uCLinux中socket编程中用到的函数有:
(1)socket函数:为了执行I/O,一个进程必须做的第一件事情就是调用socket函数,指定期望的通信协议类型(使用IPv4的TCP、使用IPv6的UDP, Unix域字节流协议等)。
(2)connect函数:TCP客户用connect函数来建立一个与TCP服务器的连挂。
(3)bind函数: 函数bind给套接口分配一个本地协议地址,对于网际协议,协议地址是非颠倒2位IPv4地址16位的TCP或UDP端口号的组合。
(4)listen函数:仅被除数TCP服务器调用。将未连接的套接口转换成被动套接口,指示内核应接受指向此套接口的连接请求。根据TCP状态转换调用函数listen导致套接口从CLOSED状态转换到LISEN状态。listen函数还规定了内核为此套接口排队的最大连接个数。
(5)accept函数:accept函数由TCP服务器调用,从已完成连接队列头返回下一个己完成连接。若己完成连接队列为空,则进程睡眠。
3 小结
嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统已经在各个领域 得到了广泛的应用,如远程监控、智能仪表、数控系统、消费产品等。随着嵌入式系统软硬件技术的飞速发展,其在行业的应用领域必将更为广阔,嵌入式系统的研究将会有非常广泛的前景。
参考文献:
[1] 魏忠,蔡勇,雷红卫.嵌入式开发详解[M].北京:电子工业出版社,2003.
[2] 王陈赜.ARM嵌入式技术实践教程[M].北京:航空航天大学出版社,2005.
关键词:嵌入式; 自动控制; 模糊控制; 高温沸腾炉
中图分类号:TP319 文献标识码:A 文章编号:16727800(2013)009009603
作者简介:程学先(1945-),男,湖北工业大学工程技术学院教授,研究方向为软件工程、数据库、管理信息系统、计算机控制;程传慧(1979-),女,博士,中南财经政法大学信息与安全工程学院副教授,研究方向为计算机网络。
0引言
单片机是工业控制中大量使用的前端控制器,应用嵌入式系统常可实现升级。高温沸腾炉以煤粉为燃料,实现工业现场所需高温,通过加煤使炉膛温度上升,通过加风使炉膛温度下降,通过二者结合控制温度变化以满足工艺需要。我们曾开发基于单片机的高温沸腾炉控制系统,存在如下问题:①很难使用数学模型来精确地描述整个燃烧过程,采用模糊控制技术,要求采集较大数量的参数且有较高精度,使用单片机有局限性[1];②某些场合需要采用无线数据传送方式,现有系统不能满足要求;③参数调整只能采用键盘方式,不能用可视化调整方式,曲线不够光滑。采用嵌入式系统可解决上述问题。
1硬件设计
系统输入信号包括:炉膛温度、尾气温度、鼓风机风门位置(鼓风开度信号)、混合室温度、给煤机转速、鼓风风压、炉膛负压、引风风门开度及引风机开度信号;输出信号包括给煤变频器的模拟信号和变频器转速、鼓风开度、鼓风机电流、引风机电流、鼓风压力与炉膛负压控制等信号,及与上位机通信信号。
新系统选择凌阳SPCE3200系统为主控模块,扩展TFT液晶接口模块(包括LCD触摸液晶屏)、无线传输模组、ZigBee、GPRS模组、音频输出模块、USB模块、看门狗电路、并行口扩展模块等,其结构如图1所示。
SPCE3200板有9路12位的ADC(A/D Converter),各路传感器采样信号经运算放大器放大后直接接各输入端;有双通道16位高速DAC,分别用于控制信号与语音信号的输出;内置SDDRAM最大容量可达16M字节,能满足本设计对数据的存储需要;内置UART接口及RS232电平转换电路,能直接实现与上位机的通信[4]。
TFT LCD(薄膜晶体管液晶显示器)用于显示主要参数与控制量变化曲线,还可以触摸方式修正曲线走向,可视化实现参数的平滑调节。
ZigBee无线网络协议具有低功耗、易组网的特点。利用ZigBee模组采用SPI方式与主控制器通信,可以实现与无线传感器无线互联。
GPRS模组采用SIM300通讯芯片,利用无线移动网络实现语音传输和点对点数据传输;其内具备TCP/IP协议栈,可以直接利用它实现无线上网。模组使用标准的UART串行通信接口可以与任何带有通用UART串行通信接口的控制器进行连接。它与音频输出模块协同工作可以实现与手机通信。当系统出现重大异常时可发送手机短信。
USB模块提供与U盘接口,可保存控制过程中输入与输出的数据,用于控制过程分析及控制参数的修正。
对上位机的接口可以方便地连接打印机或与企业管理系统相联系。
2系统软件设计
系统软件基于Linux系统,应用C++开发。
2.1系统软件模块构成
系统包括输入数据处理、输出控制计算、输出数据处理、显示与触摸数据处理、辅助程序等单元,详细模块构成如图2所示。
2.2控制流程
对于采集信号先基于线性平均进行滤波;进而采用线性插值算法实现波形还原;对于不同的异常工作状态,采用不同的处理方式,如图3所示。
2.3控制算法
高温沸腾炉系统对安全性与燃烧过程的稳定性要求很高:温度过低、燃烧效率低,一旦熄火,将严重影响产品质量;炉温过高,燃烧煤粉会因结焦成块而影响生产的安全性。传统的控制算法是直接数字控制系统算法(DDC),可以实现多路调节,监控软件包括实时调度管理程序和中断管理程序,对于主要参数的自动调节采用多路调节和简单自动控制技术[3]。这样的算法动态响应慢,对于惯性大、滞后时间长、存在高时变性的本类系统,无法保证动态品质。
模糊控制不需要建立被控对象的精确数学模型,是通过归纳操作人员和该领域专家的经验而建立的,算法简单、性能优良,有较强的鲁棒性[2]。
程序流程包括:对采集的信号量剔除干扰值、预处理、平滑处理等得到判断依据;再做以下3项处理:①判断这些值是否已经超过临界值,做相应的异常处理;②将数值显示在显示屏上供用户参考;③计算输出量,并从对应的线路上输出。
其中,计算输出量是核心问题。许多数据表明,沸腾炉在炉膛温度从850℃左右上升到930℃左右区间内如果给煤与送风过程比较稳定,炉膛温度模型可以认为是一个线性模型。但850℃~930℃这个区间并非固定,稳定的条件也很难保证,因而实际系统一般是非线性的。
本系统初始使用仿人点动模型(趋势预测模型),认为温度变化是按照某一条曲线进行的,可以按照某一精度将曲线用若干条线段进行模拟。在人工控制状态下,操作人员在温度偏低时,选择多加煤或者多减风操作;当温度上升到达一定的值时,加煤量开始减少(或者开始逐步地加风);例如:温度在850℃时,可能通过仪表输出15mA的加煤输出量,温度迅速上升;当温度上升到了900℃~910℃左右时,控制输出量可能就开始逐步从15mA减少到14mA、12mA、10mA。这样,当温度继续上升时,在980℃~1 000℃左右就不再上升了。模拟这一过程,在求解预期温度时,在数学模型上表现为针对不同的动作(加/减煤,加/减风)求解在某一时刻所属区间的线段斜率。炉内温度系统是多变量、多耦合系统,根据对现场数据的观察与分析,沸腾炉控制变量耦合关系如表1所示。
3结语
本系统能满足高温沸腾炉的控制需求,具有以下特性:①系统有较高独立性,可以单独控制、可以远程控制,易维护、易扩展;②通过大屏幕液晶显示屏可以显示当前与历史各分类曲线,可以人工修改曲线,利用自学习功能改变参数使能根据工艺需要实现更精确的控制,提高控温质量;③传感信息可以有线也可以无线接入,可以适应不同环境需求;④提供了多媒体功能,系统可用性较高。
参考文献:
[1]马明建,周长城. 数据采集与处理技术[M].西安:西安交通大学出版社,2000.
[2]李世勇.模糊控制、神经控制和智能控制论[M].哈尔滨:哈尔滨工业大学出版社,1996.