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.
工具/软件:Linux
【芯片型号】:
TLV320AIC3104
【平台】:
Qualcomm MDM9607
【问题描述】:
初始计划:
MIC1左通道输入,RIGHT _LOP/M输出
此解决方案没有问题。
当前修改的计划:
使用了两个通道,即左侧MIC1输入到RIGHT _LOP/M输出,另一个通道是左侧_LOP/M输出的右侧MIC1输入。
两个信道需要根据需要在两个信道之间切换。
从理论上讲,以下四条线路可以控制单个输入的方向,但配置随后不会完全生效。
输入1有两个输入方向,线路1连接到左ADC,线路4连接到右ADC。
输入2有两个输入方向,线路2连接到右ADC,线路3连接到左ADC。
根据我们的需要,一条路径为input1,线路4连接到右ADC,输入2输入路径完全断开。
另一条路径为input2 line 3连接到左ADC,输入1输入路径完全断开。
问题就出现在这里。 当输入1线路4连接到右ADC且所有输入2输入通道均已断开连接时,输入2操作寄存器配置无效,输入1和输入2的声音输入同时从输出通道广播; 使用input2 line 3接收左ADC时,所有断开输入2输入路径,断开输入2操作寄存器配置均不会生效,输入1和输入2输入声音同时从输出通道广播;
下面是我们的寄存器配置:
初始化配置:
Input1通道选择配置:e2e.ti.com/.../TLV320AIC3104_2D00_Q1_5F00_issue.docx
Input2通道选择配置
请帮助检查村民的配置是否有问题。 为什么无法关闭lnput?
尊敬的 先生
您是否了解我们当前的问题?
是否有任何更新?
谢谢
很贵
我的步骤如下:
1.初始化系统引导驱动程序后,将其配置为文档TLV320AIC3104-Q1_issue.docx初始化配置:
2.系统启动后,当您开始进行呼叫时,首先切换信道并执行寄存器配置,如Input1信道选择配置:
另一个通道交换机寄存器配置称为Input2通道选择配置。
谢谢
尊敬的 先生:
我不太理解您需要什么"关于您的测试设置",具体来说,步骤是什么,我已经为您绘制了一个结构图。
以下是所有与编解码器相关的操作流寄存器配置和寄存器转储;
I2S系列的BCLK,Wclk,DIN和DOUT波形在后面提供。
初始编码解码器寄存器:
1)拉出重置GPIO以重置
2)写寄存器:
以下是所有寄存器初始化配置。 其它未配置的寄存器是默认设置的。
{0x00,0x00},//选择第0页
{0x2a,0x9C},//PAGE 0 Register42 Driver Power-On Time 800ms, RAME-UP 4ms
{0x13,0xfc},//R19//IN1LP/IN1LM差分模式和左ADC控制-它应该是差分模式而不是单端模式,否则将创建DC偏移
{0x15,0x80},//R21//IN1RP/IN1RM差分模式和左ADC控制
{0x16,0xfc},//R22//IN1RP/IN1RM差分模式和右ADC控制
{0x18,0xf8},//R24//IN1LP/IN1LM差分模式和右ADC控制
{0x0F,0x00},//注册15左ADC PGA增益
{0x10,0x00},//注册16右ADC PGA增益
{0x07,0x0A},//data path left_dac ->左输入right_dac ->右输入
{0x25,0xc0},//注册37 L/R_DAC电源
{0x2b,0x00}//Page 0寄存器43左DAC数字音量控制
{0x2C, 0x80},//第0页寄存器44右DAC数字音量控制
//{0x51,0x80},//PGA_L至LEFT LOP/M
{0x52,0x80},//DAC_L1至LEFT LOP/M寄存器82
//{0x54,0x80},//PGA_R至LEFT LOP/M
//{0x55,0x80},//DAC_R1到LEFT LOP/M
//{0x56,0x80},//第0页寄存器86左侧_LOP/M音量控制A
//{0x58,0x80},//PGA_L至RIGHT LOP/M
//{0x59,0x80},//DAC_L1至Rright_LOP/M
//{0x5B,0x80},//PGA_R至Rright_LOP/M Page 0注册91
{0x5c,0x80},//DAC_R1到Rright_LOP/M Page 0寄存器92音量控制
//{0x5d,0x80},//第0页注册93 Right_LOP/M音量控制
{0x29,0x50},
配置3104交换机到通道1的寄存器:
[ 2458.619054 ]写入器寄存器0x0 vulae 0x0
[ 2458.622505 ]刻录机寄存器0x13 vulae 0xFC
[ 2458.627621 ]刻录机寄存器0x15 vulae 0xf8
[ 2458.632379 ]刻录机寄存器0x16 vulae 0xFC
[ 2458.637814 ]刻录机寄存器0x18 vulae 0x80
[ 2458.641359 ]刻录机寄存器0x52 vulae 0x80
[ 2458.646045 ]刻录机寄存器0x5c vulae 0x80
[ 2458.650690 ]刻录机寄存器0x29 vulae 0x50
[ 2458.654394 ]刻录机寄存器0x2b vulae 0x80
[ 2458.658821 ]刻录机寄存器0x2C vulae 0x0
调节音量
#语音开始时取消静音
echo 0x56 1 0x6b >${reg_val}
echo 0x5d 1 0x6b >${reg_val}
#mic 20dB
echo 0x0F 1 0x28 >${reg_val}
echo 0x10 1 0x28 >${reg_val}
结束语音
#结束语音前静音
echo 0x56 1 0x02 >${reg_val}
echo 0x5d 1 0x02 >${reg_val}
转储3104寄存器:
[ 2458.673517 ] ti3104_i2c_read_byte:reg[0x0]= 0x0,ret = 2
[ 2458.678321 ]读取寄存器0x0值0x0
[ 2458.990787 ] ti3104_i2c_read_byte:reg[0x1]= 0x0,ret = 2
[ 2458.996204 ]读取寄存器0x1值0x0
[ 2459.309479 ] ti3104_i2c_read_byte:reg[0x2]= 0x0,ret = 2
[ 2459.314431 ]读取寄存器0x2值0x0
[ 2459.630537 ] ti3104_i2c_read_byte:reg[0x3]= 0x10,ret = 2
[ 2459.636404 ]读取寄存器0x3值0x10
[ 2459.950063 ] ti3104_i2c_read_byte:reg[0x4]= 0x4,ret = 2
[ 2459.957723 ]读取寄存器0x4值0x4
[ 2460.270873 ] ti3104_i2c_read_byte:reg[0x5]= 0x0,ret = 2
[ 2460.276337 ]读取寄存器0x5值0x0
[ 2460.592579 ] ti3104_i2c_read_byte:reg[0x6]= 0x0,ret = 2
[ 2460.597582 ]读取寄存器0x6值0x0
[ 2460.909216 ] ti3104_i2c_read_byte:reg[0x7]= 0xA,ret = 2
[ 2460.915380 ]读取寄存器0x7值0xA
[ 2461.227896 ] ti3104_i2c_read_byte:reg[0x8]= 0x0,ret = 2
[ 2461.233386 ]读取寄存器0x8值0x0
[ 2461.545901 ] ti3104_i2c_read_byte:reg[0x9]= 0x0,ret = 2
[ 2461.550536 ]读取寄存器0x9值0x0
[ 2461.863354 ] ti3104_i2c_read_byte:reg[0xA]= 0x0,ret = 2
[ 2461.868103 ]读取寄存器0xA值0x0
[ 2462.181133 ] ti3104_i2c_read_byte:reg[0xb]= 0x1,ret = 2
[ 2462.185946 ]读取寄存器0xb值0x1
[ 2462.501354 ] ti3104_i2c_read_byte:reg[0xc]= 0x0,ret = 2
[ 2462.506160 ]读取寄存器0xc值0x0
[ 2462.818918 ] ti3104_i2c_read_byte:reg[0xd]= 0x0,ret = 2
[ 2462.823655 ]读取寄存器0xd值0x0
[ 2463.138653 ] ti3104_i2c_read_byte:reg[0xe]= 0x0,ret = 2
[ 2463.146259 ]读取寄存器0xe值0x0
[ 2463.459013 ] ti3104_i2c_read_byte:reg[0xF]= 0x0,ret = 2
[ 2463.463610 ]读取寄存器0xF值0x0
[ 2463.776324 ] ti3104_i2c_read_byte:reg[0x10]= 0x0,ret = 2
[ 2463.781014 ]读取寄存器0x10值0x0
[ 2464.093923 ] ti3104_i2c_read_byte:reg[0x11]= 0xff,ret = 2
[ 2464.099078 ]读取寄存器0x11值0xff
[ 2464.413640 ] ti3104_i2c_read_byte:reg[0x12]= 0xff,ret = 2
[ 2464.418586 ]读取寄存器0x12值0xff
[ 2464.732512 ] ti3104_i2c_read_byte:reg[0x13]= 0xFC,ret = 2
[ 2464.737495 ]读取寄存器0x13值0xFC
[ 2465.053643 ] ti3104_i2c_read_byte:reg[0x14]= 0x78,ret = 2
[ 2465.062323 ]读取寄存器0x14值0x78
[ 2465.378718 ] ti3104_i2c_read_byte:reg[0x15]= 0xf8,ret = 2
[ 2465.383516 ]读取寄存器0x15值0xf8
[ 2465.699506 ] ti3104_i2c_read_byte:reg[0x16]= 0xFC,ret = 2
[ 2465.711839 ]读取寄存器0x16值0xFC
[ 2466.028947 ] ti3104_i2c_read_byte:reg[0x17]= 0x78,ret = 2
[ 2466.033785 ]读取寄存器0x17值0x78
[ 2466.350539 ] ti3104_i2c_read_byte:reg[0x18]= 0x80,ret = 2
[ 2466.356793 ]读取寄存器0x18值0x80
[ 2466.668087 ] ti3104_i2c_read_byte:reg[0x19]= 0x6,ret = 2
[ 2466.673642 ]读取寄存器0x19值0x6
[ 2466.986489 ] ti3104_i2c_read_byte:reg[0x1a]= 0x0,ret = 2
[ 2466.991723 ]读取寄存器0x1a值0x0
[ 2467.303717 ] ti3104_i2c_read_byte:reg[0x1b]= 0xFE,ret = 2
[ 2467.310412 ]读取寄存器0x1b值0xFE
[ 2467.623760 ] ti3104_i2c_read_byte:reg[0x1c]= 0x0,ret = 2
[ 2467.628830 ]读取寄存器0x1c值0x0
[ 2467.941113 ] ti3104_i2c_read_byte:reg[0x1d]= 0x0,ret = 2
[ 2467.946099 ]读取寄存器0x1d值0x0
[ 2468.263809 ] ti3104_i2c_read_byte:reg[0x1E]= 0xFE,ret = 2
[ 2468.269658 ]读取寄存器0x1E值0xFE
[ 2468.585553 ] ti3104_i2c_read_byte:reg[0x1f]= 0x0,ret = 2
[ 2468.590520 ]读取寄存器0x1f值0x0
[ 2468.904379 ] ti3104_i2c_read_byte:reg[0x20]= 0x0,ret = 2
[ 2468.911504 ]读取寄存器0x20值0x0
[ 2469.223437 ] ti3104_i2c_read_byte:reg[0x21]= 0x0,ret = 2
[ 2469.228225 ]读取寄存器0x21值0x0
[ 2469.541423 ] ti3104_i2c_read_byte:reg[0x22]= 0x0,ret = 2
[ 2469.546457 ]读取寄存器0x22值0x0
[ 2469.859637 ] ti3104_i2c_read_byte:reg[0x23]= 0x0,ret = 2
[ 2469.864694 ]读取寄存器0x23值0x0
[ 2470.180078 ] ti3104_i2c_read_byte:reg[0x24]= 0x44,ret = 2
[ 2470.186055 ]读取寄存器0x24值0x44
[ 2470.500613 ] ti3104_i2c_read_byte:reg[0x25]= 0xc0,ret = 2
[ 2470.505985 ]读取寄存器0x25值0xc0
[ 2470.820652 ] ti3104_i2c_read_byte:reg[0x26]= 0x0,ret = 2
[ 2470.826085 ]读取寄存器0x26值0x0
[ 2471.137671 ] ti3104_i2c_read_byte:reg[0x27]= 0x0,ret = 2
[ 2471.145991 ]读取寄存器0x27值0x0
[ 2471.458540 ] ti3104_i2c_read_byte:reg[0x28]= 0x0,ret = 2
[ 2471.463870 ]读取寄存器0x28值0x0
[ 2471.776769 ] ti3104_i2c_read_byte:reg[0x29]= 0x50,ret = 2
[ 2471.781606 ]读取寄存器0x29值0x50
[ 2472.094473 ] ti3104_i2c_read_byte:reg[0x2a]= 0x9C,ret = 2
[ 2472.100184 ]读取寄存器0x2a值0x9C
[ 2472.417430 ] ti3104_i2c_read_byte:reg[0x2b]= 0x80,ret = 2
[ 2472.422978 ]读取寄存器0x2b值0x80
[ 2472.736714 ] ti3104_i2c_read_byte:reg[0x2C]= 0x0,ret = 2
[ 2472.742167 ]读取寄存器0x2C值0x0
[ 2473.053482 ] ti3104_i2c_read_byte:reg[0x2D]= 0x0,ret = 2
[ 2473.059266 ]读取寄存器0x2D值0x0
[ 2473.371290 ] ti3104_i2c_read_byte:reg[0x2e]= 0x0,ret = 2
[ 2473.377576 ]读取寄存器0x2e值0x0
[ 2473.689043 ] ti3104_i2c_read_byte:reg[0x2F]= 0x0,ret = 2
[ 2473.693978 ]读取寄存器0x2F值0x0
[ 2474.006320 ] ti3104_i2c_read_byte:reg[0x30]= 0x0,ret = 2
[ 2474.011598 ]读取寄存器0x30值0x0
[ 2474.323657 ] ti3104_i2c_read_byte:reg[0x31]= 0x0,ret = 2
[ 2474.329066 ]读取寄存器0x31值0x0
[ 2474.642648 ] ti3104_i2c_read_byte:reg[0x32]= 0x0,ret = 2
[ 2474.647922 ]读取寄存器0x32值0x0
[ 2474.959930 ] ti3104_i2c_read_byte:reg[0x33]= 0x4,ret = 2
[ 2474.965345 ]读取寄存器0x33值0x4
[ 2475.277705 ] ti3104_i2c_read_byte:reg[0x34]= 0x0,ret = 2
[ 2475.283465 ]读取寄存器0x34值0x0
[ 2475.601150 ] ti3104_i2c_read_byte:reg[0x35]= 0x0,ret = 2
[ 2475.606921 ]读取寄存器0x35值0x0
[ 2475.919254 ] ti3104_i2c_read_byte:reg[0x36]= 0x0,ret = 2
[ 2475.924192 ]读取寄存器0x36值0x0
[ 2476.243791 ] ti3104_i2c_read_byte:reg[0x37]= 0x0,ret = 2
[ 2476.252314 ]读取寄存器0x37值0x0
[ 2476.574496 ] ti3104_i2c_read_byte:reg[0x38]= 0x0,ret = 2
[ 2476.579338 ]读取寄存器0x38值0x0
[ 2476.891672 ] ti3104_i2c_read_byte:reg[0x39]= 0x0,ret = 2
[ 2476.896508 ]读取寄存器0x39值0x0
[ 2477.212306 ] ti3104_i2c_read_byte:reg[0x3a]= 0x4,ret = 2
[ 2477.216836 ]读取寄存器0x3a值0x4
[ 2477.531731 ] ti3104_i2c_read_byte:reg[0x3b]= 0x0,ret = 2
[ 2477.536736 ]读取寄存器0x3b值0x0
[ 2477.852704 ] ti3104_i2c_read_byte:reg[0x3c]= 0x0,ret = 2
[ 2477.860460 ]读取寄存器0x3c值0x0
[ 2478.174382 ] ti3104_i2c_read_byte:reg[0x3D]= 0x0,ret = 2
[ 2478.179998 ]读取寄存器0x3D值0x0
[ 2478.491978 ] ti3104_i2c_read_byte:reg[0x3E]= 0x0,ret = 2
[ 2478.498477 ]读取寄存器0x3e值0x0
[ 2478.809470 ] ti3104_i2c_read_byte:reg[0x3f]= 0x0,ret = 2
[ 2478.815034 ]读取寄存器0x3f值0x0
[ 2479.126605 ] ti3104_i2c_read_byte:reg[0x40]= 0x0,ret = 2
[ 2479.133015 ]读取寄存器0x40值0x0
[ 2479.445972 ] ti3104_i2c_read_byte:reg[0x41]= 0x4,ret = 2
[ 2479.451131 ]读取寄存器0x41值0x4
[ 2479.763855 ] ti3104_i2c_read_byte:reg[0x42]= 0x0,ret = 2
[ 2479.768864 ]读取寄存器0x42值0x0
[ 2480.081524 ] ti3104_i2c_read_byte:reg[0x43]= 0x0,ret = 2
[ 2480.086495 ]读取寄存器0x43值0x0
[ 2480.400936 ] ti3104_i2c_read_byte:reg[0x44]= 0x0,ret = 2
[ 2480.405835 ]读取寄存器0x44值0x0
[ 2480.718959 ] ti3104_i2c_read_byte:reg[0x45]= 0x0,ret = 2
[ 2480.723810 ]读取寄存器0x45值0x0
[ 2481.040268 ] ti3104_i2c_read_byte:reg[0x46]= 0x0,ret = 2
[ 2481.045568 ]读取寄存器0x46值0x0
[ 2481.357463 ] ti3104_i2c_read_byte:reg[0x47]= 0x0,ret = 2
[ 2481.363474 ]读取寄存器0x47值0x0
[ 2481.678690 ] ti3104_i2c_read_byte:reg[0x48]= 0x4,ret = 2
[ 2481.683781 ]读取寄存器0x48值0x4
[ 2481.996391 ] ti3104_i2c_read_byte:reg[0x49]= 0x0,ret = 2
[ 2482.001242 ]读取寄存器0x49值0x0
[ 2482.313755 ] ti3104_i2c_read_byte:reg[0x4a]= 0x0,ret = 2
[ 2482.319081 ]读取寄存器0x4a值0x0
[ 2482.630767 ] ti3104_i2c_read_byte:reg[0x4b]= 0x0,ret = 2
[ 2482.635661 ]读取寄存器0x4b值0x0
[ 2482.948191 ] ti3104_i2c_read_byte:reg[0x4c]= 0x0,ret = 2
[ 2482.957614 ]读取寄存器0x4c值0x0
[ 2483.271435 ] ti3104_i2c_read_byte:reg[0x4d]= 0x0,ret = 2
[ 2483.277315 ]读取寄存器0x4d值0x0
[ 2483.595747 ] ti3104_i2c_read_byte:reg[0x4e]= 0x0,ret = 2
[ 2483.600774 ]读取寄存器0x4e值0x0
[ 2483.913151 ] ti3104_i2c_read_byte:reg[0x4f]= 0x0,ret = 2
[ 2483.918435 ]读取寄存器0x4f值0x0
[ 2484.230909 ] ti3104_i2c_read_byte:reg[0x50]= 0x0,ret = 2
[ 2484.236371 ]读取寄存器0x50值0x0
[ 2484.550801 ] ti3104_i2c_read_byte:reg[0x51]= 0x0,ret = 2
[ 2484.556234 ]读取寄存器0x51值0x0
[ 2484.868602 ] ti3104_i2c_read_byte:reg[0x52]= 0x80,ret = 2
[ 2484.873493 ]读取寄存器0x52值0x80
[ 2485.187699 ] ti3104_i2c_read_byte:reg[0x53]= 0x0,ret = 2
[ 2485.193079 ]读取寄存器0x53值0x0
[ 2485.505641 ] ti3104_i2c_read_byte:reg[0x54]= 0x0,ret = 2
[ 2485.510929 ]读取寄存器0x54值0x0
[ 2485.823030 ] ti3104_i2c_read_byte:reg[0x55]= 0x0,ret = 2
[ 2485.827899 ]读取寄存器0x55值0x0
[ 2486.145830 ] ti3104_i2c_read_byte:reg[0x56]= 0x0,ret = 2
[ 2486.152168 ]读取寄存器0x56值0x0
[ 2486.466217 ] ti3104_i2c_read_byte:reg[0x57]= 0x0,ret = 2
[ 2486.470762 ]读取寄存器0x57值0x0
[ 2486.786410 ] ti3104_i2c_read_byte:reg[0x58]= 0x0,ret = 2
[ 2486.792080 ]读取寄存器0x58值0x0
[ 2487.104713 ] ti3104_i2c_read_byte:reg[0x59]= 0x0,ret = 2
[ 2487.113540 ]读取寄存器0x59值0x0
[ 2487.427077 ] ti3104_i2c_read_byte:reg[0x5A]= 0x0,ret = 2
[ 2487.433540 ]读取寄存器0x5a值0x0
[ 2487.748463 ] ti3104_i2c_read_byte:reg[0x5b]= 0x0,ret = 2
[ 2487.753802 ]读取寄存器0x5b值0x0
[ 2488.066891 ] ti3104_i2c_read_byte:reg[0x5c]= 0x80,ret = 2
[ 2488.075020 ]读取寄存器0x5c值0x80
[ 2488.389252 ] ti3104_i2c_read_byte:reg[0x5d]= 0x0,ret = 2
[ 2488.395156 ]读取寄存器0x5d值0x0
[ 2488.711639 ] ti3104_i2c_read_byte:reg[0x5e]= 0xc0,ret = 2
[ 2488.717328 ]读取寄存器0x5e值0xc0
[ 2489.032504 ] ti3104_i2c_read_byte:reg[0x5f]= 0x0,ret = 2
[ 2489.037510 ]读取寄存器0x5f值0x0
[ 2489.351708 ] ti3104_i2c_read_byte:reg[0x60]= 0x0,ret = 2
[ 2489.358380 ]读取寄存器0x60值0x0
[ 2489.674191 ] ti3104_i2c_read_byte:reg[0x61]= 0x0,ret = 2
[ 2489.681533 ]读取寄存器0x61值0x0
[ 2490.000759 ] ti3104_i2c_read_byte:reg[0x62]= 0x0,ret = 2
[ 2490.005966 ]读取寄存器0x62值0x0
[ 2490.319835 ] ti3104_i2c_read_byte:reg[0x63]= 0x0,ret = 2
[ 2490.325083 ]读取寄存器0x63值0x0
[ 2490.638452 ] ti3104_i2c_read_byte:reg[0x64]= 0x0,ret = 2
[ 2490.643596 ]读取寄存器0x64值0x0
[ 2490.957250 ] ti3104_i2c_read_byte:reg[0x65]= 0x0,ret = 2
[ 2490.963200 ]读取寄存器0x65值0x0
[ 2491.277432 ] ti3104_i2c_read_byte:reg[0x66]= 0x2,ret = 2
[ 2491.283342 ]读取寄存器0x66值0x2
[ 2491.599046 ] ti3104_i2c_read_byte:reg[0x67]= 0x0,ret = 2
[ 2491.605046 ]读取寄存器0x67值0x0
[ 2491.916697 ] ti3104_i2c_read_byte:reg[0x68]= 0x0,ret = 2
[ 2491.921871 ]读取寄存器0x68值0x0
[ 2492.235401 ] ti3104_i2c_read_byte:reg[0x69]= 0x0,ret = 2
[ 2492.241328 ]读取寄存器0x69值0x0
[ 2492.553968 ] ti3104_i2c_read_byte:reg[0x6A]= 0x0,ret = 2
[ 2492.559147 ]读取寄存器0x6a值0x0
[ 2492.871664 ] ti3104_i2c_read_byte:reg[0x6b]= 0x0,ret = 2
[ 2492.876431 ]读取寄存器0x6b值0x0
[ 2493.189988 ] ti3104_i2c_read_byte:reg[0x6c]= 0x0,ret = 2
[ 2493.195001 ]读取寄存器0x6c值0x0
[ 2493.508455 ] ti3104_i2c_read_byte:reg[0x6d]= 0x0,ret = 2
[ 2493.513242 ]读取寄存器0x6d值0x0
尊敬的 先生
如何连接设备,我想我给您发送了一个特定的原理图和编解码器数据通道指示器,您可能已经理解了。
编解码器数据路径选择图清楚地表明,我们使用mic1L和mic1R作为输入源,而根本不使用mic2作为输入;寄存器转储是否显示配置混合了MIC1和MIC2? MIC2未使用,也未连接到硬件。 MIC2路径配置的寄存器设置是默认配置。
mic1L使用有源差动输入模式,输入电压为8V,mic1R使用无源差动输入模式,一些原理图已发送给您,您已确认硬件电路没有问题。
我之前已将mic1L和mic1R输入绘制到LADC和RDAC的四个通道。 当我使用mic1L到RDAC路径时,我已经根据芯片手册对应的寄存器R19~R24描述了mic1L到LADC路径,mic1R到LADC路径。 mic1R到RDAC的路径被配置为断开连接;因此,mic1R的输入路径将没有输入;否则,当我使用mic1R到LADC路径时,我已根据芯片手册中相应的寄存器R19~R24描述了mic1L。 LADC路径,mic1L到RDAC路径和mic1R到RDAC路径配置为关闭。 因此,mic1L的输入路径将不会有输入;
但实际上,当我使用mic1L作为麦克风输入时,mic1R也有数据输入给对方;当我使用mic1R作为麦克风输入时,mic1L也有数据输入给对方;
具体来说,如何判断mic1L和mic1R是混合的,当呼叫时,对方实际上听到了两个麦克风输入的声音;
如何将两个输入信号彼此隔离非常简单。 当使用mic1L作为输入时,我将断开mic1L输入并对mic1R讲话。 另一方可以听到mic1R输入。
此时,对方输入的mic1R声音不正常,不是很清楚,需要靠近MIC1R才能有声音。
以下屏幕截图是在使用mic1L时断开MICL后在I2S上收集的数据。 当使用mic1L时,在MICL断开连接后,在I2S上收集的数据。
用户,
是的,我当然有您的部分原理图。 但是,我们所处的位置并不是您的配置不正确(我已在已知硬件上对其进行了测试:EVM),但您仍然遇到问题。 您尝试了4种不同的IC,因此我们知道这不是IC特定的问题。
请尝试其他测试:
对输入进行初始化
{0x13,0xfc},//R19//IN1LP/IN1LM差分模式和左ADC控制-它应该是差分模式而不是单端模式,否则将创建DC偏移
{0x15,0xf8},//R21//IN1RP/IN1RM差分模式和左ADC控制
{0x16,0xfc},//R22//IN1RP/IN1RM差分模式和右ADC控制
{0x18,0xf8},//R24//IN1LP/IN1LM差分模式和右ADC控制
是否有任何渗流?
我附上了输入的方框图。 AIC3107数据表中有一个类似的图,我可能会在更新AIC3104时添加一个图。 寄存器19,21,22和24控制输入电阻器, 或者在输入断开时切换。
您看到的是,即使断开输入, 您也可以听到它们。 因此,如果该开关不工作,活动信道将显示静音,或者输入短路, 或者信号在外部混合。
此致
-Steve Wilson
尊敬的 先生
自从您上次提到此问题以来,我已将所有麦克风修改为差分模式,无论当前是否使用麦克风,但问题仍然存在。
是的,当前的问题是,即使断开输入,他们也能听到输入声音。 因此,控制开关不工作,活动信道无法静音,或者输入短路信号在外部混合。
我们使用万用表来测量两个麦克风前端的短路,还可以测量过阻抗,而不会出现短路问题。
虽然在模板上测试时,我们的注册配置可以正常断开连接,但 相同的配置在我的设备上不起作用。
我不知道这个问题在哪里。
软件可以配置寄存器,现在已检查寄存器配置是否没有问题。
在硬件上,检查编解码器外设电路设计,没有发现任何问题。
同时同步抓取信号的波形。 我不知道以前发送给您的波形是否有任何问题?
接下来您需要做什么?
谢谢
尊敬的先生
您能否 将 EVM模板发送 给我们进行验证?
点触蛋白的AIC3107和AIC3104 IC是否是?
是否可以向我发送AIC3107以进行验证?
尊敬的先生
是否有任何更新?
尊敬的先生
让我们再次测量输入电压是否超过建议电平并接近绝对最大1.6V峰值电平。
如果输入电压超过建议的电平,此操作是否会损坏编解码器或只是输入业务溢出? 是否会在开机后恢复?
我们只想使用EVM模板来验证当前硬件设计是否存在问题,直接通过器件的演示版本来查看输入是否正常工作。
谢谢