说起485信号就觉得很奇怪,之前用不同的芯片看到了485在不同速度上传输的样子,这几天又出现了一个问题。上图可能说的更加清楚点。
就是这种情况,一个信号转接单元,里面有电路板,分别线连接到前面板和后面板,最后,前面板接工控机5V的芯片,后面板接485传感器3.3V的芯片。问题是工控机发送的数据到了后面板有信号输出,485传感器接收的到信号,而485传感器发送的信号在后面板可以有信号,在信号转接单元的前面板没有信号输出。
开始以为是这个问题,就想着往阻抗匹配,电平转化方面去解决,后面发现信号是时断时续的,有时候有,有时候没有,尤其是当放电频率比较高时这种现象就特别的明显,就是受到了电磁干扰。所以我就打算从一下方面解决:1、将信号转接板的与继续相连的线用屏蔽双绞线,屏蔽线要接地;2、在输出增加电平转化芯片,将485信号由3.3V转化成5V,然后再用线连接出来,看是否通信;3、看是否是上下拉电阻的影响导致;4、是否是终端的120欧姆的电阻导致;5、如果还是不行就只能直接连接了。
但是由于公司做大机器的,要使用还得慢慢排队,申请 使用,即使下班去测,也得排队,虽然我想有备品,但生产的工程师没有时间做,所以也没有备品,没有地方测试,所以这个想法就一直没有实现。但是这个问题总得解决,解决方法以后再跟新吧!
在解决问题之前首先来总结一下:
485信号是什么呢?
RS485采用差分信号传输,如果是输出5V的485转化器,发送为0时,其中A端信号电平是5V,B端信号电平是0V,则AB之间的电平是 5V;当发送信号是1时,其中A端信号电平是0V,B端信号电平是5V,则AB之间的电平是-5V,于是AB两端的电压范围是-5V~ 5V ;同时,接收时,AB之间的电压差在 2V~ 6V通过485芯片转化表示“0” ,AB之间的电压差在- 6V~- 2V通过485芯片转化表示“1”,RS485有两线制和四线制两种接线,四线制是全双工通讯方式,现在很少采用,两线制是半双工通讯方式。
在RS485通信网络中一般采用的是主从通信方式,在很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来,而忽略了信号地的连接起来,而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患。
485信号线不可以和电源线一同走线。在实际施工当中,由于走线都是通过管线走的,施工方有的时候为了图方便,直接将485信号线和电源线绑在一起,由于强电具有强烈的电磁信号对弱电进行干扰,从而导致485信号不稳定,导致通信不稳定。
上下拉电阻
上拉的作用是将不确定的信号通过一个电阻钳位在高电平,同时起输入电流的作用,下拉电阻的作用是为了将电平钳位在低电平。
485的终端电阻
高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,使信号到达传输线末端后不反射。对于低频信号则不用。在长线信号传输时,一般为了避免信号的反射和回波,也需要在接收端接入终端匹配电阻。
在485总线的现场施工当中,当485总线的传输距离超过一定的长度时,485总线的抗干扰能力就会出现下降,在这种情况下,就要在485总线的首尾两端接120欧姆的终端匹配电阻,以保证485总线的稳定性。终端匹配电阻的正确接法是在每个485总线的首尾两端上各接一个120欧姆的终端电阻,电阻接在485总线的正负之间。
终端电阻在通信中的作用是为了消除在通信电缆中的信号反射。然而在通信过程中,有两种原因因导致信号反射:阻抗不连续和阻抗不匹配。
1.阻抗不连续:信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大 小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻。 2.阻抗不匹配:引起信号反射的另个原因是数据收发器与传输电缆之间的阻抗不匹配。在高频电路中,当信号的频率很高时,则信号的波长就很短,当波长短得跟传输线长度可以比拟时,反射信号叠加在原信号上将会改变原信号的形状。如果传输线的特征阻抗跟负载阻抗不匹配时,在负载端就会产生反射。这种原因引起的反射,主要表现在通讯线路处在空闲方式时,整个网络数据混乱。
一般终端匹配采用终端电阻方法, RS-485应在总线电缆的开始和末端都并接终端电阻。终接电阻在RS-485网络中取120Ω。相当于电缆特性阻抗的电阻,因为大多数双绞线电缆特性阻抗大约在100~120Ω。这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。另外一种比较省电的匹配方式是RC匹配。利用一只电容C隔断直流成分可以节省大部分功率。但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。还有一种采用二极管的匹配方法,这种方案虽未实现真正的“匹配”,但它利用二极管的钳位作用能迅速削弱反射信号,达到改善信号质量的目的,节能效果显著。
一般情况下不需要增加终端电阻,只有在485通信距离超过300米的情况下,要在485通讯的开始端和结束端增加终端电阻。
接下来的内容转自博客,推荐,讲的很细,推荐参考,具体实施,我会在解决问题的时候再仔细参考下面的方法计算一遍,到时候再进行讲述。
https://blog.csdn.net/zhzht19861011/article/details/54580356/
为什么需要加上下拉电阻?
根据RS-485标准,当485总线差分电压大于 200mV时,485收发器输出高电平;当485总线差分电压小于-200mV时,485收发器输出低电平;当485总线上的电压在-200mV~ 200mV时,485收发器可能输出高电平也可能输出低电平,但一般总处于一种电平状态,若485收发器的输出低电平,这对于UART通信来说是一个起始位,此时通信会不正常。
当485总线处于开路(485收发器与总线断开)或者空闲状态(485收发器全部处于接收状态,总线没有收发器进行驱动)时,485总线的差分电压基本为0,此时总线就处于一个不确定的状态。同时由于目前485芯片为了提高总线上的节点数,输入阻抗设计的比较高,例如输入阻抗为1/4单位阻抗或者1/8单位阻抗(单位阻抗为12kΩ,1/4单位阻抗为48kΩ),在管脚悬空时容易受到电磁干扰。
因此为了防止485总线出现上述情况,通常在485总线上增加上下拉电阻(通常A接上拉电阻,B总线下拉电阻)。若使用隔离RS-485收发模块(例如RSM485PCHT),由于模块内部具有上下拉电阻(对于RSM485PCHT,内部上下拉电阻为24kΩ),因此在模块外部一般不需要增加上下拉电阻。
什么情况下需要加上下拉电阻?
当遇到信号反射问题时,通常会通过增加匹配电阻来避免信号反射,以1对1通信为例,如图1所示。由于485总线通常使用特性阻抗为120Ω的双绞线,因此在485总线的首尾两端增加120Ω终端电阻来避免信号反射问题。
通过一系列的计算,模块已处于不确定状态,模块接收器可能输出为高电平,也可能输出为低电平,这时就需要在模块外部增加上下拉电阻保证模块在空闲时不处于不确定状态。(详细怎么算可以参考博客)
上下拉电阻如何取(详细怎么算可以参考博客)
这篇博客的总结:
1、通信线应选用屏蔽双绞线,屏蔽层应单点接大地;
2、当我们没有遇到信号反射问题时,尽量不要使用终端电阻;
3、如果使用终端电阻,我们可以通过上下拉电阻调节485总线在空闲状态的电压值,保证不处于门限电平(-200mV~ 200mV或-200mV~-40mV)范围内;
4、当我们增加上下拉电阻时,上拉电阻(下拉电阻)与收发器输入阻抗的并联值应大于375Ω。