I am using a TI320TMS28335.
Clock = 30[MHz]
PLL = 150[MHz]
I created a PWM to trigger an interrupt using HRPWM functions and ePWM interrupt call. In the interrupt I'm toggling a GPIO pin and placing some data on GPIO port 6 and 7 using GpioDataRegs.GPCDAT.all = Data[++i%100];. Everything works fine until I try to trigger the interrupt at anything faster than 500[KHz]. It seems that the fastest that I can toggle the GPIO is 515[KHz].
Does anyone know if there is a setting that would allow me to toggle the pin(s) any faster? I want to be able to do this scheme at 1.0[MHz]. I tried using a CPU timer but I kept getting an ILLEGAL_ISR so I went back to the PWM scheme. All I need is to be able to toggle a GPIO pin and set some data on GPIO64~79 at a speed of 1.0[MHz]. Is this possible? Do I need to set up external memory interface? Is the GPIO really this slow? (I was expecting something in the MHz region, like maybe 9[MHz]). Am I doing something wrong?
Thanks in advance for the help,
Daniel