Comprensión: DALI utiliza la decodificación de datos asíncronos utilizando 1 bit de inicio y 2 bits de parada. El 1 bit de inicio es uno lógico (1), también codificado durante la codificación Manchester y los 2 bits de parada (la señal es ALTA durante largos períodos, al menos 2 * 833us) designa la idle_signal .
Ahora,siestoydescodificandoestosdatosutilizandoelmétododeanchodepulsomedidooelmétododemuestreo,¡notendréinterrupcióndecierreparaelúltimobit"1" !! Estoy utilizando específicamente el método de decodificación de ancho de pulso para la decodificación de Manchester.
Puedo resolver este problema comprobando el bit LSB durante la codificación de Manchester. Si LSB es 1, incluiré una breve señal de restablecimiento al final. Me aseguraré de ignorar el resto de los datos después de haber recibido el marco requerido. De todos modos, esta corta señal de reinicio no caerá en mi rango largo o corto y también puedo detener mi temporizador para responder a cualquier otra interrupción después de que se reciba el cuadro requerido.
Pregunta:
- ¿Es válido de acuerdo con el estándar DALI? ¿Qué podría salir mal con mi enfoque?
- En general, ¿qué método se utiliza para el estándar DALI? Basado en muestreo o en ancho de pulso ??
- La falta de preámbulo, ¿causa algún problema?
Gracias de antemano!
PS:
- No estoy seguro de la terminología "Decodificación de datos asíncronos", lo que quise decir es que no hay datos de preámbulo involucrados que den al decodificador el tiempo suficiente para sincronizarse.
- Los métodos basados en muestreo [página 7], basados en ancho de pulso [página 6] se describen en este app-note .
- Imagen de esta fuente .
EDITAR: Mi lógica de Manchester_Decoding es aquí .
¡Sí! Es un claro malentendido, tan pronto como puse la lógica en el papel, ¡ya lo entendí! Estaba pensando en cómo terminará el último pulso si la SEÑAL es alta durante tiempos más prolongados, pero como podemos ver en la figura, el último 1 se descodificará antes de sí mismo.
Sin embargo, deseo conocer el estándar de implementación general para DALI y los problemas causados por la falta de datos de preámbulo en el contexto de DALI.