已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
a bs t r a c t a b s i r a c t : p a s s i n gp h a s es e p a r a t i o n ss y s t e mw h i c hi s a ni m p o r t a n to nb o a r dd e v i c e ,i sa v i t a lc o m p o n e n to fc o n t r o ls y s t e mo fe l e c t r i cl o c o m o t i v e s w i t ht h ed e v e l o p m e n to f t h ee l e c t r i c a lr a i l w a ya n de l e c t r o n i ci n f o r m a t i o nt e c h n o l o g y ,a tt h ee n do fn i n e t i e s , a p s ( a u t o p a s s i n gp h a s es e p a r a t i o n s ) d e v i c es t a r t e d t ob ea d o p t e dt o e l e c t r i c l o c o m o t i v e si no u rc o u n t r y h xd1a n dh xd2l o c o m o t i v e sa r et h em a i nt y p eo f l o c o m o t i v e su s e do nd a q i nl i n e o n b o a r da u t o m a t i cp o w e r - o f f s c h e m ei sa d o p t e d t ot h ea p sd e v i c eo nt h e s el o c o m o t i v e s t h i sd e v i c en e e d sn om a n u lo p e r a t i o n sa n d i t c a nc o n t r o lt h ec u r r e n tr i s i n gs l o p e ,t h u s ,i n t r o d u c ef e w e ri m p a c t i n gc u r r e n t b u tt h i s d e v i c em a yb r e a ke r r o n e o u s l ya n ds h o r t e nt h em a i nb r e a k sl i f es p a n a n dc u r r e n t l y t h e r ea r ef e wt e s t i n ge q u i p m e n t sf o rt h i sa p sd e v i c e t ot e s t t h ed e v i c em o r e e f f i c i e n t l ya n dm o n i t e ri ti nr e a l t i m e ,t h i sp a p e rd e s i g n sam o n i t e r i n gs y s t e mf o rt h e a p sd e v i c eo nh xd1l o c o m o t i v e s ,w h i c hr e n d e r sap o r t a b l es o l u t i o nf o rd e v i c et e s t a n dd i a g n o s i s a n dt h ee f f i c i e n c yo ff i e l d o p e r a t i o na n dm a i n t e n a n c ew i l l b e i m p r o v e dg r e a t l y t h i sp a p e rf i r s ti n t r o d u c e st h ei m p o r t a n c eo fa p sd e v i c eo nb o a r d c o m p a r i s o n s a lem a d eb e t w e e nt h ee a d yo n g r o u n ds o l u t i o n sa n dm o d e r no n - b o a r da p s s o l u t i o n s t h ep a p e rn e x ti n t r o d u c e st h et r a i nc o n n e c tn e t w o r k sp o t o c o l s ,a n dd e t a i l e d i l l u s t r a t i o n sa lem a d et ot h em v b ( m u l t i f u n c t i o nv e h i c l eb u s ) p o t o c o l sa n dt h ep r o c e s s d a t as e r v i c e si tp r o v i d e s a tt h ee n do ft h a tc h a p t e r , a no v e r a l ld e s i g ni sp u tf o r w a r d e m p h a s i si sm a d eo nt h ed e s i g no ft h eh a r d w a r ep l a t f o r mi n c l u d i n gc h o o s i n g t h e c p ua n de x t e n d i n gm e m o r i e s m e a n w h i l e ,t h es e r i a lc o m m u n i c a t i o np o r ta n dl c d i n t e r f a c ec i r c u i t sa r ei l l u s t r a t e d t h es o f t w a r ed e v e l o p m e n tp r o c e d u r ei sd e m o n s t r a t e dw i t hd e t a i l s f i r s t ,t h e d e v e l o p i n gp l a t f o r mi s c o n s t r u c t e dw i t ht h et r a n s p l a n t a t i o no ft h eu c l i n u xo p e r a t i n g s y s t e m a n da ni m p r o v e m e n tf o rr e a l t i m es c h e d u l i n gi sm a d e a l s ot h ed e s i g no f t h e d e v i c ed r i v e r sa n dt h eg u ip l a t f o r mi sm e n t i o n e d i nt h ee n d ,t h ep a p e rd e s c r i b e sa m u l t i t h r e a di m p l e m e n t a t i o no ft h em a i nc o n t r o lp r o g r a m k e y w o r d s :h xdl o c o m o t i v e ;a u t o p a s s i n gp h a s es e p a r a t i o n s d e v i c e ; m u l t i f u n c t i o nv e h i c l eb u s ;u c l i n u 。xo p e r a t i n gs y s t e m ;m u l t i - t h r e a dp r o g r a m m i n g c i a s s n o :t p 2 7 7 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:签字目期:年月同 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名兹亏嘲 签字日期:妒习年多月御同 导师 签字日 致谢 本论文的工作是在我的导师郑琼林教授和黄先进老师的悉心指导下完成的, 从论文的选题、系统方案的设计、实验问题的解决等方面都凝聚着郑老师和黄老 师的心血。导师严谨的治学态度和坚韧不拨的工作作风让我受益匪浅,在此谨向 两位老师表示衷心的感谢。郑老师渊博的知识、正直的人品、严谨的科学态度、 力求完美的做事风格和对待工作的兢兢业业为我树立了科学工作者的榜样。黄老 师指导我完成了实验室的科研工作,在学习上和生活上都给予了我很大的关心和 帮助。 在实验室工作及撰写论文期问,得到了游小杰教授、杨中平副教授、林飞副 教授、郝瑞祥副教授、孙湖老师、张立伟老师、贺明智老师的指导及热情帮助, 为论文的完成提供了很多宝贵的意见,在此向他们表示诚挚的谢意。 另外,特别要感谢我的搭档高吉磊博士,在整个毕业设计项目中,高吉磊与 我并肩攻关,一起度过多少个充满汗水的日夜,并最终顺利完成整个项目,其不 屈不挠的钻研精神与乐观的态度都很值得我学习。同时,我的师弟贾鹏宇、李志 君、李康、师妹侯少敏、刘玉洁,在我的毕设项目最艰难的时候,都给予我信心 与帮助,在此一并感谢他们。 同时我还曾得到了已经毕业的李建旭师兄,还有在读的郭超勇博士、周明磊 博士、冉旺博士在生活学习工作方面的鼎力相助。在此向他们表达谢意。 最后,感谢我的父母和家人,是他们的理解和支持,使我能够专心完成我的 研究生学业。 1 1 课题的研究背景 1 绪论 为使电力系统三相负荷尽可能平衡,电气化铁道的接触网采用分段换相供电。 为防止相间短路,各相问用空气或绝缘物分割,称为电分相。在我国,接触网上 每隔2 0 千米至2 5 千米就有一个电分相。对于高速线路,经过分相装置的时间间隔 短,自动过分相技术势在必行,对于低速区段,为了减轻司机劳动强度和减少牵 引力损失,提高过分相的可靠性,自动过分相装置也越来越多的得到应用。 自动过分相装置的发展经历从地面设施到车载设备、从机电开关控制到微机 控制的发展历程。我国电气化铁路建设初期采用的电分相装置为八跨段接触网 绝缘锚段关节式的气隙绝缘结构,采用由绝缘材料制作的分相绝缘器。2 0 世纪 8 0 年代开始研究电分相地面自动转换装置。随着电气化铁路的发展和电子信息技 术的进步,在9 0 年代术期,我国开始在机车上采用车载自动过分相装置。 进入2 l 世纪,随着铁路高速、重载跨越式发展格局的形成,发车密度大,追 踪间隔短等现代铁路运输特点日益显现,电力机车通过电分相的技术问题越来越 突出。大秦线作为我国最重要的运煤专线,自动过分相装置已成为电力牵引机车 控制设备中的关键组成部分。随着大秦线运量的不断发潜和扩展,为使电力机车 保持高速运行、保证行车安全和减轻司机劳动强度,自动过分相装置已成为机 车上重要的车载装置,对机车的正常运行起着至关重要的作用。 “和谐 型机车是大秦煤运专列的主要牵引机车,该型机车是我国生产的新 型大功率重载交流传动机车。机车是以交流电机为牵引动力,利用微机数字技术、 电力电子技术和网络控制技术对整车各重要部分进行控制。“和谐型机车在大 秦线的运用,开创了交流电力机车在我国的运用的先河,填补了交流电力机车牵 引两万吨列车的空白。新型机车大量投入使用,对增加运量起到了很好的推进作 用,但是,又给现场运用和维修养护带了很多的不便。由于目前很多车载设备没 有专门的检测设备,所以对于很多车载系统的功能测试和故障诊断无法实现。给 和谐型机车的维护和进一步改造带来了很多困难和挑战。 电力机车感应自动断电系统是“和谐 型机车自动过分相装置的主要工作 方式。该系统通过在地面安装电磁感应设施,机车安装车载接受装置,通过检测 分相区的信号,车载过分相系统控制电力机车主断路器在过分相绝缘器之前自动 或人工断开,驶过分相绝缘器后,由司机操纵或者由自动过分相系统自动控制电 力机车断路器合闸。为了减轻司机的驾驶强度,实现列车过分相点的最优控制, 和谐机车全部安装了电力机车自动过分相装置。电力机车自动过分相装置迅速成 为高速重载电力机车上必不可少的控制装置。 采用车上自动控制断电方案的自动过分相系统具有投资低,过分相造成的列 车冲动小,过分相控制与列车速度无关等优势,但是也存在着自动过分相装置误 动的问题。一旦发生误动,机车会跳主断,失去动力,影响行车。尤其是自动过 分相装置的强迫跳主断,对行车影响更大。强迫跳主断是自动过分相装置的保护 措施,在预告信号丢失时,强迫信号起作用,机车在未降牵引电流,未关辅机的 情况下,直接跳主断,一方面影响机车主断的使用寿命,另一方面引起列车冲动。 因此,机车在日常的检修维护工程中,要检查测试自动过分相装置的可靠性;同 时在机车的运行过程中,也要检测过分相装置和机车过分相区的实时状态。 1 2 课题的提出和意义 为了保证和谐机车在线路运行时能顺利的过分相,并且在入库检修时能测 试车载自动过分相装置的可靠性,有必要开发一套机车自动过分相装置监测系 统。这一系统可以提供一个有力的信息平台以支持自动过分相装置的状态显示、 工作监测、运行测试和故障诊断。 本课题的主要任务是设计实现一套自动过分相监测装置,该装置与机车的控 制系统通过相应的通信端口相连接。在车辆整备过程中,可以对自动过分相装置 的可靠性进行检查;另一方面在车辆的运行过程中可以通过车辆的网络控制系统 对自动过分相装置以及机车过分相区的状态进行监测。该装置提供友好的人机界 面,方便驾驶员和检修员操作。 自动过分相装置监测系统的工作原理如图1 1 所示,在机车入库整备时,需要 进行自动过分相装置的检测。在机车实际速度小于1 0 千米每小时时,自动过分相 装置是不会动作的。这样在库罩就不能通过直接给定电磁感应线圈信号的方式判 定自动过分相装置的好坏。通常情况下,需要通过机车的智能终端系统,也即一 台w i n d o w s 平台的计算机通过r s 2 3 2 串行通信端口与车上智能控制模块连接,然后 通过w i n d o w s 操作系统下运行的特定的程序操作自动过分相装置动作。这一整备监 测过程显然效率不高,难以应付大量车辆的检修任务。自动过分相装置监测系统 将自动过分相装置的检测功能整合到嵌入式系统中,高效、便携而且操作简易直 观,其将大大提高车辆的检各效率。自动过分相装置监测系统在车辆整备是的主 要功能表现为:机车静止状态下,监测系统通过r s 2 3 2 串行端口与车载智能终端连 接,当接收到磁感应线圈信号时,监测系统发出过分相装置动作指令,机车中央 2 控制单元c c u ( c e n t r a lc o n t r o lu n i t ) 接收到指令后开始过分相过程,使主断路器工 作。此功能能测试车载自动过分相装置工作是否正常。 图1 1 自动过分相装置监测系统组成原理图 f i g1 - 1a p sm o n i t e r i n gs y s t e ma r c h i t e c t u r e 机车在线路上运行经过分相区时,自动过分相装置工作。监测预警系统通过 多功能车辆总线( m u l t i f u n c t i o nv e c h i c l eb u s ,以下简称m v b ) 通信模块与机车的车 辆总线相连,并且在接收到m v b 总线过程变量中的自动过分相“预告”信号时提示 司机过分相动作开始,在接收到m v b 总线过程变量中的自动过分相“强制”信号时 提示司机主短路器动作,过完中点区段,在接收到m v b 总线过程变量中的自动过 分相“恢复”信号时提示司机主断路器闭合,机车重新得电工作。在机车得自动过分 相装置到达分相区而没有动作时,会给司机发出手动过分相提示,保证在到达“强 制”信号后,司机可以手动完成过分相操作。 自动过分相装置监测系统的组成如图1 1 所示,自动过分相装置监测系统主要 由中央控制模块和m v b 总线通信模块组成。中央控制模块负责实现主要的控制和 调度功能,包括输入输出,实时显示,串行端口通信控制等。m v b 总线通信模块 主要负责对m v b 总线信号的编码解码,报文分析验证,端口过滤等。 自动过分相装置监测系统的提出,提高了自动过分相设备检查以及运行的效 率和可靠性。促进了机车管理的自动化、信息化发展。同时为更多的基于车辆总 3 线的设备改造与系统开发提供了一种参考方案。 1 3 主要研究内容及工作安排 1 3 1 所做的工作 本文介绍了一种自动过分相监测系统的实现方法,包括硬件平台设计和软件 平台设计两部分,完成的工作主要包括: 1 ) 设计了主控制模块的硬件平台,选定各功能芯片并设计了控制板的电路。该硬 件平台提供丰富的通信接口和较高的运算处理性能。 2 ) 选择并移植了u c l i n u x 操作系统,搭建并改进了基于m i c r o w i n d o w s 的图形编程 平台,构建了嵌入式程序开发的交叉编译平台。 3 ) 对u c l i n u x 的调度机制进行了改进,应用了基于最小估计时间的调度算法。大 大增强了u c l i n u x 系统的实时性。 4 ) 开发了基于以上平台的设备驱动程序和应用程序。最终实现了图形化的用户界 面,按键输入控制,串行端口通信和模拟m v b 总线通信等功能。 1 3 2 本论文主要内容的结构安排 第一章绪论部分,介绍了本课题研究的背景及意义,给出了本设计研究的主 要内容和论文结构安排。 第二章介绍了与本课题相关的关键技术,重点阐述了自动过分相装置的原理 和机车总线通信协议。本章最后为后续章节做好了理论铺挚。 第三章描述了介绍了自动过分相装置监测系统的硬件组成,重点分析了器件 的选择、硬件电路的设计以及主要芯片的控制方法。本章最后为后续章节设置好 了系统的硬件环境 第四章首先描述了建立嵌入式软件开发环境的方法。其次介绍了系统引导程 序的移植和配置,最后介绍了嵌入式操作系统u c l i n u x 在本平台上的移植以及设备 驱动程序和应用程序的开发。重点介绍了对m i c r o w i n d o w s 图形平台的改进、 u c l i n u x 操作系统实时调度器的设计以及和主控制程序的编程方法。 第五章总结了本论文的主要研究成果,对系统的下一步发展给出了分析和展 望。 4 2 自动过分相装置原理概述 2 1 自动过分相装置介绍 2 1 1自动过分相系统的发展和现状 为使电力系统三相负荷尽可能平衡,电气化铁道的接触网采用分段换相供电。 为防止相问短路,各相间用空气或绝缘物分割,称为电分相。国内接触网上每隔 2 0 千米至2 5 千米就有一长约3 0 米的供电死区。在此无电区外一定距离处设有 “断 、“合”提示牌,电力机车通过时须退级、关闭辅助机组、断开主断路器, 惰行通过无电区后再逐项恢复,这样受电弓是在无电流情况下进出分相区的,从 而保证了受电弓和接触网的寿命。但这样操作,一方面影响了行车速度,另一方 面增加了司机的劳动强度,操作稍有疏忽就会拉电弧烧分相绝缘器。对准高速、 高速线路,每小时就要过l o 多个分相区,靠司机操作实属困难。对高坡重载区段, 手动过分相会引起列车大幅降速,延长咽喉区段的运行时间,降低线路运能。因 此很多列车自动过分相的方案被提出,来取代司机的手动过分相操作【l 羽。 自动过分相装置的发展经历从地面设施到车载设备、从机电开关控制到微机 控制的发展历程。早期的自动过分相装置主要是设置在分相区附近的机电开关设 备,其中比较典型的方案包括地面开关自动切换装置以及柱上开关自动断电装置。 2 1 1 1 地面开关自动切换方案 地面开关自动切换方案的工作原理如图2 1 所示。在接触网分相处嵌入一个中 性段,其两端分别由绝缘器j y l 、j y 2 与二相接触网绝缘。j y l 、j y 2 不采用一般 的由绝缘物构成的分相绝缘器,而采用锚段关节结构,以保证受电弓滑过时能连 续受流。二台真空负荷开关q f l 、q f 2 分别跨接在j y l 、j y 2 上,使接触网两相能 通过它们向中性段供电。在线路边设置四台无绝缘轨道电路c g l 一c g 4 作为机车 位置传感器。无车通过时,两台真空负荷开关均断开,中性段无电。当机车从a 相驶来达到c g l 处时,真空负荷开关q f i 闭合,中性段接触网由a 相供电。待机 车进入中性段,到c g 3 处时,q f l 分断,q f 2 随即迅速闭合,完成中性段的换向 过程。由于此时中性段已由b 相供电,机车可以在不用任何附加操纵、负荷基本 不变的条件下通过相分段。待机车驶离c g 4 处后,q f 2 分断,装置回零。反向来 车时,由控制系统自动识别,控制两台真空负荷开关以相反顺序轮流闭合,采用 这种方法过分相,断电时间约为0 1 秒o 1 5 秒。 5 圆圈回回 图2 1 地面开关自动切换方案的j f 作原理图 f i g2 1o n - g r o u n da u t o - - s w i t c hs c h e m ef i g u r e 这种方案的优点是:接触网无供电死区,无须司机操作,机车上主断路器无 须动作,自动换相时接触网中性段瞬问断电时间很短,且此时间与行车速度无关, 可适用于0 , - 一3 5 0 千米每小时的速度范围,对行车中可能出现的限速,一度停车等 情况均能正常工作。 这种方案的缺点是:装置必须要在线备份并在线检查,需要设计冗余电路; 中性段长度难于确定;合闸时电流冲击较大,列车容易产生冲动;投资巨大,要 建分区所,需要有一批管理和维护人员。 2 1 1 2 柱上开关自动断电方案 a t 。抽时,说明机车 没有进入自动过分相的有效操作距离不进行操作;当a t c o u n t e r 2 c u r r e n t 一 c o u n t e r : p - n i c e = c u r r e n t 一 c o u n t e r ; 同时在i d l e 进程初始化时,应该将其n i c e 设置为最大整数值。 新超时重计算函数:r e c a l c u l a t en i c e ( ) 函数用来在时间片用完时对一个进程的 3 7 静态优先级和动态优先级进行重新估算,对于实时进程而言,优先级不变,并且 获得同样多的时间片,对于普通进程而言,优先级翻倍,同时分配优先级一半的 时间片。 t i m e ru p d a t e 0 用来在时钟中断中递减进程的动态优先级,并且在进程使用完 自己的时间片的时候由r e c a l c u l a t en i c e ( ) i 函数来重新计算当前进程的n i c e 和c o u n t e r 值。同样如果在s c h e d u l e ( ) 发现某进程的c o u n t e r 值为零,依然会调用 r e c a l c u l a t en i c e ( ) 来计算该进程的n i c e 和c o u n t e r 值。 、 n 由 图4 - 7 新调度流程图 f i g4 7n e ws c h e d u l ef l o wc h a r t 3 8 休眠重计算:r e e r e d i t o 在进程进入休眠时,把此阶段进程运行的时候加入对其 平均运行时间的估算中,进行一个加权平均运算,并得到新的优先级在进程被唤 醒后将以该优先级开始运行。该过程如以下代码段所示: 缀i ? i 。 。 蛩f s j ? 、:每i t b - 躜每? 点袅;毓棼镰 g i n tr u n t i m e = p 一 n i c e p 一 c o u n t e r ; 锅- 瑟 i n tn e wn i c e = r u nt i m e ( 0 7 ) + p 一 n i c e ( 0 3 ) ; 秀 甄。p r t 级搬。薹? i ;i ? 暑9 u ,n 。皂髂= p - n i c e = d e 幽墨彦是五j 茹:磅。;。i 搿彳i ;g 菇露蠢蒜泰巍3 珏,二意# 藤赫j 薅渤羲彩:鳓f o 自;籀 优先级评定和调度:g o o d n e s s ( ) 用来计算进程的动态优先级,对于实时进程和 普通进程,g o o d n e s s ( ) 函数给出统一的衡量标准( 实时进程的动态优先级为负,普通 进程为正) 。s c h e d u l e ( ) 将首先检查实时队列,并挑选其中动态优先级最小的进程, 若实时队列为空则对普通队列进行筛选,挑选优先级最低( 最小剩余时问) 的进程进 行运行。 新的u c l i n u x 调度机制与旧机制提供相同的编程接口,对于应用程序编程而言 是透明的。该项改进在接下来的其他模块的设计过程中保证了较高的调度效率和 各种进程的实时运行要求。 4 4 图形用户接口的设计 4 4 1图形界面显示模块的设计原则 基于前几章所述的系统功能设计方案,对图形显示接口的要求主要包括以下 几点【2 6 。2 7 】: ( 1 ) 窗口管理功能:所谓窗口可以理解为一片可以控制其显示内容的显示区域, 从软件的角度来看,就是一种与特定显示区域相关联的数据结构。窗口管理功能 主要包括:窗口及子窗口的创建,窗口的切换,以及窗口的撤销。 ( 2 ) 图片显示功能:至少需支持内嵌式图片文件,并且可以在指定窗口或者指 定位置显示图片文件。 ( 3 ) 文字输出功能:可以在指定位置输出至少一种字体的文字、数字及符号。 ( 4 ) 基本的绘图功能:支持绘制点、线、区域和填充等基本绘图函数。 ( 5 ) 消息与事件的处理功能:窗口可以接收消息,并且对不同消息进行不同的 反应。 以上要实现的各种功能在所选用的m i c r o w i n d o w s 图形编程平台上都提供了相 应的接口函数,但是有些函数功能呢个同具体的系统需求并不一致,要加以改进, 最终为主控制程序呈现一个方便实用的图形编程平台。 3 9 4 4 2 窗口的管理机制的改进 由于m i c r o w i n d o w s 平台设计的初衷是在嵌入式系统中提供同m i c r o s o f t 公司的 w i n d o w s 系统十分相近的图形界面编程接口,因此m i e r o w i n d o w s 的窗口管理模 也是针对多窗1 3 层叠式的窗1 3 管理方式( 类似于m i c r o s o r w i n d o w s 的窗i s 系统) 。 对于本系统中需要的窗口管理要求:首先,不需要层叠窗口功能:其次,每次只 需显示一个主窗口,其他元素都是该主窗口的子窗口,如文本框,图片框等。因 此切换屏幕也就相当于切换主窗口,这种窗口管理方法和m i c r o w i n d o w s 提供的方 法有一定的差别,所以要对m i c r o w i n d o w s 源码进行相应的修改。 首先介绍一下m i c r o w i n d o w s 中窗口对象的数据结构,在m i c r o w i n d o w s 中,每 个窗口对象由一个结构体来描述,该结构体的定义如以上代码段所示: 参考注释可以看出,对于全体窗口对象,m i c r o w i n d o w s 在全局范围内维持着 三个数据结构,分别是z o r d e r 链表,窗口关系树,和全局窗口链表。这三个数据结 构正是通过以上五个指针实现的。在此,我们仅关心窗口关系树,该结构一q o w n e r 、 c 1 1 i l d r e i l 和s i b l i n g s 三个指针来实现。 块而 由图4 - 8 可知,除了桌面窗口对象是由在m i c r o w i n d o w s 图形库运行初期自动创 建的以外,其他子窗1 3 都是在程序中通过调用c r e a t e w i n d o w ( ) i 函数调用的。该函数 把一个窗1 3 对象挂到窗1 3 树中指定的一个节点下,该节点由函数c r e a t e w i n d o w ( ) 之参数h w n d p a r e n t 指定,如果参数h w n d p a r e n t 没有被指定,也就是该参数值为 n u l l ,则系统默认的把桌面窗口对象指定为该窗口的父窗口。 图4 8m i c r o w i n d o w s 窗口层次关系图 f i g4 8m i c r o w i n d o w sw i n d o w sh i e r a r c h y 在绘制过程中,窗口树上所有没有被其他窗口完全挡住的窗口都要被重新绘 制,为了提高绘图效率,本系统中对m i c r o w i n d o w s 的窗口管理机制进行了调整, 修改了c r e a t e w i n d o w s 函数,使得绘图程序只从窗口树中某个指定的结点开始绘 制,如图4 9 所示,具体的方法是,在全局范围增加一个窗口指针使之指向窗口树 中某个节点,在绘制时,用该窗口指针代替顶层桌面窗口指针传递给绘图程序。 当发生窗口切换时,只要改变该全局窗口指针并且重新绘制即可。 4 1 当前显示的窗口 鋈当前活跃窗口 4 4 3 窗口事件处理机制改进 人机交互系统的一个重要组成部分就是交互式的图形显示界面,该种界面的 最重要特点即是能够根据系统的输入作出反应。这一功能在m i c r o w i n d o w s 中是由 消息机制来完成的。在m i c r o w i n d o w s 中,由上节的c r e a t e w i n d o w 0 函数可知,在 创建窗口的时候要指定窗口的类型,那么窗口是根据什么分类的呢? 在上节提到 的窗口对象的数据结构中,含有一个p w n d c l a s s 类型的p c l a s s 指针成员,实际上, 该指针正是指向一个特定的数据结构1 i n d o w c l a s s ,该结构规定了 m i c r o w i n d o w s 中的窗口类型,该结构主要用来描述一个窗口行为特征,即对各种 消息做出的反应。具体的数据结构可参见下面的代码片段,可以看到,该段代码 除了指定了窗口类的名称以外,最重要的就是指定窗口的消息处理函数,消息处 理函数是一个类型为w i n p r o c 的函数指针,该指针所引用的函数的主要负责消息 处理。每当窗口对象收到消息以后,就会调用该窗口类型的消息处理函数来对消 息进行处理。不同类型的窗口调用不同的消息处理函数,因此可以对同一类型的 消息作出不同的反应。 在m i c r o w i n d o w s 中,消息由消息码和消息参数组成,消息码被用来标识不同 的消息,消息参数用来传递数据。消息在作为参数被传给消息处理函数时,消息 分派函数在根据不同的消息码调用不同的处理函数,并把根据需要把消息参数传 4 2 给该处理函数。 ;t y p e d e fs t r u c tt a g w n d c l a s s a 薹 爹j 霉 拳i m w l i s tl i n k ; i ; ,u i n t s t y l e ; i 鏊“w n d p r o c i p f n w n d p r o c ; 。 蓬 象 i n t 、c b c l s e x t r a ; 。 , i n t c b w n d e x t r a ; 霭 誊h i n s t a n c e h i n s t a n c e ; 。l | | | 7 h i c o nh i c o n ;, i 襄h c u r s o r h c u r s o r ; ,? 鬓 乳; 篓 、h b r u s h h b r b a c k g r o u n d ; ,霪 蓉l p c s t r i p sz m e n u n a m e ; , 鬟 貉l p c s t r i p s z c l a s s n a m e ; 荔 鹜;。锡 魏。 c h a r s z c l a s s n a m e 【4 0 n ,秀 虢:篙 搿: 魏如坐峨曼臻秦简该;,。璐篱繇施。罐缀锄,瓣菝i 滋鳓赫。瑟毫i 磊岔缄如撩二荔溉勰淄 具体到本系统,要在m i c r o w i n d o w s 平台内实现几种专门针对具体显示功能而 自定义的消息和窗口类型,供主控制程序使用。本方案中定义了如下消息和窗口 类型: ( 1 ) 分相区预警消息; ( 2 ) 分相区完成消息; ( 3 ) 自动过分相装置故障消息; ( 4 ) 主断路器状态消息; ( 5 ) 牵引制动值状态消息; ( 6 ) 分相区状态窗口:该类窗口可以接收处理分相区预警消息和分相区完成消 息,并显示相应的机车过分相区阶段信息。 ( 7 ) 自动过分相装置状态窗口:该窗口可以接收自动过分相装置故障消息,并 显示自动过分相装置故障。 ( 8 ) 主断路器装状态窗口:该窗口可以接收主断路器状态消息,并显示主断路 器闭合状态; ( 9 ) 牵引制动表盘类窗口:该窗口可以接收牵引制动值消息,并显示牵引制动 值大小; 至此,m i c r o w i n d o w s 平台的编程接口已经可以用来在指定位置劬建特定类型 的窗口,向窗口发送特定的消息,该窗口可以根据接收到的消息作出相应的反应。 4 3 4 5 串口通信程序的设计 4 5 1串口的设置和读写方法 串行端口是计算机一种常用接口,具有连接线少,通讯简单等特点,得到了 广泛的应用。常用的接口形式为r s 2 3 2 接口,又称e i ar s 2 3 2 一c 。它是在1 9 7 0 年 由美国电子工业协会联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同 制定的用于串行通讯的接口标准。 在串口编程中,主要分为设备的设置和通信数据的读写,设置部分包括波特 率,数据位,停止位,奇偶校验位和操作模式等;要注意的是,每台机器的串口 默认设置可能是不同的,如果对串口操作前没设置这些,仅仅按照默认设置进行 发送数据,很可能出现很多异常。所以,在真正通讯前,必须按照既定的协议对 串口进行设置。在u c l i n u x 系统中,提供了一组标准的库函数来对串口的各项协议 参数进行设置,在此不再累述。 串口的读写操作比较简单,在u c l i n u x 操作系统中,对设备的读写操作同对普 通文件的读写操作很相似n 引,因此只要知道代表串口设备的设备文件路径,就可 以对其执行o p e n ( ) ,r e a d ( ) ,w r i t e ( ) 等操作函数了。而在u c l i n u x 系统中,由于对串 行设备的使用非常频繁,因此把串行设备的设备文件路径固定为d e v t t y s 0 和 d e v t t y s1 船侧。 4 5 2串口通信编程接口的设计 为了给主控制程序提供更好的通信接口,本设计对串口的操作进行了接口封 装,这些接口专用于同车载智能终端的串口通信。对于车载智能终端而言,一般 的通信过程总是由控制端发出指令,车载智能终端执行并回复确认该指令。基于 此种情况,串口通信模块首先将串口通信设备设置同智能终端一致的模式,每收 到一个字符,读操作即返回,读操作等待超时时间可以设定。 在此基础上,串口通信模块封装了三个函数,s e n tc m d ( u n s i g n e ds h o r t c m d ) 、w a i to na c k ( u n s i g n e ds h o r tc m d ) 和w a i to na c k _ t i m e o u t ( u n s i g n e d s h o r t c m d ,u n s i g n e ds h o r tt i m e o u t ) ,其中s e n tc m d o 函数用于发送特定指令,w a i to na c k o 和w a i to na c k分别用于等待确认信息,其中用于等timeout0 w a i to na c k t i m e o u t 0 待特定的时间,其t i m e o u t 参数用于指定超时时限,单位是微秒。以上三个函数中 的c m d 参数被用来分别对两个命令表进行索引。 4 6u c l i n u x 下通用m v b 驱动框架的设计 为了向主控制程序提供同i e ct c n 规范兼容的过程数据服务接口,即i e c t c n 标准中规定的a v i 函数集。本系统中对m v b 通信模块的驱动程序进行了分 层,并实现了该分层驱动接口的上层框架部分,并称之为u c l i n u x 下的通用m v b 总线驱动框架。该上层框架结构实现了一般m v b 驱动程序中通用的数据结构和配 置接口,隐去了硬件相关的代码,大大简化了l i n u x 系统下不同m v b 设备的驱动 开发,并且为应用程序提供了统一的、同a v i 接口兼容的函数库。 在介绍该框架之前,首先介绍一下l i n u x 系统中一般驱动程序的开发方法。 4 6 1u c l i n u x 下一般驱动程序的组成和设计方法 设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序隐藏了 设备的具体细节,在应用层上对各种不同设备提供了一致的编程接口,一般来说, 在l i n u x 操作系统中,物理设备被文件系统映射为一个特殊的设备文件,用户程序 可以象对其它文件一样对此设备文件进行操作。一般来说,l i n u x 的设备驱动程序 需要完成如下功能: ( 1 ) 对硬件设备初始化以及释放; ( 2 ) 负责内核和硬件设备,应用程序和硬件设备之间的数据交换; ( 3 ) 检测和处理设备工作过程中出现的错误。 设备驱动程序可以分为三个主要的组成部分 2 2 1 : ( 1 ) 自动配置和初始化子程序,负责检测所要驱动的硬件设备是否存在和是否 能正常工作。如果该设备正常则对这个设备及其相关的、设备驱动程序需要的软 件状态进行初始化。这部分程序仅在初始化的时候被调用一次。 ( 2 ) 服务于i o 请求的子程序,又称为驱动程序的上半部分。调用这部分是由于 系统调用的结果。这部分程序在执行的时候,系统仍认为是和进行调用的进程属 于同一个进程,只是进程由用户空间进入了内核空间,但仍然具有进行此系统调 用的用户程序的运行环境,因此可以在其中调用s l e e p ( ) 等与进程运行环境有关的函 数。 ( 3 ) 中断服务程序,在l i n u x 系统中,因为设备驱动程序一般支持同一类型的若 干设备,所以在系统调用中断服务子程序的时候,都带有一个或多个参数,以标 识请求服务的设备。 在l i n u x 系统里,设备驱动程序所提供的这组入口点由一个结构体来向系统进 行说明,该结构体实际上是一个函数指针表,具体的定义如一下代码段所示: 4 5 缀。掣? 。”。9 j - j 。“咖77 :j 。= “ 。p 。t jj ”? 鼍弘 j ? 。o j 。t i :、t ”一07 j ? j :9 1 。1 。;i 、j | 骷 s t r u c tf i l eo p e r a t i o n s 擎 j : ; ? 搿 芗 每 毙 i n t ( i s e e k ) ( s t r u c ti n o d e i n o d e ,s t r u c tf i l e f i l p ,o f f _ t i n t ( r e a d ) ( s t r u c ti n o d e i n o d e ,s t r u c tf i l e f i l p ,c h a r b u f ,i n t i n t ( * w r i t e ) s t r u c ti n o d e i n o d e ,s t r u c tf i l e f i l p ,c h a r b u f ,i n tc o u n t 爹i n t ( * r e a d d i r ) ( s t r u c ti n o d e i n o d e ,s t r u c tf i l e f i l p ,s t r u c t蓬 茹,露 ;! d i r e n t d i r e n t ,i n c o u n t ) ; 十 鼍 髟 i n t ( s e l e c t ) ( s t r u c ti n o d e i n o d e ,s t r u c tf i l e f i l p ,i n t 多 薹 骆: s ,e l _ t y p e ,s e l e 一t a b l w a i t ) ; 凑 摹 i n t ( i o c t l ) ( s t r u c ti n o d e i n o d e ,s t r u c tf i l e f i l p ,u n s i g n e di n tc m d 蘧 系:秀 _ n s i g n e di n ta r g ) ; “ ,g i :薯 垂i n t ( m m a p ) ( v o i d ) ; ” 7 髫 爹 i n t ( 。p e n ) ( s t r u c ti n o d e i n o d e ,s t r u c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 销售技巧培训学习心得体会(10篇)
- 激励员工简单发言稿(10篇范例)
- 酒店主管的年度工作计划5篇
- 驾校项目可行性研究报告
- 演讲稿励志故事500字左右(32篇)
- 台州市2025届高三第一次教学质量评估(一模)英语试卷
- 筛分服务合同
- 档案管理工作细则
- 门诊护士实习心得总结范文5篇
- 婚礼庆典音响租赁合同模板
- 幼儿园老师说课培训课件
- 房贷延期代理合同(2篇)
- 2024江苏省沿海开发集团限公司招聘23人高频难、易错点500题模拟试题附带答案详解
- 2024年计算机二级WPS考试题库380题(含答案)
- 22G101三维彩色立体图集
- 大学生安全文化智慧树知到期末考试答案章节答案2024年中南大学
- 建筑施工安全生产治本攻坚三年行动方案(2024-2026年)
- 人教版小学英语单词表(完整版)
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 《短视频拍摄与制作》课件-3短视频拍摄的三大技巧
- 【川教版】《生命 生态 安全》四上第11课《预防流感》课件
评论
0/150
提交评论