专业营销的网站建设公司,洛宁网站建设,东莞定制网页设计,宿州网站网站建设1.流控概念 在两个设备正常通信时#xff0c;由于处理速度不同#xff0c;就存在这样一个问题#xff0c;有的快#xff0c;有的慢#xff0c;在某些情况下#xff0c;就可能导致丢失数据的情况。 如台式机与单片机之间的通讯#xff0c;接收端数据缓冲区已满#xff0…1.流控概念 在两个设备正常通信时由于处理速度不同就存在这样一个问题有的快有的慢在某些情况下就可能导致丢失数据的情况。 如台式机与单片机之间的通讯接收端数据缓冲区已满则此时继续发送来的数据就会丢失。 流控制能解决这个问题当接收端数据处理不过来时就发出“不再接收”的信号发送端就停止发送直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程实现收发双方的速度匹配防止数据的丢失。 PC机中常用的两种流控制是硬件流控制包括RTS/CTS、DTR/CTS等和软件流控制XON/XOFF继续/停止。
2. 使用方式 a. 硬件流控 硬件流控制常用的有RTS/CTS流控制和DTR/DSR数据终端就绪/数据设置就绪流控制。 RTS Require ToSend发送请求为输出信号用于指示本设备准备好可接收数据低电平有效低电平说明本设备可以接收数据。 CTS Clear ToSend发送允许为输入信号用于判断是否可以向对方发送数据低电平有效低电平说明本设备可以向对方发送数据。 其他介绍 硬流控的RTS 、CTS RTS Require ToSend发送请求为输出信号用于指示本设备准备好可接收CTS Clear ToSend发送清除为输入信号有效时停止发送。假定A、B两设备通信A设备的RTS 连接B设备的CTS A设备的CTS连接B设备的RTS。前一路信号控制B设备的发送后一路信号控制A设备的发送。对B设备的发送A设备接收来说如果A设备接收缓冲快满的时发出RTS信号高电平意思通知B设备停止发送B设备通过CTS 检测到该信号停止发送一段时间后A设备接收缓冲有了空余发出RTS信号低电平指示B设备开始发送数据。A设备发B设备接收类似。 b. 软件流控 软件流控和硬件流控都方式一样只是实现方式不同而已。在通信过程中软件流控通过在数据流中插入Xoff特殊字符和Xon另一个特殊字符信号来实现。A设备一旦接收到B设备发送过来的Xoff立刻停止发送反之如接收到B设备发送过来的Xon则恢复发送数据给B设备。同理B设备也类似从而实现收发双方的速度匹配。 3. 流控使用 如果串口只接了RX、TX两个信号那么要流控的话只能使用软流控如果接了RXTXCTS RTS四个信号那么可以使用硬流控或者软件流控。 RS232 引脚说明
4. 数据发送 a. 物理连接交叉连接 § 主机的RTS输出信号连接到从机的CTS输入信号。 § 主机的CTS输入信号连接到从机的RTS输出信号。 ▪ RTS Require ToSend发送请求为输出信号用于指示本设备准备好可接收数据低电平有效低电平说明本设备可以接收数据。 ▪ CTS Clear ToSend发送允许为输入信号用于判断是否可以向对方发送数据低电平有效低电平说明本设备可以向对方发送数据。 b. 主机发送过程 § 主机查询主机的CTS脚信号此信号连接到从机的RTS信号受从机控制。 § 如果主机CTS信号为有效低表示从机的接收FIFO未满从机可以接收此时主机可以向从机发送数据。 § 主机在发送过程中要一直查询CTS信号是否为有效状态。一旦无效则终止发送。 c. 主机接收过程 § 主机如果接收FIFO未满则使主机RTS信号有效也即从机的CTS信号有效。此时从机如果要发送发送前会查询从机的CTS信号如果为有效则开始发送。 § 在发送过程中一直查询从机CTS信号的有效状态如果无效则中止发送。是否无效由主机的RTS信号决定。 § 主机如果FIFO满了则使主机RTS信号无效也即从机CTS信号无效。主机接收中止。 d. 那主机的CTS信号什么时候会无效呢 从机在接收到主机发送的数据时从机的接收模块的FIFO如果满了则会使从机RTS无效也即主机的CTS信号无效。主机则查询到CTS无效时主机发送中止。 此过程可以由硬流控完成。我们只要设置开启硬流控设置FIFO大小。RTS信号和CTS信号由控制器代码查询和设置。
5. 理论验证 a. 主机发送验证 § 向主机串口丢数据看TX线上是否有数据。 § 理论上遥控主机CTS信号为无效时TX线上无数据遥控主机CTS信号为有效时TX线上有数据 b. 主机接收验证 § 从机向串口丢数据主机看RX线上是否有数据。 § 理论上如果主机使RTS信号为有效时RX线上有数据如果主机使RTS信号为无效时RX线上无数据
以上内容为网络收集整理未注出处侵删。 ———————————————— 版权声明本文为CSDN博主「Crush_u」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/Liangren_/article/details/121288003