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.

[参考译文] AMC131M03:与器件进行 SPI 通信

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1431288/amc131m03-spi-communication-with-the-device

器件型号:AMC131M03

工具与软件:

由于该器件上的 SPI 通信配置选项太多、因此没有可保证工作的帧模式。

您能告诉我、从器件读取状态寄存器时、该 SPI 序列是否正确、为什么它可能无法在 DOUT 线上生成任何响应?

谢谢。

Valeriy M.

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

    您好、Valeriy:

    您能将原理图发送给我吗?

    在您发布的图片中、它是在为器件加电之后吗?  您是否已按照数据表中的步骤初始化器件?

    谢谢。

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

    Saleh,

    原理图似乎是正确的:

    从数据表的图8-18可以看出、SPI 配置似乎应在 CLKIN 信号启动之前完成。 在本例中、时钟在加电后很快启动、但稍后会明显尝试 SPI 通信。 这在启动 SPI 通信时会是个问题吗?

    谢谢。

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

    Saleh,

    您能否确认我的 SPI 命令序列正确并应启用 HLDO:

    谢谢。

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

    我已经取得了一些进展、现在从器件恢复 SPI 通信。

    以下是配置器件的命令:

    我尝试通过发送以下命令来启动直流/直流转换器:

     我接收到的响应(0x5880)似乎表明该命令已被接受、但发送此命令时 HLDO_OUT 行上没有变化。  

    请告诉我上电序列中还缺少什么。

    谢谢。

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

    您好、Valeriy:

    [报价 userid="577072" url="~/support/data-converters-group/data-converters/f/data-converters-forum/1431288/amc131m03-spi-communication-with-the-device/5492298 #5492298"]从数据表的图8-18中、似乎应该在 CLKIN 信号启动之前完成 SPI 配置。 在本例中、时钟在加电后很快启动、但稍后会明显尝试 SPI 通信。 这可能是启动 SPI 通信时遇到的问题吗?[/QUOT]

    建议在发送 CLKIN 信号之前配置器件、但它应该仍然可以在已存在 CLKIN 的情况下工作。

    我已经取得了一些进展、现在从器件恢复了 SPI 通信。

    您做了哪些更改来从器件获得 DOUT?  

    需要注意的一点是、每个命令应该至少发送5个字:

    [报价 userid="577072" url="~/support/data-converters-group/data-converters/f/data-converters-forum/1431288/amc131m03-spi-communication-with-the-device/5503355 #5503355"]我收到的响应(0x5880)似乎表明此命令已被接受、但发送此命令时 hldo_out 行上没有更改。  [报价]

    答案似乎是正确的。  您是否还可以通过读取和读取状态寄存器来验证寄存器?

    DCDC_OUT 电压是否发生变化?  此外、 LDO (U32)的拉电流有多大?  您能否禁用或取消安装该器件?

    谢谢。

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

    Saleh,

    建议在发送 CLKIN 信号之前先配置器件、但仍应使用已存在的 CLKIN。

    您是对的。 我延迟了 CLKIN 信号、没有区别。

    您为了从器件获得 DOUT 做了哪些更改?  [报价]

    我认为是焊点或连接不佳。 我取下所有的探头、然后小心地将它们重新连接、然后 DOUT 信号就会出现。

    需要注意的一点是每条命令应至少发送5个字:

    在我的 WREG 命令中发现了一个错误。 CRC (禁用时为零)应遵循命令、我在末尾将其设置为零。 以下是 上电后我的 MODE、时钟和增益寄存器配置:

    我得到0x4083作为响应、并发送命令以启用直流/直流:

    然后得到响应0x5880似乎正确的响应、但输出中没有 CRC。 接下来、我要发送0xB880以请求状态:

    因为您可以看到 DCDC_out 或 HLDO_out 没有变化。 下一个 CLKIN 启用、我发送 null 命令。 状态返回为0x0100、响应中再次没有 CRC:

    之后、我会得到0x0740来响应每个空请求:

    DCDC_out 电压是否完全改变?

    从截图中可以看出、在上电序列的任何时间点甚至都没有尝试启用 DCDC_OUT。

    在开始从电路板上移除器件以验证电流消耗之前、我想确认是否发送了正确的命令。

    谢谢!

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

    您好、Valeriy:

    对于 WRITE 命令、器件需要进行 n+1写入、其中 n 是您在 WRITE 命令末尾放置的数字。

    在第一个 WREG 中、您有(0x6083)写入从地址0x1开始的4个寄存器。

    地址0x1是状态寄存器、为只读。  在 WREG 命令之后的数据值中、字长最终更改为32位。  这就是为什么当您回读 DCDC_CTRL 寄存器时、您得到的是0x01而不是0x0001。   

    您是否能够开始写入 DCDC_EN? ({0x788000、0x000100、0x000000、0x000000、0x000000})

    另外、 第一次写入时、您要尝试配置什么?

    谢谢。

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

    Saleh,

    您第一次写时要配置什么

    我将配置模式用于24位 SPI、具有高分辨率、过采样率256的超时和时钟、并启用所有3个通道。 我这样做主要是为了检查通信、但也因为我认为应该先完成配置、然后才能启用直流/直流转换器。 感谢您检查我的命令。 我显然是不正确地添加了位。 我认为应该是0x610200 0x011000 0x0070E00 0x000000 0x000000、以配置模式、时钟和增益寄存器。 它将有助于在数据表中的某个位置提供命令计算示例、以验证对文档的理解程度。

    您能否开始编写 DCDC_EN? ({0x788000、0x000100、0x000000、0x000000、0x000000})

    我不知道在没有先配置器件的情况下可以执行该操作。 遗憾的是、即使我在复位后立即发送上述命令、在 DCDC_OUT 线路上也没有看到任何变化:

    还有其他可以尝试的东西吗?

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

    您好、Valeriy:

    我不知道在没有先配置设备的情况下才能进行此操作。 很遗憾、即使我在复位后立即发送上述命令、我也看不到 DCDC_out 行有任何变化:[/QUOT]

    在启用直流/直流稳压器之前需要配置的最重要设置是 CLOCK_DIV 和 DCDC_FREQ。  如果这些配置不正确、直流/直流稳压器仍应开启、但电压可能不正确、并且可能存在一些其他性能/稳定性问题。   

    在此写入期间运行的 CLKIN 信号、因为直流/直流转换器不会向器件输出任何内容、直到有 CLKIN 信号为止。

    您能否在写入后通过读取和状态寄存器检查来验证 DCDC_EN 写入?

    TI.com 上提供了一些与 AMC131M03连接的计量代码。  您可以尝试查看该代码的配置步骤。

    您可以在 MSPM0 SDK 中找到计量代码。  此代码可通过 Code Composer Studio 访问、该 Studio 可从 TI.com 下载。  您也可以浏览在线开发工具并访问它。

    https://dev.ti.com/tirex/explore/node?node=A__ACu5kpnBrrCcedjH3XI-PQ__MSPM0-SDK__a3PaaoK__LATEST

    谢谢。

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

    Saleh,

    启用直流/直流转换器前需要配置的最重要设置是 CLOCK_DIV 和 DCDC_FREQ。

    CLOCK_DIV 设置不正确并完成了所有的差异。 我从 DCDC_out 处获得3V 电压!

    几个观察结果:表8-3中的 DCDC_FREQ 设置与表8-37中的设置不完全匹配。 不确定哪一个是正确的。

    此外、您的陈述似乎不正确:

    如果配置不正确、直流/直流转换器仍应打开、但电压可能不正确、并且可能还有一些其他性能/稳定性问题。   [报价]

    当 DCDC_CTL 设置为0x0001时、我的 DCDC_OUT 信号根本不会移动:

    但是、DCDC_OUT 在 DCDC_CTL 设置为0x0801并应用 CLKIN 信号时按预期工作:

    不管怎样、该部件现在正在工作。 感谢你的帮助。