OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » RS485硬件电路设计中需注意的问题

共4条 1/1 1 跳转至

RS485硬件电路设计中需注意的问题

助工
2019-05-07 19:54:15    评分
1 问题的提出在工业控制及测量领域较为常用的网络之一就是物理层采用RS-485通信接口所组成的工控设备网络。这种通信接口可以十分方便地将许多设备组成一个控制网络。从目前解决单片机之间中长距离通信的诸多方案分析来看,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障,因此提高RS-485总线运行可靠性至关重要。2 硬件电路设计中需注意的问题(隔离完整原理图)


   图2数据通信程序基本流程图

1.jpg



  单片机通信节点的程序基本上可以分为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总线存在一些缺点,但由于它的线路设计简单、价格低廉、控制方便,只要处理好细节,在某些工程应用中仍然能发挥良好的作用。总之,解决可靠性的关键在于工程开始施工前就要全盘考虑可采取的措施,这样才能从根本上解决问题,而不要等到工程后期再去亡羊补牢。





关键词: RS485    

菜鸟
2019-05-07 19:55:10    评分
2楼

“对于速度要求高的应用场所不适宜用RS-485总线”? 我想說的是,我上一家做 7 軸機械臂的公司就是因爲 CAN 太慢不夠用才用的 RS485. 


专家
2019-05-08 08:51:56    评分
3楼

学习学习


菜鸟
2019-05-08 09:28:51    评分
4楼

好东西,感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]