RTOS RTS_12

 
 
 
RTOS Noyau Temps Réel RTS_12 de SERIElectronique

 

CONCEPTION D’UNE  APPLICATION TEMPS REEL       

Gestion de température et alarme par RTS_S12

 
 

La gestion du temps est l'un des problèmes majeurs des systèmes. La raison est simple : les système modernes étant souvent multitâches, ceci oblige le système à partager le temps du processeur entre les différentes tâches. Cette notion de partage implique une gestion du passage d'une tâche à l'autre qui est effectuée par un ensemble d'algorithmes appelé ordonnanceur (scheduler en anglais).

Un système temps réel est une association logiciel/matériel où le logiciel permet, entre autre, une gestion adéquate des ressources matérielles en vue de remplir certaines tâches ou fonctions dans des limites temporelles bien précises.

Au coeur du noyau se trouve le scheduleur qui gère le microcontrôleur, assure la gestion du temps et l’ordonnancement des différentes tâches.

Une tâche est une boucle infinie réalisant une fonction ou un traitement de donnée.

Chaque tâche a son numéro de priorité, car l'ordonnanceur (scheduleur), a pour but premier le partage équitable du temps entre les différentes tâches du système. Elle est identifiée par un nombre entier généralement compris entre 0 et 255.
  
Les sémaphores (sorte de drapeau qu’on peut activer ou désactiver) permettent d’implanter des mécanismes de synchronisation entre différentes tâches.

Les Boite aux lettres servent à envoyer de messages entre les tâches.

RTS_S12 est un noyau multitâche entièrement préemptif. Le scheduleur gère les tâches avec des niveaux de priorité définis par l’application. Il peut à tout instant interrompre une tâche pour activer une autre en fonction des évènements internes ou externes (interruptions, appels bloquants, ...).

De par sa structure, RTS_S12 peut être linké avec un programme en phase de test ; ou être ROMé pour des applications finales.

Description de l’application temps réel traitée ci après :

Cette application d’initiation au traitement temps réel a été testée sur notre système MC12. Elle peut également être réalisée sur nos autres systèmes :

  • LC 11 piloté par microcontrôleur 68HC11
  • LC 51 piloté par microcontrôleur 8051
  • LC PIC piloté par microcontrôleur PIC de Microchip
  • MC12S nouveau système intégrant bus CAN, réseau, USB piloté par 68HC12S

Dans cette application, il est demandé de réaliser une alarme qui se déclenchera si la température dépasse un seuil définit.
Le noyau temps réel RTS S12 sera chargé de gérer cette application en temps réel.

  • l’affichage de l’heure, horloge temps réel
  • l’affichage de la température,
  • le réglage de déclenchement de l’alarme,
  • d’activer le relais lorsque la valeur de la température atteint le seuil programmé,
  • de désactiver le relais

Pour ce faire, nous allons découper le programme en cinq sous tâches temps réel qui s’exécuteront simultanément. Ces tâches sont :

tâche Relais : gère le relais,

Cette tâche active le relais lorsque la température atteint le seuil d’alarme préprogrammé  Elle utilise le clavier pour stopper l’alarme (désactiver l'alarme en appuyant sur la touche * du clavier).

tâche Horloge : affiche l’heure,

Elle utilise les ressources de l’horloge temps réel  pour permettre à l’utilisateur de visualiser sur l’afficheur LCD les heures, minutes et secondes.

tâche Clavier : teste le clavier,

Elle a besoin de la ressource clavier matricé et permet de traiter la touche appuyée.

tâche Capteur de Température : affiche la température,

Elle utilise les ressources du capteur de température pour permettre à l’utilisateur de visualiser la température sur l’afficheur LCD.

tâche Réglage de l’alarme : enregistrer le seuil de température.

l’appui sur la touche # permet le réglage de  la température de seuil en entrant à l’aide du clavier la valeur du seuil de déclenchement de l’alarme.
Cette valeur sera affichée sur l’afficheur LCD qui va mémoriser cette valeur .

Puis le scheduleur qui gère toutes les taches réaffichera l’heure et la T° sur le LCD,

Il en résulte la création de sous fonctions à certaines tâches.

  • La fonction LCD, qui affichera selon le besoin l’heure ou la température. Elle sera appelée par les tâches Horloge et Capteur Température.
  • La fonction Relais, qui sera appelée par la tâche Relais. Cette fonction permet d’activer ou de désactiver le relais.
  • La fonction test Clavier, qui sera appelée par la tâche Clavier. Cette fonction scrutera le clavier matricé et retournera la touche pressée à son appelant.
  • La fonction Réglage sera appelée par la tâche Réglage de l’alarme. Cette fonction retournera une variable qui permettra de mettre à jour les variables alarme, suivant l’appelant.

Conception générale : les interactions

Télécharger le source du programme, cliquer ici.

 
 
SERIElectronique - 115, Rue de l'Abbé Groult - 75015 PARIS
Tél: 01 45 79 55 55 - Fax : 01 45 57 82 21 - eMail: contact@serielectronique.com
Tous droits réservés - © 1986-2008 Serielectronique.com