嵌入式
返回首页

RS232转网口的流控功能介绍

2016-10-29 来源:eefocus

1.RS232转网口的流控

  RS232转网口转换器ZLAN2100是支持RS232流控和网口流控的高性能转换器。所谓流控即对数据流的速度进行控制,防止接收方缓冲区满的时候发送方继续发送数据引起数据的丢失。RS232转网口中流控对于防止数据包丢失是相当重要的。

  RS232和网口采用了不同的流控机制。RS232的流控分为无流控、软件流控、硬件流控。网口的流控一般采用TCP的窗口流控机制。由于两种流控方式的不同,ZLAN2100在将RS232协议数据转换为网口协议数据的时候,也要进行流控方式的转换。

图1. RS232转网口转换器——ZLAN2100

  RS232的流控方式介绍如下:

  1. 无流控:没有流控功能。 软件流控:软件流控也称之为XON/XOFF流控,使用控制字符XON、XOFF来实现。在RS232数据通信过程中,如果发送方收到XOFF字符则停止发送数据,反之如果收到XON字符则重新开始发送数据。XON一般定义为十六进制0x11,XOFF为十六进制0x13。 硬件流控:硬件流控又分为DSR/DTR流控和CTS/RTS流控。硬件流控是通过硬件的高低电平来通知发送方,接收方的缓冲区是否快满了。CTS/RTS流控时,RS232(DB9)的8引脚为RTS,7引脚为CTS。DSR/DTR流控时,RS232(DB9)的6引脚为DSR,4引脚为DTR。

  网口流控方式:网口一般采用两种协议TCP协议和UDP协议。其中UDP协议是没有流控的,TCP协议采用窗口流控,即发送方知道接收方的接收缓冲区大小,发送方从而不会发送超过接收方接收能力的数据量,接收方也会定期告诉发送方窗口大小的变化。

  ZLAN2100和ZLVircom相互配合实现RS232转网口的流控转化,例如当RS232给出硬件流控引脚高电平时(高电平表示开始流控),ZLAN2100的内嵌TCP/IP协议栈自动通知TCP窗口减少;反之当TCP窗口减少时ZLAN2100自动设置硬件流控引脚高为高电平。

2. RS232串口线与硬件流控

  RS232串口线的接头分为公头和木头。另外有些RS232串口线是9芯的,有些只有GND、RXD、TXD这3芯。有些RS232串口线是2、3交叉的(即RXD、TXD交叉),有些是不交叉的。要实现RS232的硬件流控必须采用9线的RS232串口线,否则硬件流控信号无法传递过去。

3. 手动设置RS232转网口流控方式

  用户可以根据实际需要手动设置ZLAN2100的流控方式,设置的方法是进入ZLVircom主界面的设备管理->对特定设备进行设备编辑->进入设备设置对话框->选择串口流控参数。

4. RS232转网口的流控自适应

  除了手动设置流控方式外,在使用虚拟串口时,为了能够实现ZLVircom软件对用户软件采用的流控方式的自动探测,必须启用流控自适应。启用的方法是:进入zlvircom的菜单->“配置”->“软件配置”,弹出“vircom配置”对话框,将“选择需要自使用的参数”中将“流控”打勾,默认情况下“流控”自适应功能是没有打勾的。

图2. vircom的流控配置

5. RS232转网口的手动控制硬件流控

  在计算机的RS232(COM口)编程中,如果用户调用操作系统(例如windows的VC++环境下)底层的RTSEnalbe()函数可以手动控制RTS引脚的电平,让其随时输出1或者0。该功能实际上可以作为IO口DOUT,即用该函数来直接控制一个IO输出引脚。那么采用卓岚的ZLVircom虚拟串口驱动以后,用户打开虚拟串口COM5,同样可以用RTSEnalbe()来控制网口远端的ZLAN2100的RS232口的RTS的电平。该功能属于较为高级的功能特性。

进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

最新器件
精选电路图
  • CCD图像传感器在微光电视系统中的应用

  • 光控音效发生器电路

  • 非常简单的150W功放电路图

  • 分享一个电网倾角计电路

  • 电谐波图形均衡器示意图

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章