转载:http://m.newsmth.net/article/Circuit/298517?p=1
转载:http://www.360doc.com/content/18/0719/13/57938855_771643421.shtml
原问题:
做了块电路板,结果发现,要先对开发板上电, 再打开串口超级终端, 串口通信才可成功。
但是另外一块开发板却没有这个问题。
这一般是什么原因造成的?
自己遇到问题:
刚焊接好的板子,发现串口有问题,结果串口每次只有在断电上电后需要在上电后重新连接串口线
才能正常通信
原因简述:
缺少保护电阻,
解决办法:每次断电时拔掉串口线
下面所提到的问题,和上面链接中的问题(热插拔才可通信),其实是同一个问题,
可能的原因是
1. 232收发器芯片产生电压的那些小电容的数值是和数据手册上不太一致
2. 232收发器芯片和232插座之间缺少串联保护电阻,或保护电阻数值太小。
3. 原来的232收发器芯片可能部分失效了
如果1和2都已经做到了,将232收发器芯片的RXD输入管脚和插座RXD之间的串联保护电阻加大,比如换成1K或10K的,应该就可以了。如果还不成,就换个232芯片吧。
多说几句原因吧(以前碰到过该问题所以就研究过):
在不通信的时候,PC串口的TXD管脚会输出-5V左右的电压,于是在开发板上的232收发器芯片的RXD对应的输入管脚(R1IN或R2IN)上维持着-5V左右的电压。当开发板断电时,232收发器芯片的电源管脚没有电压,V+/V-管脚也没有电压,唯独RXD输入管脚
(R1IN或R2IN)上维持这一个-5V左右的电平,不用多说就能明白这意味着什么。假如习惯上每次给开发板断电后却让串口依旧和 PC保持连接,这意味这232收发器芯片长期承受着RXD输入管脚-5V但同时又让电源管脚和V+/V-为零电平,特别当PC的TXD
输出维持这超过-5V甚至超过-6V的时候,久而久之,这颗芯片就会渐渐部分失效或全部失效,于是通信就失败了。所以换一个芯片往往就可以解决这个问题。
每次先打开串口程序而没有通信的时候,-5V或以下的电压就加在TXD管脚上了,如果此时开发板断电但是却接着串口,就相当于初始状态是先让232收发器芯片处于上述异常的工作条件,然后再给开发板上电的时候,就可能出现通信不成功的状况。
这个时候当带电拔插一下串口,相当于让232收发器芯片的RXD输入管脚去掉-5V电压,而保持其电源管脚、V+、V-管脚的电压,这是232芯片回复到正常的工作条件。如果232收发器芯片的失效程度还不深(不会深度“抱死”),这个时候通信就可能恢复正常。
而如果重新启动一下串口程序,初始化过程会改变PC串口TXD的输出电压,让232收发器芯片的RXD管脚有一个恢复0电平的过程,这和上面拔插串口以便在RXD管脚上临时去掉一下-5V的电平,是一个效果。
另外,将那个RXD的串联电阻改大,起的作用就是在232收发器芯片的电源管脚掉电的时候,从RXD输入管脚(R1IN和R2IN)的输入电压被限流了,于是对芯片的损坏就不那么大,或者说进入故障异常的程度不会那么深,当开发板上电(也就是232收发器
芯片上电)的时候,就比较容易恢复正常状态。
通过实验的方法也可以验证上述分析。当开发板断电但是串口依然接着PC的时候,测量232收发器芯片对应于RXD输出到MCU的那个管脚,会发现该管脚的电压为显著的-0.x伏(被MCU的管脚给限制了所以不会很低,但是往往会有个-0.3或-0.5V)。当给开发板
上电后出现了上述故障时,测量一下232收发器芯片对应RXD输出到MCU的那个管脚的电平,你会发现该管脚一直维持为0电平,而不是期望的+3.3V/5V(取决于232收发器芯片的电源大小),这就是RXD输出管脚好像被“抱死”了。而一旦热插拔或重新初始
化PC的串口后,会看到那个管脚的电平就回复到+3.3/5V,可以正常通信了。
所以,两个建议:
1. 当开发板断电后,应该也拔掉串口线,否则232收发器芯片就可能长期处于异常的电平条件。
2. 从串口插座输入进来的信号,到232收发器芯片管脚之间应该串联较大的电阻,而不是类似于TXD信号那样接个5.1或22欧的小电阻。我比较习惯于用1K或470欧。
当然,这个串联电阻也不能太大,也要兼顾考虑串口线上的压降(比如线比较细或长)。
智能电表等系统已经广泛地应用到工业和生活的领域。在电表中使用自动抄表技术通过通信端口 读取数据,而且大部分情况采用远程读数方式。对于电表应用来说既安全又节省了时间和金钱。实现该技术的关键是确保通信链路安全可靠。由于 RS-485 标准具有长距离传输(1200 米以上),最大传输数率可以达到 10Mbps,且高信号噪声印制。同时,RS-485 电路具有控制方便,成本低等优 点,使多点连接成为可能。因此,RS-485 成为智能电表的标准通信接口。 但 RS-485 口传输线通常暴露于户外,因此极易因为雷击等原因引入过电压。而 RS-485 收发 器工作电压较低(5V 左右),其本身耐压也非常低(-7V~ 12V),一旦过压引入,就会击穿损坏。在有强烈的浪涌能量出现时,甚至可以看到收发器爆裂,线路板焦糊的现象。因此防雷击保护成为 RS-485 接口设计必须要考虑的。 通常,如图所画,使用 PPTC 和 TVS 作为 RS-485 的防雷击保护
当雷击发生时,感应过电压由 A/B 线引入,经过 PPTC,然后 GDT 作为初级共模防护,通常 GDT 可以承受 10KA(8x20us)浪涌冲击。
之后残压已经大大降低到 1KV 以下,然后 TVS 作为二级 保护进行共模/差模保护,到收发器的电压被钳制在 12V 以下,同时,通过 A/B 线上的上拉电压可 以保证 A/B 线上的电压保持在高电平。
而实现对收发器的浪涌保护。通常,对于 4KV 以下过电 压,可以省去初级保护—--GDT。单用 TVS 就能实现浪涌保护的要求。当 RS-485 总线与电力线 (例如 220VAC)搭接短路时。A/B 线上的 PPTC 可以提供短路保护。 但这种传统方式有问题需要考虑
1:GDT 浪涌击穿电压较高,这就意味着后面的电阻值比较大。这可能会影响传输距离减少
2:TVS 的漏电流较高,以 SMBJ6.0CA 来讲大致在 800uA 左右。这样会影响点对点通讯 的可靠性
3:PPTC 的响应速度较慢,因此在电力塔接时,可能会造成 TVS 被交流击穿 电表 RS-485 接口保护。
因此综上所述,是否有更好的 RS-485 防雷保护方案呢? 这里,我们提出了自己的一种方案来满足更高可靠性的要求。
众所周知,TVS 是半导体保护器件,具有响应速度快,可靠性高的优点。但它是 Clamping 保护模式。其残压会比较高 而我们的 Sidactor 作为半导体器件同样具有响应速度快,可靠性高的优点。但它是 Crowbar 保护模式。其导通以后保持电压低,同时还具有抗浪涌能力强,耐搭接能力强特 点。 请看下面图显示的 TVS 与 Sidactor 的工作模式。
SIDACtor简介: 双向顺态过电压保护器。SIDACtor是一种带负阻或正阻特性的新型浪涌吸收器,击穿电压为27~540V,导通电压仅3~4V,可通过的浪涌电流为50~100A。与气体放电管、TVS和MOV等其它类型的瞬态电压保护器比较,SIDACtor具有导通阻抗和开通电压低、响应速度快、电流通量大及可靠性高等特点。因此,它是一种全能的电压保护器件。
SIDACtor工作原理:SIDAC是一种二端半导体器件,其内部结构与双向晶闸管十分相似,但是没有触发门极,是电压自触发器件。SIDAC的工作状态如同一个开关。当电压低于断态峰值电压VDRM时,其漏电流IDRM极小(小于微安量级),为断开状态。当电压超过其击穿电压VBO时,产生瞬间雪崩效应。该雪崩电流一旦超过开关电流IS,即进入雪崩倍增,器件的阻抗骤然减小,电压降为导通电压(V<1.5V)。此时,SIDAC进入导通状态,允许通过大的通态电流(0.7-2安培,RMS值)。当电流降到最小维持电流IH值之下时,SIDAC恢复到其断开状态。
它又称为半导体放电管,俗名:固体放电管 (上海雷卯),它用于通信防雷保护的不可缺少的器件。
1、RS232口防雷电路设计参考
RS232口在通信设备上作为调试用接口、板间通信接口和监控信号接口,传输距离不超过15米。调试用接口使用比较频繁,经常带电拔插,因此接口会受到过电压、过电流的冲击,若不进行保护,很容易将接口芯片损坏。常用防护电路如图所示。
公司采用的RS232接口芯片的输出电压不超过±15V,对接口收发信号线的保护可以选用双向瞬态抑制二极管ESDA14V2L(90pF),限流电阻选100 欧姆,但当产品目标包括北美市场时,防护器件推荐选用1.5SMC18CA,它可以满足NEBS认证的需求。
用于板间通信的RS232接口电路可以不用防护电路设计,但其他场合应考虑在接口侧输入和输出管脚上采用防护电路。
2、RS422 或 RS485口防雷电路设计参考
2.1 室外走线RS422&RS485口防雷电路
当信号线走线较长,可能出户外时,端口的防护等级要求较高,此时可采用图7-12的防护电路。
图a
图b
1)G1为三极气体放电管3R097CXA,主要起共模保护;
2)R1、R2为2W/4.7欧姆电阻,阻值在不影响信号传输质量的情况下可以再取大一些;
3)整流桥四周和对地共六个二极管为快恢复二极管MURS120T3,整流桥中间为TVS管SM6T6V8A,起后级的共模和差模保护的作用。当被保护端口的信号速率不高时也可以采用图b中的电路。
2.2室内走线RS422&RS485口防雷电路
当接口用于小于10米的框间通信时,可根据需要确定是否加防护电路,分别给出了该使用条件下端口常用的单点和多点防护电路。
室内走线RS422&RS485口单点防护电路
室内走线RS422&RS485口一点对多点防护电路
采用的RS422和RS485接口芯片的输出电压不超过±5V,对接口收发信号线的保护可以选用瞬态抑制二极管PSOT05C等,输出端限流电阻选33欧姆(1/4W)。