EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
双机热备单片机系统内部通信接口的简化设计
, ]# `6 g* A+ M$ J5 G8 D0 Z% i1 z! ^( M+ @& J" ?
摘 要 分析了工业测控系统中双机热备单片机系统内部通信的特点,以简化设计、降低成本、降低系统复杂度为目标,给出了内部通信接口的两种设计方案。 , H0 r+ g( q# F# \
关键词 测控系统 双机热备份 单片机系统 通信
( h9 s T( F: ]7 n9 B+ X
# P @4 K( R; N- ?+ `单片机以其高可靠性和高性价比在工业控制、数据采集系统、智能化仪表、办公自动化等诸多领域得到极为广泛的应用。在测控系统中,有时对单片机系统的可靠性有非常严格的要求。除了在系统设计、生产中采用多种措施以提高其可靠性之外,双机热备份是一种非常有效且经常被采用的方法。在双机热备份系统中,两个单片机必须保持工作状态的完全一致,需要随时进行数据交换。通常可以使用多单片机信息共享技术来实现两个单片机的数据交换,如信箱存储系统、共享存储器等,但这些方法实现复杂,硬件成本高1。大多数单片机都提供通用串行收发器(UART),在单片机系统不与其他设备(如上位机)进行通信的情况下,使用UART是非常方便的,但不幸的是绝大多数情况下UART已被使用。当然也可以扩展串行和并行通信接口,但硬件成本又会增加。因此,在满足系统性能的条件下,充分利用单片机本身的资源,最大程度地简化内部通信的接口设计非常值得研究。在单片机家族的众多成员中,MCS-51单片机以其优越的性能、成熟的技术、高可靠性和高性价比,在工业测控领域中有着广泛应用,本文即以MCS-51单片机为例给出两种双机通信的简化接口设计。
# p4 ]$ }9 r" e0 D1 H0 H" E' h' P
! ~0 \4 | ~0 _2 X: `& h0 |: ~2 {1 通过单片机的P0口进行内部通信 这种通信接口可以在只使用一片74LS245的情况下获得较高的传输速率。图1给出了这种接口的简单示意图。总线收发器74LS245接在两个单片机的P0口之间,作为内部数据传输的通道。P0口既是分时的地址/数据总线,又可作为I/O口使用。由于P0口为开路输出,作为I/O口应用时应加上拉电阻,为了简洁,图1中未画。总线收发器的使能端和方向控制端DIR均受逻辑控制单元控制。逻辑控制单元的输入是P1口的三根口线,和指示单片机运行情况的两个信号U1ERR和U2ERR。为方便起见,先将逻辑控制单元的逻辑方程写出。 U2P12=U1P11U1ERR
7 D/ P& E+ K' P, l4 z/ o+ ]7 m/ KU1P12=U2P11U2ERR
! X8 W! w5 L7 ^: TE=(U1P13+U2P13)U1ERR U2ERR
3 ?* @( }+ K/ x+ d8 K( mDIR=U1P13 U2P13 U1ERR和U2ERR指示单片机的运行状态,通常反映ALE信号的有无。这里约定U1ERR和U2ERR为0时表示单片机正常运行(即有ALE信号)。U1P12、U1P11、U2P12、U2P11用来进行单片机之间的联络,约定高电平有效。任一单片机发生故障,则其P1.1的信号无法传到另一单片机的P1.2端。DIR受两个单片机的P1.3控制,决定数据是由单片机1送往单片机2还是由单片机2送往单片机1。也受两个单片机的P1.3控制,但同时受U1ERR和U2ERR控制,任一单片机发生故障,则为174LS245被关闭。 ) O3 }3 S/ M# b5 a: h. H! l- {
8 @$ e; b; D8 ^3 X' I: s- A$ I
|