COM口的数据流控制.pdfVIP

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

COM 口的数据流控制 1.流控制在串行通讯中的作用 这里讲到的 “流”,当然指的是数据流。数据在两个串口之间传输时,常 常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机 之间的通 讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现 在我们在网络上通过MODEM进行数据传输,这个问题就尤为突出。流控制能解决 这个问题, 当接收端数据处理不过来时,就发出 “不再接收”的信号,发送端 就停止发送,直到收到 “可以继续发送”的信号再发送数据。因此流控制可以控 制数据传输的进 程,防止数据的丢失。 PC机中常用的两种流控制是硬件流控 制 (包括RTS/CTS、DTR/CTS等)和软件流控制XON/XOFF (继续/停止),下面分 别说明。 2.硬件流控制 硬件流控制常用的有RTS/CTS流控制和DTR/DSR (数据终端就绪/数据设置 就绪)流控制。 硬件流控制必须将相应的电缆线连上,用RTS/CTS (请求发送/清除发送) 流控制时,应将通讯两端的RTS、CTS线对应相连,数据终端设备(如计算 机) 使用RTS来起始调制解调器或其它数据通讯设备的数据流,而数据通讯设备(如 调制解调器)则用CTS来起动和暂停来自计算机的数据流。这种硬件握手方 式 的过程为:我们在编程时根据接收端缓冲区大小设置一个高位标志(可为缓冲区 大小的75%)和一个低位标志 (可为缓冲区大小的25%),当缓冲区内数据量 达 到高位时,我们在接收端将CTS线置低电平 (送逻辑0),当发送端的程序检测到 CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将 CTS 置高电平。RTS则用来标明接收设备有没有准备好接收数据。 常用的流控制还有还有DTR/DSR (数据终端就绪/数据设置就绪)。我们在 此不再详述。由于流控制的多样性,我个人认为,当软件里用了流控制时,应做 详细的说明,如何接线,如何应用。 3.软件流控制 由于电缆线的限制,我们在普通的控制通讯中一般不用硬件流控制,而用软 件流控制。一般通过XON/XOFF来实现软件流控制。常用方法是:当接收端的输 入 缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符(十进制 的19或Control-S,设备编程说明书应该有详细阐述),发送端收到 XOFF字符后 就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向 数据发送端发出XON字符(十进制的17或Control- Q),发送端收到XON字符后 就立即开始发送数据。一般可以从设备配套源程序中找到发送的是什么字符。 应该注意,若传输的是二进制数据,标志字符也有可能在数据流中出现而 引起误操作,这是软件流控制的缺陷,而硬件流控制不会有这个问题。 附: DTR,DSRDTE设备准备好/DCE设备准备好。主流控信号。 RTS,CTS请求发送/清除发送。用于半双工时,收发切换。属于辅助流控信 号。半双工的意思是说,发的时候不收,收的时候不发。那么怎么区 分收发呢? 缺省时是DCE 向DTE发送数据,当DTE决定向DCE发数据时,先有效RTS,表示 DTE希望向DCE发送,一般DCE不能马上转换收发状 态,DTE就通过监测CTS 是否有效来判断可否发送,这样避免了DTE在DCE未准备好时发送所导致的数据 丢失。 XON/XOFF XON/XOFF 是一种流控制协议(通信速率匹配协议),用于数据传输速率大于 等于1200b/s时进行速率匹配,方法是控制发送方的发速率以匹配双方的速率。 XMODEM是一种低速文件传输协议。KERMIT是异步通信环境中使用的一种文 件传输协议。它与XMODEM的主要区别是:KERMIT一次可传送 多个文件,而XMODEM 一次只能传送一个文件;KERMIT在接收方以完整的信息包应答,而XMODEM 以单 字节应答;KERMIT提供多种错误校验技 术,而XMODEM 只提供一种错误校验技 术。 在流量控制方面,可以从不同侧面采取不同的控制方案。最简单的方法就 是增加接收端的缓冲存储空间,使得接收端可以缓存更多的数据。但这只是一种 被动、 消极的方法。因为,一方面系统不允许开设过大的缓冲空间;另一方面 对于速率显著失配,并且又传送大量数据的场合,即使缓存空间再大也会出现不 够的现象。目 前普遍采取一种称之为 “XON/XOFF”的发送控制字符的方案,通 过控制字符来确定发送方是否继续发送数据,相比之下更主动、更积极、更有效。 XON/XOFF (继续/停止)

文档评论(0)

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

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

1亿VIP精品文档

相关文档