CN110134638A - 一种双处理器数据交换方法 - Google Patents
一种双处理器数据交换方法 Download PDFInfo
- Publication number
- CN110134638A CN110134638A CN201910386889.4A CN201910386889A CN110134638A CN 110134638 A CN110134638 A CN 110134638A CN 201910386889 A CN201910386889 A CN 201910386889A CN 110134638 A CN110134638 A CN 110134638A
- Authority
- CN
- China
- Prior art keywords
- processor
- data
- semaphore
- address
- status
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种双处理器数据交换方法,所述方法应用于双处理器,所述双处理器包括发送处理器和接收处理器,所述方法包括:所述双处理器配置双口RAM数据空间、信号量地址;所述双处理器对所述信号量地址进行操作,获得信号量状态;所述双处理器根据所述信号量状态,访问所述双口RAM数据空间。
Description
技术领域
本发明属于数据通信技术,具体涉及一种双处理器数据交换方法。
背景技术
在航空、工业控制领域中,一般需要主辅两个处理器共同完成I/O的输入输出控制。主处理器用于控制器整机控制策略的实现,辅处理器用于I/O输入数据的采集和输出控制。辅处理器将采集的输入数据经特定方法处理后传输给主处理器,参与控制决策;主处理器将输出控制信息传输给辅处理器,辅处理器根据输出控制信息控制作动器的动作。这种应用本身要求控制具有较高的可靠性,数据具有较强的可信性,并且具有一定的数据吞吐量。因此,为了控制器可靠有效地采集输入状态和控制输出状态,用于双处理器的数据交换方法应运而生。
目前主流双处理器数据交换实现方法一般都是基于处理器的外设通信控制器,比如CAN总线、UART总线、SPI总线等和传统的双口RAM。而这些串行总线数据吞吐量较低;传统的通过双口RAM地址的busy信号来判断访问地址处数据的冲突,存在冲突地址数据恢复等异常问题,软件处理复杂。
发明内容
本发明的目的是:提供一种能够简捷、可靠、有效的双处理器数据交换方法。
第一方面,本申请提供一种双处理器数据交换方法,所述方法应用于双处理器,所述双处理器包括发送处理器和接收处理器,所述方法包括:
所述双处理器配置双口RAM数据空间、信号量地址;
所述双处理器对所述信号量地址进行操作,获得信号量状态;
所述双处理器根据所述信号量状态,访问所述双口RAM数据空间。
可选的,所述配置双口RAM数据空间、信号量地址,具体包括:
将双口RAM数据空间,按相同端口地址分成至少一个非零块数据区,所述非零块数据区具有一个信号量地址空间及一个信号量。
可选的,对所述信号量地址进行操作,获得信号量状态,具体包括:
当发送处理器向所述信号量地址写入数据时,信号量状态由无效变成有效;
当接收处理器向所述信号量地址写入数据时,信号量状态不变;
当接收处理器读取所述信号量地址存储的数据时,信号量状态由有效变成无效;
当发送处理器读取所述信号量地址存储的数据时,信号量状态不变。
可选的,根据所述信号量状态访问所述双口RAM数据空间,具体包括:
发送处理器根据信号量状态,判断发送的数据是否被接收处理器读取,并发送新的数据;
接收处理器根据信号量状态,判断是否收到发送处理器发送的新数据。
可选的,在所述访问所述双口RAM数据空间之后,方法还包括:
接收处理器根据信号量地址存储的数据,判断已接收的数据是否有效;
根据所述信号量状态,判断读操作、写操作是否故障。
可选的,当信号量状态为有效时,接收处理器从对应的双口RAM数据空间读取所述发送处理器发送的数据;
当信号量状态有效时,发送处理器发送新的数据,并记录接收处理器未读取发送处理器上次发送的数据的状态;当信号量无效时,发送处理器发送新的数据。
可选的,所述接收处理器根据信号量地址存储的数据,判断已接收的数据是否有效,具体包括:
当信号量状态有效时,接收处理器从信号量地址读取发送处理器发送的双方预先定义的数据,当读取的数据和双方预先定义的数据一致时,接收处理器从数据区读取的数据有效,否则无效。
可选的,所述根据所述信号量状态,判断读操作、写操作是否故障,具体包括:
接收处理器从信号量地址读取发送处理器发送的双方预先定义的数据后,若信号量状态为有效时,则接收处理器读取操作故障;若信号量状态为无效时,则接收处理器读取操作正常;
发送处理器向信号量地址写入双方预先定义的数据后,若信号量状态为有效时,发送处理器写操作正常;若信号量状态为无效时,发送处理器写操作故障。
本发明的技术效果是:相对于传统的外设串行通信接口有效数据吞吐量低,传统的通过双口RAM地址的busy信号来判断访问地址处数据的冲突,存在冲突地址数据恢复等异常问题,软件处理复杂。本发明处理器访问本方和对方双口RAM端口信号量状态,根据信号量状态访问对应的双口RAM数据区,再访问本方双口RAM端口信号量地址处的数据,判断数据区是否有效。双方处理器均可以访问同一数据区的端口信号量状态,实现双处理器数据的可靠交换。
附图说明
图1是本申请实施例提供的双处理器数据交换方法的流程图。
具体实施方式
实施例一
如图1所示,提供一种能够简捷、可靠、有效的双处理器数据交换方法。
本发明的技术方案是:处理器访问双口RAM信号量状态,根据信号量状态访问对应的双口RAM数据空间;接收处理器再访问双口RAM信号量地址存储的数据,根据该数据判断已读取的数据区是否有效;处理器再访问双口RAM信号量状态,根据信号量状态判断读操作、写操作是否故障;
所述的双处理器数据交换方法,其具体过程如下:
步骤1:配置双口RAM数据空间、信号量地址
将双口RAM数据空间,按相同端口地址分成至少一个非零块数据区,所述非零块数据区具有一个信号量地址及一个信号量状态。
步骤2:信号量状态的产生
当发送处理器向所述信号量地址写入数据时,信号量状态由无效变成有效;
当接收处理器向所述信号量地址写入数据时,信号量状态不变;
当接收处理器读取所述信号量地址存储的数据时,信号量状态由有效变成无效;
当发送处理器读取所述信号量地址存储的数据时,信号量状态不变。
步骤3:处理器根据的信号量状态访问对应的数据区
发送处理器根据信号量状态,判断发送的数据是否被接收处理器读取,并发送新的数据;接收处理器根据信号量状态,判断是否收到发送处理器发送的新数据。
将双口RAM数据空间按地址分成至少一个数据区;每个数据区具有一个独立的信号量状态、信号量地址;处理器均可以访问每个数据区的信号量、信号量地址;每个数据区对一个处理器只读,对另一个处理器只写。
发送处理器在写入信号量地址数据时,该数据可为握手口令,或者数据包号,或者两者的结合;接收处理器根据从信号量地址读取的数据判断本次数据是否有效。
信号量状态,无效时为低电平,有效时为高电平,或者相反电平状态。
接收处理器访问信号量状态,当信号量有效时,从对应数据区读取发送处理器发送的数据;当信号量无效时,发送处理器没有发送新的有效数据,并记录该状态信息供系统使用。
发送处理器访问信号量状态,当信号量有效时,接收处理器未读取发送处理器发送的数据,并记录该状态信息供系统使用;当信号量无效时,接收处理器已取走发送的数据,发送处理器发送新的数据。
本发明的技术效果是:相对于传统的外设串行通信接口有效数据吞吐量低,传统的通过双口RAM地址的busy信号来判断访问地址处数据的冲突,存在冲突地址数据恢复等异常问题,软件处理复杂。本发明处理器访问双口RAM信号量状态,根据信号量状态访问对应的双口RAM数据空间,再访问信号量地址处的数据,判断数据区是否有效。处理器均可以访问同一数据区的信号量状态,实现双处理器数据的可靠交换。
实施例二
下面结合附图和实施例对本发明做进一步说明:
本发明处理器信号量状态,根据信号量状态访问对应的双口RAM数据空间,再访问对应的信号量地址处的数据,判断数据区是否有效。处理器均可以访问同一数据区的信号量状态,实现双处理器数据的可靠交换。
请参阅图1,所述的双处理器数据交换方法具体过程如下:
步骤1:配置双口RAM数据空间、信号量地址
在处理器交换数据前,根据系统输入、输出功能确定处理器需要的数据区数量和数据区大小,将双口RAM存储空间按地址分成相应正整数块不同的数据区。每个数据区具有一个独立的信号量、信号量地址。处理器均可以访问每个数据区的信号量、信号量地址。每个数据区对一个处理器只读,对另一个处理器只写。
步骤2:处理器交换数据前的双口RAM信号量状态的检测
发送处理器向接收处理器发送新数据,首先发送处理器读取信号量状态。若信号量状态无效,则表明相应数据区中没有需要接收处理器读取的数据信息;若信号量状态有效,则表明数据区中含有接收处理器待读取的数据信息,并记录该状态信息供系统使用。
接收处理器读取发送处理器发送的数据信息,首先接收处理器读取信号量状态。若该信号量状态有效,则表明数据区中含有发送处理器新发送的数据信息;若该信号量状态无效,则表明数据区中没有发送处理器新发送的数据信息。
步骤3:处理器访问双口RAM数据空间
发送处理器读取信号量状态,若信号量状态无效,将要交换的新数据信息写入双口RAM数据区;若信号量状态有效,则表明相应数据区中含有接收处理器待读取的数据信息,重新写入需要接收处理器读取的新数据信息,并记录接收处理器未读取已发送的数据信息状态,以供系统使用。
接收处理器读取信号量状态,若信号量状态有效,接收处理器从相应的双口RAM数据空间中读出发送处理器发送的数据;若信号量状态无效,无新数据需要接收处理器读取,并记录发送处理器未发送新数据信息的状态,以供系统使用。
步骤4:处理器访问信号量地址
发送处理器把发送给接收处理器的数据写入双口RAM数据空间后,发送处理器向信号量地址处写入命令或者数据包号等数据,使信号量状态有效,以通知接收处理器有待处理的数据需要读取。
接收处理器把发送处理器发送的数据从双口RAM数据空间读取后,接收处理器读取信号量地址,并判断该信号量地址存储的数据是否为预先定义的命令或者数据包号。若从信号量地址读出得数据不符合预定义数据,则判断本次读取的双口RAM数据空间数据无效,并记录该故障状态,以供系统使用。
步骤5:处理器再访问信号量状态
发送处理器写入信号量地址后,再读取信号量状态,若该信号量状态无效,表明发送处理器双口RAM写故障,记录该故障状态,以供系统使用;若该信号量状态有效,表明发送处理器双口RAM写数据完成。
接收处理器读取信号量地址后,再读取信号量状态,若该信号量状态无效,表明接收处理器双口RAM读数据完成;若该状态有效,则表明接收处理器双口RAM读数据故障,并记录该故障状态,以供系统使用。
该方法描述的双处理器数据交换,可以利用ASIC双口RAM或者逻辑实现,使用总线和双口RAM信号量增大了数据吞吐量,简化了双处理器数据传输过程,并提高了处理器传输数据的可靠性。另外,该方法可以根据不同处理器型号方便配置地址总线、数据总线宽度,经过简单修改即可以适应不同处理器类型间的数据传输需求。
综上所述,本发明双处理器数据交换方法在处理器进行读写数据时,利用双口RAM及其指示信号,将双口RAM的读写状态信号传输给双方处理器,实现双处理器数据的简单、可靠交换。针对传统的通过双口RAM地址的busy信号来判断访问地址处数据的冲突,存在冲突地址数据恢复、冲突等待等异常问题,本发明采取双口RAM的读写状态指示信号方法,来判断是否产生有效数据访问,可以简捷、可靠的实现双处理器的数据交换。
Claims (8)
1.一种双处理器数据交换方法,其特征在于,所述方法应用于双处理器,所述双处理器包括发送处理器和接收处理器,所述方法包括:
所述双处理器配置双口RAM数据空间、信号量地址;
所述双处理器对所述信号量地址空间进行操作,获得信号量状态;
所述双处理器根据所述信号量状态,访问所述双口RAM数据空间。
2.根据权利要求1所述的方法,其特征在于,所述配置双口RAM数据空间、信号量地址空间,具体包括:
将双口RAM数据空间,按相同端口地址分成至少一个非零块数据区,所述非零块数据区具有一个信号量地址及一个信号量。
3.根据权利要求1所述的方法,其特征在于,对所述信号量地址进行操作,获得信号量状态,具体包括:
当发送处理器向所述信号量地址写入数据时,信号量状态由无效变成有效;
当接收处理器向所述信号量地址写入数据时,信号量状态不变;
当接收处理器读取所述信号量地址存储的数据时,信号量状态由有效变成无效;
当发送处理器读取所述信号量地址存储的数据时,信号量状态不变。
4.根据权利要求1所述的方法,其特征在于,根据所述信号量状态访问所述双口RAM数据空间,具体包括:
发送处理器根据信号量状态,判断发送的数据是否被接收处理器读取,并发送新的数据;
接收处理器根据信号量状态,判断是否收到发送处理器发送的新数据。
5.根据权利要求1所述的方法,其特征在于,在所述访问所述双口RAM数据空间之后,方法还包括:
接收处理器根据信号量地址存储的数据,判断已接收的数据是否有效;
根据所述信号量状态,判断读操作、写操作是否故障。
6.根据权利要求4所述的双处理器数据交换方法,其特征在于,
当信号量状态为有效时,接收处理器从对应的双口RAM数据空间读取所述发送处理器发送的数据;
当信号量状态有效时,发送处理器发送新的数据,并记录接收处理器未读取发送处理器上次发送的数据的状态;当信号量无效时,发送处理器发送新的数据。
7.根据权利要求5所述的双处理器数据交换方法,其特征在于,所述接收处理器根据信号量地址存储的数据,判断已接收的数据是否有效,具体包括:
当信号量状态有效时,接收处理器从信号量地址读取发送处理器发送的双方预先定义的数据,当读取的数据和双方预先定义的数据一致时,接收处理器从数据区读取的数据有效,否则无效。
8.根据权利要求5所述的双处理器数据交换方法,其特征在于,所述根据所述信号量状态,判断读操作、写操作是否故障,具体包括:
接收处理器从信号量地址读取发送处理器发送的双方预先定义的数据后,若信号量状态为有效时,则接收处理器读取操作故障;若信号量状态为无效时,则接收处理器读取操作正常;
发送处理器向信号量地址写入双方预先定义的数据后,若信号量状态为有效时,发送处理器写操作正常;若信号量状态为无效时,发送处理器写操作故障。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910386889.4A CN110134638B (zh) | 2019-05-09 | 2019-05-09 | 一种双处理器数据交换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910386889.4A CN110134638B (zh) | 2019-05-09 | 2019-05-09 | 一种双处理器数据交换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110134638A true CN110134638A (zh) | 2019-08-16 |
CN110134638B CN110134638B (zh) | 2023-05-23 |
Family
ID=67577045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910386889.4A Active CN110134638B (zh) | 2019-05-09 | 2019-05-09 | 一种双处理器数据交换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134638B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168079A (zh) * | 2022-09-08 | 2022-10-11 | 深圳市恒运昌真空技术有限公司 | 一种双处理器设备及其控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156966A1 (en) * | 2001-04-20 | 2002-10-24 | Ward Alan R. | Dual port RAM with automatic write indicators |
CN102654858A (zh) * | 2011-03-04 | 2012-09-05 | 国基电子(上海)有限公司 | 双处理器系统及双处理器系统的通信方法 |
US20140095829A1 (en) * | 2011-03-21 | 2014-04-03 | Zte Corporation | Method and device for passing parameters between processors |
CN203643819U (zh) * | 2013-12-23 | 2014-06-11 | 上海新华控制技术集团科技有限公司 | 智能前端控制器 |
-
2019
- 2019-05-09 CN CN201910386889.4A patent/CN110134638B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156966A1 (en) * | 2001-04-20 | 2002-10-24 | Ward Alan R. | Dual port RAM with automatic write indicators |
CN102654858A (zh) * | 2011-03-04 | 2012-09-05 | 国基电子(上海)有限公司 | 双处理器系统及双处理器系统的通信方法 |
US20140095829A1 (en) * | 2011-03-21 | 2014-04-03 | Zte Corporation | Method and device for passing parameters between processors |
CN203643819U (zh) * | 2013-12-23 | 2014-06-11 | 上海新华控制技术集团科技有限公司 | 智能前端控制器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168079A (zh) * | 2022-09-08 | 2022-10-11 | 深圳市恒运昌真空技术有限公司 | 一种双处理器设备及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110134638B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9015380B2 (en) | Exchanging message data in a distributed computer system | |
CN113032162B (zh) | 一种基于共享内存备份机制的多进程通讯方法 | |
CN111078597B (zh) | 一种中断消息生成装置、方法以及端设备 | |
CN102750245B (zh) | 报文接收方法、报文接收模块、装置及系统 | |
CN106168934A (zh) | 一种数据传输方法及装置 | |
CN101944075A (zh) | 总线系统、对低速总线设备进行读写操作的方法及装置 | |
CN110134638A (zh) | 一种双处理器数据交换方法 | |
EP2216720A1 (en) | Parameter copying method and parameter copying device | |
US7447853B2 (en) | Data copy device | |
CN108139993B (zh) | 内存装置、内存控制器、数据缓存装置及计算机系统 | |
CN108616598A (zh) | 数据同步方法、装置和分布式存储系统 | |
CN108984148B (zh) | 一种基于同步fifo存储器的数据存储的方法及存储器 | |
CN101290602B (zh) | 存储器管理系统与方法 | |
CN110221987A (zh) | 系统应急情况下的数据存储方法、存储介质 | |
CN106407131B (zh) | 内存访问方法和装置 | |
CN104636280A (zh) | 用于管道仲裁的电路和方法 | |
JP2005267148A (ja) | メモリ制御装置 | |
KR101485081B1 (ko) | 간접 액세스가능 메모리를 구비한 컨트롤러 | |
JP2007334668A (ja) | メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム | |
CN106057226B (zh) | 双端口存储系统的存取控制方法 | |
CN101477640B (zh) | 基于现场可编程门阵列的识别卡接口控制器 | |
CN102027424A (zh) | 用于控制从多个进程出发的对存储器的区域的访问的方法以及用于实现该方法的带有消息存储器的通信模块 | |
KR100950356B1 (ko) | 다중 코히런시 단위들을 지원하는 데이터 전송 유닛 | |
CN112559196B (zh) | 一种进程间通讯数据共享的传输方法 | |
CN201465160U (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 |