微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > TLV320AIC23b 和c5509的数据接口问题

TLV320AIC23b 和c5509的数据接口问题

时间:10-02 整理:3721RD 点击:

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

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

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

你好:

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

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

谢谢您的回答。

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

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

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

你好:

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

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

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

这些东西data manual上都没有。

你好:

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

我其实就2个问题

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

你好:

    1.你说的2线模式是I2C控制模式,这个是控制信号(SCL和SDA)。而对于(LRCK,BCLK)这些信号时I2S的数据信号。

    2.通常和AIC23相连的设备能支持什么格式,AIC23就配置成什么格式。和DSP连的时候会配置为DSP模式。

 你好

请问你知道为什么我把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
};

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top