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.

[参考译文] ADS114S06:与 ADS114S06进行 SPI 通信

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/758644/ads114s06-spi-communication-with-ads114s06

器件型号:ADS114S06

尊敬的先生/女士:

我们按照 ADS114S06数据表中的建议设计了一个用于温度测量的电路、但我们无法读取寄存器映射中显示的默认寄存器数据。

在控制器程序中、我们设置了 SPI 通信模式1 (CPOL = 0、CPHA = 1)。 我们使用8位 SPI 通信。

请建议合适的解决方案

谢谢你。

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

    很遗憾听到您在与 ADS114S06通信时遇到问题。 CPOL=0和 CPHA=1设置应该起作用、您能验证是否为芯片选择输入提供了正确的设置和保持时间、并且电源全部有效并且器件没有被保持在复位状态吗? 示波器的原理图和计时屏幕截图将帮助我们加快您的设计速度。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jehan、

    除了 Tom 的评论之外、另一个很常见的错误是在整个通信事务中不将 CS 保持在低电平。 如果您将 SS 引脚用于 micro SPI 外设、则该引脚将针对传输的每个字节进行切换。 这将导致通信取消。 通过 GPIO 在整个通信事务期间将 CS 保持为低电平来控制 ADS114S06的 CS 引脚、或将 CS 连接为低电平。

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

    您好、Tom、

    我们使用3线 SPI 通信、因此仅使用来自 ADS114S06的 DIN、DOUT 和 SCLK 引脚、ADS114S06分别连接到 MISO、MOSI、SCLK 引脚。

    我们使用8位 SPI 通信、其中 SCLK 时钟频率为460KHz。 SPI 节点上只有单个从器件可用、因此 CS 引脚连接到 GND 引脚。

    我们希望使用连续转换模式、以便将启动/同步和复位引脚连接到3.3V。 我们使用 ADS114S06的内部时钟作为时钟源、因此 CLK 引脚连接到 GND。

    我们已经检查了两个连续查询之间的时序延迟、大约为10µsec μ s。 根据 ADS114S06数据表中提到的、这个时间就足够了。

    请在下面找到附件电路图。

     


     

    谢谢你。

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

    根据您的描述、SPI 连接不正确。 MOSI (主器件输出从器件输入)应连接至 DIN、MISO (主器件输入从器件输出)应连接至 ADS114S06的 DOUT。

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

    尊敬的 Bob:

    我们按照您的建议连接 DIN 和 DOUT 引脚。 这是我们的书写错误。

    今天、我们还在 DOUT 引脚上观察到随机尖峰。

    请查找随附的 SPI 通信波形图像、以了解时序相关信息、随机尖峰观察和接收到的数据

    来自 ADS114S06

    谢谢你。

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

    如果将 CS 设置为低电平、则部分问题是命令需要超时、因为您发送的命令没有足够的 SCLK。 您的命令是从寄存器1开始读取寄存器、读取10个寄存器(因为第二个字节是要读取的寄存器数量减1)。

    此外、您的许多数字线路会通过电阻器、或作为上拉或下拉电阻器连接到电阻器。 我建议确保 ADS114S06的器件引脚上的所有电源可用、并且 RESET 被拉至高电平。 如果缺少任何电源、或者复位引脚悬空或保持低电平、器件将不进行通信。

    检查 ADS114S06是否真正处于运行状态的另一种方法是将 START/SYNC 引脚拉至高电平并监控 DRDY。 DRDY 应以默认数据速率进行脉冲。 如果您未看到这一点、则 ADS114S06未通电或处于复位状态。

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

    尊敬的 Bob:

    我们检查了 ADS114S06所有引脚上的所有电源电压、我们观察到所有电压都足够、如数据表中所述。

    在当前状态下、我们观察 到来自 ADS114S06 DOUT 引脚的60µSec μ s 尖峰。 在之前的注释图像中、您可以观察到 ADS114S06的 DOUT 引脚上出现尖峰。

    谢谢你

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

    我不知道什么可能导致 DOUT 上的尖峰。 一种可能的情况是 CS 不能通过电阻器良好地连接到接地端、实际上可能是悬空的。 您是否有任何其他器件连接到 DOUT? DOUT 附近是否有任何可能导致串扰的布线?

    您是否更正了 RREG 命令中的错误? 如果发送的命令不完整或不正确、则在尝试读取或写入器件时会出现持续问题。 这也可能导致 DOUT 毛刺或尖峰、具体取决于解码为命令的内容。

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

    尊敬的 Bob:

    没有任何其他器件连接到 DOUT 引脚。 我们已经检查 CS 引脚上的电压、它是永久性的 GND。  

    我们已经更正了 RREG 命令、我们也获得了正确的数据。 但每1.2ms 持续时间内可提供62µsec μ s 的尖峰。 因此、请为这一个建议合适的解决方案。

    谢谢你。

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

    我假设 ADS114S06使用默认设置(20sps 的单次转换模式)。 您是否尝试写入 ADS114S06的任何配置寄存器? DOUT/DRDY 引脚是双功能引脚(请参阅数据表第60页的第9.5.1.4节)。 DOUT/DRDY 引脚将跟随 DRDY 引脚转换周期结束。 如果将 ADS114S06配置为连续转换和800sps、您将看到 DOUT/DRDY 引脚转换、这与您所述的方式类似。 您可以通过在 DRDY 和 DOUT/DRDY 上放置示波器探针进行验证、并且您应该会看到相同的更新周期。

    双功能的原因是、在某些情况下、微控制器的输入数量有限、DOUT/DRDY 可用作 DOUT 和 DRDY。 如果使用 CS 时有多个器件连接到 SPI 总线、要求 DOUT/DRDY 处于高阻抗状态、则单独的 DRDY 会很有用。 DRDY 是一个始终有效的输出、可与 SPI 通信分开进行监控。

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

    尊敬的 Bob:

    我们检查了 DOUT/ DRDY 和 DRDY 引脚的波形。 我们观察到两个引脚上可用的随机尖峰、如上述注释所述。

    是否存在任何缺点或会对温度测量过程造成任何问题?

    目前、我们正在尝试读取 ADC 数据、但从 ADC 输出中得到的值为零。

    所有配置寄存器均根据我们的要求进行设置。 引脚上的所有电压也与数据表中提到的数据相匹配。

    但我们仍然从 ADC 输出获取零值。

    请为此向我们推荐合适的解决方案。

    谢谢你。

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

    您好、Jehan、

    由于您看到的"开关"与转换结束有关、因此这不会影响您的测量。  

    • 您能否向我发送您正在使用的所有配置寄存器设置?  
    • 什么连接到输入?  
    • 您希望看到什么是正确的转换结果?  
    • 正在使用哪种读取数据的方法?  是直接还是使用 RDATA 命令?
    • 您想要测量什么温度传感器(TC、RTD 等)?
    • 您能否向我发送通信的示波器截图以读取转换结果?

    一个注意事项是、您应该在每个转换周期结束后读取数据、或者以更高的数据速率运行 ADC 没有任何优势。  确保 DRDY (或 DOUT/DRDY)从高电平状态转换为低电平状态后、立即读取转换结果。  如果使用 RDATA、则需要24个 SCLK (RDATA 命令加上16位数据)。

    当我获得上述问题的答案后、我可以更准确地回答您为什么会看到"0"结果的问题。

    此致、

    Bob B

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

    尊敬的 Bob:

    • 我们的代码流程如下所示  
      • 在 模式1中配置微控制器 SPI
      • 通过命令复位 ADS114S06  
      • NOP 命令
      • 2毫秒延迟时间
      • 从0x42 (输入多路复用器寄存器)开始设置 ADS114S06 8寄存器的 WREG 命令[0x42-0x07-0x12-0x0D-0x14-0x3A-0x00-0xFF-0x04-0x10]
      • 启动命令
      • 2毫秒延迟时间
      • RDATA 命令  
      • 2用于计时16位数据的 NOP 命令、我们在其中获取0x00结果
    • 在输入侧、我们连接了 J 型热电偶
    • 写入上述寄存器后、我们使用 RREG 命令对其进行检查、为了读取 ADC 输出值、我们使用上述序列中所述的 RDATA 命令
    • 我们需要测量热电偶 mV 数据

    谢谢你  

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

    您好、Jehan、

    我建议查看文档"热电偶测量基本指南":

    http://www.ti.com/lit/an/sbaa274/sbaa274.pdf

    请参阅下面我的评论。

    此致、

    Bob B

    [引用用户="Jehan Patel"]

    尊敬的 Bob:

    • 我们的代码流程如下所示  
      • 在 模式1中配置微控制器 SPI
      • 通过命令[BB]复位 ADS114S06此命令可能不需要。  在所有电源达到标称电压后、ADS114S06应脱离上电复位(POR)。
      • NOP 命令[BB]在执行 RESET 命令后、不应立即发出此命令。  在发出 RESET 命令后与 ADS114S06进行任何进一步通信之前、您必须等待器件完全完成复位状态。
      • 2毫秒延迟时间
      • WREG 命令、用于设置 0x42 (输入多路复用器寄存器)开始的 ADS114S06 8寄存器[0x42-0x07-0x12-0xD-0x14-0x3A-0x00-0x00-0xFF-0x04-0x10][BB]要进行扼要重述、您将使用 AIN1和 AIN2输入、PGA 启用、增益为32、内部时钟滤波器禁用、持续时间为低延迟、IDACS 转换和持续时间为低延迟 AIN2上的 VBIAS、禁用 SPI 超时、不发送 CRC 或状态字节。  由于您将 CS 连接为低电平、因此无法重置 SPI 通信、因此您可能需要考虑启用 SPI 超时功能。  请注意、当您首次打开内部基准电压时、会有一些稳定延迟。  请参阅数据表第34页的表10。
      • START 命令[BB]该命令不执行任何操作、因为 START 引脚被拉至高电平(如原理图所示)、这将控制转换是否正在运行。  请参阅数据表第64页的第9.5.3.5节。  请注意、如果配置寄存器发生更改、转换将重新启动。  数据表第66页的第9.5.3.12节对此进行了讨论。 因此、如果 START/SYNC 引脚被拉至高电平、则不使用 START 命令。
      • 当发出 WREG 命令时、2msec 延迟时间[BB]转换将重新启动。  20sps 时、第一次转换的新数据在 WREG 命令之后的56.504ms 内将不可用。  请参阅数据表第40页的表13。  最佳方法是监控 DRDY (或 DOUT/DRDY)是否存在指示新转换结果就绪的高电平到低电平转换。
      • RDATA 命令  
      • 2用于超时16位数据的 NOP 命令、在这里我们得到0x00结果[BB]我并不惊讶第一个输出全为零、因为您在读取转换之前等待的时间不够长、无法完成转换。  如果您循环使用 RDATA 命令、您是否始终会看到0V 输出?  在示波器或逻辑分析仪屏幕上实际看到 RDATA 命令非常有用。
    • 在输入侧、我们连接了 J 型热电偶[BB]、在室温下、您应该会看到大约475个代码作为输出结果(或大约1.1mV)。  该 TC 应连接在 AIN1和 AIN2之间。
    • 写入上述寄存 器后、我们使用 RREG 命令检查该寄存器、并使用上述序列[BB]中提到的 RDATA 命令读取 ADC 输出值、您还应通过在 REFOUT 引脚上测量2.5V 电压来验证基准是否正常运行。  此外、通过在 AIN2处测量大约1.65V 来验证 VBIAS 是否导通。
    • 我们需要测量热电偶 mV 数据

    谢谢你  

    [/报价]