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.

[参考译文] CCS/TMS320F28379D:通过 ADC PPB 限制检测切换 GPIO

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/881444/ccs-tms320f28379d-toggle-a-gpio-with-adc-ppb-limit-detection

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

您好!

我将为 ADC 提供一个输入、它是振幅为3伏的100kHz 脉冲信号、信号的前缘为100ns (如图所示)。  我尝试通过切换 ADC PPB 限制检测块 ISR 中的 GPIO 引脚来生成大约20至60纳秒的脉冲。 我知道它会给我一些延迟、但我可以接受、除非它很长。 通过更改上限和下限、我尝试修改 ADC_PPB 示例(例如设置上限和下限)、并添加一个 GPIO 进行切换、但我可以获得的最小脉冲为500纳秒。 ADC 的采样频率通过最大可能值的 ePWM 信号给出、可以得到2.5MHz 的频率。 我不确定是否可以通过切换 GPIO 来生成如此低的脉宽信号。 如果是, 您能建议我的方式吗? 我很想知道 PPB ISR 提供的延迟以及 PPB ISR 被调用的时间。 我的 ADC 时钟频率为50MHz。 我要附上说明我的应用的图片。

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

    20ns、这意味着立即打开 GPIO、然后关闭? 寄存器的数据、从而实现更好的数据传输。 我不推荐这家酒店 信号的用途是什么?

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

    是的、我尝试过 GPIO 切换寄存器未设置为清除。 该信号用于触发某些 MOSFET 开关。 我已经尝试对 AQSFRC 执行相同的操作、通过在 ADC ppb 限制 ISR 中使用两个差分函数来启用或禁用 ePWM、以实现上限和下限、但我可以获得的最小脉冲宽度仍然是500ns。 是否有任何方法可以满足我的应用程序要求? 如果是、请提出建议。

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

    脉冲宽度可以为20至40ns。 比较器子系统是否可能或是否应该使用 CLA,因为它可以直接访问所有寄存器。 我是否有任何方法可以通过在电路板中读取信号来获得如此大的脉冲宽度。

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

    如果有其他可能的方法来满足我的应用程序,您是否可以建议使用 asap?

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

    执行占空比为20-40ns 的单次 PWM 脉冲、启动 PWM、然后在 ePWM ISR 中执行一次后将其禁用。

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

    感谢您的建议、但我希望在通过 ADC 读取信号时打开和关闭 PWM、即在某些限制之间。 是否可以通过 ADC_PPB_ISR 获得相同的脉宽、或者是否应该使用比较器子系统。  

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

    当您需要脉冲时、在中启动 ePWMx TBCTR。