历史上的今天
返回首页

历史上的今天

今天是:2025年04月17日(星期四)

正在发生

2020年04月17日 | 关于ARM时钟体系的寄存器配置

2020-04-17 来源:eefocus

一:时钟来源体系


时钟配置决定了一个芯片的时钟来源,CPU的工作频率,内存控制器的时钟频率等等,从结果来看,寄存器控制出了三个时钟路线,FCLK、HCLK和PCLK;FCLK——供给CPU使用,HCLK—— AHB总线供给内存控制器,中断控制器等使用;PCLK—— APB 总线供给uart,I2C等使用;三个时钟的频率依次由高到底;三个时钟频率的比例可分为如下:

由图可看出,时钟频率的比例由HDIVN与PDIVN寄存器控制,这两个寄存器属于CLKDIVN 中的;那么FCLK的来源又是哪呢?

由时钟产生模块图表可以看出CLKCNTL寄存器的控制来源于MPLL,所以FCLK的时钟来源于MPLL,那么MPLL是由谁控制的呢?

可以看出锁相环通过倍频产生MPLL,而PMS是分别在MPLLCON寄存器的相应的位上。下面的图是手册推荐设置的值:

二:时钟逻辑


虽然看似只要配置两个寄存器就可以把ARM时钟配置完全了,但是实际上当然没有想象的那么简单。你想想CPU在工作的时候每时每刻都需要正常的频率值,当你在程序中把对应的寄存器配置好,程序载入这些配置的时候,CPU已经工作在某种一上电的默认值上了。所以这时候CPU要在默认的频率的工作状态下读取相应的寄存器切换到新的频率中,那这时候该怎么切换:要切换多长时间,切换的顺序是怎样的;

幸运的是内部切换的复杂逻辑不需要我们控制,我们只需要在PMS设置后将PLL Lock-time时间设置好就行了,因为在这段时间内PLL的工作是不稳定的,要等这么一段时间PLL输出的频率稳定后,CPU就会工作在新的FCLK中。需要注意的是,在这段时间里PLL一直处于锁定状态。


所以在编写程序的时候:


1:设置锁定时间


2:设置分频器CLKDIVN寄存器


3:设置MPLLCON寄存器PMS


注:因为若HDIVN != 0 要使CPU工作在异步模式;所以4:还要设置CPU的工作模式。


PS:在编程过程中发现当我不是最后设置PMS寄存器的时候总是失败,初步推断是设置PMS寄存器以后处于锁相状态,在往里设置CLKDIVN的值时会无效。

推荐阅读

史海拾趣

Cadeka公司的发展小趣事

近年来,随着电子行业的快速变革和新兴技术的不断涌现,Cadeka公司面临着前所未有的挑战。为了应对这些变革,公司及时调整发展战略,加大在新兴技术领域的投入。同时,公司还积极与合作伙伴开展合作,共同探索新的商业模式和市场机会。通过这些努力,Cadeka公司成功应对了行业变革带来的挑战,继续保持了在电子行业中的领先地位。

这些故事虽然是虚构的,但它们反映了电子行业发展的一些普遍规律和趋势。希望这些故事能够为您提供一些启发和参考。

FWBELL公司的发展小趣事
合理的温度控制可以减少电池在充电过程中的热应力,从而延长电池的使用寿命。
Gigavac LLC公司的发展小趣事
通过实时监测和控制电池温度,避免电池过热导致的安全问题。
Cooper Tools(Eaton)公司的发展小趣事
用于实时检测电池温度,如热敏电阻、IC温度传感器等。
Ericsson公司的发展小趣事

Ericsson非常重视人才培养和团队建设。公司设立了专门的培训机构为员工提供全面的培训和发展机会帮助他们不断更新知识和技能以适应快速变化的市场环境。此外Ericsson还注重营造积极向上的企业文化鼓励员工创新创造和发挥潜力为公司的发展贡献自己的力量。这种注重人才培养和团队建设的策略也为Ericsson的长期发展提供了有力保障。

Clulite公司的发展小趣事
  1. 创业初期
    • 描述Clulite公司的创始人或核心团队如何识别电子行业中的某个市场机遇。
    • 讲述他们是如何筹集初始资金,设立公司,并开发出第一款产品或解决方案的。
    • 可以提及公司在初创阶段面临的挑战,如技术难题、市场竞争等。
  2. 技术创新
    • 讲述Clulite如何通过研发创新,推出了一款颠覆性的产品或技术,从而获得了市场认可。
    • 详细描述这一创新过程,包括研发团队的努力、关键技术的突破等。
    • 提及这一创新如何帮助公司在市场上取得了竞争优势。
  3. 市场拓展
    • 描述Clulite如何逐步扩大市场份额,从地区市场走向全国乃至国际市场。
    • 可以讲述公司如何建立销售网络、与合作伙伴建立合作关系,以及参与行业展会等活动来推广品牌和产品。
    • 提及公司在市场拓展过程中遇到的挑战和应对策略。
  4. 品质管理
    • 讲述Clulite如何注重产品质量和客户体验,通过严格的质量控制流程来提升产品可靠性。
    • 描述公司如何建立完善的售后服务体系,为客户提供及时、专业的支持。
    • 提及这些举措如何帮助公司赢得了客户的信任和口碑。
  5. 可持续发展
    • 讲述Clulite如何关注环境保护和社会责任,推动公司的可持续发展。
    • 描述公司如何采取环保措施,减少生产过程中的污染排放。
    • 提及公司如何参与社会公益事业,回馈社会。

请注意,这些故事需要根据Clulite公司的实际情况进行调整和补充。如果你需要更具体的内容,建议查阅Clulite公司的官方网站、新闻报道或行业分析报告,以获取更详细的信息和数据。

问答坊 | AI 解惑

寻开关电源设计者

开关电源设计,要求不高, 有一定的模拟和数字电子的设计经验, 有开关电源设计经验,有自主设计或辅助设计的能力。 工作地点:成都 要求全职 联系邮箱:hswqs@yeah.net 联系人:文先生…

查看全部问答>

2440官方bsp的DM9000A驱动问题!

最近移植bsp发现wince5.0的DM9000A驱动有问题!现在在这个和大家讨论讨论! 首先dm9000大部分驱动是官方的,下面就是一些细节的研究、我首先讲讲我的平台情况。 1.SD0~SD15  --------   LDATA0~LDATA15  数据线和 ...…

查看全部问答>

uboot和kernel共享内存区域问题!

各位高人! 我现在遇到这样一个问题!lcd驱动在uboot和kernel中使用了不同的buffer,从而导致了在进入kernel中lcd驱动时出现 lcd屏有个短暂的颜色渐变。为了消除这个bug。就想让uboot和kernel使用同一块内存。 1)下面是我的做法:    & ...…

查看全部问答>

Vxworks下驱动移植问题

linux下的 驱动程序 要移植到Vxworks下一般都需要做什么工作啊?一般的步骤是什么?我是第一次做驱动移植,希望大家回答的能够细致一些。…

查看全部问答>

2812利用sci与pc连接,求教!!

//########################################################################### // // FILE:    Example_281xSci_FFDLB.c // // TITLE:   DSP281x Device SCI FIFO Digital Loop Back Test. // // ASSUMPTIONS: // ...…

查看全部问答>

430f5438串口

#include \"msp430x54x.h\" #include #include #include #include \"PIN_DEF.H\" #define  FLL_FACTOR     749                    &nbs ...…

查看全部问答>

TI经典电源芯片有哪些

小弟不才,刚入门电源,想知道TI有哪些经典的电源芯片…

查看全部问答>

TPS5430

哪位大神,有木有TPS5430的中文资料啊,709915352@qq.com,发我一份啊!!!!…

查看全部问答>

【解密08】基于51单片机的无线遥控坦克DIY 之 图片欣赏

       前面介绍了很多专业内容,估计大家看的有些不耐烦了,今天换换口味,欣赏一下我们拍摄的照片,之前一直有朋友反映视频看的不是很清楚,很多细节没有看到,今天给大家上几张图,我们也正在翻录新的视频,希望能做的更好 ...…

查看全部问答>

关于XDATA类型变量的存储

各位好,变量定义如下: char xdata ziku[] = {...} _at_ 0x0020; unsigned xdata int shuzu[] = {...}; unsigned xdata long ack; 求教:下面那两个未指定固定位置的xdata类型变量在编译的时候是否会和上面被指定固定位置的变量重叠呢?谢谢…

查看全部问答>