c6713b 的时钟频率为什么只能达到140m

2019-03-26 15:47发布

使用的芯片是c6713B,开发板是合众达的dec6713。他们提供的dec6713.c文件中包含pll的设置代码如下:

      
/* Initialize PLL Registers */         
  /* Put PLL in bypass */
PLL_bypass();
PLLDelay(20);

  /* Reset PLL */
PLL_reset();
PLLDelay(20);

  /* Set main multiplier/divisor */
  PLL_RSET(PLLM, 18);                         // 25MHz  x 18 = 450MHz  
PLL_RSET(PLLDIV0, PLL_PLLDIV0_RMK(1, 0));  // 450MHz / 1 = 450MHz
    PLL_RSET(OSCDIV1, PLL_OSCDIV1_RMK(1, 4));  // 25MHz  / 5 = 5Mhz
   
/* Set DSP clock */
    PLL_RSET(PLLDIV1, PLL_PLLDIV1_RMK(1, 1));  // 450MHz / 2 = 225MHz     
PLLDelay(20);
   
    /* Set peripheral clock */
    PLL_RSET(PLLDIV2, PLL_PLLDIV2_RMK(1, 3));  // 450MHz / 4 = 112.5MHz
    PLLDelay(20);
   
    /* Set EMIF clock */
    PLL_RSET(PLLDIV3, PLL_PLLDIV3_RMK(1, 4));  // 450MHz / 5 = 90MHz
    PLLDelay(20);
   
     /* Take PLL out of reset */
    PLL_deassert();
    PLLDelay(1500);
   
     /* Enalbe PLL */
    PLL_enable();
    PLLDelay(20);

按照上面的代码及其注释,板子的晶振为25M,dsp的工作频率应该是225M,但是板子上的晶振经测量是10M的,所以配置完之后,dsp的工作频率应该是10*18/2=90M。我想提高工作频率,所以主要更改红 {MOD}部分的两行代码,
PLL_RSET(PLLM, 20);                        
PLL_RSET(PLLDIV1, PLL_PLLDIV1_RMK(1, 0));  

配置完之后工作频率应该达到200M,但是发现run的时候程序报错,datasheet上说该dsp的工作频率上线为225m,为什么经过测试发现到140m左右就不工作了呢?

此帖出自小平头技术问答
0条回答

一周热门 更多>