TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8148:mcasp1的AHCLKXCTL和ACLKXCTL不能分频。请大神指点

mcasp做主。R支路和X支路寄存器设置的差不多,都是PDIR设输出,及AHCLKXCTL和AHCLKRCTL的BIT(15)。ACLKXCTL和ACLKRCTL设BIT(5)。然后设置分频的位数。但是X的没有效果,R支路的可以控制分频倍数。

/*************set output*********************/

mcasp_set_bits(base + DAVINCI_MCASP_PDIR_REG, AFSR);

mcasp_set_bits(base + DAVINCI_MCASP_PDIR_REG, ACLKR);

mcasp_set_bits(base + DAVINCI_MCASP_PDIR_REG, AHCLKR);

mcasp_set_bits(base + DAVINCI_MCASP_PDIR_REG, ACLKX);

mcasp_set_bits(base + DAVINCI_MCASP_PDIR_REG, AFSX);

mcasp_set_bits(base + DAVINCI_MCASP_PDIR_REG, AHCLKX);

*********************************************/

mcasp_set_bits(dev->base + DAVINCI_MCASP_AHCLKRCTL_REG,AHCLKRE|0x7);

//set output and divide eight

mcasp_set_bits(dev->base + DAVINCI_MCASP_AHCLKXCTL_REG,AHCLKXE|0x7);

/set output and divide eight

mcasp_set_bits(dev->base + DAVINCI_MCASP_ACLKXCTL_REG,0x5);//divide six

mcasp_set_bits(dev->base + DAVINCI_MCASP_ACLKRCTL_REG,0x2);//divide three

小弟是个新手,愿得到大神们的指点。

Louis:

建议在CCS上验证一下,可以在CCS连接成功之后,使用GEL的脚本,来初始化一下MCASP对应的寄存器。下面是EVM的GEL文件,需要做一些修改。

 

qiu lutong:

回复 Louis:

需要用到什么型号的仿真器啊?

qiu lutong:

回复 Louis:

需要用到什么型号的仿真器啊?

Louis:

回复 qiu lutong:

XDS560 V2

qiu lutong:

回复 Louis:

翔哥,能说的具体点吗。我这没有具体的工程。而且GEL文件改什么地方,怎么改 啊

Eason Wang:

回复 qiu lutong:

你不是代码都贴出来了吗。 GEL里面也是类似这样的写法。你也可以照着寄存器的地址去反向搜代码

Louis:

回复 Eason Wang:

下面是一个mcasp2的例子,你可以将你的配置集成到脚本当中:

PLL_SETUP(){    //pll_name (CLKINP,N , M, M2);    cmdMPUPLL(CLKIN,1, 60 ,1);    cmdL3PLL(CLKIN,19,800,4);    cmdDSPPLL(CLKIN,19, 500, 1);    cmdDSSPLL(CLKIN,19, 800, 4);    cmdISSPLL(CLKIN,19, 800 ,4);    cmdIVAPLL(CLKIN,19, 532, 2);    cmdSGXPLL(CLKIN,19, 800, 4);    cmdUSBPLL(CLKIN,19,960,5);    cmdVIDEO0PLL(CLKIN,19, 1000,4);    cmdVIDEO1PLL(CLKIN,19, 594,4);    cmdHDMIPLL(CLKIN,19, 1485,10);

    cmdDDRPLL(CLKIN,19,DDR_FREQ, 2);

    cmdAUDIOPLL(CLKIN,19,800,4);

    cmdSATAPLL();

    //cmdPCIEPLL();    GEL_TextOut("exiting pll setup \n\r");}

 

#define MCASP2PDIR 0x48050014#define MCASP2FUN 0x48050010#define McASP_AHCLK_CLKSRC 0x481c52d4#define CM_AUDIOCLK_MCASP1_CLKSEL 0x48180384hotmenu DM814X_InitMcasp2(){ UWORD32 value; GEL_TextOut("\tDM814X_InitMcasp2 Pin Mux initialing \n","Output",1,1,1); WR_MEM_32(PINCNTL16, 0x4); WR_MEM_32(PINCNTL39, 0x1); WR_MEM_32(PINCNTL40, 0x1); WR_MEM_32(PINCNTL41, 0x1); WR_MEM_32(CM_ALWON_MCA_2_CLKSTCTRL,    0x2); /*Enable MCASP2 Clock*/ while(RD_MEM_32(CM_ALWON_MCA_2_CLKSTCTRL)!=0x2);  /*Poll for Module is functional*/ GEL_TextOut("\tDM814X_Enable Mcasp2 \n","Output",1,1,1);

 value = RD_MEM_32(MCASP2PDIR); value = value | (1<<26)| (1<<27)| (1<<28); WR_MEM_32(MCASP2PDIR, value);

 WR_MEM_32(MCASP2FUN, 0);

 WR_MEM_32(McASP_AHCLK_CLKSRC, (3<<16)); WR_MEM_32(CM_AUDIOCLK_MCASP1_CLKSEL,0);// select sysclk20/audio_pll as clk

}

 

赞(0)
未经允许不得转载:TI中文支持网 » DM8148:mcasp1的AHCLKXCTL和ACLKXCTL不能分频。请大神指点
分享到: 更多 (0)