芯片破解网


首页 -- 单片机破解-- IC破解-- 芯片破解-- 新闻技术 --关于我们
 
芯片破解网 >> 新闻技术 >> 当前位置

实现51系列单片机双CPU系统的方法

本文介绍一种新颖的方法来实现51系列单片机双CPU系统。该方法灵活地运用了51单片机的ID工作方式,使没有HOLD功能的51单片机能够直接通过片外RAM进行数据通信。不但硬件和软件的实现都比较简单,数据传输速度快,而且不涉及高成本特殊器件。对一般51单片机系统的设计有一定的参考意义。

1 实现双处理器的一般方法

① 使用双口RAM。这种方法方便地实现了CPU之间的通信,在选择CPU接口时具有较大的灵活性;但这种方法会增加电路设计的难度和成本。

② 利用I/O口进行并行通信。这种方法既要用I/O口传送数据,又要用I/O口来进行传送的控制,因此占用较多的I/O口;而且控制过程涉及进行通信的两个CPU,软件设计比较复杂。

③ 利用串口进行通信。使用UART或I2C总线来联系CPU也是常用的方法。这种方法实现简单,只是传输速度较慢。

④共享内存。共享内存实际上又有两种不同实现。第一种如LON网络的Neuron节点芯片,利用不同时序实现共享内存。这种方法必须制成专用芯片,把CPU和RAM封装在一起,一般情况下实现困难。第二种如96系列单片机,使用HOLD线先挂起其中一单片机的总线,以使用其内存。这种方法简单而且传输速度快,在具有HOLD功能的CPU系统中经常使用这种方法实现双CPU。

2 使用共享内存法实现双CPU通信

由于51单片机没有HOLD功能,一般不能使用共享内存法实现双CPU通信。这里介绍一种方法,使一般51单片机能够用共享内存实现双CPU通信。该方法电路简单,软硬件实现容易;数据传输速度快,而且占用系统资源少(不使用I/O口传递数据,而用一部分地址空间作为数据传送的媒体),能充分发挥双CPU的作用。下面具体介绍这种方法。

2.1 基本设计方案

首先,甲机划出一部分片外RAM的地址空间作为数据传输的专门通道(一般可用高端地址空间);同时,把这个地址空间映射到接收数据的乙机端的相同大小片外RAM地址空间(乙机端可以直接访问到)。两边需要传递数据时,甲机就直接向这个地址读写数据。读写数据之前,两边要先联络,做好数据传输前的准备。

两边数据线要用开关门电路隔开,可以用三态门。地址线也按照设计者的安排,甲机端经过开关门电路直接映射到乙机端特定片外RAM地址。因为甲机要在乙机这边读写数据,所以甲机对片外RAM的读写选通信号也要经过开关接到乙机读写端。发送数据前,要打开这些开关门电路。这样,甲机就可以在乙机的片外RAM中读写数据了。

最后,还有一个重要工作。两边的CPU有自己独立的工作,彼此独立地在自己的数据线和地址线运行程序,要共用乙机的RAM来实现通信就必须在传送通信数据期间让乙机交出总线控制权,而51单片机又不具备96单片机的HOLD功能,怎样才能让乙机交出总线控制权?这里要用其它方法。51系列单片机本身有ID工作方式(空闲状态),ID方式可以用中断唤醒。我们可以利用ID工作方式让乙机暂停工作,从而让甲机CPU在乙机这边存取数据。

返回顶部


2013-2015 芯片破解网 All Rights Reserved.
如有任何问题和建议请联系:498187676@qq.com

深圳市星光芯电子有限公司 版权所有

地址:深圳市龙岗区南湾街道平吉大道1号建昇大厦B栋1618(李朗软件园对面) 电话:0755-88820678
手机:13713820066 QQ:498187676 联系:周工


站点地图

粤ICP备12084176号