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.

[参考译文] ADS7953:在手动模式下无法从所有通道读取数据

Guru**** 2585275 points


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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/636745/ads7953-not-able-to-read-data-from-all-channels-in-manual-mode

部件号:ADS7953

你好

我尝试从ADC的其它通道读取,然后从通道0 (由def选择)读取。 我确实增加了信道编号,我发送的数据是正确的,但对信道0的响应仍然是。

我尝试了所有的东西。 我先将其设置为手动模式。 发出0x1000。  

然后,我发送0x0000,让通道0在另一个零数据包后立即读取,以获得响应。 一切都很好,结果是预期的。  

当我为  通道1发送0x0080或0x1080以读取时,我获得通道0的结果。  

我可以随意增加,但仍然没有给出正确的回应。  

我认为它处于错误的状态。 我尝试从Auto1模式中为一个信道选择每个位的信道。 不管用。  

请帮助我,我做错了什么?

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

    我们正在对此进行调查,并将很快回复给您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Anns,

    您对通道1的输入信号是什么?

    您可以尝试以下测试吗:
    1)打开设备电源,但不进行任何编程(设备处于手动模式采样通道0)
    2)采集3个样本以验证通道0是否正常工作(第一个转换将无效)
    3)通过编程0x1080将设备切换到通道1
    4)在通道1上采集3个样本,每个循环使用0x1080对设备进行编程

    请告诉我通道1的所有3个样本的输出是什么。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Evan:

    感谢您的帮助,但我担心您的建议不起作用。

    对于所有3个样本,我的读数(6171)与通道0完全相同。 所以我读的是事实上的通道0。 该值等于1.042V。 但通道1为0。

    您能告诉我,MXO引脚在手动模式下的效率是什么? 如果该引脚未接地,您仍可以通过寄存器访问选择通道。 在我们的设计中,引脚高1.8V?

    如果我使用AINP接地此引脚,是否应该这样做?

    我可以先尝试一下,然后再回答我的问题。

    如果我这样做,会让您知道结果是什么。

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

    我尝试过上述想法,但没有什么不同。

    请您回答以下问题:

    1)如何重置设备,数据表建议可以重置,但未说明如何重置?

    2)如何确定设备当前处于哪种状态?

    3)增加信道增量不起作用的原因是什么?

    对这个问题的回答将会很有帮助。 我们在设计中有6个ADC,所有ADC都通过一个SPI总线进行调整,但CS不同。
    现在我可以读取两个设备的通道0,但不能读取通电后的其它设备的通道0。

    我希望我不会太混淆你们,但我现在正是这样观察的。

    请告诉我,您是否可以理解这一点?
    谢谢
    Anns
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Evan:

    我也已重置设备,但仍无法从其他频道读取。

    所以我选择的频道肯定是错误的,所以也许你。 如何确定设备是否处于手动模式,以便选择D10至D7的信道?

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

    我将深入研究数据表,看看是否还有其他问题。

    对于MXO引脚,必须直接或通过放大器连接到AINP,如数据表第一页的方框图所示。 如果未连接,ADC将只接收AINP引脚上提供的输入,而不管通过寄存器配置选择了哪个通道。

    如果可能,您能否尝试将输入切换至通道0和1,并查看是否仍然仅捕获通道0的值(现在将为0V)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Anns,

    我将发布您在此处找到的解决方案的摘要,以防其他解决方案出现类似问题。

    解决方案是提供以下代码序列:

    0x0000
    0x8000
    0x0000
    0x9000
    0xC000
    0x0000
    0x20FF

    使用上述代码初始化设备后,提供0x0000以转换当前输入,对之前的转换进行计时并将mux切换到下一个通道。