Direccionamiento y Acceso al medio en KNX

Ricardo Vega / 19 marzo 2014
⏰ 5 minutos
El pasado día introducía los aspectos técnicos del protocolo KNX. Hoy continuo introduciendo algún dato más con el objetivo de como funciona el protocolo en su interior. ¿Cómo lleva a cabo el direccionamiento de la información y como es esta información? ¿Cómo llevamos a cabo la conexión dentro del protocolo? ¿Podemos evitar colisiones? Voy a intentar dar respuesta a todas estas preguntas ;)
Direccionamiento en KNX
El protocolo KNX contempla dos tipos diferentes de direcciones:
[Tweet "El protocolo #KNX diferencia dos tipos de direcciones: físicas y de grupo"]
Direcciones físicas
Las direcciones físicas identifican unívocamente cada dispositivo y corresponden con su localización en la topología global del sistema (área – línea – dispositivo). La dirección física consta de tres campos, que se representan separados por puntos:
- Área (4 bits). Identifica una de las 15 áreas. A=0 corresponde a la dirección de la línea de áreas del sistema.
- Línea (4 bits). Identifica cada una de las 15 líneas en cada área. L=0 se reserva para identificar a la línea principal dentro del área.
- Dispositivo (8 bits). Identifica cada uno de los posibles dispositivos dentro de una línea. D=0 se reserva para el acoplador de línea.
En la línea de áreas se pueden conectar hasta 15 acopladores de área (AA), cuyas direcciones irán desde 1.0.0 hasta 15.0.0.
Cada área tiene una línea principal, con su fuente de alimentación, a la que se conectan los acopladores de línea (AL), con direcciones 1.1.0 a 15.0.0, y a cada línea secundaria conectada a un acoplador de línea pueden conectarse hasta 64 dispositivos.
[caption id="attachment_715" align="aligncenter"
width="885"]
Ejemplo de Direccionamiento físico en KNX[/caption]
Para la interconexión de diferentes líneas y diferentes áreas se emplea la unidad de acoplamiento. Este elemento es el mismo para los diferentes tipos de conexión, y dependiendo de la dirección física que se le asigne actuará como acoplador de línea, acoplador de área, o incluso repetidor dentro de una misma línea.
[Tweet "Podemos unir lineas #KNX mediante las unidades de acoplamiento"]
En el caso del acoplador de línea o de área, la unidad de acoplamiento actúa como router y mantiene una tabla interna de direcciones de las subredes que conecta para aislar el tráfico entre ellas.
Direcciones de grupo
Las direcciones de grupo se emplean para definir funciones específicas del sistema, y son las que determinan las asociaciones de dispositivos en funcionamiento (y la comunicación entre sus objetos de aplicación).
Las direcciones de grupo asignan la correspondencia entre elementos de entrada al sistema (sensores) y elementos de salida (actuadores).
Se pueden utilizar dos tipos de direccionamiento de grupo: de dos y tres niveles (Figura 2.4), dependiendo de las necesidades en la jerarquización de las funciones del sistema.
[caption id="attachment_716" align="aligncenter"
width="885"]
Niveles en el Direccionamiento en grupo[/caption]
En la configuración de una instalación EIB KONNEX, la asignación de direcciones de grupo es básica para asegurar su correcto funcionamiento. Las direcciones de grupo, que asocian sensores con actuadores se pueden asignar a cualquier dispositivo en cualquier línea (son independientes de las direcciones físicas), con las siguientes condiciones:
Los sensores sólo pueden enviar una dirección de grupo (sólo se les puede asociar una dirección de grupo).
Varios actuadores pueden tener la misma dirección de grupo, es decir, responden a un mismo mensaje o telegrama.
Los actuadores pueden responder a más de una dirección de grupo (pueden estar direccionados o asociados a varios sensores simultáneamente).
Acceso al medio en KNX
Una vez que sabemos que direcciones tenemos disponibles para los diferentes equipos de la instalación es buen momento para indicar cómo acceden estos dispositivos al medio, es decir, cómo inyectan y recogen la información que necesitan en el bus.
El método de acceso al medio empleado en EIB KONNEX es de tipo CSMA/CA. La codificación se realiza de modo que el estado lógico ‘0’ sea dominante (pasa corriente) sobre el ‘1’, que se denomina recesivo (no pasa corriente). El mecanismo de resolución de colisiones es el siguiente:
El dispositivo comprueba el bus, y si está libre comienza la transmisión.
Durante el envió cada dispositivo escucha los datos presentes en el bus, comparándolos en todo momento con los que ha transmitido. Si no se producen colisiones, el envío se completa sin contratiempos. Si, por el contrario, se produce una colisión con los datos enviados por otro equipo, el arbitraje se resuelve por prioridad de los bits dominantes sobre los recesivos. Por lo tanto, tendrán mayor prioridad aquellas tramas que presente un mayor número de ceros en su inicio.
[Tweet "#KNX emplea un sistema de acceso al medio CSMA/CA"]
El próximo día continuaremos hablando de KNX, en este caso de cómo enviamos la información, que formato tienen y el control de colisiones. Como habéis visto he llevado a cabo un cambio en el blog. Seguramente desde tu punto de vista solo sea un cambio estético, sin embargo, hay mucho más detrás. Para empezar, puedes dar una vuelta por el blog y decirme que te parecen los cambios. Como ves he simplificado algunas partes para así dar la importancia que se merecen a otras. Por último, comentar que cada día va a ganar algo más de peso la lista de correo por lo que si aún no estás subscrito te recomiendo encarecidamente que lo hagas. Por último, y como siempre, pedirte feedback de esta entrada y colaboración para expandir el mensaje por las redes sociales. Un saludo! ;)
Subscríbete a mi newsletter
Actualmente estoy llevando a cabo algunos cambios en mi Newsletter y no es posible apuntarse 😞