TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LS3137 如何实现带死区的可变占空比PWM?

HET IDE软件生成的PWM占空比是固定,在用户程序中修改哪个值可以实时改变占空比并且带死区?

messi David:

回复 Jay:

试过,这个方法可以。但是用HET IDE生成的.h文件和.c文件,怎么使能PWM周期中断?

Jay:

回复 messi David:

Hi David,

HET的中断使能操作如下。

1. 操作HET的中断使能寄存器HETINTENAS。

例:hetREG1->INTENAS |= (1<<15);                         // 使能了第15+0,15+32,15+64…条指令的中断

2. 操作HET指令的Control字中的中断控制位,中断控制位在TRM中指令的介绍部分可以查看到。

例:hetRAM1->Instruction[15U].Control |= 0x01;        // 假设第15条指令是ECMP指令

3. 使能全局中断。

_enable_interrupts();

Regards,

Jay

messi David:

回复 Jay:

TMS570LS3137 的PWM用的是哪个定时器了?有没有这个定时器的周期中断?PWM周期中断和定时器的周期中断不太一样。

messi David:

回复 Jay:

关于mcu的CPU自检,HALCoGen生成的自检函数stcSelfChech(),只执行到_gotoCPUIdle()_,没有判断TEST_DONE是否执行完,我在程序中加入

while((stcREG->STCGSTAT & 0x01U) != 0x01U)

{

}

程序无法继续执行,没有产生CPU复位,ERROR引脚一直拉低。

自检程序执行是否有顺序要求,比如efu,stc,ccm,时钟监控自检等?

ESM模块是否有各个error通道具体是什么error的说明,HALCoGen中只有group1的说明

Ken Wang:

回复 messi David:

Hi Messi,

   关于STC的测试例程你可以参考我们TRM上面的STC章节,里面有关于具体设置STC的一个STC configuration example的例程。通过一步步的设置,最后可以去查询CPUd的自检程序是否通过。你可以先试试看,如果有什么问题,我们再讨论。

   对于CPU自检程序是否有顺序要求,按照我们芯片内部safety island的设计理念,一般都是最核心的部分先自检,在确认自己没问题的时候,再去检测其他部分的功能。所以我们一般都会把STC的测试放在比较前面,然后其他的放后面一点。我们官网上面有一份关于系统初始化的文档,里面推荐了系统从上电到运行到main程序之间进行了哪些初始化的操作。文档的名字叫 Initialization of Hercules ARM Cortex-R4F Microcontrollers (Rev. D),你可以参考一下。

   最后对于ESM 的error通道的信息你可以在我们芯片的datasheet上面找得到,不是TRM。里面的ESM章节有详细列举了各个group1的配置。

在HALCOGEN里面,我们目前的版本只支持对group1的操作。后续的版本应该会慢慢的完善这些功能。

谢谢!

Ken

luobin wang:

回复 Jay:

你好 为什么我设置后死区只有上升沿有  下降沿还是没有呢

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS3137 如何实现带死区的可变占空比PWM?
分享到: 更多 (0)