浅谈串口转以太网技术

1.概述串口转以太网目前可以采用串口转以太网模块来实现,变得非常简单易用,但是在该技术中出现的一些新问题、使用误区需要引起注意。串口转以太网并不是简单传输媒介的变化,而是串口到TCP/IP的协议转化。其中关系到的关键技术包括:TCP/IP的工作模式问题、串口分帧技术、9位技术。这里详细分析这些串口转网口的技术。2.澄清一个概念:到底是串口转以太网还是串口转TCP/IP?串口一般来说就是UART,它实际只定义了数据链路层的规范,也就是起始位、数据位、停止位。但是在不同的物理层又分为:TTL串口、RS232串口、RS485串口等。TTL串口:它是MCU芯片之间进行数据通信的串口,它以+5V(或者+3.3V)表示1,以GND表示0。RS232串口:它是实现设备之间通信的串口,其主要将信号电压从0~5V的电压变为±15V(实际一般为±12V)。电压的增加,增大了数据传输的距离和可靠性。RS485串口:它是实现远距离通信的串口,可以实现上千米的数据传输。其主要特征是用差模信号(A、B两根线之间的电压)代替了RS232共模信号(信号线和GND之间的电压),从而能够抵抗共模干扰,实现更远距离的传。如果按照ISO的7层模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)来分的话,串口实际上只包含了物理层、数据链路层。而TCP/IP协议应该属于网络层和传输层。所以串口转TCP/IP并不准确。以太网属于物理层和数据链路层,所以串口转以太网更加准确。由于目前在以太网之上运行的协议多半是TCP/IP协议,所以串口转以太网也可以说成是串口转TCP/IP。3.串口转网口关键技术一:TCP/IP的工作模式问题串口转以太网,并不是简单物理层和数据链路层的转化。由于串口协议本身不具有网络层和传输层,串口转以太网,实际是将串口的数据作为TCP/IP的应用层数据,用TCP/IP封装传输的方式。TCP/IP的应用层数据是TCP/IP所要传送的真正有效的数据。例如用户通过socket的recv()和send()函数接收和发送的实际是应用层数据。这样通过串口转TCP/IP用户就可以用recv()和send()函数收发串口数据了。但是TCP/IP并不只是recv()和send()这么简单,根据工作模式的不同,它关系到连接、关闭、监听等,这是串口转网口后需要增加处理的部分。TCP/IP的工作模式可以分为:TCP服务端模式(TCP Server)、TCP客户端模式(TCP Client)、UDP模式。UDP模式:UDP模式是基于非连接的模式,只要有数据发送即可发送,不需要事先连接。所以这种模式更加地接近于串口的通信方式。但是UDP协议无法保证数据不丢失,容易产生误码。TCP模式:TCP模式采用数据可靠传输机制,所以可以保证数据基本不误码、不丢失。在TCP通信中,必然是由通信的两端构成,其中一方是TCP客户端,一方是TCP服务端。TCP客户端和TCP服务端的概念可以用电话来类比。TCP客户端是打电话的人,而TCP服务端是接电话的人。如何选择TCP/IP的工作模式?TCP与UDP的选择:尽量选择TCP模式,特别是经过internet的大数据量传输,udp容易误码和丢失。选择TCP客户端还是TCP服务器端:请遵循以下原则:原则一:发起数据发送的一方应该选择为客户端。例如一个数据采集系统,采集终端应该为客户端。这是因为当TCP连接断开的情况下,客户端能够在需要发送数据的时候主动建立连接。而TCP服务端,只能够被动地接受连接,使得数据无法发送出去。原则二:IP或者域名固定的一方为服务器端。例如在有多个数据采集终端,而只有一个中心服务器的情况下,中心服务器应该为服务端。这是因为,中心服务器的IP或域名一般是固定的,而采集终端的IP是不断增加和变化的。中心服务器难以记住所有的采集终端的IP,所以也难以发起连接;而采集终端寻找中央服务器就比较容易。4.串口转网口关键技术二:串口分帧技术串口数据是可以连续不断发送的,而以太网数据则是以数据包为单位发送的。这样就关系到将多长的串口数据打包后作为一个以太网数据包发送的问题。数据包长度:以太网数据包最长1500多字节,所以在串口转网口转发器收到1500字节后必须将其打包发送。用户可以设定这个数据包长度上限。数据包间隔:除了数据包长度作为串口分帧的规则外,一个更为符合逻辑的方法是通过数据包间隔。当串口转TCP/IP转发器发现的串口数据流中出现了T毫秒的空闲时间时,则认为之前收到的串口数据可以作为一个以太网数据包发送了。这里的T就是用户设定的数据包间隔。5.串口转网口关键技术三:9位技术以太网数据是以字节Byte计算的每个字节都是8位,但是串口数据则有可能出现9位,第9位常常用于区分是地址帧还是数据帧,1表示地址帧0表示数据帧。那么在当串口转化为以太网之后,如何将第9位也传送出去就成了一个关键技术。在众多的串口转网口方案中都是将第9位直接舍弃的,目前据了解上海卓岚信息科技的方案具有快速地适应9位的功能,其实现方法中采用了称之为RealCom的协议。由于增加了第9位,所以串口数据不能够直接透明地转化为TCP/IP应用层数据,realcom 协议将串口数据打包之后整个作为TCP/IP的应用数据传输。这样可以在realcom协议的协议头部加入该数据包的9位是1还是0的信息,从而实现了9位传输技术。免责声明:本文素材来源于网络。版权归原作者所有,如涉及侵权,请联系删除。谢谢。

往期文章推荐阅读(点击文章标题即可直接阅读):

1、浅谈串口转以太网模块;

2、浅谈常见的物联网通信协议;

3、浅谈Wi-Fi技术及其优势;

4、I2C通信的那些坑知多少;

5、IIC为什么需要用开漏输出和上拉电阻;

6、总线I2C和SPI,工程师喜欢用哪一个?

tcp转串口_浅谈串口转以太网技术相关推荐

  1. 《计算机辅助教学及应用实践研究》,《论文_浅谈计算机辅助教学(定稿)》

    <论文_浅谈计算机辅助教学(定稿)> (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 摘要:计算机辅助教学中要用到多媒体课件 ...

  2. python判断两个对象是否为相等使用的运算符是_Python入门_浅谈逻辑判断与运算符...

    这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...

  3. 浅谈软件定义网络(SDN)技术研究现状和发展趋势

                       浅谈软件定义网络(SDN)技术研究现状和发展趋势 友情全文PDF链接:浅谈软件定义网络(SDN)技术研究现状和发展趋势.pdf-网络基础文档类资源-CSDN下载 ...

  4. 5月3日云栖精选夜读:乾隆会判阿尔法狗死刑吗 ——浅谈当前人工智能的技术进化...

    人生自古谁无死,乾隆会判阿尔法狗去死?一个能打败李世石的阿尔法狗并不可怕,而一个具备打败李世石实力,但却在某些场景下故意输给李世石的阿尔法狗,那才真正可怕! 技术分享 必须使用301重定向的运用场景 ...

  5. stm32中断优先级_浅谈STM32串口USART1的使用

    浅谈STM32串口USART1的使用 通用同步异步收发器(USART)提供了一种灵活的方法来与使用工业标准NR 异步串行数据格式的外部设备之间进行全双工数据交换.USART利用分数波特率发生器提供宽范 ...

  6. python sys模块作用_浅谈Python中的模块

    模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...

  7. python的re2和re区别_浅谈Python中re.match()和re.search()的使用及区别

    1.re.match()fvk免费资源网 re.match()的概念是从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None.fvk免费资源网 包含的参数如下: ...

  8. python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式

    本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...

  9. python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题

    浅谈python中拼接路径os.path.join斜杠的问题 调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠 directory1='/opt/apps/upgradePac ...

最新文章

  1. java语言二维数组转置_java实现二维数组转置的方法示例
  2. ResNeSt之语义分割,ADE20K全新SoTA 47.6%
  3. c语言四则运算实验报告,c语言四则运算实验报告.doc
  4. MongoDB使用入门
  5. OpenCASCADE:读取和写入 STEP
  6. Java Excel导出
  7. 老师不能把你怎样,但外面的世界可以!
  8. 拦截器,利用拦截器进行登陆权限控制
  9. Python机器学习:评价分类结果008ROC曲线
  10. Exchange 2016通过IIS限制不允许访问OWA的域名或网段
  11. 不同版本的Python,如何pip
  12. HDU 5145 NPY and girls (莫队分块离线)
  13. JS加入收藏夹操作代码
  14. Windows 10 安装Virtualbox 6.1.22详细教程
  15. 数据分析 告诉你《飞驰人生》为什么这么燃?
  16. 用户画像分析相关整理
  17. 以太网介绍及硬件设计
  18. SpringBoot+OCR 实现图片文字识别
  19. OpenXML:C#操作PPT文档
  20. windows10下装pytorch简单步骤和中遇见的一些问题

热门文章

  1. nodejs-stream部分
  2. Qtum量子链作客第四届拉美商业科技大会
  3. JHipster生成微服务架构的应用栈(三)- 业务微服务示例
  4. pip 指定 安装源
  5. nginx负载均衡集群
  6. JavaXml教程(二)使用DOM方式解析XML文件
  7. windows 2008 server R2 版本概览
  8. PAT甲级1056 Mice and Rice:[C++题解]模拟、排名
  9. PAT甲级1126 Eulerian Path:[C++题解] 欧拉路径、并查集,测试点4有问题请进来
  10. 工商企业管理对计算机水平的要求,对工商企业管理的分析