一种串口通讯新模型研究与应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种串口通讯新模型研究与应用

一种串口通讯新模型研究与应用   摘要:该文借鉴I/O完成端口模型(IOCP)的核心思想,建立了一个适用于协议性串口通讯的新模型。该模型提出了一个协议性串口通讯的最小单位——“通讯元”,将“通讯元”提交到事件队列线程中自动处理,简化了处理过程并提高了运行效率。同时,该文基于该模型设计出了一个协议性串口通讯模块,以封装通讯底层的细节,从而提供方便的通讯接口。将该模块应用于工业造气炉监控组态软件设计中,实际运行表明:该模型具有简单的接口和稳定、高效的运行机制。   关键词:IOCP;串口通讯;通讯元   中图分类号:TN915 文献标识码:A 文章编号:1009-3044(2013)04-0689-04   The Research and Application of a New Serial Communication Model   CHEN Geng   (College of Information Science Technology, Xiamen University, Xiamen 361005, China)   Abstract: In this paper, the core idea of I/O Completion Port Model is borrowed to build a new model, which is suitable for the serial communication based on protocol. A minimum unit called ‘communication unit’ is put forward in this model. The ‘communication unit’ is submitted to an event-queue-thread and is dealt automatically. It will help to simplify the process and increase operational efficiency. Meanwhile, in this paper, a serial communication module based on the model is designed to offer a convenient communication interface. The module is applied in the snoopware of industrial gasifier. It’s proved that this model has a simple interface and efficient operation mechanism.   Key words: IOCP; serial communication; communication unit   Web服务器、网络游戏服务器等应用经常会面对海量的客户端连接请求以及数据通信,这种海量的并发的连接请求与数据通信,往往成为制约服务器正常工作的因素。这些与服务器的数据传输具有共同的特点:客户连接量是海量的,但每个连接上收发的数据包容量是较小的。微软公司在Winsock2中引入的完成端口(Completion Port,IOCP)模型提供了最好的伸缩性和最高的数据吞吐率,是处理大量并发连接的最佳方案。   在上位机与多台下位机通过串口通信的环境中,随着连接数的增多,系统通信的速度降低,通信错误率增加,如何有效的管理和协调众多线程,是一个比较困难的问题。该文基于IOCP核心思想提出了一个通讯元模型,并针对实际应用设计了一个支持多串口通讯模块。该模块应用于工业造气炉监控组态软件设计中,实际运行表明:该模型具有简单的接口和稳定、高效的运行机制。   1 I/O完成端口模型(IOCP)简介   1.1完成端口   完成端口是Windows提供的一种高效的I/O模型,它利用少量的工作线程来完成大量的异步I/O处理,使得I/O处理和非I/O处理能够重叠并行的进行,从而满足大并发量管理工作。完成端口的目标就是利用多线程来最大化提高并行执行的效率,避免线程上不必要的阻塞,减少线程上下文切换带来的资源和时间开销。   1.2完成端口工作原理   完成端口会创建一个消息队列和一个线程池。根据计算机系统中的处理器数目,建立相应的工作者线程,这些线程专门用来处理和客户端通信。当客户端建立新的socket连接时,该socket连接的句柄就与完成端口绑定起来。该socket的网络通信请求按照先进先出的方式进入到完成端口的消息队列中去。线程池取出空闲的线程,让线程扫描完成端口中的消息队列,取出队列里面的通信请求(如发送数据、接

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档