ELECINF344/381

Partie interactive du site pédagogique ELECINF344/ELECINF381 de Télécom ParisTech (occurrence 2011).

Catégories

IRL, la réflexion DMX avance

En cherchant sur Internet ce que d’autres avaient déjà pu faire en ce qui concerne la gestion de DMX, nous sommes tombés sur une page présentant un petit montage de génération de trames DMX, basé sur un Arduino et utilisant un tranceiver RS485/RS422. Le code était disponible en ligne et nous avons pu voir qu’il utilise des GPIO du processeur pour générer bit à bit les sorties. D’après Sam, il y a moyen de configurer les UARTS du STM32 pour qu’elles soient directement utilisables avec le protocole DMX, on se plongera demain dans la datasheet pour confirmer. Il nous a aussi indiqué qu’on pourrait utiliser le DMA pour l’écriture des trames.

Ensuite Sam nous a aussi renseigné sur le genre de services que FreeRTOS peut nous rendre : les tâches prioritaires (ici la récupération des trames DMX, il ne faut pas en rater) sont toujours exécutées « à l’heure » (à quelques ns près), les taches moins prioritaires (comme la récupération d’un nouveau masque via le zigbee) sont exécutées « quand il y a le temps », tout ce qui compte est de savoir qu’en moyenne on a le temps de tout faire. Le même principe nous sera utile pour la génération très précise des signaux de commande du laser. Le cours de lundi matin nous en dira plus sur ce sujet, ce sera très utile !

Enfin, nous avons une idée qui nous semble robuste concernant la boucle de sûreté du laser. Afin de résister à un crash de la carte principale (Linux) OU du STM32 qui contrôle le laser (FreeRTOS), nous avons pensé à l’architecture suivante :

  • Sur le STM32 : une routine de priorité maximale (plus que l’OS) qui vérifie à intervalles réguliers que le laser a bougé, s’il n’a pas bougé pendant une certaine durée (à déterminer ou plutôt trouver dans les normes), le laser est coupé
  • De plus, le STM32 doit signaler périodiquement à la carte principale qu’il se porte bien. S’il s’arrête de le signaler, la carte principale en déduit qu’il a crashé, et coupe le laser.