本人用AM3352的MCASP外接多路音频codec,之前MCASP工作在主模式,提供bclk和fs,系统正常工作。
问题:现调整MCASP为从模式,外部ACLKX和AFSKX时钟由codec提供,时钟正常,后配置MCASP的时钟、IO等为从模式,但RSTAT的RDATA始终无置位,EDMA中断也无法进入。
初步怀疑是哪里时钟未配置对,导致串行器未工作。
现在能保证寄存器按照收发位时钟和帧时钟框图配置,请问是否还有其他地方需要注意??
先谢过!
yongqing wang:
把你的配置信息发上来看看
enki_fang:
以下是具体配置:
//————————————————————————————————————————————————
GBLCTL=0;
XGBLCTL=0;
RGBLCTL=0;
//fifo
RFIFOCTL=0;
WFIFOCTL=0;
RFIFOCTL=101;
WFIFOCTL=101;
RFIFOCTL=1<<16;
WFIFOCTL=1<<16;//rx
RMASK=0x0000ffffu;
RFMT=(0x0 << 16) |(0x1 << 15) |(0x0 << 13) |(0x7 << 4)|(0x0 << 3)|(0);
AFSRCTL= (0x10 << 7) |(0x0 << 4) |(0x0 << 1) |(0);
ACLKRCTL=(0x00 << 7) |(0x00 << 5) |(0x0);
AHCLKRCTL=(0x01 << 15) |(0x00 << 14);
RTDM=0x0000ffffu;
RINTCTL=0;
RCLKCHK=(0XFF << 16) |(0X00 << 8) |0;//tx
XMASK=0x0000ffffu;
RFMT=(0x0 << 16) |(0x0 << 15) |(0x0 << 13) |(0x7 << 4) |(0x0 << 3) |(0);
XFMT=(0x0 << 16) |(0x0 << 15) |(0x0 << 13) |(0x7 << 4) |(0x1 << 3) |(0);
AFSXCTL=(0x10 << 7) |(0x0 << 4) |(0x0 << 1) |(0);
ACLKXCTL=(0x0 << 7) |(0x0 << 6) |(0x0 << 5) |(0);
AHCLKXCTL=(0x0 << 15) |(0x0 << 14) |(0);
XTDM=0x0000ffffu;
XINTCTL=0;
XCLKCHK= (1<< 24) |(0XFF << 16) |(0X00 << 8) |0 ;SRCTL0=(0x0 << 5) |(0x1 << 4) |(0x3 << 2) |(2);
SRCTL1=(0x0 << 5) |(0x1 << 4) |(0x3 << 2) |(1);PFUNC=0;
PDIR=(0x00 << 28) | (0x0 << 26) | 0x2;
DITCTL=0;
DLBCTL=0;
RSTAT=0x0000ffff;
XSTAT=0x0000ffff;//后依次使能收发高频时钟分频器,收发时钟分频器,收发串行器,收发状态机,收发帧同步。
//————————————————————————————————————————————————
yongqing wang:
回复 enki_fang:
看看这个帖子:e2echina.ti.com/…/46555