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.

GPIO speed as an output

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