java怎么拦截某个对象
572
2022-11-08
基于隔离型RS422芯片MAX1490AEPG实现高可靠性RS422通信接口的设计
1 引言
2 RS422 标准及分布式监测系统介绍
RS422是一种在工程中广泛使用的接口标准,它采用差分传输方式,也称为“平衡传输”,标准全称是“平衡电压数字接口电路的电气特性”。可见RS422定义的是接口电路的电气特 性,而对数据格式没有做定义。RS422是全双工通信,通信的双方均含有一个发送驱动器和 接收驱动器。其中接收驱动器的两个平衡线连接端点定义为A和B,发送驱动器的两个平衡线 连接端点定义为Y和Z,一般使用平衡双绞线将一端的Y和A、Z和B连接起来。通常情况下,发 送驱动器端Y、Z之间的正电平在+2~+6V,代表正逻辑,负电平在-6~-2V,代表负逻辑。在 接收端,当A、B之间有大于+200mV 的电平时,输出正逻辑电平,小于-200mV 时,输出负逻 辑电平。RS422最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其中平衡双 绞线的长度与传输速率成反比,在100Kb/s速率下,才能达到最大传输距离。只有在很短的 距离下才能获得最高速率传输。一般100米长的双绞线能获得的最大传输速率为1Mb/s。
图2 MAX1490A 硬件电路图
4 通讯接口的软件实现
RS422标准只对接口的电气特性做出规定而不涉及协议,因此我们可以定义自己的高层 通信协议。在本设计方案中,传感器节点和接入节点在底层以字节为单位通信,采用ASCII 协议,数据长度为11位:1位起始位+8位数据+1位偶校验+1位停止位。在上层协议中采用数 据包为单位通信。通信协议中使用了三种通信数据包:数据包、命令包和应答包。其中数据 包定义为:长度为100个字节,前面98个字节为数据字节,后面2个字节为校验字节,校验字 节为前98个字节以每2个为一组进行异或所得值;命令包定义为:长度为10个字节,第1个字 节固定为0X02,代表这个数据包为命令包,第2个字节为命令类型标志字节,用来表明命令 的类型,如请求发送数据命令、请求发送状态命令等。第2到第7字节为保留字节,暂时没有 定义,固定为0,可以留待以后扩充功能。最后两个字节为校验字节,校验字节为前8个字节 以每2个为一组进行异或所得值;应答包定义为:长度为10个字节,第1个字节固定为0X01, 表明这个数据包为应答包,第2字节为接收是否正常标志字节,为0X01代表正常,0X00代表 不正常。第3字节为接入节点和服务器通信故障是否错误标志字节,值0X01代表正常,0X00 代表故障。第3到第7字节为保留字节,暂时没有定义,固定为0,留待以后扩充功能。最后 两个字节为校验字节,校验字节为前8个字节以每2个为一组进行异或所得值。每种数据包均 引入字节偶校验和帧校验,这样可以有效得检测到通信中的数据错误。
本系统中,传感器节点和接入节点可双向通信,考虑到实际情况下主要是传感器节点通过RS422接口向接入节点发送大量的数据,而接入节点主要向传感器节点发送少量的状态和命令,协议中设计了两种通信模式。
通信模式A:接入节点主动发起通信,接入节点首先主动发送一个请求传感器节点发送 数据的命令包给传感器节点,传感器节点收到此命令包后发送一个数据包给接入节点,完成一次通信,接入节点负责无应答错误和数据错误的检查。此模式下接入节点端程序流程图如图3左图所示,传感器节点端接收流程图如图3右图所示。
图3:模式A接入节点端程序流程图(左)与传感器节点端流程图(右)
通信模式B:传感器节点主动发起通信,传感器节点首先发出数据包给接入节点,接入节点收到数据包后发送一个应答包,传感器节点收到应答包后完成一次通信,无应答错误和数据错误的检查由传感器节点负责。此模式下传感器节点端程序流程图如图4左图所示,接入端接收流程图如图4右图所示。
图4:模式B接入节点端程序流程图(左)与传感器节点端流程图(右)
正常情况下,接入节点与传感器节点均处于接收状态。当接入节点主动发起通信时进入 通信模式A,当传感器节点主动发起通信时进入通信模式B。
5 总结
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~