3、通信接口选型(上):以太网接口与串口隔离保护设计
各位工程师朋友,咱们接着聊硬件选型。这一节我重点讲通信接口——以太网和串口。这两个接口在工业协议转换器里,就像人的嘴巴和耳朵,选不好,整个设备就“哑巴”了。
3.1 以太网接口:百兆还是千兆?
先说说以太网。很多新手会问:百兆够用吗?要不要上千兆?我的回答是:看场景。
我个人习惯,先算带宽。工业协议转换器,典型应用是Modbus TCP、PROFINET、EtherNet/IP。这些协议的数据包不大,百兆完全够用。举个例子,一个标准的Modbus TCP报文,也就几十个字节。百兆以太网的理论速率是100Mbps,实际有效吞吐量也能到80Mbps以上。你想想看,这得多少个报文才能跑满?
但有一种情况,我建议直接上千兆——视频流或大数据采集。我在项目中遇到过,客户要求同时采集200个摄像头的RTSP流,还要做协议转换。百兆网口瞬间成了瓶颈,千兆才勉强撑住。
选型建议:
- 百兆(10/100Mbps):适合Modbus、PROFINET、CANopen等工业总线协议转换,成本低,成熟稳定。
- 千兆(10/100/1000Mbps):适合视频流、大数据量采集、多协议并发转换场景。
3.2 PHY芯片选择:别只看价格
PHY芯片,说白了就是物理层收发器。它负责把MAC层的数字信号变成差分信号,送到网线上。选PHY芯片,我一般看三个指标:
- 工作温度范围:工业级必须-40℃~85℃,商业级别碰。
- EMC性能:特别是ESD和EFT抗扰度。我吃过亏,有一次选了便宜的PHY,现场一打雷就掉线。
- 驱动能力:有些PHY芯片输出摆幅小,长距离传输容易丢包。
市面上常见的PHY芯片,我列个表供参考:
| 型号 | 速率 | 接口 | 温度范围 | 典型应用 |
|---|---|---|---|---|
| LAN8720A | 百兆 | RMII | 0~70℃ | 消费级,不推荐工业用 |
| KSZ8081RNB | 百兆 | RMII/MII | -40~85℃ | 工业级,我常用 |
| DP83822I | 百兆 | RMII/MII | -40~85℃ | TI的,抗干扰不错 |
| RTL8211F | 千兆 | RGMII | 0~70℃ | 消费级,慎用 |
| 88E1512 | 千兆 | RGMII/SGMII | -40~85℃ | Marvell的,工业千兆首选 |
避坑指南:我曾经在项目里用了LAN8720A做工业协议转换器,结果现场温度一高就断连。后来换成KSZ8081RNB,问题解决。记住,工业环境别省PHY芯片的钱。
3.3 MAC与PHY集成方案:省心还是省成本?
现在很多MCU和MPU都集成了MAC控制器,比如STM32F4/F7/H7系列、NXP i.MX RT系列。你只需要外挂一个PHY芯片就行。这种方案的好处是灵活,你可以选不同厂家的PHY。
但还有一种方案——MAC+PHY全集成。比如WIZnet的W5500、W6100,或者Microchip的LAN9252。这些芯片内部把MAC和PHY做在一起,甚至有些还集成了TCP/IP协议栈。
我个人怎么选?
- 如果主控性能强(比如Cortex-A系列),我倾向用外挂PHY。因为主控的MAC性能好,协议栈跑在Linux上,灵活。
- 如果主控资源紧张(比如Cortex-M3/M4),我建议用全集成方案。W5500这种芯片,你只需要SPI接口就能实现以太网通信,省去了MAC驱动的麻烦。
小技巧:用全集成方案时,注意看它的内部缓冲区大小。W5500有32KB的收发缓冲区,对于Modbus TCP这种小数据包完全够用。但如果你要处理大文件传输,可能就不够了。
3.4 串口隔离与保护设计:RS-232/422/485
串口在工业现场太常见了。但串口也是最容易出问题的接口——地环路、浪涌、共模干扰,随便一个就能让通信中断。
先说说RS-232。这个接口是单端信号,传输距离短(15米左右),抗干扰能力弱。我一般只在短距离、低速率场景用。比如设备调试口、控制台口。
RS-422和RS-485是差分信号,抗干扰能力强。RS-422是全双工,4线制;RS-485是半双工,2线制。工业协议转换器里,RS-485用得最多。
3.4.1 隔离设计:光耦还是数字隔离?
隔离的核心目的是切断地环路。地环路一旦形成,共模电压可能高达几十伏甚至上百伏,直接烧毁接口芯片。
我常用的隔离方案有两种:
- 光耦隔离:比如6N137、HCPL-0600。优点是隔离电压高(可达5000Vrms),缺点是速率受限,功耗大。
- 数字隔离:比如ISO7240、ADuM1201。优点是速率高(可达150Mbps),功耗低,体积小。缺点是隔离电压稍低(一般2500Vrms)。
我个人习惯,对于RS-485这种低速接口(一般115200bps以内),光耦完全够用。但对于RS-422或高速串口(比如1Mbps以上),我建议用数字隔离。
隔离设计要点:
- 隔离电源必须独立。别用同一个DC-DC给两侧供电,否则隔离白做。
- 隔离地要分开。数字地和模拟地、机壳地之间用Y电容或磁珠连接。
- 注意隔离芯片的爬电距离。PCB上要开槽,保证隔离间距。
3.4.2 保护设计:TVS管、气体放电管、PTC
光隔离还不够。工业现场有浪涌、ESD、EFT,这些瞬态干扰能穿透隔离层。所以接口保护必须做。
我常用的保护器件:
- TVS管:用于ESD和浪涌保护。选型时注意钳位电压和功率。RS-485一般用SMBJ6.0CA或SMCJ6.0CA。
- 气体放电管:用于大浪涌。比如3RM90L-8,能承受10kA的浪涌电流。但响应速度慢,一般和TVS配合使用。
- PTC自恢复保险:用于过流保护。比如SMD1812P110TF,当电流超过1.1A时自动断开。
典型的RS-485保护电路长这样:
// 保护电路示意(从左到右)
// 接口端子 -> 气体放电管 -> PTC -> TVS -> 隔离芯片 -> 主控UART
// 注意:气体放电管接地,TVS接隔离侧地
避坑指南:我曾经在项目里只用了TVS管,没加气体放电管。结果现场有一次雷击,TVS直接炸了,PCB都烧黑了。后来加了气体放电管,再也没出过问题。记住,TVS管只能吸收小能量浪涌,大浪涌必须靠气体放电管。
3.4.3 终端匹配与偏置电阻
RS-485总线在高速通信时,必须加终端匹配电阻。一般120Ω,放在总线两端。不加的话,信号反射会导致数据错误。
另外,我建议加偏置电阻。RS-485总线在空闲时,A-B之间的电压差可能接近0V,这时候接收器输出不确定。偏置电阻的作用是让A-B之间保持一个稳定的电压差(比如200mV以上),确保空闲时输出高电平。
偏置电阻的计算方法:
// 假设供电电压5V,终端电阻120Ω
// 偏置电阻R1接VCC到A,R2接B到GND
// 要求A-B电压差≥200mV
// 计算公式:Vdiff = 5V * (R2 / (R1 + R2 + 120)) - 5V * (R1 / (R1 + R2 + 120))
// 一般取R1=R2=1kΩ,Vdiff≈0.25V,够用
小技巧:如果你不确定偏置电阻怎么算,直接用1kΩ。我试过很多次,1kΩ在5V供电下基本都能满足要求。但注意,如果总线节点太多,偏置电阻会拉低总线阻抗,这时候需要调整。
3.5 小结
这一节内容不少,我总结几个关键点:
- 以太网接口:百兆够用就别上千兆,省成本。但视频流场景必须千兆。
- PHY芯片:工业级温度范围、EMC性能、驱动能力,一个都不能少。
- MAC与PHY集成:主控性能强就外挂PHY,资源紧张就用全集成方案。
- 串口隔离:光耦适合低速,数字隔离适合高速。隔离电源必须独立。
- 串口保护:TVS+气体放电管+PTC,三层保护才可靠。
- 终端匹配:120Ω电阻不能省,偏置电阻建议加。
嗯,这一节就到这里。下一节咱们聊无线通信接口——Wi-Fi、蓝牙、LoRa、4G/5G,这些在工业协议转换器里也越来越常见了。