DALI - Kasimashi/Systemes-embarques GitHub Wiki

DALI (Digital Addressable Lighting Interface)

DALI a été développé dans les années 2000. Il est dédié à l’éclairage. L’objectif premier de ce protocole est de pouvoir contrôler et configurer des ballasts fluorescents pour remplacer l’utilisation du 0-10V.

Dans le bâtiment, l’éclairage est reconnu pour avoir un impact conséquent sur l’environnement : dans le tertiaire, il peut représenter 30 à 40 % des consommations électriques

Pourtant, jusqu’à 60 % de ces consommations pourraient être économisées grâce à des technologies simples et économiques qui répondent aux contraintes de la gestion d'éclairage, en combinant la commande et le réglage de celui-ci en fonction de l’intensité de la lumière naturelle, de la présence de personnes, des horaires...

Le protocole DALI entre un contrôleur et des luminaires est une de ces technologies. Il permet une gestion optimale de l’éclairage par l'intermédiaire d'un bus appelé ligne DALI. L’allumage, l’extinction et la variation de l’éclairage sont commandés via cette ligne

image

DALI (Digital Addressable Lighting Interface) est un protocole ouvert et standard (IEC 62386) développé et soutenu par différents constructeurs(PHILIPS LIGHTING, SANDER , SEMTEC, etc ...) de ballasts électroniques, qui permet de gérer une installation d'éclairage par l'intermédiaire d'un bus de communication à deux fils.

L'association DALIAG (Digital Addressable Lighting Interface Activity Group) est chargée de la promotion et de la coordination des activités. Maintenant il s'agit de de DALI Alliance La norme DALI garantit l'interchangeabilité des produits des différents constructeurs

La technologie numérique utilisée par DALI permet :

  • de contrôler individuellement 64 luminaires adressables, pouvant être regroupés pour constituer jusqu’à 16 groupes
  • de commander précisément l’intensité lumineuse (gradation de 0,1% à 100% du flux lumineux par courbe logarithmique)
  • de mémoriser 16 ambiances d’éclairement (scénarios de commande et de gestion)
  • de connaître l’état de l’installation : remontées individuelles d’état des lampes

Zhaga est un consortium créé en février 2010. Il regroupe plus de 190 entreprises dans le domaine de l’éclairage. Objectif : créer un standard afin de permettre l’interchangeabilité entre les produits conçus par différents fabricants. Le D4i est une extension du programme de certification DALI 2. Zhaga s’est associé à DiiA (Digital Illumination Interface Alliance) pour créer une certification unique : le D4i dédiée aux luminaires intelligents et l’IoT (Internet of Things) afin de garantir une interopérabilité des luminaires, des capteurs, et des nœuds de communication de marques différentes. Ainsi, les drivers compatibles D4i ont la capacité de stocker et de récupérer des données des luminaires, d’énergie et de diagnostic. Le tout dans un format standardisé.

image

Par exemple, il permet à un fabricant d’intégrer des données sur le luminaire et lorsque celui-ci est installé. Les données sont facilement accessibles au réseau de contrôle de l’éclairage afin de superviser cet appareil. Aujourd’hui cette standardisation D4i est surtout appliquée aux luminaires extérieurs. Les applications intérieures étant un travail encore en cours.

Glossaire

Command Description
Control Device A device that transmits commands to other devices connected to the same bus. A control device can also receive commands and backward frames.
Control Gear A device that receives commands in order to control its output.
Ballast An electronic device that regulates current and voltage to the lamp.
Frame A packet of information consisting of a Start bit, command/data byte(s), and a Stop condition.
Forward Frame The frame sent by the control device to the control gear. A forward frame consists of a Start bit, an address byte, up to two data bytes, and a Stop condition.
Backward Frame The frame sent back to the control device from a responding control gear. The backward frame consists of a Start bit, one data byte, and a Stop condition.
Command A specific instruction intended to cause a reaction in a receiver.
Short Address The address of an individual control gear within the system.
Group Address The address of a group of control gears within the system.
Broadcast The address used to communicate with all control gears within the system.
Arc Power Power supplied to the lighting source.
Direct Arc Power Control (DAPC) A method that immediately sets an individual or multiple control gears to a specific power level.
Scene A configurable preset lighting level.
Building Management System (BMS) A computer-based control system installed in buildings that controls and monitors the mechanical and electrical equipment of a building.

Spécification électrique

Le bus DALI fonctionne sur une plage de tension nominale comprise entre 0 V et 20,5 V et une plage de tension maximale absolue entre -6,5 V et 22,5 V. La chute de tension maximale autorisée aux bornes du bus est de 2 V. Le courant maximum du bus DALI est de 250 mA, chaque unité du bus étant limitée à une consommation de courant maximale de 2 mA.

image

Le niveau logique « haut » d'un dispositif de contrôle se situe entre 10 V et 22,5 V. Un niveau logique « bas » se situe entre 0 V et 4,5 V. La région de tension seuil (non définie) se situe entre 4,5 V et 10 V (voir la figure ci-dessous).

image

Branchement "type"

image

L'installation DALI est reliée par 3 fils pour l'alimentation :

  • Le fil de phase qui permet de fournir l'alimentation
  • Le fil du neutre
  • Le fil de terre pour les fuites de courant pour la protection des utilisateurs. et d'un bus de donnée DALI constitué de 2 fils
  • DALI +
  • DALI - (signaux différentiels)

image

Le câblage peut se faire suivant une topologie de type bus ou de type étoile ou de type mixte (association des deux types).

image

La chute de tension maximale entre un contrôleur DALI et le ballast le plus éloigné ne doit pas dépasser 2V

La tension du bus DALI est continue, de l'ordre de 16 V La polarité est indifférente lors du raccordement (limitation des erreurs de câblage)

La section minimale des câbles à utiliser dépend de la longueur du réseau Avec une section de câble de 2,5 mm², il est possible d'atteindre une longueur de 300*2,5/1,5 = 500 mètres

Les groupes DALI

Les groupes permettent de regrouper plusieurs appareils DALI sur la même ligne, ce qui permet aux appareils d'effectuer une action ensemble.

Chaque appareil DALI peut être affecté à un ou plusieurs groupes. Ce regroupement permet d'envoyer des commandes en groupes, tous les membres du groupe réagissant à une commande de groupe individuelle. Si un appareil ne fait pas partie du groupe, il sera ignoré.

image

Les scènes DALI

Une scène est un "niveau d'arc" configurable qui peut être appliqué à un équipement de commande électronique (ECG). Un ECG peut avoir jusqu'à 12 valeurs de scène. Les scènes peuvent recevoir une étiquette pour chaque scène de chaque groupe DALI. Lorsqu'une commande de scène est envoyée via la ligne DALI, chaque appareil DALI reçoit la commande et vérifie sa mémoire. S'il a une action stockée, le dispositif DALI exécutera l'action, sinon il ignorera la commande.

image

Le protocole DALI

La spécification DALI basé sur IEC62386 est payante : DALI Specification

On retrouve plusieurs types de spécification comme par exemple :

  • Part 101 : System
  • Part 102 : Control gear
  • Part 103 : Control devices
  • Part 105 : Firmware update (etc ...) image

Les échanges d'information se font sous forme de trames à la vitesse de 1200 bit/s. Les bits sont codés en biphasé (codage de type Manchester), le 0 logique correspond à une transition négative, le 1 logique, à une transition positive. Chaque période de bit dure 833,33 µs et chaque demi-bit dure 416,67 µs qu'on appellera TE par la suite. Les temps de période d'un demi-bit sont importants puisque le codage Manchester nécessite des transitions de deux bits pour chaque bit de données logiques. Le bit de poids fort(MSB) est envoyé en premier.

DALI 1

Forward frame

Une trame forward DALI 1.0 contient le bit de start, suivi de l'octet d'adresse, d'un octet de données et de deux bits de stop.

Backward frame

La réponse contient 11 bits : 1 bit de start + 1 octet de donnée + 2 bits de stop.

image

DALI 2

Forward Frame

Une trame forward DALI 2.0 contient le bit de start, suivi de l'octet d'adresse, jusqu'à deux octets de données et une condition d'arrêt (voir Figure 2). DALI 2.0 est une trame de 24 bits, y compris les bits de start et de stop, cette dernière dure 23,2 ms, soit environ 56 périodes d'un demi-bit, tandis que la trame forward de 16 bits dure 16,2 ms, soit 39 périodes d'un demi-bit.

Le contrôleur envoie une requête vers le ballast, puis reçoit une réponse de celui-ci. La requête contient 19 bits : 1 bit de start + 1 octet d'adresse + 1 octet de donnée + 2 bits de stop.

image

Exemple :

image

Backward Frame

La réponse contient 11 bits : 1 bit de start + 1 octet de donnée + 2 bits de stop.

image

Une trame Backward est le paquet de réponse transmis de l'équipement de contrôle au dispositif de contrôle. Une trame backward se compose du bit de start, d'un octet de données et d'une condition d'arrêt (voir la figure ci-dessus). Une trame backward, comprenant les bits de start et de stop, dure 9,95 ms (environ 24 périodes d'un demi-bit). L'octet de données peut avoir n'importe quelle valeur, en fonction de la commande émise par le dispositif de contrôle. Si l'octet de données d'une trame arrière est 0xFF, la réponse est considérée comme un « oui ». Si une réponse est attendue et que le bus reste inactif, la réponse est considérée comme un « non ».

Exemple :

image

Timing

Une fois que le dispositif de contrôle a terminé la transmission de la trame, l'appareillage de commande doit commencer à transmettre la trame vers l'arrière au plus tôt 5,5 ms (environ 14 demi-bits) et au plus tard 10,5 ms (environ 25 demi-bits). Une fois la trame arrière reçue dans son intégralité, l'appareil de contrôle doit attendre un minimum de 2,4 ms (environ six périodes d'un demi-bit) avant de transmettre la trame forward suivante.

image

image

Part 102 : Control GEAR

Quelques informations sur le part 102 :

Commandes DALI

Command Opcode Description
OFF 0x00 Switches off lamp(s)
UP 0x01 Increases lamp(s) illumination level
DOWN 0x02 Decreases lamp(s) illumination level
STEP UP 0x03 Increases the target illumination level by 1
STEP DOWN 0x04 Decreases the target illumination level by 1
RECALL MAX LEVEL 0x05 Changes the current light output to the maximum level
RECALL MIN LEVEL 0x06 Changes the current light output to the minimum level
STEP DOWN AND OFF 0x07 If the target level is zero, lamp(s) are turned off; if the target level is between the min. and max. levels, decrease the target level by one; if the target level is max., lamp(s) are turned off
ON AND STEP UP 0x08 If the target level is zero, lamp(s) are set to minimum level; if target level is between min. and max. levels, increase the target level by one
ENABLE DAPC SEQUENCE 0x09 Indicates the start of DAPC (level) commands
GO TO LAST ACTIVE LEVEL(1) 0x0A Sets the target level to the last active output level
GO TO SCENE 0x10 Sets a group of lamps to a predefined scene
CONFIGURATION INSTRUCTIONS
DALI RESET 0x20 Configures all variables back to their Reset state
STORE ACTUAL LEVEL IN DTR0 0x21 Stores the actual level value into Data Transfer Register 0 (DTR0)
SAVE PERSISTENT VARIABLES(1) 0x22 Stores all variables into Nonvolatile Memory (NVM)
SET OPERATING MODE DTR0(1) 0x23 Sets the operating mode to the value listed in DTR0
RESET MEMORY BANK DTR0(1) 0x24 Resets the memory bank identified by DTR0 (memory bank must be implemented and unlocked)
IDENTIFY DEVICE(1) 0x25 Instructs a control gear to run an identification procedure
SET MAX LEVEL DTR0 0x2A Configures the control gear's maximum output level to the value stored in DTR0
SET MIN LEVEL DTR0 0x2B Configures the control gear's minimum output level to the value stored in DTR0
SET SYSTEM FAILURE LEVEL DTR0 0x2C Sets the control gear's output level in the event of a system failure to the value stored in DTR0
SET POWER ON LEVEL DTR0 0x2D Configures the output level upon power-up based on the value of DTR0
SET FADE TIME DTR0 0x2E Sets the fade time based on the value of DTR0
SET FADE RATE DTR0 0x2F Sets the fade rate based on the value of DTR0
SET EXTENDED FADE TIME DTR0(1) 0x30 Sets the extended fade rate based on the value of DTR0; used when fade time = 0
SET SCENE 0x40 Configures scene 'x' based on the value of DTR0
REMOVE FROM SCENE 0x50 Removes one of the control gears from a scene
ADD TO GROUP 0x60 Adds a control gear to a group
REMOVE FROM GROUP 0x70 Removes a control gear from a group
SET SHORT ADDRESS DTR0 0x80 Sets a control gear's short address to the value of DTR0
ENABLE WRITE MEMORY 0x81 Allows writing into memory banks
QUERY INSTRUCTIONS
QUERY STATUS 0x90 Determines the control gear's status based on a combination of gear properties
QUERY CONTROL GEAR PRESENT 0x91 Determines if a control gear is present
QUERY LAMP FAILURE 0x92 Determines if a lamp has failed
QUERY LAMP POWER ON 0x93 Determines if a lamp is On
QUERY LIMIT ERROR 0x94 Determines if the requested target level has been modified due to max. or min. level limitations
QUERY RESET STATE 0x95 Determines if all NVM variables are in their Reset state
QUERY MISSING SHORT ADDRESS 0x96 Determines if a control gear's address is equal to 0xFF
QUERY VERSION NUMBER 0x97 Returns the device's version number located in memory bank 0, location 0x16
QUERY CONTENT DTR0 0x98 Returns the value of DTR0
QUERY DEVICE TYPE 0x99 Determines the device type supported by the control gear
QUERY PHYSICAL MINIMUM 0x9A Returns the minimum light output that the control gear can operate at
QUERY POWER FAILURE 0x9B Determines if an external power cycle occurred
QUERY CONTENT DTR1 0x9C Returns the value of DTR1
QUERY CONTENT DTR2 0x9D Returns the value of DTR2
QUERY OPERATING MODE(1) 0x9E Determines the control gear's operating mode
QUERY LIGHT SOURCE TYPE(1) 0x9F Returns the control gear's type of light source
QUERY ACTUAL LEVEL 0xA0 Returns the control gear's actual power output level
QUERY MAX LEVEL 0xA1 Returns the control gear's maximum output setting
QUERY MIN LEVEL 0xA2 Returns the control gear's minimum output setting
QUERY POWER ON LEVEL 0xA3 Returns the value of the intensity level upon power-up
QUERY SYSTEM FAILURE LEVEL 0xA4 Returns the value of the intensity level due to a system failure
QUERY FADE TIME FADE RATE 0xA5 Returns a byte in which the upper nibble is equal to the fade time value and the lower nibble is the fade rate value
QUERY MANUFACTURER SPECIFIC MODE(1) 0xA6 Returns a 'YES' when the operating mode is within the range of 0x80 - 0xFF
QUERY NEXT DEVICE TYPE(1) 0xA7 Determines if the control gear has more than one feature, and if so, return the first/next device type or feature
QUERY EXTENDED FADE TIME(1) 0xA8 Returns a byte in which bits 6-4 is the value of the extended fade time multiplier and the lower nibble is the extended fade time base
QUERY CONTROL GEAR FAILURE(1) 0xAA Determines if a control gear has failed
QUERY SCENE LEVEL 0xB0 Returns the level value of scene 'x'
QUERY GROUPS 0-7 0xC0 Returns a byte in which each bit represents a member of a group. A '1' represents a member of the group
QUERY GROUPS 8-15 0xC1 Returns a byte in which each bit represents a member of a group. A '1' represents a member of the group
QUERY RANDOM ADDRESS H 0xC2 Returns the upper byte of a randomly generated address
QUERY RANDOM ADDRESS M 0xC3 Returns the high byte of a randomly generated address
QUERY RANDOM ADDRESS L 0xC4 Returns the low byte of a randomly generated address
READ MEMORY LOCATION 0xC5 Returns the content of the memory location stored in DTR0 that is located within the memory bank listed in DTR1
QUERY EXTENDED VERSION NUMBER 0xFF Returns the version number belonging to the device type or feature
SPECIAL COMMANDS
TERMINATE 0xA1 Stops the control gear's initilization
DTR0 DATA 0xA3 Loads a data byte into DTR0
INITIALISE 0xA5 Initializes a control gear, command must be issued twice
RANDOMIZE 0xA7 Generates a random address value, command must be issued twice
COMPARE 0xA9 Compares the random address variable to the search address variable
WITHDRAW 0xAB Changes the initialization state to reflect that a control gear had been identified but remains in the initialization state
PING(1) 0xAD Used by control devices to indicate theirm presence on the bus
SEARCH ADDRH 0xB1 Determines if an address is present on the bus
SEARCH ADDRM 0xB3 Determines if an address is present on the bus
SEARCH ADDRL 0xB5 Determines if an address is present on the bus
PROGRAM SHORT ADDRESS 0xB7 Programs a control gear's short address
VERIFY SHORT ADDRESS 0xB9 Verifies if a control gear's short address is correct
QUERY SHORT ADDRESS 0xBB Queries a control gear's short address
ENABLE DEVICE TYPE 0xC1 Enables a control gear's device type function
DTR1 DATA 0xC3 Loads a data byte into DTR1
DTR2 DATA 0xC5 Loads a data byte into DTR2
WRITE MEMORY LOCATION 0xC7 Writes data into a specific memory location and returns the value of the data written
WRITE MEMORY LOCATION NO REPLY(1) 0xC9 Writes data into a specific memory location but does not return a response

Exemple

La salle de réunion ci-dessous est divisée en 4 groupes fonctionnels de luminaires

image

image

Suivant la fonction de la salle à un instant donné, un ou plusieurs groupes de lampes sont mis en service

image

Le système DALI permet, par l'intermédiaire d'un contrôleur, la mise en marche, l'arrêt, le réglage du niveau d'éclairement, le traitement des défauts éventuels...

image

Le BALLAST

Le ballast permet de fournir la haute tension nécessaire à l'amorçage du tube fluorescent puis de limiter la tension lorsque le tube est allumé Le ballast-ferromagnétique est progressivement remplacé par le ballast électronique qui fonctionne à une fréquence de l'ordre de 20 kHz et qui assure un meilleur rendement de l'ensemble tube-ballast Le ballast électronique peut disposer d'une ligne DALI comme dans l'exemple ci-dessous.

image

Les ballasts sauvegardent dans leur propre mémoire les adresses, les groupes et les scènes

Ex: Circuit d'un ballast (AN 809)

image

Ex: Diagramme de fonctionnement d'un ballast (AN809)

image

References