欢迎来到天天文库
浏览记录
ID:52398569
大小:278.40 KB
页数:4页
时间:2020-03-27
《Windows平台下串口通信数据实时获取与监测.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Windows平台下串口通信数据实时获取与监测陈学军Real—timeAcquisitionandMonitoringoftheSeriaICommunicationDataunderWindowsPlatform醣亏穹(重庆川仪自动化股份有限公司,重庆401121)摘要:针对串I:1通信标准协议存在多种自定义协议以及协议复杂性等特点,采用纯软件设计方法实现了交换数据和通信状态的实时获取与监测。通过对Windows平台下进程管理机制以及串口通信流程的剖析,采用进程注入、基于串口的API钩子等系统底
2、层软件设计技术,实时获取相应的串口交换数据信息。实测结果验证了该技术的可行性,表明了其在通信协议机理分析、通信故障分析等方面应用的实用性。关键词:串口数据通信进程注入API钩子Windows中图分类号:TP319文献标志码:AAbstract:Consideringtheexistenceofvariousself-definedprotocolsandthecomplexityofprotocols。bypurelyadoptingsoftwaredesignmethod,real—timeac
3、quisitionandmonitoringofthedataexchangeandcommunicationstatusisimplemented.ThroughanalyzingthemechanismofprocessmanagementandserialcommunicationproceduresunderWindowsplatform,byusingsoftwaredesigntechnologiesunderbottomlayerofthesystem,e.g.,processinj
4、ectionandAPIhook,etc.。theserialportexchangedataareacquiredinrealtime.Theresultofpracticaltestsverifiesthefeasibilityofthistechnique,andindicatesthepracticabilityofthemethodinmechanismanalysisofcommunicationprotocolsandtheanalysisofcommunicationfaults.
5、Keywords:SerialportDatacommunicationProcessinjectionAPIhookWindows0引言串口通信以其成本低廉、互联方式简洁有效等特点被众多智能设备所采用,它在工业过程控制、科学试验分析等领域的设备互联过程中得到大规模的应用。而微软的Windows操作平台也以其良好的通用性、图形用户界面(graphicaluserinterface,GUI)以及众多的技术支持基础而成为主要的上位监控应用平台。目前,智能设备的串口通信协议标准众多,同时还存在多种自定义
6、协议。要实现与其信息互联,通过分析其固有的上位平台与设备的通信流程,获得交换数据,从而逆向推断出通信协议的方式不失为一种好的解决途径。相对于传统的串口通信分析与监测方法(主要有增加示波器或并联串行接口)¨1,本文采用Windows国家科技部国际科技合作基金资助项目(编号:2007DFRl0420);国家发改委科技成果转化基金资助项目(编号:[2010]251);国家工信部物联网发展专项基金资助项目(编号:[20u]353)。修改稿收到日期:2011—11一04。作者陈学军(1968一),男,199
7、1年毕业于复旦大学控制科学专业,获学士学位,高级工程师;主要从事自动控制、仪器仪表与通信技术的研究。平台下的纯底层软件设计技术。该技术不需要增加另外硬件设备或终端,达到了实时获取监测完整通信数据的目的。1实现原理分析1.1串口通信流程管理Windows平台的最大特征之一是设备无关性,通过设备驱动程序将Windows应用程序和不同的设备相隔离,使得Windows程序访问设备时,不需要直接对相应的硬件端口进行操作,而只需要通过Windows操作系统提供的设备驱动程序来进行数据交互即可‘2]。Windo
8、ws对串行通信的通信机制也进行了封装,对串口的相应操作等同于普通文件的操作,同样有打开(CreateFile)、读写(ReadFile/WriteFile)、关闭(CloseHandle)等功能支持。同时,针对串口通信的独特性,又增加了专用的API函数支持,如串口参数配置(SetCommState)等‘3
9、。通过以上分析可知,Windows平台下的串口通信实现较为容易,只需根据通信协议需要,调用相应的I/O函数与通信函数即可达到目的。而通过高级语言平台(如VC/VB/Delphi等
此文档下载收益归作者所有