




已阅读5页,还剩57页未读, 继续免费阅读
(模式识别与智能系统专业论文)智能装载机监控系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 国家“8 6 3 计划”基金项目“基于p l m 的机群智能化工程机械工程”由徐 州工程机械集团、东南大学、清华大学、重庆交通学院等单位共同承担研究 与开发工作。基于此背景,本文以5 - 程机械轮式装载机为研究对象,结合现 代电子技术和计算机技术研制出装载机的电子监控系统。该监控系统主要实 现了以下功能:装载机重要工况参数监控、故障诊断和故障处理、装载机的 定位和跟踪、装载机引擎工作记录的跟踪和多种数据通信方式如c a n 通信、 g s m 通信等的实现。 监控系统的下位机系统是整个系统的核心,它以i n t e l80 c 1 9 6 k b 微控制 器为硬件设计的核心。首先,本文结合装载机的使用特点,分析了该监控系 统的功能需求;接着,将系统划分成5 个主要功能模块:主机控制模块、人 机接口模块、数据采集模块、输出驱动模块和数据通信模块,除了输出驱动 模块,分别论述了系统的4 个功能模块的硬件设计和实现细节;在完成硬件 系统的设计的基础上,从两种软件系统设计模式事件触发和时间触发出 发,完成了两种设计模式下的系统设计方案,并对系统设计方案和其它的实 现细节等方面分剐进行了详细的论证。 在对p c 上位机系统进行需求分析后,以r s - 23 2 串口通信为底层通信协 议,以v c + + 6 0 为开发工具,设计并实现了上位机系统的各种用户接口功能; 最后,本文在完成了监控系统的调试和实验的基础上,详细分析了系统实现 中的难点一一下位机系统存储空间的扩展与数据处理的技术,并给出了合理 的解决措施。 同时,在认真总结该监控系统的设计和实现等方面的工作之后,结合当 今电子信息技术的发展趋势,对该监控系统的改进提出了一些建议。 关键词:装载机,监控系统,8 0 c 1 9 6 k b ,故障诊断,数据通信,g s m ,c a n ,r s 一2 3 2 第r 页 ! 堕! ! ! ! ! 一 _ _ _ _ - - _ 一 a b s t r a c t x u z h o ue n g i n e e r i n gg r o u p ,s o u t h e a s tu n i v e r s i t y , a n dt s i n g h n au n i v e r s i t y h a v et a k e nc h a r g eo ft h ep r o j e c to f “i n t e l l i g e n t i z e de n g i n e e r i n gm a c h i n eg r o u p e n g i n e e r i n g b a s e do np l m ”,o fw h i c hi sn a t i o n8 6 3h i 曲t e c hp l a n ( 2 0 0 3 a a 4 3 0 0 10 ) b a s e do nt h i sb a c k g r o u n d ,t h em o n i t o rs y s t e md i s c r i b e di nt h i s d i s s e r t a t i o ni sd e s i g n e df o rw h e e ll h d l o a d e rb yt h ea i do fm o d e mt e c h n o l o g yo f e l e c t r o n i c sa n dc o m p u t e rs c i e n c e t h em a i nf u n c t i o n so ft h i sm o n i t o rs y s t e ma r e i n s p e c t i n ga n dm e a s u r i n gp a r a m e t e r so f t h el o a d e r , m a n i p u l a t i n gi t sm a i nd e v i c e s , d e t e c t i n ga n dh a n d l i n ge x c e p t i o n sa n di m p l e m e n t i n gd i v e r s i f i e d c o m m u n i c a t i o n s u c ha sc a n g s ma n de t c t h ec o r eo ft h em o n i t o rs y s t e mi st h em a i nc o n t r o is y s t e mw h i c hu s e si n t e l 8 0 c19 6 k ba st h ec o r em i c r o p r o c e s s o r f i r s t l nc o n s i d e r i n gt h ef u n c t i o n a lc h a r a c t e r i s t i co ft h el h d - l o a d e na n a l y s i s o ff u n c t i o nr e q u e s to ft h em o n i t o rs y s t e mi sd r a w ni nt h i sd i s s e r t a t i o n t h e nt l e s y s t e mi sd i v i d e di n t o5p a r t si n c l u d i n gd o m i n i c a lc o n t r o lm o d u l e ,u s e ri n t e r f a c e m o d u l e ,d a t aa c q u i s i t i o nm o d u l e ,e x p o r td r i v e rm o d u l ea n dd a t ac o m m u n i c a t i o n m o d u l e ,4o fw h i c ha r ed e s i g n e da n di m p l e m e n t e di nd e t a i le x c e p te x p o f td r i v e r m o d u l e 。 f i n i s h i n gt h eh a r d w a r es y s t e md e s i g n ,t h es o f t w a r es y s t e mi 8d e s i g n e da n d r e a l i z e db ym e a n so f t w ow a y so fd e s i g np a t t e r na n di t sd e t a i l i sd e m o n s t r a t e d a f t e ra n a l y z i n gt h ed e m a n do fp cs o f t w a r es y s t e m ,a 1 1k i n d so fu s e r i n t e r f a c e so ft h eu p p e rs y s t e ma r ei m p l e m e n t e db ym e a n so fv c + + i d ea n d r s 一2 3 2c o m m u n i c a t i o np r o t o c 0 1 f i n a l l y , w i t ht h eb a s i so fs y s t e md e b u ga n de x p e r i m e n t , t h ep i n c hp o i n t “t e c h n o l o g yo fs t o r a g e - e n i a r g i n ga n dd a t a - p r o c e s s i n g i sa 1 1 a l y z e di nd e t a i l a n d t h es o l u t i o ni sm a d ei nt h er e s u l t a n dt h ea d v i c eo ft h ei m p r o v e m e n to ft h em o n i t o rs y s t e mi sg i v e n ,w i mt h e c o n s i d e r a t i o no fd e v e l o p m e n t t e n d e n c y o fm o d e me l e c t r o n i ci n f o r m a t i o n t e c h n o l o g y k e yw o r d s :l h d ( l o a d - h a u l - d u m p ) - l o a d e r , 8 0 c 19 6 k b ,h a n d l i n g e x c e p t i o n s ,c a n ,g s m ,d a t ac o m m u n i c a t i o n ,r s 2 3 2 第1 i 页 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了 谢意。 研究生签名:鲨望日期:娑( 。! :! 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复 印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和 纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办 理。 研究生签名:鲨垒导师签名: 堕磐日期:矬! ;! 三f 第一章绪论 1 1 概述 第一章绪论 姨载机是一种具有较高作业效率的工程机械,主要用于对松散堆积物料进行铲、装、运、挖等作业, 可用来整理、刮平场地,也可进行牵引作业。换装相应的工作装置斤,还可进行挖土、抓草以及装卸棒 料等作业。因此,装载机被广泛地应用于城建、矿山、铁路、公路、水电、油田、国防及机场建设等工 程施工中。 进入9 0 年代,国外许多公司,将机器人技术应用到装载机中,用电子技术、计算机技术、控制技 术等高新技术改造装载机,以提高装载机的操纵性、平稳性、舒适性和工作效率,并使之向智能化、机 群化方向发展。 卡特彼勒公司9 0 年代开发的f 系列和g 系列装载机都安装有电子计算机监控系统( c m s ) ,其司机台 上装有条形液晶显示屏,微机监控系统能同时监控发动机燃油液面高度、冷却水温、变速箱油温和液压 油温等1 1 种功能。该监控系统还具有故障诊断能力,并可向司机提供三级报警。1 9 9 8 年推出的c a t9 5 0 g 计算机监控系统还配备有c a t 指导诊断系统和以维修工具为基础的c a t 软件包使维修人员坐在汽车里 用笔记本电脑就能迅速而容易地诊断和排除故障。c a t9 9 2 g 在监控装载机各功能状况并做出诊断的同 时还能把这些信息数据作为履历记录下来,无线传送到办公室用计算机进行分析,从而防患于未然。c a t 9 9 4 d 安装有关键信息管理系统( v 1 m s ) ,可密切监视机器的健康状态井诊断故障。l e t o u r n e a u 集成网络 控制系统通过显示在机载计算机屏幕的出错信息,提示司机出错原冈,并以信号表示发动机、液压系统、 电气和电子系统的各种状态。目前,该系统已安装在l 1 3 5 0 型矿用装载机上。 沃尔沃( v o l v o ) 公司的v o l v oe 系列装载机上配有智能化的电子监控、记录管理和故障自诊断系统 ( 客户称之为类似飞机上的黑匣子) 。主要功能:先进的电脑控制自动换档装置;实现全车运行参数的 状态监测、记录、报警和自动停机保护功能:全车故障自诊断系统:制动性能自测试功能( 由主机控制 电脑程序自动完成) 。 沃尔沃( v o l v o ) 公司的l 系列装载机上也安装有m a t r i s 软件包,_ l _ j 以监控和分析装载机的工作状态; 其小型装载机上配有电子伺服控制及信息系统( e s i s ) ,由液晶显示屏和键盘组成,用来显示和记录各种 信息,其自动诊断功能记录机器故障并储存所有相关信息,通过编码可以防盗。凯斯( c a s e ) 公司2 1 b 、 c 系列装载机也采用计算机监控系统,其微处理器安装在司机座椅的右侧。也具有故障诊断和工作状态 液晶显示功能。 我国装载机产品仍处于传统的液压控制、手动换档等较低技术水平上,计算机技术、控制技术、微 电子技术的应用还处于研发试制阶段,没有形成产业化,智能化、机群化产品还处于技术研讨阶段,因 此我国装载机的技术水平远远落后于国外同级产品,十分不利予市场竞争。 1 2 课题的研究背景及其意义 本课题来源于国家高技术研究发展计划( 8 6 3 计划) 基于p l m 的机群智能化工程机械工程 ( 2 0 0 3 a a 4 3 0 0 1 0 ) 。 机群智能化工程机械是指为完成某一具体工程施工项日,以实现最优资源配置、最佳作业效率、最 佳施工质量的同步施工智能化工程机械组合。机群智能化工程机械通过对各智能化工程机械单机的状 态、位置、性能、工作质量和施工进度的在线检测,由机群主控站根据施工任务完成机群动态组织、施 工动态优化调度和集团管理。 机群智能化工程机械代表了当今工程机械技术和施工技术发展的最高水平,它综合了工程施工技 术、智能控制、弱络通信、动态优化调度等当今最前沿的先进技术。 该项目的目标是:在单机实现充分智能化的同时,将同一时期同一工程内所有参与施工的机械组成 机群,根据它们的位置和状态进行合理调度,以达到最佳的施工效果。本课题属于整个机群项目中关于 装载机单机的一个子项目。 提高装载机的工作性能,对加快工程进度,保证工程质量,改善劳动条件,提高工作效率以及降低 第l 页 东南大学硕士学位论文 施1 :成本都具有重要的作用。该项目顺应工程机械智能化、机群化这一世界发展潮流,用商新技术改造 传统产品,结合国内外产品特点和市场需求,开发拥有自主知识产权的,先进、可靠、实用的,在国内 外市场上具有竞争力的,能引导行业发展方向的智能化、机群化的1 程机械产晶,从而促进民族r 业 的发展,提高国际竞争能力。 1 3 课题的研究内容和目标 课题的研究是从基本的硬件设计出发,最后是上位机和f 位机的整个监控系统的调试组装。整个开 发过程中t 调试硬件和软件的工作占用了个人大量的时间,在调试硬件和软什方面都有了一些心得,所 以文中列出一个章节专门讨论系统调试方面的技术研究。整个的监控系统分为下位机和上位机两个部 分,它们之间在功能实现上是相互联系的,但在技术上是分阶段实现的。 下位机部分包含以下内存: 1 ) 装载机数据采集系统的实现: 最主要的是采集实时的装载机运行参数,主要包括以下几个方面: 液压系统测温点的温度、制动气压、燃油油位、变矩器油温、变速箱油压、发动机油压、水温、 蓄电池电平电压的测量和显示。 发动机转速的测量和显示。 对装载机开机和关机的状况进行记录存储。 2 ) 装载机故障诊断系统的实现 故障分等级进行处理:对于一般的故障信息,监控系统向操作人员提供报警信号显示故障的相 关信息,提示故障排除的方法等;对整机行驶或设备造成安全威胁的严重故障信息,要求报警灯和蜂鸣 器报警提醒,监控系统能自动切断动力供应,或制动抱死,或使发动机熄火,产生自锁和互锁功能。 对故障信息具有记忆功能,可连续记忆数十天的装载机故障情况。 装载机监控仪向远程控制中心传输故障信息,实行机群化统一管理。 3 ) 装载机通信系统的实现 开发多种车载通信系统,其中包括g s m 通信( 用于远程控制中心和监控系统下位机的通信,主要用 于故障信息的发送) 、g p s 信息采集( 记录监控车辆的位最的信息) 、串行口r s 一2 3 2 ( 控制器8 0 c 1 9 6 和 g s m 模块、g p s 模块以及p c 串口的之间的通信方式) 和c a n 通信( 监控系统下位机主机板与液晶显示扳 的数据通信接口) 。 上位机部分包含以下内容: i 串口通信设置串口的选择、检测和通信波特率的设置; 2 曲线显示功能监测参数的故障曲线显示和实时参数曲线; 3 故障信息统计功能对数据库中所有的故障分类统计,给出峰值和均值 4 引擎t 作记录跟踪显示装载机发动机工作的历史状况显示; 5 列表显示信息功能所有数据库信息的列表显示和具体信息的搜索; 6 参数动态显示功能下位机系统状态参数和实时运行参数的动态显示; 7 报表与文件的功能今后应用扩展的趋势,便于信息管理; 1 4 本文内容的安排 本文第一章是绪论部分,主要是提出课题的背景和研究意义,介绍该课题的研究内容。 第二章介绍系统的框架结构,对研究对象进行总体的分析,在此基础上提出相关的技术和理论的讨 论。 第三章介绍监控系统的硬件系统,从设计思路到系统构建,到系统分析、系统实现进行全面的论述。 第四章介绍监控系统的软件系统,分下位机软件系统和上位机软件系统两个部分来分别论述,其中 下位机部分的设计又分别从两种设计模式出发进行设计方案的讨论。 第五章在硬件系统和软件系统初步完成的基础上,进行各种调试和实验验证的讨论。通过一个完 整的实验过程来验证系统的可行性、稳定性和可扩展性等。 最后将根据以上的论述,得出一个结论作为全篇的一个总结。 第2 页 一苎三皇墨垫堡塑垦塑羞堑查堕堡 第二章系统架构及相关技术讨论 2 1 系统的功能描述 该监控系统主要的功能是:实时采集模拟量和开关最参数、定时的故障分析和故障信息发布、定时 跟踪被监控机械车辆的位置、机械引擎的工作记录* 匣踪、多种通信接口的实现等。 该监控系统分为下位机和上位机两部分,下位机是以i n t e l8 0 c i k b 为核心开发出来的电子监控 装置系统上饨机是下图中的便携式p c 机,当然在某些场合也可以指远栏监控中心的p c 机。下位机的 主要工作是:模拟量和开关量的数据采集、系统运行状态的监控、故障诊断处理和声光报警、监控对象 的位置信息的收集等;上位机的主要的使用场合是:当机械出现严重故障导致无法运转时,需要将下位 机的所有相关信息全部传送到上位机上。上位机的主要工作是:将由下位机传送过来的数据进行分类存 储和管理,对特定类型的数据进行分析和处理,向用户提供操控下佗机的功能,根据用户操作的要求, 将处理后的数据由软件系统中特定功能的显示组件进行显示等。 图2 1 系统工作不意图 上图中t 输入接口完成模拟量和开关量的数据采集,输出接1 3 完成输出驱动的l 作硬件实现上以 8 ( c 1 9 6 k b 为控制核心- 数据区1 指系统运行f l 勺系统数据区,数据区2 指供故障信息、引擎工作记录、 实时参数记录等数据存储的区域采用地址复用的方式访问。 经过设计、凋试和实现的系统应该具有以下特点: 1 人机界而友好,输八输出响应快,显示功能强大,逻辑控制方便灵括 2 能实时采集各种参数,转换结果的精度达到预期的要求,报警幅值可灵活调节 3 通信方式的切换灵活,且备种通信方式的通信错误率控制在允许的范围内通信速率满足实际 应用的要求 4 对各种故障信息进行分级处理,监控系统向操作人员提供报警信号,显示故障代码。对整机行 驶或设备造成安全威胁的故障信息,监控系统能自动采取保护措施 5 对故障信息具有滚动记忆功能,最多可记忆1 6 0 0 0 条有散的装载机故障信息( 数据存储容量火) : 故障分析系统能高效处理数据和管理各项参数,井提供直观有效的分析数据和统计的功能 6 系统接口设计合理,运行稳定,抗干扰能力强有自动恢复和调电保护功能 2 2 系统的设计思路 i 下位机硬件设计 第3 页 东南大学硕士学位论文 下位机系统的硬件设计以i n t e l 8 0 c 1 9 6 k b 微控制器为核心,在此基础上进行存储器扩展、串行1 3 扩 展、c a n 通信口扩展、i o 口扩展、i 总线虚拟等。 在系统硬件实现上分成5 个部分:主机控制板、数据采集板、输出驱动板、人机接口板和通信模块 板,系统所有的控制核心是主机控制板。数据采集板、输出驱动板年| 1 人机接口板都是通过主机控制板扩 展的t l o 口及其它信号线与主机控制核心相连的,通信模块板上载有g p s 模块和g s m 模块,它们提供标 准的r s 一2 3 2 串行口与主机板上扩展的串行口连接,c a n 通信模块集成在主机板上。 存储器扩展分成两个部分:一个是进行数据存储器的扩展,它将用于大量故障信息和其它设备信息 的存放;一个是进行系统存储器的扩展,它将用于系统运行时堆栈区和各种数据缓冲以及临时数据的存 放。这部分主要的工作是对存储芯片进行地址译码,这项工作将通过对g a l 2 0 v 8 的编程实现。 另外,系统的一些外围器件,如时钟日历芯片、e e p r o m 芯片和显示驱动芯片,它们提供1 2 c 总线的 接口,鉴于1 2 c 总线在硬件和软件实现上的种种优越性,因此该系统在硬件实现上进行1 2 c 总线标准的 虚拟,通过微控制器的准双向口外接上拉电阻来实现。 2 下位机系统软件设计 通常,基于单片机的系统软件设计都是以模块化设计为准则的,模块化设计在程序设计、程序代码 管理和程序调试等方面都有很多优越性。因此,针对该系统的各个功能模块用模块化设计的准则对所 有功能模块进行设计是十分理想的选择。 另外,在开发现代的单片机应用系统时有两种开发模式可以借鉴直接的系统代码开发和使用 自定义的操作系统或借用成熟的嵌入式操作系统( 如uc o s 2 ) 进行开发。采用常规的开发模式一般是 以顺序结构的程序流程为基础,而采用操作系统的开发模式一般是为并行结构的程序流程为基础。结合 该系统的实现,本文将介绍两种单片机应用系统的软件设计模式基于顺序结构的事件触发模式和基 于并行结构的时间触发模式。 3 。上位机系统软件设计 由于单片机应用系统处理数据的能力相对于p c 机而言较弱,所以考虑将需要分析和直观显示的数 据送到上侥机分析和处理,对用户而言这样做无疑给他们的工作带来了极大的便利。在f 位机和上位机 通信的部分,考虑下位机预留通信接口给上位机,在实际使用的场合中,便携式p c 将作为上位机使用, 需要上位机和下位机通信的时候才开启该通信接口,保证了系统具有一定的灵活性。 上位机软件将在w i n d o w s 系统下,采用微软的v c + + 6 0 作为开发1 二具,同样在软件设计的思路上也 是采用模块化设计的原则。串口的选择、设置和使用由串口控件或串口类实现,其它的显示功能组件如: 曲线显示、柱状图显示、列表显示等将根据实际使用的需要进行自定义开发。 2 3 相关技术讨论 2 3 1 事件触发系统设计模式 基于事件触发的系统具有的特点是:系统有个超级无限循环,这其中做频度很低的状态检测工作 系统定时器设定特定的定时检测和计算工作,其它的处理都是以中断或者消息的形式触发去响应, 一、事件触发与系统软件设计 所谓事情触发也就是系统的某些响应依靠事件来驱动,事件向系统传递信息的方式通常有两种:消 息和中断。在w i n d o w s 系统中的可视化编程中,通常采用的软件设计都是基于消息的方式,当某个被关 注的事件发生时,会向软件系统的消息队列中发送一个对应的消息,软件系统的主循环是不断从消息队 列中取得消息并根据消息的类型分别处理。而在基于单片机应用的嵌入式系统中,硬件提供的数据处理 能力和存储能力有限,通常用基于中断的方式来实现对事件的捕捉,特定的事件发生时能产生特定的中 断信号,然后中断系统根据中断向量和中断服务程序入口地址去响应事件发生后的后续动作。【”】 在上层的系统软件设计方面,通常有特定的辅助工具对基于事件触发的系统进行响应。在嵌入式系 统的设计方面,使用状态图来描述系统的事件驱动模型。为基于事付的系统建模使用状态图是一个强大 第4 页 第一二章礁堕架塑垦担羞塑巷讨论 并被广泛使用的方法。状态图主要适用于通讯、宇宙航空、汽车和制造业、工业自动化等广泛领域状 态图也是面向对象方法论中的对象建模技术( o m t ) 和统一建模语言( u m l ) 的重要组成部分。同时,这种 设计方法也是遵循了基本的“自顶向下设计”软件的宗旨。 二、 系统性能分析和可靠性分析 评估嵌入式系统的性能主要有3 个量化的性能指标:c p u 利用率、延迟利带宽。同样,单片机应用 系统作为嵌入式系统的一种简单形式,在该单片机应用系统中也可以采用以上3 个性能评估标准。所谓 c p t a 利用率;c p u 被系统任务或者进穗占用的时间与c p t l 所有的可以被系统利用的时间之比,通常利用 率较小,系统的性能越商;所谓延迟:从i o 请求到响应请求动作发生的时间间隔,包含数字电路的硬 件延迟和计算机硬件的延迟,还有软件的延时:所谓带宽:也就是数据吞吐量,系统可以处理的最大的 数据流量( b y t e s ) ,带宽既受到软什的限制。又受到硬件设备的限制。 1 3 1 这种模式下的超级无限循环没有重要的硬件资 骣| 问题,它不会长时间的以独占方式使用定时器、端 口或其它外围设各,只需要很少量的几个字节的程序代码。在没有事件触发的情况下,系统超级循环几 乎不占用任何外围硬件资源,所以基于超级循环的系统既可靠又小巧,因为总体结构很简单而且易于 理解、修改和移植。其它的处理工作部交给中断程序去处理,所以系统设计的结构可以说是目了然。 在系统延迟方面除了硬件本身带来的延迟问题外,系统处理流程中常常有延时函数的调用。在整 个系统的循环中,所有的模块处理工作是严格按照预定好的步骤进行的,只有在前一个模块工作完成后 才允许下一个模块的处理工作;如果因为处理其中一个环节的工作调用的延时处理很多,则会严重影响 其它处理环节的及时处理。更严重的是,系统可能因为某个模块的铘待中进入了死循环,则接个系统的 其它工作都不能正常执行了,所以设计合理的系统中通常都加入了超时处理的环节来减小系统软件延迟 给系统造成的影响。同样,在带宽方面,系统的带宽常常处于一个不稳定的数值当处理程序进入串 口通信部分,那么瞬时的系统带宽能达到一个很可观的数值:而处理程序进入延时操作时很多的处理模 块被中断,那么从单位时间上计算系统的带宽利用率来说,系统的资源遭到了极犬的浪费。 作为单片机应用系统,这样的设计模式仍然是最广泛的,有很多成功的经验可以借鉴。但是,这样 设计的系统也有几个潜在的问题:一、如果需要精确定时的周期性处理工作,这样的循环结构很难做到; 二二、如果中断程序设计得不合理,有可能出现诸如函数进入死循环或者函数返回了错误值的情况,而这 样的错误无法在主程序中找出,给程序调试带来了很多的困难;三、这样设计的系统中通常会有很多的 延时程序在辅助处理,而我们知道延时程序是让c p u 空等而不能做其它事情,所以这对c p u 的利用率 来说是非常不利的。 2 3 2 时间触发系统设计模式 基于时间触发的系统具有的特点是:系统有个主的无限循环,这其中只有等待操作或者让处理器睡 眠的动作( 对于靠电池供电的系统来说,这个措施相当重要) ;系统的所有常规工作是以任务的形式定 义,为了保证系统运行的稳定可靠,必须在严格考虑过系统的各个任务的定时要求的前提下设计同时 合理安排各个任务的优先等级,结含抢占式的任务调度和合作式的任务调度去设计调度算法等。 一、时间触发与系统软件设计 作为一个常识,大家都知道很多计算机化的活动是由定时测量( t i m i n gm e a s u r e m e n t ) 来驱动的, 这对用户来说通常是不可见的。例如,w i n d o w s 系统的屏幕保护程序,这是由定时器来实现的,也 是时间触发的最直观的例子。在一个大型的操作系统里有着数不清的定时器资源,这些资源中有些是自 系统启动后直存在的,有些是根据使用需要动态添加的。1 1 7 1 例如,l i n u x 内核主要完成两种定时测 冕:一、保存当前的时间和日期;二、维持定时器。 当然,在般的单片机应用系统中,所有的设计都是从现有的硬件资源出发。除了硬件实时时钟电 路能提供精确的时间脉冲外,另外一个重要的资源是定时器。所谓时间触发也就是每隔一定的时间间隔 去处理一些系统的任务。从c p u 利用效率来看,将整个系统运行期间的c p u 时间看成一个无限延伸的 有向射线,那么从射线的起点出发,将此射线无限分割成微小的时间片单元,理论上可以做到每个时间 片上只让系统处理一个微动作( 耗时极短、操作极少的计算机活动) ,以串行化的形式处理。用户从宏 观的角度看就是多个任务准并行运行的效果。 在系统软件设计上,主要采用的是:分时技术。把c p u 的响应时间分成若干个大小相等的时间单 第5 页 垄塑盔堂塑主堂垡堡塞 位,称为时间片( 如1 0 毫秒) ,每个获得c p u 运行权的任务相当丁获得了一个时间片的有效时间,该 任务程序开始运行,当时间片用完或者时间片内的规定动作已经执行,任务程序暂停运行,等待下一次 运行。结合设计的调度算法,为每个任务合理分配c p u 的时间,并且决定什么时候运行什么任务;同 时,当发生多个任务抢占时间片资源时,调度算法将负责协调任务间的冲突。 0i o n s2 帅s3 0 m s 4 0 i f l s5 0 m s6 0 m s7 0 皿s8 0 s9 晌5 图2 ,2 基下| 时间片的任务轮转图 二、任务与调度 1 任务 一个任务是完成某一个功能的程序运行的全部过程。每个任务对应于一段功能程序,称之为任务程 序。任务程序的开头是初始化程序,主要完成该任务所要求的初始化功能。任务的主体是一段可重入的 循环。设计任务程序时,必须从四个方面考虑: 1 ) 任务之间的耦合关系,是否存在资源共享的问题是否存在操作同步的必要性等。 2 ) 定时或延迟:任务运行的间隔时间,由用户定制。 3 ) 等待操作:由于单片机系统可以用的中断资源很少,所以对丁能在很短时间内运行完的任务来 说,使用查询的方式可能比较合理,与查询有关的等待操作是重点考虑的对象。一般,我们需要加 入超时处理的手段来防止因等待时间过长造成的错误。 4 ) 寄存器和存储器的分配:一个任务在运行时,总是需要用到一些寄存器和存储器空间的。有的 用作数据存放单元,有的用作堆栈数据的管理。按照实际任务的要求,合理分配有限的寄存器资源 和存储器空间是个值得好好考虑的问题。 在控制系统的应用中,任务一般来说是各自独立的,周期性的;也有一些是由外部事件来触发的。 这样我们可以设计一种最简单的调度方法:静态的周期性调度。【i ”这种调度算法的基本思想是将处理 器的时间分为时间片。一个时间片就是一个系统内部时钟触发时钟中断的基本时间间隔。每个实时任 务都在时间片中占一段时间,仔细的设计时间片的大小可以保证系统中所有的实时任务都能在一个时间 片结束之前完成。而事件触发的实时任务则在每个时间片中晟后一个周期性实时任务完成之后到时间片 结束这段时间内得以运行。这种算法在系统相对简单,任务数少,又可以事先定义任务的执行顺序的情 况下很有效。 2 调度器 一方面,调度器可以看作是一个简单的操作系统,允许以周期性或者单次运行的方式来调度任务; 从底层的角度来看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程序。因此,只需要 初始化一个定时器,而且改变定时的时候通常只需要改变一个函数。此外,无论需要多少个任务,通常 可以使用同一个调度器来完成。u z l 按照调度器的处理方式,可以将调度器分为两类:合作式调度器和抢占式调度器。合作式调度器通 常用在调度算法简单的对实时性要求不是特别高的系统中,相对而言系统的灵活性也比抢占式调度系统 要差;抢占式调度器在现在流行的实时多任务操作系统( r m o s ) 中随处可见,调度器的设计相对复杂, 但能提供多任务并行处理的机制, 合作式调度器只提供单任务的系统结构,这种调度器用少量的c 语言代码即可实现,它不是作为一 个独立的系统存在的,只能说是开发代码的一部分。由于它的结构简单、实现方便,因此在只有很少任 务需要处理的单片机应用系统中使用这样的调度器是理想的,而且这样的调度方式可靠、可预测并且 安全。 抢占式调度器提供了一种多任务的系统结构,很多任务被赋予不同的优先级,优先级高的任务在合 适的时机会抢占优先级低的任务的c p u 资源。由于抢占式调度需要有保护任务现场和恢复现场运行的功 能,因而需要的存储空间较大:同时,为了防止因抢占c p u 资源而导致系统性能的严重f 降甚至当机, 调度器的算法也必须结合很多类型的内核资源,比如信号量、队列、消息、邮箱等。这样的调度器是作 为一个独立的操作系统被刨建的,通常有部分代码需要用汇编语言实现完成堆栈单元的设置,软件开发 的成本和周期较长,这样的设计方案在商用操作系统中比较多见。 第6 页 第二章系统架构及相关技术讨沦 由于本文讨论的时间触发模式采用的调度器在定时器中实现算法所以可以考虑在定时器中断服务 中加入一个优先级很高的任务这样一旦触发中断则先考虑执行最高优先级的任务;换句话说,就是将 个抢占式的任务嵌入到合作式调度器中来运行,这样设计的调度器称为“混合式调度器”它结合了 合作式调度器和抢占式调度器的几个优点而且作为系统代码的一部分,完全可以由c 语言代码实现。 如果开发人员精心设计,能保证所有的系统任务稳定可靠地运行。 3 任务调度算法 任务调度是操作系统的关键和核心。任务通常有5 个 状态可以分为准备( r e a d y ) 、运行( r u n n i n g ) 、等待 ( w a i t i n g ) 、死亡( d e a d ) 和激活( a c t i v e ) ,该系 统采用的设计方法很简单,只将任务分为准备、等待和运 行这3 种状态。每个任务都处于这其中的某个状态,对于 只有一个c p u 或m c u 的系统,每次只能有一个任务处于 运行状态。在所有的系统任务中,定时器任务是必须首先 被建立的,因为程序调度器需要使用定时器来触发。定时 器任务主要负责两个工作:一是,确定特定的任务是否倒 计时结束并出于准备运行的状态,调度器再次被调用时, 将由调度器决定下次运行的任务;二是,运行循环定时器, 任务的运行频率由用户根据程序调度来定义。 ,”、 黼k 下个就绪任务运行, 、一。 、旨信号域超时站雄 , 时间片计时刊 、 ( r u 晰“i n 6l 叫掣。 、 任务等待信号或超时 、一, 图2 , 3 基于时间片的任务轮转调度 在单片机上实现多任务机制会受到很多的限制,主要是因为单片机的内存空间都比较小,可用的硬 件资源很有限,处理速度也受到m c u 晶振频率的影响。配置的外围设备千差万别。一般是将操作系统 做成一个程序库,以供与用户目标程序进行连接;也可以直接将原代码嵌入到用户程序中。 无论是实时系统还是非实时系统在设计调度算法时都应该尽可能缩短任务响应时间来提高系统性 能。常用的调度算法有:先来先执行的调度;按时间片循环轮转的调度:按优先级调度等。对于完全抢 占式的任务调度,必然涉及到中断的嵌套和任务运行现场的保护,通常必须由汇编源码才能实现这种机 制。 在设计任务调度程序时,首先应该决定任务的数量、调度算法以及就绪队列和任务控制块的结构等。 对于一般的单片机应用系统来说,应该采用优先级调度算法通常采用单就绪队列的方法。通常设计的 形式是预先确定好所有任务的固定优先级,调度器根据就绪队列中的任务优先级选择最高优先级的任务 进行处理。 三、系统性能分析和可靠性分析 前面在事件触发的系统结构分析中讲到了3 个评价系统性能的定量指标:延迟、带宽和c p u 利用率, 这些标准同样能用来分析时间触发系统结构的系统性能,如果系统设计是基于多任务处理的,另外有个 衡量的标准任务优先级,当有多个系统任务时,采用一定的优先处理机制能保证系统任务调度的高 效率- 在该系统中实现优先级的区分是通过任务两次处理的间隔时间和初始延时时问来简单区分的。由 于调度器按照既定的优先级去调度任务,所以这里也就没有讨论它的必要了。 首先在系统的延迟方面,由于系统采用时间片的方式,避免了一个任务长时间处于独占运行的情 况,系统响应的及时性能得到一定的保证;同时,开发人员可以在充分研究系统各个任务的轻重缓急的 基础上,通过合理安排时间片的占用数量和允许的延迟时间来尽量减小系统的整体的延迟处理情况;在 允许的时问范围内,这点延迟的时间完全可以忽略。 其次,在系统带宽方面,结台实际的串行口数据通信和c a n 的数据通信两个方面讲。串行口通信的 波特率为9 6 0 0 b p s ,c a n 通信的波特率为2 5 0 k b p s 在理想的条件- 卜经粗略计算,串行口平均发送一个 字节要2 m s c a n 通信平均发送一个字节要0 1 m s ,按每秒钟发送的数据量来计算,1 秒钟只进行串口发 送的数据摄为5 0 0 个字节,1 秒钟只进行c a n 发送的数据量为1 0 0 0 0 个字节,2 秒钟共发送1 0 5 0 0 个字 节。如果设计的调度器是每隔5 m s 调度一次,每次调度串口发送时一次发送2 个字节,每次调度c a n 口发送时一次发送4 0 个字节,且两个任务交替进行,贝按2 秒钟的时问计算,串口通信数据量为4 0 0 个字节,c a n 口数据通信量为8 0 0 0 个字节,两者加在一起则有1 2 0 0 0 个字节,明显大干只调用其中任 何一种通信的数据通信量,同时系统在2 秒的时间内还能处理其它很多任务,比如l e d 显示、a d 转换 等,周此系统的带宽明显提高了。 第7 页 东南大学硕士学位论文 在c p u 利用率方面,有个简单的参考计算公式。 凹绷率= 一磊 x l o 。【1 2 】 下面举例说明,在该例中,系统只有一个定时刷新l e d 的任务,每隔l m s 系统进行一次调度,也 就是每隔l m s 进行一次定时中断处理,当c p u 空闲时就让系统进入睡眠模式。下面的示意图是采用 k e i l 公司的u v i s i o n 2 提供的c 5 1 硬件模拟器在1 2 m h z 晶振下来测试系统的c p u 开销图。 图2 4k e i l 硬件模拟器来测试c p u 的开销图 从上图可以看到,系统唯一的执行任务程序l e df l a s hl n i t 只d i 用了约2 4 的c p u 时间,其它的 所有c p u 时间都是空闲的,这时考虑让系统进入睡眠模式,这里用函数g ot os l e e p 来表示它大约 占用了9 7 5 的c p u 时间。 在可靠性方面,与基于事件触发的系统相比,基于时间触发的系统有很多优点;一、所有任务是单 独定义的,任务之间的干扰小,一个任务出错不太影响别的任务;二、任务是模块化的设计,便于代码 的维护和修改,程序调试也很方便;三、采用时间片的工作方式基本不需要延时操作,避免因空等造成 的c p u 资源独占的情况;四、结合系统全局变量,使得任务的调度和运行调整更加灵活方便。但是为 了保证系统不会出现超负荷的运行情况,需要将所有任务的工作进行细化,给函数调用等环节留有充分 的时间裕度,因此相对于事件触发的设计模块而言,这种设计方法的工作量较大。 2 3 3 系统软件开发技术 在一般的软件设计中,常见的程序软件结构有两种:顺序结构和并行结构。 顺序结构软件是由一个无限循环的主程序和若干个中断服务程序构成。为提高实时性,要求中断处 理程序尽量短,并采用设置标志位的方法,中断程序只完成基本的r 作( 例如输入或输出一个数据) , 大部分工作( 例如命令处理和计算等) 让主程序完成。主程序循环地顺序检查各个标志位来确定是否发 生过中断,是否需要做相应的处理。这种软件结构的特点是:比较直观,处理速度比较快,但实时性差, 难以做到不同工作间的相互通信,结构比较零散,程序的修改和调试比较麻烦。 传统单片机系统程序开发模式采用这种顺序结构的程序设计,在一个主的无限循环中执行所有运行 的子程序,部分子程序可以通过中断调用的方式实现。事实上,单片机应用程序中的各个子程序的执行 频率要求是不一样的,例如在一个车辆控制器系统中,一般的实时控制和参数采样的频率较高,但诊断 和检测的任务要求执行的频率较低,显然将它们放在一个程序循环中去执行是不太合理的。因此作为一 种替代方案,我们可以采用并行的结构能解决该问题。 并行结构把应用软件所完成的操作或功能分成一个个独立的但可以并行运行的任务,如串行口通讯 任务、数据采集任务、数据计算任务、定时打印任务等,各个任务的设计和调试可以分别进行,修改也 只需要针对个别任务。外界信号的实时响应由中断实现。采用多任务的调度机制可咀提高系统的实时性, 软件结构清晰,设计和调试都很方便。 第b 页 第二章系统架构及相关技术讨论 系统初始化 jl u h 任定任 时务务 r 一, 嚣程程 任任 务务 程程 序序程序序 12 序 ul 3 一一一 图2 5 顺序结构的软件流程图图2 6 并行结构的软件流程图 通常在系统开发过程中,有3 个衡量软件开发质量的标准: 1 是否便于调试便于修改错误; 2 是否便于验证便于验证操作和函数输入输出等的正确性; 3 是否便于维护便于添加新的功能,可扩展性。 另外对于一个设计合理的嵌入式应用系统,我们衡量它性能的指标主要有2 个: a 定量性能指标: 动态的效率对于程序运行速度和数据处理能力的评估 静态的效率对存储空间大小的要求 对于以上两个指标,一般的原则是:全局变量+ 堆栈空间 r a m 的容量;常量+ 目标代码大小 r o m 的容量。 b 定性性能指标: 开发者在1 2 个月后仍然能读懂自己写的代码,同时,他人能在理解你代码的基础上对开发者写的 代码进行修改。因此,在程序结构的设计和代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防安全知识培训课件漫画
- 军队文职人员招聘《临床医学》预测试卷三
- 2025年村级益农信息社信息员招聘笔试高频错题及答案
- 2025年军队文职人员统一招聘面试( 体育学)模拟题及答案
- 2025年市级青少年宫招聘笔试模拟题及答案
- 2026届苏州大学附属中学化学高二上期中教学质量检测模拟试题含解析
- 2025年玩具采购合同样本
- 商务合同评审标准化流程表与实施细则
- 爬梯施工劳务协议
- 2025年知识产权公证处公证员招聘笔试专项练习含答案
- 吉安市新庐陵投资发展有限公司及下属子公司2025年第二批面向社会公开招聘笔试备考题库及答案解析
- 2025至2030年中国生长激素行业市场深度研究及投资战略规划报告
- 大疆:2025大疆机场3操作指导书
- 2025年卫生健康行业经济管理领军人才试题
- 班组施工任务单
- 职业健康检查结果告知书模板
- 2022年小型发电站设备缺陷管理制度
- 慢性肾衰竭(慢性肾脏病)诊疗指南(内容清晰)
- 钢结构模块化安装施工方案
- 第十九章颅内和椎管内肿瘤
- 网吧员工消防安全培训记录表
评论
0/150
提交评论