双机热备单片机系统内部通信接口的简化设计
时间:06-24
来源:互联网
点击:
2.1 工作原理
两个单片机与其他设备的通信通过RS-485收发器SN75174进行,图3中U1ERR和U2ERR的含义同图2。IT1、IT2是内部通信联络信号,TE1、RE1分别是单片机1控制外部RS-485通信的发送和接收信号,TE2、RE2与此类似,皆使用P3口的I/O口线。其内部通信接口由一片GAL16V8实现。GAL16V8完成以下功能:
①为两个单片机提供三态的内部通信接口,当其中一个单片机出现故障时即阻塞内部通信接口;
②为两个单片机提供联络信号,当其中之一要求进行通信时,及时通知另一个单片机;
③对两个单片机的对外通信接口进行控制,内部通信时将单片机与RS-485总线隔离。
为叙述方便,现将GAL的逻辑方程中与此相关的部分以FAST-MAP的格式给出:
RXD1=TXD2
RXD1.OE=IT1 IT2
RXD2=TXD1
RXD2.OE=IT1 IT2
IT1=/TE2 RE2 /U2ERR
IT2=TE1 RE1 /U1ERR
TE10=TE1 /U1ERR
TE20=TE2 /U2ERR
假设单片机1发起与单片机2的内部通信?其工作过程如下?
①单片机1禁止对外数据收发。即使得TE1为低电平?RE1为高电平,从而使得IT2为高电平,向单片机2提出内部通信请求;
②单片机2在检测到单片机1的内部通信请求后,禁止对外数据收发,使得TE2为低电平?RE2为高电平,从而使得IT1为高电平,响应单片机1的内部通信请求,这时,两个单片机的串行数据收发通过GAL互连,内部通信接口打开;
③单片机1在检测到IT1为高电平后,通过串行口发送数据;
④通信完成后,两个单片机打开对外的数据收或数据发,从而使得内部通信接口处于高阻状态。
从上述方程和通信过程可以看出,内部通信和外部通信是分时进行的,且互相隔离,互不干扰。当一个单片机出现故障后,由于使用了U1ERR和U2ERR信号,相应的内部通信联络信号总是无效的,对外数据发信号也是无效的,从而使得内部通信接口总是处于高阻状态,且不会发送数据到RS-485总线。因此不会影响另一个单片机的对外通信和与故障单片机相连的RS-485总线。
2.2 接口电路说明
可编程逻辑器件在单片机系统中的应用是系统设计的发展方向,本文以GAL为例介绍接口的设计,但只要能完成上述的逻辑功能,也可以使用其他器件。而且,单片机与其他设备的通信也不一定是RS-485通信,但电路的设计与此类似。这类接口电路都需解决的问题是?
①内部通信应在单片机与其他设备通信的间隙进行,避免数据丢失;
②内部通信与外部通信的信号应良好隔离,防止相互干扰;
③当一个单片机出现故障时,应当自动与另一个单片机隔离,防止通过内部通信接口影响另一个单片机的对外通信。
上述第一个问题可以根据通信协议由软件解决,后两个问题由硬件电路解决。
本文给出了内部通信接口的两种简化设计方案,同时给出了电路实例。设计中GAL不是专为接口电路而设的,可以与其他逻辑功能合并使用。两种通信接口在笔者设计的多个单片机系统中得到了应用,实际应用证明达到了简化设计、降低成本、降低系统复杂度的目标,具有一定的实用价值。
单片机 自动化 收发器 51单片机 总线 电阻 电路 相关文章:
- USB接口芯片的原理及应用 (04-15)
- 基于GPRS的远程心电实时监护终端(02-10)
- 基于AVR单片机的嵌入式“瘦服务器”系统设计思想(03-11)
- 利用C8051F020的SPI接口扩展大容量数据存储器(04-10)
- 基于GPRS的油烟远程无线监控系统设计(04-17)
- 基于Microchip单片机的网络收音机方案(04-27)