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.

请教关于TLV320AIC3101 MONO 采集的问题

Other Parts Discussed in Thread: TLV320AIC3101

最近在调试DM365+AIC3101音频的问题,使用内核是LINUX 2.6.18, 采用MIC输入. 立体声已经可以正常采集.但是我现在想使用单声道采集声音,这款芯片是否支持?有哪些寄存器需要配置 ?

谢谢!!

  • 你好:

            AIC3101立体声采集没有问题那说明单声道也没有问题。只需要将其中一端的输入不连接即开。

  • 谢谢DEREK的回复,我的原理图见附件.实际上我现在应用层PCM的设置都是使用的单声道的,但是出来的数据是立体声的.我把PCM数据保存播放,要选择立体声才能正常,对音频这一块我不懂,想请教一点就是单单从硬件上接单声道就可以了吗?AIC3101这端不需要再进行其他配置了?为什么我设置的单声道出来的声音要使用立体声才能正常播放.

    谢谢!!

  • 你好:

             要从硬件软件两方面配置,首先硬件连接成单端的方式,软件配置根据你的需要配置。你说选择立体声是指配置的哪里?你的输出是哪里输出?

  • 这个是我的原理图的接法.

    驱动我使用的DM365默认内核的驱动 TLV320AIC3X.C,见附件.我只修改了输入部分的配置,MIC3L/R -> L-PGA和AGC,其他的

    我都没有动过.见附件键我在TLV320AIC3101 芯片的DATASHEET里面没有看到关于设置MONO相关的寄存器,全靠猜测试.

    应用层音频相关的配置如下,之前使用DM365内置音频CODEC的时候这程序是可以正常工作的,采集的数据为单声道.

    /* Signed 16-bit little-endian format */
    snd_pcm_hw_params_set_format(pPcm->pPcmCaptureFd, pPcm->pcmHwParamsCapture, SND_PCM_FORMAT_S16_LE);

    /* Two channels (stereo) / One channles (Mono) */
    channels = 1;
    snd_pcm_hw_params_set_channels(pPcm->pPcmCaptureFd,pPcm->pcmHwParamsCapture, channels);

    但我 snd_pcm_readi 读到的数据保存成文件之后,播放要使用立体声才能正常,使用单声道就不正常.

    现在我的问题是,在驱动里面应该如果配置寄存器,才能让我采集的音频数据出来就是单声道的数据.

    DATASHEET中有提过把一边的ADC关掉,但是我试过了还是不行,希望你能给出一个参考寄存器的值.

    谢谢!!

  • 你好:

             你的MIC是接在MIC2L/R上的,你改MIC3L/R没用哦。你的连接方式只连接HPL不就是mono了?还是你要差分的输出?

  • 不意思,昨天没有给头文件,实际上那个寄存器的宏是对应的MIC2R/L的,见附件头文件.

    我是想采集(record)的数据是mono的,播放也是MONO的.

    我没有找到对应设置的寄存器,17和18设置是否正确.麻烦你帮我看一下应该怎么配置.

    另你那有没有针对 AIC3101的LINUX驱动,或者寄存器的配置指导文档.可否发我一份.我对音频非常的不了解.

    谢谢!!

    tlv320aic3x.h
  • 你好:

             如果你要单端,软件配置方法:

             配置信号只进入一个ADC,MIC2L/LINE2L 0000: Input level control gain = 0 dB. MIC2R/LINE2R is not connected to the left-ADC PGA.

             Register 17 为0x0F

             另外一个ADC不连接:MIC2R/LINE2R is not connected to right-ADC PGA.

             Register 18 为0xFF

             硬件方法:

             直接切断你要进入的信号源的线。

             

  • 请问如果 17.  18 都是FF代表什么?