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.

[参考译文] TLV320AIC34:采集两条输入线路作为单独的通道

Guru**** 2482105 points
Other Parts Discussed in Thread: TLV320AIC34

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/850344/tlv320aic34-acquire-two-input-lines-as-separate-channels

器件型号:TLV320AIC34

您好!

我在基于 Nvidia Jetson TX2-4GB 的定制板上测试 TLV320AIC34。
这是我的原理图:

我正在使用 Linux 内核4.9.140、并配置了设备树、以安装一个 ALSA 卡、其中包含两个单独的编解码器(A 和 B)、每个编解码器使用不同的 I2S 线路。 为系统配置的编解码器驱动程序是 tlv320aic3x。

到目前为止、我已经使用了'I2S 模式'、并且能够在 HPLOUT 线路(A 和 B)上播放音频文件、还能够从 A 和 B 上的 LINE1L 和 LINE2L 中采集声音

通过这种方式、当我同时在同一编解码器上捕获 LINE1L 和 LINE2L 时、我会记录一个单通道、该通道将左侧的两个输入混合在一起。
是否有办法在 I2S 的正确通道上对其中一条输入线路(即 LINE2L)进行内部重新路由、以便我可以将其拆分为两个不同的单通道?

我是否必须在 I2S 线路上配置"dsp_a mode"才能这样做?

Hereaftter 电路板上当前使用的 ALSA 脚本可供参考:


!/bin/bash
amixer -c tegrasound cset name="ADMAIF5 Mux" I2S1
amixer -c tegrasound cset name="ADMAIF5 channels" 2.
amixer -c tegrasound cset name="ADMAIF5 Capture sideo to mono conv" CH0
amixer -c tegrasound cset name="ADMAIF6 Mux" I2S1
amixer -c tegrasound cset name="ADMAIF6 channels" 2.
amixer -c tegrasound cset name="ADMAIF6 Capture sideo to mono conv" CH1
amixer -c tegrasound cset name="I2S1 channels" 2.
amixer -c tegrasound cset name='VC1 Mute' 0
amixer -c tegrasound cset name='AMC2 Mute' 0
amixer -c tegrasound cset name='a PGA Capture Switch' 1.
amixer -c tegrasound cset name='a PGA Capture Volume' 0%
amixer -c tegrasound cset name='a HPCOM Playback Switch' 0
amixer -c tegrasound cset name='a Line Playback Switch' 0
amixer -c tegrasound cset name='a HP Playback Switch' 0
amixer -c tegrasound cset name='a PCM Playback Volume' 0%
amixer -c tegrasound cset name='a HP DAC Playback Volume' 0%
amixer -c tegrasound cset name='a HPCOM DAC Playback Volume' 0%.
amixer -c tegrasound cset name='a left HP Mixer DACR1 Playback Volume' 0%
amixer -c tegrasound cset name='A left HPCOM Mixer DACR1 Playback Volume' 0%.
amixer -c tegrasound cset name='A left PGA Mixer Line2L Switch' 1.
amixer -c tegrasound cset name='a Mono Mixer Line2L Bypass Switch' 0
amixer -c tegrasound cset name='a left Line1L Mux' 1.
amixer -c tegrasound cset name='a left Line2L Mux' 1.


amixer -c tegrasound cset name="ADMAIF7 Mux" I2S2
amixer -c tegrasound cset name="ADMAIF7 channels" 2.
amixer -c tegreasound cset name="ADMAIF7 Capture sideo to mono conv" CH0
amixer -c tegreasound cset name="ADMAIF8 Mux" I2S2
amixer -c tegrasound cset name="ADMAIF8 channels" 2.
amixer -c tegreasound cset name="ADMAIF8 Capture sideo to mono conv" CH1
amixer -c tegrasound cset name="I2S2 channels" 2.
amixer -c tegrasound cset name='VC1 Mute' 0
amixer -c tegrasound cset name='AMC2 Mute' 0
amixer -c tegrasound cset name='b PGA Capture Switch' 1.
amixer -c tegrasound cset name='b PGA Capture Volume' 0%
amixer -c tegrasound cset name='b HPCOM Playback Switch' 0
amixer -c tegrasound cset name='b Line Playback Switch' 0
amixer -c tegrasound cset name='b HP Playback Switch' 0
amixer -c tegrasound cset name='b PCM Playback Volume' 0%
amixer -c tegrasound cset name='b HP DAC Playback Volume' 0%
amixer -c tegrasound cset name='b HPCOM DAC Playback Volume' 0%.
amixer -c tegrasound cset name='b Left HP Mixer DACR1 Playback Volume' 0%
amixer -c tegrasound cset name='b Left HPCOM Mixer DACR1 Playback Volume' 0%
amixer -c tegrasound cset name='b Left PGA Mixer Line2L Switch' 1.
amixer -c tegrasound cset name='b Mono Mixer Line2L Bypass Switch' 0
amixer -c tegrasound cset name='b Left Line1L Mux' 1.
amixer -c tegrasound cset name='b Left Line2L Mux' 1.


arecord -D hw:tegrastound、4 -c 1 -t wav -r 48000 -f S16_LE ./Music/revA-1.wav &
arecord -D hw:tegrastound、5 -c 1 -t wav -r 48000 -f S16_LE ./Music/recA-2.wav &
arecord -D hw:tegrastound、6 -c 1 -t wav -r 48000 -f S16_LE ./Music/recB-1.wav &
arecord -D hw:tegrastound、7 -c 1 -t wav -r 48000 -f S16_LE ./Music/recB-2.wav



谢谢、

Davide  

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

    您好 Davide、

    如果我的理解是正确的、您只是在寻找一种路由方法、例如将 LINE2L 路由到左通道、将 LINE1L 路由到右通道? 如果是、可以。 您可以使用寄存器20将 LINE2L 路由到左侧 ADC、使用寄存器24路由 LINE1L 到右侧 ADC。  

    此致、

    Aaron

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

    感谢它的工作!

    不过、我在记录的样本中有-0.5的"移位"、您知道什么原因会导致这种情况吗?

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

    您好 Davide、

    看起来像一些直流失调电压。 您可以使用 reg 启用 ADC 高通滤波器。 12、PG。 0、请告诉我这是否有用!

    此致、
    Aaron