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.

[参考译文] PCM1792A:SPI 位顺序

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/881114/pcm1792a-spi-bit-order

器件型号:PCM1792A

PCM1792A 在响应通过 SPI 接口发送的命令时遇到一些问题。 只是一个基本的问题、它是在16位消息中首先发送的 MSB 吗? 换句话说、R/W 位。

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

    Mark、您好!

    首先发送 MSB 位、即 R/W 位。

    谢谢、

    Paul

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

    谢谢 Paul、这就是我的想法。 所以这不是问题。

    数据表中还有一点可能会解释我的问题。 此时、写入衰减寄存器16和17后、我将 ATLD 位从0移至1至0。 我认为 ATLD 同时加载 L 和 R 内容。 我怀疑在写入寄存器16和17之前、可能需要先将 ATLD 设置为1。 我会尝试一下。 否则、我将不得不更仔细地查看各个 SPI 线路(我在单独使用 MCU 的单独电路板上执行此操作、这是可以的、但可能有问题!) 我将告诉您事情是如何进行的。

    此致
    标记

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

    因此这也没有什么帮助! 我使用的设置如下:

    该电路与数据表中的图35 (PCM 模式下的典型连接图)非常一致。 如果我将1kHz 正弦波传递到引脚4-7、则信号将通过模拟部分正确重建。 振幅似乎没有衰减。

    2.复位信号在启动后很快释放。

    3.我使用 PIC 控制器通过引脚10-13管理 SPI。 我已禁用读取 MDO 上数据的代码、以专注于使用/MS、MDI 和 MC 获取控制信号。 通过设置引脚来管理 SPI 以创建正确的数据模式(使用的 PIC 没有专用的 SPI 接口)。 通过使用数字示波器、可以看出 SPI 信号正确且充分符合图31 (控制接口时序)中的时序要求。

    使用的命令如下(其中 pq 代表卷级别、即00 - FF):

    a)备选方案1:0x10pq  0x11pq  0x12D0  0x1250      (写入左侧寄存器16、写入右侧寄存器17、启用 ATDL、禁用 ADTL)

    b) 备选方案2:0x1250   0x10pq  0x11pq  0x1250      (启用 ATDL、向左写入寄存器16、向右写入寄存器17、禁用 ADTL)

    两种选择似乎都不起作用。 两个通道上的正弦波仍然存在、但振幅保持不变!

    有什么想法吗?

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

    嗯、我发现了这个问题。 最后有点简单! 在 SPI 和 I2C 之间选择的引脚是我设置为3V3而不是0V 的引脚。 正确设置此引脚就实现了这一目的!

    如果我正确理解该规范、则 ATLD 可与上面的备选方案1或2一起使用。 我想 alt.1的优势在于、在发出"使用"衰减数据的命令之前、我可以检查寄存器内容是否正确到达。 对吗?

    再次感谢您的帮助!