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.

[参考译文] TMS320F28335:使用软件中断在 Simulink 中将 ePWM 信号跳闸为低电平

Guru**** 2553260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/830483/tms320f28335-use-software-interrupt-to-trip-epwm-signals-to-low-in-simulink

器件型号:TMS320F28335

您好!

我正在尝试在 Simulink 中构建一个模型来跳闸 EPWM 信号、同时比较来自 ADC 的值(阈值)。 基本上、我正在尝试为我的电路实现保护逻辑。 约束条件是-我必须在软件中以高于正常代码的优先级实施此跳闸逻辑。

之前、我使用从 ADC 获取值、并将其与 IF 逻辑进行比较、然后使用"内存复制"块将逻辑直接写入寄存器。  

我无法确定如何使用软件中断或硬件中断来实现它。 请建议。

 

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

    我已联系 MathWorks 提醒他们您的帖子。 您可能还需要考虑通过以下方式直接联系他们:

    https://www.mathworks.com/support/contact_us.html

    惠特尼

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

    您好!

    请参考以下示例:

    https://in.mathworks.com/help/supportpkg/texasinstrumentsc2000/examples/adc-pwm-synchronization-via-adc-interrupt.html

    在中断触发子系统中、您可以实现跳闸逻辑。

    双击 C28x 硬件中断块。  

    我们提供了一个选项来配置这里中断的优先级。

    从一个定时器中断触发的模型基准速率的缺省优先级为40。

    您可以为 ADC 提供一个小于 HIS 的值、这会增加 ADC 的优先级。

    请注意、使用此实现时、我们需要为 ADC 块启用转换结束中断。

    该示例配置了它。  

    希望这对您有所帮助。

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

    感谢您的回答。 但是、根据我的要求、我有几个问题:

    在 Code Composer Studio 中、如果 我们使用任何中断服务、当 DSP 检测到中断请求时、它会强制我们的程序跳转到中断函数循环、在该循环中它为该请求提供服务、 但重要的是、中断函数内的程序仅在 我们处于 中断函数循环中时运行、 而在其中写入的函数将被禁用。  

    那么、为什么在 Simulink 示例中、所有模型都从中断块开始? 它的工作原理是什么? 如何触发中断块?  

    2.在我的模型中、我没有使用带 ePWM 的 ADC。 我的 ADC 块检测电流、并要求在检测到的电流超过阈值时触发 ePWM。  

    该软件中断将触发硬件中断、该硬件中断将禁用所有 ePWM (1、2和3)为低电平。 由硬件中断触发的子系统手动将低电平值写入 OST 寄存器。  

    我应该使用哪种类型的中断号?  

    此外,在上述情况下,我想平机会的 POST 中断不会启用。 我是对的吗?

    请建议。 谢谢你

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

    您好、Soumava、

    如果您为模型生成代码

    https://in.mathworks.com/help/supportpkg/texasinstrumentsc2000/examples/adc-pwm-synchronization-via-adc-interrupt.html

    您将注意到以下情况:

    在文件 c2807x_2837xx_adcpwmasynctet_ERT.c 中

    函数-> ISR_int1pio1_task_fcn ()表示 ADC-PWM 子系统(在模型中)。

    生成 ADC 中断时、该函数在 ADC ISR 中进行内部调用。

    但在您的方法中、您只是使用软件触发器来触发中断。 我们需要 C28x 硬件中断块来生成 ISR 以及处理中断的相关逻辑。

    只有软件中断块不会生成中断处理所需的软件。

    因此、您仍然可以使用基于软件的中断机制、但可以添加 C28x 硬件中断来处理中断。

    然后、您将跳闸逻辑部件作为子系统的一部分、该子系统与硬件中断块绑定。

    HTH、

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

    您好!

    感谢您、很抱歉耽误您的回答。 我对我刚才在评论中提到的这个问题仍然感到困惑。

    在 Code Composer Studio 中、如果 我们使用任何中断服务、当 DSP 检测到中断请求时、它会强制我们的程序跳转到中断函数循环、在该循环中它为该请求提供服务、 但重要的是、中断函数内的程序仅在 我们处于中断函数循环中时运行、 而在其中写入的函数将被禁用。  

    我很高兴你能更清楚地了解我的情况。  

    此致、

    Soumava

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

    Venkatesh、Soumava、

    您对此问题是否有任何更新?

    谢谢、

    惠特尼

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

    尊敬的惠特尼:

    我仍然期待着 Venkatesh 的回应。

    谢谢、

    Soumava