CN115525935B - 多安全芯片的并发数据运算方法、装置、设备及存储介质 - Google Patents
多安全芯片的并发数据运算方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115525935B CN115525935B CN202211276825.7A CN202211276825A CN115525935B CN 115525935 B CN115525935 B CN 115525935B CN 202211276825 A CN202211276825 A CN 202211276825A CN 115525935 B CN115525935 B CN 115525935B
- Authority
- CN
- China
- Prior art keywords
- instruction
- data
- channel
- sent
- target channel
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0012—High speed serial bus, e.g. IEEE P1394
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/40—Bus coupling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种多安全芯片的并发数据运算方法、装置、设备及存储介质,本申请属于安全通信技术领域。该方法包括:识别SPI接口的消息发送队列中是否存在待发送指令;若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;若存在,则将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。本技术方案,可以提高数据加密处理效率,节省对上位机硬件占用的资源。
Description
技术领域
本申请属于安全通信技术领域,具体涉及一种多安全芯片的并发数据运算方法、装置、设备及存储介质。
背景技术
近年来随着互联网行业的发展,智能驾驶应运而生,包括车内导航系统、车辆安全数据监测,以及交通堵塞提醒等。通过通信技术将车辆信息汇集到中央处理器,中央处理器将上述信息进行分析处理实现车与车、车与人以及车与平台等方面的信息交互。因此,车联网SPI高速安全通信研究成为了人们研究的热点。
当前车联网SPI实现车载系统通信网关高速密码运算的方法主要是利用双路SPI同时进行数据的输入输出,其中每一路SPI与一个加密芯片相连,在上位机接收到需要进行加密的数据指令后,通过轮询选择空闲的一路SPI通道,并将该通道状态切换至使用状态并将数据指令发送至对应的芯片。芯片接收到上述数据指令后对其进行加密运算,上位机通过不断检查下位机的芯片状态对已生成加密结果的芯片进行数据接收,并将该SPI通道切换至空闲状态。为了提高数据处理的速率,当前主要依靠增加SPI的接口数量来增加安全芯片的数量。
上述SPI并行实现对数据加密运算的方法中存在所需SPI接口通道较多,加密效率较低的问题。由于SPI的通道接口数量是有限的,过多的通道接口数量对上位机的硬件资源占用较大,并且数据处理速率无法得到有效提升。同时,由于现有技术中下位机只负责执行加密指令,若数据收发过程中出现的问题,无法做到有效的校正。
发明内容
本申请实施例提供一种多安全芯片的并发数据运算方法、装置、设备及存储介质,能够解决当前利用SPI无法实现对车载数据进行高速加密处理的问题。本申请实施例通过利用同一个SPI接口连接多个安全芯片,可以提高数据加密处理的速率,同时不同的安全芯片对应不同的SPI通道,可以实现对数据加密运算过程的收发效率。
第一方面,本申请实施例提供了一种多安全芯片的并发数据运算方法,所述方法由上位机执行;所述上位机通过一个SPI接口与至少两个安全芯片连接,每个安全芯片对应一个SPI通道,所述方法包括:
识别SPI接口的消息发送队列中是否存在待发送指令;
若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;
将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。
进一步的,通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算,包括:
创建待发送指令处理线程;
通过所述待发送指令处理线程将所述目标通道的通道状态切换至使用状态,并将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
相应的,若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态,包括:
通过所述待发送指令处理线程轮询所述指令数据的运算结果;
若通过目标通道接读取所述运算结果,则将所述运算结果发送至响应消息队列;
将所述目标通道的通道状态切换至空闲状态。
进一步的,在通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算之后,所述方法还包括:
若通过所述目标通道接收到完整性异常数据块,则对所述待发送指令的指令数据进行重新发送。
进一步的,在对所述待发送指令的指令数据进行重新发送之后,所述方法还包括:
若触发对所述待发送指令的指令数据进行重新发送的次数达到预设次数,则发出警报信息。
进一步的,在通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算的过程中或者之后,所述方法还包括:
若存在收发同步触发事件,则通过所述目标通道向安全芯片发出同步数据块,以使所述安全芯片进行复位操作。
进一步的,所述同步数据块用于供所述安全芯片接收后,中断功能被触发,以进行复位操作。
进一步的,所述至少两个安全芯片共用所述SPI接口的CLK引脚、MOSI引脚以及MISO引脚;所述至少两个安全芯片中的一个安全芯片与所述上位机的CS引脚连接,所述至少两个安全芯片中的其他安全芯片与所述上位机的GPIO引脚连接。
第二方面,本申请实施例提供了一种多安全芯片的并发数据运算装置,所述装置由上位机执行;所述上位机通过一个SPI接口与至少两个安全芯片连接,每个安全芯片对应一个SPI通道;所述装置包括:
待发送指令查询模块,用于识别SPI接口的消息发送队列中是否存在待发送指令;
目标通道确定模块,用于将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;
指令数据发送模块,用于将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
运算结果处理模块,用于将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,所述方法由上位机执行;所述上位机通过一个SPI接口与至少两个安全芯片连接,每个安全芯片对应一个SPI通道;识别SPI接口的消息发送队列中是否存在待发送指令;若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;若存在,则将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。通过上述多安全芯片的并发数据运算方法,可以提高数据的运算效率,通过一个SPI接口上连接多个安全芯片可以同时收发处理多条数据,既可以提高数据的收发效率,也可以节省对上位机硬件资源的占用。
附图说明
图1是本申请实施例一提供的多安全芯片的并发数据运算方法的流程示意图;
图2是本申请多安全芯片的并发数据运算原理的结构示意图;
图3是本申请实施例二提供的多安全芯片的并发数据运算方法的流程示意图;
图4是本申请实施例三提供的多安全芯片的并发数据运算方法的流程示意图;
图5是本申请实施例四提供的多安全芯片的并发数据运算方法的流程示意图;
图6是本申请实施例五提供的多安全芯片的并发数据运算装置的结构示意图;
图7是本申请实施例六提供的电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的多安全芯片的并发数据运算方法、装置、设备及存储介质进行详细地说明。
实施例一
图1是本申请实施例一提供的多安全芯片的并发数据运算方法的流程示意图。所述方法由上位机执行;所述上位机通过一个SPI接口与至少两个安全芯片连接,每个安全芯片对应一个SPI通道。如图1所示,具体包括如下步骤:
S101,识别SPI接口的消息发送队列中是否存在待发送指令。
首先,本方案的使用场景可以是需要对车联网系统进行数据加密的场景,具体的,可以是对车辆位置的实时定位、车辆速度的精准判断、交通事故的及时警告以及车辆导航等场景,还可以是高速路口对车辆的进出识别的场景。通过上位机识别是否存在待加密的数据指令,若存在,则寻找是否有空闲的SPI通道,将指令由空闲通道发送给对应的加密芯片,并读取该加密芯片的数据运算结果,以进行信息的安全发送。
基于上述使用场景,可以理解的,本申请的执行主体可以是上位机中的开发系统,例如控制软件、对下位机发布命令的处理器等,此处不做过多的限定。
在本方案中,上位机是指可以直接发出操控命令的计算机,下位机是直接控制设备获取设备状况的计算机。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。SPI(Serial Peripheral Interface,串行外设接口)是一种高速的、全双工、同步的通信总线。其中,高速可以是指SPI对数据的接收和发送的速率较快;全双工可以是能够实现数据的收发同步;同步可以是每条数据的输入输出可以与同一时间信号同步,能够判断数据的收发时刻。SPI可以是以主从方式工作,即一个主设备(上位机)对应一个或多个从设备(下位机),主设备负责接收外部指令并将指令数据发送给从设备,从设备接收到数据指令后执行例如加密处理、数据运算等操作。主设备通过不断巡查从设备的数据处理情况,将处理好的数据信息进行读取。
在本方案中,每个安全芯片对应一个SPI通道,所述SPI通道可以是与安全芯片相连,用于在上位机接收到数据处理指令后选择空闲的安全芯片的通道。具体的,可以是SPI接口中的CS(Chip Select)寻址引脚,主要作用为对从设备进行寻址,由主设备控制,以及GPIO(General Purpose Input Output)通用输入输出接口引脚。
在本方案中,消息队列可以被看作是一个存放消息的容器,具有先入先出的特点。用户可以将需要处理的消息上传至上位机,上位机按照指令格式将该信息存入消息队列中,当需要处理该消息指令时按照顺序取出。待发送指令可以是需要被安全芯片加密的操作指令,也可以是需要安全芯片进行解密的数据内容等,例如,需要被加密或者数据计算处理的数据指令。对SPI接口的识别方法可以是上位机处于一直对消息队列的查询状态,具体的,可以是通过编码不断对上述消息队列的数据进行筛选,将不同于上一轮筛选出的数据指令作为待发送指令。
基于上述实施例,可选的,所述方法执行的硬件设备可以是上位机,所述上位机通过一个SPI接口与至少两个安全芯片连接,每个安全芯片对应一个SPI通道。所述至少两个安全芯片共用所述SPI接口的CLK引脚、MOSI引脚以及MISO引脚;所述至少两个安全芯片中的一个安全芯片与所述上位机的CS引脚连接,所述至少两个安全芯片中的其他安全芯片与所述上位机的GPIO引脚连接。
图2是本申请实施例一提供的多安全芯片的并发数据运算原理的结构示意图。在本方案中,SPI接口通信时需要至少4根线,SPI接口可以是MISO(Master Input SlaveOutput)即主设备数据输入,从设备数据输出、MOSI(Master Output Slave Input)即主设备数据输出,从设备数据输入、CLK(Serial Clock)即时钟信号,由主设备产生、CS(ChipSelect)即从设备使能信号,主要作用为对从设备进行寻址,由主设备控制。SPI的主线中包括CLK引脚、MOSI引脚以及MISO引脚,其中CLK引脚主要用于对输入输出数据的时间判断,MOSI引脚用于将待处理的数据指令发送至下位机,MISO引脚用于将处理完成的数据发送回上位机。该主线与所有安全芯片连接,所有安全芯片共用上述主线中的引脚。所述SPI接口还可以包括GPIO(General Purpose Input Output),即通用输入输出接口,该接口与CS接口共同用于对从机的安全芯片进行选址,确定执行具体操作的从机芯片,其选址原理可以是上位机相对应下位机的CS线上发送片选信号,只有片选信号为对应下位机预先规定的使能信号时(高电位或低电位),该下位机被选中。
S102,若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道。
在本方案中,上位机识别到待发送指令以后,可以按照SPI接口的顺序,通过轮询的方式不断对与主线连接的各路SPI通道是否有空闲进行检查,若没有检查到空闲通道,则一直轮询。所述目标通道可以是无数据运算任务的空闲状态的通道,例如,完成上一数据运算指令后,已将处理结果反馈回上位机的通道。
S103,将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算。
在本方案中,上位机可以通过编码创建一个单独的线程,所述线程可以是对不同的SPI设备通道不断进行状态识别、切换的线程。在检测到有空闲状态的目标通道以后,上位机通过上述线程将此通道切换至使用中的状态,并将待处理的指令数据通过此目标通道发送至该通道对应的安全芯片进行指令数据运算。
S104,若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。
在本方案中,上位机可以对各个安全芯片数据处理结果的不断读取,识别该芯片是否完成数据运算任务,若读取到运算结果,则将此结果通过该芯片对应的SPI通道发送至上位机的响应消息队列中。所述响应消息队列可以用于存储安全芯片加密以后反馈的指令数据,该队列同样具有先入先出的特点。上位机读取到安全芯片反馈的数据以后,通过该线程将上述SPI通道切换至空闲状态并退出当前线程。所述当前线程可以是读取到反馈指令数据的线程,在数据指令处理结果反馈回上位机以后,上位机将不再对该线程的芯片继续进行处理结果的读取。上位机可以不断对响应消息队列中是否有新的消息进行查询,若查询到新的消息,将该消息进行解码,并把加密处理后的结果返回给对应用户。
本实施例所提供的技术方案,一种多安全芯片的并发数据运算方法包括:识别SPI接口的消息发送队列中是否存在待发送指令;若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;若存在,则将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态;所述至少两个安全芯片共用所述SPI接口的CLK引脚、MOSI引脚以及MISO引脚;所述至少两个安全芯片中的一个安全芯片与所述上位机的CS引脚连接,所述至少两个安全芯片中的其他安全芯片与所述上位机的GPIO引脚连接。通过一条SPI主线连接多个安全芯片,可以节省对SPI接口的使用,节约了上位机硬件资源的占用,多个安全芯片同时进行数据收发处理,可以提高数据处理的效率。
实施例二
图3是本申请实施例二提供的多安全芯片的并发数据运算方法的流程示意图。本方案对上述实施例做出了更优的改进,如图3所示,具体包括如下步骤:
S301,识别SPI接口的消息发送队列中是否存在待发送指令;
S302,若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;
S303,将所述目标通道的通道状态切换至使用状态;
S304,创建待发送指令处理线程;
在本方案中,线程是操作系统能够进行运算调度的最小单位,负责执行具体任务。具体的,所述待发送指令处理线程可以是负责将待发送数据指令发送至安全芯片的线程,上位机可以通过编程创建待发送指令的处理线程。
S305,通过所述待发送指令处理线程将所述目标通道的通道状态切换至使用状态,并将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
在本方案中,指令数据运算可以是对发送到安全芯片上的数据进行加密处理,所述加密处理可以是利用算法将一条消息通过加密密钥和加密函数转换成无意义的密文,接收者通过解密函数和解密密钥将密文还原成明文。通过对数据的加密处理可以防止数据传输过程中,由于传输距离或信号干扰等问题造成的数据遗漏。上位机可以在接收到待发送指令并轮询到空闲通道以后,利用所述待发送指令处理线程将轮询到的目标通道的通道状态切换至使用状态,并将所述待发送指令的指令数据发送到安全芯片进行指令数据运算。
S306,通过所述待发送指令处理线程轮询所述指令数据的运算结果;
S307,若通过目标通道接读取所述运算结果,则将所述运算结果发送至响应消息队列;
S308,将所述目标通道的通道状态切换至空闲状态。
在本方案中,上位机可以通过待发送指令处理线程,按照消息发送队列中接收到数据指令的顺序,对安全芯片是否产生了运算结果进行轮询。若轮询到运算结果,则通过该芯片对应的目标通道将所述运算结果发送至响应消息队列,并将上述目标通道切换至空闲状态。
本实施例所提供的技术方案,上位机可以通过编程创建待发送指令的处理线程,利用所述待发送指令处理线程将轮询到的目标通道的通道状态切换至使用状态,并将所述待发送指令的指令数据发送到安全芯片进行指令数据运算。上位机通过待发送指令处理线程,按照消息发送队列中接收到数据指令的顺序,对安全芯片是否产生了运算结果进行轮询。若轮询到运算结果,则通过该芯片对应的目标通道将所述运算结果发送至响应消息队列,并将上述目标通道切换至空闲状态。通过利用待发送指令处理线程对SPI通道的状态识别和切换,可以提高数据加密运算处理和反馈的效率。
实施例三
图4是本申请实施例三提供的多安全芯片的并发数据运算方法的流程示意图。本方案对上述实施例做出了更优的改进,具体改进为:在通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算之后。如图4所示,所述方法还包括:
S401,识别SPI接口的消息发送队列中是否存在待发送指令;
S402,若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;
S403,将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
S404,若通过所述目标通道接收到完整性异常数据块,则对所述待发送指令的指令数据进行重新发送;
在本方案中,完整性异常数据块是指数据信息存在缺失的情况,具体的,数据缺失可以是指整个数据的缺失,也可以是指数据中某个字段信息的缺失。在上位机发送数据指令以前,为了可靠、准确地将数据传送至安全芯片可以将待处理的数据进行打包处理,将每个数据包的发送顺序以及该数据包中含有的数据个数进行标记。
在本方案中,在上位机发送数据指令以前,为了可靠、准确地将数据传送至安全芯片可以将待处理的数据进行打包处理。安全芯片接收到上位机发送的数据包以后,对该数据包进行分析,若该数据包的标记内容与实际接收到的数据包的顺序以及数据个数的对比结果不具有一致性,则将该一致性缺失信息通过目标通道反馈给上位机,上位机对所述待发送指令的数据包进行重新发送。
S405,若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。
基于上述实施例,可选的,在对所述待发送指令的指令数据进行重新发送之后,所述方法还包括:若触发对所述待发送指令的指令数据进行重新发送的次数达到预设次数,则发出警报信息。
在本方案中,指令数据进行重新发送的次数可以是对同一芯片接收到的上述重新发送次数的累计之和,预设次数可以是根据SPI通道情况和芯片型号设置的次数,该次数可以用于判断该条线路是否出现问题,具体的,该次数最大可以是3次。若目标通道接收到完整性异常数据块,则触发对所述待发送指令的指令数据进行重新发送。若重新发送的次数达到该条线路的预设次数,则可以通过编码对上位机发出警报信息,上述警报信息可以是对该条线路上的数据输出端MOSI、对应的SPI通道以及对应的芯片出现问题的警报。
本实施例所提供的技术方案,在上位机发送数据指令以前将待处理的数据进行打包处理,安全芯片接收到上位机发送的数据包以后,对该数据包进行分析,若该数据包实际的数据与数据包的标记不具有一致性,则将该信息通过目标通道反馈给上位机,上位机对对所述待发送指令的数据包进行重新发送。通过设置预设次数与芯片接收到重发指令数据的次数对比,判断该条线路是否出现问题,该次数最大是3次。若重新发送的次数达到该条线路的预设次数,则通过编码对上位机发出警报信息。通过增加对指令数据完整性的校验,可以提高对数据处理的正确性与稳定性,保证用户信息安全。
实施例四
图5是本申请实施例四提供的多安全芯片的并发数据运算方法的流程示意图。本方案对上述实施例做出了更优的改进,具体改进为:在通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算的过程中或者以后。如图5所示,所述方法还包括:
S501,识别SPI接口的消息发送队列中是否存在待发送指令;
S502,若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;
S503,将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
S504,若存在收发同步触发事件,则通过所述目标通道向安全芯片发出同步数据块,以使所述安全芯片进行复位操作。
在本方案中,同步可以是上位机发送和下位机接收双方在进行数据传输时,保持完全的同步,具体的,可以是要求发收双方必须使用同频同相的同步时钟信号,在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后在同步时钟的控制下逐位发送/接收。同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。数据块可以是一组或几组按顺序连续排列在一起的记录,是主存储器与输入设备、输出设备或外存储器之间进行传输的数据单位。数据同步可以是对不同系统的数据进行同步处理,上位机可以通过编码的方式构建同步数据块。
在方案中,复位操作可以是对系统进行初始化的操作,具体的,可以是将程序计数器初始化为0000H,使单片机从0000H单元开始执行程序,并将特殊功能寄存器赋一些特定值表,复位是上电的第一个操作,然后程序从0000H开始执行。RST引脚是复位端,高电平有效。在该引脚输入至少连续两个机器周期以上的高电平,单片机复位。复位也是使单片机退出低功耗工作方式而进入正常状态一种操作。上述RST是RESET的简写,RESET信号一般用于有CPU的电路中,是复位、初始化的意思,在开机时要用RESET信号使电路初始化,电路工作状态出现异常死机时也要用RESET信号使之重新启动。正常工作时,RST 脚保持低电平。具体的复位方式可以是将内部寄存器全部清零,程序计数器回到原点等。
基于上述实施例,可选的,所述方法还包括:所述同步数据块用于供所述安全芯片接收后,中断功能被触发,以进行复位操作。
在本方案中,中断是指CPU在正常执行程序的过程中,由于计算机内部或外部发生了另一事件(如定时时间到,超压报警等),请求CPU迅速去处理,CPU暂时停止当前程序的运行,而转去处理所发生的事件。内部中断是一个算法指令,是由软中断指令启动的中断。当上位机的状态异常或者重启时,下位机正处于信号的收发状态中就会导致信号的收发不同步,具体的,下位机可以是正处于指令的接收状态,接收了一部分指令数据;正处于指令处理流程;正处于发送响应数据状态。出现不同步后,上位机发送同步块,SPI的中断功能被触发,对应的安全芯片就会进行上述复位操作,通过同步数据块同步当前线路安全芯片的收发状态。
S505,若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。
本实施例所提供的技术方案,在通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算的过程中或者以后,若上位机状态异常或者重启时,下位机可能正处于数据接收或者处理状态,会导致信号收发不同步的问题。出现不同步后,上位机发送同步块,SPI的中断功能被触发,对应的安全芯片就会进行上述复位操作,通过同步数据块同步当前线路安全芯片的收发状态。通过增加对信号收发同步的校验,可以提高数据信号收发时间的一致性,通过安全芯片进行复位操作以及通过同步数据块同步当前线路安全芯片的收发状态,可以提高数据处理的稳定性和可靠性。
实施例五
图6是本申请实施例五提供的多安全芯片的并发数据运算装置的结构示意图。如图6所示,所述装置包括:
待发送指令查询模块601,用于识别SPI接口的消息发送队列中是否存在待发送指令;
目标通道确定模块602,用于至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;
指令数据发送模块603,用于将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
运算结果处理模块604,用于将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。
进一步的,所述指令数据发送模块,具体用于:
创建待发送指令处理线程;
通过所述待发送指令处理线程将所述目标通道的通道状态切换至使用状态,并将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
进一步的,所述运算结果处理模块,具体用于:
通过所述待发送指令处理线程轮询所述指令数据的运算结果;
若通过目标通道接读取所述运算结果,则将所述运算结果发送至响应消息队列;
将所述目标通道的通道状态切换至空闲状态。
进一步的,所述装置还包括:
指令数据校验模块,用于通过所述目标通道接收到完整性异常数据块,对所述待发送指令的指令数据进行重新发送。
进一步的,所述装置还包括:
警报模块,用于触发对所述待发送指令的指令数据进行重新发送的次数达到预设次数,发出警报信息。
进一步的,所述装置还包括:
复位模块,用于通过所述目标通道向安全芯片发出同步数据块,以使所述安全芯片进行复位操作。
进一步的,所述同步数据块被所述安全芯片接收后,中断功能被触发,以进行复位操作。
进一步的,所述至少两个安全芯片共用所述SPI接口的CLK引脚、MOSI引脚以及MISO引脚;所述至少两个安全芯片中的一个安全芯片与所述上位机的CS引脚连接,所述至少两个安全芯片中的其他安全芯片与所述上位机的GPIO引脚连接。
本实施例所提供的技术方案,发送查询模块,用于识别SPI接口的消息发送队列中是否存在待发送指令;设备查询模块,用于在识别SPI接口的消息发送队列中存在待发送指令以后,将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;设备查询模块,还用于检测存在目标通道以后,则将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;响应查询模块,用于在读取到所述指令数据的运算结果以后,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态。通过利用上述装置,可以有效的提高数据运算的速率,通过多个安全芯片并行,同时对多条数据指令进行加密计算,可以节省对上位机硬件资源的占用。
本实施例所提供的一种多安全芯片的并发数据运算装置,与上述各实施例所提供的装置对应且有与之相应的执行过程和有益效果,此处不再赘述。
本申请实施例中的多安全芯片的并发数据运算装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的多安全芯片的并发数据运算装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的多安全芯片的并发数据运算装置能够实现上述方法实施例实现的各个过程,为避免重复,这里不再赘述。
实施例六
如图7所示,本申请实施例还提供一种电子设备700,包括处理器701,存储器702,存储在存储器702上并可在所述处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述多安全芯片的并发数据运算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
实施例七
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述多安全芯片的并发数据运算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等。
实施例八
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述多安全芯片的并发数据运算方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、设备芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (8)
1.一种多安全芯片的并发数据运算方法,其特征在于,所述方法由上位机执行;所述上位机通过一个SPI接口与至少两个安全芯片连接,每个安全芯片对应一个SPI通道;所述至少两个安全芯片共用所述SPI接口的CLK引脚、MOSI引脚以及MISO引脚;所述至少两个安全芯片中的一个安全芯片与所述上位机的CS引脚连接,所述至少两个安全芯片中的其他安全芯片与所述上位机的GPIO引脚连接;所述方法包括:
识别SPI接口的消息发送队列中是否存在待发送指令;
若是,则将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;
将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算,其中,包括:
创建待发送指令处理线程;
通过所述待发送指令处理线程将所述目标通道的通道状态切换至使用状态,并将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
若读取到所述指令数据的运算结果,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态,其中,包括:
通过所述待发送指令处理线程轮询所述指令数据的运算结果;
若通过目标通道读取所述运算结果,则将所述运算结果发送至响应消息队列;
将所述目标通道的通道状态切换至空闲状态。
2.根据权利要求1所述的方法,其特征在于,在通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算之后,所述方法还包括:
若通过所述目标通道接收到完整性异常数据块,则对所述待发送指令的指令数据进行重新发送。
3.根据权利要求2所述的方法,其特征在于,在对所述待发送指令的指令数据进行重新发送之后,所述方法还包括:
若触发对所述待发送指令的指令数据进行重新发送的次数达到预设次数,则发出警报信息。
4.根据权利要求1所述的方法,其特征在于,在通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算的过程中或者之后,所述方法还包括:
若存在收发同步触发事件,则通过所述目标通道向安全芯片发出同步数据块,以使所述安全芯片进行复位操作。
5.根据权利要求4所述的方法,其特征在于,所述同步数据块用于供所述安全芯片接收后,中断功能被触发,以进行复位操作。
6.一种多安全芯片的并发数据运算装置,其特征在于,所述装置配置于上位机;所述上位机通过一个SPI接口与至少两个安全芯片连接,每个安全芯片对应一个SPI通道;所述至少两个安全芯片共用所述SPI接口的CLK引脚、MOSI引脚以及MISO引脚;所述至少两个安全芯片中的一个安全芯片与所述上位机的CS引脚连接,所述至少两个安全芯片中的其他安全芯片与所述上位机的GPIO引脚连接;所述装置包括:
待发送指令查询模块,用于识别SPI接口的消息发送队列中是否存在待发送指令;
目标通道确定模块,用于在识别SPI接口的消息发送队列中存在待发送指令以后,将至少两个SPI通道中通道状态为空闲状态的一个SPI通道作为目标通道;
指令数据发送模块,用于将所述目标通道的通道状态切换至使用状态,并通过所述目标通道将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
运算结果处理模块,用于在读取到所述指令数据的运算结果以后,则将所述运算结果发送至响应消息队列,并将所述目标通道的通道状态切换至空闲状态;
所述指令数据发送模块,具体用于:
创建待发送指令处理线程;
通过所述待发送指令处理线程将所述目标通道的通道状态切换至使用状态,并将所述待发送指令的指令数据发送到安全芯片进行指令数据运算;
所述运算结果处理模块,具体用于:
通过所述待发送指令处理线程轮询所述指令数据的运算结果;
若通过目标通道读取所述运算结果,则将所述运算结果发送至响应消息队列;
将所述目标通道的通道状态切换至空闲状态。
7.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-5中任一项所述的多安全芯片的并发数据运算方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-5中任一项所述的多安全芯片的并发数据运算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211276825.7A CN115525935B (zh) | 2022-10-19 | 2022-10-19 | 多安全芯片的并发数据运算方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211276825.7A CN115525935B (zh) | 2022-10-19 | 2022-10-19 | 多安全芯片的并发数据运算方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115525935A CN115525935A (zh) | 2022-12-27 |
CN115525935B true CN115525935B (zh) | 2023-05-30 |
Family
ID=84704242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211276825.7A Active CN115525935B (zh) | 2022-10-19 | 2022-10-19 | 多安全芯片的并发数据运算方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525935B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808492B (zh) * | 2014-12-30 | 2019-04-23 | 联想(北京)有限公司 | 一种信息处理方法及串行外围设备接口主控制器 |
CN206075270U (zh) * | 2016-07-27 | 2017-04-05 | 北京神州飞航科技有限责任公司 | Spi总线接口的1553b总线模块 |
CN110880998B (zh) * | 2019-12-03 | 2022-09-20 | 锐捷网络股份有限公司 | 一种基于可编程器件的报文传输方法及装置 |
CN113220610B (zh) * | 2020-01-21 | 2024-04-09 | 华为技术有限公司 | 通信系统和spi接口的通信方法及装置 |
CN213303014U (zh) * | 2020-08-24 | 2021-05-28 | 广东金创锐电子有限公司 | 一种共用spi接口的iot装置 |
CN112737789A (zh) * | 2020-12-23 | 2021-04-30 | 上海芯钛信息科技有限公司 | 基于双路spi并发实现车载通信网关高速密码运算的方法 |
CN112965927B (zh) * | 2021-03-18 | 2021-11-30 | 深圳市航顺芯片技术研发有限公司 | 一种基于spi设备的信号驱动系统及方法 |
CN113065172A (zh) * | 2021-04-07 | 2021-07-02 | 北京衍芯科技有限公司 | 一种多设备共用spi接口总线的方法 |
CN113806112A (zh) * | 2021-09-18 | 2021-12-17 | 上海汽车变速器有限公司 | Spi异步通信调度方法、装置、设备及存储介质 |
CN114544075A (zh) * | 2021-12-30 | 2022-05-27 | 西安航天计量测试研究所 | 基于应变、温度传感器的非接触压力测量方法及系统 |
-
2022
- 2022-10-19 CN CN202211276825.7A patent/CN115525935B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115525935A (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0188522B1 (en) | Polling method for data processing system | |
CN111930676B (zh) | 多处理器间的通信方法、装置、系统及存储介质 | |
CN109766195A (zh) | 监测消息队列中数据丢失的方法及相关产品 | |
JP2006072962A (ja) | 複数のターゲットコンピュータを制御する制御システム | |
CN109688555B (zh) | 一种信号数据的实时采集与通信系统及方法 | |
EP3429158A1 (en) | Secure communication method and apparatus for vehicle, vehicle multimedia system, and vehicle | |
CN106034120A (zh) | 一种多进程访问可信应用的方法和系统 | |
CN103677988A (zh) | 用于软件系统的多进程通讯方法及系统 | |
CN110912805B (zh) | 消息读取状态的同步方法、终端、服务端及系统 | |
CN107945430B (zh) | 一种用于智能pos机的基于串口的双向并发通讯方法 | |
CN102200770B (zh) | 一种基于pci的信息交互系统及方法、上位机 | |
CN115525935B (zh) | 多安全芯片的并发数据运算方法、装置、设备及存储介质 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
EP1710759B1 (en) | Terminal equipment | |
CN110048865A (zh) | 一种总线数据传输方法、装置、电子设备及存储介质 | |
CN109800202B (zh) | 一种基于pcie的数据传输系统、方法及装置 | |
CN108495336B (zh) | 基于无线通讯的数据收发方法、装置和计算机设备 | |
CN113886296B (zh) | 数据传输方法、装置、设备和存储介质 | |
WO2024093365A1 (zh) | 时延的确定方法、装置、电子设备及存储介质 | |
CN115022393B (zh) | 确定连接状态的方法、装置、介质和计算设备 | |
CN111435930B (zh) | 一种控制pdu发送方法、装置、电子设备及存储介质 | |
CN109660448A (zh) | 消息的处理方法、装置、计算机设备和存储介质 | |
CN115378892A (zh) | 紧急信息的发送方法、装置、电子设备及介质 | |
CN115344220A (zh) | 应用系统及其操作方法与输入装置 | |
CN114762414A (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 |