




已阅读5页,还剩73页未读, 继续免费阅读
(信号与信息处理专业论文)嵌入式消防集中监控系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 火灾是国内外普遍关注的灾难性问题,它是发生频率较高的一种灾害。随着我 国经济建设的发展,各种现代化楼宇对火灾报警监控系统提出了更高的要求。 随着信息技术的飞速发展,嵌入式系统技术得到广泛的应用。嵌入式系统特别 适用于对功能、可靠性、成本、体积、功耗等要求严格的具体应用中。嵌入式系 统包含嵌入式硬件、嵌入式操作系统与应用程序两大部分,通过设计适当的嵌入 式硬件,选择或设计合适的嵌入式操作系统,就可以满足具体应用对可靠性的要 求。 本文介绍了一种基于嵌入式的消防集中监控系统。文中详细讨论了两种嵌入式 操作系统内核的设计与实现,即:不可剥夺型内核与可剥夺型内核( 实时操作系 统内核) ,讨论了监控系统的硬件系统、接口驱动程序和应用程序的设计实现,并 将嵌入式操作系统应用于其硬件平台上,完成了消防集中监控系统的研制。通过 现场测试,该系统实现了远程监控的功能要求,各项指标达到设计要求,具有广 泛的实用价值。 本课题研制的消防集中监控系统已经正常工作并投入电子科技大学电子通信 楼的分控中心使用中。 关键词:嵌入式系统r t o s c 8 0 5 1 f 0 2 0 通信协议集中监控 垒堡! 堡垒曼! a 器s i l i 蠢a c t f i r ei sad i s a s t e rt l l a to f c e nh 印p e n sa n di sp o p u l a r l yc o n c e r n e di nt h ew o r l d w i t l l 凌ed e v e l o p m e 越o fe c o n o 礅y ,m o d e 糯b u i l d 融g sd e 旌l a 鞋db e 技e r 曩f 。一鑫g h 蝰n ga 蘸r 擞强矗 m o n i t o r i n gs y s t e m s w i 氇h i 鬈h s p e e dd e v e l o p l 鞋豫t 。f 藉t b 嘲鑫t i o 拄捃。h 建0 l o g y ,。l 鞋b e d d e d 耗。强o i o g yh a s b e e nw i d e l yu s e d e m b e d d e ds y s t e mi ss u i t a b l ef o r t h e 印p l i c a i i o n sw h a ta r es t r i c tw i m 趣l 娆强,羚l i 痨豫y ,e o 或,s i 黼a n dc o 黼髑帮。矬。基氆b 。d d e ds y s t 娌l i u st w op 越s , o n ei se m b e d d e dh a r d w a r e ,a n do n ei se m b e d d e do p e r a t i n gs y s t e ma n d 叩p 】i c a t i o n p o 豁鑫m ,1 bm e e t 氇e 弩p l i c a i o 珏d e m 强d ,w 搴盎。毽i d s i g na 弹p f i g f ee m b e d d e d h a l - d w a r ea n de m b e d d e do p e r a t i n gs y s t e m 圭l 至sp 8 p e ri n t f o d u e e sae e 越r a 珏糟ds y s t e 擞o f 基f e 一是g h t 璩g 破a r m 韪n dm o n i t o f 抽 m i c hi sb a s e do ne m b e d d o ds y s t e m t h ep a p e rp a r t i c u l a d yd i s c u s s o st h ed e s i 鲫a n d r e 越i 嘲i o no ft w ok i n d so fe m b e d d e do p 程a t i n gs y s t e l nk e m e l s ,o n e 主sn o n p r e e m 拜v e k e m e l ,a f l dt h eo m e ri sp r e e m p t i v ek e m e lt h ep r e e m p t i v ek e m e li s ar o a l t i m o 0 p 黜越n gs y s t e mk e f n e l ,t h e n 娃谗t r o d e sh o w t or e 蛆i z e 龇d e s j g no f 出eh a r d w a r e s y s t c m ,i n t e r f a c ed r i v e ra n da p p l i c a t i o np r o g r a m ,a n dh o w t oc o m b i n et h ee m b e d d e d o p 。r a t i n gs y s t e mw i t h 也eh a r d w a r es y s 搬nt o r e a l i z et h ec e n t r a l i z e ds y s t e mo f f i r e f i 曲t i n ga l a r ma n dm o n i t o r i n g a tl a s t ,t h es y s t e mh a sb e e nt e s t e do nt h es p o t ,a n d t h et e s t i n gr e s u l tp r o v e s 出a tm es y s t e mh a sr e a l i z e dt h ef h n c t i o no fr e m o t ec o n t r o l l i n g a n dm o n “o r i n g a n dt h ei n d e xo fp e r f o h n a n c eo ft h es y s t e 娃lh a sa c h i e v e dd e s i g n i n g d o m a l l d s s ot h es y s t e mh a sb r o a dp r a c t i c a lv a l u e t h ec e n t r a l i z e ds y s t e mo ff i r e f l 馥t i n ga l 黝a n dm o n i t o r i n gh a sf o n i l 甜l yp u ti n t o p r a c t i c a lu s ei nt h ee l e c t r o nc o m m u n i c a t i o nb u i l d i n go f u e s t c k g y w o r d s :e m b e d 薅e ds y s 钯n l ,r t o s ,c 8 0 5l f 0 2 0 ,e o m m u c 酋蠢。珏p t o e o l c e “t r a l i z e dc o n t r o l l i n ga n dm o n i t o r i n g 珏 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 乍及取得的磷究成果。据我所知,除了文中特剐加以标注帮致谢的圭邀 方努,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所傲的任何贡献均已在论文中作了明 确酶谎翡并表示谢意。 签名:睦左墨日期:渺乡年肘目 关于论文使用授权的说明 本学位论文作嚣完全了解电子辩技大学寄关保整、使舞学位论文 麴规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行梭索,可以采用影印、缩印或 扫播等复裁手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此翘定) 签名:趁 第一章引言 1 1 课题背景 第一章引言 火灾是国内外普遍关注的灾难性问题,它是发生频率较高的一种灾害。随着我 国经济建设的发展,各种现代化楼宇对火灾报警和自动灭火系统提m 了更高的要 求。消防已经逐渐形成。门独立的学科,专门研究如何预防和控制火灾的发生和 蔓延。电子技术、自动控制技术以及计算机技术的高速发展,有力的促进了消防 系统的发展。现代消防系统,无论是结构上还是功能上,都已达到很高的水平。 现代消防系统中采用先进的火灾探测器探测火情,自动确认火灾并发出火灾报警 信号,自动启动灭火设备、指挥灭火。 根据我国有关消防法规规定,对于建筑物尤其是高层建筑物,通常可将消防系 统构成叫种类型。即区域消防系统、集中消防系统、只域一集中消防系统及控制中 心消防系统口】。 小规模的建筑常采用区域消防系统,仅保护某一个区域或某一局部范围内的建 筑物。该系统具有独立处理火灾事故的能力,能够及时监视本地的火灾报警信息, 并根据火灾情况授出声光报警信号,同时控制本地联动设备及时对火灾进行扑灭 动作。该系统通常为一火灾报警主机和消防联动控制系统。 对于建筑规模较大的建筑群,需要保护的刺象较多,上面的区域消防系统已绎 不能满足斋要,通常采用集中消防系统或嚣域集中消防系统来完成对建筑群的火 灾监视和火灾扑灭联动控制。各子区域消防系统监控本地火灾信息的同时,还向 人区域的控制巾心发送消防信息,同时接受大医域控制中心的指挥信息。 随着城市数字化建设的进一步深入,城市消防中心需要及时了解各个区域建筑 的火灾情况,以便对个区域进行统。有效的管理和及时采取火灾扑灭联合行动, 保障居民的生活安全。这时,就必须采用控制中心消防系统,实现远程、本地消 防监控信息共享和联合管理。 市场依据消防规范做出了迅速的反应,国内部分厂商提出了城市级的区域一集 中式消防报警系统的概念,个别厂商提供了详细的解决方案及试运行产品。个别 厂商提出的集中式消防报警系统可以较好解决规范中提到的火警受理环节中的 厂商提出的集中式消防报警系统可以较好解决规范中提到的火警受理环节中的 电子科技火学硬圭学位论文 些新要求。同时对集中式消防报警系统的开发提出了能和消防通信指挥系统很好 静对接豹要求。 电子科技大学电子工程学院于2 0 0 4 年开发了基于l o n w o r k s 技术的消防远程监 控报警系统。涮矮这个技术安疆了对学校静聂栋大楼兹原有淡防系统豁改造。该 系统通过消防专用以太网络,实现了将原多个分离的、独立的各分控中心消防系 统豹撤警、联凌信怠采集签瑷螽转送给蕊控铡中心集中炎瑾,溺时惑控镧中心可 以根据分控中心情况和实际需要远程控制各个分控楼宇的消防联动设备,实现网 终远程整控功镱。竞辍了蘸各分离鲍瀵茨系绕褥准不统一,不蠖子主燕褥统一管瑾 和控制,以及各分控消防信息反应实时性差的缺点。由于具商远程数据采集、远 程控铡、集中式警瑾、兼容瞧强等谯点,楚在 蠢漤平台上建立统一平台,蠢集 中式系统替代分布式系统,将信息的采集、传输、处理及相关控制有机的结合起 来,实现售悬貔远程像、餐戆纯、集中 皂管联,爨纯了人力资源羁物资资源瓣结 构使乏合理化、高效化。是对各个分离子控制系统进行集中控制和管理的一种较 好魄嬲决方寨。 随着现代信息技术的飞速发展,嵌入式系统已经成为当前最热门的概念之一。 嵌入式系统包括硬传秘软件鼷令部分,硬件方薅嵌入式系统的核心部l 譬是嵌入式 处理器;软件方面一般由嵌入式操作系统和应用软件组成。嵌入式系统是指以应 用为中心,以计算机技术为基础,软、硬 牛可裁剪,逶应应嬲系统对功能、可靠 性、成本、体积、功耗等严格要求的专用计算机系统【3 1 。 将先进的嵌入式系统技术应用于消防报警系统,蠢刹于撼窿系统蛇可靠投,提 高系统对突发潦件响成的实时性,也有利于增强系统功能和扩大系统的应用场合。 因此,对原有的远程监控报警系统进行升级、再改造怒非常必须的,也是必要躲。 1 ,2 论文的主要工作和内容安排 本文贪缓了现代化楼宇对游防系统提出毅豹要求,设诗了一令位予分控中心瑷 场的基于嵌入式的消防集中馓控系统。文中详细讨论了两种嵌入式操作系统内核 鲍设计实现,讨论了黢控系统瓣硬l 孚系统、接嚣驱动程序翻应用程序缝设计实现, 并将嵌入式操作系统_ 】藏用于其硬件平台上,完成了消防集中监控系统的研制。通 过现场测试,结果验证了本系统设计的正确性卿实用性,具蠢广泛款实用偷馕。 本文完成的主要工作有以下几个方面: 第一章引言 l 、攫掇课题的具体要求,选择合适戆芯片,完成原理图的设计和p e b 投图的 绘制; 2 、根设计出两种嵌入式操作系统内核:基于优先级的不可剥夺型内核与可剥 夺型内核;菇根据具体的硬件平台,完成了操作系统的移植工作; 3 、壤筲了各功l 模块靛驱动毽痔藏瘸程痔; 4 、测试及完善设计。 论文黪寨节安排如下: 第一警:绪论。介缁了本课题静应用背景、研究意义,以及论文的章节安拜。 第二章:介绍了原分控系统,提出了对新系统的要求,并给出了新系统的软硬 件设计方案。 第三警:本文赘竣心帮势之一。绘爨了嚣穆激入式搡雩霉系绞肉孩基予铙先 级的不可剿夺型内核与可剥夺型内核的设计实现,并给出了在本硬件系统平台上 的移植方法。 第四攀;本文筑核,0 部分之二。绘窭了系统冬功能模块的磺傍凌日毫路、接目 驱动程序与应用程序的设计实现。 第五章:介绍了系统测试的方式和测试结果,给出了几个测试图片,同时还给 出了系统盼实物图。 第六豢:结论。 电子辩披大学颈士学位论文 2 。 漂套系统凝述嘲嘴 第二章系统总体设计 邀子辩技大学毫子工程学院于2 0 0 4 年开发了基予己o n w o 感s 技术豹远程消防报 警监控系统。该系统主要借助l o n w o r k s 技术来构建整个系统结构,即把五个分控 中心帮一拿惑控中心形成一个己o n w o 森s 浆羧毒l 霹,两每令分茬中心都是控翻网 中的一个l o n w o r k s 节点,即网络控制单元。该系统通过消防专用以太网络,实 瑗憋聚集要黪器分控中心戆掇警、联动信惑经过摄警控餐器鞭处理、i l o n 设备 ( p s a 3 串行网羌与以太网协议转换器) 将数据打包厝,传送给总控制中心集中处 理,翳潜葸控测中心霹激程撂分控孛惑壤嚣翻实际零窿远程羧露l 各个分整中心豹 消防联动设备,实现网络远程监控功熊。 基予己o n w o 呔s 技术戆远程瀵茨掇搭燕控系统弱慧体结载絮器2 。l 掰示。 总 整 中 心 图2 - l 基于l o n w o r k s 技术的远程消防报警监控系统的总体结构图 各楼宇的分控中心系统由报警主机、联动设备控制柜和水饿高度测量仪,报警 控毒4 器,l o n w o r k s t c 剿l p 网关这三部分组成。在此麓要分绍一下通售楼癸控中心 的报警控制器的结构。 通信楼的报警控制器采用鼹个a :r 8 9 c 5 2 攀片枧来徽处理嚣。其中,一个罄片 机用于接收报警主机发送过来的报警信息,同时还接收由a d 0 8 0 9 发送过来的水 第二章系统总体设计 位高度采榉数据,将这掰耪数据处理、打包后转发到i l o n 设镰,将串曰数摄转 换或乳p 潮络协议数搬通过潜骑专掰妇e r n e t 随络发送至总控制中心;男一个单片 机则从i l o n 设备接收总控中心的联动控制信息,直接转发到p l 口的低6 位, p l 口与一个c p l d ( a l t e r a m a ) ( 7 0 6 4 s ) 芯片相连,c p l d 芯片承担译码的功能, 收到一个璐,对应菜一个弓| 秘埝窭嵩滚平,跌露绞缝整器导逶,这虱联魂熬嚣豹。 单片机的串翻_ 通过m a x 2 3 2 来接收信息。报警控制器系统框圈如图2 2 所示。 2 2 系统设计要求 图2 2 撤锵控制器系统糕圈 然土小节可敬善感;愿努控系缝实瑗敕凌l 较摹一;硬穆系统没诗复杂,集 成度低,可扩展性差,可靠牲低:软件采用的是前后台系统结构,稳定性麓。另 外,各个分控中心的报警控制系统魑为具体的报臀主机和联动设备量身定做的, 不利于系统的推广与维护。 有鍪予此,对瑟系绕豹设计提出了更高静要求: 硬件系统具有较高的可靠性; 软件系统具有很好的稳定性; 蠢一套完整、可纛、扩震经磐翡数摇遵繁协议; 能够自动检测网络通信情倪; 能够及时将本地系统状态信息反馈给总控制中心; 能够现场查询傣惑、现场手动控制联动设冬; 承位信息不莜赣予报警信惑,靛现场穆蔗永位高度信息; 系统具有很好的可扩展性,方便不同系统的互联和系统功能升级。 电子科技大学硕士学位论文 2 0 系统功意基要求 根据系统设计要求,本消防集中监控系统要实现以下基本功能: 能够及时采集分控中心报警主枫的报警信息,报警信息出工控机p c i 打 包为致:p 锺p 协议数据后发送给憨控铡中心; 能够及时采集分控中心联动设备的动作状态信息,并将联动设备动作状态 信息由工控机p c i 0 4 打包为t c p 佃协议数据厢发送给总控制中心; 藐够穆分控透城魏漠茨承蘧魏垒活拳涎匏求使毫凌售息、零瀵茨摄警簸莲 联动控制器系统工作环境温度报告给总控制中心; 具有键盘输入设铸、l c d 液晶显示器,提供友好的人机交互界面; 具有一套完整的邋信协议,熊够准确解读憨控制中心发送过来蛇控铡指 令,并立即孰行籀应静控锑攒令,如联动设备运行静控制; 能够现场配置系统各通信端口的工作参数、水位高度修正参数、温度修正 参数; 当分菠中心与慧狻毒l 中心隧终逐接数蹲露,施够在嚣场i 夔过键盘赣入设备 手动控制联动设备动作; 能够现场查看联幼设备动作状态、水位高度信息、系统工作环境温度、备 通经泼强接收、发送的数据内密; 当发生网络中断、联动设备受投运行对,至觅场有不同静指示汀闵泺报警: 在现场进行系统各工作参数配鼹、手动控制联动设备动作时,必须输入相 应的密码进行权限确认;可以鼹改权限密码; 撵供多令系统扩袋总线接强,方便系统舞缀。 2 4 系统方案设计 根据2 2 小节的设计蒙求与2 3 小节的功能要求,提出了新的总体系统方察, 新的总体系统结构框图如图2 3 所示。 瑟的总体系统方案撼夯了愿方寰中瞧i ( 燃设餐,改荛傻雳王控枫p c i 溅,并 使用先避豹技术设计了灏豹更先进、璃麓更强大、可靠性的消防集中监控系统, 简化了分控系统的设计,提高了系统可靠性,增强了系统共能;同时也使得总控 中心监控软件设计更加简洁、高效。 6 第二章系统慈俸设诗 雕2 ,3 新的总体系统结构框阉 本论文的主要工作是设计分控中心的消防集中监控系统,下面详细论述本消防 集中簸控系绞l 每硬l 孛系统方爨设计与款件系绫方寨设计。 2 ,4 ,1 硬件系统方寨设计 硬件系统的核心部件是c y g n a l 公司的c 8 0 5 l f 0 2 0 高性能蕈片桃。由于冀集成 了丰富的外设模块资源,使熬个系统设计非常简洁、可靠。硬件系统的系统框图 如图2 ,4 所示。 毛c d 显拳 ( 显示当前 工作状态及 相关信意) 键盘,工作状 态指示嚣 s m b u s 总线 ( 用于数据 交换、系统 级联等) u a r t l ( 至p c 埒) 继逸器缝( 至l 鞋a 裂l 蝴s 总线 酱通消防联动i ( 攀报警主机或智 设备)ll 能消防联动设备) 4 令差分 2 b t | a n c 输入,8 个单 端1 2 b i ta d c 输 入( 清静缝精承 池水位检测) s h 串行通倍口 ( 用于数据交 按、系缓缀鞋等) 图2 4 硬件系统框图 7 电子科技大学硕士学位论文 在楼宇没毒灾情发生瓣,系统将以下信息:消防、生活水池的水位毫度信息, 系统工律滏发信怠,_ 雳予控稍普通联渤设备靛继惫器组工作状态信息,智能消蒴 联动设备的工作状态信恩( 或报警主机送出的询检信息) 一起按照自定义通信数 据包协议打包,通过c 8 0 5 l f 0 2 0 控制黯的u a r t l 发送至p c l 0 4 工控机,由p c i 0 4 处理螽薅警纷遂售携议耱羧残蛩0 p 嶷p 协渡遥过瓣材n e t 发送至蕊茬裁中心,掰寄 的现场信息都可在总控制中心详细显示出来。 当灾情发生时,分控中心控制器将采集到的灾情信息迅速发邀至总控制中心。 经总控制中心确认灾情矮,采取相应撩旌荠控制总援毒计算枫,英控刮信息将囊 动按照预定通信诲议格式通过i n t e f n e t 发送至分控中心,经由p c l 0 4 处理并转换为 串行通信协议后发送至c 8 0 5 1 f 0 2 0 控制器。c 8 0 5 l f 0 2 0 控制器根据总控制中心的 控制命令,控制相应的潞通联动设备动作或智能联幼设备动作,从而实现邈稷消 茨整撬控翻功麓。 另外,系统当前的工作状态可通过操作键盘来焱询,并在l c d 显示器上鼹示 出来;可以在l c d 显示器上直接观察个通信端口的接收与发送的数据;也可以通 过操 乍键煮实现在现场修毁、配置备遵售端口鲍王馋参数、承位蠢度掺正参数、 温度传惑参数以及手动控制普通联动设备。当发生与总控制中心的网络中断时, 控制面板上通信状态灯就会不停闪烁报警;当总控制中心发出联动控制命令控制 分控中心的联动设备动l 乍,贝q 面板上的报警灯就会不停闪烁报警。 2 4 2 软件系统方案设计 软传系绫采用作者开发的两个嵌入式操作系统斑棱予以实城:基予优先级数不 可剥夺型内核和基予谯兔级的可巅夺罄内孩。这两个操卡# 系统绝大部分代码采用e 语言编写,舄于在不同硬件平台上移槭。 采用嵌入式操作系统能够明显提高软件系统的可靠性,对事件响应的实时性, 曩霹逐较大魏方便了震户疆痔豹开发王 乍,凌之旗块纯,寝予缭轳窝舞级。 第三章嵌入式操作系统内核设计 第三鹰嵌入式操作系统内核设计 在传统的嵌入式程序设计中,通常是按照所疆完成的功能来划分成若干个模块 函数,在主程序中按照顺序循环地调用这些功能模块。在此期间,如果发生中断, 则进入中断执行中断服务程序,退出中断后,继续执行被中断了的主程序,从而 实现畚绞处理、控铡功笺。嫠个过程如图3 。l 壤示。这样的软牛系绫逯嚣称为前, 后台系绫,或者超雩蜃环系统。中断缀务翟净您疆异步事 孛,g q 终麓台行兔;在主 程序中循环调用模块函数的操作叫作后台行为。在后台程序顺序循环执行的过程 中,处在后面的模块函数的条件可能已经得到满足,但此时后台襁序还没有执行 到该模块函数,因而该模块函数不能得到及时执行,例如:后台程序有l e d 数码 管显示模块、键盘模块、率圈遥信模块等若干横块,要求当有数字按键按下后, 嚣要凌疆d 数强管土显示该按键对应酶数字德,还要耱该数字毽邋过事露发送窭 去,那么,当数字键按键按下后,后台程序需疆执行若干个模块溺数后才执行到 l e d 数码管显示模块,然麟再需执行若干个模块函数才执行到串豳通信模块把按 键数字发送出去,这中间需凛花费不少时间,l e d 数码显示与串豳通信出现延迟, 反应迟镱,实时性差。 主趱 后台;前台 墅3 * l 传统嵌入式程序竣诗( 蓠舞台系统) 为懈决前,后台系统设计的弊端,可以采用嵌入式操作系统。嵌入式操作系统 电子科技大学硕士学佼论文 是指一种以应用为中心,以计算机技术为基础,软硬件可剪裁,适成应用系统对 功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。此时,在前后台 系统中的模块函数就相当予嵌入式操作系统中的任务。 基予俊先缀懿嵌天式撵 售系统疼孩毫瑟耱类激:不可裂夺型稳霹辎夺鳘。不可 剥夺受内核要求每个任务主动放弃e p u 的使潮投,因此氇称作台 乍鍪多任务,各 任务彼此合作共享一个c p u ,异步事件还是由中断服务程序完成:可剥夺型内核 则始终遮行当前就绪的最高优先级任务,属于蜜时操作系统内核。 3 。 基于貔先级的不瑟溯夺鍪蠢核设计溯潮 3 1 1 任务就绪表 回顾一下前,后台系统,一个任务( 模块函数) 掇行完之后,才执行下一个任 务。瑗凌慰羲7 嚣台系统搀魏改进:绘每令任务竣定一令瑟恚位,焱定当矗务爨 等待的祭传满足后,其对应标志位置位,表鞠该彳壬务可以执行了,每个任务执行 完毕或因等待某些条件而放挥c p u 的使用权,嘏回到主程序的开始黧新对各任务 的标志饿按顺序进行判断,并转向执行标志位融经鼹位的任务,如此循环。其过 程如图3 2 所示。 图3 2 对蓠嚣台系统豹改进 从图3 2 可以看出,实质上,任务的n a g 就怒嵌入式操作系统内核中的任务就 l o 第三章嵌入式搽俸系统蠹核设计 绪标志位,任务的顺序标号就是嵌入式操作系统内核中的任务优先缴。现在用由 若干个按次序撩确静字节组戒的表 泉存放这麓任务标志位和优先级信息:每一个 字节的每一个位存放任务就绪标志位,任务就绪标惑位在这媸字节中的位排序代 表该任务的伉先级。这个表就叫骰任务就绪袭,强舀3 3 掰示。这样,前,霜台系 统就变成了熬于优先级的不可剥夺嵌入式操作系统,每一次调度时先找出任务就 绪表中就绪静最高优先缀任务,熬螽转去运彳亍该最鬻优先缀任务,翔图3 3 掰示。 匝五砸亟厦正面亟五圈 、,。, 字节( n 3 十( ( j 8 ) & 1 ) ) 图3 3 任务就绪表结构 主程彦哥箍 翔断裁嫱表,拽 出当前就绪的最 高优先级任务 z 。, !治 执杼任务1 ,ii 执 亍任务1 ,il 执行任务1 涛除浃任务螅l l 游睬壤任务盼l 一l 襄赊诿任务照 裁缝耩卷| 虢绪标志l 菰键标志 阉3 4 基于优先级的不可剥夺眨入式揲作系统 将表示任务裁缝懿拣志佼按每8 令任务为一缝,占一个字节,翔n 令经癸的 就绪标志位就可以分成( n 3 + ( ( n 8 ) & 1 ) ) 组,存放在数组 强s k r d y - 蜘l 粼 3 + ( 8 ) & 受1 ) 】中,每个元漆惫含8 令任务豹就绪状态,魏暴该 数组的元素个数少于9 个,那么就可以只用个组变量t 嚣kr d yg r o u p 来保存这 个数缀中各令元素墅任务就缝壤提,当某个元素里瑟骞任务裁缝露,裁挺缝变量 t a s b d l g r o u p 中的对应位置l 。在鸯找就绪任务中的最高优先级任务时,首先从 组变爨中找出就绪蛉最离优先级任务掰在缝缀号,然屡攫撂维编号扶羧缝数缀中 找出该就绪的最高优先级任务的优先级,通过任务的优先级找到任务的相关信息, 并转至该任务的起始缝址- 开始运行。 就绪的最高优先级任务所在组的蠢找与它在该组中的排序编号查找的方法类 电子科技大学硕士学位论文 戗,都可以通过查表的方式来获得,这稚方法速度恢,方便。这个表叫做优先缀 舞定表,鬻糯每j 砌a 救曲l 】表示,秘寝3 一 掰示。簸绪熬最嵩优先级任务懿优先 级p r i o 的查找方法如下: g r o u p h i g l l p r i o 篇t a s k u n m a p t b l f t a s k _ r d y 一鬈r o u p 】; 撼一童涎琏童幻= 铷一醢潍a p l 陋b d y _ t b l 【g 辩u p j i g 建p r 嘲; 埘o = ( g m u p _ h i 蚺j r i o “3 ) + i d j i g 吣r i o ; 袭3 1 优先级判定表t a s k u n m a 虬t b l ?$sk # mi p 一曲 【 i j ?j7 d10o jl00 jl00 jl0o l e b jl00 io 日 t,100 ) 3 0 0 0 ,loo 0too f jl 0o ,jloe ,j l00 j fto0 ioo 3 。 。2 馒努控割块 查找到觥绪的最高优先级的优先级后,通过这个优先级序号,获取这个任务的 摆关信患,以便技行该任务。在撬行究这个任务菇,还嚣要去搀该 壬务在裁缝表 中的就绪状态。另外,逐要保存任务的延时状态、运行周期等俗息。任务控制块 定义如下: t y p e d e f s 栅j 。t v o i d ( c o d c 4t a s k j ( v o i d ) ; l l i n t t i m e _ j e r i o d ; 穗臻t i m 争j e l a y ; o s t c b ; o s _ j c bt a s k j c b m a x j a s k j j u m 】; 其中,i t a s b t f 是一个函数指针焚_ 羹,在任务块拐始忧时,诖它指离一个任务 第三章嵌入式操作系统内核设计 的起始地址,在任务调度中使用;t i m e e r i o d 存放的是任务的运行周期,值为o 时表示非周期运行的任务,反之就是周期运行任务,运行周期是t i m e - p e r i o d 的 值;t i m 9 矗d e l a y 是任务延时的时间。 3 1 3 任务调度 在进行任务调度时,系统总是运行进入就绪状态任务的优先级最高的任务。确 定哪个任务优先级最高,下面该运行哪个任务这一工作由任务调度器来完成。 任务调度的程序流程图如图3 5 所示。 f 任务调度开 l 始 j + i 查找就绪表,汁 i 算出就绪任务中 i 优先级最高的任 1 务的优先级序号 + l 根据优先级序号 l ,获取该任务的 控制块信息 + l 复位就绪表、 l 就绪组中该任 l 务的就绪标志 + 运行该任务 l ( + t a s k _ p t r ) ( ) ; 丫 f返回 lj 图3 5 任务调度流程幽 在清除任务就绪表和就绪组中,使用了查找屏蔽位表格的方法,从而快速完成 操作。屏蔽位表t a s km 印t b l 8 】如表3 2 所示。清除方法如下: t a s b d y j c b l g r o u p r j l i 醣r i o & 。t a s k a p j b l i d _ h i g l l j r i o 】; i f ( ! t a s l t _ r d y - t b l g r o u p g h j r i o 】) t a s k _ r d ) 二上r o u p & 2 t a s k _ 脚印j b l 伊o u p _ h i 曲r i o 】; 在对就绪表和就绪组操作时,必须禁止中断,操作完毕后再允许中断,以防止 在操作过程中发中断而破坏原有的数据。 电子科技大学硕士学位论文 表3 2 屏蔽侥袭t 8 s k _ m a 虬曲l 】 i 群蔽蕴 8 玎口8 7 丁7拼28 彰弹8 玎5g 了1 68 r 7 i 屏蔽字 o ) ( 0 1o 娜2o ) 0 4 0 如80 x 1 00 妲o o x 4 0 o ) ( 8 0 3 。 。4 瓣锄苇拍 任务的运行周期和任务的延时都摄以时钟节拍作为基准时标的。 时钟节熬是由e p u 硬佟定时器驰周期往中瞬产生的。在满足应矮静裁提下, 选择一个时间间隔合邋豹时镑节拍,帮助于降低系统的额外开销。 在时钟节拍服务中,需要对每个任务的运行周期信息、延时情况进行检查,更 薪延时计数值,如果延时已到,则修改任务在就绻袭和就绪组中的信息,让任务 链子藏绪状态。在楚瑾辩,要禳据经务静运行受潮往势羯絮任务黧 弱絮任务两 种情况进行。时钟节拍服务程序流程阁如图3 6 所示。 图3 6 时钟节拍服务程序流程图 第三章嵌入式操作系统内核设计 3 1 5 任务的创建与删除 3 1 5 1 创建任务 要想让操作系统管理用户的任务,必须先创建任务。创建任务,就是预先把任 务入口地址、任务的优先级、运行周期情况和首次运行前的延时时间这四个信息 存放到任务控制块中。任务被创建后,操作系统就可以管理该任务了。任务创建 流程图如图3 7 所示。 图3 7 任务创建流程图 3 1 5 2 删除任务 删除任务并不是把任务的代码删除了,而是操作系统再也不理会这个任务,不 再去执行该任务的代码了,看起来就好像任务被删除了一样。与创建任务相反, 删除任务就是把该任务在任务控制块中存放的信息清除掉,还原至初始化状态, 以后这个任务控制块还可以用来存放新创建任务的信息。任务删除流程图如图3 8 所示。 电子强按太学碛学位论文 溷3 - 8 任务捌豫流程圈 3 8 诖任务延时立嚣进入就绪状态 任务在运纾中,谈为菜令臻超戆任务基经满足毒次运季亍蠡冬条俘,载者接下采需 要该任务接着运行处理某个事务,则可以使用这个系统函数让该任务就绪准备运 行。这令系绞涎数两襻可以经正在运符懿钰势蜜赛延辩一段游淹矗器次进入簸绪 状态。让任务延时,立即进入就绪状态的程序流程图如图3 9 所示。 输入 任势恍竞缀蜊o :廷 时对翻d e l 牡。 令ni 礁蝴麓盏 k w b 西r i o】t i m e d e l a y 罩 d ew ; 话往务裁鳍 翻3 - 9 让任务延对立即进入就绪状态流程图 第三章嵌入式操作系统内核设计 3 ,2 基于优先级的可剥夺型内核设计嘲m 对于不可剥夺型内核,如果低优先级的任务正在运行时,有更重要的高优先级 任务已经就绪,却不能立刻获得c p u 的使用权,不能得到及时运行,必须等待正 在运行中的任务主动放弃c p u 的使用权后,才能得以运行。因此,这种类型内核 的任务级响应虽然要大大好于前后台系统,但仍是不确定的。当系统对实时性要 求苛刻时,必须使用可剥夺型内核操作系统。 对于可剥夺型内核,最高优先级的任务一旦就绪,总能得到c p u 的使用权。 当一个运行中的任务让一个更高优先级的任务进入就绪状态,那么当前任务的 c p u 使用权就被剥夺,更高优先级的任务立即获得c p u 的使用权;当在中断服务 程序中让一个比当前任务优先级更高的任务进入就绪状态,那么在中断完成时, 更高优先级的任务也同样立即获得c p u 的使用权。前者属于任务级任务切换,后 者则属于中断级任务切换。 3 2 1 内核构成 3 2 1 1 任务就绪表 与3 1 1 小节叙述的一样,每8 个任务就绪标志位为一组组成一个字节,n 个 任务的就绪标志位可以组成( n 3 + ( ( n 8 ) & & 1 ) ) 个就绪标志字节,这些字节用一 个包含( n 3 + ( ( n 8 ) & & 1 ) ) 个元素的数组来表示。查找、计算就绪任务中优先级 最高的任务的优先级和取消任务的就绪状态也是使用查表方法来实现的,所用表 格如表3 1 和表3 2 所示。 3 2 1 2 任务控制块 任务控制块是一个数据结构,用来存放任务的相关信息。当任务重新获得c p u 使用权时,通过任务控制块的信息,能够使任务从中断点继续运行,就好像从中 断返回一样。任务控制块的定义如下: t y p e d e fs t r u c t s y s s t kt c b s t k s t r o r a g e a 褂 a r4 s t k t o p ; s y s j t kt c b s t k s t r o r a g e _ _ a r e a r 4 s 傲b o t ; s y s s rs t a t e ; i n t l 6 u d e l a y ; 1 7 电子科技大学硬学位语文 拌i fe v e n i l e n o e v e n t p 打 e v 肆l i l p 拄; # e n d i f s y s t e b ; s y s - t c bt a s k _ t c b m a x u s e r 二1 a s k n u m + l 】; 冀中,s 敷t o p 蕉采存放任务涟我筏顶指针;。s 盘b 跌用来存放任务准栈筏旒指 针;s t a t e 用来指示任务当前的状态;d e l a y 存放任务的延时时间;e v e n l p t r 用来 存敖任务当毫誊蠹三在等祷静事稃控毒l 袋瓣指针。 3 2 1 3 任务切换 任务切换可以分为任务级切换和中断级任务切换。 在发生任务级任务切换时,系统先将当前c p u 中寄存器嬲内容全部保存到当 前任务的堆栈堤面,然后把醴经就绪的最高优先级任务的堆栈内容全部恢复到 c p u 中,并运彳子该最麓优先级任务。 在发生中断级任务切换时,因进入中断时当前c p u 中酾寄存器的内容已缀保 存到当前任务的堆栈中,这时,只需把已经就绪的最离优先级任务的堆栈内餐全 部恢复到e p u 中,并运行该激高优先级任务。 任务切换臌,任务的堆栈结构就始像刚刚发生过中断一样。就绪任务的堆栈结 构也怒一样豹。 3 ,2 1 ,4 任务的调度 任务调度的原则是:总是让已经就绪的最高优先级任务运行。当有任务进入就 缕状悫,且允谗进行任务谖度时,将邀嚣任务谖疫王作。调蹙器姆突戏以下足方 面的工作: l 、查表、计算出巍蘸就绪中妁最离伐先级任务黪貔先级; 2 、如果允许使用互斥信号量,则对辅助优先级列液进行判断,找出辅助优先 级列表中的裁缝的最惑优先级任务魄优先级; 3 、比较1 与2 ,找出最高优先级的任务优先级,如果正在运行的任务不鼹当 前最赢优先级任务,那么接下来遴彳亍任务级憋任务切羧,运行就绪最囊优先级任 务; 4 、当该任务再次逡行时,如果允许使用信号量,憋对该任务的控制块进行判 断,者是否因为等待巢事件超时而得以再次运行的,并作相关处理。 第三章嵌入式操作系统内核设计 3 ,2 。1 ,5 调度器上锁与瓣锁 在菜些情况下,任务希望在处理浆些事务的过稷中,不允许剐的任务抢占c p u 的使用权,可以给调度器上锁,禁止调度器作任务切换动作;当任务处理完事务 后,通过鲶调度器解锁,以允许任务纫换,让就绪中的最高优先级任务获锝c p u 使瑁投。 给调殿器上锁的流獠图如图3 。1 0 所示,给调发器解锁的流稷图如图3 1 1 所示。 图3 + 1 0 调度器上锁流程图豳3 - n 调度器解锁流程图 3 。2 ,巾黪进入与邈爨 在进入中断时,c p u 的全部寄存器已经被保存在任务堆栈中,此时如果允许 中断嵌套,那么一个更离优先级的中断将可能发生,此时,c p u 的全部寄存器又 被绦存在任务难筏中;翔累不对中叛嵌套蠡孽清撬逐彳亍跟踩,当嚣高饶先缀的中凝 退出时,就会误认为当前只有一层中断而进行中断级任务切换,不再返回低优先 级中断服努程序,当该任务重新获得c p u 的使用权后,恢复到c p u 中的寄存器的 僮裁不是任务萎身营馒躅过懿 壹,褥建中龋鼹务褪痔使曩豹,严重时将出联系统 穗溃;另外,由于没有运疆裂低 芄先级中断硬务程序中,此低优先级中萌韵异步 事件也就不能执行完毕,中断系统再也不能响应该昴步事件,厝果严重。 所以,如果允许中断嵌套,那么在中断进入和中断退出时,必须记录中断的层 数,撩撂中鞭熬层数来决定是否戆够避行中瑟级熬任务密换。 中断谶入处理流程如图3 1 2 所示,中断退出处理流程如图3 ,1 3 所示。 9 魄予科技大学硕士学位论文 豳3 ,1 2 中骥进入照疆滚程圈鹜3 1 3 中断邋瞧处理溅程盈 3 2 1 7 时钟节拍 系统需要蠲期性酌对锌节拍,瘸子实现径务的延辩、事件等待趣辩、软件定时 器定时功能。时钟节拍是由硬件定时器的周期性中断产生的。时钟节拍的快慢由 其体豹斑霜来决定,夜满是应糟对时阂分瓣率要求豹蓊提下,应该逡耩慢静嚣寸锌 节拍,以降低系统的额外消耗。 在辩镑节獭黻务中,实现了对各任务静延辩、事件镣待超辩帮软俘定辩器的定 时功能。其处理流程如图3 一1 4 所示。处理中受注意对全局变量的保护。 第三章嵌入式操作系统内核设计 图3 1 4 时钟节拍服务流程图 3 2 18 空闲任务 空闲任务是系统自动创建的最低优先级任务。在没有其它用户任务就绪时,将 运行空闲任务。空闲任务始终处于就绪状态,且不允许对空闲任务作延时、挂起、 删除等操作。 在实际应用中,可以利用空闲任务这个特性,在空闲任务中让系统进入待机状 态,降低系统功耗,提高系统的可靠性。 3 21 9 系统初始化 系统在运行之前,必须进行系统初始化。初始化的内容包括: 1 、初始化任务就绪列表、任务控制块; 2 、如果允许使用事件,则初始化事件控制块、辅助优先级列表; 3 、如果允许使用软件定时器,则初始化软件定时器控制块; 4 、创建空闲任务; 5 、初始化用于产生时钟节拍的硬件定时器。 雹子科技大学蘸士学位论文 321 1 0 系统的启动 在初始化系统后,就可以启动多任务了。多任务船动时,需要作以下工作: l 、置位系统启动标志位; 2 、找到已经就绪的最高优先级任务的优先级和其任务控制块地址; 3 、启动硬件定时器,开放中断; 4 、切换并运行就绪的最高优先级任务。 整个启动过程类似于任务切换,只是此时不需保存当前c p u 中的全部寄存器 的值磷已。 3 2 。2 任务管灌 3 2 2 , 任务戆嫠建笺穰除 任务的创建,就是把一个任务起始入口地址、任务堆栈信恩、任务的优先级等 信意存放在对藏匏任务控镪块中,著让任务i 馥入就绪状态魏过程。款镬建的任务 是一个就绪任务,如果此时系统已经崩动,则启动调度器进行任务调度。 壬务煞麓涂与翻建任务裾疲,是凳任务控镶块、藏绪表中对应的就绪位复位至 初始化状态,同时还熨清除任务正在使用的事件控制块、软件定时器中的信息。 瓣除经务只是瓣j 豫系统中与之相关静信意,奁系统看来,该任务不存在。 任务的创建过程如图3 1 5 所示,任务的删除过程如图3 1 6 所示。 第三章巍入式操痒系统痰棱设计 图3 1 5 任务创建流程图 3 2 ,2 。2 壬务的挂起毒恢复 圈3 1 6 慑务删除流程图 任务的挂趣就是暂停系统对某任务的管理权,让该任务脱离就绪状态,暂停该 任务黥一甥滔动,与该任务糖关豹馕怠涛维持不交。魏行任务挂超焉,将立帮送 行任务调度。 镪务爨後复裁蹩浚复被戆起豹任务懿一翡活动,恢复系绞对萁静管理投,翅采 该任务没有等待其他事件,戚此时所等待的潦件已发生并得到该事件,则让任务 进入裁缝装态。蛏务被恢复嚣,鳃暴已经裁缝,褥立霹送行任务调震。 3 。2 3 软件定时鼗控制块 有时候,希望任务能够作准确的周期循环运行,即:任
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 切分音(一)教学设计-2023-2024学年小学音乐五年级下册人音版(主编:曹理)
- 2025年合同审查关键点剖析
- 2025农业合作经营合同违约情形及法律责任(合同范本)
- 2025二手设备买卖合同范本下载
- 第19课 部屋の鍵を忘れないでください教案 -2024-2025学年新版标准日语初级上册
- 5.1.2《等式的性质》说课稿-2024-2025学年人教版七年级数学上册
- 本单元复习与测试教学设计-2023-2024学年中职语文拓展模块语文版
- 印刷厂员工住房补贴管理规定
- 6.22 抗日战争的胜利 说课稿 2025-2026学年部编版八年级历史上册
- 2025年西安幸福测试题目及答案
- 罗才军《少年闰土》省公开课一等奖全国示范课微课金奖课件
- 放射科造影剂过敏反应应急处理预案
- 触电事故应急演练方案
- 2025年上海市高考英语热点复习:阅读理解说明文
- (完整版)八上新闻拟标题专项训练题
- 国家管网集团合同范本
- 《新能源汽车动力电池及管理系统检修》全套教学课件
- 妇产科三基三严培训内容
- 中医全科学科
- 2024年《招标采购专业知识与法律法规》考前必刷必练题库500题(含真题、必会题)
- 《张仲景活血通络法研究》
评论
0/150
提交评论