CN116419318A - 处理器的通信方法、装置、电子设备及存储介质 - Google Patents

处理器的通信方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116419318A
CN116419318A CN202111641985.2A CN202111641985A CN116419318A CN 116419318 A CN116419318 A CN 116419318A CN 202111641985 A CN202111641985 A CN 202111641985A CN 116419318 A CN116419318 A CN 116419318A
Authority
CN
China
Prior art keywords
processor
control signal
data
spi
gpio interface
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.)
Pending
Application number
CN202111641985.2A
Other languages
English (en)
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202111641985.2A priority Critical patent/CN116419318A/zh
Publication of CN116419318A publication Critical patent/CN116419318A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种处理器的通信方法、装置、电子设备及存储介质;该处理器的通信方法应用于包括至少两个处理器的电子设备,该处理器的通信方法包括:第一处理器与第二处理器通过通用输入输出GPIO接口传输控制信号,以及通过串行外设接口SPI传输数据;其中,所述控制信号用于指示数据传输。

Description

处理器的通信方法、装置、电子设备及存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种处理器的通信方法、装置、电子设备及存储介质。
背景技术
相关技术中,在电子设备中存在至少两个处理器的情况下,处理器之间通过串行外设接口(SPI,Serial Peripheral Interface)进行通信。但这种通信方式容易丢包,可靠性较低。
发明内容
有鉴于此,本申请实施例提供一种处理器的通信方法、装置、电子设备及存储介质,以解决相关技术中存在容易丢包,可靠性较低的技术问题。
为达到上述目的,本申请的技术方案是这样实现的:
本申请实施例提供了一种处理器的通信方法,应用于包括至少两个处理器的电子设备,所述方法包括:
第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过串行外设接口SPI传输数据;其中,所述控制信号用于指示数据传输。
上述方案中,通过GPIO接口传输的控制信号包括以下至少之一:
第一控制信号,用于唤醒下行任务;
第二控制信号,用于请求下行数据,或用于指示是否正确接收到下行数据;
第三控制信号,用于唤醒上行线程;
第四控制信号,用于指示是否正确接收到上行数据;
第五控制信号,用于请求获取工作状态。
上述方案中,所述第二控制信号包括第一方波信号、低电平信号和第二方波信号;所述第一方波信号用于请求下行数据,所述低电平信号表征用于指示未正确接收到下行数据,所述第二方波信号用于指示正确接收到下行数据。
上述方案中,所述第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过SPI传输数据,包括:
第一处理器通过GPIO接口向第二处理器发送第一控制信号;
第二处理器基于所述第一控制信号唤醒下行任务,通过GPIO接口向第一处理器发送第二控制信号;所述第二控制信号用于请求第一处理器通过SPI发送数据;
第一处理器在接收到所述第二控制信号的情况下,通过SPI向第二处理器发送数据。
上述方案中,在第一处理器通过SPI向第二处理器发送数据之后,所述方法还包括:
第二处理器通过GPIO接口向第一处理器发送第二控制信号,所述第二控制信号用于指示是否正确接收到下行数据;
第一处理器在接收到的第二控制信号表征未正确接收到下行数据的情况下,通过SPI进行数据重传。
上述方案中,所述第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过SPI传输数据,包括:
第二处理器通过GPIO接口向第一处理器发送第三控制信号;
第一处理器基于所述第三控制信号唤醒上行线程,通过SPI从第二处理器的寄存器中读取数据。
上述方案中,所述方法还包括:
第一处理器通过GPIO接口向第二处理器发送第四控制信号;
第二处理器基于接收到的第四控制信号确定是否向所述寄存器重传数据;其中,在接收到的第四控制信号表征未正确接收到上行数据的情况下,第二处理器向所述寄存器重传数据。
上述方案中,所述方法还包括:
第一处理器通过GPIO接口向第二处理器发送第五控制信号;
第二处理器在接收到所述第五控制信号的情况下,通过GPIO接口向第一处理器发送表征所述第二处理器的工作状态的信号。
本申请实施例还提供了一种处理器的通信装置,包括:
通信单元,用于控制第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过串行外设接口SPI传输数据;其中,所述控制信号用于指示数据传输。
本申请实施例还一种电子设备,包括:处理器和用于存储能够在所述处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行上述处理器的通信方法的步骤。
本申请实施例还提供了一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述处理器的通信方法的步骤。
本申请实施例中,处理器通过GPIO接口传输控制信号,通过SPI传输数据;控制信号用于指示数据传输。由此,处理器可以基于实际情况按需通过GPIO接口发送控制信号,接收到的控制信号的处理器根据控制信号通过SPI进行数据传输,可以避免因控制信号处理不及时或数据处理不及时而出现丢包的情况,还可以通过控制信号唤醒数据接收方,从而避免因接收方进入休眠状态而错失部分数据的情况,提高了处理器之间通信的可靠性。
附图说明
图1为本申请实施例提供的处理器的通信方法的实现流程示意图;
图2为本申请实施例提供的处理器的通信方法的交互图;
图3为本申请实施例提供的通信时序图;
图4为本申请另一实施例提供的处理器的通信方法的交互图;
图5为本申请另一实施例提供的通信时序图;
图6为本申请实施例提供的测试数据的示意图;
图7为本申请实施例提供的处理器的通信装置的结构示意图;
图8为本申请另一实施例提供的电子设备的硬件组成结构示意图。
具体实施方式
相关技术中,电子设备中的处理器之间通过SPI进行通信的过程中,由于控制信号和数据均通过SPI传输,容易出现丢包的情况,例如,因控制信号处理不及时或数据处理不及时而出现丢包,或者因接收方进入休眠状态而错失部分数据,可靠性较低。
基于此,本申请提供了一种处理器的通信方法,第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过SPI传输数据;其中,所述控制信号用于指示数据传输。由此,通过GPIO接口传输的控制信号,来指示处理器之间通过SPI进行数据传输,可以提高数据传输的可靠性。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为本申请实施例提供的处理器的通信方法的实现流程示意图,其中,流程的执行主体为终端、服务器等电子设备;终端包括手机、平板、可穿戴设备等。如图1示出的,处理器的通信方法包括:
步骤101:第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过串行外设接口SPI传输数据;其中,所述控制信号用于指示数据传输。
这里,电子设备中包括至少两个处理器,处理器包括微控制单元(MCU,Microcontroller Unit)、应用处理器(AP,Application Processor)、基带处理器(BP,Baseband Processor)、中央处理器(CPU,Central Processing Unit)等。
第一处理器和第二处理器泛指电子设备中任意两个处理器。
任意两个处理器之间通用输入输出(GPIO,General Purpose Input/Output)接口传输控制信号,GPIO传输的控制信号用于指示数据传输,处理器可以基于接收到的控制信号,通过SPI传输数据。
需要说明的是,处理器包括至少一个GPIO接口。第一处理器可以是主处理器,第二处理器可以是从处理器。
在本申请实施例中,处理器通过GPIO接口传输控制信号,通过SPI传输数据;控制信号用于指示数据传输。由此,处理器可以基于实际情况按需通过GPIO接口发送控制信号,接收到的控制信号的处理器根据控制信号通过SPI进行数据传输,可以避免因控制信号处理不及时或数据处理不及时而出现丢包的情况,还可以通过控制信号唤醒数据接收方,从而避免因接收方进入休眠状态而错失部分数据的情况,提高了处理器之间通信的可靠性。
考虑到处理器扮演的角色(数据接收方、数据发送方)不同,所处的工作状态不同时,对应的控制信号也不同。在一些实施例中,通过GPIO接口传输的控制信号包括以下至少之一:
第一控制信号,用于唤醒下行任务;
第二控制信号,用于请求下行数据,或用于指示是否正确接收到下行数据;
第三控制信号,用于唤醒上行线程;
第四控制信号,用于指示是否正确接收到上行数据;
第五控制信号,用于请求获取工作状态。
实际应用时,第一控制信号可以标记为down_wakeup;第二控制信号可以标记为down_ack;第三控制信号可以标记为up_wakeup;第四控制信号可以标记为up_ack。
需要说明的是,用于请求下行数据的第二控制信号的参数,与用于指示是否正确接收到下行数据的第二控制信号的参数不同。或者,通过不同的GPIO接口传输用于请求下行数据的第二控制信号,以及用于指示是否正确接收到下行数据的第二控制信号。
需要说明的是,每个GPIO接口可以用于传输一种控制信号,一个GPIO接口也可以用于传输至少两种控制信号。也就是说,第一控制信号、第二控制信号、第三控制信号、第四控制信号和第五控制信号,可以通过同一个GPIO接口进行传输,也可以通过不同的GPIO接口进行传输。例如,通过第一GPIO接口传输第一控制信号,通过第二GPIO接口传输第二控制信号,通过第三GPIO接口传输第三控制信号,通过第四GPIO接口传输第四控制信号,通过第五GPIO接口传输第五控制信号。
在本实施例中,针对不同的角色和不同的应用场景,设置相应的控制信号,处理器之间可以根据实际情况发送相应的控制信号进行数据传输,数据传输更灵活。
在实际应用时,通过GPIO接口传输的控制信号包括方波信号。为了提高数据传输效率,在一些实施例中,所述第二控制信号包括第一方波信号、低电平信号和第二方波信号;所述第一方波信号用于请求下行数据,所述低电平信号表征用于指示未正确接收到下行数据,所述第二方波信号用于指示正确接收到下行数据。
考虑到处理器之间进行数据传输时,包括传输上行数据的应用场景和传输下行数据的应用场景,下面结合图2至图5分别说明传输上行数据和下行数据的实现过程,其中,图2和图3对应处理器之间传输下行数据,图4至图5对应处理器之间传输上行数据:
应用场景一:处理器之间传输下行数据。图2为本申请实施例提供的处理器的通信方法的交互图,如图2所示,处理器的通信方法包括:
步骤201:第一处理器通过GPIO接口向第二处理器发送第一控制信号。
这里,第一处理器在启动下行线程的情况下,表征需要通过下行线程向第二处理器发送数据,此时,第一处理器通过GPIO接口向第二处理器发送第一控制信号,以唤醒第二处理器中的下行任务。
实际应用时,第一处理器可以为AP,第二处理器可以为MCU。第一控制信号标记为down_wakeup。
步骤202:第二处理器基于所述第一控制信号唤醒下行任务,通过GPIO接口向第一处理器发送第二控制信号;所述第二控制信号用于请求第一处理器通过SPI发送数据。
这里,第二处理器在接收到第一控制信号的情况下,基于第一控制信号唤醒第二处理器的下行任务,下行任务用于接收第一处理器发送的数据。第二处理器在唤醒下行任务的情况下,通过GPIO接口向第一处理器发送第二控制信号,以请求第一处理器通过SPI发送数据。
实际应用时,第一控制信号包括上升沿和下降沿,第二处理器在第一控制信号的上升沿到来时刻唤醒第二处理器的下行任务。
实际应用时,第二控制信号标记为down_ack。在第二控制信号包括第一方波信号、低电平信号和第二方波信号的情况下,第二处理器在唤醒下行任务的情况下,通过GPIO接口向第一处理器发送第一方波信号;第一方波信号用于请求第一处理器通过SPI发送数据。
在一些实施例中,所述第三控制信号和所述第四控制信号包括方波信号。
需要说明的是,第二处理器每请求一包数据,向第一处理器发送一个第一方波信号。第二处理器在接收完一帧数据,或等待超时的情况下,第二处理器的下行任务进入睡眠状态。
步骤203:第一处理器在接收到所述第二控制信号的情况下,通过SPI向第二处理器发送数据。
这里,第一处理器在接收到第二处理器发送的第二控制信号的情况下,通过SPI向第二处理器发送数据。
在实际应用时,在第二控制信号包括第一方波信号、低电平信号和第二方波信号的基础上,第二处理器在步骤203中通过GPIO接口向第一处理器发送第一方波信号,第二处理器在接收到第一方波信号的情况下,在第一方波信号的高电平持续时长内,通过SPI向第二处理器发送数据;或者,在第一方波信号的低电平持续时长内,通过SPI向第二处理器发送数据。
为了检测接收到的数据是否正确,在一些实施例中,在步骤203第一处理器通过SPI向第二处理器发送数据之后,所述方法还包括:
步骤204:第二处理器通过GPIO接口向第一处理器发送第二控制信号,所述第二控制信号用于指示是否正确接收到下行数据;
步骤205:第一处理器在接收到的第二控制信号表征未正确接收到下行数据的情况下,通过SPI进行数据重传。
这里,第二处理器在接收完一帧数据的情况下,对该帧数据进行帧校验,得到第一校验结果,并基于第一校验结果生成第二控制信号,通过GPIO接口向第一处理器发送生成的第二控制信号,第二控制信号用于指示是否正确接收到下行数据。第一处理器在接收到的第二控制信号表征未正确接收到下行数据的情况下,通过SPI进行数据重传。
其中,在第一校验结果表征帧校验成功的情况下,表征第二处理器已正确接收到第一处理器发送的下行数据;在第一校验结果表征帧校验失败的情况下,表征第二处理器未正确接收到第一处理器发送的下行数据。
在实际应用时,在第二控制信号包括第一方波信号、低电平信号和第二方波信号的基础上,第二处理器在第一校验结果表征帧校验成功的情况下,第二处理器生成低电平信号,并通过GPIO接口向第一处理器发送生成的低电平信号;第二处理器在第一校验结果表征帧校验失败的情况下,第二处理器生成第二方波信号,通过GPIO接口向第一处理器发送生成的第二方波信号,以便第一处理器基于第二方波信号进行数据重传。
下面以第一处理器为AP,第二处理器为MCU,第二控制信号包括第一方波信号、低电平信号第二方波信号为例,说明步骤201至步骤205的实现过程:
AP通过GPIO接口向MUC发送第一控制信号。其中,第一控制信号标记为down_wakeup,第一控制信号包括上升沿和下降沿。第二控制信号标记为down_ack。
MCU在接收到AP发送的第一控制信号的情况下,在第一控制信号的上升沿到来时刻,唤醒MCU的下行任务,并通过GPIO接口向AP发送一个第一方波信号。
AP在接收到MCU发送的第一方波信号的情况下,在第一方波信号的高电平持续时长内,通过SPI向MCU发送一个数据包,可以在第一方波信号的低电平持续时长内打包新的数据包。其中,第一控制信号down_wakeup、第二控制信号down_ack和SPI总线的通信时序图如图3所示,图3中的part1、part2、part3和part4表示不同的数据包。
MCU通过SPI接收到的数据包存储在先进先出(FIFO,First Input First Output)寄存器中,MCU从FIFO寄存器中拷贝完数据包的数据之后,再次向AP发送一个第一方波信号,以向AP请求下一包数据。也就是说,MUC每向AP请求一包数据,向AP发送一个第一方波信号。MCU在接收完一帧数据,或等待接收超时的情况下,MCU的下行任务进入休眠状态。每帧数据包括至少一个数据包。
MCU在接收完一帧数据的情况下,对该帧数据进行帧校验,得到第一校验结果,在第一校验结果表征帧校验成功的情况下,生成低电平信号,通过GPIO接口向第一处理器发送生成的低电平信号,以指示AP无需进行数据重传;在第一校验结果表征帧校验失败的情况下,生成一个第二方波信号,以指示AP进行数据重传。其中,第一方波信号和第二方波信号的高电平持续时长不同。实际应用时,第二方波信号的高电平持续时长为40毫秒(ms)。
AP在接收到第二方波信号的情况下,重传最近一次发送的一帧数据。
应用场景二:处理器之间传输上行数据。图4为本申请另一实施例提供的处理器的通信方法的交互图,如图4所示,处理器的通信方法包括:
步骤401:第二处理器通过GPIO接口向第一处理器发送第三控制信号。
步骤402:第一处理器基于所述第三控制信号唤醒上行线程,通过SPI从第二处理器的寄存器中读取数据。
这里,第二处理器在需要向第一处理器传输数据的情况下,将需要发送的数据存入第二处理器的寄存器中,并通过GPIO接口向第一处理器发送第三控制信号,第三控制信号用于唤醒上行线程。在实际应用时,第二处理器将需要发送的数据存入FIFO寄存器中。
第一处理器在接收到第三控制信号的情况下,基于第三控制信号唤醒第一处理器的上行线程,并通过SPI从第二处理器的寄存器中读取数据。
实际应用时,第三控制信号标记为up_wakeup。第三控制信号包括上升沿和下降沿,第三控制信号可以为方波信号。第一处理器在第三控制信号的上升沿到来时刻唤醒第一处理器的上行线程,并在第三控制信号的高电平持续时长内,通过SPI从第二处理器的寄存器中读取数据。
需要说明的是,第二处理器在检测到FIFO寄存器中的数据包已被读取的情况下,存入下一包数据,并通过GPIO接口向第一处理器发送一个第三控制信号,直到一帧数据传输完成,或者等待超时,然后进入休眠状态。实际应用时,第二处理器在第三控制信号的低电平持续时长内,向FIFO寄存器中存入数据包。
在一些实施例中,所述方法还包括:
步骤403:第一处理器通过GPIO接口向第二处理器发送第四控制信号;
步骤404:第二处理器基于接收到的第四控制信号确定是否向所述寄存器重传数据;其中,在接收到的第四控制信号表征未正确接收到上行数据的情况下,第二处理器向所述寄存器重传数据。
这里,第一处理器从第二处理器的FIFO寄存器中获取到一帧完整的数据的情况下,对该帧数据进行帧校验,得到第二校验结果,并基于第二校验结果生成第四控制信号,通过GPIO接口向第二处理器发送第四控制信号。第二处理器在接收到第四控制信号的情况下,基于第四控制信号确定是否向寄存器重传数据。在接收到的第四控制信号表征未正确接收到上行数据的情况下,第二处理器向寄存器重传数据。
其中,在第二校验结果表征帧校验成功的情况下,表征第一控制器正确接收到上行数据;在第二校验结果表征帧校验失败的情况下,表征第一控制器未正确接收到上行数据。第一处理器在帧校验成功的情况下生成的第四控制信号,与在帧校验失败的情况下生成的第四控制信号不同。
需要说明的是,第四控制信号用于指示正确接收到上行数据时的参数,与用于指示未正确接收到上行数据时的参数不同。
实际应用时,第四控制信号包括第三方波信号和第四方波信号。第三方波信号和第四方波信号的高电平持续时长不同。第一处理器在帧校验成功的情况下,生成第三方波信号,以指示第二处理器不需要向寄存器重传数据;在帧校验失败的情况下,生成第四方波信号,以指示第二处理器向寄存器重传数据。第三方波信号的高电平持续时长为10微秒(μs),第四方波信号的高电平持续时长为20ms。由此,第二处理器可以根据第四控制信号的高电平持续时长来确定第一处理器是否正确接收到上行数据,从而决定是否进行数据重传。其中,第二处理器在检测到第四控制信号的高电平持续时长为20ms的情况下,第二处理器向寄存器重传数据。
下面以第一处理器为AP,第二处理器为MCU,第三控制信号为方波信号,第四控制信号包括第三方波信号和第四方波信号为例,说明步骤401至步骤404的实现过程:
MCU将待传输的一个数据包存储至MCU的FIFO寄存器中,通过GPIO接口向AP发送第三控制信号;第三控制信号为方波信号,标记为up_wakeup,。第四控制信号标记为up_ack。
AP在接收到MCU发送的第三控制信号的情况下,在第三控制信号的上升沿到来时刻唤醒AP的上行线程,并在第三控制信号的高电平持续时长内,通过SPI从MCU的FIFO寄存器中读取数据。上行线程用于主动从MCU的寄存器中读取数据。
MCU检测到存入FIFO寄存器中的数据包已被读取的情况下,再次存入一个数据包,通过GPIO接口再次向AP发送第三控制信号,以重复上述流程。需要说明的是,MCU每向FIFO寄存器存入一个数据包,向AP发送一个第三控制信号。第三控制信号up_wakeup、第四控制信号up_ack和SPI总线的通信时序图如图5所示。图5中的part1、part2、part3和part4表示不同的数据包。
AP在获取到一帧数据的情况下,对该帧数据进行帧校验,得到第二校验结果。在第二校验结果表征帧校验成功的情况下,表征已正确接收该帧数据,此时,生成第三方波信号,以指示MCU不需要向FIFO寄存器中重传数据,第三方波信号的高电平持续时长为10μs。在第二校验结果表征帧校验失败的情况下,表征未正确接收该帧数据,此时,生成第四方波信号,以指示MCU向FIFO寄存器中重传数据,第四方波信号的高电平持续时长为20ms。
MCU根据接收到的第四控制信号的高电平持续时长,确定是否向FIFO寄存器重传数据。其中,在第四控制信号的高电平持续时长为20ms时,向FIFO寄存器重传数据;在第四控制信号的高电平持续时长为10μs,不需要向FIFO寄存器重传数据。
图6示出了本申请提供的处理器的通信方法对应的测试数据。由图6所示的测试数据可知,上行速率和下行速率可达450KB/S,未出现丢包现象,可快速传输数据量较大的文件。AP与MCU能够持续稳定可靠的通信。经测试验证,通过GPIO接口传输控制信号,通过SPI传输数据,能够快速协调双核线程,实现高可靠性和低时延的数据传输。
在本实施例中,针对上行传输和下行传输,分别设置相应的控制信号,第一处理器和第二处理器可以根据上行传输和下行传输这两个不同的应用场景,选择不同的控制信号,从而通过选择的控制信号,快速唤醒处理器以及指示数据传输,可以提高数据传输效率。
在一些实施例中,在上述实施例的基础上,所述方法还包括:
第一处理器通过GPIO接口向第二处理器发送第五控制信号;
第二处理器在接收到所述第五控制信号的情况下,通过GPIO接口向第一处理器发送表征所述第二处理器的工作状态的信号。
这里,第一处理器在需要获取第二处理器的工作状态的情况下,通过GPIO接口向第二处理器发送第五控制信号;第二处理器在接收到第五控制信号的情况下,获取当前的工作状态,并根据获取到的工作状态生成表征第二处理器的工作状态的信号,通过GPIO接口向第一处理器发送表征第二处理器的工作状态的信号。工作状态包括睡眠状态、休眠状态、异常状态等。
实际应用时,可以通过方波信号表征工作状态。第二处理器可以针对不同的工作状态生成不同的方波信号。不同的方波信号对应的高电平持续时长不同。
在本实施例中,第一处理器可以通过GPIO接口向第二处理器发送第五控制信号,从而获取第二处理器的工作状态,在获取到第二处理器的工作状态的情况下,根据第二处理器的工作状态与第二处理器进行数据传输。
为实现本申请实施例的方法,本申请实施例还提供了一种处理器的通信装置,如图7所示,该处理器的通信装置包括:
通信单元71,用于控制第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过串行外设接口SPI传输数据;其中,所述控制信号用于指示数据传输。
在一些实施例中,通过GPIO接口传输的控制信号包括以下至少之一:
第一控制信号,用于唤醒下行任务;
第二控制信号,用于请求下行数据,或用于指示是否正确接收到下行数据;
第三控制信号,用于唤醒上行线程;
第四控制信号,用于指示是否正确接收到上行数据;
第五控制信号,用于请求获取工作状态。
在一些实施例中,所述第二控制信号包括第一方波信号、低电平信号和第二方波信号;所述第一方波信号用于请求下行数据,所述低电平信号表征用于指示未正确接收到下行数据,所述第二方波信号用于指示正确接收到下行数据。
在一些实施例中,通信单元71具体用于:
控制第一处理器通过GPIO接口向第二处理器发送第一控制信号;
控制第二处理器基于所述第一控制信号唤醒下行任务,以及通过GPIO接口向第一处理器发送第二控制信号;所述第二控制信号用于请求第一处理器通过SPI发送数据;
控制第一处理器在接收到所述第二控制信号的情况下,通过SPI向第二处理器发送数据。
在一些实施例中,通信单元71还用于:
控制第二处理器通过GPIO接口向第一处理器发送第二控制信号,所述第二控制信号用于指示是否正确接收到下行数据;
控制第一处理器在接收到的第二控制信号表征未正确接收到下行数据的情况下,通过SPI进行数据重传。
在一些实施例中,通信单元71具体用于:
控制第二处理器通过GPIO接口向第一处理器发送第三控制信号;
控制第一处理器基于所述第三控制信号唤醒上行线程,通过SPI从第二处理器的寄存器中读取数据。
在一些实施例中,通信单元71还用于:
控制第一处理器通过GPIO接口向第二处理器发送第四控制信号;
控制第二处理器基于接收到的第四控制信号确定是否向所述寄存器重传数据;其中,在接收到的第四控制信号表征未正确接收到上行数据的情况下,第二处理器向所述寄存器重传数据。
在一些实施例中,通信单元71还用于:
控制第一处理器通过GPIO接口向第二处理器发送第五控制信号;
控制第二处理器在接收到所述第五控制信号的情况下,通过GPIO接口向第一处理器发送表征所述第二处理器的工作状态的信号。
实际应用时,通信单元71可由该通信装置的第一处理器和第二处理器实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
需要说明的是:上述实施例提供的处理器的通信装置在进行处理器的通信时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的处理器的通信装置与处理器的通信方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图8为本申请实施例终端的硬件组成结构示意图,如图8所示,电子设备8包括:
通信接口81,能够与其它设备比如网络设备等进行信息交互;
处理器82,与所述通信接口81连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的处理器的通信方法。而所述计算机程序存储在存储器83上。
当然,实际应用时,电子设备8中的各个组件通过总线系统84耦合在一起。可理解,总线系统84用于实现这些组件之间的连接通信。总线系统84除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统84。
本申请实施例中的存储器83用于存储各种类型的数据以支持电子设备8的操作。这些数据的示例包括:用于在电子设备8上操作的任何计算机程序。
可以理解,存储器83可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,Sync Link Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器83旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器82中,或者由处理器82实现。处理器82可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器82中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器82可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器82可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器83,处理器82读取存储器83中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器82执行所述程序时实现本申请实施例的各个方法中由终端实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器83,上述计算机程序可由终端的处理器82执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
需要说明的是,本申请实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多个中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种处理器的通信方法,其特征在于,应用于包括至少两个处理器的电子设备,所述方法包括:
第一处理器与第二处理器通过通用输入输出GPIO接口传输控制信号,以及通过串行外设接口SPI传输数据;其中,所述控制信号用于指示数据传输。
2.根据权利要求1所述的方法,其特征在于,通过GPIO接口传输的控制信号包括以下至少之一:
第一控制信号,用于唤醒下行任务;
第二控制信号,用于请求下行数据,或用于指示是否正确接收到下行数据;
第三控制信号,用于唤醒上行线程;
第四控制信号,用于指示是否正确接收到上行数据;
第五控制信号,用于请求获取工作状态。
3.根据权利要求2所述的方法,其特征在于,
所述第二控制信号包括第一方波信号、低电平信号和第二方波信号;所述第一方波信号用于请求下行数据,所述低电平信号表征用于指示未正确接收到下行数据,所述第二方波信号用于指示正确接收到下行数据。
4.根据权利要求2或3所述的方法,其特征在于,所述第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过SPI传输数据,包括:
第一处理器通过GPIO接口向第二处理器发送第一控制信号;
第二处理器基于所述第一控制信号唤醒下行任务,通过GPIO接口向第一处理器发送第二控制信号;所述第二控制信号用于请求第一处理器通过SPI发送数据;
第一处理器在接收到所述第二控制信号的情况下,通过SPI向第二处理器发送数据。
5.根据权利要求4所述的方法,其特征在于,在第一处理器通过SPI向第二处理器发送数据之后,所述方法还包括:
第二处理器通过GPIO接口向第一处理器发送第二控制信号,所述第二控制信号用于指示是否正确接收到下行数据;
第一处理器在接收到的第二控制信号表征未正确接收到下行数据的情况下,通过SPI进行数据重传。
6.根据权利要求2所述的方法,其特征在于,所述第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过SPI传输数据,包括:
第二处理器通过GPIO接口向第一处理器发送第三控制信号;
第一处理器基于所述第三控制信号唤醒上行线程,通过SPI从第二处理器的寄存器中读取数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
第一处理器通过GPIO接口向第二处理器发送第四控制信号;
第二处理器基于接收到的第四控制信号确定是否向所述寄存器重传数据;其中,在接收到的第四控制信号表征未正确接收到上行数据的情况下,第二处理器向所述寄存器重传数据。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
第一处理器通过GPIO接口向第二处理器发送第五控制信号;
第二处理器在接收到所述第五控制信号的情况下,通过GPIO接口向第一处理器发送表征所述第二处理器的工作状态的信号。
9.一种处理器的通信装置,其特征在于,包括:
通信单元,用于控制第一处理器与第二处理器通过GPIO接口传输控制信号,以及通过串行外设接口SPI传输数据;其中,所述控制信号用于指示数据传输。
10.一种电子设备,其特征在于,包括:处理器和用于存储能够在所述处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至8任一项所述的方法的步骤。
11.一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的方法的步骤。
CN202111641985.2A 2021-12-29 2021-12-29 处理器的通信方法、装置、电子设备及存储介质 Pending CN116419318A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111641985.2A CN116419318A (zh) 2021-12-29 2021-12-29 处理器的通信方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111641985.2A CN116419318A (zh) 2021-12-29 2021-12-29 处理器的通信方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116419318A true CN116419318A (zh) 2023-07-11

Family

ID=87048092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111641985.2A Pending CN116419318A (zh) 2021-12-29 2021-12-29 处理器的通信方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116419318A (zh)

Similar Documents

Publication Publication Date Title
US10108511B2 (en) Test for 50 nanosecond spike filter
CN107087033B (zh) 消息推送方法、装置、存储介质及计算机设备
US20240276511A1 (en) Information processing method, device and equipment
CN108132896B (zh) 数据传输方法和装置
US20110268024A1 (en) Detection of co-located interference in a multi-radio coexistence environment
US20170104607A1 (en) Methods to avoid i2c void message in i3c
EP2832051B1 (en) Method, device, and system for delaying packets during a network-triggered wake of a computing device
US10897274B2 (en) Shared radio arbitration
EP4002941A1 (en) Methods for sps pdsch release and collision among sps pdschs
US20210105217A1 (en) System and method for a user equipment to process overlapping physical downlink shared channels
US10368169B1 (en) Power and bandwidth efficient true wireless stereo speakers
CN110958088B (zh) 一种通信方法及装置
WO2022166875A1 (zh) 一种日志保存方法、通信装置、芯片及模组设备
CN110955625A (zh) 一种基于spi的全双工实时通信的方法及装置
CN111436094A (zh) 通信方法及装置
US20230300743A1 (en) Indication information validation method and apparatus, terminal, and readable storage medium
WO2011116610A1 (zh) 一种对上网设备进行初始化的方法、系统及设备
JP2015043237A (ja) メモリシステム
CN103650401A (zh) 一种移动终端内部通信方法
WO2020088276A1 (zh) 混合自动重传的传输方法、装置、网络设备及终端
US9544100B2 (en) Techniques to stop transmission of data based on reception of an acknowledgment within a specified time
US20180357121A1 (en) Error correction calculation upon serial bus abort
US20210173808A1 (en) Early parity error detection on an i3c bus
CN116627879A (zh) 一种应用于多处理器的spi通信系统、方法及车载终端
CN116419318A (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