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:
你好 为什么我设置后死区只有上升沿有 下降沿还是没有呢
TI中文支持网

