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.

[参考译文] TAS5806MEVM:无需使用 PurePath 控制台或 PPCMB 即可实现最小 I2C 配置

Guru**** 2394305 points
Other Parts Discussed in Thread: TAS5806M, TAS3251

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/853090/tas5806mevm-minimal-i2c-configuration-without-using-the-purepath-console-or-a-ppcmb

器件型号:TAS5806MEVM
主题中讨论的其他器件:TAS5806MTAS3251

大家好、

(注意:我在撰写此帖子时终于找到了解决方案。 如果您正在寻找解决方案、请阅读我自己的答案。)

我目前正在使用 TAS5806M EVM、但未附带"PurePath 控制台母板"。 实际上、我不需要一个。

我已将 Raspberry Pi 型号3B 连接到 EVM 的 I²S 和 I²C 端口(I²S:LRCLK、SCLK、SDIN1;I²C:SCL、SDA; 当然、GND 也连接到我的 Rpi)。  音频输出格式为 I²S @ 48kHz、32位、立体声。 我知道 μ I²S 总线工作正常、因为我设法从 TAS3251 EVM 中获得音频、其中 RPi 是音频源。

当我想通过 μ I²C 配置 TAS5806M 时会出现问题。

  1. 地址0x58或0x5A 处无器件应答、我有一个来自0x54的应答。 一旦拆下 RPi 和 EVM 之间的电缆、就不会看到任何物体。 因此、我假设0x54对应于 EVM 上某个芯片的地址、但哪一个?
  2. 一旦 RPi 和 EVM 连接在一起、3.3V LED 便会亮起、即使没有任何外部电源也是如此。 我已经验证了我的连接、我100%没有短路。 U1上的 DVDD 电压约为2.75V、而 J6跳线为 OUT (DVDD1从 DVDD 断开)。 它是不是由 μ I²C 总线提供某种反向供电?
  3. 0x54的所有读取操作都回答0xff... I PRECISE my I²C 总线运行@ 400kHz (在示波器上验证)。
  4. 当 DVDD 启动时、我还会获得另外两个器件:0x2C 和0x2D。

未提供 DVDD:

# sudo i2cdetect -y 1.
0 1 2 3 4 5 6 7 8 9 A b c d e f
00: ------------ ------------
------ 10:---------------- ------------ ------------
---- 20:------------ ------------ ------------
---- 30:------------ ------------ ------------
-- 40:-------------- ------------ ------------
---- 50:------ 54 ---------------- ------------
---- 60:------------ ------------ ------------
-- 70:------------ ------ 

DVDD 开启:

# sudo i2cdetect -y 1.
0 1 2 3 4 5 6 7 8 9 A b c d e f
00: ------------ ------------
------ 10:---------------- ------------ ------------
---- 20:------------ ------------ ---- 2c 2d --
-- 30:------------------ ------------ ------------
-- 40:-------------- ------------ ------------
---- 50:------ 54 ---------------- ------------
---- 60:------------ ------------ ------------
-- 70:------------ ------ 

有人能不能给我一种方法来配置 TAS5806M 至 I²C μ s、以便至少在输出端听到声音? 我必须说、数据表对于配置寄存器并不是非常清楚...

谢谢

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

    现在我的问题已经解决了... 由我自己决定。 我发布我的解决方案以供进一步参考,因为它可以帮助您:-)

    线索是、"i2c-tools"软件包中的"i2cdete"、"i2cset"和"i2cget"工具在7个位上获取地址:

    • 0x2C 向左移动1个位置为0x58 =>这是"第一个"TAS5806M (U1)
    • 0x2D 向左移动1个位置为0x5A =>这是"第二个"TAS5806M (U2)
    • 0x54向左移动1个位置为0xA8 =>这个是评估板的 EEPROM (24LC512-I/ST 配置为位于地址 b1010100x)。

    下面是我如何使第一个放大器从复位状态退出并起作用的方法:

    #移至书籍0x00
    sudo i2cset -y 1 0x00 0x00
    sudo i2cset -y 1 0x7F 0x00
    #移至页面0x00 (当前书籍)
    sudo i2cset -y 1 0x00 0x00
    
    # Go out of reset
    sudo i2cset -y 1 0x03 0x00
    #将输出设置为 High-Z 并等待100ms (至少需要5ms)
    sudo i2cset -y 1 0x03 0x02
    SLEEP 0.1#
    Play
    sudo i2cset -y 1 0x03 0x03 

    上述寄存器地址取自 TAS5806M 数据表

    我还能够设置音量:

    #移至书籍0x8C
    sudo i2cset -y 1 0x00 0x00
    sudo i2cset -y 1 0x7F 0x8C
    #移至页面0x2A (当前书籍)
    sudo i2cset -y 1 0x00 0x2A
    
    #将 L&R 卷设置为所需值
    #左卷(默认值)
    sudo i2cset -y 1 0x24 0x00 0x80 0x00 0x00 I
    #右侧卷(默认值)
    sudo i2cset -y 1 0x28 0x00 0x80 0x00 0x00 I 

    上述寄存器地址取自 应用手册 SLOA263A ("TAS580xM 处理流程")。

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

    解决后、我将提交关闭。