各位工程师,你们好,我的整个程序都是使用的是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
}
}
请大侠们能给我解惑,谢谢了。