历史上的今天
返回首页

历史上的今天

今天是:2025年03月26日(星期三)

正在发生

2020年03月26日 | Exynos4412芯片的时钟管理单元

2020-03-26 来源:eefocus

本章介绍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)用于控制是否给某个模块提供时钟,暂时不用理会。


本文结束!

推荐阅读

史海拾趣

HEIMANN公司的发展小趣事

在电子行业中,HEC Inc(以下简称HEC)作为一家知名的科技公司,其发展历程充满了挑战与机遇。以下是五个关于HEC发展起来的相关故事,每个故事均基于事实描述:

1. 技术创新引领市场突破

HEC自成立之初便致力于技术创新,在通信设备领域取得了显著成就。公司研发的高效路由器和交换机产品,凭借其卓越的性能和稳定性,迅速在市场中占据一席之地。特别是在5G技术兴起的背景下,HEC提前布局,成功推出了多款支持5G网络的通信设备,满足了市场对高速、低延迟网络连接的迫切需求。这些技术创新不仅巩固了HEC在通信行业的领先地位,也为其后续的市场拓展奠定了坚实基础。

2. 环保理念推动可持续发展

随着全球对环保问题的日益重视,HEC积极响应号召,将绿色技术融入产品研发和生产过程中。公司推出的多款电子产品,如智能手机和平板电脑,均采用了环保材料和节能设计,有效降低了产品生命周期中的碳排放。此外,HEC还建立了完善的电子废弃物回收体系,实现了资源的循环利用。这些环保举措不仅提升了公司的品牌形象,也为其赢得了更多消费者的青睐和市场的认可。

3. 跨界合作拓展业务领域

为了进一步扩大市场份额,HEC积极寻求跨界合作机会。公司与多家知名汽车制造商合作,将先进的通信技术应用于车载智能系统中,提升了驾驶体验和行车安全。同时,HEC还与智能家居厂商合作,推出了多款智能家电产品,实现了家居设备的互联互通和远程控制。这些跨界合作不仅丰富了HEC的产品线,也为其带来了新的增长点。

4. 全球化战略布局

为了应对日益激烈的国际竞争,HEC制定了全球化发展战略。公司在全球范围内设立了多个研发中心和销售网络,以更好地了解当地市场需求并快速响应。通过整合全球资源,HEC成功推出了多款符合不同国家和地区消费者需求的产品。此外,公司还积极参与国际展会和交流活动,提升了品牌知名度和国际影响力。

5. 应对挑战实现转型升级

面对行业内的激烈竞争和技术变革,HEC始终保持着敏锐的洞察力和强大的适应能力。公司不断调整产品结构,加大研发投入,推动产品向高端化、智能化方向发展。同时,HEC还积极拥抱数字化转型,通过大数据、云计算等先进技术优化生产流程和管理模式,提高了生产效率和产品质量。这些努力使HEC在挑战中实现了转型升级,保持了持续稳健的发展态势。

谷峰(GOFORD)公司的发展小趣事

面对电子行业快速变化的市场环境和日益激烈的竞争态势,GStek始终保持清醒的头脑和敏锐的洞察力。公司密切关注行业动态和技术发展趋势,及时调整战略方向和产品布局。同时,GStek还注重内部管理和团队建设,不断提升员工的综合素质和专业技能。这些努力使得GStek能够在复杂多变的市场环境中保持稳健的发展态势,为实现其成为全球主要电源管理IC设计公司的愿景而不断努力。

屹晶微(EG)公司的发展小趣事

随着业务的不断拓展和市场的不断扩大,屹晶微逐渐意识到与合作伙伴建立长期战略合作关系的重要性。于是,在2023年,他们与电子产业一站式服务平台华秋电子达成了授权代理合作。这一合作不仅为屹晶微提供了更广阔的市场渠道和客户资源,也为其未来的发展奠定了坚实的基础。

在合作过程中,华秋电子为屹晶微提供了全方位的支持和服务。他们共同推广屹晶微的芯片产品,为客户提供更优质的解决方案和服务。同时,华秋电子还利用自身的技术优势和渠道优势,帮助屹晶微拓展海外市场,提升品牌知名度和影响力。

以上两个故事只是屹晶微在电子行业中发展起来的一部分。他们的发展历程充满了挑战和机遇,但黄米龙和他的团队始终保持着坚定的信念和不懈的努力,为中国的芯片产业做出了积极的贡献。

倍思特(BEST)公司的发展小趣事

屹晶微的创始人黄米龙,原本在发电厂从事电气运营工作长达八年。这段经历让他对电子领域有了深入的了解和浓厚的兴趣。然而,他并没有满足于现状,而是看到了中国芯片产业的巨大潜力和发展空间。于是,在2007年,他毅然决定从发电厂辞职,利用自己的积蓄和借来的资金,在台州创立了屹晶微电子有限公司。

在创立初期,屹晶微面临着资金短缺、技术落后和市场竞争激烈的困境。但黄米龙凭借对电子行业的深刻理解和坚定的信念,带领团队克服了种种困难。他们不断引进先进技术和设备,加强研发力量,提升产品质量。经过几年的努力,屹晶微逐渐在芯片设计领域崭露头角,并成功推出了多款具有自主知识产权的芯片产品。

ETC公司的发展小趣事

随着ETC技术的不断完善和产品性能的提升,速通科技开始积极拓展市场。公司积极参与全国ETC联网工作,与各地交通运输管理部门和高速公路运营商建立了良好的合作关系。在政府的支持下,速通科技成功推动了ETC系统的全国联网工作,实现了ETC卡的跨地区、跨省份通用。

HTC Korea(TAEJIN Technology )公司的发展小趣事

HTC Korea(前身为TAEJIN Technology Co., Ltd.)成立于2000年,最初以Linear IC产品的研发及生产为主,逐步在通信、消费类及PC等应用领域稳步发展。然而,公司的真正突破发生在2006年,这一年HTC决定从OEM代工厂转型为自主品牌制造商。这一转型并非易事,面临着合作伙伴转变为竞争对手的风险,导致股价一度暴跌。但HTC坚持下来,推出了HTC Touch和HTC Diamond等经典机型,成功吸引了市场的关注,股价逐渐回升,最终奠定了其在手机市场的重要地位。

问答坊 | AI 解惑

高手请进:proteus一仿真就卡死

proteus一仿真就卡死 我的电路在proteus一仿真就卡死,卡死时,最下面那个框里显示如下这段字母:SIMULATE:Running PROSPICE.DLL[C:\\DOCUME~1\\syb\\LOCALS~1\\Temp\\LISA1101.SDF] 请问这是为什么?如何解决,谢谢!…

查看全部问答>

【转】史上最全的AVR单片机学习笔记

本帖最后由 paulhyde 于 2014-9-15 03:20 编辑 史上最全的AVR单片机学习笔记,希望对于AVR的初学者有所帮助! 实验44:基于TC1的ICP频率计(ATmega16) 实验42:L298电机驱动程序(M16+12V直流电机) 实验41:TLC5615驱动程序(M16+MAX7219+8位数 ...…

查看全部问答>

转发我们的热招的职位(资深设计engineer/manager)-有兴趣的进来看下!!

公司信息 Headquartered in Sunnyvale, California, Silicon Storage Technology, Inc (SST) was founded in 1989 and got listed on the NASDAQ in 1995. SST designs, manufactures and markets a diversified range of memory and non-memory p ...…

查看全部问答>

施耐德ats46软启动器故障解决方法

问题:  施耐德ats46 110kw软启动器故障为:启动完成后,继电器R2不动作。{指启动10秒以后} 具体为:负载为110kw电机;软启动器的参数设置为:电机额定电流200A;电机限幅电流400A;加速力矩斜坡10秒其余参数全部为工厂设置。 &n ...…

查看全部问答>

快疯了,100分eVC测试

开发板上有几个跳线,我写了一个测试的程序,却出问题了,大家帮忙看看... 跳线驱动部分内容: BOOL Addr_Init() {    //地址映射 } BOOL WINAPI  DllEntry(HANDLE hInstDll,DWORD dwReason,LPVOID lpvReserved) ...…

查看全部问答>

几道计算机原理的选择题,请大虾帮忙做一下,特基础

希望大家能在给出正确答案的同时给出详细的解释,即解释出每个选项为什么对了后错了,辛苦啦 1.下列是有关计算机中指令和数据存放位置的叙述,其中正确的是()。 A. 指令存放在内存中,数据存放在外存中 B. 指令和数据任何时候都存放在内存中 ...…

查看全部问答>

请问有人测过AT91RF40008的功耗么

看它的DATASHEET上写的功耗是0.83mW/MHz,有用过的人测过这个功耗值可靠么?…

查看全部问答>

在evc4.0开发环境,多边形外环和内环填充的问题

我有1个问题请教,在evc4.0开发环境,那位做过多边形外环和内环填充的项目,我用polypolygon这个函数,可是他不支持evc,在vc下面好用。 我要达到的效果外环里面的内环不被填充,可是在evc4.0下内环也被填充了。请问是这个函数polypolygon不支持ev ...…

查看全部问答>

【求助】请问这是什么原因?

我用经典的串口的测试程序,在线仿真时发送和接收都正常。但是如果只用外部电源供电,不接仿真器,单片机发给pc的数据就接收不到了。如果这时再把仿真器连上,这是只是连上,不开IAR编译器,工作又正常了。我做板子的时候因为考虑到用外部电源供电 ...…

查看全部问答>