C6713 PLL
1、硬件外部有个复位键,RESET,PLL配置时有个和PLL_reset,这两个是什么关系呢?没什么联系吧?
2、PLL配置时,比如lock过程,需要有计时,等待PLL稳定,这个计时怎么实现,直接计数吗?又怎么知道累加一次多长时间呢?
难道累加一次一个时钟?软件优化后,可能最后会并行执行,一个时钟周期就不止累加一次吧,这个时间怎么确定?
用硬件计时器,在这里也没必要吧?
谢谢
ha zhang:
回复 Shine:
非常感谢
xue bing:
回复 Shine:
你好,看到您的回复,可能我的问题也出在PLL初始化上,我用的芯片是TMS320C6713BZDP-A200,时钟输入是25Mhz,pll初始化程序如下:
PLL_bypass();asm(" NOP 8 ");PLL_reset();asm(" NOP 8 ");PLL_setMultiplier(0x08);//0905asm(" NOP 8 ");PLL_setPllRatio(PLL_DIV3,0x9);//0905asm(" NOP 8 ");asm(" NOP 8 ");asm(" NOP 8 ");PLL_deassert();asm(" NOP 8 ");asm(" NOP 8 ");asm(" NOP 8 ");PLL_enable();asm(" NOP 8 ");
常温工作正常,但是低温-20度就出现无法启动的问题,是等待时间不够吗,改成如下是否可以:
static void PllDelay( int Countdelay ) { volatile int i = Countdelay; while(i–); }
PLL_bypass(); PllDelay(20); PLL_reset(); PllDelay(20); PLL_setMultiplier(0x08);//0905 PllDelay(20); PLL_setPllRatio(PLL_DIV3,0x9);//0905 PllDelay(20); PLL_deassert(); PllDelay(1500); PLL_enable(); PllDelay(20);
多谢!