ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RS485/CAN总线防护实战:TVS管选型与电路设计指南

RS485/CAN总线防护实战:TVS管选型与电路设计指南 老家项目现场调一台带RS485通讯的控制器业主说隔三差五雷雨天就掉线拆回来一看板子上的接口芯片直接顶出一个黑色小坑。换芯片简单但如果不把总线防护做扎实下次坏的可能就不止这一块板了。这篇文章就围绕RS485/CAN总线防护实战中的TVS管选型展开把静电和浪涌从哪里来、TVS怎么选、典型电路怎么接、布局怎么处理以及我这些年踩过的坑一次讲清楚。无论你是刚入门硬件设计、在做工控通讯板还是被现场总线故障折磨的调试工程师这篇都应该能帮你少走几趟弯路。1. 为什么RS485和CAN总线必须做防护1.1 静电和浪涌从哪里来现场案例讲起RS485和CAN总线的共同点是采用差分信号传输抗共模干扰能力比单端信号强不少这也是它们在工业现场、车载电子、楼宇自控里被大量使用的原因。但“抗干扰”不等于“不怕冲击”更不等于“可以不设防”。总线的物理介质是一对双绞线短则几米长则几百上千米而且要跨接在不同的设备、不同的地电位系统之间。这条线本质上就是一个巨大的天线雷电感应、变频器启停、接触器吸合、静电放电这些瞬态干扰都会在线缆上耦合出非常高的电压。典型故障场景是雷雨天现场某个节点通信全部瘫痪或者某个设备一上电就报总线错误帧。拆开设备后发现收发器芯片的引脚有明显的电弧痕迹——电流沿着线缆进来把芯片内部击穿然后从一个引脚到另一个引脚打火。还有一种更隐蔽的情况是芯片没有立刻坏但长期受到浪涌冲击内部绝缘层慢慢退化表现为设备运行几个月后突然无法通信换了芯片就能好——这种“慢性死亡”最让人头疼因为现场很难定位到是上一块板子埋下的雷。1.2 防护到底在保护什么接口芯片极限参数要理解防护电路先得知道接口芯片能扛住什么。以应用量很大的MAX485为例它的A、B引脚允许的电压范围一般是-7V到12V超过这个范围内部结构就可能发生击穿。CAN总线收发器以TJA1050为例CANH、CANL引脚对地的耐压范围能到-27V到40V左右看起来比RS485强壮很多但面对静电放电几万伏、雷击浪涌几千伏的瞬态电压这点耐压完全不够看。这就引出一个关键逻辑TVS管要在接口芯片“承受不住”之前把电压钳住所以选型首先就要看接口芯片的极限参数而不是凭感觉挑一个看着差不多的管子。很多人栽跟头就栽在这——用做电源防雷的TVS去保护RS485芯片结果TVS动作电压比芯片能承受的还高雷打过来TVS还没醒芯片先躺平了。总线类型常见收发器总线引脚极限电压防护目标RS485MAX485/SP3485-7V ~ 12V钳位电压需明显低于12VCANTJA1050/SN65HVD230约-27V ~ 40V钳位电压留足裕量不用过低1.3 三层防护架构泄放、限流、钳位总线防护不是只靠一颗TVS就能解决的。对于比较恶劣的工业现场更稳妥的思路是“三层防护”连接器进来先接气体放电管或压敏电阻用来“泄放”雷击这类大能量冲击中间用PTC自恢复保险丝或串阻“限流”防止后级器件被大电流冲垮最后再让TVS“钳位”高电压保护收发器引脚。这个顺序从连接器到芯片是严格分级的不能调换。普通环境、静电为主的场合器件要求低一些至少也要做到“串联电阻TVS”的组合。比如RS485的A、B线上各串一个10Ω电阻对地各接一颗双向TVS再进收发器这是一套性价比很高的基础防护。我曾经在一个户外采集项目上见过只焊TVS不串电阻的方案浪涌测试时TVS倒是没坏但TVS和大皮铜箔之间的走线被烧断了——电流太大路径上又没有限流元件分担板子以另一种形式报废了。2. TVS管选型核心参数5个参数看懂就不会选错2.1 VRWM、Vbr、Vc三个电压决定能不能保护住TVS选型时首先要看三个电压参数VRWM反向工作电压、Vbr击穿电压、Vc最大钳位电压。这三者的关系可以理解为VRWM是TVS在正常工作状态下“袖手旁观”的最高电压只要总线电压不超过它TVS就几乎不导通、不干扰信号Vbr是TVS开始“出手”的电压超过之后管子进入雪崩击穿状态Vc则是TVS承受最大脉冲电流时器件两端能达到的最高电压也是真正保护芯片时能钳到的极限值。选型的核心不等式是正常工作的总线电压 VRWM Vbr Vc 被保护芯片能承受的极限电压。以RS485为例MAX485引脚极限是12V所以TVS的Vc最好控制在10V~11V左右留出至少10%~20%的裕量不能顶着12V选。如果选了Vc为19V的SMBJ12CA芯片可能在TVS开始钳位前就已经报废。过低的VRWM也不行。如果选VRWM只有3.3V的TVS去保护RS485正常工作状态下的差分电压或共模电压稍有波动TVS就会提前导通、产生漏电流这些漏电流会挂在总线上拖低差分阻抗严重时导致通信波形畸变、误码率上升。所以VRWM要能“罩住”正常信号范围不能为了增加保护力度而牺牲正常通信质量。2.2 峰值脉冲功率Ppp封装大小不能只看表面TVS的峰值脉冲功率Ppp是衡量它能承受多大瞬态能量的关键指标。很多工程师选型只管电压参数忽略了Ppp结果浪涌测试时TVS直接被烧穿。常见的SMAJ封装功率约400WSMBJ约600WSMCJ约1500W这个功率是在特定脉冲波形比如8/20us、10/1000us下测出来的波形不同能承受的能量也不同。功率选多大要看总线所处的环境。普通的室内工控通信ESD干扰为主SMAJ或SMBJ级别就够了户外长距离RS485布线、雷雨频繁的现场建议直接上SMCJ甚至更大功率同时配合放电管泄放雷击电流。Ppp不够可能出现“TVS先死”的连锁反应TVS被浪涌击穿后变成类似短路的状态后续大电流不再经过TVS内部限压路径而是直接灌进收发器芯片跟着一起完蛋。前面说的“串阻限流”本质上也分担了TVS的功率压力。串联电阻把浪涌电流限制在一定量级后TVS承受的能量就会小很多这也是为什么“串电阻TVS”比“光靠TVS”更皮实。2.3 单向还是双向这个选错等于白装RS485和CAN都是差分总线干扰来源可能是共模正电压也可能是共模负电压雷击和静电在线缆上感应的波形通常正负双向都有。所以必须选双向TVS不能选单向。我见过一个同事把单向TVS用在RS485 A线对地防护上通信倒是没出问题但他没意识到负压干扰进来时那个单向TVS根本不动作相当于只防了一半。静电枪打负极性的时候芯片照样被击穿。选型时看型号后缀比如SMBJ6.5CA里的C就代表双向如果是SMBJ6.5AA代表单向一字之差防护效果天差地别。2.4 结电容Cd高速通信最容易忽视的坑TVS的结电容Cd也是个容易被忽略的参数。普通TVS为了承载较大功率结电容往往几十pF到几百pF这对低速RS4859600bps到115200bps影响不大但对1Mbps甚至更高波特率的CAN总线来说电容大到一定程度会拖慢信号边沿导致波形上升沿变缓、过冲增大甚至出现位错误。如果总线波特率较高或者节点数量多、线缆长度长应当优先选用低结电容TVS。市面上也有专门为CAN总线设计的低电容TVS比如PESD1CAN电容约几pF配合共模电感使用效果不错。对RS485如果传输距离特别长或者波特率特别高同样建议关注结电容参数不能只盯着功率看。3. RS485防护典型电路与型号推荐照着接就行3.1 从MAX485典型电路讲起裸奔方案长什么样MAX485是RS485通信里的常青树它的典型应用电路很简单RO接MCU的RXDI接MCU的TXRE和DE用于切换发送/接收方向。A引脚通常通过上拉电阻接到VCCB引脚通过下拉电阻接到GND提供默认电平在总线两端各放一个120Ω终端电阻做阻抗匹配。如果需要自动收发还得在RE/DE前面加一个由三极管和阻容组成的自动方向切换电路。但很多参考设计给出的就是“裸奔”方案防护在图纸上看不到。实际产品如果照着裸奔电路做出来现场静电一打、雷击一来芯片坏了只能换板子。下面说的防护方案就是在裸奔电路上做加法不改变原有通信逻辑。3.2 RS485四元件防护方案接线顺序比型号更重要从连接器DB9或接线端子到MAX485的A、B引脚之间我常用的防护接法是这样的A线先串一个PTC自恢复保险丝或10Ω电阻B线同样处理PTC或电阻之后A线对地接一颗双向TVSB线对地接一颗双向TVS如果差模浪涌风险高再在A、B之间跨接一颗双向TVS。之后可以串一个共模电感再进MAX485的A、B引脚。接线顺序很关键TVS一定要接在连接器侧也就是PTC之后、靠近连接器一侧不能放到芯片旁边。这样浪涌进入后先被PTC限流再被TVS钳位剩余信号再经过共模电感和终端电阻处理。终端电阻120Ω一定要放在靠近芯片一侧不能放在TVS前面否则浪涌顺着终端电阻就直接灌进芯片了。偏置电阻也一样放在芯片侧分担不了防护任务。用文字描述接线可能不够直观一个简化的连接关系是这样的接线端子A ---[PTC1]--- A点 ---[L1共模电感]--- MAX485.A A点---D1(SMBJ6.5CA)---GND 接线端子B ---[PTC2]--- B点 ---[L1共模电感]--- MAX485.B B点---D2(SMBJ6.5CA)---GND A点---D3(SMBJ6.5CA)---B点差模保护可选注意D1、D2、D3全都是双向TVS型号可以用SMBJ6.5CA或SMBJ7.0CA。如果选SMBJ7.0CAVc约12V左右已经接近MAX485的引脚极限选型时建议计算一下整条回路上的压降分布尽量用Vc更低的SMBJ6.5CA或者在中间串入电阻分担电压。共模电感可选但对抑制共模干扰有奇效很多现场通信不稳的问题加一颗共模电感后就能解决。3.3 RS485 TVS型号推荐与替换对照表型号方向VRWMVbrVc典型适用场景SMBJ6.5CA双向6.5V约7.2V约11VRS485基础防护兼容MAX485引脚极限SMBJ7.0CA双向7V约7.8V约12VRS485室内通信Vc偏高但带载能力强SMBJ12CA双向12V约13.3V约19V不适合MAX485仅用于耐压更高的总线PESD1CAN双向约24V--低结电容更推荐用在高速CAN从实际项目看RS485最常用的TVS就是SMBJ6.5CA这个级别。要注意的是不同厂家的命名规则大致统一但Vc标称值有差异选型时以具体型号的完整数据手册为准。带上DB9接口时还要确认线序很多RS485设备的DB9定义为3脚A、8脚B、5脚GND但也有些厂商把2、7脚定义成A、B接反后轻则通信失败重则损坏后续电路接线前一定先看产品手册。4. CAN总线防护电路设计与RS485的区别一次说清4.1 CAN收发器电气特性为什么不能照搬RS485CAN总线的电气特性和RS485有本质区别。CAN总线依赖CANH和CANL的差分电压来表示显性、隐性电平显性时CANH比CANL高约2V隐性时两者电压大约都在2.5V附近共模电压正常范围在-2V到7V左右。虽然正常工作范围比RS485窄但CAN收发器的引脚耐压能力反而高出很多比如TJA1050的CANH、CANL能承受大约-27V到40V。这就导致CAN总线的TVS选型逻辑跟RS485不一样。如果直接把RS485常用的SMBJ6.5CA拿到CAN总线上虽然钳位电压更低、看起来保护更“强”但在某些共模电压偏高的工况下TVS可能会提前导通、漏电流增大拖低总线负载能力影响节点数量。所以CAN总线要做高一点的动作电压常用SMBJ15CA或SMBJ12CA这类VRWM在12V到15V的双向TVS。4.2 高速CAN防护电路CANH/CANL这样接TVS高速CAN总线的防护结构与RS485类似但元件参数不同。连接器进来后CANH和CANL各串一个电阻5Ω到10Ω类似RS485的串阻作用然后CANH对地接一颗双向TVSCANL对地接一颗双向TVS必要时在CANH和CANL之间跨接一颗双向TVS做差模保护。之后进共模扼流圈再接到CAN收发器。120Ω终端电阻同样放在CAN收发器一侧。很多车载CAN节点会直接选用低结电容TVS配合共模电感因为车载环境电磁干扰复杂、瞬态冲击频发而且波特率通常较高普通TVS的结电容可能导致信号完整性下降。终端电阻、TVS、共模电感的布局顺序直接影响测试结果TVS要靠近连接器共模电感和终端电阻靠近收发器这个顺序在CAN和RS485上是一致的。如果在FPGA里做CAN控制器或者用MCU的CAN外设接收方式用中断还是DMA更多是软件工程问题不会改变防护选型。但有一点值得注意总线的瞬态冲击会导致大量错误帧如果软件没有处理错误帧和总线恢复机制硬件防护做得再好系统也可能出现“假死”。所以硬件防护和软件容错是一对组合拳不能偏废。4.3 对比总结RS485和CAN两颗TVS的参数差异表对比项RS485CAN收发器引脚极限MAX485约-7V ~ 12VTJA1050约-27V ~ 40V常见TVS型号SMBJ6.5CA / SMBJ7.0CASMBJ12CA / SMBJ15CA典型VRWM6.5V~7V12V~15V典型Vc约11V~12V约19V~24V注意点Vc必须低于芯片极限避免VRWM过低导致漏电要不要让RS485和CAN共用同一颗TVS我的建议是尽量不要。RS485需要Vc尽量低CAN需要VRWM尽量高两个方向的需求是矛盾的。共用一颗只能“两头将就”结果往往是某一头保护效果不够。物料清单多一颗料换来两个总线的可靠性值得。5. 实战布局布线TVS离接口多远算远5.1 泄放路径要短TVS位置靠近连接器而不是芯片很多工程师选型没问题但板子画出来后防护效果很差问题出在布局上。TVS的工作速度和它到连接器的走线长度密切相关。如果TVS离连接器很远浪涌进入后先经过一段又细又长的铜皮这段走线的寄生电感会让电压降更大导致TVS还没来得及完全钳位过压已经传播到后端芯片。我的经验是TVS的地脚到连接器地脚这一段走线长度尽量控制在5mm以内最好能让TVS和连接器的地引脚共用一段短而宽的敷铜。TVS要放在连接器触点附近而不是放在收发器芯片旁边。差分线的浪涌防护本质上是“把能量在接近入口处泄放掉”离入口越远防护价值越低。5.2 接地处理保护地没接好防护打了折TVS把浪涌电压钳住后能量需要一个去处那就是地。如果PCB地平面不完整或者设备没有接保护地PETVS地脚的电位会被瞬间抬高造成“地弹”现象反而把干扰耦合到其他电路上。工业现场常见的问题是总线连接器是金属外壳的但外壳没有接到机壳地只跟PCB的GND相连结果浪涌从外壳耦合进来后整个PCB地都跟着跳防护形同虚设。标准做法是把连接器金属外壳接到机壳保护地PCB的GND通过一颗高压电容比如1nF/2kV和一个泄放电阻比如1MΩ连接到机壳地这样直流隔离、交流泄放既能防地环路干扰又能给浪涌电流提供低阻抗路径。车载环境或者空间紧张的设备里也要尽量保证TVS接地脚到总接地点之间的铜皮足够宽、足够短。5.3 终端电阻和偏置电阻的位置不能随手放终端电阻和偏置电阻看似无关紧要布局错了会带来额外风险。以RS485为例终端电阻120Ω应当放在MAX485的A、B引脚处而不是放在连接器端口。如果终端电阻放在端口浪涌干扰会直接通过电阻耦合进芯片等于给干扰开了一条直流通道。偏置电阻A上拉、B下拉同样放在芯片侧它们本质上是给总线提供空闲电平和保证终端匹配不参与浪涌泄放。有些设计为了省事把TVS、终端电阻、偏置电阻全放在连接器端口这是错误示范。正确思路是连接器 - 防护器件PTC、TVS - 匹配网络终端电阻、偏置电阻 - 后级滤波/隔离 - 收发器。每一步的职责分开测试时也容易判断哪一级出了问题。6. 装机后常见问题与排查实录烧芯片、误码都在这6.1 装了TVS还烧芯片先查这5个方向第一种可能是TVS的Vc选得过高超过了收发器引脚极限。RS485芯片极限12V结果选了Vc在19V的TVS浪涌还没被有效钳位芯片就已经被击穿。第二种是TVS功率不够一次大浪涌过来TVS先阵亡变成短路或断路后续保护完全失效这类故障需要拆下TVS测量才能发现。第三种是布局问题TVS离连接器太远浪涌沿走线先打到芯片。第四种是地没接好浪涌能量无处泄放。第五种是只加了TVS没有串阻TVS承受的电流过大寿命急剧缩短。排查时先测接口芯片的电源对地是否短路再把TVS拆下来用万用表二极管档测量双向TVS正常时两个方向都应该有一个PN结压降读数如果测出来是0或者无穷大基本上就是坏了。通过对比焊接前的新管能快速判断问题出在TVS本身还是在电路设计。6.2 通信误码率变高TVS可能背了锅装防护之前通信正常装完防护之后误码率反而高了这样的情况我遇到过不止一次。最常见的原因是TVS结电容太大拉低了信号的边沿速率。解决办法是换成低结电容TVS或者在TVS后级增加共模电感补偿信号质量。另一种情况是错用了单向TVS导致正负半周波形不对称系统误判差分信号这时只需要把单向型号换成双向型号。还有一种是选了VRWM太低的TVS。总线上正常的共模电压偏高一点TVS就开始轻微导通漏电流叠加到总线上相当于多加了几十个节点的负载。如果节点比较多、波特率比较高这个问题会特别明显。判断方法很简单用示波器看总线空闲时的A-B差分电压如果低于200mV或者波形明显畸变优先检查TVS选型和漏电流。6.3 速查表从选型到测试的避坑清单检查项操作要求确认收发器引脚极限电压查数据手册作为选Vc的上限依据确认TVS方向RS485和CAN双向TVS后缀带C确认VRWM必须大于正常总线信号和共模范围确认Vc务必低于芯片引脚极限留20%裕量确认Ppp恶劣环境加大功率加串阻/放电管分担确认结电容高速CAN和远距离RS485选低电容型号布局位置TVS靠近连接器地脚走线短而宽接地处理金属连接器接机壳PEPCB地经高压电容连接终端电阻放芯片侧不放连接器侧这块内容看似琐碎其实每一条都是从真实故障里总结出来的。我自己的习惯是新板子回来先做一遍静电放电测试再做浪涌测试测试不过就先查这9条能解决掉九成以上的问题。测试后还要看波形不能只看“通不通”要看差分信号有没有毛刺、有没有削顶这些细节才是判断防护是否有效的关键。最后分享一个小技巧现场如果没有浪涌发生器可以用一个30V直流电源串一个100nF高压电容直接对总线连接器打几次电源瞬间会通过电容放电模拟一次短时过压。再用示波器看差分线波形如果TVS正常波形会被削成一个相对平滑的钳位平台如果波形直接冲到几十伏说明TVS选型或者布局有问题这时候改设计还来得及。我在多个项目里用这个土办法筛出了不少防护设计隐患省了不少去实验室排队的功夫。
返回列表