RS485硬件电路设计中需注意的问题
本帖最后由 山东电子小菜鸟 于 2018-10-9 19:30 编辑RS485硬件电路设计中需注意的问题1 问题的提出在工业控制及测量领域较为常用的网络之一就是物理层采用RS-485通信接口所组成的工控设备网络。这种通信接口可以十分方便地将许多设备组成一个控制网络。从目前解决单片机之间中长距离通信的诸多方案分析来看,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障,因此提高RS-485总线运行可靠性至关重要。2 硬件电路设计中需注意的问题(隔离完整原理图)**** Hidden Message *****
图2数据通信程序基本流程图
**** Hidden Message ***** 单片机通信节点的程序基本上可以分为6个主要部分,分别为预定义部分、初始化部分、主程序部分、设备状态检测部分、帧接收部分和帧发送部分。预定义部分主要定义了通信中使用的握手信号,用于保存设备信息的缓冲区和保存本节点设备号的变量。设备状态检测部分应能在程序初始化后,当硬件发生故障时,作出相应的反应。主程序部分应能接收命令帧,并根据命令的内容作出相应的回应。为缩短篇幅,这里仅给出主程序部分的代码。如下所示:
/*主程序流程*/
while(1){ //主循环
if(recv_cmd(&type)==0)//发生帧错误或帧地址与本机
//地址不符,丢弃当前帧后返回
continue;
switch(type){
case__ACTIVE_: //主机询问从机是否存在
send_data(__OK_, 0,dbuf);//发送应答信息
break;
case__GETDATA_:
len = strlen(dbuf);
send_data(__STATUS_, len,dbuf);//发送状态信息
break;
default:
break; //命令类型错误,丢弃当前帧后返回
}
}
4 结论
RS-485由于使用了差分电平传输信号,传输距离比RS-232更长,最多可以达到3000 m,因此很适合工业环境下的应用。但与CAN总线等更为先进的现场工业总线相比,其处理错误的能力还稍显逊色,所以在软件部分还需要进行特别的设计,以避免数据错误等情况发生。另外,系统的数据冗余量较大,对于速度要求高的应用场所不适宜用RS-485总线。虽然RS-485总线存在一些缺点,但由于它的线路设计简单、价格低廉、控制方便,只要处理好细节,在某些工程应用中仍然能发挥良好的作用。总之,解决可靠性的关键在于工程开始施工前就要全盘考虑可采取的措施,这样才能从根本上解决问题,而不要等到工程后期再去亡羊补牢。 看看 mark
正想学习485方面的知识 谢谢!!!!!!!!!!!!
学习! {:smile:} 注意什么 你SM712都没接对,51我们先不说,就拿你这个485电路,拿到现场,节点一多包死机,给学生开发板还可以玩几下。也没有交流高压防护。 学习一下 574997859 发表于 2018-1-30 17:39
你SM712都没接对,51我们先不说,就拿你这个485电路,拿到现场,节点一多包死机,给学生开发板还可以玩几下 ...
感谢您的回复,您把您的完美的电路图发出来 让大家都学习下,就更加完美了 看看先 574997859 发表于 2018-1-30 17:39
你SM712都没接对,51我们先不说,就拿你这个485电路,拿到现场,节点一多包死机,给学生开发板还可以玩几下 ...
以你之见应该怎么接? 回复查看,学习学习! 六画玄辉 发表于 2018-1-31 09:06
以你之见应该怎么接?
这个百度一下一大堆。 山东电子小菜鸟 发表于 2018-1-31 08:41
感谢您的回复,您把您的完美的电路图发出来 让大家都学习下,就更加完美了 ...
SM712改为大功率的TVS,AB之间,AB各自对地都要接,共三个TVS。同时对外串联小功率PPTC,当你接入交流电时,TVS吸收电流,电流增大,导致PPTC断开。一般情况下,TVS也能够抑制你总线上的瞬态电压。 谢谢分享 看看先~~~
正想学习485方面的知识 会不会让我失望啊