2. 串行通信原理:同步通信与异步通信、起始位/数据位/校验位/停止位、RS-232接口标准
各位好,咱们今天聊聊串行通信。说实话,这玩意儿是变电站自动化系统里最基础、也最绕不开的东西。你想想看,站内那么多智能设备——保护装置、测控装置、智能终端——它们之间怎么说话?靠的就是串行通信。
我刚开始接触变电站调试那会儿,总觉得串口通信很简单,不就是两根线一接嘛。结果有一次在220kV变电站,后台死活收不到保护装置的数据,查了一整天,最后发现是波特率配错了。嗯,从那以后,我再也不敢小看这些“基础”知识了。
2.1 同步通信 vs 异步通信
串行通信说白了就是一位一位地传数据。但怎么传?有两种思路。
同步通信,就像阅兵方阵——大家步调一致,靠一个统一的时钟信号来对齐。发送方和接收方共用同一个时钟,数据连续不断地发送,中间没有间隙。效率高,但硬件复杂,需要额外的时钟线。
异步通信,更像两个人打电话——不用看对方的口型,靠约定的规则来理解。每个字符独立发送,用起始位和停止位来“包裹”数据。不需要时钟线,硬件简单,但效率低一些。
核心区别一句话:同步通信靠时钟对齐,异步通信靠帧格式对齐。
我在项目中遇到过这样的情况:有些老式的保护装置只支持异步通信,而新上的智能终端默认是同步模式。结果两边对不上话,中间还得加协议转换器。所以选型的时候,一定要看清楚设备支持的通信方式。
2.2 异步通信的帧格式:起始位/数据位/校验位/停止位
异步通信的每一帧数据,就像一列火车。咱们来看看这列火车长什么样。
| 字段 | 长度 | 说明 |
|---|---|---|
| 起始位 | 1位 | 固定为0,表示“我要开始传数据了” |
| 数据位 | 5~8位 | 实际要传的数据,低位在前 |
| 校验位 | 0或1位 | 可选,用于检错 |
| 停止位 | 1、1.5或2位 | 固定为1,表示“这一帧结束了” |
起始位:说白了就是一个“信号弹”。平时线路是空闲状态(高电平),突然拉低到0,接收方就知道:来了来了,数据要来了。
数据位:这是真正的“货物”。我习惯用8位数据位,因为一个字节正好8位,方便处理。有些老设备用7位,但现在已经很少见了。
校验位:这是个“防伪标签”。奇校验保证数据中1的个数为奇数,偶校验保证为偶数。我曾经遇到一个坑:装置A用偶校验,装置B用奇校验,结果通信成功率只有50%——因为一半的数据包被校验错误丢弃了。
避坑指南:我曾经在调试时发现,有些国产装置对校验位的处理不规范。明明设置的是“无校验”,它却偷偷发了一个校验位。遇到这种情况,用示波器抓一下波形,一眼就能看出来。
停止位:相当于句号。告诉接收方:这帧结束了,你可以准备接收下一帧了。停止位越长,容错性越好,但传输效率越低。我个人习惯用1位停止位,除非线路干扰特别大。
2.3 RS-232接口标准
RS-232,这可能是大家最熟悉的串行接口了。DB9接头,9个针脚,但实际常用的就3根:TXD(发送)、RXD(接收)、GND(地线)。
你想想看,为什么叫“RS”?其实是Recommended Standard(推荐标准)的缩写。这个标准是1969年制定的,比我的年龄都大。但直到今天,很多变电站设备还在用。
电气特性方面:
- 逻辑1:-3V ~ -15V(称为“传号”)
- 逻辑0:+3V ~ +15V(称为“空号”)
- 注意:这是负逻辑!和TTL电平正好相反
小技巧:我习惯用USB转RS-232的调试线,但要注意——有些便宜的转换线质量很差,电平不稳定。在变电站现场,我吃过这个亏:用一根20块钱的线,数据总是丢包;换成工业级的线,问题立刻解决。
RS-232的局限性:
- 传输距离短:理论15米,实际建议不超过10米
- 速率低:一般不超过115200bps
- 抗干扰能力弱:单端传输,共模干扰抑制差
我记得有一次在户外端子箱调试,RS-232线拉了将近20米,结果数据全是乱码。后来换成RS-485,问题迎刃而解。所以,变电站里RS-232一般只用于屏柜内部的短距离通信,或者调试口。
2.4 知识体系总览
下面这张图,是我自己总结的串行通信知识框架。你把它记住了,串行通信这块就算入门了。
这张图把串行通信的核心要素都串起来了。你从左往右看:先确定用同步还是异步,如果是异步,就要配好帧格式(起始位、数据位、校验位、停止位);然后选物理层标准,是RS-232还是RS-485。这三层都对了,通信才能通。
实战口诀:“速率一样,格式一样,电平一样”——串行通信调试的三板斧。我每次去现场排查通信问题,都是按这个顺序查的,十有八九能解决问题。
好了,串行通信的原理就聊到这儿。这些东西看着简单,但真正用好了,能省不少调试时间。下次你在现场遇到通信问题,不妨先想想:同步还是异步?帧格式对不对?电平匹配吗?