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

ram仿真,设置断点,寄存器显示的值不对什么原因

大家好,因为刚用Ti的 tms320f28035的芯片,在ram仿真遇到问题,特此请教,感谢

我在设置断点处观察pwm的寄存器配置,发现TBCTR为一个很大的值,大于周期值30000,这让我很疑惑,是什么原因呢,没有其他中断占用,下图截图可以看到,在断电之前我明明清零了TBCTR的值,理论上到断点也就几个时钟周期吧,为什么会显示65510,显示的波形也不对,另外我pwm配置成 断点时停止计数的模式,希望知道的人能给与帮助,感之不尽

mangui zhang:你再仔细推算一下软件计算显示的一般是准确的
代码里对cache使能了吗

大家好,因为刚用Ti的 tms320f28035的芯片,在ram仿真遇到问题,特此请教,感谢

我在设置断点处观察pwm的寄存器配置,发现TBCTR为一个很大的值,大于周期值30000,这让我很疑惑,是什么原因呢,没有其他中断占用,下图截图可以看到,在断电之前我明明清零了TBCTR的值,理论上到断点也就几个时钟周期吧,为什么会显示65510,显示的波形也不对,另外我pwm配置成 断点时停止计数的模式,希望知道的人能给与帮助,感之不尽

Soldier 76:

回复 mangui zhang:

你好,我不是太明白您的意思,你的意思我仿真的问题吗,我确实不是太熟悉这个平台,不过这个计数值大于周期值我不知道怎么弄的,周期值是对的,,cache使能是哪里,这个我不明白,谢谢啊,

大家好,因为刚用Ti的 tms320f28035的芯片,在ram仿真遇到问题,特此请教,感谢

我在设置断点处观察pwm的寄存器配置,发现TBCTR为一个很大的值,大于周期值30000,这让我很疑惑,是什么原因呢,没有其他中断占用,下图截图可以看到,在断电之前我明明清零了TBCTR的值,理论上到断点也就几个时钟周期吧,为什么会显示65510,显示的波形也不对,另外我pwm配置成 断点时停止计数的模式,希望知道的人能给与帮助,感之不尽

mangui zhang:

回复 Soldier 76:

还有你是不是没有清掉呢EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;// Count upEPwm1Regs.TBCTR = 0;

大家好,因为刚用Ti的 tms320f28035的芯片,在ram仿真遇到问题,特此请教,感谢

我在设置断点处观察pwm的寄存器配置,发现TBCTR为一个很大的值,大于周期值30000,这让我很疑惑,是什么原因呢,没有其他中断占用,下图截图可以看到,在断电之前我明明清零了TBCTR的值,理论上到断点也就几个时钟周期吧,为什么会显示65510,显示的波形也不对,另外我pwm配置成 断点时停止计数的模式,希望知道的人能给与帮助,感之不尽

Soldier 76:

回复 mangui zhang:

摸索了半天找到点眉目,

pwm计数方式我是配置成up-down,现在分析出问题的原因如下,

在TBCTR清零之前 其值为3123左右,远小于周期值30000,但在强行赋值清零,导致其计数方向改成了 0 ,通过TBSTS可以看出,是向下计数,而且CTRMAX 此位为1,此位代表“”“Reading a 1 on this bit indicates that the time-base counter reached the max value 0xFFFF”,所以TBCTR应该是在赋值为0之后,变成了65535以down的方式计数

我不知道这属于我违规操作,还是这个pwm的机制刚好与我的操作相悖,实际上,在强行清零时候,直接赋值TBCTR = 1;就可以了,不会出现那种错误。

—————————-

大家好,因为刚用Ti的 tms320f28035的芯片,在ram仿真遇到问题,特此请教,感谢

我在设置断点处观察pwm的寄存器配置,发现TBCTR为一个很大的值,大于周期值30000,这让我很疑惑,是什么原因呢,没有其他中断占用,下图截图可以看到,在断电之前我明明清零了TBCTR的值,理论上到断点也就几个时钟周期吧,为什么会显示65510,显示的波形也不对,另外我pwm配置成 断点时停止计数的模式,希望知道的人能给与帮助,感之不尽

Soldier 76:

回复 Soldier 76:

我又想了想,觉得上面说的不够彻底,应该说在up-down工作模式下的pwm不能直接清零TBCTR寄存器,会导致有错误产生,具体的现象就是TRCTR 会由 0 变成65535,且CTR_DIR变成下降沿,具体的仿真捕获方式是在TBCTR清零后的几个周期后设置断点,可以观察的到。注意,不要在清零地方设置断点单步执行清零,这样不会出现错误。

大家好,因为刚用Ti的 tms320f28035的芯片,在ram仿真遇到问题,特此请教,感谢

我在设置断点处观察pwm的寄存器配置,发现TBCTR为一个很大的值,大于周期值30000,这让我很疑惑,是什么原因呢,没有其他中断占用,下图截图可以看到,在断电之前我明明清零了TBCTR的值,理论上到断点也就几个时钟周期吧,为什么会显示65510,显示的波形也不对,另外我pwm配置成 断点时停止计数的模式,希望知道的人能给与帮助,感之不尽

Soldier 76:

回复 Soldier 76:

@Ti 官方人员,我说的是否有误,不知道有没有人会看到,能给予解答

赞(0)
未经允许不得转载:TI中文支持网 » ram仿真,设置断点,寄存器显示的值不对什么原因
分享到: 更多 (0)