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.
工具与软件:
尊敬的 TI:
我们将 在 QCOM 平台上启动 TLV320AIC3254。
但是、我们无法检测到 来自 IC 的 DOUT/MFP2输出
请查看以下有关 ICreg dump page0/1的信息
/ # i2cset -fy 2 0x18 0x00 0x00 b WARNING! This program can confuse your I2C bus, cause data loss and worse! I will write to device file /dev/i2c-2, chip address 0x18, data address 0x00, data 0x00, mode byte. Continue? [Y/n] y / # i2cdump -fy 2 0x18 No size specified (using byte-data access) WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-2, address 0x18, mode byte Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 60 00 07 92 20 00 00 00 00 88 82 00 80 02 ..`.?? ....??.?? 10: 00 08 88 82 80 01 00 04 00 00 01 00 00 01 84 00 .?????.?..?..??. 20: 00 00 00 00 cc 00 00 00 00 00 00 00 00 00 00 00 ....?........... 30: 00 00 00 00 08 12 03 02 04 00 00 00 01 01 00 14 ....?????...??.? 40: 0c d8 d8 00 6f 38 00 00 00 00 00 ee 10 d8 7e e3 ???.o8.....???~? 50: 00 c0 88 00 00 00 00 00 7f 00 00 00 00 00 00 00 .??.....?....... 60: 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?............... 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ / # / # i2cset -fy 2 0x18 0x00 0x01 b WARNING! This program can confuse your I2C bus, cause data loss and worse! I will write to device file /dev/i2c-2, chip address 0x18, data address 0x00, data 0x01, mode byte. Continue? [Y/n] y / # i2cdump -fy 2 0x18 No size specified (using byte-data access) WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-2, address 0x18, mode byte Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 01 00 01 00 00 00 00 00 00 00 00 10 00 00 00 00 ?.?........?.... 10: 40 40 40 40 00 00 00 00 00 00 00 00 00 00 00 00 @@@@............ 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 30: 00 00 00 68 40 00 40 40 00 40 00 00 00 00 03 00 ...h@.@@.@....?. 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 ...........?.... 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ / #
Daniel、您好!
昨天是 TI 在美国的假期。 感谢您的耐心。
我看到 ADC 已通电并在您的寄存器映射中取消静音。 所有电源/I2S 时钟是否均已上电并提供给编解码器?
测量 DOUT 时、是否有任何数据切换或卡在低电平?
此致、
Jeff McPherson
尊敬的 TI:
图1是编解码器上电序列
图2是 麦克风相关的直流电压
图3将 示波器测量的麦克风信号切换到交流模式
图4是麦克风信号与 I2S 信号
当对着麦克风讲话时、I2S 输出中没有信号变化!
图5是 I2S 的频率
此致、
CH Wen
尊敬的 CH Wen:
请尝试以下脚本、然后查看是否收到 ADC DOUT 的任何活动。 我还注意到有一个标记为 SCK 的时钟。 它是否连接到器件的 BCLK 引脚?
Assumption AVdd = 1.8V, DVdd = 1.8V MCLK = 12.288MHz Default settings used. PLL Disabled I2S Interface with 16bit Word Length. AOSR 128 PRB_R1 PTM_R4 # Initialize to Page 0 w 30 00 00 # S/W Reset to initialize all registers w 30 01 01 # Power up NADC divider with value 1 w 30 12 81 # Power up MADC divider with value 2 w 30 13 82 # Program OSR for ADC to 128 w 30 14 80 # Select ADC PRB_R1 w 30 3d 01 # Select Page 1 w 30 00 01 # Disable Internal Crude AVdd in presence of external AVdd supply or before # powering up internal AVdd LDO w 30 01 08 # Enable Master Analog Power Control w 30 02 00 # Set the input common mode to 0.9V w 30 0a 00 # Select ADC PTM_R4 w 30 3d 00 # Set MicPGA startup delay to 3.1ms w 30 47 32 # Set the REF charging time to 40ms w 30 7b 01 # Route IN1L to LEFT_P with 20K input impedance w 30 34 80 # Route Common Mode to LEFT_M with impedance of 20K w 30 36 80 # Route IN1R to RIGHT_P with input impedance of 20K w 30 37 80 # Route Common Mode to RIGHT_M with impedance of 20K w 30 39 80 # Unmute Left MICPGA, Gain selection of 6dB to make channel gain 0dB # Register of 6dB with input impedance of 20K => Channel Gain of 0dB w 30 3b 0c # Unmute Right MICPGA, Gain selection of 6dB to make channel gain 0dB # Register of 6dB with input impedance of 20K => Channel Gain of 0dB w 30 3c 0c # Select Page 0 w 30 00 00 # Power up Left and Right ADC Channels w 30 51 c0 # Unmute Left and Right ADC Digital Volume Control. w 30 52 00
此致、
Jeff McPherson
尊敬的 Jeff
基于 reg dump、一个寄存器是什么差异?
哪个寄存器错误?
我们使用 Linux 平台、
如何 修改驱动程序以配置这些寄存器?
或如何通过 i2cset 工具进行配置?
非常感谢
尊敬的 Jeff
我们执行以下配置、
偏倚仍然不起作用、您有什么评论吗?
非常感谢
i2cset -fy 2 0x18 0x00 0x00 b i2cset -fy 2 0x18 0x01 0x01 b i2cset -fy 2 0x18 0x12 0x81 b i2cset -fy 2 0x18 0x13 0x82 b i2cset -fy 2 0x18 0x14 0x80 b i2cset -fy 2 0x18 0x3d 0x01 b i2cset -fy 2 0x18 0x00 0x01 b i2cset -fy 2 0x18 0x01 0x08 b i2cset -fy 2 0x18 0x02 0x00 b i2cset -fy 2 0x18 0x0a 0x00 b i2cset -fy 2 0x18 0x33 0x60 b i2cset -fy 2 0x18 0x3d 0x00 b i2cset -fy 2 0x18 0x47 0x32 b i2cset -fy 2 0x18 0x7b 0x01 b i2cset -fy 2 0x18 0x34 0x80 b i2cset -fy 2 0x18 0x36 0x80 b i2cset -fy 2 0x18 0x37 0x80 b i2cset -fy 2 0x18 0x39 0x80 b i2cset -fy 2 0x18 0x3b 0x0c b i2cset -fy 2 0x18 0x3c 0x0c b i2cset -fy 2 0x18 0x00 0x00 b i2cset -fy 2 0x18 0x51 0xc0 b i2cset -fy 2 0x18 0x52 0x00 b
尊敬的 Jeff
您或您的软件团队是否有任何更新?
非常感谢
尊敬的丁
您可以从以下链接获取代码
https://drive.google.com/file/d/1oKfScjjOfpO01DXnulHqVuiv7o8t-tIs/view?usp=sharing
您的成员 Lu、Kevin 有一些修改。
尊敬的丁
Jeff 可使 I2S Tx 具有信号、但偏置将会接近
我们不能再次打开偏置
告诉我哪个寄存器使 I2S Tx 具有信号、我可以检查如何在代码中添加 kcontrol。
录制时、您使用了什么 amixer 命令? 您是将 AIC3254设置为主器件还是从器件?
该寄存器是 Jeff 提供的。
AIC3254是保存模式
尊敬的丁
DP 您有更新吗?
Daniel、您好!
请在录音后提供寄存器转储。
/ # i2cdump -fy 2 0x18 No size specified (using byte-data access) WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-2, address 0x18, mode byte Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 60 00 07 92 20 00 00 00 00 88 82 00 80 02 ..`.?? ....??.?? 10: 00 08 88 82 80 01 00 04 00 00 01 00 00 01 84 00 .?????.?..?..??. 20: 00 00 00 00 cc 00 00 00 00 00 00 00 00 00 00 00 ....?........... 30: 00 00 00 00 08 12 03 02 04 00 00 00 01 01 00 14 ....?????...??.? 40: 0c d8 d8 00 6f 38 00 00 00 00 00 ee 10 d8 7e e3 ???.o8.....???~? 50: 00 c0 88 00 00 00 00 00 7f 00 00 00 00 00 00 00 .??.....?....... 60: 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?............... 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
根据页0、寄存器0x52应为0x00、0x88表示 ADC 静音、您可以在使用之前的 amixer 设置进行录制后输入以下命令。
#i2cset -FY 0 0x18 0x52 0x00 b #撤消 ADC 通道的静音
#i2cset -FY 0 0x18 0x53 0x28 b #20dB 音量增益
#i2cset -FY 0 0x18 0x00 0x01 b
#i2cset -FY 0 0x18 0x3b 0x10 b
#i2cset -FY 0 0x18 0x00 0x00 b
请共享 寄存器转储(如果它不起作用)
谢谢
尊敬的 Kevin Ding:
请在 Ding 寄存器脚本之后检查寄存器转储
非常感谢
/ # i2cset -fy 2 0x18 0x00 0x00 b WARNING! This program can confuse your I2C bus, cause data loss and worse! I will write to device file /dev/i2c-2, chip address 0x18, data address 0x00, data 0x00, mode byte. Continue? [Y/n] Y / # i2cdump -fy 2 0x18 No size specified (using byte-data access) WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-2, address 0x18, mode byte Continue? [Y/n] Y 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 60 00 00 11 04 00 00 00 00 01 01 00 80 02 ..`..??....??.?? 10: 00 08 81 82 80 01 00 04 00 00 01 00 00 00 01 00 .?????.?..?...?. 20: 00 00 00 00 cc 00 00 00 00 00 00 00 c0 00 80 00 ....?.......?.?. 30: 00 00 00 00 00 12 03 02 02 00 00 00 01 01 00 14 .....????...??.? 40: 0c 00 00 00 6f 38 00 00 00 00 00 ee 10 d8 7e e3 ?...o8.....???~? 50: 00 c0 00 00 00 00 00 00 7f 00 00 00 00 00 00 00 .?......?....... 60: 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?............... 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ / # i2cset -fy 2 0x18 0x00 0x01 b WARNING! This program can confuse your I2C bus, cause data loss and worse! I will write to device file /dev/i2c-2, chip address 0x18, data address 0x00, data 0x01, mode byte. Continue? [Y/n] Y / # i2cdump -fy 2 0x18 No size specified (using byte-data access) WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-2, address 0x18, mode byte Continue? [Y/n] Y 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 01 08 00 00 00 00 00 00 00 00 00 10 00 00 00 00 ??.........?.... 10: 40 40 40 40 00 00 00 00 00 00 00 00 00 00 00 00 @@@@............ 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 30: 00 00 00 60 80 00 80 80 00 80 00 0c 0c 00 03 00 ...`?.??.?.??.?. 40: 00 00 00 00 00 00 00 32 00 00 00 00 00 00 00 00 .......2........ 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 ...........?.... 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
尊敬的 Kevin
下面的转储是在寄存器写入之后
/ # i2cset -fy 2 0x18 0x00 0x00 b / # i2cdump -fy 2 0x18 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 60 00 07 12 20 00 00 00 00 08 02 00 80 02 ..`.?? ....??.?? 10: 00 08 08 02 80 01 00 04 00 00 01 00 00 01 04 00 .?????.?..?..??. 20: 00 00 00 00 cc 00 00 00 00 00 00 00 00 00 00 00 ....?........... 30: 00 00 00 00 08 12 03 02 04 00 00 00 01 01 00 14 ....?????...??.? 40: 0c d8 d8 00 6f 38 00 00 00 00 00 ee 10 d8 7e e3 ???.o8.....???~? 50: 00 00 88 28 00 00 00 00 7f 00 00 00 00 00 00 00 ..?(....?....... 60: 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?............... 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ / # i2cset -fy 2 0x18 0x00 0x01 b / # i2cdump -fy 2 0x18 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 01 00 01 00 00 00 00 00 00 00 00 10 00 00 00 00 ?.?........?.... 10: 40 40 40 40 00 00 00 00 00 00 00 00 00 00 00 00 @@@@............ 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 30: 00 00 00 00 40 00 40 40 00 40 00 10 00 00 00 00 ....@.@@.@.?.... 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 70: 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 ...........?.... 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Daniel、您好!
我建议您将 reg0x52设置为0x00、并且不将寄存器0x51更改为0x00、为什么仍然不正确?
Kevin
尊敬的 Kevin:
我可能没有更改第0页
我应该 先使用 Jeff 的脚本吗?
非常感谢
没有必要、您可以先尝试我的建议
尊敬的 Kevin:
请检查以下寄存器转储
但是、在我开始采集数据后、偏置变为0
/ # i2cset -fy 2 0x18 0x00 0x00 b / # i2cset -fy 2 0x18 0x52 0x00 b / # i2cset -fy 2 0x18 0x53 0x28 b / # i2cset -fy 2 0x18 0x00 0x01 b / # i2cset -fy 2 0x18 0x3b 0x10 b / # i2cset -fy 2 0x18 0x00 0x00 b / # / # / # / # i2cdump -fy 2 0x18 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 60 00 07 92 20 00 00 00 00 88 82 00 80 02 ..`.?? ....??.?? 10: 00 08 88 82 80 01 00 04 00 00 01 00 00 01 84 00 .?????.?..?..??. 20: 00 00 00 00 44 00 00 00 00 00 00 00 00 00 00 00 ....D........... 30: 00 00 00 00 08 12 03 02 04 00 00 00 01 01 00 14 ....?????...??.? 40: 0c d8 d8 00 6f 38 00 00 00 00 00 ee 10 d8 7e e3 ???.o8.....???~? 50: 00 c0 00 28 00 00 00 00 7f 00 00 00 00 00 00 00 .?.(....?....... 60: 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?............... 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
首先、您应该开始捕获数据、然后执行这些命令、因为手动设置将更改驱动程序进程。
尊敬的 Kevin
目前、声音可以录制。
开始捕获后、我需要再次键入 amixer 命令。
并键入以下两个命令
i2cset -FY 2 0x18 0x00 0x00 b
i2cset -FY 2 0x18 0x52 0x00 b
完成此操作后、I2S Tx 即可输出数据、
非常感谢您的大力帮助
现在、我如何将"i2cset -FY 2 0x18 0x52 0x00 b"集成到驱动程序中?
谢谢你
e2e.ti.com/.../tlv320aic3x_2D00_linux_2D00_audio_2D00_routing_2D00_path_2D00_setting.pdf
Daniel、您好!
事实上,我告诉你正确的 amixer 设置作为附件,你能确认它在你的身边吗? 如下所示:
下面是我使用的错误
amixer -c0 cset name='ADCFGA Left Mute Switch' On
amixer -c0 cset name='ADCFGA 右侧静音开关'开
amixer -c0 cset name="IC PGA Switch" on、on
amixer -c0 cset name='IN1_L to Left Mixer Positive Resistor' 1.
amixer -c0 cset name='IN1_R to right Mixer Positive Resistor' 1.
amixer -c0 cset name='CM_L 至左混频器负电阻器' 1.
amixer -c0 cset name='CM_R to right Mixer 负电阻器' 1.
我是否错过了这两个?
即使我更改这两个值、 0x52也不会更改
谢谢你
您还需要选择电阻器:
音量控制是可选的、除非您需要更大的记录数据。