8255A通用并行接口 多单片机处理系统并行通信分析

控制/MCU

1817人已加入

描述

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

一、通用并行接口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个子系统间便可实现并行通信。对于有更多子系统的并行处理系统,亦是如此。

这种多单片机系统并行通信的接口方法,简便易行,接口及编程均易实现,特别适用于工业控制系统。实验表明,这种方法可以提高系统的处理效率,提高实时性,为各子系统的编程及调试带来了很大的方便,进一步提高了系统的可靠性、灵活性及可扩展性,开发潜力很大。随着单片机工业控制系统在各方面的应用不断深入,具有并行处理功能的模块式多微处理器系统将日益得到发展,这也是由单片机本身所具有的特点所决定的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分