CN115599457B - 一种基于spi接口的从芯片唤醒与启动方法 - Google Patents
一种基于spi接口的从芯片唤醒与启动方法 Download PDFInfo
- Publication number
- CN115599457B CN115599457B CN202211436132.XA CN202211436132A CN115599457B CN 115599457 B CN115599457 B CN 115599457B CN 202211436132 A CN202211436132 A CN 202211436132A CN 115599457 B CN115599457 B CN 115599457B
- Authority
- CN
- China
- Prior art keywords
- chip
- slave chip
- wake
- message
- slave
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
一种基于SPI接口的从芯片唤醒与启动方法,包括:***上电后,从芯片完成初始基本配置后立即进入低功耗状态;主芯片进入从芯片唤醒启动任务,通过SPI接口向所述从芯片发送唤醒消息;所述从芯片被成功唤醒后,所述主芯片通过SPI接口向从芯片发送需要运行的镜像文件和启动消息;所述从芯片通过SPI接口接收所述镜像文件和所述启动消息后,向所述主芯片发送响应消息,并执行启动镜像文件;所述主芯片结束所述从芯片的唤醒启动任务。本申请的基于SPI接口的从芯片唤醒与启动方法,在***不需要从芯片参与时,从芯片处于低功耗模式,而***需要从芯片参与时,由主芯片通过SPI唤醒并启动处于低功耗状态的从芯片,从而降低***功耗。
Description
技术领域
本申请涉及半导体芯片技术领域,特别是涉及一种基于SPI接口的从芯片唤醒与启动方法。
背景技术
随着汽车电子的发展,行业对于车载***要求也越来越高,包括***的功耗、灵活性等方面,而芯片作为车载***的重要环节,对于***有着极大的影响。通过对芯片的设计和配置,可以实现低功耗与高灵活性的车载***。
目前,针对越来越复杂的车载***,在需要从芯片参与时,通过上电启动唤醒从芯片的方式,会造成***较大的功耗开销。
发明内容
为了解决现有技术存在的不足,本申请的目的在于提供一种基于SPI接口的从芯片唤醒与启动方法,保证在***不需要从芯片参与时,从芯片处于低功耗模式,降低***功耗;而***需要从芯片参与时,由主芯片通过SPI接口唤醒并启动处于低功耗状态的从芯片。
为实现上述目的,本申请提供一种基于SPI接口的从芯片唤醒与启动方法,包括:
***上电后,从芯片完成初始配置后进入低功耗状态;
主芯片通过SPI接口发送唤醒消息唤醒所述从芯片;
所述主芯片通过SPI接口向从芯片发送需要运行的镜像文件和启动消息;
所述从芯片通过SPI接口接收所述镜像文件和所述启动消息后,向所述主芯片发送响应消息,并执行启动镜像文件;
所述主芯片结束所述从芯片的唤醒启动任务。
进一步地,所述从芯片完成初始配置后进入低功耗状态的步骤,包括所述从芯片在远程启动服务阶段进行基本的配置后,进入低功耗状态并等待所述主芯片发送唤醒消息。
进一步地,所述主芯片通过SPI接口发送唤醒消息唤醒所述从芯片的步骤,包括:
所述主芯片判断所述从芯片是否处于低功耗状态;
所述主芯片向处于低功耗状态的从芯片发送多个时钟信号唤醒所述从芯片;
所述主芯片向所述从芯片发送唤醒消息并接收唤醒响应消息。
进一步地,所述主芯片向所述从芯片发送唤醒消息并接收唤醒响应消息的步骤,还包括:所述从芯片接收所所述唤醒消息并校验其是否有效,所述唤醒消息有效,将向主芯片发送唤醒响应消息。
进一步地,所述主芯片通过SPI接口向所述从芯片发送需要运行的数据文件和启动消息的步骤,还包括:在所述从芯片内部,通过其内部总线将数据写入所述从芯片内部存储器或者外部内存中。
更进一步地,所述启动消息,其包括启动镜像文件的加载地址和入口地址。
为实现上述目的,本申请还提供一种基于SPI接口的从芯片唤醒与启动***,包括:
主芯片,通过SPI接口向所述从芯片发送唤醒消息;在所述从芯片成功唤醒后,向所述从芯片发送启动镜像文件和启动消息,启动所述从芯片;
从芯片,通过SPI接口接收所述主芯片发送的唤醒消息,从低功耗状态被唤醒后,接收所述镜像文件和所述启动消息后,向所述主芯片发送响应消息,执行启动镜像文件;
所述主芯片与所述从芯片通过SPI总线连接;
所述主芯片与所述从芯片之间基于包通讯。
进一步地,所述从芯片,包括:SPI模块,内部RAM,CPU,时钟模块,复位模块,电源模块,以及功能模块,其中,
所述SPI模块,包括:IO控制模块,接收模块,发送模块,内部总线模块,FIFO模块,以及唤醒模块,其中,
所述IO控制模块,用于在所述从芯片的低功耗状态下拉高输出信号;
所述接收模块,用于接收所述唤醒消息、所述启动镜像文件和所述启动消息;
所述唤醒模块,用于检查所述唤醒消息的有效性,并发送唤醒中断给所述CPU、所述时钟模块、所述电源模块和所述复位模块。
为实现上述目的,本申请还提供一种电子设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器所存放的计算机程序,实现如上所述的基于SPI接口的从芯片唤醒与启动方法。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上所述的基于SPI接口的从芯片唤醒与启动方法。
本申请的基于SPI接口的从芯片唤醒与启动方法,可以保证在***不需要芯片(即从芯片)参与时,芯片启动后随即进入低功耗模式,来降低***功耗;而***需要芯片参与时,通过其他芯片(即主芯片)发送SPI唤醒消息来唤醒处于低功耗状态的从芯片,并发送启动数据文件给从芯片,使从芯片执行响应的任务,从而实现了兼顾***功耗、响应速度和***灵活性的目的。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:
图1为根据本申请的基于SPI接口的从芯片唤醒与启动方法流程图;
图2为根据本申请的主芯片工作流程图;
图3为根据本申请的从芯片工作流程图;
图4根据本申请的基于SPI接口的从芯片唤醒与启动***结构示意图;
图5为根据本申请的从芯片结构示意图;
图6为根据本申请的电子设备结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“主芯片”、“从芯片”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
应当理解的是,本申请虽然使用了“高”、“低”等来描述各个电平信号,是示意性而非限制性的,使用这些术语仅仅是在逻辑上对电平进行区分,在不背离示例性实施例的范围的情况下,电平高低是可以变更的。
本申请提及的从芯片是被唤醒并启动的芯片;主芯片是实现唤醒并发送启动脚本的芯片,主芯片与从芯片通过SPI总线连接。
下面,将参考附图详细地说明本申请的实施例。
实施例1
本申请实施例中,提供了一种基于SPI接口的从芯片唤醒与启动方法,在***不需要从芯片参与时,从芯片处于低功耗模式,降低***功耗;而***需要从芯片参与时,由主芯片通过SPI接口唤醒并启动处于低功耗状态的从芯片。
串行外设接口(Serial Peripheral Interface,SPI)是一种高速的、全双工、同步的通信总线,在芯片的管脚上只占用四根线,节约了芯片的管脚,同时可以为PCB的布局上节省空间,提供方便。
图1为根据本申请的基于SPI接口的从芯片唤醒与启动方法流程图,下面将参考图1,对本申请的基于SPI接口的从芯片唤醒与启动方法进行详细描述。
在步骤101,***上电后,从芯片完成初始配置后进入低功耗状态。
本申请实施例中,当***运行不需要从芯片参与时,***上电后,从芯片在远程启动服务(BOOTROM)阶段进行基本的配置后,进入低功耗模式并等待主芯片发送SPI唤醒消息,从而降低***功耗。
当从芯片处于该阶段下,除唤醒所需的模块外,其他模块处于复位状态,对于唤醒所需的模块,例如SPI模块,也可进一步划分为多个子模块,并对多个子模块进行配置,使其既可以响应唤醒消息,又不影响***整体功耗。
在步骤102,主芯片通过SPI接口发送唤醒消息唤醒从芯片。
本申请实施例中,主芯片有判断从芯片是否处于启动低功耗模式的能力。示例性的,规定SPI片选信号低有效(SPI CS low active),且从芯片在启动阶段进入低功耗状态时会将其SPI输出信号拉高。主芯片在发送SPI唤醒消息唤醒从芯片前会检查其状态,如果SPI片选信号和输入信号(从芯片的输出信号对应主芯片的输入信号)同时为高时认为从芯片处于启动低功耗模式。当从芯片接收到主芯片发送的唤醒消息时,会将其会将其输出信号拉低。主芯片向从芯片发送唤醒消息后,通过检查SPI的信号状态(SPI片选信号为高,输入信号为低)及唤醒响应消息的有效性来判断从芯片是否唤醒成功。
本申请实施例中,从芯片在低功耗状态下,其内部时钟模块停止工作,在***需要从芯片参与时,主芯片通过SPI接口向从芯片发送低速时钟信号唤醒从芯片,从芯片内部的时钟模块 “恢复”工作,提供支持从芯片发送或接收数据等工作的高速时钟。示例性的,主芯片向从芯片发送唤醒消息前会先发送4个低速的时钟信号,从芯片利用这4个时钟信号唤醒内部的CPU、时钟模块、复位模块、电源模块,然后依靠内部时钟模块接收主芯片的发送的唤醒消息以及向主芯片发送唤醒响应消息。
在步骤103,主芯片通过SPI接口向从芯片发送需要运行的镜像文件和启动消息。
镜像文件(image文件)里主要包含芯片能够解释执行的数据。
本申请实施例中,主芯片通过SPI接口将需要从芯片运行的image文件发送给从芯片,在从芯片内部通过其内部总线将image写入芯片内部存储(如RAM,Random AccessMemory的简称,随机存储器)或者外部内存(如SDRAM,Synchronous Dynamic Random-Access Memory的简称,同步动态随机存取内存)中,这个过程在从芯片内部完成,而在***层面看,可以抽象为主芯片通过SPI接口直接操作从芯片的地址空间。
从芯片每接收到一个数据消息,向主芯片回复一个数据响应消息,该消息没有payload(有效荷载),其它字段和对应的数据消息相同。
在步骤104,从芯片通过SPI接口接收镜像文件和启动消息后,向主芯片发送启动响应消息,并执行启动镜像文件。
本申请实施例中,主芯片将最后一个数据消息发送给从芯片并且成功接收数据响应消息后,通过SPI接口向从芯片发送启动消息,即通知从芯片启动image已经发送完毕,其payload为启动image文件的加载地址及入口地址。
从芯片接收到启动消息并解析出加载地址和入口地址后,向主芯片发送启动响应消息并执行启动image文件。
在步骤105,主芯片结束从芯片唤醒启动任务。
本申请实施例中,在***不需要芯片(该芯片作为从芯片)参与时,芯片启动后随即进入低功耗模式,而***需要从芯片参与时,可以通过其他芯片(该芯片作为主芯片)发送SPI唤醒消息来唤醒处于低功耗状态的从芯片,并发送启动数据文件给从芯片,使从芯片执行响应的任务。芯片处于低功耗模式时功耗极低,这样对***整体功耗影响极小,从而达到降低***功耗的目的。
实施例2
本申请实施例中,提供了主芯片(Master Chip)基于SPI接口唤醒从芯片(SlaveChip)的工作流程,以及从芯片基于SPI接口被唤醒的工作流程。
图2为根据本申请的主芯片工作流程图,下面将参考图2,对本申请的主芯片工作流程进行详细描述。
在步骤201,主芯片进入从芯片唤醒启动任务。
在步骤202,判断从芯片是否处于启动低功耗状态。
在步骤203,向从芯片发送唤醒消息。
本申请实施例中,主芯片首先通过SPI片选信号和输入信号状态判断从芯片是否处于启动阶段低功耗状态。
如果SPI片选信号和输入信号不满足同时为高,此时从芯片不处于低功耗状态,则主芯片进行异常处理,然后退出从芯片唤醒启动任务;
如果SPI片选信号和输入信号同时为高,主芯片低速(例如低于200KHz)发送4个时钟信号,这4个时钟信号不是用来传输数据,而是作为从芯片的SPI模块的工作时钟,用于唤醒从芯片的内部模块。
本申请实施例中,主芯片具有切换SPI时钟频率的能力,主芯片先发送较低的时钟频率(例如低于200KHz)“恢复”从芯片,然后切换至较高的时钟频率(例如高于40MHz)向从芯片发送唤醒消息、从芯片启动所需的镜像文件,以及接收从芯片回复的数据响应消息。
在步骤204,判断从芯片是否成功唤醒且唤醒未超时。
主芯片在发送完唤醒求消息后,在指定的时间内等待从芯片回复的唤醒响应消息。
如果主芯片未在指定时间内收到唤醒响应消息,或者唤醒响应消息无效,或者在接收到有效的唤醒响应消息后SPI片选信号和输入信号仍然同时为高,即从芯片仍处于启动低功耗状态(即从芯片未成功唤醒),则主芯片进行异常处理,然后退出从芯片唤醒启动任务。
如果主芯片收到有效的唤醒响应消息,并且此时SPI片选信号为高,输入信号为低,说明从芯片已经被成功唤醒。
在步骤205,向从芯片发送启动image数据消息并接收从芯片的数据响应消息。
从芯片被成功唤醒后,主芯片通过SPI接口向从芯片发送启动image数据消息,每发送一包数据消息后,需要接收到对应的数据响应后再发送下一包数据消息。
在步骤206,向主芯片发送启动消息并接收启动响应消息。
主芯片完成将启动image通过数据消息发送给从芯片后,向从芯片发送启动消息,启动消息数据内容是启动image的加载地址和入口地址。
在步骤207,退出从芯片唤醒启动任务。
主芯片接收到从芯片发送的启动响应消息后,退出从芯片唤醒启动任务。
图3为根据本申请的从芯片工作流程图,下面将参考图3,对本申请的从芯片工作流程进行详细描述。
在步骤301,从芯片上电启动。
在步骤302,远程启动服务(BOOTROM)完成基本配置。
在步骤303,进入启动低功耗模式。
从芯片上电启动后,在BOOTROM程序中对***做初始配置,从芯片的SPI模块的内部IO控制子模块将SPI输出信号拉高,并配置SPI模块内部的唤醒子模块只响应固定格式的唤醒消息,SPI模块的接收子模块用于接收外部SPI消息,然后关闭SPI模块的时钟,从芯片随后进入低功耗状态。
在步骤304,判断主芯片发送的唤醒消息是否有效。
在步骤305,进行芯片内部模块唤醒配置。
本申请实施例中,从芯片SPI模块的接收子模块接收到主芯片发送的低速时钟信号后,从芯片内部的高速时钟模块“恢复”工作,接收主芯片发送的固定长度的唤醒消息并判断唤醒消息是否有效(如类型是唤醒消息,校验和正确等)。
如果接收到的不是有效的唤醒消息,则忽略该消息。
如果接收到的是有效的唤醒消息,则进行内部模块唤醒配置并向主芯片发送唤醒响应消息。
本申请实施例中,从芯片接收到主芯片发送的多个低速时钟信号,在这些时钟周期内,SPI模块发送唤醒中断给CPU及从芯片内部的时钟模块、复位模块、电源模块等。
本申请实施例中,从芯片的时钟模块、复位模块、电源模块“恢复”后,会为从芯片内部的其他模块提供电源及时钟,也会为SPI模块提供时钟并为其内部的其他子模块供电。
在步骤306,向主芯片发送唤醒响应消息。
从芯片被成功唤醒后,SPI模块的IO控制子模块将输出信号拉低,然后向主芯片发送唤醒响应消息。
在步骤307,接收启动image数据消息并向主芯片发送数据响应消息。
从芯片通过SPI接口接收主芯片发送的启动数据消息,每接一包数据消息会回复一个数据响应消息,并通过SPI模块的内部总线控制模块将数据写入内部RAM中预先分配的空间。
在步骤308,接收启动消息并发送启动响应消息。
从芯片接收主芯片发送的启动消息,说明启动image已经全部接收,通过解析启动消息,获取启动image加载到内部RAM的地址及启动image的入口地址。
从芯片收到启动消息后向主芯片发送启动响应消息。
在步骤309,执行启动image。
从芯片通过软件方式将启动image从预先分配的空间拷贝至image加载地址处,然后跳转到启动image的入口执行启动程序。
实施例3
图4根据本申请的基于SPI接口的从芯片唤醒与启动***结构示意图,如图4所示,本申请的基于SPI接口的从芯片唤醒与启动***,包括:主芯片10、从芯片20,以及SPI总线30,其中,
主芯片10,进入从芯片唤醒启动任务后,通过SPI接口实现唤醒与启动从芯片20;
从芯片20,通过SPI接口接收主芯片10发送的唤醒启动消息及运行数据,唤醒并启动;
主芯片10与从芯片20通过SPI总线30连接;
主芯片10与从芯片20之间基于包(package)通讯,这需要从芯片20的BOOTROM与主芯片10的应用程序协同完成。通讯格式可由用户自定义,建议package格式中包括:package类型(唤醒package,数据package,启动package等),数据长度,crc(cyclic redundancycheck,循环冗余校验码)校验等信息。
本申请实施例中,给出一种可以实现本发明中各功能的package格式作为参考:
package格式的C语言定义:
struct spi_package {
unsigned char tag;
unsigned char flag;
unsigned char len;
unsigned char crc;
unsigned char payload[0];
}
spi_package结构体成员定义:
tag:package起始标志;
flag:package类型,分为唤醒、唤醒响应、数据、数据响应、启动、启动响应;
len:payload的长度;
crc:校验信息,校验区间包括tag/flag/len/payload;
payload:传输数据信息;
唤醒消息:唤醒消息没有payload,每个package为4字节,从芯片处于启动阶段低功耗状态只能响应唤醒消息;
唤醒响应消息:唤醒响应消息没有payload,每个package为4字节,从芯片被唤醒后发送给主芯片;
数据消息:主芯片发送启动image文件给从芯片,其中payload为从芯片启动image数据;
数据响应消息:从芯片每收到一个数据消息,会回复一个数据响应消息,该消息没有payload,其他字段和对应的数据消息相同;
启动消息:主芯片将最后一个数据消息发送给从芯片并且成功接收数据响应消息后,发送启动消息,通知从芯片启动image已经发送完毕,其payload为启动image加载地址及入口地址;
启动响应消息:从芯片接收到启动消息并解析出加载地址和入口地址后,会发送启动响应消息给主芯片并执行启动image。
图5为根据本申请的从芯片示意图,如图5所示,本申请的从芯片20,包括:SPI模块,内部RAM,CPU,时钟(clock)模块,复位(reset)模块,电源(power)模块,以及功能模块,其中,
SPI模块包括:IO控制模块21,接收模块22,发送模块23,唤醒模块24,FIFO模块25,以及内部总线模块26。
本申请实施例中,当从芯片处于启动低功耗状态时,SPI模块时钟关闭,且只有IO控制模块21、接收模块22、唤醒模块24三个子模块供电,其中IO控制模块21用于在低功耗状态下拉高输出信号,接收模块22用于接收主芯片发送的唤醒消息,唤醒模块24用于检查唤醒消息的有效性并发送唤醒中断给CPU和从芯片的时钟模块、电源模块、复位模块;
SPI模块在启动低功耗状态下可以将时钟关闭,来降低***功耗;在从芯片唤醒过程中,SPI模块利用主芯片发送的额外4个时钟作为工作时钟,来完成从芯片的唤醒工作;
当从芯片内部的时钟模块、电源模块、复位模块接收到SPI模块发送的唤醒中断后,“恢复”工作,为SPI模块及芯片内部其他模块提供电源和时钟,并复位相关模块,此时从芯片可以继续启动过程;
当从芯片接收到主芯片发送的image数据消息后,通过SPI模块的内部总线控制子模块将数据写入芯片内部RAM,当从芯片收到启动消息后,便可以跳转到内部RAM的入口地址处执行。
实施例4
本申请的实施例中,还提供了一种电子设备,图6为根据本申请实施例的电子设备结构示意图,如图6所示,本申请的电子设备,包括处理器401,以及存储器402,其中,
存储器402存储有计算机程序,计算机程序在被处理器401读取执行时,执行如上所述的基于SPI接口的从芯片唤醒与启动方法实施例中的步骤。
实施例5
本申请的实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行如上所述的基于SPI接口的从芯片唤醒与启动方法实施例中的步骤。
在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的基于SPI接口的从芯片唤醒与启动方法,具有以下优势:
通过对芯片及其所处***的合理设计,可以保证在***不需要芯片(该芯片作为从芯片)参与时,芯片启动后随即进入低功耗模式,芯片功耗极低,这样对***整体功耗影响极小,从而达到降低***功耗的目的;而***需要从芯片参与时,可以通过其他芯片(该芯片作为主芯片)发送SPI唤醒消息来唤醒处于低功耗状态的从芯片,并发送启动数据文件给从芯片,使从芯片执行响应的任务;
从芯片被主芯片唤醒与从芯片上电启动相比,被唤醒的方式响应速度更快;
通过软件配置,从芯片可配置其内存及模块的访问权限,指定允许主芯片访问的空间,并保留主芯片访问其他空间的能力,可以防止主芯片对从芯片的非法空间进行操作,提高***的安全性及灵活性;
主芯片可以根据***需要,发送不同的启动脚本给从芯片,使从芯片根据***需要执行不同的任务,提高整个***的灵活性及可配置性。
本领域普通技术人员可以理解:以上所述仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于SPI接口的从芯片唤醒与启动方法,包括:
***上电后,从芯片完成初始配置后进入低功耗状态,从芯片在所述低功耗状态下,其内部时钟停止工作;
主芯片通过SPI接口发送时钟信号唤醒所述从芯片,所述从芯片恢复内部时钟;
所述主芯片通过SPI接口向从芯片发送需要运行的镜像文件和启动消息;
所述从芯片通过SPI接口接收所述镜像文件和所述启动消息后,向所述主芯片发送启动响应消息,并执行启动镜像文件;
所述主芯片结束所述从芯片的唤醒启动任务。
2.根据权利要求1所述的基于SPI接口的从芯片唤醒与启动方法,其特征在于,所述从芯片完成初始配置后进入低功耗状态的步骤,包括所述从芯片在远程启动服务阶段进行基本的配置后,进入低功耗状态并等待所述主芯片发送唤醒消息。
3.根据权利要求1所述的基于SPI接口的从芯片唤醒与启动方法,其特征在于,所述主芯片通过SPI接口发送时钟信号唤醒所述从芯片,所述从芯片恢复内部时钟的步骤,还包括:
所述主芯片判断所述从芯片是否处于低功耗状态;
所述主芯片向处于低功耗状态的从芯片发送多个时钟信号唤醒所述从芯片;
所述主芯片向所述从芯片发送唤醒消息并接收唤醒响应消息。
4.根据权利要求3所述的基于SPI接口的从芯片唤醒与启动方法,其特征在于,所述主芯片向所述从芯片发送唤醒消息并接收唤醒响应消息的步骤,还包括:所述从芯片接收所所述唤醒消息并校验其是否有效,所述唤醒消息有效,将向主芯片发送唤醒响应消息。
5.根据权利要求1所述的基于SPI接口的从芯片唤醒与启动方法,其特征在于,所述主芯片通过SPI接口向所述从芯片发送需要运行的数据文件和启动消息的步骤,还包括:在所述从芯片内部,通过其内部总线将数据写入所述从芯片内部存储器或者外部内存中。
6.根据权利要求1所述的基于SPI接口的从芯片唤醒与启动方法,其特征在于,所述启动消息,其包括启动镜像文件的加载地址和入口地址。
7.一种基于SPI接口的从芯片唤醒与启动***,包括:
主芯片,通过SPI接口向所述从芯片发送唤醒消息;在所述从芯片成功唤醒后,向所述从芯片发送镜像文件和启动消息,启动所述从芯片;
从芯片,通过SPI接口接收所述主芯片发送的唤醒消息,从低功耗状态被唤醒后,接收所述镜像文件和所述启动消息后,向所述主芯片发送响应消息,执行启动;
所述主芯片与所述从芯片通过SPI总线连接;
所述主芯片与所述从芯片之间基于包通讯。
8.根据权利要求7所述的基于SPI接口的从芯片唤醒与启动***,其特征在于,所述从芯片,包括:SPI模块,内部存储器,CPU,时钟模块,复位模块,电源模块,以及功能模块,其中,
所述SPI模块,包括:IO控制模块,接收模块,发送模块,内部总线模块,FIFO模块,以及唤醒模块,其中,
所述IO控制模块,用于在所述从芯片的低功耗状态下拉高输出信号;
所述接收模块,用于接收所述唤醒消息、所述镜像文件和所述启动消息;
所述唤醒模块,用于检查所述唤醒消息的有效性,并分别发送唤醒中断给所述CPU、所述时钟模块、所述电源模块和所述复位模块。
9.一种电子设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器所存放的计算机程序,实现权利要求1-6任一项所述的基于SPI接口的从芯片唤醒与启动方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现权利要求1-6任一项所述的基于SPI接口的从芯片唤醒与启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436132.XA CN115599457B (zh) | 2022-11-16 | 2022-11-16 | 一种基于spi接口的从芯片唤醒与启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436132.XA CN115599457B (zh) | 2022-11-16 | 2022-11-16 | 一种基于spi接口的从芯片唤醒与启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115599457A CN115599457A (zh) | 2023-01-13 |
CN115599457B true CN115599457B (zh) | 2023-05-09 |
Family
ID=84852572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211436132.XA Active CN115599457B (zh) | 2022-11-16 | 2022-11-16 | 一种基于spi接口的从芯片唤醒与启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599457B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485754A (zh) * | 2021-06-22 | 2021-10-08 | 新华三半导体技术有限公司 | 一种芯片启动方法、装置及电子设备 |
CN113688082A (zh) * | 2021-07-08 | 2021-11-23 | 北京中电华大电子设计有限责任公司 | 一种支持低功耗无感唤醒的高速spi接口电路结构及其控制方法 |
-
2022
- 2022-11-16 CN CN202211436132.XA patent/CN115599457B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115599457A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080215908A1 (en) | Sleep Watchdog Circuit For Asynchronous Digital Circuits | |
US7886177B2 (en) | Method and apparatus of collecting timer ticks | |
CN115576258B (zh) | 车辆芯片***控制方法、***级芯片以及车辆 | |
CN113093899B (zh) | 一种跨电源域数据传输方法 | |
CN112948312B (zh) | 芯片控制方法、装置、智能终端及计算机可读存储介质 | |
CN116302141B (zh) | 串口切换方法、芯片及串口切换*** | |
US20080104438A1 (en) | Microcomputer, program and on-vehicle electronic controller | |
CN114661368B (zh) | 一种芯片及其启动方法 | |
JP7493871B2 (ja) | 電子デバイス及びウェイクアップのトリガに応答する方法 | |
CN115599457B (zh) | 一种基于spi接口的从芯片唤醒与启动方法 | |
US20070260900A1 (en) | High-performance microprocessor with lower-performance microcontroller in a vehicle network | |
WO2022100374A1 (zh) | 一种终端设备分级管理方法及*** | |
CN108282186A (zh) | 一种uart通信***、方法、设备及计算机存储介质 | |
CN114020138A (zh) | 微控制单元芯片及降低电量消耗的方法 | |
CN111897763A (zh) | 控制方法、控制装置、电子设备 | |
CN113656085B (zh) | 仪表启动方法、装置、设备、存储介质及程序产品 | |
CN116148644B (zh) | 测试电路、芯片、测试***及测试方法 | |
CN116755783B (zh) | 一种多核芯片启动方法、控制器及*** | |
CN112948315B (zh) | 存储区域共享方法、存储介质及电子设备 | |
JP2002229791A (ja) | インターフェース生成装置、プログラム及び記録媒体 | |
WO2023206693A1 (zh) | ***休眠方法及装置、***唤醒方法及装置 | |
JP2004280789A (ja) | 半導体集積回路装置およびマイクロコンピュータ開発支援装置 | |
CN116302137A (zh) | 一种快速开机的方法、汽车及存储介质 | |
KR20000054941A (ko) | 마이크로 콘트롤러와 퍼스널 컴퓨터 호환 아이사 버스 사이의 공유 메모리를 통한 서버 관리 시스템 | |
CN117873573A (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 |