专利名称:Soc中实现片上主系统唤醒和睡眠功能的方法和装置的制作方法
技术领域:
本发明涉及集成电路领域,特别涉及一种soc中实现片上主系统唤醒和 睡眠功能的方法和装置。
背景技术:
随着集成电路技术的飞速发展,客户对于消费类电子产品,特别是便携式 电子产品的需求越来越多。由于便携式电子产品需要电池供电,所以功耗问题 日益凸现。现在,电子产品都是在系统层上采取措施,从而降低功耗,这样芯 片功耗优化的幅度会更显著。
其中,让系统进入睡眠状态是一种有效的做法。当整个SOC( system on chip, 片上系统)都已经处理完所有的任务,并且在很长的一段时间内都将处于空闲 状态时,那么片上主系统应该进入到睡眠状态。在睡眠时,除了保留负责唤醒 处理相关的模块需要的时钟源,其他的芯片和模块需要的时钟源都会关闭。当 SOC需要再次进行任务处理时,可以通过一个唤醒信号唤醒片上主系统,打开 相应的时钟源使整个系统进入工作状态。
现有技术中唤醒片上主系统的结构示意图如图1所示,包括时钟选择单 元;第一时钟使能单元和第二时钟使能单元;第一寄存器和第二寄存器;或电 路。
如图1所示,第一时钟使能单元在第一使能信号的控制下,选择打开或关 闭第二频率时钟;时钟选择单元在时钟选择信号的控制下,选择第一频率时钟 或第一时钟使能单元使能后的频率时钟;总线写信号在高电平时将第二数据信 号写入第二寄存器,第二寄存器输出第三使能信号;系统唤醒信号为高电平时 将第一数据信号写入第一寄存器,第一寄存器输出第二使能信号;或电路对第 二使能信号和第三使能信号进行选择,选择后的信号为第四使能信号;第四使
能信号控制第二时钟使能单元打开或关闭时钟选择单元发送的频率时钟。
soc在正常运行时,第一使能信号为高电平,时钟选择信号为高电平,时 钟选择单元选择第二频率时钟;第二使能信号为低电平,第三〗吏能信号为高电 平,所以第四使能信号为高电平,第二时钟使能单元打开时钟选l奪单元发送的 第二频率时钟。
当SOC已经处理完所有的任务后,SOC首先使时钟选择信号变为低电平, 时钟选择单元选择第一频率时钟,接着关闭第二频率时钟;最后信号总线写信 号为高电平,第二数据信号输入全0数据到第二寄存器使第三使能信号变为低 电平,则第四使能信号变为低电平,所以第二时钟使能单元关闭时钟选择单元 发送的第一频率时钟,片上主系统进入睡眠状态。
当SOC需要再次处理任务时,会产生一个高电平唤醒信号,第一数据信号 输入全1数据到第一寄存器使第二使能信号变为高电平,所以第四使能信号也 为高电平,第二时钟使能单元打开系统时钟,将系统主时钟信号发送给片上主 系统,完成唤醒功能。
片上主系统的功能是控制SOC的工作状态,所述片上主系统包括时钟控制 单元、CPU(中央处理器)、系统主线和通用接口单元。时钟控制单元接收系 统主时钟信号并进行处理后,将处理后的系统主时钟信号分别发送给CPU、系 统主线和通用接口单元后,片上主系统进入工作状态,执行工作指令,使SOC 进入工作状态。
一般唤醒信号为高电平的时间为1S,然后会取消唤醒信号,但是如果在1S 的时间内唤醒信号变为低电平,这时片上主系统会重新进入睡眠状态,为了防 止上述情况的发生,目前是在唤醒信号为高电平时,l欠件自动将总线写信号变 为高电平,第二数据信号输入全1数据到第二寄存器使第三使能信号变为高电 平,这样就算在1S的时间内唤醒信号变为低电平,由于或电路会选择高电平 输出,所以第四使能信号还是高电平,片上主系统不会重新进入睡眠状态。
但是上述方法由于总线写信号变为高电平必须由软件控制实现,所以在唤
醒片上系统时,增加了软件操作的指令,降低了唤醒状态的效率。
综上所述,目前在唤醒片上主系统时,必须由软件和硬件相结合才能实现, 从而增加了软件操作的指令,降低了唤醒状态的效率。
发明内容
本发明实施例提供的一种soc中实现片上主系统唤醒功能的方法和装置,
相对于现有技术,利用本方法和装置,在唤醒片上系统时,能够减少软件操作 的指令,提高了唤醒时的处理效率和速度。
本发明实施例提供的一种soc中实现片上主系统唤醒功能的方法,所述 soc包括异步复位信号发生器、异步复位寄存器和时钟使能单元和片上主系 统,该方法包4舌
异步复位信号发生器收到唤醒信号后,发送用于触发异步复位寄存器进入 工作状态的第一工作信号;
所述异步复位寄存器收到所述第一工作信号后,发送用于触发时钟使能单 元进入工作状态的第二工作信号;
所述时钟使能单元收到所述第二工作信号后,接收芯片主时钟信号并将所 述芯片主时钟信号转换为让片上主系统进入工作状态的系统主时钟信号后,向 片上主系统发送,唤醒片上主系统。
本发明实施例提供的一种SOC中实现片上主系统睡眠功能的方法,所述 SOC包括异步复位寄存器和时钟使能单元和片上主系统,该方法包括
异步复位寄存器在收到总线写信号和低位数据信号后,将收到的低位数据 信号转换为用于触发时钟使能单元进入睡眠状态的睡眠信号,向时钟使能单元 发送;
所述时钟使能单元收到所述睡眠信号后,停止发送系统主时钟信号,使片 上主系统进入睡眠状态。
本发明实施例提供的一种SOC中实现片上主系统唤醒功能的装置,包括
异步复位信号发生器,用于收到唤醒信号后,发送用于触发异步复位寄存
器进入工作状态的第一工作信号;
异步复位寄存器,用于收到所述第一工作信号后,发送用于触发时钟使能 单元进入工作状态的第二工作信号;
时钟使能单元,用于收到所述第二工作信号后,接收芯片主时钟信号并将 所述芯片主时钟信号转换为让片上主系统进入工作状态的系统主时钟信号后, 向片上主系统发送,唤醒片上主系统。
本发明实施例提供的一种一种SOC中实现片上主系统睡眠功能的装置包
括
异步复位寄存器,用于在收到总线写信号和低位数据信号后,将收到的低 位数据信号转换成用于触发时钟使能单元进入睡眠状态的睡眠信号,并发送;
时钟使能单元,用于收到所述睡眠信号后,停止向片上主系统发送系统主 时钟信号,使片上主系统进入睡眠状态。
本发明实施例异步复位信号发生器收到唤醒信号后,发送用于触发异步复 位寄存器进入工作状态的第一工作信号;所述异步复位寄存器收到所述第一工 作信号后,发送用于触发时钟使能单元进入工作状态的第二工作信号;所述时 钟使能单元收到所述第二工作信号后,接收芯片主时钟信号并将所述芯片主时 钟信号转换为让片上主系统进入工作状态的系统主时钟信号后,向片上主系统 发送,唤醒片上主系统。由于在唤醒片上主系统时,减少了软件操作的指令, 从而提高了唤醒时的处理效率和速度,同时还能够有效防止片上主系统被唤醒 后误入睡眠状态。
图1为现有技术唤醒片上主系统的结构示意图2为本发明实施例一种SOC中实现片上主系统唤醒功能的装置结构示 意图3为本发明实施例一种SOC中实现片上主系统睡眠功能的装置结构示 意图4为本发明实施例一种SOC中实现片上主系统唤醒和睡眠功能的装置 结构示意图5为本发明实施例SOC中实现片上主系统唤醒功能的方法流程示意图; 图6为本发明实施例SOC中实现片上主系统睡眠功能的方法流程示意图。
具体实施例方式
本发明实施例异步复位信号发生器收到唤醒信号后,发送用于触发异步复 位寄存器进入工作状态的第一工作信号;异步复位寄存器收到所述第一工作信 号后,发送用于触发时钟使能单元进入工作状态的第二工作信号,在唤醒信号 发生变化时,异步复位寄存器收到复位信号,仍然可以发送第二工作信号的状 态,由于只需要有硬件就能够实现,从而减少了软件操作的指令,提高了唤醒 时的处理效率和速度。
其中,异步复位信号发生器能够根据唤醒信号的有效电平(高电平有效或 低电平有效)来输出相应的异步复位信号。
如果唤醒信号为高电平能够唤醒片上主系统,则异步复位寄存器在收到低 电平后,会输出高电平;在收到高电平后,会保持现有输入电平的状态(即复 位状态);
如果唤醒信号为低电平能够唤醒片上主系统,则异步复位寄存器在收到高 电平后,会输出高电平;在收到低电平后,会保持现有输入电平的状态(即复 位状态)。
下面以唤醒信号为高电平能够唤醒片上主系统对本发明实施例作进一步
详纟田4笛ii。
需要说明的是,唤醒信号为低电平能够唤醒片上主系统的方式与唤醒信号 为高电平能够唤醒片上主系统的方式类似,本领域普通技术人员在看了本发明
实施例后,可以通过电平转换等方式很容易推导出唤醒信号为低电平唤醒片上 主系统的实现方式,所以不再赘述。
如图2所示,本发明实施例一种SOC中实现片上主系统唤醒功能的装置 包括异步复位信号发生器IO、异步复位寄存器20、时钟使能单元30和片上 主系统40。
异步复位信号发生器10,用于在收到高电平的唤醒信号后,发送用于触发
异步复位寄存器20进入工作状态的低电平信号(即第一工作信号)。 其中,唤醒信号由人工触发产生或设定时间到达后产生的。 比如人工触碰触摸屏或按键时,会产生唤醒信号;或者, 设定一任务发生时间,如果时间到达,会产生唤醒信号。 需要说明的是,本实施例并不局限于上述产生唤醒信号的方式,任何能够
产生唤醒信号的方式都是用本实施例。
在具体实施过程中,异步复位信号发生器IO可以是反相器。 异步复位寄存器20,用于在收到来自异步复位信号发生器10的低电平信
号后,发送用于触发时钟使能单元30进入工作状态的高电平信号(即第二工
作信号)。
时钟使能单元30,用于收到来自异步复位寄存器20的高电平信号后,将 接收到的芯片主时钟信号转换成让片上主系统40进入工作状态的系统主时钟 信号后,向片上主系统40发送,唤醒片上主系统40。
其中,芯片主时钟信号是供主电路运行的时钟源;系统主时钟信号是芯片 主时钟信号使能后的信号,是维系SOC运行的时钟源。
片上主系统40,用于控制SOC的工作状态,所述片上主系统包括时钟控制 单元、CPU(中央处理器)、系统主线和通用接口单元。时钟控制单元接收系 统主时钟信号并进行处理后,将处理后的系统主时钟信号分别发送给CPU、系 统主线和通用接口单元后,片上主系统4(H皮唤醒,执行工作指令,使SOC进 入工作状态。
在具体实施过程中,高电平的唤醒信号会持续发送一段时间,比如1S,然
后会停止发送高电平的唤醒信号,但是异步复位寄存器20会持续向时钟使能 单元30发送高电平信号。
如果在高电平的唤醒信号持续发送的一段时间内,由于设备等原因,使发 送的唤醒信号由高电平转换为低电平,则异步复位信号发生器IO还用于
在收到的唤醒信号由高电平转换为低电平(即唤醒信号的电平发生变化) 时,发送的第一工作信号电平也发生相应变化(即转换为高电平信号),该电 平发生相应变化后的第一工作信号是用于保持异步复位寄存器20原输出状态 (即输出高电平)的复位信号;
异步复位寄存器20还用于
在收到来自异步复位信号发生器10的高电平信号(即电平发生相应变化 后的第一工作信号)后,保持当前向时钟使能单元30发送高电平信号的状态。 则时钟使能单元30继续发送系统主时钟信号。
本实施例只要唤醒信号先是高电平,就可以唤醒片上主系统40,即使持续 发送过程中唤醒信号变为低电平,也可以避免片上主系统40误入睡眠状态, 而且不需要软件参与,全部都是硬件实现,从而减少了软件操作的指令,提高 了唤醒时的处理效率和速度。
在片上系统处理正常任务结束后,需要让片上主系统再进入睡眠状态,如 图3所示,本发明实施例一种SOC中实现片上主系统睡眠功能的装置包括 异步复位寄存器20和时钟使能单元30。
异步复位寄存器20,用于在收到总线写信号和低位数据信号后,将收到的 低位数据信号转换成用于触发时钟使能单元30进入睡眠状态的低电平信号(即 睡眠信号)。
其中,总线写信号是根据总线协议,根据对应的地址(即异步复位寄存器 20的地址)进行写操作的信号组合。
总线写信号和低位数据信号是在设定的时间到达后发送的。
比如SOC在处理完任务后,在设定的时间内没有新任务需要处理,则会 发送总线写信号和低位数据信号。
需要说明的是,本实施例并不局限于上述发送总线写信号和低位数据信号 的方式,任何能发送总线写信号和低位数据信号的方式都适用本实施例。
时钟使能单元30,用于收到来自异步复位寄存器20的低电平信号后,停 止发送系统主时钟信号。
其中,本实施例一种SOC中实现片上主系统唤醒功能的装置也具有实现 睡眠的功能,即用图2的SOC中实现片上主系统唤醒功能的装置唤醒片上主 系统后,在片上主系统需要进入睡眠状态时,再用图3的装置结构让片上主系 统进入睡眠状态。
如图4所示,本发明实施例一种SOC中实现片上主系统睡眠和唤醒功能 的装置结构示意图中,唤醒片上主系统的装置结构和让片上主系统进入睡眠状 态的装置结构结合在一起,并且芯片主时钟信号是根据图l的方式产生的。
其中,触发信号为图1中的第一使能信号;高频时钟为图1中的第二频率 时钟;低频时钟为图1中的第一频率时钟;选择信号为图1中的时钟选择信号; 芯片主时钟信号为图1中的时钟选择单元选择后的频率时钟(即第一频率时钟 或第一时钟使能单元使能后的频率时钟);系统主时钟信号为图1中第二时钟 使能单元输出的系统时钟信号;时钟使能单元40为图1中的第一时钟使能单 元;时钟选择单元50为图1中的时钟选择单元;片上主系统60为图1中的片 上主系统。
如图5所示,本发明实施例一种SOC中实现片上主系统唤醒功能的方法 包括下列步骤
步骤500、异步复位信号发生器在收到高电平的唤醒信号后,发送用于触 发异步复位寄存器进入工作状态的低电平信号(即第一工作信号)。 其中,唤醒信号由人工触发产生或设定时间到达后产生的。 比如人工触^s並触摸屏或^4建时,会产生唤醒信号;
设定一任务发生时间,如果时间到达,会产生唤醒信号。
需要说明的是,本实施例并不局限于上述产生唤醒信号的方式,任何能够 产生唤醒信号的方式都是用本实施例。
在具体实施过程中,异步复位信号发生器可以是反相器。
步骤501、异步复位寄存器在收到来自异步复位信号发生器的低电平信号
后,发送用于触发时钟使能单元进入工作状态的高电平信号(即第二工作信号)。
步骤502、时钟使能单元收到来自异步复位寄存器的高电平信号后,接收 芯片主时钟信号并将所述芯片主时钟信号转换为让片上主系统进入工作状态 的系统主时钟信号后,向片上主系统发送,唤醒片上主系统。
其中,芯片主时钟信号是供主电路运行的时钟源;系统主时钟信号是芯片 主时钟信号使能后的信号,是维系SOC运行的时钟源。
其中,片上主系统的功能是控制SOC的工作状态,所述片上主系统包括时 钟控制单元、CPU(中央处理器)、系统主线和通用接口单元。时钟控制单元 接收系统主时钟信号并进行处理后,将处理后的系统主时钟信号分别发送给 CPU、系统主线和通用接口单元后,片上主系统进入工作状态,执行工作指令, 使SOC进入工作状态。
在具体实施过程中,高电平的唤醒信号会持续发送一段时间,比如ls,然 后会停止发送高电平的唤醒信号,但是异步复位寄存器会持续向时钟使能单元 发送高电平信号。
如果在高电平的唤醒信号持续发送的一段时间内,由于设备等原因,使发 送的唤醒信号由高电平转换为低电平,则步骤502之后还可以进一步包括
步骤503、异步复位信号发生器收到的唤醒信号由高电平转换为低电平(即 唤醒信号的电平发生变化)时,发送的第一工作信号的电平也发生相应变化后 (即转换为高电平信号),该电平发生相应变化后的第一工作信号是用于保持 异步复位寄存器原输出状态(即输出高电平)的复位信号。
步骤504、异步复位寄存器收到来自异步复位信号发生器的高电平信号(即
电平发生相应变化后的第一工作信号)后,保持当前向时钟使能单元发送高电 平信号的状态。
时钟使能单元继续发送系统主时钟信号。
本实施例只要唤醒信号先是高电平,就可以唤醒片上主系统,即使持续发 送过程中唤醒信号变为低电平,也可以避免片上主系统误入睡眠状态,而且不 需要软件参与,全部都是硬件实现,从而减少了软件操作的指令,提高了唤醒 时的处理效率和速度。
在SOC处理正常任务结束后,需要让片上主系统再进入睡眠状态,如图6 所示,本发明实施例一种SOC中实现片上主系统睡眠功能的方法包括下列步 骤
步骤600、异步复位寄存器在收到总线写信号和低位数据信号后,将收到 的低位数据信号转换成用于触发时钟使能单元进入睡眠状态的低电平信号(即 睡眠信号)。
其中,总线写信号是根据总线协议,根据对应的地址(即异步复位寄存器 20的地址)进行写操作的信号组合。
总线写信号和低位数据信号是软件在的时间到达后发送的。
比如片上系统在处理完任务后,在设定的时间内没有新任务需要处理, 则会发送总线写信号和低位数据信号。
需要说明的是,本实施例并不局限于上述发送总线写信号和低位数据信号 的方式,任何能发送总线写信号和低位数据信号的方式都适用本实施例。
步骤601、时钟使能单元收到来自异步复位寄存器的低电平信号后,停止 发送系统主时钟信号。
其中,本实施例一种SOC中实现片上主系统睡眠功能的方法需要与图5 的一种SOC中实现片上主系统的唤醒功能的方法结合使用,即用图5的方法 唤醒片上主系统后,在片上主系统需要进入睡眠状态时,再用图6的方法让片
上主系统进入睡眠状态。
从上述实施例中可以看出异步复位信号发生器收到唤醒信号后,发送用 于触发异步复位寄存器进入工作状态的第一工作信号;所述异步复位寄存器收 到所述第一工作信号后,发送用于触发时钟使能单元进入工作状态的第二工作 信号;所述时钟使能单元收到所述第二工作信号后,接收芯片主时钟信号并将 所述芯片主时钟信号转换为让片上主系统进入工作状态的系统主时钟信号后, 向片上主系统发送,唤醒片上主系统。由于在唤醒片上主系统时,能够减少软 件操作的指令,从而提高了唤醒时的处理效率和速度。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种SOC中实现片上主系统唤醒功能的方法,其特征在于,所述SOC包括异步复位信号发生器、异步复位寄存器和时钟使能单元和片上主系统,该方法包括所述异步复位信号发生器收到唤醒信号后,发送用于触发所述异步复位寄存器进入工作状态的第一工作信号;所述异步复位寄存器收到所述第一工作信号后,发送用于触发所述时钟使能单元进入工作状态的第二工作信号;所述时钟使能单元收到所述第二工作信号后,接收芯片主时钟信号,并将所述芯片主时钟信号转换为让片上主系统进入工作状态的系统主时钟信号后,向片上主系统发送,唤醒片上主系统。
2、 如权利要求1所述的方法,其特征在于,所述时钟使能单元发送用于 让片上主系统进入工作状态的系统主时钟信号后,进一步包括所述异步复位信号发生器在收到的所述唤醒信号的电平发生变化时,发送 的第一工作信号的电平发生相应变化,所述电平发生相应变化后的第一工作信号是用于触发异步复位寄存器进行复位的复位信号;所述异步复位寄存器收到所述电平发生相应变化后的第一工作信号后,保 持发送所述第二工作信号的状态。
3、 如权利要求1所述的方法,其特征在于,所述唤醒信号由人工触发产 生或设定时间到达后产生。
4、 一种SOC中实现片上主系统睡眠功能的方法,其特征在于,所述SOC 包括异步复位寄存器和时钟使能单元和片上主系统,该方法包括所述异步复位寄存器在收到总线写信号和低位数据信号后,将收到的所述 低位数据信号转换为用于触发所述时钟使能单元进入睡眠状态的睡眠信号,向 所述时钟使能单元发送;所述时钟使能单元收到所述睡眠信号后,停止向片上主系统发送系统主时 钟信号,使片上主系统进入睡眠状态。
5、 如权利要求4所述的方法,其特征在于,所述总线写信号和所述低位 数据信号是在设定的时间到达后发送的。
6、 一种SOC中实现片上主系统唤醒功能的装置,其特征在于,该装置包括异步复位信号发生器,用于收到唤醒信号后,发送用于触发异步复位寄存 器进入工作状态的第 一工作信号;异步复位寄存器,用于收到所述第一工作信号后,发送用于触发时钟使能 单元进入工作状态的第二工作信号;时钟使能单元,用于收到所述第二工作信号后,接收芯片主时钟信号,并 将所述芯片主时钟信号转换为让片上主系统进入工作状态的系统主时钟信号 后,向片上主系统发送,唤醒片上主系统。
7、 如权利要求6所述的装置,其特征在于,所述异步复位信号发生器还 用于在收到的所述唤醒信号的电平发生变化时,发送的第一工作信号的电平发 生相应变化,所述电平发生相应变化后的第一工作信号是用于触发异步复位寄 存器进行复位的复位信号;所述异步复位寄存器用于在收到所述电平发生相应变化后的第 一工作信号后,保持发送所述第二工 作信号的状态。
8、 如权利要求6所述的装置,其特征在于,所述唤醒信号由人工触发产 生或设定时间到达后产生的。
9、 一种SOC中实现片上主系统睡眠功能的装置,其特征在于,该装置包括异步复位寄存器,用于在收到总线写信号和低位数据信号后,将收到的所 述低位数据信号转换为用于触发时钟使能单元进入睡眠状态的睡眠信号,向时钟使能单元发送;所述时钟使能单元,用于收到所述睡眠信号后,停止向片上主系统发送系 统主时钟信号,使片上主系统进入睡眠状态。
10、如权利要求9所述的装置,其特征在于,所述总线写信号和所述低位 数据信号是在设定的时间到达后发送的。
全文摘要
本发明涉及集成电路领域,特别涉及一种SOC中实现片上主系统唤醒和睡眠功能的方法及装置,利用本方法和装置,在唤醒片上主系统时,减少了软件操作指令,提高了唤醒时的处理效率和速度。本发明实施例的方法包括异步复位信号发生器收到唤醒信号后,发送用于触发异步复位寄存器进入工作状态的第一工作信号;所述异步复位寄存器收到所述第一工作信号后,发送用于触发时钟使能单元进入工作状态的第二工作信号;所述时钟使能单元收到所述第二工作信号后,接收芯片主时钟信号并将所述芯片主时钟信号转换为系统主时钟信号后,向片上主系统发送,唤醒片上主系统。本发明同时公开了一种SOC中实现片上主系统唤醒和睡眠功能的装置。
文档编号G06F1/04GK101387896SQ20081016735
公开日2009年3月18日 申请日期2008年10月22日 优先权日2008年10月22日
发明者易满星, 王惠刚 申请人:炬力集成电路设计有限公司