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.

[参考译文] ADS1148:获取数据时出现问题

Guru**** 2614265 points
Other Parts Discussed in Thread: ADS1148, TPS3836

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/681578/ads1148-issue-in-obtaining-data

器件型号:ADS1148
主题中讨论的其他器件: TPS3836

我在尝试从 ADS1148的 SPI 接口读取数据时遇到了与 Amitech 非常相似的问题。  当我尝试进行简单的 ID 寄存器读取时、我返回的所有值都是 DOUT 上的零。  我不知道是什么问题、因为所有的时间看起来都很好。  我反复阅读数据表、找不到任何不合适的东西。  我开始认为我的 DOUT 信号损坏了。  但是、根据 Joseph Wu 的建议、我发现问题: 数据表上的 T rhsc 规格错误或内部时钟未以4 MHz 运行。  这是复位参数后的串行接口通信。  在我的板上、SPI 接口响应命令之前、似乎需要大约210ms、而不是0.6ms。

我使用的是连接到我自己的 PIC 微控制器的 ADS1148EVM 模块。 我连接了一个逻辑分析仪、以便根据数据表验证我的 PIC 是否发送 SPI 信号。  复位后、当我保持启动高电平、从大约0.5 S 开始时、我可以看到/DRDY 信号以5Hz 的频率脉冲。  感谢 Joseph 指出 ADS1148在复位后默认为连续转换模式。  通过延迟数据读取直到/DRDY 变为低电平、我终于看到 DOUT 信号从零变为一。  然后添加寄存器读取命令、最终让我确信 SPI 接口工作正常。  

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

    Cliff、


    我很高兴您能让事情正常工作。 听起来您能够对电路进行逻辑调试。

    但是、我必须更详细地了解 T rhsc 规格。 与列出的0.6ms 规格相比、210ms 的长度是一段很长的时间。 这将是一个巨大的差异。 您是否包含完成第一次转换的时间。 在5SPS 时、这将包括200ms 的标称时间。 除此之外、标称时钟频率会有±5%的变化、这将使您达到210ms。

    无论如何、我可能会检查0.6ms 数的来源。 感谢您的评论。


    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我看到了200 ms 的转换时间、想知道这是不是我看到的延迟的原因。 但是、从其他线程中的过帐来看、正在进行的转换不应阻止 RREG 命令。 应该这样吗?

    在我释放硬件复位后、我的测试程序启动了1ms。 我发送了连续命令来读取 ID 寄存器、该寄存器具有大约1个位。 在释放复位后大约210ms 之前、我在 DOUT 线路上没有看到任何1个位。 起始线保持高电平。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Cliff、


    RREG 命令不应被转换阻止、但复位将从上次转换中复位 DOUT 寄存器。 一旦释放复位(/RESET 变为高电平),转换就会触发重新加载器件的默认设置,这将需要器件中的16个调制器(16*31.25us),该值应约为0.5us。 我想、对于内部振荡器频率的变化、添加了100us。 这不同于首次加电时发生的复位(加电复位)、该复位会在与器件进行通信之前增加大约32ms。

    正常复位后、器件应释放所有寄存器、这包括配置寄存器、DOUT 和数字滤波器累积。

    可能需要一些时间、但我将看到我是否可以重复您的测试。 我不知道是否可以完全重复、因为它需要对/RESET 引脚进行一些控制、但我应该能够对 RESET 命令计时。


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


    为了让您知道、在器件复位后、我几乎能够立即从器件中读取数据。 请注意、我的复位来自命令、而不是作为复位引脚的切换。

    在我的测试中、我写入器件并将 MUX0寄存器设置为03 (而不是将其保留为01)。 然后、我从寄存器中读回、以确保写操作正常、并且寄存器中保留了03。 我还读回所有寄存器、以检查它们是否正确。

    然后、我在一个/CS 周期内写入06并从寄存器读回所有内容。 从发送复位到发送读取寄存器的时间、可能小于20us。 其短路之处是03重置回默认值01h。 我认为、在尝试根据任何出厂编程值重新写入任何寄存器之前、复位会首先将寄存器恢复为默认值(这说明了0.6ms 的限制)。 无论如何、复位完成后、寄存器数据立即按我的预期显示。

    无论如何、我不知道我是否有一个能够测试引脚控制复位情况的控制器。 对于您的设置、您是否有逻辑分析仪或示波器来验证您的时序? 它可能有助于使用/reset、DIN、DOUT、SCLK 和可能的/CS 来验证复位和读取的顺序。


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

    我明白了。  当我连接连接以复制您的测试时、我更仔细地查看了原理图、并注意到 J7.6上的硬件复位信号通过了 TPS3836毫微功耗监控电路。  在数据表中、可以针对200ms 的复位延迟对 IC 进行接线、这就是它的样子。 啊!

    因此、需要提醒使用 ADS1148EVM 板的任何人 J7 复位线路上的延迟约为200ms!

    感谢您的观看。

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


    我很高兴您能找到解决方案。 我过多关注器件的内部操作、而不是原理图! 无论如何,这是一个很好的收获。

    如果您对器件有任何其他问题、请随时回帖另一个问题。


    吴约瑟