---
# System prepended metadata

title: KNX
tags: [' IDT', ' Domotica', IEA]

---

---
title: KNX
tags: IEA, , IDT, Domotica
---


<div style="width: 45%; margin-left: auto;">
    
![LogoCampsBlancs](https://hackmd.io/_uploads/HyN6wiL6A.png)

    
</div>



<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Llicència de Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />Aquesta obra està subjecta a una llicència de <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Reconeixement-CompartirIgual 4.0 Internacional de Creative Commons</a>





# Domòtica. KNX.

![Sense títol](https://hackmd.io/_uploads/SJkBOkjRA.png)

Segons la [Viquipèdia](https://ca.wikipedia.org/wiki/KNX): KNX és un **estàndard de comunicació per xarxa** (EN 50090, EN 50491, ISO/IEC 14543) basat en OSI, utilitzat en **instal·lacions domòtiques**.

Això vol dir que KNX defineix com han de comunicar els dispositius que vulguin treballar de manera col·laborativa amb altres dispositius en un sistema domòtic. Com que és un estàndar obert, els dispositius els poden dissenyar diferents fabricants sempre que s'adaptin a les especificacions de l'estàndar.
KNX defineix desde la capa física fins la capa d'aplicació de la pila OSI.
Al següent apartat veurem quina informació s'envia en un telegrama de la capa més baixa del sistema, la capa d'enllaç.

## Telegrames a la capa d'enllaç.
KNX és un sistema distribuït o descentralitzat, cada node disposa de la seva electrònica de comunicacions i es comuniquen entre ells enviant missatges al bus; a partir d'ara ens referirem a aquests missatges com '__telegrames__'.
Els telegrames de KNX són atómics, es a dir, no es poden dividir, han d'arribar d'una peça al receptor, en cas contrari no tenen cap utilitat.
Tots els nodes que estan conectats al mateix bus 'escolten' tots els missatges i només fan cas als que van dirigits a la seva adreça. Els bus KNX no implementa cap tipus de rellotge, per tant la informació s'envia de manera asíncrona dividida en paraules. Cada paraula consta d'un bit d'start, 8 bits de dades, 1 bit de paritat, 1 bit d'aturada i un temps de pausa mínim equivalent a 2 bits.
> 1 + 8 + 1 + 1 + 2 = 13 bits
> 13 bits x 1 sec / 9600 bits = 1.35e-3 sec = 1.35 ms

Un telegrama consta de 5 camps a la capa d'enllaç: [From](https://cdn.chipkin.com/assets/uploads/imports/resources/Serial%20Data%20Transmission%20and%20KNX%20Protocol%2005_Serial%20Data%20Transmission_E0808f.pdf)
1. **Camp de control:** 8 bits. Aquest camp indica si el telegrama és una repetició o no i la prioritat del missatge.
2. **Adreça d'origen**.
    1. 4 bits d'area. El 0 està reservat al backbone.
    2. 4 bits de línia. El 0 està reservat a la línia principal.
    3. 8 bits de dispositiu. El 0 està reservat a l'acoblador.
4. **Adreça de destinació**: Pot contenir una adreça de dispositiu o una adreça de grup, el tipus queda indicat al primer bit del camp N_PDU.
5. **Camp N_PDU** (Network Protocol Data Unit): El primer bit indica el tipus d'adreça de destinació. La resta de bits conformen el pay-load de les capes superiors.
6. **Camp de control**: 8 bits de CRC.

![imagen](https://hackmd.io/_uploads/rkPC-MnAC.png)

## Adreçament

![imagen](https://hackmd.io/_uploads/HkyKQMhA0.png)

Les instal·lacions KNX es poden dividir en _àrees_ i _línies_, per tant les adreces han d'indicar tota aquesta informació, per exemple: l'adreça 1.7.2 correspon al dispositiu 2 de la línia 7 de l'àrea 1.
Cada línia pot contenir fins a 64 dispositius (8 bits permeten 256 adreces, però queda limitada per restriccions energètiques) si volem posar-ne més de 64 dispositius necessitem crear una línia secundària mitjançant un acoblador i una nova font d'alimentació, sempre respectant el límit de 255 dispositius com a màxim, cada àrea pot contenir fins a 15 línies (4 bits) i cada instal·lació pot tenir fins a 15 àrees (4 bits).
Cada línia ha de subministrar la seva pròpia font d'alimentació.

## Components

### Font d'alimentació

![imagen](https://hackmd.io/_uploads/r1gD_znCA.png)

Proporciona la energia a cadascun dels segments de línia.

### Acoblador de línies

![imagen](https://hackmd.io/_uploads/Hk6zYz30A.png)

Permet el pas d'informació entre línies. Fa de router.

### Cablejat

![imagen](https://hackmd.io/_uploads/SkWIqGnCR.png)

Connecten elements del sistema, estan formats 1 parella de cable trenat, alguns fabricants proporcionen 2 parelles una activa i l'altre de reserva.
La mateixa parella de cables transporta alimentació i dades.
