20625|8

337

帖子

0

TA的资源

裸片初长成(中级)

楼主
 

请各位版主,热心人等来看看!RS485掉线等故障! [复制链接]

【系统功能】 主要是用来做一个老化设备。工人只需要将被老化的设备插上,而节省了复杂的接线过程。 PC机用来记录老化数据。 LPC2131和LPC922通信用来收集各个LPC922通过AD获得的信息,然后转发给PC机。 【系统构成】 系统为三级结构。 第一层是PC机。 第二层是LPC2131,最多有16个2131和PC同时通过RS485连接。 第三层是LPC922,最多有16个LPC922和一个LPC2131通信,也是RS485连接。 RS485的速度均为9600波特率。 也就是说,最终一台PC一个串口可以同时获取16*16=256个LPC922内的信息。 RS485转换芯片均为75176。 PC机和LPC2131目前连线不超过2米,目前一台PC仅和一个LPC2131通信,其他的LPC2131还未同时接上。 LPC2131和LPC922通信线是在电路板上,我们做了一个很大的电路板,RS485通信总线分两排从电路板上穿 过。在其中一端接上,形成一个右框形。 16个LPC922分布在总线旁边。LPC922由以下几个模块组成: 电源+AD+DA+RS485。 LPC2131由以下几个模块组成: 电源+UART0+UART1。 整个电路板的电源通过一个220转0-30V,5A的开关电源提供24V输入。该开关电源型号是APR-3005。 每个模块上使用一个MC34063将该24V降压到9.5V,然后经过LM7805降压到5V给模块供电。 LPC922和LPC2131的3.3V是经过LDO将5V降压到3.3V。使用的芯片是NCP500SN33。 各个不同电源之间的GND均通过跳线焊接。 之所以这样设计,是因为DA输出需要配电24V输出。而LM7805用24V输入发热太大。 RS485电路TTL电平侧均没有设计隔离。不过由于LPC922和LPC2131均为3.3V供电的系统。 而RS485为5V供电。 差分侧有A+上拉到VCC+5V,B-下拉到GND设计。 RS485芯片的发送端DE有下拉设计。 RS485的5V系统的GND和3.3V系统的GND通过一个0Ω的电阻连接。 【当前问题】 16台LPC922同时和LPC2131通信的时候。正常通信2-3小时没有任何问题。 2-3小时候过后,随机出现16台LPC922中间任意一台掉线的现象。 LPC922采用独立的RX,TX中断入口。 【已经测试过的方案】 1、怀疑LPC922长时间通信后死机。 增加程序运行指示灯控制。如果程序正常运行,则不停的闪烁。 测试发现,当模块LPC922掉线以后,他的程序运行指示灯闪烁正常。 2、怀疑RS485芯片失效。 当模块掉线以后,使用示波器观察RS485芯片的RXD引脚,有正常的数据波形。 3、由于RS485是一个半双工通信。怀疑是否在发送状态和接收状态的切换中出现问题,导致一直处于发送状 态,所以即使有RXD信号,也不进入中断读取信息。 增加发送状态和接收状态的强制切换,如果发送状态持续超过3S,则强制切换到接收状态。 测试结果表明,增加这样的处理依然存在掉线的情况。同时掉线后用示波器检查RS485发送使能引脚, 该引脚已经是高电平,可以从某种程度上证明,已经除以接收状态了。 4、增加串口接收中断指示灯。只要是串口有中断,则将对应的指示灯取反操作。 测试表明,当模块掉线以后,串口接收指示灯不再闪烁。 而此时程序运行灯闪烁正常。 所以,怀疑此时是否出现这样的状况,LPC922主程序运行没有死机,而串口部分死机不再通信? 5、为了进一步的检测是否4的结论成立,开启了LPC922的内部看门狗。测试表明,掉线后不能重新 回来,也可以从某种程度上证明,内部看门狗没有产生复位动作。 因为当模块掉线以后,如果我用镊子将LPC922的复位引脚碰一下GND,让LPC922复位的话,LPC922 是可以重新通信的。 6、为了检测总线上是否存在误码传输,在通信协议内的校验检查部分增加了一个指示灯控制。 如果校验码不正确,则控制一个指示灯取反。 测试表明,运行一段时间以后,误码开始发生。但误码也不是很频繁。结论是存在误码。 【曾经有效的改进过程】 最开始,掉线很频繁的发生。因为最开始的时候,各个电源模块之间的GND不是通过跳线焊接起来的。 是通过磁珠将各个电源之间的GND连起来的。经过更换成跳线连接后,掉线一度不再发生。让我以为问题 已经找到。可是经过细致的测试,发现运行2-3小时后还是会随即的发生16个模块中某一个掉线的情况。 【求助部分】 请各位分析原因所在。 1、程序原因? 2、硬件原因?电源、RS485总线设计? 3、芯片原因?LPC922、75176? 请各位网友来一下头脑风暴,说出各位的见解! 提出解决方案,最好给出一点解释!好让大家心里有底。 谢谢!
此帖出自单片机论坛

最新回复

真有钱,还用16个LPC2131,一个LPC2131都不用就能达到256个或更多,就一台PC加485转接头就可以直接挂PC922了  详情 回复 发表于 2007-8-30 11:26
点赞 关注
 

回复
举报

2787

帖子

23

TA的资源

至上芯片

沙发
 

回复:请各位版主,热心人等来看看!RS485掉线等故障!

俺不知道的。。。^_^帮你顶下吧
此帖出自单片机论坛
 
个人签名我追求崇本务实,我追求完美第一!我选择低调做人,我选择高调做事!
 

回复

242

帖子

0

TA的资源

纯净的硅(高级)

板凳
 

回复:请各位版主,热心人等来看看!RS485掉线等故障!

可能是接收中断的问题,在运行过程中,看看串口中断允许相关的标志是不是发生了变化。 还有看看总线阻抗的匹配问题。
此帖出自单片机论坛
 
 
 

回复

175

帖子

0

TA的资源

裸片初长成(初级)

4
 

回复:请各位版主,热心人等来看看!RS485掉线等故障!

既然是2-3个小时才出现问题,说明不是程序本身的问题。 可能性 一是容性的东西出问题了。 二可能是温度升高带来的硬件或软件运行不稳定等因素。
此帖出自单片机论坛
 
个人签名谁想我?我想谁?
 
 

回复

191

帖子

0

TA的资源

裸片初长成(中级)

5
 

回复:请各位版主,热心人等来看看!RS485掉线等故障!

解决不了,没接触过! 帮顶一下
此帖出自单片机论坛
 
个人签名走在电子爱好的路上!!!
 
 

回复

1170

帖子

0

TA的资源

至上芯片

6
 

回复:请各位版主,热心人等来看看!RS485掉线等故障!

怀疑是你的LPC922的串口设置参数被改或从机地址被改,建议过一段时间初试化一下串口或从机地址看问题是否解决 3、由于RS485是一个半双工通信。怀疑是否在发送状态和接收状态的切换中出现问题,导致一直处于发送状态,所以即使有RXD信号,也不进入中断读取信息 这个理解有误,485是半双工的,但是你的LPC922是全双工的吧,只要RXD送正常的串行数据它就接收并产生中断,并且485在发送状态时,RXD是没有数据的,同理处于发送状态是即使TXD上有数据也发不出去,因为内部有切换电路 总线上有误码是正常的,没有一点误码反倒不正常了,但是只要误码过后有正常的码,你的机器就应该能接收,既然别的机器能正常接收说明线路通讯还是基本正常的。
此帖出自单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

7
 

回复:请各位版主,热心人等来看看!RS485掉线等故障!

真有钱,还用16个LPC2131,一个LPC2131都不用就能达到256个或更多,就一台PC加485转接头就可以直接挂PC922了
此帖出自单片机论坛
 
 
 

回复

337

帖子

0

TA的资源

裸片初长成(中级)

8
 

回复:请各位版主,热心人等来看看!RS485掉线等故障!

这个理解有误,485是半双工的,但是你的LPC922是全双工的吧,只要RXD送正常的串行数据它就接收并产生中断,并且485在发送状态时,RXD是没有数据的,同理处于发送状态是即使TXD上有数据也发不出去,因为内部有切换电路 这里没有看明白!? RS485的发送接收切换控制就是通过DE,RE控制的。而DE,RE是我的单片机控制的。 让单片机处于半双工的状态。只会让系统更加可靠,而不回导致发生无法收到数据的情况吧。 从机地址被改,也不会让LPC922不进入中断的。因为无论是发给哪个从机的数据,每个从机都需要接收,然后通过解码判断是否发送给自己的数据。如果是发送给自己的数据,则回复,不是则返回接收状态。 串口参数被改,这个可能性也许存在,下一步做做这个试验。
此帖出自单片机论坛
 
 
 

回复

337

帖子

0

TA的资源

裸片初长成(中级)

9
 

回复:请各位版主,热心人等来看看!RS485掉线等故障!

不认为RS485总线上能够挂256个节点以上。 事实上,挂32个节点都很难。 而我们的这个系统是希望能够挂足够多的LPC922。 我们的LPC922是用来老化其他设备的。 要保证每天的老化量满足要求。 所以就做了一个中继!
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表