Hello All,
I'm currently developing a kernel module for the beaglebone that will interface to the PWMSS peripheral H/W so I can eventually interface to Electronic Speed Controllers (I know there is already a kernel driver available to do this, but I want to take the time to learn for myself how to interface to the PWMSS hardware). I have been reading and following the directions and information in the AM335x ARM® Cortex™-A8 Microprocessors Technical Reference Manual to setup and configure the PWMSS and have successfully configured and started the ePWM0 submodule because I can see my PWM frame (1ms pulse with a period of 20ms) on the scope!
But, if I change the value of the CMPA register so I can change the duty-cycle, nothing happens on the scope. The pulse stays at the initial 1ms pulse-width. I've configure the Counter-Compare Control Register with SHDWAMODE=0x0 (shadow mode) and LOADAMODE=0x1 (load on counter = period). I have also bypassed the dead-band, pwm-chooper and trip-zone submodules so I can just have the output from the Action-Qualifier.
So, it seems to me that as a write new values to the Counter-Compare A Register, I should see the duty-cycle of my PWM signal change. Is my assumption correct? Or is there a concept or programmatic step that I'm overlooking? I would greatly appreciate any assistance because I can't progress any further with my progress without this.
Thanks,
Donald