CN110580201B - 一种双cpu多中断双口ram共享内存方法 - Google Patents

一种双cpu多中断双口ram共享内存方法 Download PDF

Info

Publication number
CN110580201B
CN110580201B CN201810577908.7A CN201810577908A CN110580201B CN 110580201 B CN110580201 B CN 110580201B CN 201810577908 A CN201810577908 A CN 201810577908A CN 110580201 B CN110580201 B CN 110580201B
Authority
CN
China
Prior art keywords
cpu
interrupt
dual
port ram
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810577908.7A
Other languages
English (en)
Other versions
CN110580201A (zh
Inventor
倪群辉
侯炜
陈俊
石勇
周进
江长青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201810577908.7A priority Critical patent/CN110580201B/zh
Publication of CN110580201A publication Critical patent/CN110580201A/zh
Application granted granted Critical
Publication of CN110580201B publication Critical patent/CN110580201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开一种双CPU多中断双口RAM共享内存方法,包括:(1)装置内部包括第一CPU、第二CPU和双口RAM;(2)根据功能需求将双口RAM分为2个以上区域;(3)第一CPU设置至少两个中断,第二CPU设置至少两个中断;(4)通过第一CPU和第二CPU的中断配合以及写允许开关,保证同一时刻仅有一个CPU对双口RAM某一个区域进行访问,以及实现第一CPU与第二CPU之间数据的快速可靠传输。进一步地,并将双口RAM共享内存数据区分为实时性数据和非实时性数据,实时性数据在高优先级中断下实现的快速可靠传输,非实时性数据在低优先中断下实现数据的可靠传输。

Description

一种双CPU多中断双口RAM共享内存方法
技术领域
本发明属于电力系统自动化领域,具体涉及一种双CPU多中断双口RAM共享内存方法。
背景技术
随着在继电保护装置中双CPU系统中双口RAM应用的普及,以往在双CPU系统信息交互中对数据实时性因素以及多中断方式下数据的无冲突访问考虑较少。目前的通用方法是插入等待或信令交互,无法保证数据传输的实时性,也无法保证多中断方式下双CPU对双口RAM内存访问的独立性。现有防止双口RAM共享冲突的方法无法实现多中断方式下实时数据交换的功能,不适用与实时性要求高的嵌入式保护控制装置中。
发明内容
本发明的目的在于:针对上述现有技术,提供一种双CPU多中断双口RAM共享内存方法,实现多中断方式下双CPU对双口RAM内存访问的独立性,进一步的保证数据传输的实时性,在保护装置中提高双CPU之间信息交互的可靠性,解决目前保护对可靠性要求高的要求。
为了达成上述目的,本发明采用以下技术方案:一种双CPU多中断双口RAM共享内存方法,所述方法包括:
(1)装置内部包括第一CPU、第二CPU和双口RAM;
(2)根据功能需求将双口RAM分为2个以上区域;
(3)第一CPU设置至少两个中断,第二CPU设置至少两个中断;
(4)通过第一CPU和第二CPU的中断配合以及写允许开关,保证同一时刻仅有一个CPU对双口RAM某一个区域进行访问,以及实现第一CPU与第二CPU之间数据的快速可靠传输。
进一步地,将实时性数据和非实时性数据分别存放在双口RAM共享内存中的不同区域,实时性数据在高优先级中断下实现快速可靠传输,非实时性数据在低优先级中断下实现数据的可靠传输。
进一步地,将双口RAM分为3个区域,其中区域1存放实时性数据,区域2存放非实时数据,区域3存放数据写入结束标志。
进一步地,所述写允许开关用于控制第二CPU对双口RAM的写允许操作。
进一步地,第一CPU设置两个中断,分别为中断1、中断2;第二CPU设置两个中断,分别为中断3、中断4;第一CPU中断1优先级高于中断2;第二CPU中断3优先级高于中断4;通过第一CPU中断1和第二CPU中断3实现双口RAM区域1实时性数据和区域3写入结束标志数据的交互;通过第一CPU中断2和第二CPU中断4实现双口RAM区域2非实时数据的交互。
该方法包括正常运行和非实时数据整定两种状态,非实时数据整定比如装置定值整定、参数整定等。
进一步地,正常运行情况下,第一CPU中断1将实时数据写入双口RAM区域1,当第一CPU中断1运行结束后,触发第二CPU中断3,第二CPU中断3对区域1实时数据进行读取。
进一步地,第一CPU在中断1开始时对双口RAM区域1及区域3进行数据读写操作,当双口RAM区域3数据写入结束标志被置位时,禁止第二CPU对双口RAM进行写操作,上述步骤完成后向第二CPU发出中断触发信号;第二CPU收到中断触发信号后,进入第二CPU中断3,对双口RAM区域1及区域3中的数据进行读写操作。
进一步地,需要更改非实时数据时,第二CPU中断4向双口RAM区域2写入需要修改的非实时数据,待非实时数据写入完成后,第二CPU中断3将双口RAM区域3写入结束标志置位,第一CPU中断1读取双口RAM区域3的结束标志置位后,通过写允许开关禁止第二CPU向双口RAM写入数据,第一CPU中断2开始读取双口RAM区域2中的非实时数据;待非实时数据读取结束后,将区域3中的写入结束标志清除,并通过写允许开关开放第二CPU向双口RAM写入数据。
有益效果:本发明在装置正常运行时通过中断触发方式,在高优先级中断中实现双CPU对实时数据时间上的独立访问;当需要修改非实时性参数时,第一CPU通过IO控制第二CPU的写允许,在时间及硬件上实现了两个CPU对双口RAM非实时数据时间和硬件上的独立访问;在保证数据传输的实时性的同时,实现了多中断方式下双CPU对双口RAM内存访问的独立性。
附图说明
图1是本发明采用双CPU系统模块框图;
图2是本发明保护CPU逻辑流程图;
图3是本发明人机CPU逻辑流程图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
本发明公开了一种双CPU多中断双口RAM共享内存方法,所述方法包括:
(1)装置内部包括第一CPU、第二CPU和双口RAM;
(2)根据功能需求将双口RAM分为2个以上区域;
(3)第一CPU设置至少两个中断,第二CPU设置至少两个中断;
(4)通过第一CPU和第二CPU的中断配合以及写允许开关,保证同一时刻仅有一个CPU对双口RAM某一个区域进行访问,以及实现第一CPU与第二CPU之间数据的快速可靠传输。
进一步地,将实时性数据和非实时性数据分别存放在双口RAM共享内存中的不同区域,实时性数据在高优先级中断下实现快速可靠传输,非实时性数据在低优先级中断下实现数据的可靠传输。
进一步地,将双口RAM分为3个区域,其中区域1存放实时性数据,区域2存放非实时数据,区域3存放数据写入结束标志。
进一步地,所述写允许开关用于控制第二CPU对双口RAM的写允许操作。
进一步地,第一CPU设置两个中断,分别为中断1、中断2;第二CPU设置两个中断,分别为中断3、中断4;第一CPU中断1优先级高于中断2;第二CPU中断3优先级高于中断4;通过第一CPU中断1和第二CPU中断3实现双口RAM区域1实时性数据和区域3写入结束标志数据的交互;通过第一CPU中断2和第二CPU中断4实现双口RAM区域2非实时数据的交互。
该方法包括正常运行和非实时数据整定两种状态,非实时数据整定比如装置定值整定、参数整定。
进一步地,正常运行情况下,第一CPU中断1将实时数据写入双口RAM区域1,当第一CPU中断1运行结束后,触发第二CPU中断3,第二CPU中断3对区域1实时数据进行读取。
进一步地,第一CPU在中断1开始时对双口RAM区域1及区域3进行数据读写操作,当双口RAM区域3数据写入结束标志被置位时,禁止第二CPU对双口RAM进行写操作,上述步骤完成后向第二CPU发出中断触发信号;第二CPU收到中断触发信号后,进入第二CPU中断3,对双口RAM区域1及区域3中的数据进行读写操作。
进一步地,需要更改非实时数据时,第二CPU中断4向双口RAM区域2写入需要修改的非实时数据,待非实时数据写入完成后,第二CPU中断3将双口RAM区域3写入结束标志置位,第一CPU中断1读取双口RAM区域3的结束标志置位后,通过写允许开关禁止第二CPU向双口RAM写入数据,第一CPU中断2开始读取双口RAM区域2中的非实时数据;待非实时数据读取结束后,将区域3中的写入结束标志清除,并通过写允许开关开放第二CPU向双口RAM写入数据。
图1是本发明采用双CPU系统模块框图。本实施例中,第一CPU即保护CPU,第二CPU即人机CPU。图2、3分别是本发明的保护CPU逻辑和人机CPU逻辑流程图。
如图1所示,系统包括人机CPU负责处理人机界面、通讯、录波等工作,保护CPU负责处理保护逻辑,双口RAM负责两个CPU之间的数据交互。两个CPU通过数据总线及地址总线与双口RAM相连接,人机CPU与保护CPU通过写允许以及中断触发IO口连接。
双口RAM分位3个区域,区域1存放实时性数据,区域2存放非实时数据如参数定值保护定值等,区域3存放人机CPU区域2数据写入结束标志。保护CPU设置两个中断,中断1优先级高于中断2;人机CPU设置两个中断,中断3优先级高于中断4;通过保护CPU中断1和人机CPU中断3实现双口RAM区域1数据和区域3数据的交互;通过保护CPU中断3和人机CPU中断4实现双口RAM区域2数据的交互。
该方法包含正常运行和定值整定两种状态。
具体工作过程如图2、3所示。保护CPU中断1运行在1200Hz的定时器中断中,保护CPU在中断1开始时对双口RAM区域1及区域3进行数据读写操作,当双口RAM区域3数据写入结束标志有效时,通过IO口禁止人机CPU对双口RAM进行写操作,上述步骤完成后向人机CPU发出中断触发信号,然后处理其他程序。人机CPU收到中断触发信号后,进入人机CPU中断3,对双口RAM区域1及区域3中的数据进行读写操作并处理其他程序。
保护CPU中断2及人机CPU中断4运行在50Hz的定时器中断中,当人机CPU中断4将需要修改的参数全部写入双口RAM区域2后,人机CPU中断3将在双口RAM区域3中写入结束标志有效;保护CPU中断1读取到双口RAM区域3写入标志有效时,通过IO口禁止人机CPU对双口RAM进行写操作,保护CPU中断2读取双口RAM区域2中的数据,读取结束后,通过IO口重新开放人机CPU对双口RAM的写操作。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或者等效流程变换,或者直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种双CPU多中断双口RAM共享内存方法,其特征在于:所述方法包括:
(1)装置内部包括第一CPU、第二CPU和双口RAM;
(2)根据功能需求将双口RAM分为3个区域,其中区域1存放实时性数据,区域2存放非实时数据,区域3存放数据写入结束标志;
(3)第一CPU设置两个中断,分别为中断1、中断2;第二CPU设置两个中断,分别为中断3、中断4;第一CPU中断1优先级高于中断2;第二CPU中断3优先级高于中断4;通过第一CPU中断1和第二CPU中断3实现双口RAM区域1实时性数据和区域3写入结束标志数据的交互;通过第一CPU中断2和第二CPU中断4实现双口RAM区域2非实时数据的交互;
(4)通过第一CPU和第二CPU的中断配合以及写允许开关,保证同一时刻仅有一个CPU对双口RAM某一个区域进行访问,以及实现第一CPU与第二CPU之间数据的快速可靠传输。
2.根据权利要求1所述的一种双CPU多中断双口RAM共享内存方法,其特征在于,将实时性数据和非实时性数据分别存放在双口RAM共享内存中的不同区域,实时性数据在高优先级中断下实现快速可靠传输,非实时性数据在低优先级中断下实现数据的可靠传输。
3.根据权利要求1所述的一种双CPU多中断双口RAM共享内存方法,其特征在于,所述写允许开关用于控制第二CPU对双口RAM的写允许操作。
4.根据权利要求1所述的一种双CPU多中断双口RAM共享内存方法,其特征在于,正常运行情况下,第一CPU中断1将实时数据写入双口RAM区域1,当第一CPU中断1运行结束后,触发第二CPU中断3,第二CPU中断3对区域1实时数据进行读取。
5.根据权利要求4所述的一种双CPU多中断双口RAM共享内存方法,其特征在于,第一CPU在中断1开始时对双口RAM区域1及区域3进行数据读写操作,当双口RAM区域3数据写入结束标志被置位时,禁止第二CPU对双口RAM进行写操作,上述步骤完成后向第二CPU发出中断触发信号;第二CPU收到中断触发信号后,进入第二CPU中断3,对双口RAM区域1及区域3中的数据进行读写操作。
6.根据权利要求1所述的一种双CPU多中断双口RAM共享内存方法,其特征在于,需要更改非实时数据时,第二CPU中断4向双口RAM区域2写入需要修改的非实时数据,待非实时数据写入完成后,第二CPU中断3将双口RAM区域3写入结束标志置位,第一CPU中断1读取双口RAM区域3的结束标志置位后,通过写允许开关禁止第二CPU向双口RAM写入数据,第一CPU中断2开始读取双口RAM区域2中的非实时数据;待非实时数据读取结束后,将区域3中的写入结束标志清除,并通过写允许开关开放第二CPU向双口RAM写入数据。
CN201810577908.7A 2018-06-07 2018-06-07 一种双cpu多中断双口ram共享内存方法 Active CN110580201B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810577908.7A CN110580201B (zh) 2018-06-07 2018-06-07 一种双cpu多中断双口ram共享内存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810577908.7A CN110580201B (zh) 2018-06-07 2018-06-07 一种双cpu多中断双口ram共享内存方法

Publications (2)

Publication Number Publication Date
CN110580201A CN110580201A (zh) 2019-12-17
CN110580201B true CN110580201B (zh) 2022-07-22

Family

ID=68810075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810577908.7A Active CN110580201B (zh) 2018-06-07 2018-06-07 一种双cpu多中断双口ram共享内存方法

Country Status (1)

Country Link
CN (1) CN110580201B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208673A (zh) * 2022-07-15 2022-10-18 黄策 一种在多个cpu之间传输数据的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101655824A (zh) * 2009-08-25 2010-02-24 北京广利核系统工程有限公司 一种双口ram互斥访问的实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101655824A (zh) * 2009-08-25 2010-02-24 北京广利核系统工程有限公司 一种双口ram互斥访问的实现方法
CN101996147A (zh) * 2009-08-25 2011-03-30 北京广利核系统工程有限公司 一种双口ram互斥访问的实现方法

Also Published As

Publication number Publication date
CN110580201A (zh) 2019-12-17

Similar Documents

Publication Publication Date Title
CN108768884A (zh) 一种基于环形缓冲区的无线通信数据处理方法
CN102970202B (zh) 基于抢占式策略的1553b总线通信方法
JPH0326865B2 (zh)
CN109902042B (zh) 一种实现dsp与zynq之间高速数据传输的方法及系统
CN110580201B (zh) 一种双cpu多中断双口ram共享内存方法
EP1639481B1 (en) Readdressable virtual dma control and status registers
US8266361B1 (en) Access methods and circuits for devices having multiple buffers
US10860507B2 (en) Electronic systems having serial system bus interfaces and direct memory access controllers and methods of operating the same
US20130282971A1 (en) Computing system and data transmission method
CN109062857B (zh) 一种能高速实现多处理器间通信的新型消息控制器及其通信方法
CN110399219B (zh) 内存访问方法、dmc及存储介质
CN109710187B (zh) NVMe SSD主控芯片的读命令加速方法、装置、计算机设备及存储介质
US20020184454A1 (en) Memory access device
CN111930649B (zh) 一种多通道can通讯板卡及通讯方法
CN110532218B (zh) 一种继电保护装置中双cpu信息交互方法
KR102102335B1 (ko) 이중 메모리 구조 및 이를 이용한 plc의 메시지 처리 방법
CN111045980A (zh) 一种多核处理器
CN112181878B (zh) RapidIO接口架构和数据处理方法
CA2025657C (en) Method and apparatus for preventing bus contention problems between two processors
CN103728928A (zh) 一种基于PicoBlaze的MVB控制器
CN110275679B (zh) 一种固件共享硬件内部缓存的方法及其系统
CN117097576B (zh) 一种面向功能安全的axi总线防火墙
CN116955241B (zh) 兼容多类型存储介质的存储芯片
JPS63293660A (ja) 通信制御装置
CN110161913B (zh) 一种铝电解槽控制机多路数据采集板及多路数据采集方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant