新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机多机通信网络改进及数据通信容错技术

单片机多机通信网络改进及数据通信容错技术

作者: 时间:2012-10-16 来源:网络 收藏

半双工通信:采用一对平衡差分信号线,R 为TTL/CMOS 接收端;RE 为其使能端,低电平有效. D 为TTL/CMOS 的发送端,DE为其使能端,高电平有效. A 、B 为一对平衡线,RS485 通过它来接收和发送信号. 每个端口的RS485 收发器的接收使能端接低电平,保证端RS485 总线上的数据都能通过RS485 的接收驱动器,送到每个终端的微处理器的串行输入口;RS485 收发器的发送使能端由每个终端的并行口控制,每个终端在需要发送数据时,才使发送使能拉高,将数据通过RS485 的发送驱动器,送到RS485总线上,如图4 所示.
单片机多机通信网络改进及数据通信容错技术
图4  基于RS - 485 总线的多机通信原理图
 RS485 实现全双工通信:采用两对平衡差分信号线, R 为TTL/CMOS 接收端;RE为其使能端,低电平有效. D 为TTL/CMOS的发送端,DE 为其使能端,高电平有效. A 、B 为一对平衡线,RS485 通过它来接收和发送信号. 总线采用RS - 485 模式,用MAX88 完成收发功能. 如距离较远时,在中途进行接收并放大.电路如图5 所示.
单片机多机通信网络改进及数据通信容错技术
图5  基于RS - 485 总线的多机通信原理图
多机竞争总线的问题:在通信系统中,有多个同时要求通信时,就出现多主争用总线问题. 解决的方法:
1) 通信过程中,设有启始和结束标志符,如果通信正在进行,除正在通信的结点外,其它所有的结点置为从机状态;
2) 在测量总线是空状态之后,才允许请求通信的机器由从机状态升为主机状态;
3) 联络从机过程中,五次不成,就退出本次通信. 避免无效通信占用过长的时间,影响通信质量.

3  
在单片机组成的嵌入式控制系统中,利用单片机的串行口,可实现单机对单机的通信、或者实现一个主机与多台从机的通信,利用MODEN 实现远距离的信息传输. 基于RS485 总线可实现网络化自由通信. 但单片机多用在工业控制现场,其通信受到各种各样的干扰信号的干扰,由于单片机的内存及操作系统不允许装载复杂的通信容错程序. 针对单片机通信的特点,介绍一种简单可行的差错纠错的编码方法:
单片机串行通信以8 位数据或九位,一个启始位,一个停止位的通信模型. 通信数据量不会太大等特点. 采用混合纠错检错的方法. 首先采用Hamming(7 ,4) 模型编码. 即在7 位编码中,其中4 位是有效数据,3 位是冗余校验码. 设D3 D2 D1 D0 是4 位有效数据, P2 P1 P0 是3 位校验码,将D3 D2 D1 D0 分成三组, P2 , P1 , P0 分别是3 组的校验位, G2 G1 G0 为检错信息,当G2 G1 G0 = 000时,传送没有错. G2 G1 G0 的值就指明7 位编码中第i 位传错,对该位求反,即可完成纠错. (7 ,4) 校验码的格式,见表1 :
D3 D2 D1 P2 D0 P1 P0 . 7 位(7 ,4) D3 D2 D1 P2 D0 P1 P0 校验码分成三组:
第一组:检错信息G0 ,含有: D3 、D1 、D0 、P0 ,其中: P0 = D3⊕D1⊕D0 , G0 = P0⊕D3⊕D1⊕D0 .
第二组:检错信息G1 ,含有: D3 、D2 、D0 、P1 ,其中: P1 = D3⊕D2⊕D0 , G1 = P1⊕D3⊕D2⊕D0 .
第三组:检错信息G2 ,含有: D3 、D2 、D1 、P2 ,其中: P2 = D3⊕D2⊕D1 , G2 = P2⊕D3⊕D2⊕D1 .
 单片机在发送数据前,先按汉明编码格式,把要发送的数据变成汉明码,即8 位编码中,有4 位数据. 所以一个字节有效数据分成低4 位、高4 位,然后编成汉明码后,发送到缩机. 接收机收到数据后,对数据进行差错和纠错. 即首先计算出G2 G1 G0 检错信息字的值,由信息检错字知道那一位出错,对该位求反,即可完全纠错. 错位与信息字G2 G1 G0 的关系见表2.

表1
B7B6B5B4B3B2B1B0
D3D2D1P2D0P1P0

表2  纠错信息
G2 G1 G0出错位求反纠错
000正确
001P0-P0
010P1-P1
011 D0-D0
100P2-P2
101D1-D1
110D2-D2
111D3-D3

汉明校验码可以查出信息中的一位错,并能知道是那位错,可以纠正. 如果两位出错,仅靠汉明码不能进行差错和纠错. 利用第八位作为奇偶验位,可以查出两位错,但不能纠错.
对单片机通信结点进行改进,适合快速通信的RS - 485 网络技术. 并用汉明校验码使单片机具有容错功能,提高单片机通信数据传输速率,减少误码率. 使单片机有望成为各种网络的普通的网络结点.

单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理


数字通信相关文章:数字通信原理


通信相关文章:通信原理


双控开关相关文章:双控开关原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭