1、通信基础概念:什么是串口通信、什么是网络通信、数据帧与报文结构、同步与异步通信的区别
各位同学好,我是老张。在变电站干了十几年通信,今天咱们来聊聊最基础的东西。很多新人一上来就问我:“张工,串口和网口到底有啥区别?” 嗯,这个问题问得好。说白了,搞懂这些,你才能看懂后面的IEC 61850、Modbus这些协议。
1.1 什么是串口通信?
串口通信,你可以想象成一条单车道。数据是一个比特一个比特排着队走的。我刚开始接触变电站设备时,看到那些DB9的接口,还以为是老古董。后来才知道,这玩意儿在电力系统里太常见了。
串口通信有几个关键参数:
- 波特率:每秒传输的比特数。常见的有9600、19200、115200。我习惯用9600,稳定。
- 数据位:一般是8位。也有7位的,但很少见。
- 停止位:1位或2位。用来告诉接收方“这包数据结束了”。
- 校验位:奇校验、偶校验、或者无校验。我在项目中遇到过,校验位设错了,数据全是乱码。
串口通信的典型代表就是RS-232和RS-485。RS-232只能点对点,距离也就十几米。RS-485就厉害了,可以挂多个设备,距离能到上千米。变电站里很多老设备,比如保护装置、测控装置,用的都是RS-485。
重要提示:串口通信是异步的。什么意思?就是收发双方不需要共享时钟信号。大家约定好波特率,各自用自己的时钟来采样。你想想看,这样省了一根时钟线,多方便。
1.2 什么是网络通信?
网络通信,就好比是高速公路。数据可以并行,也可以串行,但更重要的是——它有了“地址”的概念。每个设备都有一个IP地址,就像你家门牌号一样。
变电站里现在越来越流行网络通信了。IEC 61850标准就是基于网络的。我参与过一个220kV变电站的改造,把原来的串口全部换成了以太网。说实话,调试起来方便多了,一根网线就能搞定所有数据。
网络通信的核心是TCP/IP协议栈:
- 物理层:网线、光纤、无线。变电站里常用的是屏蔽双绞线,抗干扰能力强。
- 网络层:IP协议。负责寻址和路由。
- 传输层:TCP或UDP。TCP可靠,UDP快。我个人习惯,重要数据用TCP,实时数据用UDP。
- 应用层:Modbus TCP、IEC 61850 MMS等。这才是我们真正关心的。
避坑指南:我曾经遇到过一个项目,网络通信时断时续。查了半天,发现是交换机的端口协商出了问题。强制设置成100M全双工,问题就解决了。所以啊,别太相信自动协商。
1.3 数据帧与报文结构
不管是串口还是网络,数据都不是随便扔出去的。它们都有固定的格式,这就是数据帧。你可以把数据帧想象成一个快递包裹:有收件人地址、发件人地址、包裹内容、还有签名。
一个典型的数据帧结构如下:
| 起始位 | 地址域 | 控制域 | 数据域 | 校验域 | 结束位 |
拿Modbus RTU举个例子:
| 地址(1字节) | 功能码(1字节) | 数据(N字节) | CRC校验(2字节) |
地址域告诉设备“这是给你的消息”。功能码告诉设备“你要干什么”。数据域是具体的内容。校验域用来检查数据有没有传错。
我刚开始学的时候,总觉得这些结构很复杂。后来自己抓包分析了几次,就明白了。说白了,就是一层一层剥洋葱。
网络通信的报文结构更复杂一些,因为多了IP头和TCP头:
| 以太网头 | IP头 | TCP头 | 应用数据 | 以太网尾 |
每个头部都有几十个字节。但别怕,我们做变电站通信的,主要关注应用层的数据。底层的封装,操作系统和协议栈都帮我们处理好了。
1.4 同步与异步通信的区别
这个问题,我经常被问到。咱们用个简单的比喻:
- 同步通信:就像两个人一起唱歌,必须看着指挥的手势。收发双方共享一个时钟信号,数据在时钟的节拍下传输。SPI、I2C都是同步通信。
- 异步通信:就像两个人打电话,各说各的,但约定好语速。收发双方各自用自己的时钟,但波特率要一致。串口通信就是典型的异步通信。
同步通信的优点是效率高,因为不需要起始位和停止位这些额外开销。但缺点是需要额外的时钟线。异步通信虽然效率低一些,但只需要两根线(TX和RX),布线简单。
在变电站里,这两种方式都有应用:
| 特性 | 同步通信 | 异步通信 |
|---|---|---|
| 时钟信号 | 需要共享时钟 | 各自独立时钟 |
| 传输效率 | 高(无额外开销) | 低(有起始/停止位) |
| 硬件复杂度 | 高(需要时钟线) | 低(只需数据线) |
| 典型应用 | SPI、I2C、CAN | RS-232、RS-485 |
| 变电站场景 | 智能电子设备内部通信 | 保护装置与测控装置通信 |
注意:同步通信虽然效率高,但对时钟的稳定性要求很高。我曾经在一个强电磁干扰的环境下调试SPI,时钟信号被干扰得一塌糊涂。后来换成了异步通信,虽然慢了点,但稳定多了。所以啊,在变电站这种恶劣环境下,稳定比速度更重要。
知识体系总览
下面这张图,是我自己画的。它把本章的知识点串起来了。你仔细看看,就能明白串口、网络、数据帧、同步异步之间的关系。
好了,这一章的内容就这些。记住,串口通信是基础,网络通信是趋势。数据帧是规矩,同步异步是方式。搞懂了这些,后面的内容就好学了。
公众号:蓝海资料掘金营,微信deep3321