(交通信息工程及控制专业论文)多串口在驼峰微机监测系统中的应用.pdf_第1页
(交通信息工程及控制专业论文)多串口在驼峰微机监测系统中的应用.pdf_第2页
(交通信息工程及控制专业论文)多串口在驼峰微机监测系统中的应用.pdf_第3页
(交通信息工程及控制专业论文)多串口在驼峰微机监测系统中的应用.pdf_第4页
(交通信息工程及控制专业论文)多串口在驼峰微机监测系统中的应用.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(交通信息工程及控制专业论文)多串口在驼峰微机监测系统中的应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京交通大学硕士研究生学能论文 - - _ 一 v8 7 8 i 8 5 且 摘要 随着社会经济静发震,以及鸵蜂站场工作酌日箍繁杂,驼峰站坜 工作人员对骟峰监测系统也商了更高的要求。这些要求主要体现在对 驼峰监测系统可靠饿、经济性、扩腻性等方面。 论文针瓣基翦装蜂站场监测系统的现状,分缓了一张默m o x a 多 串口卡为核心的多串口通信方法以及通过这种多串口通信方式扩展 驻峰蓬溺系绞凌戆豹实现方法,并瓣述了这魑驻蜂蘩测扩袋凌憩豹浚 计恩想以及软件实现。这些骗峰监测扩展功能的实现将在一定程度上 提赢系统静霹靠往、经济瞧鞫扩疑戆,并餐障骢臻活场受安全、鼹 稳定的工作。 在本论文中主嚣实现了获取驼峰站场附加设备储息、远程盗浏以 及短信报警的功能。在获耿驼峰站场附加设器信息功能中,通过串翻 的冗余设计,完整、可靠的获取了勾序调度信息、速度信息等对驼峰 站场安全运行起关键馋躅的集息。农远程婺测功能审,本论文奔缨了 一个远程监测组件的设计,通过这个组件可以方便的通过以太网和串 日拨号蘧秘方式实瓣骢蜂谶场豹运程整测,菸霹戳嵌入礴熨,大大娥 拓展了驼峰般测的范围,实现了监测系统的开放性。在短倍报警功能 介缨中,多串日与筝枫或g 涮釉翻酌连接,通过与移葫透信数据阏 进行实时通信,实现了借助短信息传送驼峰站场警侮和错误信息的功 毹。 关键词:多串口通信;驼峰脏测系统;附加设备;远程监测组件; 短信报警 北京交通大学硕十研究生学位论文 a b s t r a c t w i 融氇ed e v e l 印m 鞠t s 。c i a l 嘲躺m ya 嬲i 玎a e a s ;n g m p l e x t y o fw o r ko nh u m py a r d ,o p e r a t o r sh a v eah i g l l e ra n dh j g i l e rd e m a n df o r h u m p s 转辨辩i 螽0 娃s y s l e m 霹l e s 嚣d e m 嬲d s 翔a i 鞋| yl 嚣c 凇a 把法f e l i a 坟l i | 冀 e c o n o m j z a t i o na n de x p a n s j b i l i t yo fh u m p - s u p e r v i s i o ns y s t e m b a s e do np r e s e n ts 姓u a l i o no fh u m p s u p e r v i s i o ns y s l e m ,t h ep a p e r j n t f o d u c e sam u l l i p o t ts e “a lc o m m u n i c a t i o nm e t h o dw i l hau s eo fm o x a m u l t i p o r ts e r j a ib o a f da sj t sc e n t e r a n dam e t h o dt oe x p a n dt h ef h n c t i o n s o fh u m p s u p e s i o ns y s t e m ,a sw e l la si l si d e ao fd e s 逗n 嚣n ds o 魏w 雒e j m p l e m e n t i tw i 】li m p r o v e | e l i a b i l i t ) ie c o n o m i 2 a t i o na n de x p a n s i b i l i l yo f h 娃擞p s 娃弦r i s i 黼s y s | e 搬,强de n s 珏豫w o 瘴i 珏g 撼o r es 鑫f c l y 强ds 痨l y 魏 h u m py a r d st oac e r t a i ne x t e n t k 啦i sp a p e f ,l h ea 娃出m 潞t l yd e v e l o p 矗m e t h o dt o 珲a l i z os u 吐 f u n c t j o n sa sa c h j e v i n gi n f 0 瑚a t i o no fa d d i t i 衄a lf a c i l i t yi nh u m py a t d , d i s t a n t - s u p e r v i s i o na n da l a 珊i n gl h r o u g hl h en o t eo fm o b i l e p h o n e 1 nt h e w o r 耘i n 嚣o fa 办i “抽gi n 翻髓a 面no fa 羽饿o n a lf a c 濂y l 沁测b 勰a l i 翎o f r a i l w a ys e q u e n c ea n ds p e e d ,w h j c hi st h ep j v o t a ll b rt h es a f er u n n j n go f 氧珏琢p s 珏p e f v i s i 濑s y s e 黼,i s3 键珏i 抟d 滞彘c l l y 鞠d 辩l i 蠢l y i 歉氇e w o r k j n go fd i s i a n ts u p e r v i s j o n ,t h ep a p e ri n t r o d u c e s kd e s j g | lo f a d i s l a n l s h p e “i s l o nc o 掰p o n e n l tn f o u 驷 t h i s c o 珏l p 湘e n l , 幽s t a t s u p e i s j o nc a nb er e a l i z e dt h r o u 曲t w om e a l l s c o ma n de t h e m 吼 n e t w o r k ,a n dt h i sc o m p o n e n tc 卸b ee m b e d d e di ni n t c l n e lp a g et oe x p a n d l h es u p e 抖 s i o nr a n g e 1 n 重h ew o 渡i n go fa l a 糯i 端t h m h 曲t h e 黼t eo f m o b j l e p h o n e ,t h r o u 曲t h ec o n n e c l i o no fm u l t i p o f ta 1 1 dm o b i l e p h o n e ,t h e 珏c 耋i 黼 醴 l 掩热s 疆主耄主瓣g a l 矗珊i 珏蹦a 童耋。珏 辆珏垂 壤e艄耙o f m o b i i e u h o n ei s 他a l i z e dr e a l - t i m e k e yw o r d s :m u l t j p o n s e r i a lc 响m u n i c a t i o n ; h u m p s u p e r v i s j o n s y s 戤a 艇矗鳓翻f a d 鑫y ;黥扭珏耋s 鞋秽辩l s l 傩m 潮鞠l ;a l 矗釉抽g l h r o u g ht b en o t e0 fm o b i i e p h o n e 2 北京交通大学硕士研究生学位论文 第一章概述 1 1 驼峰监测系统现状【1 】【9 】【2 1 】 1 1 1 驼峰监测系统简介 编组站是铁路最基本也是最重要的生产单位。编组站的主要调车 设备是调车驼峰。在铁路网中,所有改编列车都要在编组站解体并重 新编组成新的列车出发,故它有“生产列车的工厂”之称。 铁路驼峰站场的设备、设施状态一直采用人工测试的方法,不仅 费时费力,而且准确性难以保证,站场状态无法记录,一旦出现故障, 事后分析很难实现,铁路驼峰信号微机监测系统正是基于这样的问题 而设计的。 目前的驼峰监测系统一般都具有以下主要功能: 站场状态实时监测 驼峰监测系统可实现站场状态实时监测,使操作人员直观明了地 观察当前站场的状态,同时可以将站场状态存储于文件中,并可实现 几天以内的站场状态再现,为故障分析提供了客观有效的依据。系统 还可以进行故障数据永久备份。 模拟量监测 驼峰监测系统可以对驼峰站场的模拟量进行实时监测,并自动形 成各种报表,从而解除了人工测试的巨大工作量,数据准确、详尽, 避免了人工测试中存在的各种问题;驼峰监测系统可以监测的模拟量 包括:电源屏电压、轨道电流、道岔启动电流、电缆绝缘等。根据模 拟量的监测数据,可以绘制各种曲线和趋势,有助于尽早发现事故隐 患,及时进行设备的检测及维修。通过统计数据分析,能够引起操作 乾索交通大学硕士研究生学位论文 人员怼磐常揍魏貔关注,提亵餐揍蛙,避受事教豹发生。 时间量监测 骟峰篮测系统可骧对道岔动佟蠢阙、遂岔浚复薅瓣、辕遂藩下露 问等时间量进行实时监测,并给出超标报警信息,同时生成各种测试 撮表。 其他 驼峰监测系统还可以打印各种测试、统计撤表,形成报表文件。 并且系统可以定对自动输出各测试帮绕诗报表。 1 1 2 驼峰监测系统现状 铁路骝晦簸测系统现状主臻表现在以下几个方面; 采用集中式监溯【1 6 驼峰微机艇测系统从结构上讲大体可分为两种,一种是由台计 算瓿完戏滥溯功毙豹集中式蕊测系统i 另一种怒遥测黧鉴测系绞,出 分散在各个监测点的多台计算机共同构成,每台计算机处理完成指定 豹工箨努,还蜀潋逶避遴信方式与其 彀诗算捉遴费鼗撬交挨,戏为分 布式监测系统。集中式般测系统只适用于被捡设备相对集中的场合, 当被簸测设备魄较分数眩,霹戳采蠲分布式菇测系统。 丽目前国内的驼峰站场规模相对都比较小,监测点也比较集中, 所以普遍都采用集中式的监测系统,漱一台计锌机作为管理枫,一台 计算枧作为采集机。采集枫将采集到的数据邋过串翻发绘管理机处 理。 不支撩远程夔溯 由于我国阑内的驼峰站场舰模普遍比较小,而且人们对驼峰站场 的远释蕊测没鸯太多豹扶谖黧骧褫,瑗在国内太多数驰峰站场簸溅系 统都不支持远程监测功能,即使有少数个别监测系统支持,也基本是 矗 北京交通大学硕士研究生学位、呛文 采用单一的以太网通信方式进行远程监测。 报警实时性较差 就报警而言,现在的驼峰监测系统普遍是采用在监测室中安装一 个报警器。当系统有报警时,报警器会发出报警声,提醒监测人员及 时发现问题,解决问题。但是,不可避免的会发生当有报警时,监测 人员不在监测室或没有听到报警器的报警。这就必然会延长发现问 题、解决问题的时间,使报警实时性降低,更严重的会影响到驼峰站 场的正常工作甚至发生不必要的事故。 1 2 改进的驼峰监测系统 1 2 1 改进措施 为了更好的实现驼峰监测系统在驼峰站场工作中的作用,针对目 前国内主要驼峰站场监测系统的特点,本论文提出了以下的一些改进 措施: 1 扩展多串口 对于某些传统的驼峰监测系统,普遍采用由一台采集机和一台管 理机组成的集中式数据采集系统,这就势必造成数据采集的局限性, 从而降低了监测质量。如果采用同样的通信方式,要改进系统设计, 必须在现场增设采集装置,更改采集机和管理机程序。这样既增加了 系统成本,又造成程序设计的不便,甚至可能影响整个系统的正常运 行。 而普通的计算机只有一个或两个串口,无法实现多采集设备的通 信,甚至无法完成一些与串口有关的附加功能。所以本文设计了一种 多串口通信方法,用一种简单有效地方式实现了对某一无法实现勾 序、股道、辆数信息和定速、入口出口速度等数据采集的驼峰监测系 。7 北京交通大学硕士碘究生举蹙论文 统滤改避,节约了成零,歇褥鼗麓了系缆鹣谔靠浚帮运行横爨。 2 。实璇遮瑶羧测 目前大部分躲蜂煎测系统都黛能在簸浏室中滚溯熬个鸵婚站场 瓣馕 梵,这逡残了珑蜂簸浏系统瓣趟辍髓秘辩添然。嚣穗蘩诗葵撬逶 信拽术和网络技术盼发鼹以及对黢溺数据戴攀等瓣素的考虑,越柬越 多瓣a 要求褥簸测王襻簸簸溯室串麟敷浅袋,甚至襄壤霹激灌:逑溺燕 网贸的方式获敬黢测数据,实现一个开放崴羽骟蜂羧渊系统。考感剿 远程鉴测韵多榉镶,我稻鬻癸设计一耱不仅霹黻懑邋戳太瞬实瑰逡穰 熬测,露黩透穗够灌过羧譬癸筏熬测。对予举网黪疆媾黢渊系统,酵 麓猩设计畦戳太瘸邋僖和攘号串目遴信需袋每次谶行开发,矫良设诗 一令缝 睾织遴鼹豹逡售葫戆麓装熬寒委鸯安楚魏,荑璺还女支黪溅黉 发布。 3 。缝揍缀警 现在传统的骏峰监测系缆大郝是采用臆测室内报警器的报繁提 示,这秘方法柽摄交橙痰上摄醒了簸溺室簸耱入爨,著必德销尽莰解 决阏题保诞了时间。毽愚鞠凑好多驰峰j ;螽测塞都只谢戮掰名工襻人 攒,滗法豫谨窭溪瓣越嚣雩稳钠都麓繁瓣潮翔遴,遮藏对德粕髓及孵 瀚发瑰阀瓣、鳃决溺题掇溅了一个缀大豹攘溅。受了裁接疑峰蕊测塞 瑟蠹侄入篇一对瀚获褥镑谈信息弗尽块遮解决阀禚,有必冀竣誊t 一拳争 裁爨抉受蜜瓣瓣缀警方式一短绩缀警,激缳涯骢燎涟场王撵豹安念运 行。 北京交通大学硕士研究生学位论文 1 2 - 2 改进的驼峰监测系统 1 7 系统主要由采集机、管理机、两个附加的控制设备、与串口连接 的调制解调器和g s mm o d e m 以及在远程进行监测的远端机组成,如图 所示。其各部分功能分别为: 采集机:进行现场数据的采集,并将数据通过串口传给管理机处 理。采集机是驼峰微机监测系统的数据来源。现场的模拟量数据通过 传感器首先进入模拟量调理盒,经调理盒的滤波、整形后,输入a d 转换卡,将模拟信号转换成1 2 位数字信号,输入计算机。现场的开 关量输入丌关量调理盒后,经调理盒的整流滤波后,进入开关量接口 板。通过开关量接口板进入计算机。 管理机:接收采集机的数据,对数据进行保存、显示、测试、报 表等处理,形成对现场的监测。管理机为了铁路现场恶劣的环境,采 j e 京交通大学硕士研究生学位沦文 用工控机。工控机能较好地适应现场高温、强电磁干扰、高震动的环 境。通过r s 2 3 2 串行通信口与采集机进行现场数据的接收和命令的 发送。为了能更好地显示站场情况,采用了大屏幕、高清晰的彩色显 示器。 控制设备:提供附加的数据,比如勾序、股道、辆数信息和定速、 入口出口速度等,其数据同样也是采用串口进行传输。 远端监测机:是通过以太网或拨号电话网与管理机通信,实现了 脱离监测现场而获得监测数据的功能,从而扩展了监测系统。当远端 监测机通过以太网与管理机连接时,远端机必须和管理机都可以通过 以太网连接,也就是说必须双方都有连接以太网的条件;当双方有任 何一方没有以太网连接,还可以通过调制解调器拨号连接实现通信。 g s mm o d e m :与管理机的串口连接,使管理机能通过串口与移动 通信网进行通信。当驼峰站场出现错误,驼峰监测系统会将错误信息 通过g s mm o d e m 实时的发送给驼峰监测负责人,提醒他们及时地解决 问题。 1 3 扩展多串口改进驼峰监测系统的意义 1 3 1 多串口的发展背景 1 适应信号处理技术的发展 随着信号处理技术的发展,需要通信的数据量越来越大,通信数 据变得也越来越复杂,对数据独立性,可靠性,安全性的要求也越来 越高。以前那种采用单个串口的通信方式已经显现出其局限性,迫切 需要一种新的通信方式来改进其不足。 2 适应控制设备多元化的需求 随着控制技术以及制造技术的发展,各种各样的控制设备应用而 1 0 北京交通大学硕士研究生学位论文 生,它们备有优点。而一饔控制系统可能会设置备种控制设备在它们 的往势领域,这些控割设餐之阕又毖不霹少戆要遴牙数攒豹逶售,这 就需要一种可以进行多口通信,并且具有很好兼容性和可靠性的通信 方式来逶波控镄设备多元纯的弱瑟。 3 兼顾技术和成本的装求 在工泣控制以及各种箍控系统中,数据通信的技术成熟是一个非 常重要的阂素。串日通信做为一种拥有一百多年历史的技术,自然有 很多的优势。采用串口通倍,系统设计者不需要在通信的可行性,稳 定性土芯太多静瓣闽,弱瞧可以锻证一般控铡设餐戆遽傣传输距离。 褥加上串口连接器与多串口卡经济实惠,可以大大降低燕统设计的成 本。 1 。3 。2 改进豹意义 通过应用多串口改进的驼峰髓测系统,不仅提高了驰峰监测系统 款可靠性,恧且扩展了整个整测羝统,若是示出定豹缀渗牲。 1 可靠性 蓄先,改遂豹驻峰蕊测系绞霹靠毪表臻在多帛疆豹霹靠牲主。宰 口通信技术已经谯通信领域使用了非常长的时间,经验表明,串口有 非常高的碍靠 雯,丽采蹋多串目遴行透信的驻峰簸测系统在通信方面 w 以说是非常可靠的。 其次,改进的驼峰登测系统w 靠性还寝现在系统获褥了更多的数 据。通过改进驼峻整测系统,系统可以获取了更多的有用数据,从两 提高了系统监测质量,保证了驼峰站场工作的更可靠运行。 2 缀滂性 采用串口通信,系统设计者不需要在通信的可行性,稳定性上花 太多鹩嚣重潮,丽纛可骧绦涯一觳羧镯设麓懿遥荣健竣疆藤。秀燕上宰 1 1 北京交通大学硕士研究生学位论文 口连接器与多串口卡经济实惠,可以大大降低系统设计的成本。 而作为短信报警的短信息,更是又其独特的价格优势,一条短信 息一般只需要l 毛钱左右,通过使用短信报警,不仅提高了报警实时 性,缩短了解决问题的时间,而且在一定程度上节约了系统成本。 3 扩展性 采用改进的驼峰监测系统不仅扩展了监测数据,而且使驼峰监测 从监测室中解放出来,在监测范围上拓展了监测的视野,为驼峰监测 系统与现代通信技术的结合以及未来驼峰监测系统的发展提供了一 定的方向。改进的驼峰监测系统主要的扩展性表现在以下几个方面: 扩展了监测数据 改进的驼峰监测系统不仅可以得到模拟量、开关量等驼峰站场数 据,而且还能获得溜放勾序信息和速度信息等。 增加了监测功能 改进的驼峰监测系统在原有监测功能的基础上增加了远程监测 和短信报警的功能,使驼峰监测的功能更适合通信技术的发展。 拓展了监测范围 通过远程通信,使孤立的驼峰监测系统从监测室中解放出来,拓 展了驼峰监测的范围,并且远程监测可以通过阻太网和拨号两种方式 通信,完成了驼峰监测系统与现代通信技术的结合,实现了驼峰监测 系统远程监测的多元化通信。 北京交通大学硕士研究生学位论文 第二章串口通信基础 2 1r s 2 3 2 概述 2 串行通信接口标准经过使用和发展,目前已经有几种。但都是在 r s2 3 2 标准的基础上经过改进而形成的。所以,本论文以r s2 3 2 c 为主来讨论。r s 一3 2 3 c 标准是美国e i a ( 电子工业联合会) 与b e l l 等公 司一起开发的1 9 6 9 年公布的通信协议。它适合于数据传输速率在o 2 0 0 0 0 b s 范围内的通信。这个标准对串行通信接口的有关问题,如信 号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与 r s 一2 3 2 c 制式兼容的通信设备,因此,它作为一种标准,目前已在微 机通信接口中广泛采用。 r s 一2 3 2 一c 标准最初是远程通信连接数据终端设备d t e ( d a t a t e r m i n a le q u i p m e n t ) 与数据通信设备d c e ( d a t ac o m m u n jc a t i o n e q u l p m e n t ) 而制定的。因此这个标准的制定,并未考虑计算机系统 的应用要求。但目前它又广泛地被借来用于计算机( 更准确的说,是 计算机接口) 与终端或外设之间的近端连接标准。显然,这个标准的 有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种 背景的了解,我们对r s 一2 3 2 c 标准与计算机不兼容的地方就不难理解 了。 r s 一2 3 2 c 标准中所提到的“发送”和“接收”,都是站在d t e 立 场上,而不是站在d c e 的立场来定义的。由于在计算机系统中,往往 是c p u 和i o 设备之间传送信息,两者都是d t e ,因此双方都能发送 是c p u 和i o 设备之问传送信息,两者都是d t e ,因此双方都能发送 和接收。 北京交通大学硕十研究生学位论文 2 1 1 连接器的机械特性 连接器:由于r s 一2 3 2 c 并未定义连接器的物理特性,因此,出现 了d b 一2 5 、d b 1 5 和d b 一9 各种类型的连接器,其引脚的定义也各不相 同。下面分别介绍两种连接器。 ( 1 ) d b 一2 5 p c 和x t 机采用d b 一2 5 型连接器。d b 一2 5 连接器定义了2 5 根信号 线,分为4 组: 异步通信的9 个电压信号( 含信号地s g ) 2 ,3 ,4 ,5 ,6 ,7 , 8 ,2 0 ,2 2 。 2 0 i t l a 电流环信号9 个( 1 2 ,1 3 ,1 4 ,1 5 ,1 6 ,1 7 ,1 9 ,2 3 ,2 4 ) 。 空6 个( 9 ,l o ,1 1 ,1 8 ,2 1 ,2 5 ) 。 保护地( p e ) 1 个,作为设备接地端( 1 脚) 。 d b 一2 5 型连接器的外形及信号线分配如图所示。 器 麓利饕 s 6 d t r t x d l h d 1 ) c d r l c t s r t s d s r ( 2 ) d b 一9 在a t 机及以后,不支持2 0 m a 电流环接口,使用d b 一9 连接器作 为提供多功能i o 卡或主板上c o m l 和c 伽2 两个串行接口的连接器。 它只提供异步通信的9 个信号。d b 一2 5 型连接器的引脚分配和d b 一2 5 型引脚信号完全不同。因此,若与配接d b 一2 5 型连接器的d c e 设备连 北京交通大学硕士研究生学位论文 接,必须使用专门的电缆线。 电缆长度:在通信速率低于2 0 k b s 时,r s 一2 3 2 c 所直接连接的最 大物理距离为1 5 m ( 5 0 英尺) 。 最大直接传输距离说明:r s 一2 3 2 c 标准规定,若不使用m o d e m , 在码元畸变小于4 的情况下,d t e 和d c e 之间最大传输距离为1 5 m ( 5 0 英尺) 。可见这个最大的距离是在码元畸变小于4 的前提下给出的。 为了保证码元畸变小于4 的要求,接口标准在电气特性中规定,驱动 器的负载电容应小于2 5 0 0 p f 。 2 1 2r s 2 3 2 c 的接口信号 r s 一2 3 2 c 规标准接口有2 5 条线,4 条数据线、1 1 条控制线、3 条 定时线、7 条备用和未定义线,常用的只有9 根,它们是: ( 1 ) 联络控制信号线; 数据装胃准备好( d a t as e tr e a d y d s r ) 有效时( 0 n ) 状态, 表明m o d e m 处于可以使用的状态。 数据终端准备好( d a t as e tr e a d y d t r ) 有效时( o n ) 状态, 表明数据终端可以使用。 这两个信号有时连到电源上,一上电就立即有效。这两个设备状 态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行 通信了,能否开始进行通信要由下面的控制信号决定。 请求发送( r e q u e s tt os e n d r t s ) 用来表示d t e 请求d c e 发 送数据,即当终端要发送数据时,使该信号有效( o n 状态) ,向m o d e m 请求发送。它用来控制m o d e m 是否要进入发送状态。 允许发送( c 1 e a rt os e n d c t s ) 用来表示d c e 准备好接收 d t e 发来的数据,是对请求发送信号r t s 的响应信号。当m o d e m 已准 备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端 1 s 北京交通大学硕士研究生学位沦文 开始沿发送数据线t x d 发送数据。 这对r t s c t s 请求应答联络信号是用于半双工m o d e m 系统中发送 方式和接收方式之间的切换。在全双工系统中作发送方式和接收方式 之间的切换。在全双工系统中,因配置双向通道,故不需要r t s c t s 联络信号,使其变高。 接收线信号检出( r e c e i v e dl i n ed e t e c t i o n r l s d ) 用来表示 d c e 已接通通信链路,告知d t e 准备接收数据。当本地的m o d e m 收到 由通信链路另一端( 远地) 的m o d e m 送来的载波信号时,使r l s d 信 号有效,通知终端准备接收,并且由m o d 酬将接收下来的载波信号解 调成数字两数据后,沿接收数据线r x d 送到终端。此线也叫做数据载 波检出( d a t ac a r r i e rd e c t e c t i o n d c d ) 线。 振铃指示( r i n g i n g r i ) 当m o d e m 收到交换台送来的振铃呼叫 信号时,使该信号有效( o n 状态) ,通知终端,已被呼叫。 ( 2 ) 数据发送与接收线: 发送数据( t r a n s m i t t e dd a t at x d ) 通过t x d 终端将串行数据 发送至um o d e m ,( d t e - d c e ) 。 接收数据( r e c e iv e dd a t a r x d ) 通过r x d 线终端接收从m o d e m 发来的串行数据,( d c e d t e ) 。 ( 3 ) 地线 有两根线s g 、p g 信号地和保护地信号线,无方向。 上述控制信号线何时有效,何时无效的顺序表示了接口信号的传 送过程。例如,只有当d s r 和d t r 都处于有效( o n ) 状态时,才能在 d t e 和d c e 之间进行传送操作。若d t e 要发送数据,则预先将d t r 线 置成有效( 0 n ) 状态,等c t s 线上收到有效( 0 n ) 状态的回答后,才能在 t x d 线上发送串行数据。这种顺序的规定对半双工的通信线路特别有 北京交通大学硕士研究生学位论文 用,因为半双工的通信才能确定d c e 己由接收方向改为发送方向,这 时线路才能开始发送。 2 。1 3 远距离通信 通过串口进行远距离通信是一项非常经济实用的技术,所以我们 有必要了解其通信原理。当通过串口进行远距离通信( 传输距离大于 1 5 m 的通信) 时,一般要加调制解调器m o d e m 。 采用m o d e m ( d c e ) 和电话网通信时的信号连接: 若在双方m o d e m 之间采用普通电话交换线进行通信,除了需要 2 8 号信号线外还要增加r i ( 2 2 号) 和d t r ( 2 0 号) 两个信号线进行联 络,如图所示。 埘e d c ec e d t e r 一 融d _ 涓 r t s接 汁 刹c t s| i b s r g 臻 麓 嘏 s g 蔼 d c n赫 帆 嚣 1 ) t r r l d s r 、d t r :数传机( d c e ) 准备好、数据终端( d t e ) 准备好,只 表示设备本身可用。 首先,通过电话机拔号呼叫对方,电话交换台向对方发出拔号呼 叫信号,当对方d c e 收到该信号后,使r i ( 振铃信号) 有效,通知 d t e ,已被呼叫。当对方“摘机”后,两方建立了通信链路。 若计算机要发送数据至对方,首先通过接口电路( d t e ) 发出r t s 北京交通大学硕士研究生学位论文 ( 请求发送) 信号。此时,若d c e ( m o d e m ) 允许传送,则向d t e 回答 c t s ( 允许发送) 信号。一般可直接将r t s c t s 接高电平,即只要通 信链路已建立,就可传送信号。( r t s c t s 可只用于半双工系统中作发 送方式和接收方式的切换。 当d t e 获得c t s 信号后,通过t x d 线向d c e 发出串行信号,d c e ( m o d e m ) 将这些数字信号调制成模拟信号( 又称载波信号) ,传向对 方。 计算机向d t e “数据输出寄存器”传送新的数据前,应检查m o d e m 状态和数据输出寄存器为空。当对方的d c e 收到载波信号后,向对方 的d t e 发出d c d 信号( 数据载波检出) ,通知其d t e 准备接收,同时, 将载波信号解调为数据信号,从r x d 线上送给d t e ,d t e 通过串行接 收移位寄存器对接收到的位流进行移位,当收到1 个字符的全部位流 后,把浚字符的数据位送到数据输入寄存器,c p u 可以从数据输入寄 存器读取字符。 2 2 串口连接方式 2 目前较为常用的串口有9 针串口( d b 9 ) 和2 5 针串口( d b 2 5 ) , 通信距离较近时( 2 p o r t n r m _ h c o m m ,e v e n t ,p o r t 一 m _ o v ) : i f ( ! b r e s u l t ) s w i t c h( d w e r r o r = g e t l a s t e r r o r ( ) ) c a s ee r r o r - 1 0 _ p e n d i n g : 串口没有数据时的正常返回植 b r e a k : ) 北京交通大学硕士研究生学位论文 c a s e8 7 : b r e a k : d e f a u l t : 其他返回俊表示裔错误发生 p o r t 一 r 。c e s s e r r o r 勰e s s a g e ”轷a it c 。蕊v e n t ( ) “) b r e a k : ; e l s e b r e s u l t :c l e a r c o r i l f i l e r r o r ( p o r t 一 f t l h c o 邢m ,d w e r r o r ,c o m s t a t ) : if ( i o 翔s t a t 。c b 王n 鼬e = = 0 ) c o n t i n u e : b 嚣e s n l t 翔凝结寨 主监视线程,该函数将阻塞本线程直至等待的菜一天发生 e v e n t = 详a i t f o r 赫u l t p l e 渤j e c t s ( 3 ,p o r t 一 n j l h 瑟v e n t a r r y , f a l s e ,i n f i n i t e ) : s w it c h ( e v e n t ) 2 7 北京交通大学硕士研究生学位论文 c a s eo :s h u t d o w n 事件将终止本线程 p o r t 一 吐b t h r e a d a v e = f a l s e a f x e n d t h r e a d ( 1 0 0 ) : b r e a k : ) c a s e1 : 处理串口状态事件 g e t c o r i j i i 】m a s k ( p o r t 一 mh c o m m ,c o m m e v e n t ) : 处理其他串口线路事件 if( c o m m e v e n t e v r x c h a r ) 读串口 r e c e i v e c h a r ( p o r t , c o m s t a t ) b r e a k : ) c a s e2 :处理写事件 w r i t e c h a r ( p o r t ) : b r e a k : ) ) s w i t c h 结束 ) 关闭循环 6 读写数据 2 8 北京交通大学硕士研究生学位论文 c s e r i a l 中编写了读数据函数r e c e i v e c h a r 。r e c e i v e c h a r 不需要 用户调用,串口主线程在有数据到达串口时自动调用该函数,它将读 取到的数据通过自定义消息w m - c 0 m m - r x c h a r 发送给父窗口m _ p o w n e r 调用者只需要在该窗口内处理w 虻c o 删一r x c h a r 消息即可。其实现代 码如下: v o i dc s e r i a l :r e c e i v e c h a r ( c s e r i a l 木p o r t ,c 0 m s t a tc o m s t a t ) b o o lb r e a d = 丁r u e : b o o lb r e s u l t = t r u e : d w o r dd w e r r o r = o : d w o r db y t e s r e a d = 0 : u n sig n e dc h a rr x b u f f = o : 开始无限循环,每次读取一个字节发送至父窗口,直到缓冲区 中的 所有数据读取完毕 f o r ( :) e n t e r c r i t i c a l s e c t i o n ( p o r t 一 m - c s c o 唧u n i c a t i o n s y n c ) ; b r e s u l t = c 1 e a r c o 咖e r r o r ( p o r t 一 m - h c o 唧,d w e r r o r , c o m s t a t ) : l e a v e c r i t i c a l s e c t i o 九( p o r t 一 m c s c o m m u n i c a t i o n s y n c ) : 当缓冲区空时,跳出循环 if ( c o m s t a t c b i n q u e = = o ) b r e a k : 北京交通大学硕士研究生学位论文 ) 进入临界区 e n t e r c r i t i c a l s e c t i o n ( p o r t 一 r n c s c o m u n i c a t i o n s y n c ) : i f ( b r e a d ) 读串口 b r e s u l t = r e a d f “e ( p o r t 一 m - h c o m ,串口句柄 r x b u f f ,接收地址 l ,每次读取一个字节 b y t e s r e a d ,实际读取的字节数 p o r t 一 m _ o v ) :重叠结构 错误处理 ) i f ( b r e a d ) 结束 i f ( ! b r e a d ) b r e a d = t r u e : 继续完成读操作 b r e s u l t = g e t o v e r l a p p e d r e s u l t ( p o r t 一 m h c o 哪,串口句柄 p o r t 一 - o v ,重叠结构 b y t e s r e a d ,实读字节 t r u e ) : 等待标志 ) i f ( ! b r e a d ) 结束 错误处理 憩寨交逶大学磺士磺突生攀饿逾文 离开临界区 l e a v e c r i t i c a l s e c t i o n ( p o r t 一 l c s c o t n i t j u n i c a t i o n s y n c ) : 发送嬲一e 酬礁一r x e 凇r 瀵息到父窗口,通知数据到达 :s e n d m e s s a g e ( ( p o r t 一 m p o w n e r ) 一 m h w n d ,w m c o m m r x c h a r , w 黠r a 赫) r x s u f f ,( l 熬r a l 骥) p o r t 一 l - n p o r t k r ) : ) 循环结束 在串口主线程中使用w r i t e c h a r 函数写串口,此外还提供了两个 公共函数群r i t e t o p o r t ( 8 y t 姆 s t r i n g ,i n tn l e n g t h )和 w r i t e l o p o r t ( e s t r i n gs t r ) 作为接口以供调用写串l 二l 。它们的实现代 码如下: v o i de s e r i a l :靴i t e e h a r ( 毛:s e r l a l 术p o r t ) 3 i 乙b 餮r i t e = 羊r u : b o o lb r e s u l t = t r u e : 挣w o r db y t e s s e n t :o : r e s e t e v e n t ( p o r t 一 m _ h w r i t e e v e n t ) ;使该事件回到无情号状态 进入临界区 e n t e r e r i t i c a 】s e c t i o n ( p o r t 一 h l c s c o h 鞠u n i c 8 t l o n s y n c ) : i f ( b w r i t e ) 初始化0 v e r l a p p e d 结构 p o r t 一 孺一o v 为f f s e t :蚤: p o r t 一 r n o v 0 f f s e t h i g h = o : 清空缓冲区 - 3 l * 北京交通大学硕士研究生学位论文 p u r g e c o 咖( p o r t 一 m - h c o 咖,p u r g e r x c l e a rp u r g e j x c l e a r p u r g e r x a b o r t p u r g e t x a b o r t ) : 写串口 b r e s u h = w r i t e f i l e ( p o r t 一 m - h c o m ,串口句柄 p o r t 一 m - s z w r i t e b u f f e r ,要发送的数据地址 p o r t 一 m _ n t o s e n d ,要发送的数据长度 b y t e s s e n t ,返回实际发送的数据长度 p o r t 一 叱o v ) : 重叠结构 错误处理 ) i f ( b w r i t e ) 结束 i f ( i b w r i t e ) b w r i t e = t r u e :继续完成写操作 b r e s u l t = g e t o v e r l a p p e d r e s u l t ( p o r t 一 m - h c o m m ,串口句柄 p o r t 一 m o v , 重叠结构 b y t e s s e n t , 已发送字节 t r u e ) :等待标志 离开临界区 l e a v e c r i t i c a l s e c t i o n ( p o r t 一 m c s c o 唧u n i c a t i o n s y n c ) : 错误处理 ) i f ( ! b w r i t e ) 结束 将c s t r i n g 类型字符串写入串口 v o i dc s e r i a l :w r i t e t o p o r t ( c s t r i n gs t r ) 3 2 北京交通大学硕士研究生学位论文 c h a r 半b u f f e r = n e wc h a r r r l n w r i t e b u f f e r s iz e : 】e m s e t ( b u f f e r ,o ,m _ n w r i t e b u f f e r s i z e ) : i n tn m a x l e n g t h 2 ( s t r g e t l e n g t h ( ) + l 虬n w r i t e b u f f e r s i z e ) ? s t r g e t l e n g t h ( ) + 1 :m - n w r i t e b u f f e r s i z e : c h a r 丰t e m p = s t r g e t b u f f e r ( n m a x l e n g t h ) : m e m c p y ( b u f f e r ,t e 用p ,s t r g e t l e n g t h ( ) ) : s t r r e l e a s e b u f f e r ( ) : w r it e t o p o r t ( ( b y t e 丰) b u f f e r ,s t r g e t l e n g t h ( ) ) : 将一块内存中的数据通过串口发送 v o idc s e r i a l :w r it e t o p o r t ( b y t e 丰s t r i n g ,i n t n l e n g t h ) if ( m h c o 哪= = o ) :a f x m e s s a g e b o x ( ”e r r o rs t r a n g e ”) : r e t u r n : j 将待发送数据复制到c s e r i a l 发送缓冲区 m e 用s e t ( m s z w r i t e b u f f e r , 0 ,m n w r i t e b u f f e r s i z e ) : m e m c p y ( m s z w r i t e b u f f e r , s t r i n g ,n l e n g t h ) : j u n t o s e n d =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论