3024|0

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MCBSP 配置IIS不正常 [复制链接]

ADC芯片是24bit的PCM4201,配置MCBSP 都不能正常工作,于是求助,搞了好几天了,新手。

DSP型号:TMS320VC5509A MCBSP通过CLKX1引脚向MCBSP1提供25MHZ时钟。

原理图:(见图片,DSP的MCBSP接法)
PCM4201接法:(从器件  SCKI =25MHZ; CLKX1,FSX1由DSP提供)(见图片,PCM4201 ADC)

DSP MCBSP配置:

MCBSP_Config Mcbsp_config1 =
{
MCBSP_SPCR1_RMK(
MCBSP_SPCR1_DLB_OFF, /* DLB = 0,禁止自闭环方式 */
MCBSP_SPCR1_RJUST_LZF, /* RJUST = 2 */
MCBSP_SPCR1_CLKSTP_DISABLE, /* CLKSTP = 0 */
MCBSP_SPCR1_DXENA_OFF, /* DXENA = 1 */
0, /* ABIS = 0 */
MCBSP_SPCR1_RINTM_RRDY, /* RINTM = 0 */
MCBSP_SPCR1_RSYNCERR_NO, /* RSYNCER = 0 */
MCBSP_SPCR1_RRST_DISABLE /* RRST = 0 */
),
MCBSP_SPCR2_RMK(
MCBSP_SPCR2_FREE_NO, /* FREE = 0 */
MCBSP_SPCR2_SOFT_NO, /* SOFT = 0 */
MCBSP_SPCR2_FRST_FSG, /* FRST = 0*/
MCBSP_SPCR2_GRST_CLKG, /* GRST = 0 */
MCBSP_SPCR2_XINTM_XRDY, /* XINTM = 0 */
MCBSP_SPCR2_XSYNCERR_NO, /* XSYNCER = N/A */
MCBSP_SPCR2_XRST_DISABLE /* XRST = 0 */
),


MCBSP_RCR1_RMK(
MCBSP_RCR1_RFRLEN1_OF(3), // RFRLEN1 = 1 //
MCBSP_RCR1_RWDLEN1_32BIT // RWDLEN1 = 2 //
),

MCBSP_RCR2_RMK(
MCBSP_RCR2_RPHASE_SINGLE, // RPHASE = 0 //
MCBSP_RCR2_RFRLEN2_OF(3), // RFRLEN2 = 0 //
MCBSP_RCR2_RWDLEN2_32BIT, // RWDLEN2 = 0 //
MCBSP_RCR2_RCOMPAND_MSB, // RCOMPAND = 0 //
MCBSP_RCR2_RFIG_NO, // RFIG = 0//
MCBSP_RCR2_RDATDLY_1BIT // RDATDLY = 1 //
),

MCBSP_XCR1_RMK(
MCBSP_XCR1_XFRLEN1_OF(3), //XFRLEN1 = 1 //
MCBSP_XCR1_XWDLEN1_32BIT //XWDLEN1 = 2 //

),
MCBSP_XCR2_RMK(
MCBSP_XCR2_XPHASE_SINGLE, // XPHASE = 0 //
MCBSP_XCR2_XFRLEN2_OF(3), // XFRLEN2 = 0//
MCBSP_XCR2_XWDLEN2_32BIT, // XWDLEN2 = 0 //
MCBSP_XCR2_XCOMPAND_MSB, // XCOMPAND = 0 //
MCBSP_XCR2_XFIG_NO, // XFIG = 0 //
MCBSP_XCR2_XDATDLY_1BIT // XDATDLY = 1 //
),

MCBSP_SRGR1_RMK(
63,
3 // WHEN CLKSM=0 39 WHEN CLKSM=1
),
MCBSP_SRGR2_RMK(
127, //fper
MCBSP_SRGR2_FSGM_FSG,// FSGM=1 FSR BY MCBSP
MCBSP_SRGR2_CLKSM_INTERNAL,// CLKSM=0
0,
MCBSP_SRGR2_GSYNC_FREE// IF GSYNC=0 FSG=FOER+1
),
MCBSP_MCR1_DEFAULT,
MCBSP_MCR2_DEFAULT,

MCBSP_PCR_RMK(
MCBSP_PCR_IDLEEN_RESET, // IDLEEN = 0
MCBSP_PCR_XIOEN_SP, // XIOEN = 0
MCBSP_PCR_RIOEN_SP, //RIOEN = 0
MCBSP_PCR_FSXM_INTERNAL, // FSXM =1
MCBSP_PCR_FSRM_INTERNAL, // FSRM = 1
0, // DXSTAT = N/A
MCBSP_PCR_CLKXM_OUTPUT, // CLKXM = 1
MCBSP_PCR_CLKRM_OUTPUT, // CLKRM = 1
MCBSP_PCR_SCLKME_BCLK, // SCLKME =1
MCBSP_PCR_FSXP_ACTIVEHIGH, // FSXP = 0
MCBSP_PCR_FSRP_ACTIVEHIGH, // FSRP = 0
MCBSP_PCR_CLKXP_FALLING, // CLKXP = 0
MCBSP_PCR_CLKRP_FALLING// CLKRP =0
),
MCBSP_RCERA_DEFAULT,
MCBSP_RCERB_DEFAULT,
MCBSP_RCERC_DEFAULT,
MCBSP_RCERD_DEFAULT,
MCBSP_RCERE_DEFAULT,
MCBSP_RCERF_DEFAULT,
MCBSP_RCERG_DEFAULT,
MCBSP_RCERH_DEFAULT,
MCBSP_XCERA_DEFAULT,
MCBSP_XCERB_DEFAULT,
MCBSP_XCERC_DEFAULT,
MCBSP_XCERD_DEFAULT,
MCBSP_XCERE_DEFAULT,
MCBSP_XCERF_DEFAULT,
MCBSP_XCERG_DEFAULT,
MCBSP_XCERH_DEFAULT
};

初始化:


//配置寄存器和启动发送 IIS模式 主设备
hMcbsp1 = MCBSP_open(MCBSP_PORT1, MCBSP_OPEN_RESET);
MCBSP_config(hMcbsp1,&Mcbsp_config1);
delay_ms(1);
MCBSP_start(hMcbsp1, MCBSP_RCV_START | MCBSP_XMIT_START, 0);
MCBSP_getConfig(hMcbsp1,&Mcbsp_config1test);

//复位PCM4201
asm(" BCLR XF");
delay_ms(1);
asm(" BSET XF");
}

简单的读写IIS
void IIS_process(void)
{

while(!MCBSP_xrdy(hMcbsp1));
MCBSP_write32(hMcbsp1,0);

}

问题描述:按照上面的配置IIS时序中的FSX/R 时序不正常

异常时序图:第2行时序不正常,第一行为CLKX=6.25MHZ,第二行为FSX/R 应该为48K左右
(见不正常时序的图片)
测试别人程序的时序(我没有这个程序例子,CLKX=6.25MHZ  FSX/R=48.8K  CLKX=128*FSX/R;FSX/R宽度=64CLKX时钟)

QQ截图20150513170002.png (34.5 KB, 下载次数: 0)

DSP MCBSP连接原理图

DSP MCBSP连接原理图

QQ截图20150513165909.png (38.12 KB, 下载次数: 0)

PCM4201 ADC连接图

PCM4201 ADC连接图

QQ截图20150513170243.png (9.91 KB, 下载次数: 0)

不正常时序

不正常时序

QQ截图20150513171042.png (7.34 KB, 下载次数: 0)

别人的正常时序

别人的正常时序
点赞 关注
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表