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.

[参考译文] ADS8353:串行(SPI)通信

Guru**** 2511985 points
Other Parts Discussed in Thread: ADS8353

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/796686/ads8353-serial-spi-communication

器件型号:ADS8353

尊敬的先生/女士:

根据 e2e 上的答案、 如果我要使用 uC 的标准 SPI 外设、我应该在 SDO 线路上使用 D 触发器。 当我尝试使用 CPOL=0、CPHA=1通过内置 SPI 外设与 STM32F412通信 ADS8353时、读取帧时没有问题、因为在 uC 上的 SDO 和 MISO 引脚之间没有任何滤波器。 我尝试与 ADC 进行通信的速度尽量慢(125kHz CLK)、帧之间等待时间很长(1us)、速度也一样快(25MHz CLK、[我知道它超出规格]、200ns CS 高电平)、我没有发现任何差异。 uC 获得的转换结果在这两种情况下均符合预期、并且寄存器的回读也如数据表中所述、在这两种情况下、我都没有看到数据下降。 另一方面、当我在示波器上使用 SPI 解码功能时、SDO 数据会按照串行通信上链接的 e2e 问题中的说明进行内联解码(根据 SPI 规范被一个位监听)。

我所使用的电流设置(ADC 安装在分线板上并放置在试验电路板上、UC 安装在 Nucleo 开发板上、两者均通过10cm 的导线连接) 是否会导致这样的延时、使 UC 看到 SDO 数据被移位、从而使其正确读取? 在具有 ADC 的正确 PCB 上、靠近放置 uC 是否可能不会出现此类延迟、并且接收到的数据将被移位一位? 在这种情况下、使用触发器而不是仅在 UC 的软件中将接收到的数据移动一位有什么好处? 我在这里缺少什么吗?

此致、

韩国

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

    您在何处测量示波器上的 ADS8353信号? 您是在控制器侧还是在 ADC 侧监控10cm 导线? 试验电路板和导线可能会影响信号完整性。 我看到的潜在问题是、您可能会错过 MSB、因此、一个简单的"软件换档"可能不适合您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,ROK,

    我同意在某些情况下可以毫无问题地读取和写入 ADS8353。 但是、考虑到您的范围与 uC 之间存在差异、我想您说的正确之处是、计时延迟或逻辑阈值可能足以在您的当前设计中正常工作。 我认为使用 D 触发器与在软件中移动数据相比、其优势在于您可以确保正确捕获数据、并且不会错过 MSB。 如您所见、ADS8353中的 SPI 定义不遵循传统 SPI 模式、因此触发器是使用标准 uC SPI 外设的更可靠解决方案。

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

    感谢您的回复。 无论我在何处探测 SDO 线路(在转换器侧或直接在 uC 引脚)、我始终会获得预期结果(根据数据表)、因此不会使用传统的 SPI 模式。 但 UC 会以某种方式读取正确的值、因为它将是传统 SPI。 我已经交付了定制的 PCB、我将在有时间后立即在这些 PCB 上尝试。

    但老实说、我不明白为什么我会错过 MSB。 在任何情况下、对于 ADS8353、在开始输出转换数据之前都必须使用16个脉冲进行预频处理。 由于 SPI 的性质、我无论如何也会捕获"空"位。 因此、在任何情况下、我的 UC 中每次转换都有48位数据。 因此、如果事实证明有必要、只需移动一位即可。 只要位流的捕获是始终可重复的、我就不会发现任何问题。

    我不喜欢在应用中使用其他组件的主要原因是我的 PCB 上的空间不足、无法承受单侧负载。 如果我要在其上添加其他组件、我必须使用双面负载、我尝试避免这种情况...

    此致、ROK

    P.S. 任何可能感兴趣的人。 通过使用两个 SPI 外设、我设法将 ADS8353双 SDO 模式与 STM32F4结合使用。 一个用作主器件(MISO 连接到 ADS 的 SDA)、另一个用作从器件、MOSI 连接到 ADS 的 SDO B。 主器件 SPI 为 ADS 和从器件 SPI 外设提供时钟、并且两个 SPI 数据寄存器的数据均由两个不同的 DMA 流提取到两个单独的缓冲器中。 这样、开销最小化、而且来自两个通道的数据结构良好、可供进一步处理。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 ROK:

    如果您获得了良好的数据、这就是真正的成熟。 我忘记了您需要在 MSB 输出之前有额外的时钟、因此在这种情况下、您不会错过任何内容。 请告诉我们生产板是如何为您工作的、感谢您在双输出模式操作中的 tidbit!