NucleusPLUS的嵌入式系统的软件设计方案 .docx

上传人:C****o 文档编号:13056473 上传时间:2022-04-27 格式:DOCX 页数:7 大小:109.92KB
返回 下载 相关 举报
NucleusPLUS的嵌入式系统的软件设计方案 .docx_第1页
第1页 / 共7页
NucleusPLUS的嵌入式系统的软件设计方案 .docx_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《NucleusPLUS的嵌入式系统的软件设计方案 .docx》由会员分享,可在线阅读,更多相关《NucleusPLUS的嵌入式系统的软件设计方案 .docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品名师归纳总结基于 NucleusPLUS的嵌入式系统的软件设计本文介绍了离子迁移谱仪的工作机理、软件系统设计以及嵌入式实时多任务操作系统RTOSNucleus PLUS,重点介绍后者在离子迁移谱仪中的详细实现。引言现今社会,毒品走私比较猖獗,对人民的生命财产、社会稳固构成了肯定的威逼,同时大气监测以及对有毒气体的监控也是刻不容缓的。所开发的离子迁移谱仪,是一种利用 IMS 离子迁移谱技术 的专用探测仪,它在确定的温度、气压、电场条件下,通过精确测定离子在电场作用下穿过固定距离的迁移时间,来认定被测可疑物质 中是否具有某些化学成分的分子,并对某些特别的化学物质能够发出报警信息,从而 可用来检

2、测毒品及有毒气体。该系统的工作原理如下:通过细节匹配,对离化后物质的等离子图的波峰位置即物质的迁移时间 的提取来鉴定物质的详细成分。系统的原理框图如图1 所示。图 1系统原理框图离子迁移谱仪需要读取实时数据,并作分析、处理,要求每25ms 处理 1000 个离子信号数据,具有肯定的实时性。同时,它仍需对离子管内的温度、气压、电压等参数进行读取、掌握。设备分析时,要求能快速的判定出物质的成分 不超过 20 秒,而此过程中,涉及到大量的实时数据处理。可见离子迁移谱仪嵌入式系统对容量和速度要求较高,不仅要实时数据处理,仍要对多个参数进行掌握。为了保证系统的牢靠性,提高开发效率,在离子迁移谱仪中必需引

3、入嵌入式实时操作系统。嵌入式 RTOS 挑选可编辑资料 - - - 欢迎下载精品名师归纳总结可用于嵌入式系统软件开发的操作系统很多,但关键是要挑选一个适合的嵌入式实时操作系统。在离子迁移谱仪实时系统的设计中,我们对嵌入式RTOS 的要求如下:(1) 实时性使用时,必需保证进程调用和处理的快速性,由于检测的样品信息需准时分析处理。(2) 稳固性作为系统设计的软件平台,需要具有相当的稳固性。从而保证离子迁移谱仪检测系统即使在多变的外部环境下如气压、温度等,也能够正确执行预定的动作。(3) 内核规模较小由于整个系统的硬件资源有限我们配备了 2M 的 FLASH ,因此源代码必需足够的小,以便写入储备

4、器,提高运行效率。综合考虑各个因素,我们挑选了嵌入式实时操作系统Nucleus PLUS 。NucleusP LUS 是美国闻名 RTOS 厂商 ATIAcceleratedTechnologyInc公司,为实时嵌入式应用而设计的一个抢先式多任务操作系统内核。其95% 的代码是用 ANSIC 写成的,特别便于移植并支持大多数类型的处理器。Nucleus PLUS是一组 C 函数库,应用程序代码与核心函数连接在一起,生成一个目标代码,下载到目标板的RAM 中或直接烧录到目标板的 ROM 中执行。在典型的目标环境中,Nucleus PLUS核心代码区一般不超过20K 字节大小,内核规模特别小。Nu

5、cleus PLUS的特点Nucleus PLUSNucleus PLUS内核的系统结构的系统结构如图2 所示。 Nucleus PLUS内核的主要目的是治理实时任务的竞争运行,为应用供应各种便利,快速响应外部大事,实现实时性。Nucleus PLUS 为系统开发供应以下支持:多任务治理,任务之间可以依据优先级和时间片方式来共享 CPU 资源,通过邮箱、队列和管道进行通信,任务之间的同步和互斥通过信号量、大事组和信号进行。NucleusP LUS供应动态和分区内存两种储备器治理机制, 仍供应定时器来处理周期性大事及任务的睡眠和挂起超时。Nucleus PLUS将这些机制可编辑资料 - - -

6、欢迎下载精品名师归纳总结称之为软件组件,它为每一个软件组件供应了一系列的系统调用,任务与Nucleus PL US 的交互是在系统调用的界面上进行的。从图 2 可以看出,利用Nucleus PLUS开发平台,用户只需编写任务代码和中断 服务程序代码,在任务代码和中断服务程序代码中利用系统调用实现和Nucleus PLUS 的交互,由 Nucleus PLUS来调度多个任务并行执行,实现CPU 的共享。由于 Nucle usPLUS 依据优先级和时间片方式来共享CPU 资源,所以只要任务和中断服务程序的优先级设置得当,系统的实时性就能保证。图 2Nucleus PLUS系统结构多任务治理Nucl

7、eus PLUS实时操作系统中的任务 task 相当于分时操作系统中的进程。在Nu cleusPLUS操作系统中,任务可划分为5 种基本状态:运行状态、就绪状态、挂起状态、终止状态和完成状态,详细见表1 所述。表 1任务的五种状态可编辑资料 - - - 欢迎下载精品名师归纳总结各个任务之中,只能有一个任务处于运行状态。处于挂起状态的任务可以被某些系统调用或大事激发而转到就绪状态。处于执行状态的任务被高优先级抢占之后也处 于就绪状态。就绪状态除了对CPU 的掌握外,该任务已经获得了运行所需的一切资源。任务的调度Nucleus PLUS对任务的调度有两种方式,优先级调度和时间片调度。如图3 所示。

8、当一个更高优先级的任务就绪时,Nucleus PLUS中断低优先级的任务,储存现 场,并先运行更高优先图 3任务调度示意图级的任务,这就是抢占。通过优先级调度可以保证高优先级的任务优先运行。相同优先级的任务间也可以采纳时间片的方式轮番使用CPU 资源,用户只需指定每一个任务的时间片大小, Nucleus PLUS通过时钟中断来运算任务的运行时间,当任务的时 间片耗尽后, Nucleus PLUS会自动进行任务切换。 NucleusP LUS对任务的调度利用类似双向链表数组 TCD_Priority_List数据结构实现。系统软件设计建立 BSP依据 RTOS 的编程模型,软件设计分两步走,第一

9、建立BSP 。即依据目标环境进行系统配置,建立板级支撑程序BSP 相当于标准 PC 的 BIOS 。主要完成系统初始化及与硬件相关的设备驱动,引导目标机硬件到一个确定的状态。分别以Board_Init ,INTInitialize , UARTInit ,LCDInit 等来实现。可编辑资料 - - - 欢迎下载精品名师归纳总结软件功能描述及多任务功能划分依据离子迁移谱仪的工作原理,软件必需实现实时数据采集离子信号和各通道模拟量 、实时掌握 离子管上温度的恒定掌握、维护气路的恒定流量、仍包括对系统中的高压电源、整机电流、整机温度、试纸状态等实时跟踪和掌握、键盘响应、菜单图形显示以及与 PC 机

10、的通信接口等模块。其中前面2 个模块的功能与时间亲密相关,下面将功能详细化:a1 每 10ms 完成一次串行 A/D 采样,对内部的 16 个通道采样数据保持同时采样。实时要求较高。b1 采纳 CPLD 每 25ms 开启一次门信号,采集1000 个离子信号数据。实时要求很高。c110ms完成一次各个温度掌握规律的运算,使各个温度维护在设定的点上。d1 用户按下分析键后,几秒内解读馆内温度需达到的预定点,并且整个分析需在20 秒内完成。e1 对用户通过键盘下达的命令准时给与响应,并在液晶屏上给出对应的显示。1 对检测到的违禁成分立刻赐予报警。g1 与 PC 机进行通信,通过 PC 机能够对存于

11、串行 flash 中的样本库、工作参数等进行修改,或者对其储备的样本库及报警结果传送到PC 机上。依据 DARTS 设计方法,对这些功能要求,我们总共划分以下十个任务:MainTask :主任务,负责从主队列中收消息,依据消息类别与其他任务通信,激活不同的任务。UITask :图形界面显示任务。MCTask :多通道数据采集任务。RCTask :对温度的实时掌握任务。MVTask :数据搬移任务。ANTask :分析处理任务。ALTask :报警处理任务。AVTask :等离子图处理任务。KBTask :键盘扫描任务。SCTask :与 PC 机通讯任务。可编辑资料 - - - 欢迎下载精品名

12、师归纳总结以 NucleusPLUS为开发平台,第一以 Application_Initializevoid*first_available_ memory 为入口点,以上各个任务均在这里定义,其中的多通道数据采集、实时控制、以及分析任务用定时器来实现,键盘扫描用中断实现。等离子图处理及波峰位置提取算法对等离子图处理将直接影响迁移时间的提取,该部分是软件实现的难点之一。一个周期内采样的离子信号所产生的等离子图,往往具有干扰,含有很多毛刺,无法正确判定出波峰,也就无法得到迁移时间。为此,我们一个周期取1000 个采样点,第一采纳算法平均滤波法,对多个周期的采样信号做算术平均:yi=y1i+y2i

13、+.+yni/ n,去除随机干扰信号。而后,采纳横向平均滤波法:yi=yi+1+yi+2+.+yi+m/ m,削减等离子图上的毛刺。在此基础上,再将多个由上述方法得到的yi 值作平均。经过采样值的多次处理后,可得到相对清楚的等离子图。而要正确提取波峰位置,关键是要找出波峰。对波峰的提取,并非找最优值问题,由于当物质含有多种成分时,会显现多个峰,依据物质的基本性质,其所含成分一般不超过20 种,所以需找出最多20 个波峰。另外,处理后的等离子图也不是毫无毛刺,相距几十微秒的两个峰往往只有一个是真正的峰。为解决这一难题,我们第一找出第一个波峰,采纳摸索法测出这个峰的大致宽度,再找出假想的其次个峰,

14、如两个波峰之间的距离小于第一个波峰的宽度,就认为其次个峰只是第一个峰的一个毛刺,抛弃其次个峰,连续找,否就,保留其次个峰,连续找第三个波峰,此时以与第三个峰相邻的峰的宽度作为比较对象。 依此类推,直到找完全部的波峰为止。其中,用摸索法测波峰宽的程序部分如下:ifPeakPositionmaxm-1PeakPositionnearestlow=PeakPositionnearest。high=PeakPositionmaxm-1。 elselow=PeakPositionmaxm-1。high=PeakPositionnearest。form=low 。m=PvaluePinstant=Sign

15、alStrengthm。ifPinstant=Pvaluemaxm-=1 。可编辑资料 - - - 欢迎下载精品名师归纳总结Pwidth+=10 。波峰的宽度增加widthnearest=Pwidth。 找出了波峰、波峰位置后迁移时间也就简单获得了。终止语实时操作系统内核的多任务机制不仅可以满意应用系统的实时性要求,而且简化了系统的开发设计过程,可以将一个复杂的问题分解成多个子问题,用任务来实 现。在肯定程度上保证了离子迁移谱仪的实时性和牢靠性。但在实时多任务系统设计时,任务划分却是一门艺术,不同的人对同一系统的任务划分会不同,导致系统的性能也有所差异。到底该如何划分任务,也需要在实际开发实时系统时不断的总结。本文主要介绍了基于 Nucleus PLUS的离子迁移谱仪嵌入式系统的设计,在不久的将来,它将在毒品、爆炸物等探测领域发挥用武之的。本文来源: 作者:朱丽英蔡家楣 郑健可编辑资料 - - - 欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁