3784|7

9

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

SEED-DEC6713 MCASP和AIC23B的问题 [复制链接]

大家好,为什么我在连接AIC23B和6713时,设置AIC23B为Master,然后MCASP总是无法使能位时钟,总是停留在
MCASP_FSETS(GBLCTL1,XCLKRST,ACTIVE);
while(!MCASP_FGET(GBLCTL1,XCLKRST));
这一句
希望懂的人指点一下,多谢!

最新回复

本帖最后由 kooking 于 2014-4-8 17:15 编辑 刚确认了下        SEED-DEC6713 ccs测试程序已经包括了mcasp音频的例程,可以打开后即可以使用,可以用示波器测量一下是不是aic23给时钟,如果是,就已经是aic23为主的模式了            //打开MCASP MCASP_Handle hMcasp = DEC6713_AIC23_OpenCodec();  详情 回复 发表于 2014-4-8 16:53
点赞 关注
 

回复
举报

3836

帖子

19

TA的资源

纯净的硅(中级)

沙发
 
为何要设置AIC23为主呢?应该是DSP为主的。

点评

我是新手,还望多指教,我是想如果以AIC23B为主的话,可以不用再在DSP里计算时钟频率,直接让AIC23B提供时钟  详情 回复 发表于 2013-12-9 10:47
 
 

回复

283

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
能不能多发些代码,看下前后关系

点评

MCASP_ConfigGbl configGbl = { 0x00000000, /* PFUNC - All pins as McASP */ // 0x1c000002, //AXR1 out,AFSX AHCLKX ACLKX out,others are inputs 0x00000080, /* PDIR - AXR1 out  详情 回复 发表于 2013-12-9 10:43
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 板凳kooking 的帖子

MCASP_ConfigGbl configGbl =
        {

               0x00000000, /* PFUNC - All pins as McASP */
        //     0x1c000002, //AXR1 out,AFSX AHCLKX ACLKX out,others are inputs
               0x00000080, /* PDIR -  AXR1 out,others are inputs */
               0x00000000, /* DITCTL - DIT mode disable */
               0x00000003, /* DLBCTL - Loopback disabled */
               0x00000000 /* AMUTE - Never drive AMUTE */

        };

        MCASP_ConfigRcv configRcv =

        {

               0xffffffff, /* RMASK - Use all 32 bits */
               0x000180f0, //1-bit delay,MSB first, 32-bit slots, DAT bus,
               0x00000111, //AFSRCTL 2-slot word frame sync, ext FS,falling
        //     0x00000113, //AFSRCTL 2-slot word frame sync, in FS,falling
               0x00000000, /* ACLKRCTL - Sample on rising CLK, divide by 1, ext CLK */
        //     0x00000020, // ACLKRCTL - Sample on rising CLK, divide by 1, in CLK
               0x00000000, /* AHCLKRCTL - External HCLK */
        //     0x0000c031,  //AHCLKRCTL - in HCLK, falling AHCLK, divide by 50
               0x00000003, /* RTDM - Slots 0 1 are active */
               0x00000000, /* RINTCTL - No interrupts */
               0x00000000 /* RCLKCHK - Not used */
        };



        MCASP_ConfigXmt configXmt =

        {
               0xffffffff, /* XMASK - Use all 32 bits */
               0x000180f0, //1-bit delay,MSB first, 32-bit slots, DAT bus,
            //0x00000113, //AFSXCTL-2-slot word frame sync, in FS ,falling
               0x00000111, //AFSXCTL-2-slot word frame sync, ext FS ,falling
        //     0x000000e0, /* ACLKXCTL - Sample on falling CLK, async,divide by 1, in CLK */
               //0x000000c0, /* ACLKXCTL - Sample on falling CLK, async,divide by 1, ext CLK */
               0x00000080,  /* ACLKXCTL - Sample on falling CLK, sync,divide by 1, ext CLK */
        //     0x0000c031, /* AHCLKXCTL - in HCLK , falling , 50 divider*/
               0x00000000, /* AHCLKXCTL - External HCLK */
               0x00000003, /* XTDM - Slots 0 1 are active */
               0x00000000, /* XINTCTL - No interrupts */
               0x00000000 /* XCLKCHK - Not used */
        };



        MCASP_ConfigSrctl configSrctl =

        { //SRCTL,

               0x00000000, /* SRCTL0 - Inactive */
               0x00000000, /* SRCTL1 - Inactive*/
               0x00000000, /* SRCTL2 - Inactive */
               0x00000000, /* SRCTL3 - Inactive */
               0x00000000, /* SRCTL4 - Inactive */
               0x00000000, /* SRCTL5 - Inactive */
               0x0000000e, /* SRCTL6 - Receive, active high  */
               0x0000000d  /* SRCTL7 - Transmit, active high */
        };


            MCASP_configRcv(hMcASP, &configRcv);
            for(i=0;i<10;i++);
            MCASP_configXmt(hMcASP, &configXmt);
            for(i=0;i<10;i++);
            MCASP_configSrctl(hMcASP, &configSrctl);
            for(i=0;i<10;i++);
            MCASP_configGbl(hMcASP, &configGbl);
            for(i=0;i<10;i++);


            //启动高频时钟AHCLKX和AHCLKR
        MCASP_FSETS(GBLCTL1,XHCLKRST,ACTIVE);
        while(!MCASP_FGET(GBLCTL1,XHCLKRST));
        MCASP_FSETS(GBLCTL1,RHCLKRST,ACTIVE);
        while(!MCASP_FGET(GBLCTL1,RHCLKRST));

        //启动时钟ACLKX和ACLKR
        MCASP_FSETS(GBLCTL1,XCLKRST,ACTIVE);
   while(!MCASP_FGET(GBLCTL1,XCLKRST));
   MCASP_FSETS(GBLCTL1,RCLKRST,ACTIVE);
   while(!MCASP_FGET(GBLCTL1,RCLKRST));

        //启动串并转换器
    MCASP_RSET(XSTAT1,0xffff);
    MCASP_RSET(RSTAT1,0xffff);
    MCASP_FSETS(GBLCTL1,XSRCLR,ACTIVE);
    while(!MCASP_FGET(GBLCTL1,XSRCLR));
    MCASP_FSETS(GBLCTL1,RSRCLR,ACTIVE);
    while(!MCASP_FGET(GBLCTL1,RSRCLR));

    //使状态机退出复位状态
    MCASP_FSETS(GBLCTL1,XSMRST,ACTIVE);
    while(!MCASP_FGET(GBLCTL1,XSMRST));
    MCASP_FSETS(GBLCTL1,RSMRST,ACTIVE);
    while(!MCASP_FGET(GBLCTL1,RSMRST));

   // 将帧同步发生器退出复位状态
    MCASP_FSETS(GBLCTL1,XFRST,ACTIVE);
    while(!MCASP_FGET(GBLCTL1,XFRST));
    MCASP_FSETS(GBLCTL1,RFRST,ACTIVE);
    while(!MCASP_FGET(GBLCTL1,RFRST));

点评

这些代码是我从网上复制过来的,后边的注释不一定对,我修改过代码了  详情 回复 发表于 2013-12-9 10:45
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼chhtx 的帖子

这些代码是我从网上复制过来的,后边的注释不一定对,我修改过代码了
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 沙发fish001 的帖子

我是新手,还望多指教,我是想如果以AIC23B为主的话,可以不用再在DSP里计算时钟频率,直接让AIC23B提供时钟
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

7
 
我也遇到了这个问题啊,但数据口只传送一次,觉得I2C有问题,希望讨论讨论
 
 
 

回复

283

帖子

0

TA的资源

纯净的硅(高级)

8
 
本帖最后由 kooking 于 2014-4-8 17:15 编辑

刚确认了下        SEED-DEC6713 ccs测试程序已经包括了mcasp音频的例程,可以打开后即可以使用,可以用示波器测量一下是不是aic23给时钟,如果是,就已经是aic23为主的模式了           
//打开MCASP
MCASP_Handle hMcasp = DEC6713_AIC23_OpenCodec();
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表