TI论坛
直播中

陈佳敏

7年用户 180经验值
私信 关注
[问答]

请问为什么C5517 I2S配置成slave时,可以正常的发送数据,但是不能接受数据?

使用C5517 EVK开发板,开始时使用开发板开发商的例程,有个验证aic3204的,在这个例子中,使用的I2S的master模式,但是因为I2S所产生的采样频率不满足使用要求,故改为I2S为slave模式,由aic3204提供BCLK和WCLK两个时钟,并且引脚用示波器测量过,频率正常。同时AIC3204的DOUT也有波形产生,但是DSP没有接收到任何数据,同时也在一直等中断。我改的东西就是aic3204的PLL和NADC、MADC、DOSA,DA同理,将WCLK作为aic3204-PLL的输入,同时加上
AIC3204_rset( 29, 0x01); // BDIV_CLKIN = DAC_MOD_CLK
AIC3204_rset( 30, 0x84); //BCLK N divider powered up and BCLK N divider = 4
并把I2S配置成slave模式,可以发送出数据,但是接收是没有数据,更准确的说Stereo data transmit flag一直处于stereo transmit interrupt pending这个状态。

回帖(2)

陈佳敏

2018-7-30 08:47:39
问题找到了,一个关键的问题是在两个AIC3204的程序转换当中,没有把相对应的寄存器转换过来,导致,使用i2S0时,使用I2S2的寄存器及中断标志位。
至于问什么会在两个芯片之间转换,仅仅只是为了测验BCLK,WCLK从AIC3204中输出所需的频率。其中一个测量点被挡住,没发测量。
举报

余少虹

2018-7-30 09:02:57
引用: 60user117 发表于 2018-7-30 08:47
问题找到了,一个关键的问题是在两个AIC3204的程序转换当中,没有把相对应的寄存器转换过来,导致,使用i2S0时,使用I2S2的寄存器及中断标志位。
至于问什么会在两个芯片之间转换,仅仅只是为了测验BCLK,WCLK从AIC3204中输出所需的频率。其中一个测量点被挡住,没发测量。 ...

谢谢分享!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分