*CN102591404A*
(10)申请公布号 CN 102591404 A(43)申请公布日 2012.07.18
(12)发明专利申请
(21)申请号 201110009504.6(22)申请日 2011.01.17
(71)申请人上海华虹集成电路有限责任公司
地址201203 上海市浦东新区碧波路572弄
39号(72)发明人王彩红
(74)专利代理机构上海东创专利代理事务所
(普通合伙) 31245
代理人曹立维(51)Int.Cl.
G06F 1/06(2006.01)
权利要求书 1 页 说明书 2 页 附图 1 页权利要求书1页 说明书2页 附图1页
(54)发明名称
一种SoC系统动态时钟切换方法(57)摘要
本发明提供一种SoC系统动态时钟切换方法,利用中断服务程序,采用软件和硬件结合的方式,在SoC系统稳定运行过程中完成时钟的动态切换。硬件部分采用三个功能寄存器时钟使能寄存器、时钟切换寄存器和时钟稳定中断寄存器。同时,系统内每个时钟源设置对应的计数器,用来计数保证新打开的时钟的稳定时间。本发明提供的内容能在满足SoC系统在低功耗、高可靠性以及可动态执行的需求下,完成高可靠性的动态时钟切换。
CN 102591404 ACN 102591404 A
权 利 要 求 书
1/1页
1.一种SoC系统动态时钟切换方法,其特征在于采用设置三个功能寄存器和系统内每个时钟源设置一个对应时钟源稳定计数器的实现方式,其实施步骤为:
(1)设置时钟使能寄存器,并设置其时钟使能有效位;(2)设置系统内时钟源稳定计数器,自时钟源打开时开始计数,计数满后时钟稳定中断寄存器置1;
(3)时钟稳定中断寄存器置1后,发出中断信号,进入中断服务程序;(4)根据时钟切换寄存器设置,关闭切换前的时钟源;(5)退出中断服务程序,当前时钟源稳定运行。
2.如权利要求1所述的一种SoC系统动态时钟切换方法,其特征在于所述三个功能寄存器分别为:时钟使能寄存器、时钟切换寄存器和时钟稳定中断寄存器。
3.如权利要求1所述的一种SoC系统动态时钟切换方法,其特征在于时钟源稳定计数器与系统时钟源一一对应。
4.如权利要求1所述的一种SoC系统动态时钟切换方法,其特征在于所述时钟切换寄存器在电平跳变时产生时钟切换。
2
CN 102591404 A
说 明 书
一种SoC系统动态时钟切换方法
1/2页
技术领域
[0001]
本发明涉及一种时钟切换方法,尤其涉及一种SoC系统动态时钟的切换方法。
背景技术
随着半导体技术的发展,SoC(System on a Chip系统级芯片)技术的到广泛的应
用。当前应用中越来越多的SoC片上系统芯片采用两个或者两个以上的时钟源,时钟源切换操作会经常出现。时钟源切换在系统应用中需兼顾低功耗、高可靠性、可动态执行三个方面问题。
[0003] 低功耗设计是SoC设计的基本要求,在多时钟源系统中,除正在工作的时钟源外,其它的时钟源都应处于standby(待命)状态。时钟切换前,应先将准备切换的时钟源打开待命。同时,高可靠性也是SoC系统的基本要求,一个时钟源打开后,需要一定时间才能够输出稳定的时钟。在时钟稳定之前,是不允许提供给系统使用的。在时钟切换时,时钟切换可动态执行是基本的性能要求。在系统执行其它操作时,可以穿插完成时钟切换。这样可以减轻软件开发的难度,降低芯片设计的复杂性。[0004] 基于上述SoC系统中低功耗、高可靠性以及可动态执行的三部分需求,本发明提供一种新颖的SoC系统动态时钟切换方法,在保障上述三部分要求的同时,满足时钟切换的需求。
[0002]
发明内容
本发明目的提供一种SoC系统动态时钟切换方法,利用中断服务程序,采用软件
和硬件结合的方式,在SoC系统稳定运行过程中完成时钟的动态切换。[0006] 硬件部分采用三个特殊功能寄存器,分别为时钟使能寄存器、时钟切换寄存器和时钟稳定中断寄存器。同时,系统内每个时钟源设置一个对应时钟源稳定计数器,用来计数保证新打开的时钟的稳定时间。[0007] 其实现流程为:
[0008] (1)设置时钟使能寄存器,并设置其时钟使能有效位;[0009] (2)设置系统内时钟源稳定计数器,自时钟源打开时开始计数,计数满后时钟稳定中断寄存器置1;
[0010] (3)时钟稳定中断寄存器置1后,发出中断信号,进入中断服务程序;[0011] (4)根据时钟切换寄存器设置,关闭切换前的时钟源;[0012] (5)退出中断服务程序,当前时钟源稳定运行。
[0013] 通过本发明提供的内容能在满足SoC系统在低功耗、高可靠性以及可动态执行的需求下,完成高可靠性的动态时钟切换。
[0005]
附图说明
[0014]
图1本发明提供的SoC系统动态时钟切换方法基本流程图
3
CN 102591404 A
说 明 书
2/2页
具体实施方案
[0015] 以下结合附图对本发明提供的方案进行详细的描述。假设当前SoC系统具有A、B两个片内时钟源:
[0016] 设置时钟使能寄存器:[0017] bit0为A时钟源使能位,高有效;bit1为B时钟源使能位,高有效。[0018] 设置时钟源A稳定计数器:自时钟源A打开时,开始计数,计数满后,时钟稳定中断寄存器bit0置1。
[0019] 设置时钟源B稳定计数器:自时钟源B打开时,开始计数,计数满后,时钟稳定中断寄存器bit1置1。
[0020] 设置时钟稳定中断寄存器:
[0021] bit0为1表示时钟源A已经稳定;bit1为1表示时钟源B已经稳定。[0022] 设置时钟切换寄存器:bit0为0表示选用时钟源A,bit0为1表示选用时钟源B。当时钟切换寄存器从0向1转变时,或者时钟切换寄存器从1向0转变时,时钟切换产生。[0023] 假设当前是时钟源A在工作,要切换到时钟源B,参考基本流程图:[0024] 首先打开时钟源B的使能位,等待时钟源B稳定中断。进入时钟源B稳定中断的服务程序。
[0025] 置时钟切换寄存器bit0为1,切换到时钟源B,关闭时钟源A的使能位,系统时钟成功从时钟源A切换到时钟源B,[0026] 清时钟稳定中断寄存器,将时钟源B的稳定中断位清零,退出中断服务程序。
4
CN 102591404 A
说 明 书 附 图
1/1页
图1
5
因篇幅问题不能全部显示,请点此查看更多更全内容