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.

[参考译文] ADS1248:IEXC1无激励电流输出

Guru**** 2540620 points
Other Parts Discussed in Thread: ADS1248

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/958805/ads1248-no-excitation-current-output-from-iexc1

器件型号:ADS1248

你(们)好。

我们在新设计中使用 ADS1248、ANI_TAT_HI_ELP 行的读数(下面原理图的左上角)在整个二进制范围内没有清晰的模式时会有很大的波动、并且该行始终在变化、因此我们无法解释。 其实现方式如下图所示:

我们相信、我们将通过 SW 在其寄存器中执行正确的配置、激励电流= 1mA (IMAG=110b)、使用 IEXC1 (I1DIR=1000)、选择 REFP0/REFP1耦合作为基准输入。 但是、在运行时期间、在由 IEXC1馈入的电阻器 R31上测得的电压始终为0、这表示 ADS1248的引脚#20未输出电流。

对于试验、我们已经将内部基准电压一直打开(VREFCON=1)或者关闭、并且我们甚至从电路中移除了两个二极管(D5和 D6)、并且结果保持不变(波动)。

我们在其配置中可能遗漏的任何内容或电路设计中的错误?

感谢你的任何帮助。

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

    我只想补充一点、该通道是3线 RTD 型探针(总空气温度探针)的接口、并且所有其他不需要激励电流的通道都已被 A/D 正确获取

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

    更新了:我们已确认 IEXC1缺少激励电流(0.00A)、下面是 ADS1248的配置、用于在引脚 IEXC1上输出激励电流、以防此处出现问题:

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

    你好、Chuck、

    他们使用哪种类型的 RTD、Pt100、Pt1000等?

    为什么此原理图中包含电容 C40和 C44? 我本来以为滤波器电容器(C39、C41、C42)就足够了、但也许它们还能满足另一个目的?

    您能否解释一下"结果波动"的含义是什么? RTD 两端的电压是波动的、还是在某个位置(例如 R31两端)测量 IDAC 电流、而该电流是波动的? 结果之间波动的是什么? 您能否发布一些数据进行审核?

    您提供的电路显然没有任何问题、因此我需要更多详细信息。 谢谢!

    布莱恩

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

    您好 Bryan、

    很抱歉耽误您的回答。  

    事实证明、软件编程的激励电流没有到达相应的寄存器、这说明了我的问题。 因此、在这种情况下、回答上述问题可能不相关、我想解释一下、看看您是否可以提供帮助。

    是的、在软件环路控制/读取周期的开始或结束(而不是在初始化期间)对激励电流进行编程时、执行相同的步骤后、一切看起来都很好、并且我们在每个通道(两个连接的 ADS1248中的每个通道6个)中获得了正确的电压电平。 但是、我不知道在初始化期间实现此类操作的步骤为什么不起作用。 下面是我的初始化序列、加电后大约为1.5秒、因此一切都应该保持稳定:

    TG0 寄存器 BUFID 芯片选择 MibSPI_TXRAM
    SDATAC - 0 NCS[1&5] 0x881D0016
    WREG SYS0 1 NCS[1&5] 0x981D0043
    WREG 0 2. NCS[1&5] 0x981D0000
    数据 SYS0 3. NCS[1&5] 0x881D0007
    WREG IDAC0 4. NCS[1&5] 0x981D004A
    WREG 1 5. NCS[1&5] 0x981D0001
    数据 IDAC0 6. NCS[1&5] 0x981D0006
    数据 IDAC1. 7. NCS[1&5] 0x881D008C
    同步 - 8. NCS[1&5] 0x981D0004
    同步 - 9. NCS[1&5] 0x881D0004
    SELFOCAL OFC1、2 10. NCS[1&5] 0x841D0062
    TG1
    RREG MUX0 11. NCS[1] 0x983D0020
    RREG 15. 12. NCS[1] 0x983D000F
    NOP MUX0 13. NCS[1] 0x983D00FF
    NOP VBIAS 14. NCS[1] 0x983D00FF
    NOP MUX1 15. NCS[1] 0x983D00FF
    NOP SYS0 16. NCS[1] 0x983D00FF
    NOP OFC0 17. NCS[1] 0x983D00FF
    NOP OFC1 18 NCS[1] 0x983D00FF
    NOP OFC2 19. NCS[1] 0x983D00FF
    NOP FSC0 20. NCS[1] 0x983D00FF
    NOP FSC1 21. NCS[1] 0x983D00FF
    NOP FSC2. 22. NCS[1] 0x983D00FF
    NOP IDAC0 23 NCS[1] 0x983D00FF
    NOP IDAC1. 24 NCS[1] 0x983D00FF
    NOP GPIOCFG 25 NCS[1] 0x983D00FF
    NOP GPIODIR 26 NCS[1] 0x983D00FF
    NOP GPIODAT 27. NCS[1] 0x843D00FF

    在发出 TG0 (MibSPI)之前、我已经确保 START 信号是并保持有效、并且在 SELFOCAL 命令之后、TG0和 TG1之间存在50ms 的延迟、该延迟应需要26ms 才能完成(SPS=640)。

    我知道、如果不采用 SPS=640、SELFOCAL 将需要超过2秒的时间才能完成。 为了确保这一点、我还删除了 SELFOCAL 命令、但结果仍然相同:寄存器回读(TG1)不包含编程值、如下面 MIBSPI3_RXRAM_base 捕获中所示:

    您看到我的步骤有什么问题吗?

    非常感谢。

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

    你好、Chuck、

    很高兴您解决了初始问题。

    您能在写入 IDAC 寄存器后立即读回它们吗? 那么、在执行2个同步命令之前? 让我们确保器件确认这些 WREG

    在这个过程中、您是否正确地保持了启动高电平? 你说"活跃"、但我只是想确认一下。

    您还说过、您可以使其在软件循环的开头或结尾工作、但不能在初始化时工作。 您在该环路中是否有任何不同的做法?

    布莱恩

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

    写入 IDAC0和 IDAC1后立即读取的操作确实正常:

    MIBSPI3_RXRAM[10]= IDAC0 = 0x96

    MIBSPI3_RXRAM[11]= IDAC1 = 0x8C

    但是、再说一次、不使用 TG1。

    因此、我将 SYNC、SYNC、SELFOCAL 替换为 NOP、仍然是相同的问题、相同的回读值与 TG1相同、即:

    MIBSPI3_RXRAM[27]= IDAC0 = 0x90

    MIBSPI3_RXRAM[28]= IDAC1 = 0xFF

    也就是说、当 TG0结束时、即使仅执行 NOP 或在 TG1之后、IDAC0和 IDAC1也不会保留其值、  

    是的、信号启动为高电平有效、因此当我说它处于活动状态时、它在整个过程(TG0+TG1)中确实处于高电平。

    软件循环中没有什么不同、我刚刚从其中复制了4条指令、并将其粘贴到上面显示的初始化部分中、一个例外是每个周期执行该操作。

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

    你好、Chuck、

    因此、我们已确定器件确实正确读取了寄存器、因此这很好。

    您能解释一下在 TG0和 TG1中发出命令之间会发生什么情况吗? 这只是50ms 的延迟吗? 在此期间、是否在 SPI 线路上发出了任何其他命令或流量? 是否有可能切换复位引脚?

    如果您删除了2x SYNC 命令、SELFOCAL 命令和相应的延迟、则 TG0后跟 TG1不应与您刚才进行的实验不同、在设置 IDAC 后立即发出 RREG 命令。 我可以看到的唯一区别是、TG1中的 RREG 命令读回所有寄存器、而 TG0中的 RREG 命令只读回2。

    布莱恩

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

    您好、Bryan、

    MibSPI3仅用于 ADS1248、在 TG0和 TG1之间、唯一的事情是50ms 延迟。 明天我将检查 RESET 引脚信号。

    我同意你对最后一段的发言。

    谢谢!

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

    谢谢 Chuck、请告诉我们。 如果您有逻辑分析仪、您可以查看所有通信线路、以查看命令之间是否有任何异常。 请发布您拍摄的任何示波器照片以供参考。

    仅供参考、由于假期的原因、未来几天的回复可能会延迟。

    布莱恩

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

    您好 Bryan、

    你完全是对的。 事实证明、复位逻辑在 ADS1248配置后发出了一个信号来复位 ADS1248、因此观察到的结果。

    非常感谢您的建议和支持。

    此致。

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

    谢谢 Chuck、很高兴您找到了它。

    布莱恩