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.

[参考译文] TIDM-DC-DC-BUCK:LAUNCHXL-F280049C

Guru**** 2427060 points
Other Parts Discussed in Thread: TIDM-DC-DC-BUCK

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1545389/tidm-dc-dc-buck-launchxl-f280049c

部件号:TIDM-DC-DC-BUCK


工具/软件:

您好、

我试图了解 TIDM-DC-DC-BUCK  参考设计的时序、以便在我正在开发的设计中实现此目的。

您是否知道是否可以输出与 ADC 时序相关的信号以进行探测? 还是 Code Composer Console 中的某个组件、可以显示用于计时的计数器? 我添加了一个 GPIO、以便在进入和退出 ISR 时变为高电平和低电平。 此外、我尝试添加一个 GPIO、当针对 SOC 触发 ADC 时、该 GPIO 会变为高电平、但在代码中找不到合适的位置来查看 ADC 何时开始转换和结束转换。 我还附上了添加 GPIO 的代码编辑版本。

e2e.ti.com/.../buck_5F00_F28004x.zip

我粗略地绘制了一个时序图、说明了如何根据我在代码中阅读的内容了解循环应如何运行。 我让 ADC 由 ePWM 触发、然后 ADC 开始转换。 在 ADC SOC(采样保持和转换为数字)和 EOC 之间、根据 MCU 数据表和 ACQPS、我估计在触发 ADC 中断以启动降压 ISR 之前的延迟约为 280ns。 降压 ISR 延迟来自我使用 GPIO 测量的内容。 你觉得这有什么问题吗?

但是、在我探测 ISR 时、ePWM 延迟约为 3.62us。 此外、我查看了在点击“Resume un Code Composer(恢复代码编辑器)“后的工程启动情况、并注意到在 EPWM 开始切换之前 Buck_ISR 开始自行运行。 这可能是 ISR 和 ePWM 关闭同步的原因。 这让我感到困惑、因为我的印象是 ISR 依赖于 ADC 触发器、后者取决于 ePWM。 您对为什么会发生这种情况有任何见解吗? 是否应该发生这种情况?

降压启动

 

放大的降压启动

  

恭敬地说:

Mike Allette

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

    Mike、

    无法通过代码进行性能分析、ADC 所用的时间。 数据表和器件 TRM 中指定了此参数。

    对于 ePWM 未与 ISR 分析 GPIO 同步:

    请通过按住 Ctrl 键并单击函数来查看以下函数及其定义。 这决定了应在何时开始中断。 在此代码中、它位于采集窗口的末尾、而不是您建议的转换结束。 这样做是为了通过稍微提前启动中断来改善总体控制循环延迟、这样就可以在 ADC 占用转换时间的同时、并行运行进入 ISR、上下文保存和 ADC 读取所需的时间。 这一个中可能需要考虑分析 GPIO 切换时间。

    如果您希望以顺序方式发生此中断、您可以通过更改“buck_user_setting.h"中“中 line147 上的定义来实现该目的  

    第 147 行-->定义 BUCK_VOUT_ADC_INT_MODE     ADC_PULSE_END_OF_CONV  

          

    此外、对于性能分析、您只能分析 ISR 的代码部分、总延迟将包括 ADC 转换时间+计算+ EPWM 更新时间。

    此致、

    Sumit

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

    您好 Sumit、

    很高兴再次与您聊天。 感谢您的答复。 感谢您使用 Ctrl+Click 快捷方式、这非常有用。

    那么、 ADC_setInterruptPulseMode ()、“ADC_PULSE_END_OF_ACQ_WIN 和 ADC_PULSE_END_OF_CONV“ 、数据表讨论的提前中断模式和后期中断模式的这两个设置是什么?

      

    对于  ADC_PULSE_END_OF_ACQ_WIN 设置、 如果 未配置 ADC_setInterruptCycleOffset () 函数、是否会在采集窗口结束时添加默认数量的时钟周期? 我在该工程中没有看到相应的配置。

    此外、我将脉冲模式更改为 ADC_PULSE_END_OF_CONV、并且仍然获得与之前通过 ADC_PULSE_END_OF_ACQ_WIN 设置获得的输出相同的输出。 我还看到 ePWM 和 ISR 之间有 3us 延迟。 看起来 ISR 在 ePWM 开始切换之前启动。 这是不是应该发生的? ISR 是否依赖于 ADC 中断标志? ePWM 启动之前是否发生了 ADC 中断?

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

    Mike、

    这就是你看它的方式。 这是按顺序发生的。  

      

    决定触发 ISR 的因素有很多、如下所示。

    在本例中、CMPB 事件将触发 ADCSOC、ADC-C 将触发 ISR、如下所示。 当 ADC-C 上的所有通道完成转换(包括 ADC-C 上的所有信号)时、会发生 ADC EOC 这个时间是 ISR 集中 GPIO 之前 ACQPS 和 ADC 转换时序的额外时间。

     有关这些中断流程的详细说明、请参阅器件 TRM 的 13.7 EOC 和中断操作一节。  

    如果这有道理、请告诉我。

    此致、

    Sumit