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.

[参考译文] TDC7200:写入函数

Guru**** 2539500 points
Other Parts Discussed in Thread: TDC7200, TDC1000

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1554980/tdc7200-write-function

部件号:TDC7200
主题中讨论的其他器件: TDC1000

工具/软件:

您好!

我在将值写入寄存器时遇到问题。

我能够在上电时读取寄存器的默认值、但无法写入任何值。

我尝试了将一个 0x00 和一个 0x45 值写入 CONFIG1 寄存器、该寄存器已成功完成、但无法向 CONFIG1 寄存器写入任何其他值。

我使用的是 STM32 微控制器。

如何继续?

谢谢!

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

    尊敬的 Ritvik:

    感谢您发布到传感器论坛!

    只是为了在我这边进行验证、在写入寄存器后、是否无法读回刚才写入的内容? 您是否能够通过逻辑分析仪共享 SPI 写入通信的屏幕截图、以便我可以尝试查看 SPI 通信是否存在问题?

    此致、

    ~Alicia

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

    尊敬的 Alicia:

    我目前面临的问题是我的结果非常不一致。 例如,昨天我能够读取所有寄存器的默认值,但现在我无法这样做。 此外、我修改了向寄存器配置写入几个值! 这是我可以做没有任何问题,但只要我使用循环,我无法读取或写入.

    所以我有一些疑问-

    1) 是否存在任何条件、例如我只能向特定寄存器写入特定值?

    2) 寄存器是否只在断电和断电时复位、或者我可以使用我的代码重置值?

    3) 我必须在一个片选转换中执行单个写入或单个读取命令,还是可以在一个片选转换中执行多个功能?

    谢谢

    Ritvik

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

    尊敬的 Ritvik:

    对不起,我今天不能做到这一点,但我应该有一个时间明天来看看这个。

    此致、

    ~Alicia

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

    尊敬的 Alicia:

    没问题。 请尽快回到我这里!

    谢谢!

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

    尊敬的 Ritvik:

    我知道您之前提到过、您无法从器件读取数据、现在是否能够读取数据? 您提到了使用循环进行读取/写入时遇到问题、您是否能够通过逻辑分析仪分享结果波形?

    1) 是否存在任何条件、例如我只能将特定值写入特定的寄存器?

    一般来说、您应该能够使用 对应用有意义的任何值来配置 R/W 寄存器。 您不应写入的唯一位是数据表中标记为保留的位。

    2) 只有在关机和关机时才重置寄存器、或者我可以使用我的代码重置值吗?

    当器件断电或使能引脚拉至 GND 时、寄存器设置将在内部 LDO 关闭时丢失。 然后、当上电且使能引脚连接到 VDD 时、器件将使用默认设置初始化寄存器。

    3) 我是否必须在一个芯片选择转换内执行单个写入或单个读取命令、或者是否可以在一个芯片选择转换内执行多个功能?

    您应该能够在单个芯片选择信号内执行多次读取或写入。 只需确保 写入事务包含单个 写入命令字节、后跟单个数据字节、而读取事务包含单个读取命令字节、 后跟 8 或 24 个 SCLK 周期。

    此致、

    ~Alicia

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

    尊敬的 Alicia:

    现在我能够读取和写入寄存器。

    我最初有一个疑问、想从 TDC7200 向我的 TDC1000 发送触发信号、并检查是否产生了启动脉冲、我必须进行哪些设置才能这样做。

    此外、我还应该在主代码执行后将使能引脚拉低。

    谢谢、

    RItvik。

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

    尊敬的 Alicia:

    请尽快回来!! 我的项目迟到了。

    谢谢

    Ritvik

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

    尊敬的 Ritvik:

    对延迟的回复表示歉意。

    要使用 TDC7200 触发 TDC1000 上的启动脉冲、您需要通过 SPI 在 TDC7200 上设置测量序列并确保两个芯片正确连接(即,TDC1000 的 START 引脚连接到 TDC7200)。 TDC7200 的 TRIG 输出引脚将向 TDC1000 的触发输入引脚发送一个脉冲、提示 TDC1000 启动超声波脉冲并产生自己的启动脉冲。

    有关这方面的更多信息、请参阅以下文档 https://www.ti.com/lit/ug/tidu965a/tidu965a.pdf

    此致、

    ~Alicia