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.

[参考译文] AFE4404:AFE 激活发送器和接收器模块的逻辑过程

Guru**** 2524460 points
Other Parts Discussed in Thread: AFE4404

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/709398/afe4404-logical-procedure-for-afe-to-activate-transmitter-and-receiver-blocks

器件型号:AFE4404

大家好、  

我有一个将 AFE4404连接到 SFH7050的定制板。 我正在使用 Arduino 代码通过 I2C 总线与 AFE 通信。 当我通过 I2C 发送地址(0x58)和数据字节时、它返回一个成功状态(即接收到的地址的 ACK)。 但是、我在做实验时没有任何运气。 这些是我遇到的症状列表。 我希望有人能帮我解决这个问题!

-当我尝试读取我已写入的寄存器(用于检查)时,它总是返回0。 我已将其初始化为使用内部时钟并发出一个除法(按因子2)。 但 CLKOUT 引脚上也没有任何内容。  

-当我为电路板加电时、SFH7050的 LED 不会亮起。  我想知道 TX 部分是否由任何寄存器控制。  

最后、数据表中有一条关于需要执行哪些操作才能使 AFE 与3个 LED 配合使用的陈述。 根据说明、我需要打开 LED 3信号并使 ENSEPGAIN4 = 1。 我在寄存器中找不到 LED 3 ON 信号。 我应该如何打开它?

我的问题是、初始化 AFE 并使其正常工作的过程是什么? 我已经设置了动态模式寄存器中的时序、LED 电流、时钟信号(所有断电特性都有值0)。 但我不知道电路板为什么不工作。  

非常感谢、请帮我解决这个问题。 谢谢!

Mona

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

    答案很少、
    1) 1)在读取任何寄存器(ADC 输出寄存器除外)之前、需要设置 REG_READ 位
    2) 2)这是在 CLK 引脚上引入内部时钟的过程。
    应用复位信号(SW 或 HW)。
    设置 OSC_ENABLE = 1
    设置 ENABLE_CLKOUT = 1
    3) 3)仅当您正确配置了 AFE 的所有时序信号时、传感器的 LED 才会亮起。 您可以首先尝试使用数据表表表表11中给出的样本寄存器设置。
    4) 0x36和0x37寄存器定义 LED3的 ON 信号。
    5) 5)我建议首先使用内部振荡器模式尝试数据表的表11中给出的采样寄存器设置。 另一个选项是从 EVM 的 GUI 获取寄存器设置。 对于您的情况、请在 GUI 中启用内部振荡器、并从低级配置选项卡中获取所有必需的设置。


    此致、
    Prabin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢 Prabin 给出的这些提示。 我将检查所有建议并告知您。

    我只是想补充一点、这个定制板不是来自 TI (它来自 MikroElectronica)。 幸运的是,我有用于另一个 AFE 的 EVM,我可能能够将 MSP 的 I2C 总线连接到 MikroE 板以进行调试:)

    再次感谢你。 我现在有许多新信息可以继续调试。
    Mona
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、感谢 Prabin、

    我尝试了你的建议,但没有运气,症状依然存在。

    在其中一项测试中、我跳过了时序信号、将 RST 保持在低电平40 μ s、然后将其拉至高电平、设置寄存器0x23 (内部振荡器、TIA 关闭、ADC 打开、其余 ADC 关闭、AFE 正常、RX 正常)、 然后将寄存器0x29中的 CLKOUT EN 设置为分频值128 (以获得31KHz 时钟)、并设置为尝试在输出引脚上引入 CLK。 CLK 引脚上没有电压(几乎为零或几毫伏)。
    如果未生成 CLK、我假设不起作用。

    然后在第二个测试中、为了查看我写入的寄存器的值、我只需在寄存器0x00中启用 REG_READ。 这是我在 I2C 事务中遵循的过程:

    -我在数组中为目标寄存器加载3个字节的数据、buff。 因此、buff [0]保存高字节、buff [1]保存中字节、buff [2]保存最低字节。
    -我发送寄存器地址。
    -我发送数据缓冲区(首先是索引0,然后是1,然后是2)。

    此时、必须启用 REG_READ。 接下来、我写入要读取的寄存器地址、并发送3个字节数据请求。 它始终返回零。

    我不知道我在哪里犯错。 但是、SFH7050的 LED 和 ckock 或读取寄存器都不起作用。 如果 AFE 或电路板出现故障、则无法返回 ACK 以在 I2C 总线上进行寻址和写入操作。

    感谢你的帮助。
    Mona
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    顺便说一下、我还有另外一个与计时信号相关的问题。 在 AFE4404中、没有用于对 ADC_RDY 信号时序进行编程的寄存器、对吧? 它只有 LED、采样时间、ADC 复位、转换和断电周期信号。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mona、

    是的、无法控制 ADC_RDY 的计时。 它由器件在第4次转换后生成。

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

    我怀疑 I2C 写入操作不正确。
    您是否可以在编写以下内容的同时探测 I2C 信号?
    设置 OSC_ENABLE = 1
    设置 ENABLE_CLKOUT = 1

    此致、
    Prabin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Prabin。 是的、问题是我生成了 I2C 信号、这样、在一个启动标志之后、寄存器和数据就会被写入。 它要求每个写入都有单独的启动标志。 问题现已解决。