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.

[参考译文] RM48L952:块传输间的 SPI4延迟

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/570042/rm48l952-spi4-delay-between-block-transfers

器件型号:RM48L952

您好!


我们使用 RM48L952PGE 封装上的 SPI4与模拟器件 AD5421 DAC 进行通信。 到目前为止、我们无法从 DAC 中获得响应、我们已努力复制从模拟器件开发平台获得的协议格式。 您可以在下面的屏幕截图中看到开发系统消息和响应(频道00至03)以及我们的通信格式(频道04:07)。 它是一个24位或32bt 传输、如下所示、我们现在以24位模式运行、SPI4被设置为3 x 8位块的传输。

看起来发送的消息是正确的、但我无法解决三个关键问题

1. RM48上连续块传输之间的延迟,是否可以减少这一延迟,使其真正连续? 将时间 A1-A2减至零?

2.是否可以在首次 EN 有效转换之前启动时钟? 我不认为这很重要、但评估板确实会在发送第一个块之前很早就开始计时

3. RM48上的 MISO 通道的默认状态是否有设置(屏幕截图中的 ch07)? 我不能使它变低、似乎一直保持高电平。 如果这不是 MCU 侧问题、我可以在我们的硬件配置上进一步调试。

我认为"1"可能是这里的关键问题、我也接触过模拟器件、但他们的支持不够及时。


谢谢

Jamie

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

    在 SPI 上传输之间有一定的最小时间... 它不会像 I2S 端口那样连续运行。
    我想您可以通过使用16位传输而不是8位传输和使用多缓冲模式来缩短 A1-A2的时间
    在开始前将多个传输排队、以便传输之间不会由于 CPU 或 DMA 而出现延迟。
    但是、您可能会看到至少几个 VCLK 死区时间;如果您设置了延迟参数、这可能会更长。
    因此,请检查您对 WDEL 和 C2T、T2C 等其他延迟字段所做的工作... 寄存器中的值。

    ADI 数据表显示端口与 SPI 兼容、因此我不确定这是问题所在。

    您是将 RM48 SPI 用作主器件还是从器件? 我很难理解逻辑分析仪快照中的两个时钟以及原因
    DAC 上似乎有一个自由运行的时钟。 (我的第一个想法是它具有更多的 I2S 接口、但我在数据表中没有找到备份的接口。)

    对于 Q2、您可以控制时钟的相位和极性、但我不知道这是否为您提供了所需的自由度。

    对于 Q3、需要了解背景。 这是主器件输入-从器件输出引脚、并且您正在主器件模式下运行、您想知道是否可以强制此输入进入给定状态?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在尝试使多缓冲驱动器运行之前、我将更仔细地查看我们的 PCB 电路。 或者、正如您所说的、我可以跳转到尝试协议的32位格式来减少块之间的这段时间。

    AD5421评估板作为从器件连接到模拟器件 SDP-B 平台板、模拟器件的 UG-RMA 数据表介绍了设置。 我假设它使用 SPI 进行驱动、并且他们只是对 SDP-B 进行了编程、以提早投射时钟、实际上并不是100%的自由运行时间。 下面的屏幕截图显示了启用活动前的提前程度。

    我认为时钟相位和极性符合 DAC 要求、我不明白为什么他们需要在 EN 激活之前启动时钟。 我现在假设这不是问题。

    是通道7是主器件输入-从器件输出。 它应与评估板上的通道03活动相同。 我将更详细地介绍这一点、因为我们的电路可能会将其上拉、或者我们错误地集成了 DAC。 当该引脚连接到 AD5421 DAC 的 SDO 引脚时、我看不到该引脚始终保持高电平的原因。

    我将告诉您如何继续。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可能会疯狂地尝试让 RM48 SPI 产生与 UG.250完全相同的信号。

    看起来、他们将此连接到所谓的"运动"、而不是 SPI。 体育运动我记得、从我在 TI 从事音频 DSP 工作的那几天起、它就像我们的 McASP 一样。 我认为这真的是一种不同的烧烤,专为 I2S 或 TDM 设计,具有一个自由运行时钟和“帧同步”信号来标记通道... 它可能具有某种 SPI 仿真[我不是 ADI 专家;)],但如果真的很好,我不明白为什么它们会在原理图中将 SPI 引脚悬空。

    DAC 可能可以与多种不同类型的串行端口通信、因此我想您将获得最大的里程、只需尝试找到 RM48 SPI 所能使用的通用协议、DAC 就能理解、 而不是尝试通过让 SPI 说运动、而不是...

    谢谢、此致、
    Anthony
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    现在、我在 UG-250数据表的第8页看到了这一点。 DAC 确实可以与多个不同的 SPI 配合使用。 我倾向于认为我们的电路有问题、这就是为什么我们在主输入-从输出线路上看不到任何活动的原因。 现在,它不断被拉高,这似乎是需要进一步调查的事情。

    再次感谢。