[发明专利]一种双口RAM互斥访问的实现方法有效
申请号: | 200910249912.1 | 申请日: | 2009-12-04 |
公开(公告)号: | CN101996147A | 公开(公告)日: | 2011-03-30 |
发明(设计)人: | 杜乔瑞;石桂连;程建明;冀建伟 | 申请(专利权)人: | 北京广利核系统工程有限公司;中国广东核电集团有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16;G06F15/167 |
代理公司: | 北京元中知识产权代理有限责任公司 11223 | 代理人: | 杨建君 |
地址: | 100084 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ram 访问 实现 方法 | ||
技术领域
本发明为一种双口RAM互斥访问的实现方法,属于处理器信号交换领域。
背景技术
在现代工业控制系统中,由于对系统的功能和性能要求越来越高,一般都采用高性能的处理器来实现控制功能,并将这些智能设备联网组成分布式系统,所以双口RAM作为共享存储器,在满足实时性要求高、数据量大的控制系统中得到越来越广泛地应用。
一般双口RAM都提供了两个完全独立的端口,每个端口都有自己的控制线、地址线和数据线。但当两个CPU同时对同一地址单元写入数据,或者两个CPU同时对同一地址单元操作、一个写入数据,另一个读出数据时,双口RAM会产生共享冲突问题。目前有几种防止共享冲突的方式。
1.插入等待状态的防冲突方式
该方式也称为硬件判优方式。当左右端口同时对同一地址的RAM存储单元进行存取时,双口RAM内部的仲裁单元将会给出BUSY信号,具体来说,BUSYL、BUSYR信号的正常状态为高电平。当左侧端口对一存储单元进行存取时,若右侧端口也对该存储单元进行操作,则芯片内部的仲裁单元会使信号BUSYR为低,直到左侧端口操作完成后再将BUSYR恢复为高电平。设计中可以利用BUSY信号作为CPU的等待状态输入,并利用该信号使CPU在操作过程中插入等待状态,避免两端同时对双口RAM进行操作。
2.中断防冲突方式
该方式也称为中断判优方式,芯片具有两套中断逻辑。通过两个INT引脚分别接收到两个CPU的中断引脚上,以实现CPU的握手。
双口RAM中最高地址的两个存储单元可以作为邮箱使用。在双口RAM的数据传送中,两端的CPU都把双口RAM作为自己存储器的一部分。当两个CPU需要数据传送时,假设左端CPUL向右端CPUR传送。首先CPUL将需要传送的数据存放到双口RAM某段约定的地址单元中,然后向双口RAM的右端口的邮箱进行写操作,用以向CPUR发出一个中断。这样CPUR就进入其相应的中断服务子程序。将约定地址单元的数据读出,然后对双口RAM右端口的邮箱进行写操作,用以清除该中断。这样通过邮箱向对方传递自己使用存储单元的状态来达到防止冲突之目的。
3.信号量防冲突方式
该方式也称为令牌判优方式。在此方式中有信号锁存逻辑,CY7C056V内部提供了八个相互独立的锁存逻辑单元,最多可将RAM空间分成八个区段。这些锁存逻辑单元独立于双口RAM存储区,并不能控制RAM区、封锁两端CPU的读/写操作,而是被作为命令,只提供指示逻辑,由两端CPU按约定的规则,轮流地占用它们划定的RAM区。各区的大小及地址由软件自由设定,且左右端操作完全一样,只要不超过令牌的限制次数即可。当左右端同时申请同一令牌时,令牌逻辑裁定谁先占用,从而保证只有一个端口获取令牌。而在占用令牌期间,CPU可以按最高速无等待存取数据。这对实现高速、多CPU数据采集与处理系统无疑是非常有利的。但是,为了避免令牌方式争用出错,应尽可能使两端CPU分时占用同一RAM区。
它们分别存在以下缺点:
中断防冲突方式:当发生中断时,会打断当前的执行流程,造成运行过程不确定;
插入等待状态的防冲突方式:对于高速接口来说会影响数据的传送速率,而且该方式下CPU在访问数据时需要检查BUSY信号并做出判断,并可能出现等待情况。很难满足时间确定性的要求;
信号量防冲突方式:在两个CPU共享内存空间时,如果双口RAM主要用于两个CPU之间交换数据,则交换的实时性很难用软件来保证。
发明内容
本发明的目的是解决两端CPU在操作双口RAM中,避免产生冲突。即不允许两个CPU同时对同一地址单元写入数据;或者两个CPU同时对同一地址单元一个写入数据,另一个读出数据。
本发明的技术方案为:
一种双口RAM互斥访问的实现方法,所述一种双口RAM互斥访问的实现方法包括如下操作步骤:
1)采用地址分区方式,将共享数据区划分成多个数据区,并制定相应软件协议;
2)软件分区处理时,按照交换数据的类型将RAM的共享存储区从起始单元开始分成若干个大的数据区,数据区大小由实际的传输数据确定。每个大数据区又细分为一个数据接收区和一个数据发送区,且每个区都定义有相应的数据存取地址和控制标识;
3)开始写入双RAM数据,读取双RAM接收缓冲区的写指针,将数据写入基地址加上写指针对应的双RAM单元,接收缓冲区写指针加1,判断写指针,如果写指针是最后一位,对写指针回零,否则结束写入数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京广利核系统工程有限公司;中国广东核电集团有限公司,未经北京广利核系统工程有限公司;中国广东核电集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910249912.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:针织服装
- 下一篇:调色剂、其制备方法、和处理盒