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.
您好!
我们在 SPI 模式下使用 ADC ADS127L01、我们的应用中有一个可变调制器时钟(CLK)来覆盖各种采样速度。 我对 SCLK 信号有几个问题。 在数据表中、要求 SCLK 周期 tc (SC)小于6250ns (SCLK 快于160kHz)。
1) 1)该要求是否独立于调制器时钟? 我正试图理解这样做的一个原因。 我曾考虑过 SPI 超时、但数字不匹配。
2) 2)我是否认为该要求仅在 CS 为低电平时有效、即当与 ADC 没有 SPI 通信时 SCLK 信号可能为低电平? 可能不正确、因为 CS 输入可能一直很低(我们在我们的应用中对其进行控制)。
3) 3)帧结束的情况。 假设调制器的工作频率为160kHz (可降至100kHz)、SPI 时钟(SCLK)的工作频率也为160kHz、因此满足最大 SCLK 周期、32位字从 ADC 传输到控制器。 然后还有另一个要求:从最后一个 SCLK 下降沿到 CS 上升沿(帧结束),必须有 td (SCCS)=2*tclk。 这是否意味着 SCLK 可以在该期间处于低电平? (CS 仍然为低电平)
4) 4)对于调制器时钟的低频、SCLK 是否无法与调制器时钟同步? 数据表中图127上的图表明、SCLK 除以调制器时钟的副本。 对于 ME、这意味着此配置仅对高于320kHz 的调制器时钟有效(对于调制器时钟100kHz...320kHz 不正确)
4B)图127建议 SCLK 为自由运行的时钟。 是否可以暂时停止? 没有指定 tw (SCHL)最大值、只有令人困惑的最大 SCLK 周期。
4C)我对的是、当 OSR 设置为32并且 SCLK 比调制器时钟慢两倍时、将无法传输32位数据(即使是24位数据)、如图127所示。 那么、最好的策略是什么? 我认为唯一的可能性是门控时钟的速度与调制器时钟一样快、并且传输的只有24位(没有获得32位的空间)、或者 SCLK 的更快(比调制器)异步时钟。
谢谢、
Robert
您好、Robert、
请参阅以下问题的答案/意见。
1) 1)该要求是否独立于调制器时钟? 我正试图理解这样做的一个原因。 我曾考虑过 SPI 超时、但数字不匹配。
是的、此要求与调制器时钟无关。 我需要研究此规格的原因。 在任何情况下、为了获得最佳性能、最好将 SCLK 与 CLK 同步、并且为2:1、1:1、1:2等比率。 在您的情况下、如果您以 CLK=100kHz 的频率运行、那么 SCLK=200kHz 将是一个不错的选择。 如果您的最小 CLK=160kHz、那么您可以将 SCLK=CLK 保持在17.5MHz 的最大 CLK 速率。
2) 2)我是否认为该要求仅在 CS 为低电平时有效、即当与 ADC 没有 SPI 通信时 SCLK 信号可能为低电平? 可能不正确、因为 CS 输入可能一直很低(我们在我们的应用中对其进行控制)。
当串行接口空闲时、SCLK 应该保持低电平。 如果/CS 为高电平、SCLK 可为 SPI 总线上的其他器件激活、但为了实现低噪声性能、最好在不从 ADC 读取/写入数据时保持 SPI 总线空闲。 是的、只有当/CS 为低电平且 SPI 处于空闲状态时、才需要保持 SCLK 为低电平。
3) 3)帧结束的情况。 假设调制器的工作频率为160kHz (可降至100kHz)、SPI 时钟(SCLK)的工作频率也为160kHz、因此满足最大 SCLK 周期、32位字从 ADC 传输到控制器。 然后还有另一个要求:从最后一个 SCLK 下降沿到 CS 上升沿(帧结束),必须有 td (SCCS)=2*tclk。 这是否意味着 SCLK 可以在该期间处于低电平? (CS 仍然为低电平)
是的、在最后一个 SCLK 之后、在使/CS 变为高电平之前、保持 SCLK 为低电平。 在/CS 高电平到低电平转换和/CS 低电平到高电平转换时、SLCK 应该为低电平。 此外、如果在 MCU 中使用 SPI、则可以在3个或4个8b 块中传输数据、在 SCLK 较低的每个8b 之间存在延迟。
4) 4)对于调制器时钟的低频、SCLK 是否无法与调制器时钟同步? 数据表中图127上的图表明、SCLK 除以调制器时钟的副本。 对于 ME、这意味着此配置仅对高于320kHz 的调制器时钟有效(对于调制器时钟100kHz...320kHz 不正确)
否、CLK 可设置为100kHz、SCLK 设置为160kHz。 但是、最好是 Fclk/Fsclk=2^n 的比率、其中 n 可以是满足其他时序要求的任何整数值(即-1、0、+1)。 如果您希望以100kHz 的最小频率运行 CLK、那么 SCLK 的最佳最小值将是200kHz、源自相同的时钟源。
4B)图127建议 SCLK 为自由运行的时钟。 是否可以暂时停止? 没有指定 tw (SCHL)最大值、只有令人困惑的最大 SCLK 周期。
是的、当以字节增量传输数据时、SCLK 可以空闲低电平、在多个8b 传输模式下使用 SPI 就是这种情况。
4C)我对的是、当 OSR 设置为32并且 SCLK 比调制器时钟慢两倍时、将无法传输32位数据(即使是24位数据)、如图127所示。 那么、最好的策略是什么? 我认为唯一的可能性是门控时钟的速度与调制器时钟一样快、并且传输的只有24位(没有获得32位的空间)、或者 SCLK 的更快(比调制器)异步时钟。
不可以、SCLK 可以等于 CLK、并且当这两个时钟源来自同一个时、将提供最佳的总体性能。 但是、当使用32的 OSR 时、您将无法满足 SCLK=CLK 和32b 数据的所有时序要求。 在这种情况下、您可以禁用状态字并仅传输24b 数据、SCLK=CLK。 如果 CLK 为10MHz 或更低,您还可以设置 SCLK=2*CLK,然后有足够的时间传输32b 数据。
例如、ADS127L01EVM 修复了 SCLK = 16MHz、CLK 可设置为16MHz、8MHz 或4MHz。 下面是一个示例、其中 OSR=32、CLK=4MHz、SCLK=16MHz。
此致、
Keith Nicholas
精密 ADC 应用
您好、Keith、
非常感谢您澄清 SCLK 要求。 答案很好!
此致、
Robert
您好、Robert、
不用客气。
此致、
Keith
您好、Robert、
我在设计中检查了最大 SCLK 周期(最小频率)、并确认存在需要最小频率的内部超时。
希望这一要求在您的系统中易于解决。
谢谢!
此致、
Keith