转载: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)。

MAX3232 每次只有在上电后,再连接串口线正常——保护电阻。RS232防雷保护的更多相关文章

  1. 为什么每次app访问服务器都建立新连接 导致服务器大量连接疯涨

    运维发现服务器有大量连接不释放,而且每次app访问都会建立新连接. netstat -antlp |grep ESTAB|grep 8080|wc -l    (访问服务器8080端口的已建立的连接数 ...

  2. 工作总结 1 sql写法 insert into select from 2 vs中 obj文件和bin文件 3 npoi 模板copy CopySheet 最好先全部Copy完后 再根据生成sheet写数据 4 sheet.CopyRow(rowsindex, rowsindex + x); 5 npoi 复制模板如果出现单元格显示问题

    我们可以从一个表中复制所有的列插入到另一个已存在的表中: INSERT INTO table2SELECT * FROM table1; 或者我们可以只复制希望的列插入到另一个已存在的表中: INSE ...

  3. Web安全--使用Salt + Hash将密码加密后再存储进数据库

    转载原地址 http://www.bozhiyue.com/mianshiti/_net/2016/0728/314239.html (一) 为什么要用哈希函数来加密密码 如果你需要保存密码(比如网站 ...

  4. 电脑移动后WIFI连接失败解决方法

    1.现象原因 经常会发现将自己的电脑带到不同的地方后连接附近WIFI失败的现象,这是什么原因造成的了,觉得明明之前还有连过这个无线,密码都是正确的,无线连接的图标显示一个大大大的感叹号!  像下面一样 ...

  5. 电脑CPU开机上电后的第一条指令

    结合上面的文章,CPU上电后第一条指令是通过CS:IP来指定的,CPU厂家会给其初始值,对于386处理器来说,CPU第一条指令地址是 0xFFFFFFF0 这里会有一个问题,CPU怎么能一上来就去0x ...

  6. [Elixir002]节点启动后自动连接其它节点

    问题: 如何指定一个节点在启动后自动连接到别的节点上? 这个我们要使用到sys.config,这是erlang的配置文件,这个文件一般都是$ROOT/releases/Vsn下 1. 首先我们要先启动 ...

  7. iPhone10.3.X越狱后SSH连接不上的问题(已解决)

    iPhone10.3.X越狱后SSH连接不上的问题 G0blin RC2,iPhone5s10.3.3  Jailbreak 最近研究了好几天,试了好多的方法. ssh 访问越狱iPhone的两种方式 ...

  8. Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法

    asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...

  9. ARDUINO UNO数字引脚端口上电后不稳定状态。

    ARDUINO UNO数字引脚端口上电后不稳定状态. 在使用4*4矩阵键盘时,遇到了输入端的电平无法稳定,一直被识别为高电平. 在发现这一问题后,首先检查程序是否出错.检查后发现程序没有任何问题. 于 ...

随机推荐

  1. 牛客提高D2t1 ACGT

    分析 用map维护一下每种字符串当前有几个即可 代码 #include<iostream> #include<cstdio> #include<cstring> # ...

  2. Vagrant 手册之 Provisioning - Shell 配置程序

    原文地址 Provisioner 命令:"shell" 示例: node.vm.provision "shell" do |s| s.inline = < ...

  3. Fiddler抓包ios亲测

    1 打开Fiddler设置端口 2 设置可以抓取https选项 3 手机连接WIFI和电脑处于同一局域网并设置代理端口和fiddler中设置一致 4 证书安装手机浏览器输入代理电脑ip及端口如192. ...

  4. 解决BootstrapTable设置height属性后,表格不对齐的问题

    解决BootstrapTable设置height属性后,表格不对齐的问题 2018年03月06日 09:56:54 nb7474 阅读数 5920     一般在使用BootstrapTable 插件 ...

  5. ELMO,BERT和GPT简介

    1.Contextualized Word Embedding 同样的单词有不同的意思,比如下面的几个句子,同样有 “bank” ,却有着不同的意思.但是用训练出来的 Word2Vec 得到 “ban ...

  6. vsphere虚拟化之 DNS服务的创建(二)

    1.创建域控的DNS服务器,打开"服务器管理器",由此可以看到AD域安装成功后,DNS服务也附带安装成功. 2.点击“工具”--“DNS” 3.点击“正向查询区域”--“best. ...

  7. Struts2之上传

    单文件上传 上传页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...

  8. ubuntu离线安装mysql

    一:ubuntu离线安装mysql 转载来源:https://blog.csdn.net/liuhuoxingkong/article/details/80696574 参考文章:https://ww ...

  9. java虚拟机笔记-1

    java虚拟机学习笔记 Java技术的核心就是Java虚拟机,因为所有的Java程序都在虚拟机上运行.Java程序的运行需要Java虚拟机.Java API和Java Class文件的配合.Java虚 ...

  10. 用Emacs编写mybatis

    用Emacs编写mybatis */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #839496;} ...