CN107577562A - 一种数据交互的方法、设备及计算机可读存储介质 - Google Patents
一种数据交互的方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107577562A CN107577562A CN201710846959.0A CN201710846959A CN107577562A CN 107577562 A CN107577562 A CN 107577562A CN 201710846959 A CN201710846959 A CN 201710846959A CN 107577562 A CN107577562 A CN 107577562A
- Authority
- CN
- China
- Prior art keywords
- write
- processor
- control signal
- memory
- write control
- 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
Abstract
本发明实施例公开了一种数据交互的方法,通过存储器实现第一处理器与第二处理器之间的数据交互,该方法包括:第一处理器获取第一写控制信号;根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据;所述第一处理器获取所述第一类数据。如此,提高了数据交互的安全性。本发明实施例还公开了一种数据交互设备。
Description
技术领域
本发明涉及嵌入式技术,尤其涉及一种数据交互的方法、设备及计算机可读存储介质。
背景技术
在安全性要求很高的领域如核电保护领域、汽车电子领域、楼宇电梯控制领域等,对嵌入式系统的安全性、可靠性要求越来越高,很多嵌入式系统必须通过IEC61508或ISO26262标准测试。在安全性要求较高的领域中嵌入式系统的设计,不可避免地会涉及到多处理器之间的数据交互,一般在这类设计中,核心处理器承担了与安全相关的敏感任务,对其安全性要求很高,但由于核心处理器仍然需要与外界的其他处理器进行数据交互,因此核心处理器面临着外界攻击的危险。在现有的通讯方案的设计中,一般采用总线通讯的方式,如利用RS232总线、RS485总线、控制器局域网络(Controller Area Network,CAN)总线等,由于总线受到外部环境电磁干扰的影响,容易使数据在传输过程中被恶意篡改,使核心处理器从外界获得危险数据,影响核心处理器的安全性。
发明内容
为解决上述技术问题,本发明实施例期望提供一种数据交互的方法、设备及计算机可读存储介质,提高了数据交互的安全性。
本发明的技术方案是这样实现的:
本发明实施例提供了一种数据交互的方法,通过存储器实现第一处理器与第二处理器之间的数据交互;该方法包括:
所述第一处理器获取第一写控制信号;
所述第一处理器根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据;
所述第一处理器获取所述第一类数据。
上述方案中,所述第一处理器根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据,包括:
所述第一处理器根据所述第一写控制信号生成写允许标识;
通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
上述方案中,所述第一处理器根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据,还包括:
所述第一处理器根据所述第一写控制信号生成第二写控制信号;
所述通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据,包括:
当所述第二写控制信号满足预设的写允许条件时,通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
上述方案中,在所述第一处理器根据所述第一写控制信号生成第二写控制信号之后,所述方法还包括:根据所述第二写控制信号生成第三写控制信号,所述第三写控制信号用于触发所述第二处理器对所述存储器的写操作;
所述预设的写允许条件包括:根据所述第二写控制信号生成的第三写控制信号有效。
上述方案中,所述第三写控制信号为低电平信号时有效;所述根据所述第二写控制信号生成第三写控制信号,包括:
控制所述第二写控制信号输入至或门的第一输入端;所述第二处理器的写使能信号输入至所述或门的第二输入端;所述或门的输出端输出所述第三写控制信号;
或者,所述第三写控制信号为高电平信号时有效;所述根据所述第二写控制信号生成第三写控制信号,包括:
控制所述第二写控制信号输入至与门的第一输入端;所述第二处理器的写使能信号输入至所述与门的第二输入端;所述与门的输出端输出所述第三写控制信号。
上述方案中,所述第一处理器根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据,还包括:
设置写允许时间;
所述通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据,包括:
在所述写允许时间内,通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
上述方案中,所述存储器包括:双向存储区和备份存储区;
所述控制第二处理器向所述存储器写入第一类数据,包括:控制所述第二处理器向所述双向存储区写入第一类数据,向所述备份存储区写入第一类数据;
相应的,所述获取所述第一类数据,包括:所述第一处理器获取所述双向存储区中的第一类数据和所述备份存储区中的第一类数据;所述备份存储区中的第一类数据用于校验所述双向存储区中的第一类数据。
上述方案中,在所述第一处理器获取写控制信号之前,所述方法还包括:
所述第一处理器向所述存储器写入第二类数据,使所述第二处理器获取所述第二类数据。
上述方案中,所述存储器为双口随机存取存储器。
本发明实施例中还提供了一种数据交互设备,其特征在于,所述设备包括:第一处理器;所述第一处理器,用于通过存储器实现与第二处理器之间的数据交互;
所述第一处理器,还用于获取第一写控制信号;根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据;获取所述第一类数据。
上述方案中,所述第一处理器,具体用于根据所述第一写控制信号生成写允许标识;
通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
上述方案中,所述第一处理器,还用于根据所述第一写控制信号生成第二写控制信号;
当所述第二写控制信号满足预设的写允许条件时,通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
上述方案中,所述第一处理器,还用于根据所述第二写控制信号生成第三写控制信号,所述第三写控制信号用于触发所述第二处理器对所述存储器的写操作;
所述预设的写允许条件包括:根据所述第二写控制信号生成的第三写控制信号有效。
上述方案中,所述第三写控制信号为低电平信号时有效;所述第一处理器,具体用于控制所述第二写控制信号输入至或门的第一输入端;所述第二处理器的写使能信号输入至所述或门的第二输入端;所述或门的输出端输出所述第三写控制信号;
或者,所述第三写控制信号为高电平信号时有效;所述第一处理器,具体用于控制所述第二写控制信号输入至与门的第一输入端;所述第二处理器的写使能信号输入至所述与门的第二输入端;所述与门的输出端输出所述第三写控制信号。
上述方案中,所述第一处理器,还用于设置写允许时间;
在所述写允许时间内,通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
上述方案中,所述存储器包括:双向存储区和备份存储区;
所述第一处理器,具体用于控制所述第二处理器向所述双向存储区写入第一类数据,向所述备份存储区写入第一类数据;
获取所述双向存储区中的第一类数据和所述备份存储区中的第一类数据;所述备份存储区中的第一类数据用于校验所述双向存储区中的第一类数据。
本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于被第一处理器执行,所述第一处理器用于通过存储器实现与第二处理器之间的数据交互;该计算机程序被第一处理器执行时实现上述任一项所述的方法的步骤。
本发明实施例提供的一种数据交互的方法、设备及计算机可读存储介质,通过存储器实现第一处理器与第二处理器之间的数据交互,具体的,第一处理器获取第一写控制信号;根据第一写控制信号,控制第二处理器向存储器写入第一类数据;第一处理器获取第一类数据。采用上述技术方案,在数据交互过程中,第二处理器向第一处理器发送数据并不是无条件的发送或者由第二处理器自身来控制发送,而是通过第一处理器控制第二处理器对存储器的写操作,由于第一处理器具有较高的安全性,因此也以保证第二处理器发送的数据的安全性。如此,提高了数据交互过程中数据的安全性。
附图说明
图1为本发明实施例中数据交互的方法的第一实施例的流程示意图;
图2为本发明第一实施例中数据交互的系统的组成结构示意图;
图3为本发明实施例中数据交互的方法的第二实施例的流程示意图;
图4为本发明第二实施例中数据交互的系统的组成结构示意图;
图5为本发明第二实施例中第一处理器的工作流程示意图;
图6为本发明第二实施例中第二处理器的工作流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例中,通过存储器实现第一处理器与第二处理器之间的数据交互。这里,第一处理器和第二处理器可以是中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。存储器可以是多端口存储器,例如:双端口的静态随机存取存储器(Static Random Access Memory,SRAM),双口随机存取存储器(Random-Access Memory,RAM),先进先出(First In First Out,FIFO)存储器等。
图1为本发明实施例中数据交互的方法的第一实施例的流程示意图,如图1所示,该方法包括:
步骤11:第一处理器获取第一写控制信号。
在实际实施时,第一写控制信号用于控制第二处理器向存储器中写入第一类数据,第一类数据是指第二处理器向第一处理器发送的数据。
本发明实施例中,当存储器为双端口存储器时,存储器的第一端口连接第一处理器,第二端口连接第二处理器,存储器第二端口的写使能由第一端口连接的第一处理器来控制,只有在第一处理器获取到第一写控制信号后,才允许第二处理器对通过第二端口对存储器执行写操作,否则,一律禁止。在正常运行时,同一时刻只允许一个处理器对存储器执行读或写操作。
示例性的,第一写控制信号可以是由第一处理器内部生成的,如:预先设定写控制条件,当第一处理器确定写控制条件满足时生成第一写控制信号;或者由第一处理器从外部接收到的,如:通过按键输入的控制信号。
步骤12:第一处理器根据第一写控制信号,控制第二处理器向存储器写入第一类数据。
在实际实施时,第一处理器根据第一写控制信号生成写允许标识,通过写允许标识控制第二处理器向存储器写入第一类数据。
示例性的,第一处理器将写允许标识发送至存储器中,当第二处理器向第一处理器发送数据时,先读取存储器中的写允许标识,判断第一处理器是否允许第二处理器向存储器中写入数据,如果是,第二处理器将待发送的数据写入存储器中,否则,第二处理器不能向存储器中写入数据。
在实际实施时,第一类数据的帧格式可以是自定义的,如:第一类数据包括:数据内容、报文编号、校验码,报文编号用于校验报文的连续性,校验码用于校验报文的完整性。
示例性的,第一类数据可以按照表1中的格式组帧。
表1
长度 |
特征码 |
第二处理器侧报文编号 |
第一处理器侧报文编号 |
数据内容 |
校验码 |
其中,(1)长度表示的是报文中数据内容的长度;
(2)特征码标识该报文的类型;
(3)第二处理器侧报文编号为第二处理器向第一处理器发送报文的报文编号,报文编号取值可以从0到65535,报文编号用于校验报文的连续性,通讯正常时相邻两帧报文的报文编号不同,如:报文编号连续时,确定通讯正常;报文编号相同时,确定本次报文为上一次接收到的报文,则忽略本次报文;报文编号不连续时,确定报文丢失;
(4)第一处理器侧报文编号为第一处理器向第二处理器发送报文的报文编号,用于校验第一处理器向第二处理器发送的报文的连续性;
(5)数据内容根据不同的报文类型有不同的定义,可以是具体的数据内容,也可以为空;
(6)校验码用于校验报文的完整性,如:循环冗余校验(Cyclic RedundancyCheck,CRC)校验码。
另一种可选的实施方式是,第一处理器根据第一写控制信号生成写允许标识,第一处理器根据第一写控制信号生成第二写控制信号;当第二写控制信号满足预设的写允许条件时,通过写允许标识控制第二处理器向存储器写入第一类数据。
进一步的,根据第二写控制信号生成第三写控制信号,第三写控制信号用于触发第二处理器对所述存储器的写操作。本发明实施例中,预设的写允许条件可以是:根据第二写控制信号生成的第三写控制信号有效。
示例性的,当第三写控制信号为低电平信号时有效时,根据第二写控制信号生成第三写控制信号,可以包括:控制第二写控制信号输入至或门的第一输入端;第二处理器的写使能信号输入至或门的第二输入端;或门的输出端输出第三写控制信号。即当第二写控制信号为低电平信号,且第二处理器的使能信号为低电平信号时,或门输出的第三写控制信号有效。
当第三写控制信号为高电平信号时有效时,根据第二写控制信号生成第三写控制信号,可以包括:控制第二写控制信号输入至与门的第一输入端;第二处理器的写使能信号输入至与门的第二输入端;与门的输出端输出第三写控制信号。即当第二写控制信号为高电平信号,且第二处理器的使能信号为高电平信号时,与门输出的第三写控制信号有效。
本发明实施例中,第二处理器的写使能信号为第二处理器向存储器发送的写控制信号,当第二写控制信号指示允许写入时,第二处理器对存储器的写操作受第二处理器输出的写使能信号控制;当第二写控制信号指示禁止写入时,第二处理器无法执行对存储器的写操作。
步骤13:第一处理器获取所第一类数据。
在实际实施时,第二处理器写完成后生成写完成标识,并将写完成标识写入存储器,第一处理器通过校验写完成标识确定本次数据写完成,读取存储器中的第一类数据并校验。
一种可选的实施方式是,存储器包括:双向存储区和备份存储区,其中,双向存储区中存储第二处理器向第一处理器发送的第一类数据,备份存储区可以存储第二处理器向第一处理器发送的所有第一类数据的备份数据,或者只存储安全性要求较高的第一类数据的备份数据,使第一处理器读取双向存储区和备份存储区数据进行比较,判断接收到的数据是否正确。
相应的,控制第二处理器向存储器写入第一类数据,可以包括:控制第二处理器向双向存储区写入第一类数据,向备份存储区写入第一类数据;
相应的,获取第一类数据,可以包括:第一处理器获取双向存储区中的第一类数据,和备份存储区中的第一类数据;备份存储区中的第一类数据用于校验双向存储区中的第一类数据。
在实际实施时,第一处理器向第二处理器发送数据的过程可以与上述第二处理器向第一处理器发送数据的过程相同,也可以不同。例如:当第一处理器的安全性较高时,第一处理器可以通过存储器直接向第二处理器下发数据,无需由第二处理器器控制第一处理器对存储器的写入操作。
图2为本发明第一实施例中数据交互的系统的组成结构示意图,根据本发明第一实施例中给出的数据交互的方法,示例性的给出了一种数据交互系统。如图2所示,该系统包括:第一处理器21、存储器22、第二处理器23和或门24。其中,存储器22包括:双向存储区221和备份存储区222,双向存储区221是第一处理器21和第二处理器23均可以操作,该区用于缓存两处理器之间数据交互的报文,备份存储区222用于存储第二处理器23传给第一处理器21的数据的备份,用于校验第二处理器23写入双向存储区221中的数据的一致性。
上述系统中,第一处理器控制第二处理器对存储区的写操作,当第一处理器接收到第一写控制信号时,一方面,第一处理器根据第一写控制信号生成写允许标识,将写允许标识写入双向存储区中,第二处理器读取写允许标识,判断是否可以对存储器执行写操作;另一方面,第一处理器根据第一写控制信号生成第二写控制信号,第二写控制信号和第二处理器的写使能信号输入至或门进行或逻辑运算,得到第三写控制信号,第三写控制信号控制第二处理器对存储器的写操作。
本发明实施例中,通过第一处理器控制第二处理器对存储器的写操作,保证了数据交互过程中的安全性,进一步的,通过设置写允许从软件上对写入操作进行控制;通过第二写控制信号控制第二处理器的写使能信号是否有效,当第二写控制信号指示允许写入时,第二处理器可以对存储器执行写操作,当第二写控制信号指示禁止写入时,第二处理器不可以对存储器执行写操作,将第一处理器与第二处理器隔离,实现了从硬件上隔绝外部非安全处理器对安全处理器的操作,增强了系统的抗干扰性,提高了系统的可靠性和安全性。
本发明实施例中,通过存储器实现第一处理器与第二处理器之间的数据交互,具体的,第一处理器获取第一写控制信号;根据第一写控制信号,控制第二处理器向存储器写入第一类数据;第一处理器获取第一类数据。采用上述技术方案,在数据交互过程中,第二处理器向第一处理器发送数据并不是无条件的发送或者由第二处理器自身来控制发送,而是通过第一处理器控制第二处理器对存储器的写操作,由于第一处理器具有较高的安全性,因此也以保证第二处理器发送的数据的安全性。如此,提高了数据交互过程中数据的安全性。
第二实施例
为了能更加体现本发明的目的,在本发明第一实施例的基础上,以第一处理器是服务器端CPU1,第二处理器是客户端CPU2为例,进行进一步的举例说明。
图3为本发明实施例中数据交互的方法的第二实施例的流程示意图,如图3所示,该方法包括:
步骤31:服务器端CPU1向存储器写入第二类数据。
步骤32:客户端CPU2读取第二类数据并校验。
在实际实施时,由于服务器端具有较高的安全性,因此服务器端CPU1在向外界的客户端处理器下发数据时,只需将需要下发的第二类数据写入存储器中,CPU2读取第二类数据并校验。
可选的,存储器可以包括:单向存储区、双向存储区和备份存储区。其中,单向用于存储第一处理器向第二处理器发送的第二类数据,单向存储区的数据流是单向的,即由CPU1侧到CPU2侧,方向不可逆,CPU1可以对单向存储区进行写操作,CPU2可以对单向存储区进行读操作;双向存储区的数据流是双向的,CPU1和CPU2均可以进行读写操作;备份存储区的数据流是单向的,其中存储的数据与双向存储区中的数据一致。
示例性的,CPU1可以按固定周期更新单向存储区中的第二类数据,CPU2读取第二类数据并校验。CPU2将需要上传CPU1的第一类数据写入双向存储区和备份存储区,双向存储区还用于存储CPU1与CPU2之间的应答报文。
本发明实施例中,通过将存储器划分为三个不同的存储区,实现了对存储器的合理分区,减少了第一处理器与第二处理器之间的通讯干扰,提高了数据校验强度。
步骤33:CPU1获取第一写控制信号。
在实际实施时,第一写控制信号可以是服务器端通过按键输入的控制信号。
步骤34:CPU1根据第一写控制信号将双向存储区中的写允许标识置为有效,并输出低电平信号以触发CPU2对存储器的写操作。
在实际实施时,CPU1根据第一写控制信号通过软件和硬件两方面来控制CPU2对存储器的写操作,软件上是通过更新写允许标识,硬件上是通过输出第二写控制信号来控制CPU2对存储器的写操作。
示例性的,存储器为双口RAM时,双口RAM的第一侧端口连接CPU1,第二侧端口连接CPU2,双口RAM包括第一侧和第二侧读/写控制引脚,通过控制第一侧和第二侧读/写控制引脚,触发CPU1或CPU2对双口RAM的读/写操作而不发生冲突。当双口RAM的第二侧写控制信号有效时,触发CPU2对双口RAM的写操作。
具体的,双口RAM的第二侧写控制信号为低电平有效,CPU1输出的低电平信号输入至或门的第一输入端;CPU2输出的写使能信号输入至或门的第二输入端;或门的输出端输出双口RAM的第二侧写控制信号。这里,当CPU1输出低电平信号时,确定当前时刻CPU1允许CPU2向其发送数据,即允许CPU2向存储器写入数据;当CPU1输出高电平信号时,或门的输出端输出高电平信号,确定当前时刻CPU1禁止CPU2向其发送数据,即禁止CPU2向存储器写入数据。如此,通过CPU1输出的高/低电平信号可以来控制CPU2对双口RAM的写操作。
可选的,CPU1获取到写控制信号之后,还包括:设置写允许时间,在写允许时间内,通过写允许标识控制CPU2向存储器写入第一类数据;在写允许时间之外,通过写允许标识禁止CPU2向存储器写入第一类数据。
步骤35:CPU2读取写允许标识,判断写允许标识是否有效,如果是,执行步骤36;如果否,继续执行步骤35。
示例性的,写允许标识为1时有效,写允许标识为0时无效。
步骤36:控制CPU2向双向存储区和备份存储区写入第一类数据。
在实际实施时,CPU2将待写入的第一类数据按照自定义的帧格式封装成帧报文,并将帧报文写入双向存储区和备份存储区。
步骤37:CPU1从双向存储区和备份存储区读取第一类数据并校验。
在实际实施时,CPU1从双向存储区和备份存储区读取第一类数据后,先对双向存储区中的数据进行校验,如果不正确直接丢弃;如果正确还需比较双向存储区和备份存储区中的数据是否完全一致,如果一致,CPU1才会对获得的数据进行进一步的操作,并生成回复报文,将回复报文写入双向存储区,由CPU2检测回复报文。
示例性的,CPU1对第一类数据进行CRC校验、奇偶校验或其他检验。
步骤38:判断是否到达写允许时间,如果是,执行步骤39;如果否,返回步骤36。
步骤39:CPU1将双向存储区中的写允许标识置为无效,并输出高电平信号以禁止CPU2对存储器的写操作。
在实际实施时,CPU2对存储器的写操作是有时间限制的,即需要设置写允许时间,当CPU1允许CPU2对存储器执行写操作时,启动定时器,当写允许时间到达后,CPU1将写允许标识置为无效,并且输出高电平信号以禁止CPU2对存储器的写操作。
图4为本发明第二实施例中数据交互的系统的组成结构示意图,如图4所示,该系统包括:服务器端CPU1 41、存储器42、客户端CPU2 43和或门44。其中,存储器42包括:单向存储区421、双向存储区422和备份存储区423。
上述系统中,CPU1通过单向存储区向CPU2写入第二类数据,CPU1控制CPU2对双向存储区和备份存储区的写操作,当CPU1接收到第一写控制信号时,一方面,CPU1根据第一写控制信号生成写允许标识,将写允许标识写入双向存储区中,CPU2读取写允许标识,判断是否可以对存储器执行写操作;另一方面,CPU1根据第一写控制信号输出低电平信号或高电平信号,与CPU2的写使能信号输入至或门进行或逻辑运算,得到第三写控制信号,第三写控制信号控制CPU2对存储器的写操作。
下面对CPU1和CPU2的工作流程进行示例性的说明。
图5为本发明第二实施例中第一处理器的工作流程示意图,如图5所示,CPU1的工作流程如下:
步骤51:更新双口RAM单向存储区数据;
步骤52:根据获取的第一写控制信号,更新写允许标识;
步骤53:读取双向存储区写完成标识;
步骤54:判断CPU2是否写完成,如果是,执行步骤55;如果否,执行步骤57;
步骤55:读取双向存储区和备份存储区中的数据;
步骤56:校验数据并回复报文;
示例性的,CPU1校验数据的连续性和完整性,根据校验结果生成回复报文,并将回复报文写入双向存储区,用于CPU2获知本次数据的发送结果。
步骤57:产生外部中断。
这里,CPU1在当前任务执行完毕后产生一个外部中断给CPU2,CPU2响应外部中断后立即执行图6所示的中断任务。
图6为本发明第二实施例中第二处理器的工作流程示意图,如图6所示,CPU2的工作流程如下:
步骤61:读取双口RAM单向存储区数据并解析;
步骤62:读取写允许标识;
步骤63:判断写允许标识是否有效,如果是,执行步骤64;如果否,执行步骤67;
步骤64:更新数据到双向存储区和备份存储区;
步骤65:判断数据是否更新完成,如果是,执行步骤66;如果否,执行步骤67;
本步骤中,判断CPU2是否写入完成,如果是,生成写完成标识,并将写完成标识写入至双向存储区,CPU1通过检测写完成标识,从存储区读取数据;如果未完成,则在下一个中断中继续写。
步骤66:生成写完成标识;
步骤67:检测应答报文。
这里,CPU2将数据写入至存储区后,通过检测应答报文来确定CPU1是否接收到,如果未接收到或者接收到错误数据,CPU2需要重新写入,或者确定当前写入数据已经篡改。
第三实施例
基于同一发明构思,本发明实施例还提供了一种数据交互设备,该设备包括:第一处理器;第一处理器,用于通过存储器实现与第二处理器之间的数据交互;
第一处理器,还用于获取第一写控制信号;根据第一写控制信号,控制第二处理器向存储器写入第一类数据;获取第一类数据。
在实际实施时,第一处理器,具体用于根据第一写控制信号生成写允许标识;
通过写允许标识控制第二处理器向存储器写入第一类数据。
在实际实施时,第一处理器,还用于根据第一写控制信号生成第二写控制信号;
当第二写控制信号满足预设的写允许条件时,通过写允许标识控制第二处理器向存储器写入第一类数据。
在实际实施时,第一处理器,还用于根据第二写控制信号生成第三写控制信号,第三写控制信号用于触发第二处理器对存储器的写操作;
预设的写允许条件包括:根据第二写控制信号生成的第三写控制信号有效。
在实际实施时,第三写控制信号为低电平信号时有效;第一处理器,具体用于控制第二写控制信号输入至或门的第一输入端;第二处理器的写使能信号输入至或门的第二输入端;或门的输出端输出第三写控制信号;
或者,第三写控制信号为高电平信号时有效;第一处理器,具体用于控制第二写控制信号输入至与门的第一输入端;第二处理器的写使能信号输入至与门的第二输入端;与门的输出端输出第三写控制信号。
在实际实施时,第一处理器,还用于设置写允许时间;
在写允许时间内,通过写允许标识控制第二处理器向存储器写入第一类数据。
在实际实施时,存储器包括:双向存储区和备份存储区;
第一处理器,具体用于控制第二处理器向双向存储区写入第一类数据,向备份存储区写入第一类数据;
获取双向存储区中的第一类数据和备份存储区中的第一类数据;备份存储区中的第一类数据用于校验双向存储区中的第一类数据。
在实际实施时,第一处理器,还用于向存储器写入第二类数据,使第二处理器获取第二类数据。
在实际实施时,存储器可以为双口RAM。
在实际应用中,处理器可以是CPU、MPU、DSP、或FPGA等,存储器可以是多端口存储器,在实际实施时允许多个处理器同时连接的存储器均可以实现被发明实施例中的第一处理器与第二处理器之间的数据交互。
第四实施例
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于被第一处理器执行,第一处理器用于通过存储器实现与第二处理器之间的数据交互;该计算机程序被第一处理器执行时,以完成前述方法步骤。
示例性的,该计算机存储介质可以是前述方法或处理器实施例中的存储器,也可以是独立的存储器。独立的存储器可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-StateDrive);或者上述种类的存储器的组合。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (17)
1.一种数据交互的方法,其特征在于,通过存储器实现第一处理器与第二处理器之间的数据交互;所述方法包括:
所述第一处理器获取第一写控制信号;
所述第一处理器根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据;
所述第一处理器获取所述第一类数据。
2.根据权利要求1所述的方法,其特征在于,所述第一处理器根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据,包括:
所述第一处理器根据所述第一写控制信号生成写允许标识;
通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
3.根据权利要求2所述的方法,其特征在于,所述第一处理器根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据,还包括:
所述第一处理器根据所述第一写控制信号生成第二写控制信号;
所述通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据,包括:
当所述第二写控制信号满足预设的写允许条件时,通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
4.根据权利要求3所述的方法,其特征在于,在所述第一处理器根据所述第一写控制信号生成第二写控制信号之后,所述方法还包括:根据所述第二写控制信号生成第三写控制信号,所述第三写控制信号用于触发所述第二处理器对所述存储器的写操作;
所述预设的写允许条件包括:根据所述第二写控制信号生成的第三写控制信号有效。
5.根据权利要求4所述的方法,其特征在于,所述第三写控制信号为低电平信号时有效;所述根据所述第二写控制信号生成第三写控制信号,包括:
控制所述第二写控制信号输入至或门的第一输入端;所述第二处理器的写使能信号输入至所述或门的第二输入端;所述或门的输出端输出所述第三写控制信号;
或者,所述第三写控制信号为高电平信号时有效;所述根据所述第二写控制信号生成第三写控制信号,包括:
控制所述第二写控制信号输入至与门的第一输入端;所述第二处理器的写使能信号输入至所述与门的第二输入端;所述与门的输出端输出所述第三写控制信号。
6.根据权利要求2所述的方法,其特征在于,所述第一处理器根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据,还包括:
设置写允许时间;
所述通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据,包括:
在所述写允许时间内,通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
7.根据权利要求1所述的方法,其特征在于,所述存储器包括:双向存储区和备份存储区;
所述控制第二处理器向所述存储器写入第一类数据,包括:控制所述第二处理器向所述双向存储区写入第一类数据,向所述备份存储区写入第一类数据;
相应的,所述获取所述第一类数据,包括:所述第一处理器获取所述双向存储区中的第一类数据和所述备份存储区中的第一类数据;所述备份存储区中的第一类数据用于校验所述双向存储区中的第一类数据。
8.根据权利要求1所述的方法,其特征在于,在所述第一处理器获取写控制信号之前,所述方法还包括:
所述第一处理器向所述存储器写入第二类数据,使所述第二处理器获取所述第二类数据。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述存储器为双口随机存取存储器。
10.一种数据交互设备,其特征在于,所述设备包括:第一处理器;所述第一处理器,用于通过存储器实现与第二处理器之间的数据交互;
所述第一处理器,还用于获取第一写控制信号;根据所述第一写控制信号,控制所述第二处理器向所述存储器写入第一类数据;获取所述第一类数据。
11.根据权利要求10所述的设备,其特征在于,所述第一处理器,具体用于根据所述第一写控制信号生成写允许标识;
通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
12.根据权利要求11所述的设备,其特征在于,所述第一处理器,还用于根据所述第一写控制信号生成第二写控制信号;
当所述第二写控制信号满足预设的写允许条件时,通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
13.根据权利要求12所述的设备,其特征在于,所述第一处理器,还用于根据所述第二写控制信号生成第三写控制信号,所述第三写控制信号用于触发所述第二处理器对所述存储器的写操作;
所述预设的写允许条件包括:根据所述第二写控制信号生成的第三写控制信号有效。
14.根据权利要求13所述的设备,其特征在于,所述第三写控制信号为低电平信号时有效;所述第一处理器,具体用于控制所述第二写控制信号输入至或门的第一输入端;所述第二处理器的写使能信号输入至所述或门的第二输入端;所述或门的输出端输出所述第三写控制信号;
或者,所述第三写控制信号为高电平信号时有效;所述第一处理器,具体用于控制所述第二写控制信号输入至与门的第一输入端;所述第二处理器的写使能信号输入至所述与门的第二输入端;所述与门的输出端输出所述第三写控制信号。
15.根据权利要求11所述的设备,其特征在于,所述第一处理器,还用于设置写允许时间;
在所述写允许时间内,通过所述写允许标识控制所述第二处理器向所述存储器写入第一类数据。
16.根据权利要求10所述的设备,其特征在于,所述存储器包括:双向存储区和备份存储区;
所述第一处理器,具体用于控制所述第二处理器向所述双向存储区写入第一类数据,向所述备份存储区写入第一类数据;
获取所述双向存储区中的第一类数据和所述备份存储区中的第一类数据;所述备份存储区中的第一类数据用于校验所述双向存储区中的第一类数据。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于被第一处理器执行,所述第一处理器用于通过存储器实现与第二处理器之间的数据交互;
该计算机程序被第一处理器执行时实现权利要求1至9任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710846959.0A CN107577562B (zh) | 2017-09-19 | 2017-09-19 | 一种数据交互的方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710846959.0A CN107577562B (zh) | 2017-09-19 | 2017-09-19 | 一种数据交互的方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107577562A true CN107577562A (zh) | 2018-01-12 |
CN107577562B CN107577562B (zh) | 2021-02-09 |
Family
ID=61036061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710846959.0A Active CN107577562B (zh) | 2017-09-19 | 2017-09-19 | 一种数据交互的方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577562B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023019594A1 (zh) * | 2021-08-20 | 2023-02-23 | 华为技术有限公司 | 数据传输电路、芯片和终端 |
CN116627867A (zh) * | 2023-07-25 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 数据交互系统、方法、大规模运算处理方法、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770062A (zh) * | 2004-09-30 | 2006-05-10 | 因芬尼昂技术股份公司 | 用于控制两处理器之间的数据通信的方法和双处理器装置 |
CN101013414A (zh) * | 2007-02-14 | 2007-08-08 | 中兴通讯股份有限公司 | 一种双处理器间的通讯方法 |
CN101876964A (zh) * | 2009-11-16 | 2010-11-03 | 北京华力创通科技股份有限公司 | 一种芯片的片上多处理器结构 |
CN101882127A (zh) * | 2010-06-02 | 2010-11-10 | 湖南大学 | 一种多核心处理器 |
CN104834504A (zh) * | 2015-04-28 | 2015-08-12 | 江苏宏云技术有限公司 | 基于mcu和dsp主从协同工作的soc双核架构及其工作方法 |
CN106878976A (zh) * | 2016-01-27 | 2017-06-20 | 努比亚技术有限公司 | 移动终端及双系统的数据共享方法 |
-
2017
- 2017-09-19 CN CN201710846959.0A patent/CN107577562B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770062A (zh) * | 2004-09-30 | 2006-05-10 | 因芬尼昂技术股份公司 | 用于控制两处理器之间的数据通信的方法和双处理器装置 |
CN101013414A (zh) * | 2007-02-14 | 2007-08-08 | 中兴通讯股份有限公司 | 一种双处理器间的通讯方法 |
CN101876964A (zh) * | 2009-11-16 | 2010-11-03 | 北京华力创通科技股份有限公司 | 一种芯片的片上多处理器结构 |
CN101882127A (zh) * | 2010-06-02 | 2010-11-10 | 湖南大学 | 一种多核心处理器 |
CN104834504A (zh) * | 2015-04-28 | 2015-08-12 | 江苏宏云技术有限公司 | 基于mcu和dsp主从协同工作的soc双核架构及其工作方法 |
CN106878976A (zh) * | 2016-01-27 | 2017-06-20 | 努比亚技术有限公司 | 移动终端及双系统的数据共享方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023019594A1 (zh) * | 2021-08-20 | 2023-02-23 | 华为技术有限公司 | 数据传输电路、芯片和终端 |
CN116627867A (zh) * | 2023-07-25 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 数据交互系统、方法、大规模运算处理方法、设备及介质 |
CN116627867B (zh) * | 2023-07-25 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 数据交互系统、方法、大规模运算处理方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107577562B (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104683142B (zh) | 用于飞行器上的数据传输管理的系统和方法 | |
CN105843694B (zh) | 可独立操作的处理器之间错误信息的受控恢复方法和装置 | |
CN103309344B (zh) | 验证安全关键的交通工具控制系统的完整性的系统和方法 | |
EP2527985B1 (en) | System and method for 1553 bus operation self checking | |
EP3839784A1 (en) | Flooding prevention and suspension detection & bumpless controller replacement for message modification attacks | |
CN102207913B (zh) | 嵌入式系统中写保护的控制方法和装置 | |
CN109634171B (zh) | 双核双锁步二取二架构及其安全平台 | |
CN104991528A (zh) | Dcs信息安全控制方法及控制站 | |
CN107577562A (zh) | 一种数据交互的方法、设备及计算机可读存储介质 | |
JP2016515249A (ja) | 階層化された仮想マシンインテグリティモニタリング | |
CN104914815A (zh) | 处理器监控方法、装置及系统 | |
US20220171855A1 (en) | Electronic control device and security verification method for electronic control device | |
US9256223B2 (en) | Safety interlock device for a plant | |
CN102521086A (zh) | 基于锁步同步的双模冗余系统及其实现方法 | |
CN103365799A (zh) | 检测对掉电设备的访问 | |
EP3361335B1 (en) | Safety controller using hardware memory protection | |
CN106547606A (zh) | 堆栈自检方法及装置 | |
CN107678879A (zh) | 一种用于总线及存储单元数据块实时校验的装置与方法 | |
CN202771317U (zh) | 一种基于divbit 技术的安全计算机 | |
US8280530B2 (en) | Plant control system | |
KR102163762B1 (ko) | 자율 주행 제어기의 에러 처리를 위한 방법 | |
CN201489524U (zh) | 代码完整性校验电路 | |
KR102102335B1 (ko) | 이중 메모리 구조 및 이를 이용한 plc의 메시지 처리 방법 | |
CN106502929A (zh) | 一种目标设备、一种内存数据的处理方法及装置 | |
US10990457B2 (en) | Interposition |
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 |