EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
双机热备单片机系统内部通信接口的简化设计
% D1 y) Z* P% S+ A+ }1 q
0 q! [9 C& w: y: ~! d摘 要 分析了工业测控系统中双机热备单片机系统内部通信的特点,以简化设计、降低成本、降低系统复杂度为目标,给出了内部通信接口的两种设计方案。 : \9 j' _3 ~6 l" Z0 O% U
关键词 测控系统 双机热备份 单片机系统 通信
# N- \# X3 C a0 F4 q0 e
6 `+ g1 r6 O1 I$ A& e5 b: T3 F1 {! V1 L单片机以其高可靠性和高性价比在工业控制、数据采集系统、智能化仪表、办公自动化等诸多领域得到极为广泛的应用。在测控系统中,有时对单片机系统的可靠性有非常严格的要求。除了在系统设计、生产中采用多种措施以提高其可靠性之外,双机热备份是一种非常有效且经常被采用的方法。在双机热备份系统中,两个单片机必须保持工作状态的完全一致,需要随时进行数据交换。通常可以使用多单片机信息共享技术来实现两个单片机的数据交换,如信箱存储系统、共享存储器等,但这些方法实现复杂,硬件成本高1。大多数单片机都提供通用串行收发器(UART),在单片机系统不与其他设备(如上位机)进行通信的情况下,使用UART是非常方便的,但不幸的是绝大多数情况下UART已被使用。当然也可以扩展串行和并行通信接口,但硬件成本又会增加。因此,在满足系统性能的条件下,充分利用单片机本身的资源,最大程度地简化内部通信的接口设计非常值得研究。在单片机家族的众多成员中,MCS-51单片机以其优越的性能、成熟的技术、高可靠性和高性价比,在工业测控领域中有着广泛应用,本文即以MCS-51单片机为例给出两种双机通信的简化接口设计。
9 n6 i: |& e, @: f( z. O/ ?6 R& \ ( e4 M! m9 K" w
1 通过单片机的P0口进行内部通信 这种通信接口可以在只使用一片74LS245的情况下获得较高的传输速率。图1给出了这种接口的简单示意图。总线收发器74LS245接在两个单片机的P0口之间,作为内部数据传输的通道。P0口既是分时的地址/数据总线,又可作为I/O口使用。由于P0口为开路输出,作为I/O口应用时应加上拉电阻,为了简洁,图1中未画。总线收发器的使能端和方向控制端DIR均受逻辑控制单元控制。逻辑控制单元的输入是P1口的三根口线,和指示单片机运行情况的两个信号U1ERR和U2ERR。为方便起见,先将逻辑控制单元的逻辑方程写出。 U2P12=U1P11U1ERR
0 ]9 N7 R& L. E5 p$ v8 bU1P12=U2P11U2ERR6 p' }5 E& [. z5 m
E=(U1P13+U2P13)U1ERR U2ERR
% v& }+ u! ~8 w: F. s- qDIR=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被关闭。 : b: E- m3 U$ Z8 G1 W+ d, C# r
0 {/ X) ? x9 d) @' } |