Hola Ian! Bueno, según lo que entiendo de tu problema, creo que sería conveniente usar un micro con modulo CCP, configurado en modo de captura; con esto mides el ancho del pulso.
Que estén desfasados 90º significa que el segundo pulso comienza justo a la mitad del tiempo del primero, si no me equivoco
. Es decir, el valor medido lo divides por 2 (rotas una vez este valor a la derecha
); generas tu primer pulso (en fase), esperas este tiempo calculado, y generas el pulso desfasado.
Se me ocurre usar el modulo CCP porque creo que es lo más rápido. En este caso tienes ocupado el timer1 para la captura, asi que tendrás que usar el timer0 para generar tu pulso. Es lo que se me viene a la cabeza en este momento... puede que haya otra solución...
Bueno, que micro? Puede ser el 16F627/8.
Saludos!