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.

[参考译文] AFE4300:SPI 读写问题

Guru**** 2536350 points
Other Parts Discussed in Thread: AFE4300

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/720346/afe4300-spi-read-write-issue

器件型号:AFE4300

AFE4300与 STM32L0系列配合使用。 使用 stmcubemx 为 STM 生成启动代码。  0x6005写入寄存器地址0x09处的 DEVICE_CONTROL1。 但在读取时显示的是值0xff。 实际上、所有寄存器仅显示值0x00或0xff、读取时不显示其他值。 随附了代码的屏幕截图。 请告诉我解决此问题的可能调试点。

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

    以下帖子可能会对您有所帮助。

    e2e.ti.com/.../2658381

    此致、
    Prabin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Prabin、您好!
    我访问了上面的 e2e 链接。 我有几个问题。

    AFE4300支持的 SPI 时钟速率是多少、即 SCLK 的值?
    2.如何确保正确进行 SPI 读取和写入?
    3.24位字用于 SPI 通信。 其中 lsb 位用于发送数据、即0-15、16到20用于寄存器地址、21用于指示读取或写入功能。 22和23位的值应该是多少?
    4、例如需要读取 DEVICE_CONTROL1寄存器。 以下流程是否正常;
    a.在 SDI 引脚上发送090000h
    b.等待 Rdy 引脚从低电平变为高电平并返回低电平
    c.读取 SDOUT 引脚上的值以获取寄存器值
    d.重写 DEVICE_CONTROL1寄存器。
    5.是否有任何用于将 AFE4300初始化为体重秤测量模式的示例代码? 请提供指导
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Deepak、您好!

    答案很少、

    1) 1) SPI 时钟可以为4MHz。
    2) 2)启用体重秤信号链后、可通过测量 VLDO 引脚来检查 SPI 写入。 应为~1.7V。 可以通过读取已知寄存器的值来验证 SPI 读取。
    3) 3) D22和 D23应为0
    4)要读取 DEVICE_CONTROL1 (即0x09)寄存器、请执行以下步骤。
    a)通过 SDIN 引脚发送0x29、0x00、0x00。 这里 D21被设置为指示它是读取操作。 该字节将为0x09
    b)在执行步骤 A 时读取 SDOUT 引脚。 无需等待 ADC_RDY。 仅在读取 ADC 输出时需要 ADC_RDY。
    c)重新写入 DEVICE_CONTROL1的正确值。

    此致、
    Prabin