串口对于电子工程师来说再熟悉不过,Serial、UART、RS232、EIA-RS-232C、COM这些都是串口的名字。串口由于其使用引脚少(只有RXD、TXD两根线),协议简单,被广泛地应用于电子设备的数据传输中,电子设备通过串口和PC通信,或者通过串口进行外部数据扩展都是很普遍的现象。
网络时代的到来,迫切需要电子设备也联网,那么当一个设备需要接入以太网的时候采用串口转以太网的方式最为合适。所谓串口联网模块就是将MCU的串口通信转化为以太网通信的电子单元模块。
从本质上来说,串口联网模块就是一个串口转以太网(TCP/IP)协议转化器。使用串口联网模块可以将用户从复杂的嵌入式TCP/IP的代码中解脱出来。即方便地实现了嵌入式联网,另一方面,又可以保证联网的稳定性。
3.串口联网模块的使用方法 3.1串口转以太网功能 一般来说串口联网模块本身是不带RJ45接口的。这样可以将串口联网模块连接到用户PCB上,用户可以根据需要选择RJ45接口放置的位置。模块引脚可以直接和RJ45接口连接。串口方面,用户的单片机和串口联网模块的RXD、TXD引脚连接。此后用户发送的串口数据就发送到网络上,网络接收的数据从串口接收。对于需要硬件流控的情况还可能需要提供RTS、CTS流控引脚。3.2参数设定 串口转以太网功能中需要解决发往的目的IP地址的问题,即串口数据转为网络数据后,数据将发往哪一台计算机?所以必须设置目的IP。除了目的IP地址串口联网模块还有很多参数,例如:目的端口、串口波特率、工作模式等。
一般修改参数有两种方法:(1)通过Web方式登录串口联网模块,这种方式要求串口联网模块必须和运行浏览器的PC机在同一个逻辑子网中。(2)一些串口联网模块提供Window工具可以立即搜索并修改网络中的所有的串口联网模块的参数。
3.3联网模块的管理 串口联网模块在实际应用中可能大量分布于网络中。用户难以一个个的记住每个模块的IP地址。串口联网模块应该提供一套Windows工具,可以迅速地找到网络上的所有联网模块,并可以设置参数,对其进行管理。 3.4 PC端如何串口联网模块通信
串口联网模块实际上只解决了嵌入式设备端串口数据转化为以太网数据的功能,但是PC端(也就是负责接收网络数据的PC端)如何接收、处理数据?基本上有3中方法:
(1)直接的socket通信:用户通过windows网络编程直接调用socket API函数,通过UDP、TCP/IP协议同串口联网模块通信。该方法要求使用者具有一定的网络编程的基础。
(2)虚拟串口:这里介绍一个新的概念虚拟串口。虚拟串口和硬件串口不同,硬件串口是计算机上本来存在的COM口,例如COM1、COM2等,虚拟串口是使用Windows的虚拟设备技术,在底层驱动虚拟出一个串口,在上层软件看来该串口和硬件串口可以一样的使用。例如串口联网模块附带的PC端软件虚拟一个COM5,然后将COM5和某个串口联网模块绑定,此后用户程序可以读写COM5来实现和串口联网模块的通信。
(3)设备管理函数库DLL:串口联网模块一般可以提供一个Windows动态链接库,通过该链接库提供的函数,可以直接和串口联网模块通信。
(1)数据转发的稳定性:稳定性是串口联网模块的最重要的指标。首先需要在各种通信情况下保持连接的稳定。再次要保证不丢失数据,无传输错误。串口联网模块设计,应该能够支持全双工通信下,不间断发送数据时不丢包。这将使得此类模块能够胜任任何流量状况的通信。
(2)数据发送——应答时间:该速度表示从从PC端发送数据,经过串口联网模块,转发到设备,设备应答,再经串口联网设备转发,发回PC的时间差。该速度反应了串口联网模块的运行速度。
(3)丰富的参数配置:除了基本的目的IP、波特率等参数外,串口联网模块应该具有更为丰富的参数可以配置,以适应不同的应用场合。
(4)多种修改参数的方法:一般的串口联网模块只能够通过网络端对参数进行修改,例如通过Web服务器,或通过PC上的特定的管理工具进行修改。串口联网模块应该能够支持在MCU这端通过串口修改模块参数。
参考资料:
串口联网模块,http://www.zlmcu.com/products_serial_server.htm
串口联网模块介绍,http://www.zlmcu.com/document/zl_004.html