Hi everyone,
I am using F28027 Launchpad for a motor control application involving a position estimation algrithm developed by myself. I managed to program the codes in ISR which is called and executed during every CPU interrupt triggered by epwm.
At this moment, my code has only few lines. I use 6 ADCs for collecting necessary voltage and current signals, and 3 Clarke transform modules to convert three phase signals into quantities in quadrature. Then the Clarke outputs are fed into a position estimation block I programed myself. The position estimation involves some square root calculations and some inverse trignometric calculation.
I tested the speed of executing ISR by toggling a GPIO each time ISR is called. I found that it requires a period of approx.15 micro-seconds for each ISR, which means my ISR interrupt frequency is limited to about 6kHz.
I am wondering if it is possible to speed up my code a little bit, for example change the way ADC are triggered or some other optimization of math operations.Does anyone have any ideas please?
Thank you very much.
Jingzhe