This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TLV320AIC23B:模拟ADC左/右I2S通道以测试驱动器音频交换的问题

Guru**** 2463330 points
Other Parts Discussed in Thread: TLV320AIC23B

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/767708/tlv320aic23b-problem-muting-adc-left-right-i2s-channels-to-test-for-driver-audio-swap

部件号:TLV320AIC23B

我使用的是一种使用TLV320AIC23b作为ADC接口的电路板设计,它通过MCASP接口连接到TI部件。  我们发现,处理器音频堆栈中的某些内容在启动时将不可预测地交换L2左/右通道。  我一直无法解决交换问题,因此我们解决了在ADC和处理器之间具有FPGA的一些其他设计,以便使用FPGA插入测试模式来测试和纠正此问题。   

使用直接的tlv->MCASP接口,我们无法插入测试模式,因此我的想法是尝试在ADC中将左侧或右侧静音,但这似乎不起作用。  我使用以下shell脚本设置芯片并获取测试音频文件:

tlv_addr=0x1a

tlv_write_reg ()
{
	reg_addr=1美元
	reg_LS8=2美元 #low 8 bits
	reg_MSB=3美元

	i2c_addr=$($($($($($($($($(${reg_addr}<1))|${reg_MSB}))

	设置-x
	i2cset -f $_lv_adr=0美元}{rendr_resetr_1}{rendr_{1}{r_r_reset}{<1}}{rendr_{r}}}{r_{r_laddr}}}}}}{{{r_
	




睡眠1
tlv_write_reg 0 0x1f 0 #left mute,no simultaneous update tlv_write_reg 1 0x80 0 #right update tlv_write_reg 1 0x80 0 #right phoner tlv_write_reg 4 0x02 0 #Disable DAC,disable side tone,disable bypass,Line in selected mute 无麦克风升压 tlv_write_reg 5 0x00 0 #禁用:DAC软静音,取消强调,ADC高通 tlv_write_reg 6 0x0a 0 #开机,时钟打开,OSC打开,输出打开,DAC关闭, ADC打开,麦克风关闭,线路输入打开 tlv_write_reg 7 0x4e 0 #Master模式,无LRSwap,无相位交换,32b I2S tlv_write_reg 8 0x00 0 #div中无clk,SR=48K,BOSR=256f_s,正常模式(非USB) tlv_write_reg 9 0x01 0 #activate digital interface arecord -D hw:0,0 -d5 -fS32_LE -C2 -r4.8万 test_liveswap.raw & sle2 tlv_write_reg 0 0x80 0 #left mute,no simultaneous update tlv_write_reg 1 0x1f 0 #right full volume,no simultaneous update #bit noise to see lower channels。 当处理器接口处于活动状态时,我们必须交换#,因为重 置MCASP接口 时,它将不可预测地#swap l/r,等待$!

由于我无法保证模拟输入上的任何实际活动,因此计划在32位模式下捕获一个信道静音的情况,并希望板上有足够的噪音来导致未静音信道的较低位中的活动。  在检查捕获的音频时,我确实看到了较低位的噪音,但它在两个通道上,在整个录制过程中没有明显的变化。  这里我将它解释为4通道16b音频,以更好地显示较低的位:

当您看到测试记录时,显示两个信道均未有效静音,因此无法在软件中测试信道交换。  是否有某种方法强制所选通道的输出全部为零?  或者,我可以通过其他方式测试MCASP/Linux音频堆栈中的硬件通道交换?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    肖恩,

    这似乎有很多噪音。您是否可以只看看I2S系列? BCK,FSYNC和数据将会很好地显示。

    此致,
    -Steve Wilson