智能车制作

标题: S12G的锁相环!!怎么设置! [打印本页]

作者: Yukyo!    时间: 2012-3-18 11:07
标题: S12G的锁相环!!怎么设置!
xs128是这样子:
void Init_PLL_16M(void)
{                        
        CLKSEL=0X00;                // disengage PLL to system
                PLLCTL_PLLON=1;            // turn on PLL        
                                        //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
                                        //锁相环时钟=2*16*(1+1)/(1+1)=32MHz
        REFDV = 1;                //REFDV范围为0~63
        
        SYNR = 1;                        //SYNR范围为0~15

        _asm(nop);
        _asm(nop);
        _asm(nop);                //等待锁相环稳定

        while(!(CRGFLG&0X08));        //when pll is steady ,then use it;
                                        //选定锁相环位,Bus Clock=PLLCLK/2;
        CLKSEL = 0X80;          //总线时钟=32/2=16MHz
               
}

但是9s12g似乎没有打开pll这个寄存器,那要怎么用啊!!
我的程序:
void initPLL(void)
{
  CPMUCLKS_PLLSEL =0;
  ???//打开pll
  CPMUSYNR= 4;
  CPMUREFDIV= 1;
  CPMUPOSTDIV=0x00;
    _asm(nop);
    _asm(nop);
  while(!CPMUFLG_LOCK);
  CPMUCLKS_PLLSEL =1;          //engage PLL to system;
}



作者: 云梦泽    时间: 2012-3-18 11:19
建议看英文技术手册,与XS128不同。。
作者: Yukyo!    时间: 2012-3-18 11:21
云梦泽 发表于 2012-3-18 11:19
建议看英文技术手册,与XS128不同。。

技术手册上没写怎么打开。

作者: Yukyo!    时间: 2012-3-18 11:22
技术手册没有交代打开。。是不是要设置其他寄存器??
作者: 云梦泽    时间: 2012-3-18 11:25
Anytime if PROT=0 (CPMUPROT register) and PLLSEL=1 (CPMUCLKS register). Else write has
no effect.
作者: turf456    时间: 2012-3-18 11:44
寄存器完全不同。不过公式是一样的。
耐心翻译一下能明白的。
作者: Yukyo!    时间: 2012-3-18 11:49
void initPLL(void) //32MHz
{
  CPMUCLKS_PLLSEL =1;
  CPMUSYNR= 31;
  CPMUREFDIV= 0;
  CPMUPOSTDIV=0x00;
  CPMUCLKS_PLLSEL =0;
    _asm(nop);
    _asm(nop);
  while(!CPMUFLG_LOCK);
  CPMUCLKS_PLLSEL =1;          //engage PLL to system;
}

作者: Yukyo!    时间: 2012-3-18 11:50
Yukyo! 发表于 2012-3-18 11:49
void initPLL(void) //32MHz
{
  CPMUCLKS_PLLSEL =1;

各种乱调之后搞定。

作者: guoshunkai521    时间: 2012-4-9 21:41
看英文的,有点难,不过试试!

作者: 嵌入式系统设计    时间: 2012-5-11 21:42
Yukyo! 发表于 2012-3-18 11:49
void initPLL(void) //32MHz
{
  CPMUCLKS_PLLSEL =1;

请问这个PLL程序可以对吗??





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2