[发明专利]双端口随机存储器同步通信的方法及装置有效
申请号: | 200710140490.5 | 申请日: | 2007-08-24 |
公开(公告)号: | CN101110065A | 公开(公告)日: | 2008-01-23 |
发明(设计)人: | 冷再鲜;刘志强;刘一峰 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F15/167 | 分类号: | G06F15/167 |
代理公司: | 北京汇泽知识产权代理有限公司 | 代理人: | 张颖玲 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 端口 随机 存储器 同步 通信 方法 装置 | ||
技术领域
本发明涉及同步通信技术,具体地,涉及一种单板上两个独立CPU使用双端口随机存储器(DPRAM,Double Port Random Access Memory)同步通信的方法及装置。
背景技术
随着嵌入式系统的不断发展,一个嵌入式单板上集成的功能越来越多。只使用一个嵌入式CPU去实现和管理单板上的所有功能,已经让设计者越来越感到力不从心。越来越多的设计者开始采用多个嵌入式CPU,对单板上的业务和功能进行分散式管理。
目前,最常用的分散管理方式是使用两个CPU,两个CPU之间的通信方式有很多种:串口、网口、DPRAM等等。对于串口和网口的通信方式,无论是硬件还是软件,技术上都非常成熟,在设计和开发中,使用起来通常很方便。但是,当单板上的两个CPU之间需要进行大批量的数据传输时,串口和网口速率太低,往往不能满足通信的需要,DPRAM则是此时最好的选择。
使用DPRAM作为单板上两个CPU间的通信方式,已经广泛应用于很多嵌入式系统的设计之中。但是,DPRAM仅仅是一个随机存储器(RAM),没有与串口和网口芯片类似的底层协议。因此,当期望把DPRAM的驱动设计为高效、全双工模式时,DPRAM自身不能对两端的通信初始化进行协商同步。在以往的设计中,通常把DPRAM的驱动设计为简单低效的查询半双工模式,从而避免协商同步的过程。或者,把DPRAM两端的CPU设计为主从模式,主控CPU初始化DPRAM两端的驱动,然后,启动从属CPU,从而实现初始化的协商同步。
现有技术在将DPRAM设计为两个CPU间的通信通道时,同步需求主要体现在三个方面:(1)初始化DPRAM两端驱动,建立通信链路的协商过程;(2)当通信链路出现异常时,重新恢复通信链路的再次协商过程;(3)使用DPRAM链路收发消息后,相互通知的过程。在这三种情况下,仅仅依赖DPRAM本身是无法完成同步的,必须依靠必要的外部手段。
发明内容
有鉴于此,本发明的主要目的在于提供一种DPRAM同步通信的方法,能实现DPRAM的同步通信。
本发明的另一目的在于提供一种高效的通过DPRAM同步通信的装置。
为达到上述目的,本发明的技术方案是这样实现的:
一种双端口随机存储器同步通信的方法,设置CPU通信的中断标识和链路标识符,该方法包括:
A、异步启动两个CPU,两个CPU分别向对方发送中断;
B、收到中断的CPU响应对方CPU,并建立同步通信通道。
步骤A中启动每个CPU的过程进一步包括:
A1、关闭CPU自身的双端口随机存储器中断,将链路标识符置0;
A2、初始化CPU自身的双端口随机存储器驱动,并向双端口随机存储器另一端的CPU发送REQ中断请求;
A3、CPU开启自身的双端口随机存储器中断。
所述步骤B进一步包括:
B1、收到中断的CPU读取双端口状态寄存器中的值,并将相应的双端口状态寄存器清零;
B2、判断所述双端口状态寄存器值的bit0位是否为1,如果是,则为REQ中断,响应REQ请求,否则,进入步骤B3;
B3、判断所述双端口状态寄存器值的bit1位是否为1,如果是,则为ACK中断,CPU将自身的链路标识符置1,结束流程;否则,进入步骤B4;
B4、判断所述双端口状态寄存器值的bit2位是否为1,如果是,则为读中断,CPU唤醒自身的写任务;否则,进入步骤B5;
B5、判断所述双端口状态寄存器值的bit3位是否为1,如果是,则为写中断,CPU唤醒自身的读任务,否则,不做处理。
步骤B2中所述响应REQ中断进一步包括:
B21、CPU关闭自身双端口随机存储器中断,并将链路标识符置0;
B22、CPU初始化自身双端口随机存储器的驱动,并向另一CPU发送ACK中断;
B23、CPU将链路标识符置1,并开启双端口随机存储器中断。
一种双端口随机存储器同步通信的装置,该装置包括:
第一CPU、第二CPU、第一双端口状态寄存器、第二双端口状态寄存器、双端口随机存储器;
其中,第一双端口状态寄存器与第一CPU对应,第二双端口状态寄存器与第二CPU对应;双端口随机存储器一端连接第一CPU,另一端连接第二CPU;所述两个双端口状态寄存器的bit0到bit30位为表明双端口随机存储器中断类型的状态位,以及bit31位为中断触发位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710140490.5/2.html,转载请声明来源钻瓜专利网。