智能车制作
标题:
时钟频率问题
[打印本页]
作者:
6500s
时间:
2010-7-20 17:18
标题:
时钟频率问题
刚开始学s12单片机,对于其时钟频率存在问题。
Q:总共有多少种时钟频率及它们之间关系?(现已知外部晶振时钟、总线时钟、锁相环时钟)
作者:
hwqdg
时间:
2010-7-20 19:55
本帖最后由 hwqdg 于 2010-7-20 19:59 编辑
在S12中,总线时钟来自锁相环时钟,锁相环时钟通过外部晶振倍频得到。
如在XS中:
当POSTDIV!=0时,fbus=fpll/2=fvco/(4*POSTDIV)=fosc*(SYNDIV+1)/(2*POSTDIV*(REFDIV+1))
当POSTDIV=0时, fbus=fpll/2=fvco/2=fosc*(SYNDIV+1)/(REFDIV+1)
作者:
napoleon90
时间:
2010-8-16 20:20
我知道dg128的……
这是一段程序:
void MCUInit(void)
{
//(1)禁止总中断
DISABLE_INTERRUPTS;
//(2)CLKSEL的第7位置0,选择系统时钟源为OSCCLK
//在PLL程序执行前,内部总线频率=OSCCLK/2
//clksel.7(PLL选择位)决定内部总线时钟来源
//=O,BusClock=OSCCLK/2; =1,BusClock=PLLCLK/2
//CLKSEL &= 0x7f; //此时:BusClock=OSCCLK/2
CLKSEL_PLLSEL=0;
//(3)禁止PLL
//PLLCTL &= 0xbf;//PLLCTL.6(pllon)设为0;先关闭PLL
PLLCTL_PLLON=0;
//(4)根据需要的时钟频率设置SYNR和REFDV寄存器
//计算公式
LLCLK=2*OSCCLK*((SYNR+1)/(REFDV+1))
SYNR = 0x00; //对PLLCLK增频的因子
REFDV = 0x00; //对PLLCLK分频的因子
//(5)打开PLL
PLLCTL |= (1<<6); //PLLCTL.6(pllon)设为1;开PLL
//(6)通过判断CRGFLG寄存器的LOCK位,确定PLL是否稳定
// while ((CRGFLG&0x08) == 0x00);
while(CRGFLG_LOCK==0);
//(7)时钟频率稳定后,允许锁相环时钟源作为系统时钟源;
CLKSEL |= (1<<7); //本句执行后:BusClock=PLLCLK/2
//(8)设置是否允许IRQ中断、是否允许看门狗
INTCR &= 0xbf; //IRQCR.6(IRQEN) =0禁止IRQ中断(默认开)
COPCTL = 0x00; //COPCTL.2-0(cr2:cr0) =000禁止看门狗
}
作者:
napoleon90
时间:
2010-8-16 20:20
我知道dg128的……
这是一段程序:
void MCUInit(void)
{
//(1)禁止总中断
DISABLE_INTERRUPTS;
//(2)CLKSEL的第7位置0,选择系统时钟源为OSCCLK
//在PLL程序执行前,内部总线频率=OSCCLK/2
//clksel.7(PLL选择位)决定内部总线时钟来源
//=O,BusClock=OSCCLK/2; =1,BusClock=PLLCLK/2
//CLKSEL &= 0x7f; //此时:BusClock=OSCCLK/2
CLKSEL_PLLSEL=0;
//(3)禁止PLL
//PLLCTL &= 0xbf;//PLLCTL.6(pllon)设为0;先关闭PLL
PLLCTL_PLLON=0;
//(4)根据需要的时钟频率设置SYNR和REFDV寄存器
//计算公式
LLCLK=2*OSCCLK*((SYNR+1)/(REFDV+1))
SYNR = 0x00; //对PLLCLK增频的因子
REFDV = 0x00; //对PLLCLK分频的因子
//(5)打开PLL
PLLCTL |= (1<<6); //PLLCTL.6(pllon)设为1;开PLL
//(6)通过判断CRGFLG寄存器的LOCK位,确定PLL是否稳定
// while ((CRGFLG&0x08) == 0x00);
while(CRGFLG_LOCK==0);
//(7)时钟频率稳定后,允许锁相环时钟源作为系统时钟源;
CLKSEL |= (1<<7); //本句执行后:BusClock=PLLCLK/2
//(8)设置是否允许IRQ中断、是否允许看门狗
INTCR &= 0xbf; //IRQCR.6(IRQEN) =0禁止IRQ中断(默认开)
COPCTL = 0x00; //COPCTL.2-0(cr2:cr0) =000禁止看门狗
}
作者:
lwbwd
时间:
2012-4-10 17:23
hao
作者:
封号式寂寞
时间:
2012-5-20 15:11
欢迎光临 智能车制作 (http://www.znczz.com/)
Powered by Discuz! X3.2