历史上的今天
返回首页

历史上的今天

今天是:2025年02月27日(星期四)

正在发生

2018年02月27日 | 多单片机处理系统并行通信分析

2018-02-27 来源:eefocus

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

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


推荐阅读

史海拾趣

EXCELSEMI [ EXCEL SEMICONDUCTOR INC. ]公司的发展小趣事

EXCELSEMI公司深知技术创新对于企业发展的重要性。因此,公司始终保持对研发的重视和投入。公司不仅设立了专门的研发中心,还引进了一批高素质的研发人才。通过持续的研发投入和技术创新,EXCELSEMI在半导体领域取得了多项专利和技术成果,为公司的发展提供了源源不断的动力。

比亚迪(BYD)公司的发展小趣事

进入21世纪,新能源汽车市场逐渐兴起。比亚迪凭借在电池领域的深厚积累,果断转型进入新能源汽车领域。2000年,比亚迪推出了全球第一款纯电动乘用车——比亚迪e6,这一创新产品引起了市场的广泛关注。此后,比亚迪不断加大对新能源汽车的研发和生产投入,推出了多款具有竞争力的新能源汽车产品。同时,比亚迪还积极涉足光伏和LED照明等其他领域,不断拓展其电子业务版图。

Herga公司的发展小趣事

随着全球对环境保护的日益重视,Herga公司积极响应绿色制造的号召,将环保理念融入产品设计和生产过程中。公司研发出了一系列节能高效的电子产品组件,如低能耗的驱动器、可回收材料的电机外壳等。这些产品不仅满足了市场对高性能、高品质的需求,还降低了生产过程中的碳排放和资源消耗。Herga公司的这一举措赢得了社会各界的广泛赞誉,也为其在电子行业中的可持续发展奠定了坚实基础。

广州基安彼(GMB)公司的发展小趣事

进入21世纪后,Herga公司意识到全球化市场的重要性,开始实施积极的国际化战略。公司首先在欧洲市场建立了稳固的根据地,随后通过并购和合资等方式,逐步进入北美、亚洲等新兴市场。在这个过程中,Herga公司不仅提供了符合当地市场需求的产品和服务,还积极融入当地文化,建立了良好的品牌形象。这些努力使得Herga公司的全球市场份额逐年上升,成为国际电子行业中不可忽视的力量。

Elite公司的发展小趣事

随着科技的不断进步,Elite始终将技术研发作为公司发展的核心驱动力。公司投入大量资金引进先进设备和技术人才,不断提升产品性能和质量。同时,Elite积极拓展国内外市场,通过参加各类展会、建立合作伙伴关系等方式,提高品牌知名度和市场占有率。

Arima Lasers Corp公司的发展小趣事

Arima Lasers Corp的初期,是一个典型的初创企业,面临着资金短缺和技术难题的双重压力。然而,公司的研发团队在激光技术方面取得了重大突破,成功开发出一种新型的激光发射器,具有更高的功率和更稳定的性能。这一技术突破不仅吸引了投资者的关注,也为公司在市场上赢得了初步的声誉。随着产品的不断迭代和优化,Arima Lasers Corp逐渐在激光行业中占据了一席之地。

问答坊 | AI 解惑

PC和一个装有WinCE系统的设备用网线连接来传输文件?

问题如下:         1. PC 能和该设备直接用网线点对点连接吗? 怎么设置两者的IP.?         2. 在VS2008下开发了一个WinCE程序,运行在模拟器中,能否实验第一个问题,我安装了Vir ...…

查看全部问答>

[转]单片机键盘“一键多用”的实现

摘要:本文介绍了在单片机的键盘上实现“一键多用”的方法和技巧。并给出了程序流程图和单片机的汇编语言程序。 关键词:单片机  键盘  I/O接口 键盘是实现人机对话的重要窗口。在许多由MCS-51系列单片机组成的“嵌入式” ...…

查看全部问答>

有朋友做过Qtopia里的 RIL开发吗?

我现在要在Qtopia里面加入RIL层, 以实现类似WM里的RIL功能. Qtopia里的Qatchat类似于RIL Driver, 它把相关module的一些request code转换成AT Command, 然后通过Modem Device发送给网络端. 现在我要做的主要是RIL Proxy这块. 有相关经验的朋友吗 ...…

查看全部问答>

WINCE 中循环问题

请问大哥!   1,怎样在WINCE中写一段能被系统不断循环执行的程序(例如,按键扫描),   2,TIMER中断时间误差很大,请问有办法解决吗 …

查看全部问答>

Platform Manager server failed??这是什么原因?

我的程序在:pocket pc 上可以运行 但是选择:standardsdk 总是报错: Platform Manager server failed  为什么不可以啊? Transpor配置好了 Startup怎么配置啊? …

查看全部问答>

陆空两用车

这辆美国制造与众不同的汽车既可以在陆地上行驶,也可以在空中飞行,十分拉风。当它在空中飞行时,能展开一个宽大强健的类似滑翔伞的伞翼,同时靠尾部的螺旋桨装置提供前进的动力。这款车在陆空转换时简单方便,仅需一人就可操作。目前,驾驶这款车 ...…

查看全部问答>

mini2440 + 3.5"LCD 套餐+h3c s2108

mini2440 + 3.5\"LCD 套餐:全新,详细资料见友善之臂官网介绍,售价400元。h3c s2108 九成新,售价400元。不包邮(北京的可当面交易),有意者联系:13426484543…

查看全部问答>

STM32单片机短路

我们用的是STM32F101x4,客户返回来维修的机子很多是单片机短路的,特别是电源脚和34脚对地短路。我们做老化试验时,只是开机充放电,老化一段时间后,有一台机子莫名其妙的单片机也坏了。 对于STM32单片机的测试应该重点测试什么呢?什么最容易引 ...…

查看全部问答>

L293D电机驱动模块资料

分享一份我们自己做的L293D电机驱动模块资料,希望多多捧场哈! 顺便打个小广告哈,新开小店,微麦电子(研究生科创团队):电子模块销售、项目承接、产品定制! 微麦电子://shop109927709.taobao.com …

查看全部问答>

【MSP430FR5969 UART_A0】

有下面的资料UART就ok了。P20.P21.是EUSCI的输出端口。 还要知道5969的时钟结构 然后参考例程。例程在CCS下的library下可以找到 实际使用只需要修改EUSCI的时钟源,以及采样参数,TI提供了在线计算,地址: http://software-dl.ti.com/ms ...…

查看全部问答>