单片机RS485通信问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机RS485通信问题相关的知识,希望对你有一定的参考价值。

我现在通过51单片机控制rs485芯片,把TTL信号变为485信号,然后经过通信线(50cm左右而已)后,又经过另一块485芯片,把485信号转为TTL信号,与zigbee模块相连(即射频模块+MCU),通过zigbee模块把单片机的数据无线发送到电脑上
我现在做测试出现以下问题:
每次电脑给我现在的模块发送数据请求时,模块都可以立刻返回数据给电脑。但如果我设置每隔十分钟发送的话,很快电脑就收不到模块返回来的数据了,但如果我设置每隔十秒钟发送一次请求的话,我开着测试一天一夜都没问题,这种情况很怪异啊,为什么每个十分钟请求一次数据就不行,反而每个十秒钟请求一次数据就可以?是不是哪里出现了睡眠状态了?
请高手指点,急啊··················在线等!!!!

如果是软件设置的10分钟,估计10分钟这部分有问题。
既然10s没问题,发送接收就不用再考虑了。
或者先不用485,直接用TTL连接zigbee,看看10分钟中可以不?先缩小范围。
如果TTL可以,那就是485问题。追问

你好,我试过用TTL直接接zigbee,十分钟还是会丢失,也就是不是485的问题,但照样是十秒种可以,十分种不行,是什么原因呢?

追答

那说明肯定在10分钟那里出的问题,就仔细看那段程序,有没有问题。
问题出来哪里?这个很难写结论,也看不到。
先分析流程,看看有没有问题?
再确认寄存器有没有问题?
然后仔细看代码?
特别是标志寄存器之类的。

参考技术A 查看射频模块的说明书 是不是有设置休眠模式的 只能怀疑这个方面的了 参考技术B 你用串口调试助手看看主机有没有接收到数据.追问

我现在在主机上就是用串口助手来调试的,就是用串口助手给我的模块发送数据请求的,如果我设置每隔十分钟发送的话,很快电脑就收不到模块返回来的数据了,但如果我设置每隔十秒钟发送一次请求的话,我开着测试一天一夜都没问题

追答

看看RS485的状态,有没有进入省电模式,有些芯片是需要唤醒的.

参考技术C 我们不直接使用50CM线,接TTL和zigbee模块?
这样试一下看有什么效果变化没?
要不就不加zigbee模块了,加232芯片让电脑串口去读
参考技术D 485是有方向的,看一下芯片的工作状态是收?还是发?

采用ADM2483磁隔离器让RS485接口更简单更安全

采用ADM2483磁隔离器让RS485接口更简单更安全

摘要:本文介绍RS485的特点及应用,指出了普通RS485接口易损坏的问题,针对存在的问题介绍了以ADM2483为核心的磁隔离解决方案。

关键词:RS485 、磁隔离、ADM2483 

    智能仪器仪表是随着单片机技术的成熟而发展起来的,联网通信的功能是最基本的要求。开始使用的通信接口是RS232接口,RS232接口出现的较早,此接口存在一些问题,比如接口的信号电平值较高,易损坏接口电路的芯片,共地传输模式容易产生共模干扰,抗噪声干扰性弱,传输速率较低,传输距离近,只能进行点对点的通信。随后出现的RS485接口解决了这个问题。

RS485接口的特点如下:

1. RS-485的电气特性:接口的信号电平值低,采用差分信号。

2. RS-485的数据最高传输速率为10Mbps。

3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。

4. RS-485传输距离远,最大的传输距离约为1200多米。

5.RS-485总线一般最大支持32个节点,可以实现总线通信。如果使用特制的485芯片如ADM2483,可以支持到256个节点。

    RS-485总线标准是使用最广泛的物理层总线设计标准之一,其在工业和仪器仪表中应用的非常广泛。RS-485的应用主要在过程控制网络、工业自动化、远程终端、楼宇自动化电机控制和运动控制等领域。

在这些实际的系统中,RS-485提供多个系统之间的差分数据传输,这些系统通常相距很远,而且节点较多,一个节点出现问题会影响整个总线上的其它设备。雷击、电源波动、感应开关和静电放电会通过产生较大瞬变电压和浪涌电流对通信端口造成损害。设计人员必须确保设备不仅能在理想条件下工作,而且能够在实际可能遇到的恶劣环境下正常工作。为了确保这些设计能够在电气条件恶劣的环境下工作,必须对接口进行保护。

    图一是传统未加任何保护的电路,SP3485是一款常用的RS485接口芯片,完成RS485差分信号和TTL电平之间的转换,RS485是半双工的工作模式,MCU通过控制RE和DE管脚来进行发送和接收数据模式的转换。当接口有较大瞬变电压和浪涌电流时,很容易造成接口芯片的损坏,更严重的是导致主芯片、电源和电路板等要器件不可修复的损坏,甚至导致整个总线上其它设备的损坏。接口没有做保护的设备,质量很难得到保障,还增加了维护的成本。

                           

                 技术分享图片
                                                    图一

                  

     图二是晶圆电子提供设计的以ADM2483为核心的单芯片解决方案。下面对方案进行一下介绍:

     首先在输入前级,用陶瓷放电管、功率电阻和TVS 组成的初级防护电路。TVS管或称瞬变电压抑制二极管是在稳压管工艺基础上发展起来的一种新产品当TVS管两端经受瞬间的高能量冲击时,它能以极高的速度使其阻抗骤然降低,同时吸收大电流,将其两端间的电压箝位在一个预定的数值上,对后级电路产生一定的保护作用。

 

技术分享图片
                                                                        ADM2483                     

                                                 图二

     但输入前级的保护是非常有限的,核心RS485的保护还得依靠ADM2483。ADM2483除了能够完成差分信号和TTL电平之间的转换,其主要功能是像一道门,将瞬变电压、浪涌电流和ESD挡在了外面,以保证后端电路的安全。加上DC/DC电压隔离模块,做到电源和地端的完全隔离。

    ADM2483能保证隔离的高效可靠与其特性和优势是分不开的。ADM2483内部集成了三通道的数字隔离器、带三态输出的差分驱动器和一个带三态输入的RS485差分接收器,节点数可允许多达256个,最高传输速率可达500Kb,超低功耗工作,最大值工作电流2.5 mA,隔离电压为2500Vrms,共模抑制比大于25KV/u。是一种基于芯片尺寸的变压器隔离技术,它采用了高速CMOS工艺和芯片级的变压器技术。所以,在性能、功耗、体积等各方面都有传统光电隔离器件无法比拟的优势。由于磁隔离在设计上取消了光电耦合器中影响效率的光电转换环节,因此它的功耗仅为光电耦合器的1/6--1/10具有比光电耦合器更高的数据传输速率、时序精度和瞬态共模抑制能力。同时也消除了光电耦合中不稳定的电流传输率,非线性传输,温度和使用寿命等方面的问题。ADM2483 具有热关断功能,可防止温度过高时芯片因电源的过度损耗而毁坏。具有真正的失效保护功能即当接收器输入为开路、短路、或空闲时失效保护功能可使接收器的输出逻辑变成高电平。

    实践证明采用此方案后,经过前级电路对浪涌电流和瞬间电压限制和后级ADM2483的隔离,RS485接口得到了安全可靠的保护,产品质量得到全国大量用户的高度认可。



以上是关于单片机RS485通信问题的主要内容,如果未能解决你的问题,请参考以下文章

基于单片机RS485多机通信液晶控制系统设计-设计资料

怎样具体实现 三菱PLC 通过 485接口 与电脑的通信?越详细越好,谢谢

怎样使用TTL转485的模块连接两个51单片机,进行通信?

单片机芯片上的引脚的Rx与Tx端是通信的端口,请问这个口是RS232口吗?

两个单片机串口之间通信加120电阻有啥作用?求教

采用ADM2483磁隔离器让RS485接口更简单更安全