[实用新型]一种控制单口随机存贮器共享的装置无效
申请号: | 01239355.X | 申请日: | 2001-05-17 |
公开(公告)号: | CN2483769Y | 公开(公告)日: | 2002-03-27 |
发明(设计)人: | 李斌;林敏 | 申请(专利权)人: | 李斌;林敏 |
主分类号: | G06F13/00 | 分类号: | G06F13/00 |
代理公司: | 上海交达专利事务所 | 代理人: | 王锡麟 |
地址: | 200072 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 控制 单口 随机 存贮器 共享 装置 | ||
本实用新型涉及一种控制单口随机存贮器共享的装置,尤其是控制双机间一次数据交换量不超过256B的单口随机存贮器共享的装置。
多机之间的数据交换,则有串行和并行两种方式。多机串行数据交换可以通过单片机自带的串行口(TxD和RxD)来实现的,其不足是数据交换速度慢,而且主、从机一次交换的数据量少。为此,PHILIPS公司曾提出了一种I2C总线串行的方式,该方式使用SDA和SCL二条信号线可实现器件之间的信息传递,虽简化了结构,但还存在着数据交换速率低,不能满足许多系统的实时性要求。也有多机系统采用8255A实现应答式并行数据交换的方式,一次一般只能交换1B数据,传输信息不连续,相对于串行方式的速度优势不明显。因此,在某些对数据传送有一定要求的场合,如在工业机器人的控制中,系统要求主、从机共享数据量大且交换信息速度快时,上述的串行、并行数据交换方式则难以满足要求,故通常采用多CPU共享随机存贮器(RAM)的方法。现有多CPU共享单口RAM的装置,则需要许多外围逻辑器件的帮助才能实现。例如,当两微机系统共用一片RAM6264时,需要使用6片74LS245锁存器和一片74LS125三态门来解决一机占用RAM时系统对另一机的隔离问题;还需通过一个74LS74状态触发器来判别RAM的空闲状态,以解决共享时的冲突问题(如崔亚军.《多微机系统共享RAM电路》.《电子技术应用》,1990(2)一文中所述)。这类装置的系统体积大,连线繁琐、易出错,维护也不方便。为克服这些缺点,在此基础上,出现了双口RAM。双口RAM尽管体积小,但成本高,编程较复杂,且由于其两个端口是互相独立的,各自有自己的地址线、数据线和控制线,因此引脚很多(如IDT公司的IDT7005S/L双口RAM芯片,有四十几个引脚),给接线增加了麻烦,也使整个系统装置的体积扩大。
本实用新型的目的是提供一种控制单口随机存贮器共享的装置,它具有外围器件少、结构简单、共享信息交换速度快、编程容易和成本低之特点。
为实现上述目的,本实用新型包括51系列的主、从单片机、地址锁存器、单口随机存贮器,其特征在于:还包括由与非门器件组成的切换器,主单片机CPU和从单片机CPU的写数据输出口与单口随机存贮器的写数据使能口相互连接,主单片机CPU和从单片机CPU的读数据输出口与单口随机存贮器的输出使能口相互连接,主单片机CPU的外部中断输入口与从单片机CPU的P1口相连,从单片机CPU的外部中断输入口、主单片机CPU的P1口和切换器控制口与系统控制线相互连接,主单片机CPU和从单片机CPU的低8位数据/地址口与地址锁存器的数据输入口、单口随机存贮器的数据口相互连接,主单片机CPU和从单片机CPU的地址锁存信号输出口分别连接切换器的信号输入口,切换器的信号输出口接地址锁存器的地址锁存端,地址锁存器的输出端接单口随机存贮器的低8位地址口,主单片机CPU的P2口与单口随机存贮器的高8位地址口相连。
本实用新型由于采用上述结构,既解决了数据交换速度慢和数据交换量少的问题,又减少了外围逻辑器件、简化了装置的结构,而且还具有编程简单和成本低之优点。本实用新型可广泛用于双机一次共享RAM信息不超过256B的仪表系统。
下面给出本实用新型的实施例及附图,并结合附图作进一步说明:
图1、为本实用新型的实施例图。
按图1所示,本实用新型由51系列的主、从单片机、地址锁存器3、单口随机存贮器5和切换器2组成。切换器2由与非门器件6、7、9和非门器件8构成。与非门器件6的信号输出口接与非门器件7的一个信号输入口,其两个信号输入口分别接从单片机CPUl的地址锁存信号输出口b和非门器件8的输出口。与非门器件7的信号输出口接地址锁存器3的地址锁存端g,另一信号输入口接与非门器件9的信号输出口。与非门器件9的一个信号输入口接主单片机CPU4的地址锁存信号输出口j,与非门器件9另一输入口和非门器件8的输入口相连构成切换器2的控制口。主单片机CPU4和从单片机CPUl的写数据输出口I、e与单口随机存贮器5的写数据使能口i相互连接,主单片机CPU4和从单片机CPUl的读数据输出口k、a与单口随机存贮器5的输出使能口h相互连接,主单片机CPU4的外部中断输入口n与从单片机CPUl的Pl口d相连,从单片机CPUl的外部中断输入口f、主单片机CPU4的P1口m、切换器2的控制口以及系统控制线c相互连接,主单片机CPU4和从单片机CPUl的低8位数据/地址口与地址锁存器3的数据输入口、单口随机存贮器5的数据口相互连接,地址锁存器3的输出口接单口随机存贮器5的低8位地址口,主单片机CPU4的P2口与单口随机存贮器5的高8位地址口相连。主单片机和从单片机的运行程序是独立的,当上电工作时,主单片机CPU4和从单片机CPUl分别执行初始化程序:SETBP3.6;SETB P3.7;MOV P0,#OFFH。其中,P3.6、P3.7引脚分别是单片机上的写、读数据输出线。接着,主单片机首先掌握对单口随机存储器5的操作权,将其P1口m置为高电平“1”,从而使得系统控制线c(即切换器2的控制口)为高电平“1”。在切换器2中,由于系统控制线c为“1”,则非门器件8的输出为低电平“0”,与非门器件6的一个输入也为“0”,此时不管与非门6的另一个与从单片机CPUl的地址锁存信号输出口b相连的输入口为何状态,其输出值总是为高电平“1”,也就是与非门器件7的一个输入为“1”,而与非门7的另一个输入状态取决于与非门器件9的输出。由于切换器2的控制口为高电平“1”,所以主单片机CPU4的地址锁存信号输出口j的值决定了与非门器件9的输出。当j为高电平“1”时,则与非门器件9的输出为低电平“0”,即与非门器件7的另一个输入口的值为“0”,从而与非门器件7的输出为“1”,也就是地址锁存器3的地址锁存端g为高电平“1”。这样,在主单片机CPU4执行命令语句“MOVX#DPTR,A”欲进行对单口随机存储器5的写操作(或者执行命令语句“MOVX A,#DPTR”读取存储器5的信息)时,锁存器3允许主单片机CPU4的P0口将DPTR的低字节值通过地址锁存器3直通输出到单口随机存储器5的低8位地址口;主单片机CPU4的P2口将DPTR的高字节值直接输出给单口随机存储器5的高8位地址口。而由于从单片机CPUl的PO口在初始化时被置为高阻态,所以不会干扰主单片机的操作。当j为低电平“0”时,切换器2的控制口仍为高电平“1”,所以与非门器件9的输出即与非门7的一个输入信号为高电平“1”,而与非门7的另一个输入总是为“1”,则它的输出即地址锁存器3的地址锁存端g为低电平“0”。此时,地址锁存器3将主单片机CPU4的P0口传送来的低8位地址锁存在锁存器中,之后,PO口不再作为地址口使用,而是作为数据口传送数据信息。由于使用MOVX指令,主单片机的CPU4写数据输出口I(或读数据输出口k)自动变为有效状态,主单片机CPU4通过PO口将数据写到存储器5中(或从存储器5中将数据读过来)。主单片机完成对存储器5的操作任务后,若希望从单片机去操作存储器5,就让自己再执行一次上面的初始化程序以达到复位按钮Reset的效果,以避免对从单片机的操作产生不利影响。另外还要执行语句“MOVP2,#高位地址”来为从单片机指定要操作的单口随机存储器5的高8位地址。这些准备工作完成后,主单片机就将它的P1口m置为低电平“0”,这样不仅通过从单片机CPUl的中断口f达到中断通知从单片机的目的,而且切换系统控制线c为低电平“0”,也就是切换器2的控制口变为低电平“0”。由此,不管主单片机CPU4的地址锁存信号输出口j取何值,与非门器件9的输出总是为高电平“1”,这表示切换器2的输出只取决于从单片机CPU1的地址锁存信号输出口b的状态。这样,主单片机将对随机存储器5的操作权交给了从单片机。控制线c=0,所以非门器件8的输出总是为“1”,即与非门器件6的一个输入为“1”。在从单片机CPUl的地址锁存信号输出口b为高电平“1”时,与非门器件6的输出为低电平“0”,即与非门7的一个输入为“0”,则不管与非门7的另一个输入取什么值,它的输出必然为“1”,从而锁存器3的地址锁存端g为高电平“1”。当从单片机执行MOVX指令时,锁存器3就允许从单片机CPUl的低位地址口(PO口)将低位地址通过锁存器3直通输出到随机存储器5的低8位地址口,而随机存储器5的高8位地址已经由主单片机在中断从单片机以前通过命令语句指定。待从单片机CPUl的信号输出口b为低电平“O”时,与非门器件6的输出为高电平,即与非门7的一个输入为高电平“1”,而其另一个输入值即与非门9的输出总是为高电平“1”,所以切换器2的输出也就是锁存器3的地址锁存端g为低电平“0”。这时,锁存器3将从单片机CPUl的低8位地址锁存在锁存器3中,之后,P0口作为数据口而不是地址口使用。由于从单片机使用MOVX指令,它的读输出口a(或写输出口e)就自动恢复为有效状态。从单片机就可通过P0口对随机存储器5进行读(或写)操作。由上述可知,由于从单片机操作随机存储器5的高8位地址是由主单片机指定的,所以从单片机一次只能共享256B即一页的单口随机存储器数据,而具体共享单口随机存储器中哪一页的数据是由主单片机决定的。当从单片机CPUl完成操作任务后,也需要将它的初始化程序再运行一次,以防止干扰主机对随机存储器5的操作。然后将它的P1口位线d置为低电平,这样主单片机的中断口n也变为低电平,从而通知主单片机切换系统控制线c的状态,收回对随机存储器5的操作权。主、从单片机之间如此循环操作实现两机共享单口随机存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于李斌;林敏,未经李斌;林敏许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/01239355.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种推力轮
- 下一篇:便池、马桶去味风机管路