您好,我想通过tlv320aic3204(主)采集声音然后给c5535(从)进行处理,通过示波器可以看到aic3204的DOUT口有波形输出,但是我仿真时看c5535的i2s模块的数据接收寄存器一直是0没有任何变化。I2S的配置如下,请问有么有什么问题?
hI2s = I2S_open(I2S_INSTANCE, DMA_POLLED, I2S_CHAN_STEREO);
if(NULL == hI2s)
{
status = CSL_ESYS_FAIL;
return (status);
}
else
{
printf ("I2S Module Instance opened successfully\n");
}
if(NULL == hI2s)
{
status = CSL_ESYS_FAIL;
return (status);
}
else
{
printf ("I2S Module Instance opened successfully\n");
}
if (I2S_INSTANCE0 == I2S_INSTANCE)
{
status = SYS_setEBSR(CSL_EBSR_FIELD_SP0MODE,
CSL_EBSR_SP0MODE_1);
}
else
{
status = SYS_setEBSR(CSL_EBSR_FIELD_PPMODE,
CSL_EBSR_PPMODE_6);
}
{
status = SYS_setEBSR(CSL_EBSR_FIELD_SP0MODE,
CSL_EBSR_SP0MODE_1);
}
else
{
status = SYS_setEBSR(CSL_EBSR_FIELD_PPMODE,
CSL_EBSR_PPMODE_6);
}
if(CSL_SOK != status)
{
printf("SYS_setEBSR failed\n");
return (status);
}
{
printf("SYS_setEBSR failed\n");
return (status);
}
/* Set the value for the configure structure */
hwConfig.dataFormat = I2S_DATAFORMAT_LJUST;
hwConfig.dataType = I2S_STEREO_ENABLE;
hwConfig.loopBackMode = I2S_LOOPBACK_DISABLE;
hwConfig.fsPol = I2S_FSPOL_LOW;
hwConfig.clkPol = I2S_RISING_EDGE;//I2S_FALLING_EDGE;
hwConfig.datadelay = I2S_DATADELAY_ONEBIT;
hwConfig.datapack = I2S_DATAPACK_DISABLE;
hwConfig.signext = I2S_SIGNEXT_DISABLE;
hwConfig.wordLen = I2S_WORDLEN_16;
hwConfig.i2sMode = I2S_SLAVE;
hwConfig.clkDiv = I2S_CLKDIV2; // don't care for slave mode
hwConfig.fsDiv = I2S_FSDIV32; // don't care for slave mode
hwConfig.FError = I2S_FSERROR_DISABLE;
hwConfig.OuError = I2S_OUERROR_DISABLE;
hwConfig.dataFormat = I2S_DATAFORMAT_LJUST;
hwConfig.dataType = I2S_STEREO_ENABLE;
hwConfig.loopBackMode = I2S_LOOPBACK_DISABLE;
hwConfig.fsPol = I2S_FSPOL_LOW;
hwConfig.clkPol = I2S_RISING_EDGE;//I2S_FALLING_EDGE;
hwConfig.datadelay = I2S_DATADELAY_ONEBIT;
hwConfig.datapack = I2S_DATAPACK_DISABLE;
hwConfig.signext = I2S_SIGNEXT_DISABLE;
hwConfig.wordLen = I2S_WORDLEN_16;
hwConfig.i2sMode = I2S_SLAVE;
hwConfig.clkDiv = I2S_CLKDIV2; // don't care for slave mode
hwConfig.fsDiv = I2S_FSDIV32; // don't care for slave mode
hwConfig.FError = I2S_FSERROR_DISABLE;
hwConfig.OuError = I2S_OUERROR_DISABLE;
/* Configure hardware registers */
status = I2S_setup(hI2s, &hwConfig);
if(status != CSL_SOK)
{
return (status);
}
else
{
printf ("I2S Module Configured successfully\n");
}
status = I2S_setup(hI2s, &hwConfig);
if(status != CSL_SOK)
{
return (status);
}
else
{
printf ("I2S Module Configured successfully\n");
}
Kailyn Chen:
您好,您的这个问题建议您到“数字信号处理器DSP"版块咨询下DSP的工程师,看是否有C5535的例程参考一下。