Paso 11: El RC5 infrarrojo protocolo
1. breve historia
Este protocolo infrarrojo fue desarrollado por Philips, consiguió popular realmente rápido con aplicaciones populares como televisores y sistemas de audio de alta fidelidad. También fue adoptado por muchos otros fabricantes especializados en equipos de audio o vídeo. No fue el protocolo sólo infrarrojo desarrollado (NEC consiguió en este negocio también), sin embargo había una gran ventaja en RC5 controles remotos: control remoto RC5 era capaz de controlar cualquier dispositivo RC5!
2. forma datos específicos de protocolo
El control remoto tiene generalmente un teclado y un transmisor de conducir un LED infrarrojo. El comando datos están código de Manchester, superpuestas sobre una frecuencia de portadora de 36KHz. La señal infrarroja que viene del transmisor es detectada, amplificada, filtrada y desmodulada por un componente especializado (nuestro sensor de Vishay) con un fotodiodo interno. El dispositivo receptor detecta bordes desde el sensor y toma decisiones basadas en los comandos que fueron enviados en la ráfaga de pulso infrarrojo. En este protocolo el flujo de información es unidireccional.
El comando infrarrojo tiene 14 bits de datos:
- 1 x start bit - esto siempre es "1" y tiene que hacer algo con la calibración inicial del sensor receptor.
- campo x 1 bit: este bit se añadió posteriormente cuando fabricantes de sistemas de audio y TV que 64 diferentes mensajes no fueran suficiente.
- control x 1 bit, este bit se activa con cada pulsación. Esto ayuda a distinguir entre dos prensas de tecla rápidas y una pulsación larga de tecla.
- 5 x dirección sistema - selecciona uno de los 32 tipos de sistemas
- 6 x comando del sistema - selecciona uno de los comandos posibles 64 para un sistema de TV o audio determinado. Con la conjunción de la broca del campo, el teléfono puede transmitir un número total de 128 señales de control diferentes.
El período de una portadora de 36 kHz es 27,778 Estados Unidos y el ciclo de trabajo es 25%, esto significa que un pulso de portador con una duración de 6,944 Estados Unidos. Puesto que la mitad alta de cada símbolo (bit) de la palabra de código de RC-5 contiene 32 pulsos de la portadora, el período de símbolo es de 64 x 27.778us = 1.778ms, y los 14 símbolos (bits) de una palabra de código completa de RC-5 toma 24.889ms para transmitir. La palabra de código se repite cada 113.778ms (4096 / 36 kHz) como una tecla permanece presionada.
3. cómo esto se traduce en la situación específica
Tenemos que capturar de alguna manera este tren de impulsos con el fin de procesar el comando del mando a distancia. Pensando en esto, estoy empezando a tener dudas sobre el significado de los botones de dos debug añadió "por si acaso". Hay suficientes botones en un televisor remoto...
Ya expliqué cómo capturé los paquetes infrarrojo, utilicé el módulo de comparación dentro de la foto para probar la señal en los puntos que se muestra en la captura de pantalla de osciloscopio modificado. Arrown azul indica donde la interrupción externa se activa, esto permite que las interrupciones de comparar que se dibujan con líneas finas de azules y rojas. Los puntos rojos marcan un flanco descendente durante un intervalo de bit, que - en el presente Protocolo - corresponde a una lógica "0". Si pones los últimos seis bits juntos y ver como se ve en decimal y hexadecimal, obtendrá el número exacto que describe la página wiki de RC-5. En nuestro caso se trata de un 0x21, o 33 en decimal. Este identificador es asignado por el botón "channel/program abajo", que significa que probablemente de tiempos que uno me Sujete la sonda alcance con mi mano derecha :)
Mi código reconoce estos patrones y puede indicarse a reaccionar en ciertas teclas de cierta manera! Las cuatro claves principales se utilizará para establecer la fecha y hora actual!