This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678在CSL库情况下配置PLL问题



各位工程师,你们好,我的整个程序都是使用的是CSL库文件,现在我要做PLL的配置,我有如下不明白的地方:

1、配置PLC实用CSL库是否需要关闭什么,比如,看门狗电路

2、配置好的PLC,怎么判断是否PLC在正常工作,是否读出寄存器PLLSTAT的值,通过判断该寄存器的GOSTAT为1,作为判断,为1的时候PLL正常工作,不为1的时候PLL没有正常工作。

3、PLL的产生的时间有16路,既16个系统时钟,是如何分配给8个内核的,在PLL手册是,不是很明确,请指点。

4、我做如下配置,是否能够配置成功,如果不能,可否给出一个参考例程。谢谢。

void PllcInit(void)
{
   CSL_PllcHandle hPllc;
      Uint8           goStatus;
   hPllc=CSL_PLLC_open (0);

      CSL_PLLC_setPllCtrlReg (hPllc, 1, 0, 1, 1);     //设置pllen=1       0:旁路模式,1:PLL模式
                                                      //设置pllpwrewn=0   0:PLL唤醒,1:PLL休眠
                                                      //设置pllrst=1      0:PLL复位     1:PLL复位释放
                                                      //设置pllensrc=1    0:PLL使能     1:PLL禁止
      CSL_PLLC_setPllSecCtrlReg (hPllc, 0x00);        //设置PLL第二功能寄存器
                                                      //分频系数为1分频
      CSL_PLLC_setPllDivReg (hPllc,1,0,1);            // Setup /1 divider rate and enable divider 1
      CSL_PLLC_setPllAlignCtrlReg (hPllc, 1);         // Set the respective ALNn bit in ALNCTL register
      CSL_PLLC_setPllCmdReg (hPllc, 1);               // Start GO operation
      CSL_PLLC_getPllStatusReg (hPllc, &goStatus);// Ensure no GO operation in progress already

      while (goStatus != 0)
      {
          CSL_PLLC_getPllStatusReg (hPllc, &goStatus);// wait some time and recheck GOSTAT status
      }

}

请大侠们能给我解惑,谢谢了。