掌桥专利:专业的专利平台
掌桥专利
首页

定位数据传输方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:21


定位数据传输方法、装置、电子设备及存储介质

技术领域

本申请涉及终端技术领域,尤其涉及一种定位数据传输方法、装置、电子设备及存储介质。

背景技术

在现代生活中,定位已经成为电子设备不可或缺的一项功能。电子设备通常将GPS(Global Positioning System,全球定位系统)模块与modem(调解解调器)耦合,在电子设备的处理器调用GPS模块获取定位数据时,由于GPS模块与modem之间的耦合,会将modem中不必要的相关模块也唤醒,增加了额外的功耗。

发明内容

本申请实施例公开了一种定位数据传输方法、装置、电子设备及存储介质,能够降低电子设备使用定位功能所产生的功耗。

本申请实施例公开了一种定位数据传输方法,应用于电子设备,所述电子设备包括第一处理器、第二处理器及全球定位系统GPS芯片,所述第一处理器的运行功耗大于所述第二处理器的运行功耗,所述第二处理器与所述GPS芯片连接;所述方法包括:

所述第二处理器通过所述GPS芯片获取定位数据;

所述第二处理器将所述定位数据传输至所述第一处理器;

所述第一处理器将所述定位数据提供给具有定位需求的目标应用程序。

在一个实施例中,所述第二处理器将所述定位数据传输至所述第一处理器,包括:

所述第二处理器实时将所述定位数据传输至所述第一处理器;或,

所述第二处理器对所述定位数据进行存储,若存储的定位数据的数据量大于数据量阈值,则将所述存储的定位数据传输至所述第一处理器。

在一个实施例中,所述第一处理器运行有第一操作系统,所述第二处理器运行有第二操作系统,所述第一操作系统的运行功耗大于所述第二操作系统的运行功耗,所述第一处理器包括通信客户端,所述第二处理器包括通信服务端;

所述第二处理器将所述定位数据传输至所述第一处理器,包括:

所述第二处理器运行的所述第二操作系统通过所述通信服务端,发送所述定位数据到所述通信客户端;

所述第一处理器运行的所述第一操作系统通过所述通信客户端接收所述定位数据。

在一个实施例中,在所述第二处理器通过所述GPS芯片获取定位数据之前,所述方法还包括:

所述第一处理器接收目标应用程序发送的定位请求,并根据所述定位请求发送定位指令到所述GPS芯片,所述定位指令用于指示所述GPS芯片捕获GPS卫星信号以生成卫星原始数据,并传输中断信号到所述第二处理器;

所述第二处理器通过所述GPS芯片获取定位数据,包括:

所述第二处理器接收所述GPS芯片发送的所述中断信号,并根据所述中断信号从所述GPS芯片中获取所述卫星原始数据;

所述第二处理器根据所述卫星原始数据确定定位数据。

在一个实施例中,在所述第一处理器接收目标应用程序发送的定位请求,并根据所述定位请求发送定位指令到所述GPS芯片之后,所述方法还包括:

所述第一处理器进入休眠状态;

在所述第二处理器将所述定位数据传输至所述第一处理器之前,所述方法还包括:

所述第二处理器向所述第一处理器发送唤醒指令,所述唤醒指令用于唤醒所述第一处理器。

在一个实施例中,所述第二处理器与所述GPS芯片之间通过串行外设接口SPI相连接,所述根据所述中断信号从所述GPS芯片中获取所述卫星原始数据,包括:

所述第二处理器根据所述中断信号,通过所述SPI从所述GPS芯片中获取卫星原始数据。

在一个实施例中,所述第一处理器具有访问所述GPS芯片的数据接口,所述第一处理器接收目标应用程序发送的定位请求,并根据所述定位请求发送定位指令到所述GPS芯片,包括:

所述第一处理器接收目标应用程序发送的定位请求,并根据所述定位请求,通过所述数据接口发送定位指令到所述GPS芯片。

本申请实施例公开了一种定位数据传输装置,应用于电子设备,所述电子设备包括第一处理器、第二处理器及全球定位系统GPS芯片,所述第一处理器的运行功耗大于所述第二处理器的运行功耗,所述第二处理器与所述GPS芯片连接;所述定位数据传输装置包括:

获取模块,用于由所述第二处理器通过所述GPS芯片获取定位数据;

传输模块,用于通过所述第二处理器将所述定位数据传输至所述第一处理器;

供应模块,用于通过所述第一处理器将所述定位数据提供给具有定位需求的目标应用程序。

本申请实施例公开了一种电子设备,包括:

存储有可执行程序代码的存储器;

与所述存储器耦合的处理器;

所述处理器调用所述存储器中存储的所述可执行程序代码,执行上述任一实施例所述的方法。

本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,其中,所述计算机程序在被处理器执行时,使得所述处理器执行上述任一实施例所述的方法。

在本申请实施例中,电子设备的第二处理器可以通过GPS芯片获取定位数据,再通过特定的通信方法将定位数据传输至电子设备中的第一处理器,第一处理器再可以将定位数据提供给具有定位需求的目标应用程序,在本申请实施例中,通过将GPS芯片外挂在第二处理器上,避免了在利用GPS芯片获取定位数据时还唤醒其它不必要的模块,避免了额外的功耗,并且通过运行功耗更低的第二处理器获取定位数据,也可减少第一处理器所产生的功耗,进一步地降低了电子设备使用定位功能所产生的功耗。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图进行简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例公开的一种电子设备的结构框图;

图2是本申请实施例公开的一种定位数据传输方法的流程示意图;

图3是本申请实施例公开的一种定位数据传输方法的流程示意图;

图4是本申请实施例公开的另一种电子设备的结构框图;

图5是本申请实施例公开的另一种定位数据传输方法的流程示意图;

图6-a是本申请实施例公开的又一种定位数据传输方法的流程示意图;

图6-b是本申请实施例公开的一种定位数据传输方法的时序图;

图7是本申请实施例公开的一种定位数据传输装置的模块化示意图;

图8是本申请实施例公开的又一种电子设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例公开了一种定位数据传输方法、装置、电子设备及存储介质,能够降低电子设备使用定位功能所产生的功耗。

以下将结合附图进行详细描述。

请参考图1,图1是本申请实施例公开的一种电子设备的结构框图,电子设备10可包括但不限于手机、平板电脑、可穿戴设备、笔记本电脑、PC(Personal Computer,个人计算机)以及其它具备多个处理器的设备。

电子设备10可以包括第一处理器110、第二处理器120以及GPS芯片130,其中,第一处理器110与第二处理器120之间可以通信,第二处理器120与GPS芯片130相连接,第一处理器110的运行功耗大于第二处理器120的运行功耗。其中,第一处理器110和第二处理器120可以是分别独立设置的处理器,也可以是同一个处理器中的不同核。例如,第一处理器110可以是中央处理器,可选的,第二处理器120可以是中央处理器,也可以是MCU(Microcontroller Unit,微控制单元)。第一处理器110与第二处理器120之间可以根据第二处理器的种类确定不同的通信方式。再例如,第一处理器110可以是ARM(Advanced RISCMachines,进阶精简指令集机器)架构下的异构设计中的主要负责性能的处理器,即大核处理器,第二处理器120可以是ARM架构下的异构设计中的主要负责低能耗的处理器,即小核处理器。

电子设备10在定位时,由第二处理器120通过GPS芯片130获取定位数据,并通过第二处理器120将定位数据传输至第一处理器110,第一处理器110接收到定位数据后再提供给具有定位需求的目标应用程序。

需要说明的是,GPS芯片可以通过美国的全球卫星导航系统、欧洲的“伽利略”系统、俄罗斯的“格洛纳斯”系统以及中国的“北斗”系统中的一种或多种系统获取定位数据,本申请实施例对此不作限制。

如图2所示,图2是本申请实施例公开的一种定位数据传输方法的流程示意图,该定位数据传输方法可以应用于上述实施例中的电子设备,该定位数据传输方法可以包括:

步骤210,第二处理器通过GPS芯片获取定位数据。

电子设备中的第二处理器可以通过GPS芯片获取定位数据。其中,定位数据可以指的是电子设备的经纬度坐标,例如,定位数据可以为(116,39),即电子设备处于经度126、纬度39的地点。

可选的,GPS芯片可以持续获取定位数据,也可以在确定目标应用程序具有定位需求时再获取定位数据。其中,定位数据通常是由卫星原始数据计算得到的,可选的,GPS芯片可采集卫星原始数据,第二处理器可以从GPS芯片中获取卫星原始数据,再将卫星原始数据转换为定位数据。作为另一种实施方式,GPS芯片也可在采集卫星原始数据后,根据该卫星原始数据计算生成定位数据,第二处理器再从GPS芯片中获取由GPS芯片计算好的定位数据。

其中,卫星原始数据可以包括方位角、时间、距离、稳定度指数以及其它数据,对此不作限制。第二处理器或GPS芯片根据卫星原始数据可以确定定位数据,也可以确定其它数据等,但本申请实施例中仅使用到定位数据,对于确定其它数据的方法不作赘述。

步骤220,第二处理器将定位数据传输至第一处理器。

在一些实施例中,第一处理器和第二处理器中可分别运行不同的操作系统,第一处理器中运行的第一操作系统的运行功耗,可大于第二处理器中运行的第二操作系统的运行功耗,第一操作系统的运行性能可优于第二操作系统的运行性能。进一步地,第一操作系统可包括但不限于Linux、Windows、Android(安卓)、Windows phone等用户操作系统,第二操作系统可包括但不限于μC/OS、RT-Thread、FreeRTOS等RTOS(Real Time OperatingSystem,实时操作系统)。

由于第一处理器和第二处理器的操作系统并不相同,例如,第一处理器的操作系统可以为Linux系统,第二处理器的操作系统可以为MIPS(Microprocessor withoutinterlocked piped stages architecture,无内部互锁流水级的微处理器)架构操作系统,第一处理器与第二处理器之间不能直接传输数据,而是要根据第一处理器及第二处理器的处理器类型确定通信方式。例如,在第一处理器为大核处理器,第二处理器为小核处理器时,大核处理器和小核处理器之间可以通过设置通信服务端和通信客户端进行通信,在第一处理器为中央处理器,第二处理器为MCU时,中央处理器和MCU之间可以通过SPI(Serial Peripheral Interface,串行外设接口)协议进行通信以及通过UART(UniversalAsynchronous Receiver/Transmitter,异步收发传输器)等中的任一种方式进行通信,本申请实施例对此不作限制。

在一个实施例中,第二处理器将定位数据传输至第一处理器,可包括:第二处理器实时将定位数据传输至第一处理器;或,第二处理器对定位数据进行存储,若存储的定位数据的数据量大于数据量阈值,则将存储的定位数据传输至第一处理器。

其中,第二处理器实时将定位数据传输至第一处理器,即第二处理器可以在通过GPS芯片获取定位数据之后,立即将获取的定位数据传输至第一处理器。可选的,第二处理器可以在将定位数据传输至第一处理器时,同时对定位数据进行存储,第二处理器也可以仅将定位数据传输至第一处理器,不对定位数据进行存储。可选的,该定位数据可以存储在缓存、内存、硬盘等中的任一存储器中。

作为另一种实施方式,第二处理器也可不实时将定位数据传输至第一处理器。第二处理器先将定位数据存储在存储器中,而不直接传输到第二处理器中,若存储的定位数据的数据量大于数据量阈值,则第二处理器将存储的定位数据传输至第一处理器中,例如,数据量阈值可以为2KB(Kilobyte,千字节),在存储器中存储的定位数据的数据量达到2KB之后,即存储的定位数据的数据量大于数据量阈值,第二处理器将该存储的2KB的定位数据全部传输至第一处理器中。实施该实施方式,第二处理器可以对定位数据进行存储,而不直接传输到第一处理器,直至存储的定位数据的数据量达到数据量阈值再将定位数据传输至第一处理器,第一处理器可以一次性地接收达到数据量阈值的定位数据,降低了第一处理器的运行功耗,从而降低了电子设备使用定位功能所产生的功耗。

作为一种可选的实施方式,第二处理器对定位数据进行存储,若第二处理器本次对定位数据进行存储的时长大于时间阈值,则将本次存储的定位数据传输至第二处理器。第二处理器可按照预设的时间周期向第一处理器发送定位数据,该时间阈值即为每个时间周期的时长。第二处理器对GPS芯片传输过来的定位数据进行存储,并将定位数据存储在存储器中,在第二处理器本次对定位数据进行存储的时长达到时间阈值时,说明达到当前时间周期的时长,第二处理器可以将在当前时间周期内存储的定位数据全部传输至第二处理器。例如,时间阈值可以为10s(second,秒),第一处理器本次对定位数据进行存储并计时,在本次对定位数据进行存储的时长达到10s时,即第二处理器对定位数据进行存储的时长大于时间阈值,第二处理器可以将本次10s内存储的定位数据全部传输至第一处理器中。实施该实施方式,第二处理器可以对定位数据进行存储,而不直接传输到第一处理器,直至本次对定位数据进行存储的时长达到时间阈值再将定位数据传输至第一处理器,第一处理器可以一次性地接收本次时间阈值内存储的定位数据,降低了第一处理器的运行功耗,从而降低了电子设备使用定位功能所产生的功耗。

步骤230,第一处理器将定位数据提供给具有定位需求的目标应用程序。

电子设备中的第一处理器在接收到第二处理器传输的定位数据后,可以将定位数据提供给具有定位需求的目标应用程序。其中,该具有定位需求的目标应用程序指的是已发起定位请求但未获得定位数据的应用程序。

作为一种可选的实施方式,若存在多个具有定位需求的目标应用程序,第一处理器可以根据各个目标应用程序发起定位请求的时间先后确定提供定位数据的顺序。例如,若存在目标应用程序A、B以及C,A发起定位请求的时间先于B发起定位请求的时间,C发起定位请求的时间先于A发起定位请求的时间,则第一处理器先提供定位数据给C,再提供定位数据给A,最后提供定位数据给B。可选的,第一处理器也可以将定位数据同时提供给各个具有定位需求的目标应用程序。实施该实施方式,可以丰富电子设备中的第一处理器提供定位数据给目标应用程序的方式,从而提高定位数据传输方法的多样性。

在本申请实施例中,电子设备的第二处理器可以通过GPS芯片获取定位数据,再通过特定的通信方法将定位数据传输至电子设备中的第一处理器,第一处理器再可以将定位数据提供给具有定位需求的目标应用程序,在本申请实施例中,通过将GPS芯片外挂在第二处理器上,避免了在利用GPS芯片获取定位数据时还唤醒其它不必要的模块,避免了额外的功耗,并且通过运行功耗更低的第二处理器获取定位数据,也可减少第一处理器所产生的功耗,进一步地降低了电子设备使用定位功能所产生的功耗。

如图3所示,图3是本申请实施例的一种定位数据传输方法的流程示意图,该定位数据传输方法可以应用于如图4所示的电子设备10,电子设备10包括第一处理器110、第二处理器120以及GPS芯片130,第一处理器110运行有第一操作系统111,第二处理器120运行有第二操作系统121,第一操作系统111与第二操作系统121不同,第一处理器110包括通信客户端112,第二处理器120包括通信服务端122,本申请对此不作限制。

该定位数据传输方法可包括以下步骤:

步骤310,第二处理器通过GPS芯片获取定位数据。

在一些实施例中,第二处理器运行的第二操作系统可以通过GPS芯片获取定位数据。第二处理器运行的第二操作系统可以仅是接收GPS发送的定位数据,而不控制GPS芯片获取定位数据,GPS芯片在获取到定位数据后,直接将定位数据传输到第二处理器中。

步骤320,第二处理器运行的第二操作系统通过通信服务端,发送定位数据到通信客户端。

第二处理器运行的第二操作系统可以通过通信服务端,发送定位数据到通信客户端。其中,通信客户端与通信服务端可以是通过AIDL(Android Interface DefinitionLanguage,安卓接口定义语言)、Messenger(信使)等方式建立的,AIDL是一种远程过程调用方式,通过公开服务的接口实现不同进程之间的数据通信,Messenger本质上也是AIDL,但是封装了通信服务端的接口及其方法以及封装了通信客户端的方法。以通过Messenger建立的通信服务端和通信客户端为例,第二处理器运行的第二操作系统可以通过通信服务端获取通信客户端的Messenger对象,通信服务端通过该Messenger对象携带定位数据,使用Messenger对象中的方法将定位数据发送到通信客户端中,Messenger对象中的方法指的是Messenger对象中的函数。

步骤330,第一处理器运行的第一操作系统通过通信客户端接收定位数据。

第一处理器运行的第一操作系统可以通过通信客户端接收通信服务端传输过来的定位数据。再以通过Messenger建立的通信服务端和通信客户端为例,第一处理器运行的第一操作系统可以通过通信客户端可以获取通信服务端发送的携带定位数据的Messenger对象,再从该Messenger对象中获取定位数据。

需要说明的是,通过Messenger建立的通信服务端和通信客户端进行第一处理器和第二处理器之间的通信只是本申请公开的一个实施例,但并不局限于此,该定位数据传输方法也可以使用其它通信方式进行第一处理器与第二处理器之间的通信。

步骤340,第一处理器将定位数据提供给具有定位需求的目标应用程序。

第一处理器运行的第一操作系统将定位数据提供给具有定位需求的目标应用程序。

在本申请实施例中,电子设备中的第一处理器包括通信客户端,电子设备中的第二处理器包括通信服务端,通过使用通信客户端与通信服务端,可以使得电子设备中运行第一操作系统的第一处理器和运行第二操作系统的第二处理器之间通信,从而使得定位数据的传输可以通过第二处理器从GPS芯片中获取定位数据,第二处理器运行的第二操作系统再通过通信服务端将定位数据传输到通信客户端,第一处理器运行的第一操作系统通过通信客户端接收定位数据,并提供给具有定位需求的目标应用程序,在第二操作系统的运行性能满足需求的情况下,第二处理器中运行功耗更低的第二操作系统通过GPS芯片获取定位数据,再通过能够跨不同操作系统传输数据的通信客户端与通信服务端将定位数据发送到第一处理器,减少了第一处理器运行第一操作系统的消耗,从而降低了电子设备使用定位功能所产生的功耗。

如图5所示,图5是本申请实施例公开的一种定位数据传输方法的流程示意图,该定位数据传输方法可以应用于上述实施例中的电子设备,该定位数据传输方法包括:

步骤510,第一处理器接收目标应用程序发送的定位请求,并根据定位请求发送定位指令到GPS芯片,定位指令用于指示GPS芯片捕获GPS卫星信号以生成卫星原始数据,并传输中断信号到第二处理器。

目标应用程序在有定位需求时,可以向第一处理器发送定位请求以获得定位数据,第一处理器可以接收目标应用程序发送的定位请求,并根据定位请求发送定位指令到GPS芯片,GPS芯片可以接收第一处理器发送的定位指令,并根据该定位指令捕获GPS卫星信号以生成卫星原始数据,在生成卫星原始数据之后,可以传输中断信号到第二处理器。可选的,GPS芯片可以根据该定位指令进行GPS捕获,即对卫星进行搜寻捕获,在捕获到的卫星的数量于数量大于数量阈值时,开始生成卫星原始数据,在定位过程中保持GPS追踪,

在一个实施例中,第一处理器具有访问GPS芯片的数据接口,第一处理器接收目标应用程序发送的定位请求,并根据定位请求,通过数据接口发送定位指令到GPS芯片。其中,第一处理器可以通过HIDL(HAL interface definition language,硬件抽象层接口定义语言)、SPI协议等通信方式建立访问GPS芯片的数据接口,该数据接口可以控制GPS芯片的电源开关、GPS芯片的工作模式以及传输数据等,GPS芯片的工作模式可以包括但不限于低功耗模式、性能模式,本申请对此不作限制。其中,虽然第一处理器与GPS芯片之间可以进行通信,但是并不直接传输定位数据,而是通过运行功耗更低的第二处理器获取GPS芯片中的定位数据,再将定位数据传输到第一处理器中。实施该实施例,电子设备中的第一处理器可以通过数据接口发送定位指令到GPS芯片,但不直接从GPS芯片中获取定位数据或卫星原始数据,可以降低电子设备使用定位功能所产生的功耗。

需要说明的是,本申请实施例虽然改变了定位数据传输的过程,但并未改变目标应用程序获取定位数据的接口,目标应用程序获取定位数据可以使用原有的接口,仅仅是获取定位数据的接口获取定位数据时所使用的数据通路发生了变化,即该定位数据传输方法兼容第一处理器运行的第一操作系统的获取定位数据的接口,使得目标应用程序不需要修改获取定位数据的方法。

步骤520,第二处理器接收GPS芯片发送的中断信号,并根据中断信号从GPS芯片中获取卫星原始数据。

第二处理器接收GPS芯片发送的中断信号,并根据中断信号从GPS芯片中获取卫星原始数据,该中断信号可以说明GPS芯片开始获取卫星原始数据,也可以说明存在具有定位需求的目标应用程序。

作为一种可选的实施方式,第二处理器根据中断信号,通过SPI从GPS芯片中获取卫星原始数据。其中,第二处理器中可以设置第二SPI控制器,通过第二SPI控制器控制SPI从GPS芯片中获取卫星原始数据,而不是从GPS芯片中获取可提供给目标应用程序的定位数据。而在相关技术中,由于GPS模块与modem耦合且与第一处理器直接连接,第一处理器可以通过第一SPI控制器从与modem耦合的GPS模块获取可用的定位数据,运行功耗比第二处理器更高的第一处理器以及GPS模块需要持续运行,也可能唤醒不必要的部分modem模块,而实施该实施方式,则不需要第一处理器持续获取定位数据,GPS芯片也不需要将卫星原始数据转化为定位数据,仅仅需要运行功耗比第一处理更低的第二处理器运行,降低了通过GPS芯片获取定位数据的所需要的功耗,在长时间持续定位的场景下,进一步地减少了GPS芯片的捕获功耗和追踪功耗,从而降低了电子设备使用定位功能所产生的功耗。

步骤530,第二处理器根据卫星原始数据确定定位数据。

步骤540,第二处理器将定位数据传输至第一处理器。

步骤550,第一处理器将定位数据提供给具有定位需求的目标应用程序。

步骤540~550与上述实施例中的步骤120~130相同,此处不再赘述。

在本申请实施例中,电子设备中的第一处理器可以根据目标应用程序发送的定位请求,发送定位指令到GPS芯片以指示GPS芯片生成卫星原始数据且传输中断信号到第二处理器,而第二处理器接收到中断信号后则从GPS芯片中获取卫星原始数据,并将卫星原始数据转化为定位数据,再将定位数据传输至第一处理器,第一处理器则可以将定位数据提供给具有定位需求的目标应用程序,以第二处理器作为转换器,该转换器可以将卫星原始数据转化为定位数据,可以降低GPS芯片的功耗,以及将第二处理器作为GPS芯片与第一处理器之间传输定位数据的中转站,可以降低定位数据传输的功耗,从而降低电子设备使用定位功能所产生的功耗。

如图6-a所示,图6-a是本申请实施例公开的一种定位数据传输方法的流程示意图,该定位数据传输方法可应用于上述实施例中的电子设备,该定位数据传输方法可包括:

步骤610,第一处理器接收目标应用程序发送的定位请求,并根据定位请求发送定位指令到GPS芯片,定位指令用于指示GPS芯片捕获GPS卫星信号以生成卫星原始数据,并传输中断信号到第二处理器。

步骤610与上述实施例中的步骤510相同,此处不再赘述。

步骤620,第一处理器进入休眠状态。

由于第一处理器在发送定位指令到GPS芯片后,GPS芯片获取卫星原始数据需要一定的时间,以及第二处理器可能不会实时将定位数据传输至第一处理器,第一处理器并不能立即获取到定位数据,所以第一处理器可以先暂时进入休眠状态,休眠状态指的降低运行功耗的低功耗状态,从而降低功耗。

步骤630,第二处理器接收GPS芯片发送的中断信号,并根据中断信号,通过SPI从GPS芯片中获取卫星原始数据。

步骤640,第二处理器根据卫星原始数据确定定位数据。

步骤630~640与上述实施例中的方法相同,此处不再赘述。

步骤650,第二处理器向第一处理器发送唤醒指令,唤醒指令用于唤醒第一处理器。

由于第一处理器之前已经进入了休眠状态,所以第二处理器在向第一处理器传输定位数据之前,可以向第一处理器发送唤醒指令,第二处理器接收到该唤醒指令后可以从休眠状态中被唤醒。

步骤660,第二处理器将定位数据传输至第一处理器。

在一个实施例中,步骤650~660可以包括:第二处理器向第一处理器发送唤醒指令,唤醒指令用于唤醒第一处理器,再实时将定位数据传输至第一处理器;或,第二处理器将定位数据保存,若第二处理器保存的定位数据量大于数据量阈值,则第二处理器向第一处理器发送唤醒指令,再将定位数据传输至第一处理器。

步骤670,第一处理器将定位数据提供给具有定位需求的目标应用程序。

步骤660~670与上述实施例中的方法相同,此处不再赘述。

如图6-b所示,图6-b是本申请实施例公开的一种定位数据传输方法的时序图,说明第一处理器、第二处理器以及GPS芯片之间的数据传输过程。如图6-b所示,第一处理器接收目标应用程序发送的定位请求,再发送定位指令到GPS芯片中,并且第一处理器发送定位指令后马上进入休眠状态,GPS芯片接收定位指令后捕获GPS卫星信号以生成卫星原始数据,并传输中断信号到第二处理器中,第二处理器可以根据中断信号通过SPI获取卫星原始数据,并根据卫星原始数据确定定位数据,在第二处理器向第一处理器传输定位数据之前,需要发送唤醒指令到第一处理器,以使得第一处理器从休眠状态中被唤醒,第二处理器再传输定位数据至第一处理器,最后第一处理将定位数据提供给具有定位需求的目标应用程序。

在本申请实施例中,电子设备中的第一处理器在向GPS芯片发送定位指令后,先进入休眠状态,在第二处理器确定要向第一处理器传输定位数据之前,再发送唤醒指令到第一处理器以唤醒第一处理器,能够减少唤醒第一处理器的次数,从而减少第一处理器运行的时间,从而降低电子设备使用定位功能所产生的功耗。如图7所示,图7是本申请实施例公开的一种定位数据传输装置的模块化示意图,该定位数据传输装置可应用于上述的电子设备,电子设备包括第一处理器、第二处理器及GPS芯片,第一处理器的运行功耗大于第二处理器的运行功耗,第二处理器与GPS芯片连接;该定位数据传输装置700包括获取模块710、传输模块720以及供应模块730,其中:

获取模块710,用于由第二处理器通过GPS芯片获取定位数据。

传输模块720,用于通过第二处理器将定位数据传输至第一处理器。

供应模块730,用于通过第一处理器将定位数据提供给具有定位需求的目标应用程序。

在一个实施例中,传输模块720,还用于通过第二处理器实时将定位数据传输至第一处理器;或,通过第二处理器对定位数据进行存储,若存储的定位数据的数据量大于数据量阈值,则将存储的定位数据传输至第一处理器。

在一个实施例中,第一处理器运行有第一操作系统,第二处理器运行有第二操作系统,第一操作系统的运行功耗大于第二操作系统的运行功耗,第一处理器包括通信客户端,传输模块720,还用于由第二处理器运行的第二操作系统通过通信服务端,发送定位数据到通信客户端;第一处理器运行的第一操作系统通过通信客户端接收定位数据。

在一个实施例中,该定位数据传输装置700除了包括获取模块710、传输模块720以及供应模块730,还包括请求模块,其中:

请求模块,用于通过第一处理器接收目标应用程序发送的定位请求,并根据定位请求发送定位指令到GPS芯片,定位指令用于指示GPS芯片捕获GPS卫星信号以生成卫星原始数据,并传输中断信号到第二处理器。

获取模块710,还用于通过第二处理器接收GPS芯片发送的中断信号,并根据中断信号从GPS芯片中获取卫星原始数据;第二处理器根据卫星原始数据确定定位数据。

在一个实施例中,该定位数据传输装置700除了包括获取模块710、传输模块720、供应模块730以及请求模块,还包括休眠模块以及唤醒模块,其中:

休眠模块,用于使得第一处理器进入休眠状态。

唤醒模块,用于通过第二处理器向第一处理器发送唤醒指令,唤醒指令用于唤醒第一处理器。

在一个实施例中,第二处理器与GPS芯片之间通过串行外设接口SPI相连接,获取模块710,还用于由第二处理器根据中断信号,通过SPI从GPS芯片中获取卫星原始数据。

在一个实施例中,第一处理器具有访问GPS芯片的数据接口,请求模块,还用于通过第一处理器接收目标应用程序发送的定位请求,并根据定位请求,通过数据接口发送定位指令到GPS芯片。

在本申请实施例中,电子设备的第二处理器可以通过GPS芯片获取定位数据,再通过特定的通信方法将定位数据传输至电子设备中的第一处理器,第一处理器再可以将定位数据提供给具有定位需求的目标应用程序,在本申请实施例中,通过将GPS芯片外挂在第二处理器上,避免了在利用GPS芯片获取定位数据时还唤醒其它不必要的模块,避免了额外的功耗,并且通过运行功耗更低的第二处理器获取定位数据,也可减少第一处理器所产生的功耗,进一步地降低了电子设备使用定位功能所产生的功耗。

如图8所示,在一个实施例中,提供一种电子设备,该电子设备可以包括:

存储有可执行程序代码的存储器810;

与存储器810耦合的处理器820;

处理器820调用存储器810中存储的可执行程序代码,可实现如上述各实施例中提供的定位数据传输方法。

存储器810可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。存储器810可用于存储指令、程序、代码、代码集或指令集。存储器810可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等。存储数据区还可以存储电子设备在使用中所创建的数据等。

处理器820可以包括一个或者多个处理核。处理器820利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器810内的指令、程序、代码集或指令集,以及调用存储在存储器810内的数据,执行电子设备的各种功能和处理数据。可选地,处理器820可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器820可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器820中,单独通过一块通信芯片进行实现。

可以理解地,电子设备可包括比上述结构框图中更多或更少的结构元件,例如,包括电源模块、物理按键、WiFi(Wireless Fidelity,无线保真)模块、扬声器、蓝牙模块、传感器等,还可在此不进行限定。

本申请实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行上述各实施例中所描述的方法。

此外,本申请实施例进一步公开一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机可以执行上述实施例所描述的任意一种定位数据传输方法中的全部或部分步骤。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

以上对本申请实施例公开的一种定位数据传输方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 数据传输方法、装置、电子设备及存储介质
  • 一种数据传输方法、装置、电子设备及存储介质
  • 一种基于Slam定位方法、装置、电子设备及计算机存储介质
  • 一种车辆定位方法、装置、电子设备及存储介质
  • 一种定位方法、装置、电子设备及计算机可读存储介质
  • 定位数据传输方法、装置、系统、电子设备及存储介质
  • 数据传输方法、数据传输装置、电子设备及存储介质
技术分类

06120116484847