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.

[参考译文] PCM9211EVM-U:TXOUT 至 MP0导致 MP1上出现 TXOUT

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1331267/pcm9211evm-u-txout-to-mp0-causes-txout-on-mp1

器件型号:PCM9211EVM-U

大家好!

当我们将 TXOUT 路由到 MP0时、会出现一种奇怪的行为。 或者初始计划是将 TXOUT 路由到 MP0、同时将 LOCK 路由到 MP1。  

- MP0 TXOUT

- MP1锁

我们通过向寄存器0x78写入0xBD 来尝试这一点。 顺便说一下、我们移除了 W8跳线。  

Fullscreen
1
w 80 78 bd
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

当我们执行此操作时、我们会在引脚 MP0和 MP1上看到 TXOUT。  

让我们吃惊地看到它。 因此、将 TXOUT 路由到 MP1并锁定到 MP0、它会起作用。 我们看到 MP0上的锁定和 MP1上的 TXOUT  

Fullscreen
1
w 80 78 db
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

这可以通过 EVM 轻松测试。 您是否知道这个问题、或者它为什么是这样的?  

此致、

埃里克  

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

    Eric、 在 这两种情况下、当您写入寄存器 H78时、请立即对这些寄存器 执行读操作、然后查看读数。 如果读取 正确、我也会在脚本末尾再 写一次读取、以查看它写入、但随后会发生变化。 冲突的地方。

    此致、

    阿拉什

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

    尊敬的 Arash:

    好吧,我尝试了它,它真的很有趣。 请查看下面的脚本。  

    脚本  

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #Can't route LOCK to MP1 and TXOUT to MP0 thats why reversed
    #w 80 78 dd -> causes disconnect
    #w 80 78 bd -> causes TXOUT on MP0 and MP1
    w 80 78 bd
    #w 80 78 db
    r 80 78 01
    #Set MPIO_A/B IO direction (not used)
    w 80 79 00
    #Set MPIO_C IO direction (not used)
    w 80 7a 00
    #Set MPIO_A/B IO output level (not used)
    w 80 7b 00
    #Set MPIO_C IO output level (not used)
    w 80 7c 00
    #7d MPIO_A/B IO input level (read only, not used)
    #7e MPIO_C IO input level (read only, not used)
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    读回  

    Fullscreen
    1
    2
    3
    4
    r 80 78 01:
    BD
    r 80 78 01:
    DD
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    我将0xBD 写入寄存器0x78、第一次读回是使用0xBD 正确的。 但末尾的最后一次读回显示为0xDD。 但是可以看到、我不再写入寄存器。 我删除了脚本以避免任何其他冲突、但当您将这3行代码插入脚本时也会发生这种情况。  

    Fullscreen
    1
    2
    3
    w 80 78 bd
    r 80 78 01
    r 80 78 01
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    第一次读取将显示正确的响应0xBD、第二次读取将显示0xDD。 当然、板之前已复位。  

    这很奇怪。 你对此有什么解释吗?

    此致、

    埃里克  

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

    好的,所以我怀疑,它重新写了它与 D . 这很有趣,但我相信它背后有一个逻辑,我们只需要找到它!

    对此进行调查的一种方法是在两次读取之后立即读取所有寄存器、然后进行比较、看看还有什么变化。  那就是

    W 80 78 BD
    r 所有寄存器
    r 所有寄存器

    (使用任何软件( 例如 Beyond Compare 或类似程序)比较上述2个单独读取操作)

    您也可以 WRTIE 0xDB 并再次针对这种情况执行相同的读取操作,现在将这组读取  操作与前一 种情况进行比较,以查看发生了什么变化。(我认为这种情况的第一个读数(0xBD)应该与另一种情况的第一个读数(*0xdb)匹配。  但第二次读会不同。  

    另一个可以做的实验是选择  LOCK 和 TXOUT 以外的其他情况 (例如 MCKO 或其他情况)并交换寄存器以查看它是否读取正确或者再次重写。

    这是非常有趣的事情,我 以前从未见过这一点,可能有冲突的东西, 此寄存器并覆盖它)

    此致、

    阿拉什

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

    嗨、Arash、

    我试过你说的。 顺便说一下"r all 寄存器"不起作用。 它在命令窗口中提供错误。 我使用了示例脚本中使用的"r 80 20 5e"来读取所有寄存器。 该功能工作正常。 在这里您可以看到差异。  

    第3行中的08 08仅是寄存器0x38、0x39、是只读的、因此不存在问题。 然后、如预期的那样、行寄存器0x78已从0xBD 更改为0xDD。 最后一个寄存器是未使用的寄存器0x7D。 它不在数据表中、因此我甚至可以通过少读取一个字节来跳过它。  

    似乎只有寄存器0x78发生了更改。 但我注意到了一点。 当我按下命令窗口中的"record "来查看发生的情况时、我可以看到 CodeControl 软件自动添加了"w 80 78 DD"。 请查看下图:

    这就是寄存器值发生变化的原因。 我这边有2个问题:

    -为什么会发生这种情况?

    -你认为当我用我的 MCU 在后期产品将寄存器0x78写入0xBD 时,它会正常工作,还是你认为软件会由于一些内部限制而阻止这一设置?

    顺便说一下、MCKO 或其他设置和 TXOUT 具有相同的效果。 当 TXOUT 0x0d 被路由至 MP0时、它一直是一样的、它一直位于 MP1上。 此处是不同设置的片段。 CodeControl 软件始终自行将0xDD 写入0x78。  

    此致、

    埃里克

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

    您好、Eric、

    当我提到 R 所有寄存器时,我并不是说这是脚本,它只是用于调试过程的指令!!  我可能不应该以脚本格式显示。  

    我从未见过 向脚本中添加代码、但 坦率地说、 我不使用 CodeControl、而是使用 PPC3 (纯路径控制)软件附带的 I2C 主站。 您可以从 ti site 下载 PPC3、 其 GUI 外观与上述相同、请使用 PPC3进行尝试、如果未执行此操作、则是 与 CodeControl 相关的问题。

    另一个建议是将这些寄存器设置为默认值 、看看它是否 在末尾再次添加额外的一行、或者在什么条件下不添加。

    此致、

    阿拉什

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

    尊敬的 Arash:

    非常感谢您的更新。 我将使用 PPC3重试、并告知您。 我在 MCU 上并行尝试过、一切似乎都正常工作。 似乎实际上是 CodeControl 的一个错误。 感谢您的全力帮助。  

    此致、

    埃里克  

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

    当然、Eric、

    如果您有任何需要、请告诉我。  我暂时关闭了此帖子、但在您使用 PPC3进行测试后、您可以随意添加您的发现。

    此致、

    阿拉什

x 出现错误。请重试或与管理员联系。