开发工具:
文件大小: 164kb
下载次数: 0
上传时间: 2019-10-12
详细说明:提高RS485传输可靠性措施pdf,提高RS485传输可靠性措施3软件的编程
SN75LBC184在接收方式时,A、B为输入,R为输出;在发送方式时,D为输入,A、B为输出。当传送方向
改变一次后,如果输入未变化,则此时输岀为随机状态,直至输入状态变化一次,输岀状态才确定。显然,在由
发送方式转入接收方式后,如果A、B状态变化前,R为低电平,在第个数据起始位时,R仍为低电平,CHPU认
为此时无起始位,直到岀现第一个下降沿,CPU才开始接收第一个数据,这将导致接收错误。由接收方式转入发
送方式后,D变化前,若A与B之间为低电压,发送第一个数据起始位时,A与B之间仍为低电压,A、B引脚无
起始位,同样会导致发送错误。克服这种后果的方案是:主机连续发送两个同步字,同步字要包含多次边沿变化
(如55H,0AAH,并发送两次(第一次可能接收错误而忽略),按收端收到同步字后,就可以传送数据了,从而
保证正确通信
为了更可靠地工作,在RS485总线状态切换时需要适当延时,再进行数据的收发。具体的做法是在数据发送
状态下,先将控制端置“1”,延时0.5ms左右的时间,再发送有效的数据,数据发送结束后,再延时0.5ms
将控制端置“0”。这样的处理会使总线在状态切换时,有一个稳定的工作过程。数据通信程序基本流程图如图
2所示
关中断,保护现场
等待接收完数据
读SBUF
判斷数据正确?
应答错误,
应答正确,发送数据
恢复现场,开中断
图2数据通信程序基木流程图
单片机通信节点的程序基本上可以分为6个主要部分,分别为预定义部分、初始化部分、主程序部分、设备
状态检测部分、帧接收部分和帧发送部分。预定义部分主要定义了通信中使用的握手信号,用」保存设备信息的
缓冲区和保存夲节点设备号的变量。设备状态检测部分应能在稈序初始化后,当硬件发生故障时,作出相应的反
应。主程序部分应能接收命令帧,并根据命令的内容作岀相应的回应。为缩短鹴幅,这里仅给岀主程序部分的代
码。如下所小:
/主程序流程
whilc(1)i
/主循环
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);//发送状态信息
default
brcak
//命令类型错误,天弃当前帧后返回
4结论
RS485由于使用了差分电平传输信号,传输距离比RS232更长,最多可以达到3000m,因此很适合工业环
境下的应用。但与CAN总线等更为先进的现场工业总线相比,其处理错误的能力还稍显逊色,所以在软件部分还
需要进行特別的设计,以避免数据错误等情況发生。另外,系统的数据冗余量较大,对于速度要求高的应用场所
不适宜用RS-485总线。虽然Rs-485总线在些缺点,但由于它的线路设计简单、价格低廉、控制方便,只要
处理好细节,在某些工程应用中仍然能发挥良好的作用。
总之,解决可靠性的关键在于工程开始旌工前就要全盘考虑可采取的措施,这样才能从根本上解决问题,而
不要等到⊥程后期再去亡羊补牢
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.