当前位置:首页 >> 机械/仪表 >>

握手协议


什么是握手信号? 什么是握手协议? 什么是握手信号 什么是握手协议 RS -232 通行方式允许简单连接三线:Tx、Rx 和地线。但是对于数据传输,双方 必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足 够,但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。 在这一部分,我们讨论三种最常用的 RS-232 握手形式:软件握手、硬件握手和 Xmodem。 a,软件握手:我们讨论的第一种握手是软件握手。通常用在实际数据是控制字 符的情况,类似于 GPIB 使用命令字符串的方式。必须的线仍然是三根:Tx, Rx 和地线,因为控制字符在传输线上和普通字符没有区别,函数 SetXModem 允许用 户使能或者禁止用户使用两个控制字符 XON 和 OXFF。这些字符在通信中由接收 方发送,使发送方暂停。 例如:假设发送方以高波特率发送数据。在传输中,接收方发现由于 CPU 忙于其 他工作,输入 buffer 已经满了。为了暂时停止传输,接收方发送 XOFF,典型的 值是十进制 19, 即十六进制 13, 直到输入 buffer 空了。 一旦接收方准备好接收, 它发送 XON,典型的值是十进制 17,即十六进制 11,继续通信。输入 buffer 半 满时,LabWindows 发送 XOFF。此外,如果 XOFF 传输被打断,LabWindows 会在 buffer 达到 75%和 90%时发送 XOFF。显然,发送方必须遵循此守则以保证传 输继续。 b, 硬件握手: 第二种是使用硬件线握手。 Tx 和 Rx 线一样, 和 RTS/CTS 和 DTR/DSR 一起工作, 一个作为输出, 另一个作为输入。 第一组线是 RTS (Request to Send) 和 CTS(Clear to Send)。当接收方准备好接收数据,它置高 RTS 线表示它准 另一组线是 DTR 备好了, 如果发送方也就绪, 它置高 CTS, 表示它即将发送数据。 (Data Terminal Ready)和 DSR(Data Set Ready)。这些现主要用于 Modem 通信。使得串口和 Modem 通信他们的状态。例如:当 Modem 已经准备好接收来自 PC 的数据,它置高 DTR 线,表示和电话线的连接已经建立。读取 DSR 线置高, PC 机开始发送数据。一个简单的规则是 DTR/DSR 用于表示系统通信就绪,而 RTS/CTS 用于单个数据包的传输。 在 LabWindows,函数 SetCTSMode 使能或者禁止使用硬件握手。如果 CTS 模式使 能,LabWindows 使用如下规则: 当 PC 发送数据: RS-232 库必须检测 CTS 线高后才能发送数据。 当 PC 接收数据: 如果端口打开,且输入队列有空接收数据,库函数置高 RTS 和 DTR。 如果输入队列 90%满,库函数置低 RTS,但使 DTR 维持高电平。 如果端口队列近乎空了,哭喊数置高 RTS,但使 DRT 维持高电平。 如果端口关闭,库函数置低 RTS 和 DTR。 c,XModem 握手:最后讨论的握手叫做 XModem 文件传输协议。这个协议在 Modem 通信中非常通用。尽管它通常使用在 Modem 通信中, XModem 协议能够直接在其

他遵循这个协议的设备通信中使用。在 LabWindows 中,实际的 XModem 应用对用 户隐藏了。只要 PC 和其他设备使用 XModem 协议,在文件传输中就使用 LabWindows 的 XModem 函数。函数是 XModemConfig,XModemSend 和 XModemReceive。 XModem 使用介于如下参数的协议:start_of_data、end_of_data、neg_ack、 wait_delay、 start_delay、max_tries、packet_size。这些参数需要通信双方 认定,标准的 XModem 有一个标准的定义:然而,可以通过 XModemConfig 函数 修改, 以满足具体需要。 这些参数的使用方法由接收方发送的字符 neg_ack 确定。 这通知发送方其准备接收数据。 它开始尝试发送, 有一个超时参数 start_delay; 当超时的尝试超过 max_ties 次数,或者收到接收方发送的 start_of_data,发 送方停止尝试。如果从发送方收到 start_of_data,接收方将读取后继信息数据 包。包中含有包的数目、包数目的补码作为错误校验、packet_size 字节大小的 实际数据包,和进一步错误检查的求和校验值。在读取数据后,接收方会调用 wait_delay,然后想发送方发送响应。如果发送方没有收到响应,它会重新发送 数据包,直到收到响应或者超过重发次数的最大值 max_tries。如果一直没有收 到响应,发送方通知用户传输数据失败。 由于数据必须以 pack_size 个字节按包发送,当最后一个数据包发送时,如果数 据不够放满一个数据包,后面会填充 ASCII 码 NULL(0)字节。这导致接收的数 据比原数据多。在 XModem 情况下一定不要使用 XON/XOFF,因为 XModem 发送方 发出包的数目很可能增加到 XON/OFF 控制字符的值,从而导致通信故障。


相关文章:
第一章.SSL握手协议的研究
对 SSL 的基本概念和框架的介绍 第二章.对 SSL 握手协议的研究(part-1) 第三章.对 SSL 握手协议的研究(part-2) 第四章.对 SSL 握手协议细节和实现的介绍...
WebSocket协议的握手和数据帧
WebSocket协议握手和数据帧_计算机软件及应用_IT/计算机_专业资料。WebSocket协议握手和数据帧WebSocket 协议握手和数据帧 WebSocket 是定义服务器和客户端如何...
串口通信握手
串口通信握手协议--XON/XOFF 方法 串口通信握手协议 假设电脑 A 和电脑 B 通过 RS232 串口通信 A 和 B 协商使用软件握手协议(dcb.fOutX = TRUE), 定义 X...
RS232握手形式:软件握手、硬件握手
最常用的 RS-232 握手形式:软件握手、硬件握手和 Xmodem 2012-04-12 23:49:...XModem 使用介于如下参数的协议:start_of_data、 end_of_data、 neg_ack、...
三次握手协议的工作过程分析
课程设计报告课程名称: 设计题目: 系专组别: 业: 别: 计算机网络 三次握手协议的工作过程分析计算机 计算机科学与技术 第七组 2011 年 11 月 25 日~2011 年...
RFC1994PPP挑战握手身份验证协议
2. 挑战握手认证协议 Challenge-Handshake Authentication Protocol 挑战握手认证协议(CHAP)通过三次握手周期性的认证对端的身份,在初始链路 建立时完成,可以在链路建立...
TCP协议三次握手过程图解
TCP 协议三次握手过程 2012-08-08 10:03:05 我来说两句 收藏 我要投稿 TCP 协议三次握手过程 过程简述: 1)服务器应用启动,建立相应的 TCB,进入 LISTEN ...
TCP3次握手连接协议和4次握手断开连接协议
TCP3次握手连接协议和4次握手断开连接协议_互联网_IT/计算机_专业资料。TCP 协议三次握手连接协议在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立...
SSL的三次握手协议数据包剖析
SSL 的三次握手协议数据包剖析 摘要:随着电子商务的发展,网络信息安全变的越发重要,SSL 协议 就是为了保证端到端的信息安全传递而提出的 ,该协议基于是公开密 ...
TCP协议使用(57)次握手机制建立连接,当请求方发出SYN连...
TCP协议使用(57)次握手机制建立连接,当请求方发出SYN连接请求后,等待对方回答(58),这样可以防止建立错误的连接。58() A.SYN,ACK B.FIN,ACK C.PSH,ACK D....
更多相关标签: