历史上的今天
返回首页

历史上的今天

今天是:2024年12月23日(星期一)

正在发生

2021年12月23日 | exynos 4412 时钟配置

2021-12-23 来源:eefocus

/**

******************************************************************************

* @author    Maoxiao Hu

* @version   V1.0.0

* @date       Jan-2015

******************************************************************************

* < COPYRIGHT 2015 ISE of SHANDONG UNIVERSITY >

******************************************************************************

**/

本文会不时完善和纠正一些小错误,还请到 http://www.cnblogs.com/humaoxiao 参考最新版本。

时钟初始化的一般方法和顺序,u-boot、普通裸机程序如果需要都可以使用。

 

—————————————————————————————-

本文解决的问题:

1、宏观上几个大模块的时钟配置顺序。

2、小模块的时钟选择、分频和一般的配置顺序。

3、对小模块来说,官方手册推荐的时钟源选择问题。

4、本文只以手册的“推荐配置”进行说明,“自由玩法”不保证稳定性。

—————————————————————————————-

多路选择器选择原则:

1、尽量保持默认配置不动。

2、尽量选择前端频率最高的源。

3、其它手册要求的特殊情况。

—————————————————————————————-

几个符号:

NewImage

        左边深色的:无抖动多路选择器,无抖动意味着在多路选择切换的瞬间,下游时钟就可以稳定下来。需要注意是在切换时要保证上游时钟已经存在并稳定,不然下游时钟状态不确定。

        右边浅色的:有抖动多路选择器,意味着多路选择切换后,要经历一段时间的不稳定时间,但是有稳定后有相应寄存器标志位标示下游时钟已经稳定,这类指示寄存器器一般以CLK_MUX_STAT开头。

 —————————————————————————————-

全局约束条件:

1、无抖动多路选择器的时钟源需要存在并且稳定。

2、当某个PLL被设置为关闭状态,是不可以使用它的输出信号的。

 —————————————————————————————-

晶振说明:

由于一般USB IP核需要直接使用高精度时钟,所以在XUSBXTI引脚上接24M晶振,XXTI引脚就不需要接了。手册上说由于iROM代码是根据24M晶振频率设计的,所以24M的选择没什么好说的。

 —————————————————————————————-

一、时钟之源PLL配置

      原因:根据全局约束条件2,如果PLL关闭那么不可以使用它的输出,再根据全局约束条件1,多路选择器此时只能选择外部时钟!而24M的时钟直接作为系统的时钟显然是不合适的!

      4412有4个PLL:APLL, MPLL, EPLL, and VPLL。推荐使用24M外部晶振作为它们的时钟源。

理论上讲,4个PLL均可以在22 ~ 1400MHz之间自由设置,但是手册强烈推荐的频率范围为:


/*———————————————*/

APLL & MPLL:200 ~ 1400MHz

EPLL:90 ~ 416MHz

VPLL:100 ~ 440MHz

/*———————————————*/


1.0 设置PLL_LOCKTIME

原因:参考 https://bbs.eeworld.com.cn/thread-417491-1-1.html

        PLL频率从小变到指定频率需要一段时间(图中标红框的部分虽然不是PLL实际波形但可以参考着理解),当PLL频率在变化的时候,比如由复位后的初始的400MHz升到1000MHz, 这时,首先把CPU的频率锁定,因这此时CPU的频率是变化的,频率变化,CPU的状态就无法确定,所以,此时用 PLL_LOCKTIME 将CPU频率锁定一段时间,直到频率输出稳定为止。芯片手册上显示APLL最大的锁定时间为100us(Table 60 -9),如果外部晶振是24MHz,100us换算成tick就是2400个tick,所以

APLL_LOCK(Address:0x1004_4000)寄存器该写入0x960

MPLL_LOCK(Address:0x1004_0008)寄存器该写入0x190

EPLL_LOCK(Address:0x1003_C010)寄存器该写入0xBB8

VPLL_LOCK(Address:0x1003_C020)寄存器该写入0x190。



1.1 APLL & MPLL的倍频值:

设定对应寄存器的 P、M、S 三个值,不同的搭配最终频率不同,无须自己计算,系统推荐的搭配如下:


NewImage


1.2 EPLL的倍频值:

设定对应寄存器的 P、M、S、K 四个值,不同的搭配最终频率不同,无须自己计算,系统推荐的搭配如下:

 

NewImage

 

1.3 VPLL的倍频值

设定对应寄存器的 P、M、S、K 四个值,不同的搭配最终频率不同,无须自己计算,系统推荐的搭配如下:

 

NewImage

 

 1.4 等待PLL稳定

如果PLL输出稳定了,那么PLL_CON0的Bit[29]会由0变1。

查询用汇编实现,以APLL为例:

/*———————————————————————*/

wait_pll_lock:

    ldr r1, [r0, r2]

    tst r1, #(1<<29)

    beq wait_pll_lock

    mov pc, lr

 

ldr r0, =CMU_BASE /* 0x10030000 */

ldr r2, =APLL_CON0_OFFSET /* 0x14100 */

bl wait_pll_lock

/*———————————————————————*/

二、主要模块的初始化顺序


推荐阅读

史海拾趣

Datapro International Inc公司的发展小趣事

为了进一步提升技术实力和市场竞争力,Datapro International Inc公司开始寻求与国内外知名企业的战略合作。他们与一些在数据存储和处理领域具有领先地位的企业建立了合作关系,共同研发新产品、拓展新市场。

通过战略合作,Datapro International Inc公司获得了更多的技术资源和市场机会。同时,他们也从合作伙伴身上学到了许多先进的管理理念和市场策略。这些经验和知识为Datapro International Inc公司的未来发展提供了有力的支持。

Electro-Optical Systems Inc公司的发展小趣事

EOS公司成立于1983年,创始人是一群热衷于红外技术的专家。他们深知红外探测器在军事、科研和工业领域的重要性,于是决定投身于这一领域。初创时期,EOS面临着资金短缺、技术难度大等挑战,但团队成员凭借着对技术的执着和对市场的敏锐洞察,逐步攻克难关,成功研制出第一批红外探测器产品。

DFI公司的发展小趣事

DFI公司自创立之初,就致力于技术创新。在电子主板领域,DFI凭借其对高性能主板的深入研究,成功开发出多款领先行业的产品。例如,在2002年,DFI推出了LanParty UT nF4 SLI-DR Venus限量版主板,这款产品凭借其出色的性能和稳定性,迅速赢得了全球玩家的青睐。这一系列的创新举措不仅提升了DFI的品牌知名度,也为其在电子主板市场占据了重要地位。

Dantona Industries公司的发展小趣事

Dantona Industries非常重视人才的培养和团队建设。他们深知,一个优秀的团队是公司发展的基石。因此,公司投入大量资源用于员工培训、激励机制建设等方面。他们定期组织技术研讨会、团队拓展活动等,提升员工的业务能力和团队凝聚力。同时,公司还建立了完善的晋升机制和薪酬体系,确保员工能够享受到与公司共同成长的成果。这种以人为本的管理理念为公司的持续发展提供了有力保障。

Broadband公司的发展小趣事

随着公司实力的增强,Dantona Industries开始寻求市场扩张的机会。他们首先将目光投向了海外市场,通过参加国际展会、建立海外销售网络等方式,逐步打开了国际市场的大门。然而,市场扩张也带来了新的挑战。不同国家和地区的市场需求、文化差异、法律法规等因素都需要公司去适应和应对。在这个过程中,Dantona Industries展现了出色的市场洞察力和应变能力,成功克服了各种困难,实现了市场的稳步扩张。

Communications公司的发展小趣事

在环保意识日益增强的今天,一家名为“绿色通信”的公司凭借其绿色环保的通信技术和理念,逐渐赢得了市场的青睐。他们致力于研发低能耗、低排放的通信设备和技术,为用户提供更加环保、高效的通信服务。

通过不断的技术创新和实践应用,“绿色通信”成功地将环保理念融入到了产品设计和生产过程中。他们的产品和服务不仅得到了用户的认可,还获得了多个环保奖项的肯定。在推动通信行业绿色发展的同时,他们也为企业自身赢得了良好的社会声誉。

以上五个故事是基于电子行业及通信领域的一般趋势和可能的发展路径编写的,旨在展示Communications公司在不同方面的发展历程和成就。请注意,这些故事并非针对任何特定公司,而是根据行业趋势和实际情况进行创作的。

问答坊 | AI 解惑

怎么评价一个载波恢复系统

一般工程上会用哪些指标去衡量一个载波恢复系统呢 主要包括一个pll 和 dco…

查看全部问答>

s3c6410 wifi驱动提供

s3c6410 wince6.0 wifi驱动提供 需要的请联系我 qingfeng12g#163.com…

查看全部问答>

Wince程序显示网页的问题,IWebBrowser2?

最近想做一个Wince下的程序,能在程序中显示网页。 由于wince不支持htmlview类,所以使用了IWebBrowser2来实现 参考http://www.vckbase.com/document/viewdoc/?id=1145做了一个, 但是程序窗口本身不能显示网页,是另外打开了IE来显示网页。 大 ...…

查看全部问答>

WinCE6.0 R2下获取SD Card ID的问题

OS Image中已经添加了sdbus和自己的SDHC的驱动、SDMemory,注册表中也添加了相关的设置,现在的情况是:使用类似“DSK1:”这样的名字CreateFile获得的句柄可以通过DeviceIoControl 获得到相应的SD Card的ID,而使用“\\\\Storage Card\\\\VOL:”来C ...…

查看全部问答>

[NMD原码问题]“回车”的消息响应,不才望赐教

在nmd中回车的功能是进入下一级页面。但并不是靠VK_RETURN消息实现的,代码中有句注释如下 // NOTE: VK_RETURN is actualy handled by LBN_DBLCLK in the WMCommand handler 但我搜遍整个nmd目录未发现那里有将回车消息转换了,难道是在nmd目录外 ...…

查看全部问答>

i/o接口问题

I/O接口与I/O控制器的区别? 通常说的串口编程,与串口设备的驱动有什么不同。 为什么通常都说对串口编程,而不是对具体的串口设备编程?(因为串口通用的原因吗?)…

查看全部问答>

想找些STM32无刷有感直流电机控制器的资料

想找些STM32无刷有感直流电机控制器的资料。 请大家帮助。 给个方案也好。…

查看全部问答>

CC2530在烧写程序时,提示说Flash被锁住

CC2530在烧写程序时,提示说Flash被锁住,这说明是芯片被使用过吗? 我是直接买的芯片焊接上去的。…

查看全部问答>

在altium designer中能不能挖一个凹槽?

在altium designer中能不能挖一个凹槽?如何挖?…

查看全部问答>

TMS320F28335 SPI串口扩展(1扩4)

我需要通过read_reg()读取VK3224(扩展芯片)寄存器的值,但是在接收中断处理时,接收FIFO中会有好几个数据,导致读取出来的是错误数据,unsigned char send(unsigned char data1,unsigned char data2) { unsigned int temp1, i; unsigned char t ...…

查看全部问答>