12m晶振----->pll------>cpu
Mux多路选择器
Div分频器
示例代码如下:
汇编实现
.globlclock_init
clock_init:
/*1.设置LOCK_TIME*/
ldrr0,=0x7E00F000/*APLL_LOCK*/
ldrr1,=0x0000FFFF
strr1,[r0]
strr1,[r0,#4] /*MPLL_LOCK*/
strr1,[r0,#8] /*EPLL_LOCK*/
#defineOTHERS 0x7e00f900
@setasyncmode/*当CPU时钟!=HCLK时,要设为异步模式*/
ldrr0,=OTHERS
ldrr1,[r0]
bicr1,#0xc0
strr1,[r0]
loop1: /*等待,直到CPU进入异步模式*/
ldrr0,=OTHERS
ldrr1,[r0]
andr1,#0xf00
cmpr1,#0
bneloop1
/*SYNC667*/
/*MISC_CON[19]=0*/
#defineARM_RATIO0/*ARMCLK=DOUTAPLL/(ARM_RATIO+1)*/
#defineHCLKX2_RATIO1/*HCLKX2=HCLKX2IN/(HCLKX2_RATIO+1)*/
#defineHCLK_RATIO1/*HCLK=HCLKX2/(HCLK_RATIO+1)*/
#definePCLK_RATIO3/*PCLK=HCLKX2/(PCLK_RATIO+1)*/
#defineMPLL_RATIO0/*DOUTMPLL=MOUTMPLL/(MPLL_RATIO+1)*/
ldrr0,=0x7E00F020/*CLK_DIV0*/
ldrr1,=(ARM_RATIO)|(MPLL_RATIO<<4)|(HCLK_RATIO<<8)|(HCLKX2_RATIO<<9)|(PCLK_RATIO<<12)
strr1,[r0]
/*2.配置时钟*/
/*2.1配置APLL*/
/*2.1.1设置APLL
*2.1.2MUXAPLL
*2.1.3SYNC667
*2.1.4DIVAPLL
*/
#defineAPLL_CON_VAL((1<<31)|(266<<16)|(3<<8)|(1))
ldrr0,=0x7E00F00C
ldrr1,=APLL_CON_VAL
strr1,[r0] /*APLL_CON,FOUTAPL=MDIV*Fin/(PDIV*2^SDIV)=266*12/(3*2^1)=532MHz*/
/*2.2配置MPLL*/
/*2.2.1设置MPLL
*2.2.2MUXMPLL
*2.2.3SYNCMUX
*2.2.4SYNC667
*2.2.5HCLKX2_RATIO
*2.2.6PCLK_RATIO
*/
#defineMPLL_CON_VAL((1<<31)|(266<<16)|(3<<8)|(1))
ldrr0,=0x7E00F010
ldrr1,=MPLL_CON_VAL
strr1,[r0] /*MPLL_CON,FOUTMPL=MDIV*Fin/(PDIV*2^SDIV)=266*12/(3*2^1)=532MHz*/
/*3.选择PLL的输出作为时钟源*/
ldrr0,=0x7E00F01C
ldrr1,=0x03
strr1,[r0]
movpc,lr
C实现
#defineAPLL_LOCK(*((volatileunsignedlong*)0x7E00F000))
#defineMPLL_LOCK(*((volatileunsignedlong*)0x7E00F004))
#defineEPLL_LOCK(*((volatileunsignedlong*)0x7E00F008))
#defineOTHERS (*((volatileunsignedlong*)0x7E00F900))
#defineCLK_DIV0(*((volatileunsignedlong*)0x7E00F020))
#defineARM_RATIO 0
#defineHCLKX2_RATIO 4
#defineHCLK_RATIO 0
#definePCLK_RATIO 1
#defineMPLL_RATIO 0
#defineAPLL_CON(*((volatileunsignedlong*)0x7E00F00C))
#defineAPLL_CON_VAL((1<<31)|(250<<16)|(3<<8)|(1))
#defineMPLL_CON(*((volatileunsignedlong*)0x7E00F010))
#defineMPLL_CON_VAL((1<<31)|(250<<16)|(3<<8)|(1))
#defineCLK_SRC(*((volatileunsignedlong*)0x7E00F01C))
voidclock_init(void){
APLL_LOCK=0XFFFF;
MPLL_LOCK=0XFFFF;
EPLL_LOCK=0XFFFF;
/*当CPU时钟!=HCLK时,要设为异步模式*/
OTHERS&=~0XC0;
while((OTHERS&0XF00)!=0);
CLK_DIV0=(ARM_RATIO)|(MPLL_RATIO<<4)|(HCLK_RATIO<<8)|(HCLKX2_RATIO<<9)|(PCLK_RATIO<<12);
APLL_CON=APLL_CON_VAL;/*500MHZ*/
MPLL_CON=MPLL_CON_VAL;/*500MHZ*/
CLK_SRC=0X03;
}
相关推荐
自己写的STM32的学习笔记,详细介绍了RCC系统时钟的配置方法,内有程序代码,可以正常行,注释详细。
[学习笔记]STM32F1系统时钟配置(寄存器、标准库、HAL库源码)
Contiki学习笔记:系统进程etimer_process Contiki学习笔记:深入理解process_run函数 Contiki 进阶学习: Contiki学习笔记:新事件产生及事件处理 Contiki学习笔记:时钟中断处理程序Systick_isr Contiki学习笔记:...
│ MSP430学习笔记系列3—MSP430中断、内嵌函数、时钟系统.pdf │ MSP430学习笔记系列4—MSP430定时器.pdf │ MSP430学习笔记系列5—USCI模块(串口-SPI-I2C).pdf │ MSP430学习笔记系列6—MSP430看门狗-低功耗工作...
通过学习STM32的时钟树的讲解,记录的一些知识点,希望对大家有用。
STM32F4xx学习笔记 时钟配置 STM32F407最高层是SYSCLK系统时钟,由其生成了 AHB时钟,再由AHB时钟生成APB时钟。 系统时钟的来源: 系统时钟有三个来源: 内部告诉晶体(16MHZ)。 外部告诉晶体(4-26MHZ)。 PLL输出...
自己写的STM32的学习笔记,详细介绍了RCC系统时钟的配置方法,内有程序代码,可以正常行,注释详细。
Altium Designer学习笔记
SD卡协议学习点滴(一) 首先SD卡有所谓操作模式(operation mode)的概念,每种操作模式又具体对应一种或多种状态,主机通过发送命令可以使SD卡在不同的状态间转换,SD卡则接受命令,并根据自己现在所处状态做出...
返回系统时钟每秒的tick数量, tick详解 43 6 中断应用设计要点 44 7 驱动程序设计 49 8 缩短vxworks的启动时间 51 9 调试篇 54 10 驱动编程步骤 54 10.1 将驱动程序增加到“系统驱动程序列表”中 54 10.2 将设备增加...
介绍了单片机汇编指令、计数、中断等 在51 单片机内部有一个CPU 用来运算、控制,有四个并行I/O 口,分别是 P0、P1、P2、P3,有ROM,用来存放程序...还有定时/计数器,串行I/O 口,中断系统,以及一个内部的时钟电路。
该项目采用stn32单片机,0.96寸oled屏幕,RTC时钟系统,可显示UNIX时钟,日期,生肖年,时间等
一、如何开始DSP 的学习 ................................................................................................................. 2 二、完整工程的构成 .............................................
STM32中一共有11个定时器,其中2个控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒时钟。今天主要是学习8个定时器。 定时器其中TIM1和TIM8是能够产生3对PWM互补...
文档介绍了实时时钟(RTC),时间戳计时器(TSC),CPU本地定时器,高精度时间定时器(HPET),ACPI电源管理定时器,定时器的数据结构,定时插补,单处理器系统上的计时体系结构,时钟中断处理程序,多处理器系统上...
第14讲液晶屏背光灯系统 第15讲bios电路 第16讲电池维修 第17讲维修思路 第18讲维修技巧 第19讲维修思路1 第20讲维修思路2 第21讲维修思路3 第22讲维修思路4 第23讲改通用高压条 第24讲示波器使用说明 第25讲上电...
本人学习的国嵌笔记。操作详细! 第一季 精通嵌入式 4 一. 安装tftp服务器 4 二. Samba服务器安装 4 三. NFS服务器 5 四. 安装vsftpd FTP服务器 5 第2季-裸奔吧-ARM 6 一. 安装交叉编译器 6 二. 安装驱动 6 三...
显示器、笔记本、主板维修培训课程,任务一 LCD显示器概述,显示原理和常见术语解释 液晶显示器 任务二 LCD液晶面板的原理和...第十:对主板总结性实战维修,如供电、时钟、复位、BIOS电路,物理损伤、进液、腐蚀等。
小型化、微型化、低功耗、智能化、系统化方向更新换代 20世纪90年代电脑向智能方向发展制造出与人脑相似电脑进行思维、学习、记忆、网络 通信等工作 进入21世纪电脑更笔记本化、微型化和专业化每秒运算速度超过100万...
详细的contiki学习笔记,包括:环境设置,微处理器,系统架构,线程,时钟,硬件I/O,网络,无线电,其它。