微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 能否将一个音频芯片(TLV320AIC3101)的输入与输出端口的左右声道分开使用?

能否将一个音频芯片(TLV320AIC3101)的输入与输出端口的左右声道分开使用?

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

产品采用DM8168作为主控,接TLV320AIC3101,在linux下用ALSA驱动。

现在希望:

1.把音频的左右声道分开利用,即 MIC/LINE IN 的L和R分别接两个不同的麦克风,然后同时说话,想分别获取这两组声音数据。

2.音频回放也分开左右声道,两个应用程序分别播放不同的内容。

请问能否实现?在哪一层作出改动更好?如何解决ALSA设备独占的问题?

感谢!

分时独占, 并列应用是 OS 的长项, 但由于声音的不连续, 可能不是你想要的方式, 是不是应该用混音后合成信号的输出呢? 

你好:

1.AIC3101有6个模拟输入通道,如果按差分算的话,就是3组。如果你想获得两组声音数据,差分的接法,可以接这三组中的两组,两个麦克风可以都接上MicBias引脚即可。电流应该够的,如果你使用的麦克风,要是micbias的电流驱动要是不够,那恐怕就得用外部的bias了。一般供两个是没有问题的。

2.录音回放,分开左右声道,例如DAC_L1 route到LEFT_LOP/M,DAC_R1 route到RIGHT_LOP/M,这些也可以分开,输入和输出都比较灵活。

但是我想你说的分开影噶不是这个意思吧,你是想说两个声道播放不同的音源?两个声道不可以播放两个不同的音源,因为只有一个I2S,同一时刻只有一个输入。

 

也就是说,尽管有3组输入,但是是分时复用,同一时刻送到主控芯片的还是只能有一组数据是吗?

应该要像 @Airwill 所说的,在软件层面混音吧。

我想大概应该是用你所说的方式。

我再描述下需求: 用一个播放程序(mplayer)播一首音乐,默认它会占用声卡的两个声道。现在想让第一个播放进程播第一首音乐,使它在左声道播出,然后开启另一个播放进程播另一首音乐,在右声道播出。

跟平常的混音方式有些区别。

请问有没有人能给出这种混音的指导呢?

你好:

3个通道是可以同时使用的,你把他们的mixer打开,就是在做混音。如果不打开,也就是每一时刻只打开一个,就是一个时候只播放一个应用的的音乐。

我说的是数字输入的是只有一路,只能接受1个I2S,不过可以用TDM格式的,实现时分复用。

请问怎样用TDM设置在一个aic3101里面同时采集三组信号?具体TDM的寄存器设置怎样?

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

网站地图

Top