一种新型防冲突的双口RAM访问方法技术

技术编号:14202433 阅读:155 留言:0更新日期:2016-12-17 18:55
本发明专利技术属于电力配电自动化技术领域,尤其涉及一种新型防冲突的双口RAM访问方法,首先对双口RAM进行分区处理,分别为强实时区和弱实时区,制定相应的软件协议,再将上述大区进行细化分区,并将各区定义相应的数据存取地址和控制标识,最后两CPU进行传输,在CPU相互传输的方式中又包括CPU1的信息传输和CPU2的信息接收。该方案利用将双口RMA分区处理并采用硬件中断的方式,实现两侧CPU数据信息的交互,解除了CPU操作冲突检测时对“busy”信号的依赖,不仅放宽了CPU或者DSP选型要求,而且保证了两侧CPU之间信息交互的实时性、可靠性。

A new type of dual port RAM access method for preventing conflict

The invention belongs to the technical field of power distribution automation, especially relates to a novel anti-collision dual port RAM access method, the dual port RAM is partitioned, were strong and weak real time zone time zone, formulate the corresponding software agreement, then the partition refinement region, and the district will define data access. The corresponding identification and control, the transmission of two CPU in CPU mutual transmission mode also includes CPU1 information transmission and reception of information CPU2. The program will use dual port RMA and the partition processing hardware interrupt mode, realize the interaction of CPU on both sides of the data information, depending on the \busy\ signal to lift CPU operation conflict detection, not only relaxed CPU or DSP selection requirements, and ensure the reliability of real-time, information interaction between both sides of the CPU.

【技术实现步骤摘要】

本专利技术属于电力配电自动化
,尤其涉及一种新型防冲突的双口RAM访问方法
技术介绍
站所配电终端DTU由于采集数据量较大,一般采用双CPU处理的方式,其中一个CPU作为协处理器专门负责模拟量数据的采集处理,另一个CPU处理通信功能及人机界面功能,两个CPU之间通过双口RAM进行信息交互。由于双口RAM实时性要求较高,交互数据量大,经常出现两侧CPU同时操作双口RMA引起的冲突问题,严重制约数据交互效率。目前主要是通过CPU检测双口RAM输出的“busy”信号来解决这种操作冲突:当双口RAM工作繁忙时会输出一个“busy”信号,任一侧CPU检测到该“busy”信号后,就会暂停该侧CPU对双口RAM的操作,从而规避两侧CPU同时操作双口RMA引起的冲突。这种方案需要两侧的CPU都具备接入“busy”信号的能力,限制了CPU的选型,同时也严重影响了双口RAM数据交互的实时性。
技术实现思路
本专利技术针对上述的问题,设计了一种不需要接入双口RAM的“busy”信号,即可避免两侧CPU同时操作双口RAM引起的冲突的新型防冲突的双口RAM访问方法。为了达到上述目的,本专利技术采用的技术方案为,一种新型防冲突的双口RAM访问方法,其特征在于,具体包括以下步骤:1)采用地址分区的方式,将双口RAM分为强实时区以及与强实时区结构相同的弱实时区,并制定相应的软件协议;2)再将实时区细分为下行命令区、上行命令区以及数据交互区,即强实时区和弱实时区内分别含有上述三个区,并对上述各区都定义相应的数据存取地址和控制标识;3)开启CPU中信息传输,其CPU包括设置在双口RAM两端的CPU1和CPU2,传输过程分为上端CPU1侧有信息需要传递到下端CPU2侧和下端CPU2侧接收上端CPU1侧信息两部分,当上端CPU1侧有信息需要传递到下端CPU2侧时,按以下步骤进行:A、CPU1首先检测下行命令区状态是否可用;B、如果可用,CPU1将下行命令区状态改为“信息占用”模式;C、CPU1将下行命令写到下行命令区;D、CPU1将下行的信息写到双口RAM强实时数据交互区;E、CPU1把下行命令区的状态由“信息占用”改成“有下行信息”模式;F、CPU1触发下行CPU2侧的中断;下端CPU2侧接收上端CPU1侧信息,按以下步骤进行:A、CPU2检测来自CPU1侧的硬件中断;B、CPU2检测下行命令区是否有数据要下行;C、如果有,CPU2将下行命令区状态由“有下行信息”改成“正在读取”模式;D、CPU2读取双口RAM强实时数据交互区的信息内容;E、CPU2把下行命令区状态由“正在读取”改成“交互完成”;F、两侧CPU数据交互完成。作为优选,所述两CPU之间为相互信息传输,信息从CPU1经双口RAM传输到CPU2中和CPU2经双口RAM传输到CPU1中的方法是一样的。作为优选,所述命令区采用双字节模式。与现有技术相比,本专利技术的优点和积极效果在于,该方案利用将双口RMA分区处理并采用硬件中断的方式,实现两侧CPU数据信息的交互,解除了CPU操作冲突检测时对“busy”信号的依赖,不仅放宽了CPU或者DSP选型要求,而且保证了两侧CPU之间信息交互的实时性、可靠性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术中的双口RAM分区图;INT为终端信号;图2为本专利技术中CPU1侧向CPU2侧发送数据流程图;图3为本专利技术中CPU2侧接收数据流程图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和实施例对本专利技术做进一步说明。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用不同于在此描述的其他方式来实施,因此,本专利技术并不限于下面公开说明书的具体实施例的限制。实施例1,本专利技术提供了一种新型防冲突的双口RAM访问方法,本专利技术主要是针对双口RAM做出的处理,首先采用地址分区的方式,将双口RAM分为强实时区和弱实时区,并制定了相应的软件协议,上述两个信息区的结构上相同的,为了更方便信息传输,如图1所示,专利技术人又将信息区细分为了下行命令区、上行命令区以及数据交互区,并对上述各区都定义相应的数据存取地址和控制标识。下面具体的说一下利用本专利技术中所提及的方法怎样实现两CPU之间的信息传输,双口RAM两端的CPU分别为CPU1和CPU2,CPU1和CPU2之间的传输是相互的,本专利技术所采用的方式也是相同的,具体说一下信息从CPU1经双口RAM传输到CPU2的实施过程,在该实施过程中有包括两部分,如图1所示,一是上端CPU1侧有信息需要传递到下端CPU2侧,而是下端CPU2侧和下端CPU2侧接收上端CPU1侧信息两部分;强实时区两侧CPU通过硬件中断的方式进行信息响应,弱实时区两侧CPU通过查询的方式进行信息响应。当上端CPU1侧有信息需要传递到下端CPU2侧时,,按以下步骤进行,如图2所:3)开启CPU中信息传输,其CPU包括设置在双口RAM两端的CPU1和CPU2,传输过程分为上端CPU1侧有信息需要传递到下端CPU2侧和下端CPU2侧接收上端CPU1侧信息两部分,当上端CPU1侧有信息需要传递到下端CPU2侧时,按以下步骤进行:A、CPU1首先检测下行命令区状态是否可用;B、如果可用,CPU1将下行命令区状态改为“信息占用”模式;C、CPU1将下行命令写到下行命令区;D、CPU1将下行的信息写到双口RAM强实时数据交互区;E、CPU1把下行命令区的状态由“信息占用”改成“有下行信息”模式;F、CPU1触发下行CPU2侧的中断;下端CPU2侧接收上端CPU1侧信息,按以下步骤进行,如图3所示:A、CPU2检测来自CPU1侧的硬件中断;B、CPU2检测下行命令区是否有数据要下行;C、如果有,CPU2将下行命令区状态由“有下行信息”改成“正在读取”模式;D、CPU2读取双口RAM强实时数据交互区的信息内容;E、CPU2把下行命令区状态由“正在读取”改成“交互完成”;F、两侧CPU数据交互完成。如果下端CPU2侧有需要上行的强实时信息传递到上端CPU1侧,操作流程和强实时信息下行类似,主要区别是下端CPU2只能通过上行命令区把相关信息上传到上端CPU1侧。为了解决两侧CPU同时操作双口RAM引起的冲突,设计时命令区的命令格式采用双字节模式,主动发起侧CPU由低地址向高地址写命令;另一侧CPU由高地址向低地址读取命令。在定义命令格式时要求两者信息描述必须一致,这样从根本上解决了由于两侧冲突导致的双口RAM操作异常的情况。双口RAM交互命令帧格式如表1所示:表1属性长度(byte)命令报文头12命令报文头22帧头2长度2命令字2信息体长度2校验和2两端CPU通过检测命令区的命令报文头,判断本侧CPU下一步的动作行为;双口RAM交互命令报文描述如表2所示:表2以上所述,仅是本专利技术的较佳实施例而已,并非是对本专利技术作其它形式的限制,任何熟悉本专业的技术人本文档来自技高网...
一种新型防冲突的双口RAM访问方法

【技术保护点】
一种新型防冲突的双口RAM访问方法,其特征在于,具体包括以下步骤:1)采用地址分区的方式,将双口RAM分为强实时区以及与强实时区结构相同的弱实时区,并制定相应的软件协议;2)再将实时区细分为下行命令区、上行命令区以及数据交互区,即强实时区和弱实时区内分别含有上述三个区,并对上述各区都定义相应的数据存取地址和控制标识;3)开启CPU中信息传输,其CPU包括设置在双口RAM两端的CPU1和CPU2,传输过程分为上端CPU1侧有信息需要传递到下端CPU2侧和下端CPU2侧接收上端CPU1侧信息两部分,当上端CPU1侧有信息需要传递到下端CPU2侧时,按以下步骤进行:A、CPU1首先检测下行命令区状态是否可用;B、如果可用,CPU1将下行命令区状态改为“信息占用”模式;C、CPU1将下行命令写到下行命令区;D、CPU1将下行的信息写到双口RAM强实时数据交互区;E、CPU1把下行命令区的状态由“信息占用”改成“有下行信息”模式;F、CPU1触发下行CPU2侧的中断;下端CPU2侧接收上端CPU1侧信息,按以下步骤进行:A、CPU2检测来自CPU1侧的硬件中断;B、CPU2检测下行命令区是否有数据要下行;C、如果有,CPU2将下行命令区状态由“有下行信息”改成“正在读取”模式;D、CPU2读取双口RAM强实时数据交互区的信息内容;E、CPU2把下行命令区状态由“正在读取”改成“交互完成”;F、两侧CPU数据交互完成。...

【技术特征摘要】
1.一种新型防冲突的双口RAM访问方法,其特征在于,具体包括以下步骤:1)采用地址分区的方式,将双口RAM分为强实时区以及与强实时区结构相同的弱实时区,并制定相应的软件协议;2)再将实时区细分为下行命令区、上行命令区以及数据交互区,即强实时区和弱实时区内分别含有上述三个区,并对上述各区都定义相应的数据存取地址和控制标识;3)开启CPU中信息传输,其CPU包括设置在双口RAM两端的CPU1和CPU2,传输过程分为上端CPU1侧有信息需要传递到下端CPU2侧和下端CPU2侧接收上端CPU1侧信息两部分,当上端CPU1侧有信息需要传递到下端CPU2侧时,按以下步骤进行:A、CPU1首先检测下行命令区状态是否可用;B、如果可用,CPU1将下行命令区状态改为“信息占用”模式;C、CPU1将下行命令写到下行命令区;D、CPU1将下行的信息写到双口RAM强实时数据交互...

【专利技术属性】
技术研发人员:杜肖功张志浩孙增献张召民董金海王立明
申请(专利权)人:北京和信瑞通电力技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1