I need to serially output data at a rate of 3.125 MHz. The CPU is unable to meet the 3.125 MHz requirement after necessary logical operations are performed. Consequently I intend to multiplex a port and divide the output rate down by a factor of 8. The problem i currently have is how to drive the multiplexors 3 channel select pins. I would like to have three outputs from the microcontroller toggling at 3.125 MHz, 1.56 MHz and 0.78 MHz. However it would be required to align the 3 signals at the start of a byte transmission.
With the exception of alignment, is there a way of getting the microcontroller to do this with little software intervention? I cant see a complete solution using any of the following modules.
PWM - Although the signals could be produced i see no way of aligning channels.
ECT - Any solutions i have thought of require an interrupt for which i do not have the CPU time.
PIT - Ideal but can it toggle output pins?
Is there any way of solving this problem without additional circuitry?