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.

[参考译文] LMP90100:SPI 数据读取问题、LSB 读取不正确。

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1463806/lmp90100-spi-data-read-issue-lsb-not-reading-correctly

器件型号:LMP90100

工具与软件:

这是 https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/188380/lmp90100-spi-interface 的后续问题

我遵循的顺序正确、但始终缺少 LSB。 对于本例、我应该读回0x13、但始终读回0x12。 所有电阻器都是如此、LSB 始终读取为"0"。 经过进一步分析、我发现 LMP90100 在时钟转换之前将 MISO 拉低。 这就是它始终读数为零的原因。 SPI 从器件为什么在没有时钟边沿的情况下改变状态?  



我尝试移除传感器并短接 MOSI/MISO 以进行环回测试及其读数正常。  

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

    尊敬的 parth Kanani:

    Unknown 说:
    我使用的是正确的顺序但始终缺少 LSB。 对于本例、我应该读回0x13、但始终读回0x12。 所有电阻器都相同、LSB 始终读为"0"。[/QUOT]

    您在这里所指的内容有点不清楚。 您正在尝试实现的确切目标是什么?  

    您是否正在尝试读回寄存器地址0x13而是从寄存器0x12读回数据? 您是否将0x13写入寄存器但读回0x12? 您是否正在尝试读取数据并且没有读回您的预期结果?

    您指的是什么顺序?

    请尽可能具体。

    此致、

    天使

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


    我在读取特定寄存器时遇到 SPI 通信问题。 例如:

    • 当我读取寄存器时0x22,预期值是0x13,但我正在接收0x12.
    • 同样,读取寄存器0x2C应该返回0x25,但我得到0x24.

    仔细检查 SPI 信号后(请参阅随附的图像)、MISO 数据的最后一位(LMP90100)似乎过早转换-差不多在时钟周期的中途。 此行为似乎是导致在数据捕获期间丢失最后一位。 前7位 没有问题。 我试过了所有 SPI 模式、运气差。  

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

    尊敬的 PARTH:

    我将查看一下、并在周五之前回复您。

    此致、

    天使

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

    尊敬的 PARTH:

    这似乎您使用单个 SPI 事务来执行寄存器数据读取。  

    寄存器读取命令需要2个单独的 SPI 事务(CS 恢复为高电平、然后再次变为低电平)。

    以下博文显示了一个有关如何进行寄存器读取的示例: (+)[常见问题解答] LMP90100:从 LMP90100寄存器读取数据–数据转换器论坛–数据转换器–TI E2E 支持论坛

    您能否尝试将"读取寄存器地址0x22"命令的四个字节分为两个字节的2个 SPI 帧?

    此致、

    天使