- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第29糟第5期 杭州电子科技大学学报 V01.29.No.5
of
2009年tO月 Joum,ad Dianzi Oct.砌
Har曲m University
无线协议转换系统中虚拟串口的设计与应用
宁双龙,孟利民
(浙江省光纤通信技术重点实验室,浙江杭州31txp.3)
摘要:无线协议转换系统实现了设备的RS232/RS485口到现场总线的桥接,简化了局域网内设备的
数据传输及管理。该文所设计的虚拟串VI位于基于串口通讯的管理软件与现场总线网络驱动层
之间,它实际上是一个虚拟串口驱动程序,负责管理软件和现场总线之间的数据转换工作。
关键词:虚拟串口;串口通讯;数据转换
中图分类号:TN401 文献标识码:A 文章编号i1001—9146(2009)05—0083—04
O 引 言
现场总线是一种应用于生产现场,在现场设备之间、现场设备和控制装置之间实行双向、串形、多结
点的数字通信技术。由于其分布、开放、互联、高可靠性的特点,现场总线得到了很快的普及…1。然而在
现场总线普及之前,非常多的仪表或者设备都是通过RS232或者RS485通讯接口来和计算机进行通讯
的,为了改造这些设备,需要有串口和现场总线之间的桥接设备,需要有负责管理软件和现场总线之间
信息转换工作的软件…2。国内外对于现场总线的管理一般由专用的硬件提供多个物理串口来实现,对
于小型化的现场总线管理的研究却很少涉及。由于本系统管理的设备较少,数据的传输具有数据量少、
数据速率低的特点,所以在不增加物理串口的前提下,由虚拟串口驱动程序向基于串口通讯的管理软件
提供多个虚拟出来的串口设备,管理软件对这些虚拟串口的操作和真实串口一模一样。通过这些虚拟
串口和桥接器的作用,管理软件和现场仪表都感知不到中间存在有现场总线。完全实现原有的基于串
口通讯的仪表设备平滑移植到现场总线的体系中来。
1虚拟串口设备整体框架
基于虚拟串口设备通过网络发送数据的基本要求,至少需要一个虚拟串口驱动程序和一个网络服
务程序。其中虚拟串口驱动程序是一个标准的WI)M的设备驱动程序,它的作用是将用户发出的串口
后传给其它串口应用程序。网络服务程序是一个WINDOWSNT的服务程序,它的任务主要是起到虚拟
串口驱动程序和网络之间的联系。尽量在在应用层完成网络功能,而不要直接在驱动程序层调用T℃P/
p栈来完成网络功能,因为应用程序层对TCP/IP栈的调用较为安全和灵活,并且也易于调试。系统采取
此种结构也会很稳定,而直接在内核调用TCP/IP栈,在某些流量比较极端的情况下,会有系统崩溃的隐
患[3|。
收稿日期:2009—07—20
基金项目:浙江省科技厅资助项目((221023)
作者简介:宁双龙(1984一),男,湖南邵阳人,在读研究生,宽带接入网.
杭州电子科技大学学报 2009钲
在应用程序层,利用串口应用程序(如超级终端或sscom.exe)发送数据到操作系统内核层的串口驱
动Ethcomm设备,该设备不做处理地发送给独立的通讯线程处理块,这个独立的通讯线程处理块保证了
驱动中两个设备之间的数据传输的快速且互不干扰的处理,从而提高了整个串口驱动处理数据的速度,
议传给网络适配器,发送数据到对端设备,反之,对端设备的数据也可以反响发送到串口应用程序,从而
实现了通过PC机上的串口应用程序对对端设备的控制。如图1所示:
图1虚拟串口设备整体框架
2虚拟串口驱动模块设计
2.1驱动设备的创建
图l中本系统在操作系统的内核层创建了两个驱动程序的设备,并且为这两个设备对象指定各自
的符号链接名。
com-pdx一ustrDeviceName=devName;
COrn—pax一ustrSymLinkNarne=symLinkNam;
IoCreateSymbolicLink(symLin
原创力文档


文档评论(0)