Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCMS_Project — Train Control & Management System Firmware

Présentation du Projet

Le projet TCMS_Project vise à concevoir le firmware embarqué d'un système de contrôle et de gestion ferroviaire sur microcontrôleur STM32, assurant en temps réel la supervision de la traction, du freinage d'urgence et de la télémétrie. Conçu en C/C++ bare-metal et FreeRTOS, il respecte des normes de sûreté pour la gestion des sous-systèmes critiques. Ce dépôt contient le code source et les configurations d'émulation pour la simulation Wokwi.

Présentation du Système

Le TCMS (Train Control & Management System) est l'unité centrale de contrôle embarquée responsable de la supervision, du pilotage de la sécurité et de la télémétrie d'une rame ferroviaire. Ce système critique gère l'intégration temps réel des sous-systèmes de traction, de freinage d'urgence, de surveillance de tension caténaire et de communication intra-rame.

Ce firmware est conçu selon les principes de sûreté de fonctionnement de la norme EN 50128 (SIL 2/3).


Architecture du Système & Sous-modules

Le logiciel TCMS s'articule autour des briques fonctionnelles suivantes :

  • VCU (Vehicle Control Unit) : Machine à états globale de la rame et boucle de contrôle.
  • Safety & Emergency Brake (EXTI) : Traitement prioritaire et matériel de l'Arrêt d'Urgence.
  • Traction & Speed Control (PWM / Encoder) : Modulation de la consigne de vitesse et mesure tachymétrique.
  • Power Line Acquisition (ADC / DMA) : Monitoring continu et sous interruption de la tension caténaire.
  • Telemetry & TCN Gateway (UART / CAN) : Envoi de la télémétrie et encodage des trames de diagnostic.
  • Fail-Safe & Watchdog (IWDG) : Gestion des modes dégradés et réarmement périodique du chien de garde.

Target Hardware & Émulation

  • Cible Matérielle : Microcontrôleur STM32 (ARM Cortex-M0+, carte ST Nucleo-L031K6).
  • Environnement IDE : VS Code + extension PlatformIO.
  • Émulation Virtuelle : Wokwi Simulator (diagram.json).
  • Langages : C Bare-Metal (manipulation directe des registres CMSIS) & C++ / FreeRTOS (multitâche).

Guide de Déploiement & Diagnostics

1. Compilation du Firmware

Pour compiler le binaire en appliquant les options de contrôle strictes (-Wall -Wextra -Werror) :

pio run

About

Train Control & Management System Firmware

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages