关闭

系统时钟:MPLLCON设置

178人阅读 评论(0) 收藏 举报

JZ2440开发板(ARM920T):

在做系统时钟实验时,发现在设置LOCKTIME、CLKDIVN、异步总线模式转换和MPLLCON之间要有足够的间隔时间,否则系统时钟不能正常倍频和分频。

void clock_init(void)

{

     LOCKTIME = 0x02000200;    

CLKDIVN = 0x03; 

/*快速总线模式转到异步总线模式*/

__asm__(

        "mrc p15, 0, r1, c1, c0, 0\n"

        "orr r1, r1, #0xc0000000\n"

        "mcr p15, 0, r1, c1, c0, 0\n"

);

    MPLLCON = (0x5c << 12) | (0x01 << 4) | (0x02 << 0);

}


我尝试了2种解决办法:


1、中间加一句循环语句:“for (i = 0; i < 100; i++);” 

void clock_init(void)

{

     int i;

     LOCKTIME = 0x02000200;    

CLKDIVN = 0x03; 

/*快速总线模式转到异步总线模式*/

     __asm__(

        "mrc p15, 0, r1, c1, c0, 0\n"

        "orr r1, r1, #0xc0000000\n"

        "mcr p15, 0, r1, c1, c0, 0\n"

     );

     for (i = 0; i < 100; i++);

     MPLLCON = (0x5c << 12) | (0x01 << 4) | (0x02 << 0);

}


2、修改嵌入式汇编和MPLLCON设置的顺序

void clock_init(void)

{

     LOCKTIME = 0x02000200;    

CLKDIVN = 0x03;

MPLLCON = (0x5c << 12) | (0x01 << 4) | (0x02 << 0);

 

/*快速总线模式转到异步总线模式*/

     __asm__(

         "mrc p15, 0, r1, c1, c0, 0\n"

         "orr r1, r1, #0xc0000000\n"

         "mcr p15, 0, r1, c1, c0, 0\n"

     );

}

 

0
0
查看评论

MPLLCON与UPLLCON

1、什么是MPLLCON与UPLLCON MPLLCON与UPLLCON分别是MPLL配置寄存器和UPLL配置寄存器 2、MPLL配置寄存器和UPLL配置寄存器的作用  S3C2440 CPU主频可达400MHz,开发板上的外接晶振为12M,通过时钟控制逻辑的PLL(phase...
  • qingkongyeyue
  • qingkongyeyue
  • 2016-08-22 11:22
  • 468

STM32 系统时钟的配置

1.时钟的驱动 有三种不同的时钟源可被用来驱动系统时钟: ● 内部高速 (HSI)8MHz RC 振荡器时钟 ● 外部高速 (HSE) 振荡器时钟 ● PLL 时钟 2.系统时钟的简介 在STM32中,我们说要配置系统时钟就是指的配置下图标识红色的部分“SYSC...
  • Flylily9997
  • Flylily9997
  • 2017-04-25 18:45
  • 844

STM32系统时钟配置

STM32启动后的第一步对于开发者来说就是系统时钟(RCC)的配置了,STM32系统默认用户外接8M晶振,经过倍频后,系统可以跑到72M。时钟的配置过程或者是初始化过程(当用户不配置时,使用默认外接8M晶振的配置)大体是这样的: 1、在STM32启动文件startup_stm32f10x_md.s的...
  • itccccc
  • itccccc
  • 2015-06-09 17:49
  • 1074

STM32F103系统时钟配置

STM32F103系统时钟配置时钟树的理解确定分频倍频之后再做 STM32F103时钟树假设外接晶振8MHz,现在需要配置出系统72MHz时,需要 配置代码(外部晶振8MHz配置系统时钟为72MHz)/*RCC config*/ void RCC_Configuration(void) { ...
  • u012075442
  • u012075442
  • 2016-12-31 11:17
  • 1189

学习stm32f103(二) 关于系统时钟

stm32中可以选择多种时钟源,可以参考stm32数据手册,这里手册中的时钟图 而在stm32f103系列的说明中,可知系统最高可以达到72M的主频,(f407等可以达到更高的主频),为了强大的性能,在不考虑功耗的前提下当然要选择72M作为我们系统的主频咯,关键是怎么来设置呢? ...
  • u010973249
  • u010973249
  • 2016-10-16 16:14
  • 514

STM8 设置系统时钟

硬件平台:stm8s103 编译环境:IAR for stm8#include <iostm8s103f3.h> #include <intrinsics.h>// // Setup the system clock to run at 16MHz using the i...
  • zpzyf
  • zpzyf
  • 2016-08-14 22:03
  • 1813

TMS320F28335之系统时钟

TMS320F28335时钟(1) PLL作用就是对外部时钟进行倍频,降低产生高频时钟信号的成本。但是倍频配置的时候,需要在特定的条件下更改,因此需要检测PLL工作的各种状态信号,因此PLL有两个配置相关寄存器,PLL状态寄存器PLLSTS和PLL控制寄存器PLLCR。通过对状态寄存器PLLSTS...
  • hmf1235789
  • hmf1235789
  • 2016-07-12 14:05
  • 2305

ARM cortex a 之时钟系统1

ARM cortex a系列的时钟系统是一个非常复杂而且麻烦的东西,下面我们首先明确一些概念和东西。 本部分主要介绍一下时钟系统的初始化工作,以及里面的一些原理。 S5PV210的时钟系统是一个非常麻烦的东西,首先需要时钟信号的产生,时钟发生器只有和晶振一起工作才能产生时钟信号,这两个单...
  • tiao_god
  • tiao_god
  • 2016-08-23 15:10
  • 832

STM32系统时钟默认设置

“我们一直都说STM32有一个非常复杂的时钟系统,然而在原子或者野火的例程中,只要涉及到时钟,我们却只能看到类似的库函数调用,如RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);这个仅仅只是起到开启挂...
  • jiangnaxing8498
  • jiangnaxing8498
  • 2017-08-15 16:21
  • 308

S3C2440如何设置系统时钟

时钟控制逻辑给整个芯片提供3种时钟:FLCK用于CPU核;HCLK用于AHB总线上的设备(如:CPU核、存储控制器、中断控制器、LCD控制器、DMA等);PCLK用于APB总线上的设备(如:WATCHDOG、IIS、I2C、PWM定时器、MMC接口、ADC、UART、GPIO、RTC、SPI等)。 ...
  • lwj103862095
  • lwj103862095
  • 2012-08-12 16:25
  • 2234
    个人资料
    • 访问:15429次
    • 积分:337
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条
    文章存档