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.

TMS320F28379D: Unable to change ePWM registers

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Hi,

I have an application that we've been running on an F280049C without any issues which we're now trying out on a Delfino for a possible switch to that processor.  I've managed to get the application built and running but all the PWM registers are zero, even though the initialisation code appears to be running fine (confirmed with a breakpoint that it was reaching the init function).  I'm also unable to change them directly in CCS, as they just go back to zero (I tried changing non-EALLOW ones like TBCTL and TBCTR) even though I was able to do this on the 49.  Are there extra protections before you can write to these on the Delfino?  Do we need to set it up to specify which one of the cores has permission to do this?  I've tried comparing the ePWM chapter in the manual for both processors and couldn't see any major differences other than the number of PWM channels available.

Any help is much appreciated.

Many thanks,

Sean.

  • Sorry, that should've been CTRMODE, not TBCTR.  It's been a long day....

  • Hi,

    Could test the setup by running an example code to start with?
    You can try any of the examples from here.
    C:\ti\c2000\C2000Ware_2_01_00_00\driverlib\f2837xd\examples\cpu1\epwm
    If you are using header file based project, try these
    C:\ti\c2000\C2000Ware_2_01_00_00\device_support\f2837xd\examples\cpu1\epwm_updown_aq


    Which CPU are you using to update EPWM registers. Module should be mapped to CPU1 by default.
    In case you want to change the CPU assignment, please check CPUSEL register.

    I wonder if there is any issue in your header files/register offsets etc. since you are trying to port code from F280049.
    Please make sure all the dependent files are used from F28379D.

  • Hi,

    Thank you for the help.  We actually traced the problem to our setup code.  We thought it was being executed, but it actually wasn't, so the peripheral wasn't being activated!  Registers are now updating correctly.