TI中文支持网
TI专业的中文技术问题搜集分享网站

TLV320AIC23b 和c5509的数据接口问题

LRCIN 不是应该和 FSX0 相连接吗? 请问这样连接时数据接口的什么模式????

Derek Xie:

在C5509中有RX和TX,如果你的时钟接在RX说明你的Codec为主,而如果是接在TX说明codec是从。但你实际的连接可以两个都连,这样根据需要自己配置主从。

Jim Green3:

回复 Derek Xie:

aic23的mode引脚电平决定它的工作模式,此处为低,所以工作在2线模式,此模式下aic23只能是从设备。所以没有主从模式选择的问题。

Derek Xie:

回复 Jim Green3:

你好:

          你说的主从是谁控制谁被控制是根据I2C来说的,由于AIC23需要外部器件来配置,所以以这种说法只能当从。

         我说的主从是针对I2S总线来说的。因为BCLK和WCLK是双向的,而在DSP上这个双向的时候是被两个引脚分开了。

Jim Green3:

回复 Derek Xie:

谢谢您的回答。

听了您的解释,我上传的图片上的连接应该是I2S模式。

我在网络上下载了aic23b的data manuual,上面的内容对于aic23b的数据接口在又判断模式、左判断模式、I2S模式和DSP模式下和DSP芯片之间如何连接没有提及。请问您有这方面的资料吗?如果有的话,希望能发送到我的邮箱warlordy@qq.com或是给出资料的网络链接。

我还是这方面的新手,多谢您的回答。

Derek Xie:

回复 Jim Green3:

你好:

         I2S接口有你所说的那几种模式,其实这些模式的连接是大致相同的。只要保证AIC23和DSP配置的模式一致就可以了。

Jim Green3:

回复 Derek Xie:

我目前尚在读研,问题还很肤浅。谢谢你的回答。

所以也就是说当控制接口在2线模式下时,数据接口就只能是I2S模式么?如果不是,那么控制接口SPI模式时,对应着数据接口哪些模式,当控制接口为2线模式时,又对应着数据接口哪些模式呢?

这些东西data manual上都没有。

Derek Xie:

回复 Jim Green3:

你好:

            可能我的回答让你误解了。其实I2C和SPI是控制总线,而I2S是数据总线。无论是控制总线怎么样的 ,你的数据总线是不会变的。

Jim Green3:

回复 Derek Xie:

我其实就2个问题

1,根据aic23b的data manual,当mode引脚为低电平时,aic23b工作于2线模式,只能是从设备。但是在该图中aic23b明显是主设备。所以在实际开发中,data manual究竟处于什么样的一个位置,是否一直可信2,aic23b支持4种数据接口模式,即有4种工作时序。但是data manual却没有告诉我如何设置这四种数据接口模式,当我看到原理图时,也就无从判断该选哪种时序了。谢谢

Hongqiong Tang:

回复 Derek Xie:

 你好

请问你知道为什么我把AIC23B设置成Master,为什么BCLK引脚没有输出吗?AIC23B和DSP5509A之间我是配置成DSP模式的。

这是我的AIC23B配置:

Uint16 left_line_input_volume_control[2] = {0x00,0x00}; /*AIC23左通音量调节?*/Uint16 right_line_input_volume_control[2] = {0x02,0x00}; /*AIC23右通路音频调节*/Uint16 left_headphone_volume_control[2] = {0x05,0xFF}; /*AIC23耳机左通路音频调节*/Uint16 right_headphone_volume_control[2] = {0x07,0xFF}; /*AIC23耳机右通路音频调节*/Uint16 analog_audio_path_control[2] = {0x08,0x15}; /*AIC23模拟音频的控制DAC使能,ADC输入选择为MIC*/Uint16 digital_audio_path_control[2] = {0x0a,0x05}; /*AIC23数字音频通路的控制*/Uint16 power_down_control[2] = {0x0c,0x00}; /*AIC23节电方式设置,所有部分均所与工作状态*/Uint16 digital_audio_interface_format[2] = {0x0e,0x43}; /*AIC23为主模式,数据为DSP模式,数据长度16位*/Uint16 sample_rate_control[2] = {0x10,0x22}; /*AIC23的采样率设置,采样率为44.1K*/Uint16 digital_interface_activation[2] = {0x12,0x01}; /*AIC23数字接口的激活*/Uint16 reset[2] = {0x1e,0x00}; /*AIC23寄存器复位*/

这是我的MCBSP配置:

MCBSP_Config ConfigAI2C = { MCBSP_SPCR1_RMK( MCBSP_SPCR1_DLB_OFF, /* DLB = 0,串口工作在正常方式 */ MCBSP_SPCR1_RJUST_LZF, /* RJUST = 2 ,左对齐,LSB补零*/ MCBSP_SPCR1_CLKSTP_DISABLE, /* CLKSTP = 0, 时钟停止模式无效,非SPI模式下为正常时钟*/ MCBSP_SPCR1_DXENA_ON, /* DXENA = 1,DX引脚有效 */ 0, /* ABIS = 0 ,A-bis模式无效*/ MCBSP_SPCR1_RINTM_RRDY, /* RINTM = 0 ,RINT由RRAY(字尾)和ABIS模式的帧为驱动*/ 0, /* RSYNCER = 0 ,没有接受同步错误*/ MCBSP_SPCR1_RRST_DISABLE /* RRST = 0 ,接收器无效,处于复位状态*/ ), MCBSP_SPCR2_RMK( MCBSP_SPCR2_FREE_NO, /* FREE = 0 ,如果SOFT=0,立即停止窗口时钟,结束传送数据*/ MCBSP_SPCR2_SOFT_NO, /* SOFT = 0 */ MCBSP_SPCR2_FRST_FSG, /* FRST = 0 帧同步逻辑复位,帧同步信号FSG不由采样率发生器提供*/ MCBSP_SPCR2_GRST_CLKG, /* GRST = 0 采样率发生器复位*/ MCBSP_SPCR2_XINTM_XRDY, /* XINTM = 0 XINT由XRDY驱动(即字尾)和A-bis模式的帧尾产生*/ 0, /* XSYNCER = N/A 没有发送同步错误*/ MCBSP_SPCR2_XRST_DISABLE /* XRST = 0 串口发送器无效,处于复位状态*/ ), MCBSP_RCR1_RMK( MCBSP_RCR1_RFRLEN1_OF(1), /* RFRLEN1 = 1 每帧1个字*/ MCBSP_RCR1_RWDLEN1_16BIT /* RWDLEN1 = 2 每字16 bits*/ ),

MCBSP_RCR2_RMK( MCBSP_RCR2_RPHASE_SINGLE, /* RPHASE = 0 单相帧*/ MCBSP_RCR2_RFRLEN2_OF(0), /* RFRLEN2 = 0 每帧1个字*/ MCBSP_RCR2_RWDLEN2_16BIT, /* RWDLEN2 = 0 每字8bits*/ MCBSP_RCR2_RCOMPAND_MSB, /* RCOMPAND = 0 无压缩/解压,数据传输从MSB 开始*/ MCBSP_RCR2_RFIG_YES, /* RFIG = 0 第一个接收帧同步脉冲之后的帧同步脉冲重新启动数据传输*/ MCBSP_RCR2_RDATDLY_0BIT /* RDATDLY = 1 1-bit数据延迟*/ ), MCBSP_XCR1_RMK( MCBSP_XCR1_XFRLEN1_OF(1), /* XFRLEN1 = 1 每帧1个字*/ MCBSP_XCR1_XWDLEN1_16BIT /* XWDLEN1 = 2 每个字16bits*/ ), MCBSP_XCR2_RMK( MCBSP_XCR2_XPHASE_SINGLE, /* XPHASE = 0 单相帧*/ MCBSP_XCR2_XFRLEN2_OF(0), /* XFRLEN2 = 0 每帧一个字*/ MCBSP_XCR2_XWDLEN2_16BIT, /* XWDLEN2 = 0 每字8bits*/ MCBSP_XCR2_XCOMPAND_MSB, /* XCOMPAND = 0 无压缩/解压,数据传输从MSB 开始*/ MCBSP_XCR2_XFIG_YES, /* XFIG = 0 第一个接收帧同步脉冲之后的帧同步脉冲重新启动数据传输*/ MCBSP_XCR2_XDATDLY_0BIT /* XDATDLY = 1 1-bit数据延迟*/ ), MCBSP_SRGR1_DEFAULT, MCBSP_SRGR2_DEFAULT, MCBSP_MCR1_DEFAULT, MCBSP_MCR2_DEFAULT, MCBSP_PCR_RMK( MCBSP_PCR_IDLEEN_RESET, /* IDLEEN = 0 */ MCBSP_PCR_XIOEN_SP, /* XIOEN = 0 DX,FSX,CLKX被设置为串口引脚*/ MCBSP_PCR_RIOEN_SP, /* RIOEN = 0 DR,FSR,CLKR被设置为串口引脚*/ MCBSP_PCR_FSXM_EXTERNAL, /* FSXM = 0 帧同步信号由外部驱动源驱动*/ MCBSP_PCR_FSRM_EXTERNAL, /* FSRM = 0 帧同步信号由外部期间提供;FSR为输入引脚*/ MCBSP_PCR_CLKXM_INPUT, /* CLKXM = 0 发送时钟有外部时钟驱动,CLKX为输入引脚*/ MCBSP_PCR_CLKRM_INPUT, /* CLKRM = 0 接收时钟有外部时钟驱动,CLKR为输入引脚*/ MCBSP_PCR_SCLKME_NO, /* SCLKME = 0 */ 0, /* DXSTAT = N/A */ MCBSP_PCR_FSXP_ACTIVEHIGH, /* FSXP = 0 帧同步FSX高电平有效*/ MCBSP_PCR_FSRP_ACTIVEHIGH, /* FSRP = 1 帧同步FSX高电平有效*/ MCBSP_PCR_CLKXP_FALLING, /* CLKXP = 1 在CLKX下降沿对发送数据采样*/ MCBSP_PCR_CLKRP_FALLING /* CLKRP = 1 在CLKR上升沿对接收数据采样*/ ), 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};

赞(0)
未经允许不得转载:TI中文支持网 » TLV320AIC23b 和c5509的数据接口问题
分享到: 更多 (0)