×
单片机 > 单片机程序设计 > 详情

多单片机处理系统并行通信分析

发布时间:2020-06-18 发布时间:
|

  对于系统较大,实时性强,功能多,存储量大,扩展能力要求强的工业控制系统,可采用多个单片机,组成一个多微处理器系统,使之具有并行处理功能。并行工作的各微处理器之间的信息交换,可采用串行通信方式,亦可用并行通信方式。但对于实时性强,并且信息交换量大的系统,只有采用并行通信方式,才能满足系统功能的要求。本节就实际应用的一些体会,着重介绍模块式结构的多单片机通信。

一、通用并行接口8255A简介
  
  Intel 8255A是一种通用并行接口电路,可用编程的方法选择其逻辑功能。该芯片可以和51系列单片机直接接口。8255A有3个8位的并行口:口A、口B和口C。有3种工作方式可供选择:方式0为基本输入/输出方式;方式1为选通输入/输出方式;方式2为双向选通输入/输出方式(仅适用于口A)。
  
  51系列单片机8031组成的多单片机处理系统之间的并行通信,就是采用8255A的口A的工作方式2实现的。
  
  1. 8255A工作方式2的主要功能
  
  ①口A为一个8位的双向总线端口,且具有I/O功能。
  
  ②口B为一个8位的输入/输出口,口B0~2为一个3位的输入/输出口,可工作于方式O或方式1。
  
  ③口C为一个5位的控制端口。
  
  控制口功能如下:
  
  ●INTR( PC3)  中断请求信号线,高电平有效。
  
  ●OBF的反相(PC7)输出缓冲器满/空状态标志线。OBF=O,表示CPU已将数据写入端口,
  
  输出口数据有效;当数据被外设取走后,OBF=1。
  
  ●IBF(PCs)输入寄存器满/空状态标志线。IBF=1,表示外设已将数据打人端口锁存
  
  器,但CPU尚未读取;当CPU读取端口数据时,IBF=O。
  
  ●ACK的反相(PC6)  外设响应输入信号线。当ACK上出现由外设送来的负脉冲时,表示外设
  
  已将端口数据取走。
  
  ●STB的反相( PC4)  外设选通输入信号线。在STB信号的下降沿计时,外设将端口数据线上
  
  的信息打入端口寄存器。
  
  2. 8255A工作方式2方式控制字的设定
  
  8255A方式控制字格式如图1- 51所示。

    若允许方式2并行通信中断,则可置位PC6(允许输出中断)和置位PC4(允许输入中断),即对8255A的PCO执行位操作置位。

二、多单片机处理系统并行通信的硬件接口

  多单片机处理系统并行通信的硬件接口逻辑原理图如图1- 52所示。图中8031(I)子系统与8031(Ⅱ)子系统间的直接并行通信,是由8255A( I)来完成的;同理8031(Ⅱ)与8031(Ⅲ)又可通过8255(Ⅱ)实现直接并行通信。这样就构成了一个并行通信系统。

  8255A(I)PC口的5条控制线完成双向并行通信的逻辑控制。8031(I)通过判别P17端口状态,判定8031(I)CPU输出缓冲器有无有效数据送入端口(8031(Ⅱ)输入数据时);通过判定Pl16端口状态,判定8031(I)CPU输入缓冲器空否(8031(I)输出数据时)。8031(Ⅱ)的读/写控制逻辑与地址译码线组合,作为其响应输入线( ACK)和选通输入线(STB),由8031(Ⅱ)控制选通。

三、多单片机处理系统并行通信的软件设计

  这种模块式多微处理器系统,软件设计是相互独立、互不干扰的,并且只需要一套通信软件,即“中断驱动软件”和“状态驱动软件”,便可实现整个系统的并行通信,使用起来很方便。
  
  在图1- 52所示系统中,8031(I)与8031(Ⅱ)构成一对直接并行通信子系统。在这样接口的一对子系统中,须有一对通信软件,即在8031(I)子系统中应设计一个“中断驱动软件”,实现数据传输,包括输入和输出;而对8031(Ⅱ)子系统,应设计一个“状态驱动软件”,实现数据传输。
  
  1.中断驱动软件的设计
  
  该软件是驻留在与8255A直接接口的子系统中的通信软件,由通信主程序、通信附服务程序以及数据输入子程序和数据输出子程序组成。流程图分别示于图1- 53~图1- 56。

  2.状态驱动输入/输出软件的设计
  
  状态驱动输入/输出软件是驻留在需要从8255A的端口接收输出状态,并根据接收状态进行输入/输出信息的子系统中的(如8031(工)与8031(Ⅱ)这对直接并行通信的子系统中的8031(Ⅱ))。它是一种简单的状态驱动软件。状态驱动输入程序流程如图1- 57所示;状态驱动输出程序流程如图1- 58所示。


  同理,8031(Ⅱ)与8031(Ⅲ)这一对直接并行通信的子系统也可采用这套通信软件。只要将“中断驱动软件”装入8031(Ⅱ),再将“状态驱动软件”装入8031(Ⅲ)即可。对于不同的信息,在各子系统中有其相应的数据缓冲区,互相独立,这样3个子系统间便可实现并行通信。对于有更多子系统的并行处理系统,亦是如此。
  
  这种多单片机系统并行通信的接口方法,简便易行,接口及编程均易实现,特别适用于工业控制系统。实验表明,这种方法可以提高系统的处理效率,提高实时性,为各子系统的编程及调试带来了很大的方便,进一步提高了系统的可靠性、灵活性及可扩展性,开发潜力很大。随着单片机工业控制系统在各方面的应用不断深入,具有并行处理功能的模块式多微处理器系统将日益得到发展,这也是由单片机本身所具有的特点所决定的。


关键字:多单片机  处理系统  并行通信 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向