No se puede usar la lectura de pulsos para iniciarlo porque hay que mezclar tiempo con grados. Es decir, si yo quiero que el pulso dure 1ms, y a su vez acabe en el 270º no se podria obtener un tiempo estable teniendo una frecuencia en aceleracion/desaceleracion.
No se como explicarlo mejor, pero puedo hacer que os lo imagineis. Como digo el sensor tiene 360 pulsos por vuelta por lo cual si lo ponemos a 1000RPM obtendriamos 6000Hz, cada grado seria 166.666us, si ahora quiero que el pulso acabe en el grado 180 seria 166.666*180=30ms, activaria un comparador haciendo que el flanco de bajada acabe a los 30ms desde el 0º, entonces teoricamente ese pulso acabaria a los 180º.
EL PROBLEMA viene cuando es una aceleracion, por ejemplo, desde 0RPM a 1000RPM que tarde 1s (el tiempo es variable asiq no se puede tomar esto como referencia) en llegar, en este caso la frecuencia seria ascendente, es decir, el periodo iria disminuyendo segun aumenta la velocidad. En este caso no podria medir la frecuencia ya que al ser ascendente y usando el metodo anterior (180*periodo) el pulso no acabaria exactamente en el 180º.
En un ejemplo de lo que quiero hacer vi el tema del filtro de Kalman, que lo que hace es predecir el valor entre captura-captura de pulsos. Una frecuencia ascendente el periodo segun las capturas seria de la siguiente forma: 50us-49us-48us-47... el filtro de Kalman predeceria el siguiente valor sin tener que leerlo, siendo la aceleracion/des lineal.