Exynos4412芯片的时钟管理单元

2020-03-26来源: eefocus关键字:Exynos4412芯片  时钟管理单元  锁相环

本章介绍Exynos4412芯片的时钟管理单元(CMU)。CMU控制锁相环(PLL)并为Exynos4412芯片中的各个IP、总线和模块产生时钟。它们还与电源管理单元(PMU)通信,以便在进入某个低功耗模式之前停止时钟,以通过时钟切换来降低功耗。


1.Exynos4412芯片的时钟体系介绍


对于PC机来说,CPU、内存、主板、声卡、显卡等等,这些功能部件由不同的芯片组成,在实体上是相互独立的。在嵌入式系统里,一块芯片往往集成了多种功能,比如Exynos4412上面既有CPU,还有音频/视频接口、LCD接口、GPS等模块。这类芯片被称为SoC,即System on Chip,译为芯片级系统或片上系统。在Exynos 4412芯片中,它以异步方式为功能块提供时钟,以提供更广泛的工作频率选择。它还简化了物理实现。


不同的模块往往工作在不同的频率下,在一个芯片上采用单时钟设计基本上是不可能实现的,在SoC设计中采取多时钟域设计。4412的时钟域有5个,如下图1所示。

    图1. Exynos 4412芯片的时钟域


这5个时钟域名如下(下文中的BLK表示block,模块):


CPU_BLK:内含Cortex-A9 MPCore处理器、L2 cache控制器、CoreSight(调试用)。CMU_CPU用于给这些部件产生时钟。


DMC_BLK:内含DRAM内存控制器(DMC)、安全子系统(Security sub system)、通用中断控制器(Generic Interrupt Controller,GIC)。CMU_DMC用于给这些部件产生时钟。


LEFTBUS_BLK和RIGHTBUS_BLK:它们是全局的数据总线,用于在DRAM和其他子模块之间传输数据。它还包含时钟频率为100MHz的全局外设总线。您可以使用100MHz时钟进行寄存器访问。


CMU_TOP:为剩余的功能块生成时钟,包括G3D,MFC,LCD0,ISP,CAM,TV,FSYS,MFC,GPS,MAUDIO,PERIL和PERIR。它产生的总线时钟工作在400/200/160/133/100MHz频率。它还生成各种特殊时钟来操作Exynos 4412芯片中的IP。


另外,异步总线桥插在两个不同的功能块之间。


各个不同的时钟域已经在图中使用不同的颜色的框做了相应的标注。


表1中描述了Exynos 4412芯片中每个功能模块的典型工作频率。

表1.在Exynos 4412芯片中各个模块的操作频率


从原理图上可知,下图2所示。tiny4412开发板外接24MHz的晶振;但是4412的CPU频率可达1.4GHz。可以想象,一定有硬件部件,把24MHZ的频率提升为1.4GHZ,这个部件被称为PLL。4412内部其他部件也要工作于一定频率,比UART、DDR里等,也应该有PLL把24MHZ的频率提高后供给它们使用。

图2. tiny441开发板链接的外部晶振


4412芯片有3个外部初始时钟源:


XRTCXTI引脚:接32KHz的晶振,用于实时时钟(RTC)。

XXTI引脚:接12M~50MHz的晶振,用于向系统提供时钟。也可以不接。

XUSBXTI引脚:接24MHz的晶振,用于向USB和系统提供时钟。

在tiny4412的开发板中,XRTCXTI上没有外接晶振,系统时钟来源是XUSBXTI引脚上接的24MHz晶振。


Exynos4412有4个PLL:APLL、MPLL、EPLL和VPLL;2个PHY:USB PHY和HDMI PHY(PHY:物理层,一般指与外部信号接口的芯片):


APLL:用于CPU_BLK;作为MPLL的补充,它也可以给DMC_BLK、LEFTBUS_BLK、RIGHTBUS_BLK和CMU_TOP提供时钟。

MPLL:用于DMC_BLK、LEFTBUS_BLK、RIGHTBUS_BLK和CMU_TOP。

EPLL:主要给音频模块提供时钟。

VPLL:主要给视频系统提供54MHz时钟,给G3D(3D图形加速器)提供时钟。

USB PHY:给USB子系统提供30MHz和48MHz时钟。

HDMI PHY:产生54MHz时钟。


2.Exynos4412中设置PLL的方法

以图3为例,里面涉及3个概念:


MUX:多路复用,即从多个输入源中选择一个;

PLL:把低频率的输入时钟提高后输出;

DIV:分频器,把高频率的输入时钟降频后输出。

以APLL为例,它的时钟来源可以是XXTI引脚上接的晶振,也可以是XUSBXTI引脚上接的晶振,通过图3中左边的MUX来选择,这个MUX的输出被称为FINPLL。


通过设置APLL的寄存器(根据公式选择参数值,芯片手册上面都有推荐值),可以把FINPLL提高为某个频率输出,假设为1.4GHz,在图上它被命名为FOUTAPLL。


继续往右看图,里面有多个DIV,可以设置对应的寄存器把频率降下来。CPU可以工作于1.4GHz,但是其他模块不能工作于这么高的频率,所以要把频率降下来。


设置PLL的流程如下:


设置PLL的P、M、S值,这是根据期望得到的频率用公式计算出来的;

设置PLL的其他控制参数;

使能PLL;

PLL会等待一段时间使得时钟稳定;

设置MUX,选择PLL所输出的时钟。

简单地说,就是先设置,再启动,后使用。


PLL寄存器的设置:


4个PLL的寄存器功能是相似的,这些寄存器可以分为6类,见表2。


表2. PLL的寄存器分类

以APLL为例:


APLL_LOCK(地址:0x10044000)


APLL_LOCK的寄存器格式:

设置APLL的参数并使能它后,APLL并不能立刻输出稳定的时钟,它需要经历一个锁定的时间(lock time)。APLL的最大锁定时间是:(270 x PDIV)个周期。所以APLL_LOCK设置为(270xPDIV)就可以了。PDIV在后面的APLL_CON1寄存器中介绍。


APLL_CON0(地址:0x10044100):

根据M、P、S的值,可以算出APLL的输出时钟:

FOUT=MDIV*FIN/(PDIV*2^{SDIV})

M、P、S的值不能乱取,需要满足一些限制条件(请参考芯片手册),芯片手册里给出了推荐的取值。


APLL_CON1(地址:0x10044104):

该寄存器用于设置BYPASS模式,即APLL是直接输出FIN时钟,还是提升频率后再输出时钟;也用于设置AFC(自动频率控制)功能,暂时无需理会。该寄存器取默认值即可。


CLK_SRC_CPU(地址:0x10044200):

参考"图3. APLL时钟流程图":


BIT[0]控制第1个MUX(即MUXAPLL),用于选择是使用FIN还是APLL的输出时钟,这个输出被称为MOUTAPLL。

BIT[16]控制第2个MUX(即MUXCORE),用于选择MOUTAPLL还是SCLKMPLL。其中SCLKMPLL由下面的MUXMPLL控制。

BIT[24]控制第3个MUX(即MUXMPLL),用于选择FINPLL还是FOUTMPLL,这个输出被称为SCLKMPLL。其中,FOUTMPLL来自MPLL的输出。

BIT[20]控制第4个MUX(即MUXHPM),用于选择MOUTAPLL还是SCLKMPLL。

CLK_MUX_STAT_CPU(地址:0x10044400):用于读取CLK_SRC_CPU寄存器里所设置的MUX状态。

CLK_DIV_CPU0(地址:0x10044500),CLK_DIV_CPU1(地址:0x10044504):

CLK_DIV_CPU1的寄存器格式:

参考"图3. APLL时钟流程图",以CPU的工作频率ARMCLK为例,根据上述表计算ARMCLK的频率:


ARMCLK = MUXCORE的输出/DIVCORE/DIVCORE2

   = MOUTCORE/(CORE_RATIO + 1)/DIVCORE2

   = MOUTCORE/(CORE_RATIO + 1)/(CORE2_RATIO + 1)

MOUTCORE表示MUXCORE的输出,在MUXAPLL和MUXCORE都设置为0时,它等于"MDIV x FIN / (PDIV x 2 ^ SDIV)"。


CLK_DIV_STAT_CPU0(地址:0x10044600),CLK_DIV_STAT_CPU1(地址:0x10044604)用于判断设置分频参数后,分频器输出是否已经稳定。


CLK_GATE_IP_CPU(地址:0x10044900)用于控制是否给某个模块提供时钟,暂时不用理会。


本文结束!

关键字:Exynos4412芯片  时钟管理单元  锁相环 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic492643.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:汇编代码、机器码和存储器的关系以及数据的表示
下一篇:交叉编译工具的使用说明

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

11月14日 三星猎户座发布会官宣:或为Exynos 9820
        刚刚,三星Exynos官方推特正式发出预告,将于11月14日带来新产品。  三星官方并未透露详细的产品,但配上了“Intelligence from Within”的文字,可能是在暗示采用新一代NPU的全新Exynos处理器平台。  此前的爆料消息显示,三星下一代Exynos旗舰芯片采用7nm FinFET工艺制造,并且拥有双核NPU单元(根据此前的爆料,很有可能是第二代NPU)。有了新技术的加持,三星Exynos新旗舰芯片在AI运算方面和图像处理方面将会有大幅升级。  这一动作预示着,在继华为麒麟980、苹果A12处理器之后,三星的Exynos旗舰芯片也要朝着7nm进发了。
发表于 2018-11-10
S10有望首发 三星7nm Exynos芯片集成双核NPU
       三星的7nm LPP制程已经投入量产,无疑,其新一代移动SoC和高通的5G基带等芯片将率先得以出货。  韩媒ETnews报道称,三星将在新一代7nm Exynos旗舰芯片上集成双核NPU单元,而且是第二代产品,从而大大增强AI场景的负载能力和处理速度。  据悉,三星此前已经研制了第一代NPU,年初的Exynos 7 9610最早集成。  有爆料人补充,双核NPU将为Galaxy S10的ISP(图像处理器)增光添彩,进一步提升拍照、视频录制、声控等功能的体验。  目前,竞争对手华为、苹果等,都在NPU上开疆拓土。以A12芯片为例,NPU升级为8核,每秒可处理5万亿次,使得Face ID解锁、拍照、系统运行速度等得
发表于 2018-11-06
Exynos4412电源管理芯片PMIC 的配置及使用方法
需要的是标准1.5V,问题出在哪里?三星早就替我们考虑好了这个问题,为了适配不同类型的DDR,BUCK5可以通过K9 K10两个引脚的电平搭配,输出四种默认电压:V selectV SET在这里,开发板是这样设置的:board set这样一来,B5S1:B5S2 = 1:0 即BUCK5输出1.5V电压,正好与DDR的需求相吻合。2.2 PMIC与4412主芯片的关系给ARM核芯提供电压的是PMIC的BUCK2,BUCK2也是默认ON的,默认输出1.1V。经过查阅4412 spec后,需要注意的是,在1.1V电压下,给ARM核心提供时钟的APLL最大只能输出1000MHz,即刚上电时如果不设置PMIC,ARM核心只能工作在1000MHz
发表于 2018-10-14
Exynos4412电源管理芯片PMIC 的配置及使用方法
三星悄然确认Exynos 9810 处理器,采用 10nm 工艺且有 AI 芯片
三星不仅仅是智能手机行业的领导者之一,同时还是手机芯片业的佼佼者。而三星下一代 Galaxy S9 旗舰级手机,按照一贯的战略,必定是用自己家的处理器。这个新的处理器,就是 Exynos 9810 处理器。三星近日在宣布自己 CES 2018 创新奖名单时,首次公开确认了 Exynos 9810 移动 SoC 芯片。但三星并未公布详细的 Exynos 9810 规格细节,只表示这是一款采用第二代 10nm 工艺打造的旗舰处理器,将会搭载第三代的定制化 CPU 核心,GPU 基于 Maili G72 打造的多核。配备全球首款支持 6CA(载波聚合)的千兆级 LTE modem,同时很可能有望整合 CDMA 实现全网通。此前,高通骁龙
发表于 2017-11-14
三星悄然确认Exynos 9810 处理器,采用 10nm 工艺且有 AI 芯片
三星不仅仅是智能手机行业的领导者之一,同时还是手机芯片业的佼佼者。而三星下一代 Galaxy S9 旗舰级手机,按照一贯的战略,必定是用自己家的处理器。这个新的处理器,就是 Exynos 9810 处理器。三星今天在宣布自己 CES 2018 创新奖名单时,首次公开确认了 Exynos 9810 移动 SoC 芯片。但三星并未公布详细的 Exynos 9810 规格细节,只表示这是一款采用第二代 10nm 工艺打造的旗舰处理器,将会搭载第三代的定制化 CPU 核心,GPU 基于 Maili G72 打造的多核。配备全球首款支持 6CA(载波聚合)的千兆级 LTE modem,同时很可能有望整合 CDMA 实现全网通。此前,高通骁龙
发表于 2017-11-12
FPGA DCM时钟管理单元原理简介
DCM概述    DCM内部是DLL(Delay Lock Loop(?)结构,对时钟偏移量的调节是通过长的延时线形成的。DCM的参数里有一个PHASESHIFT(相移),可以从0变到255。所以我们可以假设内部结构里从clkin到clk_1x之间应该有256根延时线(实际上,由于对不同频率的时钟都可以从0变到255,延时线的真正数目应该比这个大得多)。DCM总会把输入时钟clkin和反馈时钟clkfb相比较,如果它们的延时差不等于所设置的PHASESHIFT,DCM就会改变在clkin和clk_1x之间的延时线数目,直到相等为止。这个从不等到相等所花的时间,就是输出时钟锁定的时间,相等以后
发表于 2012-03-27
FPGA DCM时钟管理单元原理简介
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved