Vous êtes sur la page 1sur 9

Comment développer une application avec un micro contrôleur ?

Méthodologie logicielle

Avant propos : Cette méthode est illustrée par l’exemple suivant:


Système de positionnement de caméra vidéo (voir les pages 4 à 9).

I Définition des paramètres d'entrées et de sorties du micro contrôleur.

I.1 Liste de tous les signaux.

Etablir la liste des signaux qui relient la logique câblée à la logique programmée
(µC ou µP+ROM+RAM+I/O) à partir des schémas fonctionnels ou structurels.

I.2 Caractéristiques des signaux.

• Pour chaque signal ou ensemble de signaux (BUS) caractériser:


- Leurs paramètres électriques: U, I, P, F, Ze, Zs, etc...
- Leurs représentations temporelles.

• Pour chaque signal ou ensemble de signaux identifier les paramètres


d'entrées et de sorties.

Remarque: Un signal ou ensemble de signaux peut transporter:


* Une seule information de type binaire.
* Une seule information de type analogique.
* Un ensemble d'informations pouvant former un ou plusieurs
paramètres (liaisons séries et liaisons parallèles).

• Pour chaque paramètre définir:


- Son nom (Identificateur).
- Sa taille (Nombre de bits ou d'octets).
- Son type (Entier, Réel, Caractère, Chaîne de caractères, Tableau...).
- Son mode de représentation (Binaire, BCD, Hexadécimal, ASCII ...).

Exemple: Voir annexe 2 : page 6/9

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 1/9


Comment développer une application avec un micro contrôleur ?
Méthodologie logicielle

II Définition du Programme Principal ou de l'ordonnancement.


Faire l'organigramme du Programme Principal représentant l'enchaînement de toutes les
actions réalisées par l'objet technique sous d’organigramme.

Exemple: Voir annexe 1 : page 5/9

Remarques:
• Les actions définies dans l'organigramme sont les actions principales
réalisées par l'objet Technique, elles doivent être traduites par des verbes
d'actions (Faire, Positionner, Calculer, Avancer , Mettre , Scruter,
Remplacer, Sauvegarder .....).
• Si le système répond a plusieurs événements (Interruptions), il faut faire un
organigramme par événement.

III Définition des variables globales.


A partir de l'organigramme du programme principal, définir les variables globales:
Pour chaque variable définir:
- Son nom (Identificateur).
- Sa taille (Nombre de bits ou d'octets).
- Son type (Entier, Réel, Caractère, Chaîne de caractères, Tableau...).
- Son mode de représentation (Binaire, BCD, Hexadécimal, ASCII ...).

Exemple: Voir annexe 2 : page 6/9

IV Diagramme Logiciel.
D'après l'organigramme du Programme Principal, faire un diagramme représentant:

- Les structures matérielles situées à la frontière entre la logique câblée et la


logique Programmée.
Exemples: TIMER, PORT E/S, ACIA, FIRQ, RESET, etc ...

- Les fonctions logicielles principales déterminées par rapport aux différentes


actions définies dans l'organigramme du programme principal.
- Les appels des différentes fonctions:
- Les échanges d'informations :
* Variables globales.
* Paramètres d'entrées.
* Paramètres de sorties.

Exemple: Voir Annexe 3 : page 7/9

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 2/9


Comment développer une application avec un micro contrôleur ?
Méthodologie logicielle

V Définition des fonctions logicielles.


Faire un tableau de toutes les fonctions logicielles, pour chaque fonction:
- Le nom.
- Toutes les fonctions réalisées par celle-ci.
- Les paramètres d'entrées.
- Les paramètres de sorties.

Exemple: Voir Annexe 4 : page 8/9

Remarque: La définition des fonctions logicielles et la réalisation du diagramme


logiciel doit se faire en parallèle.

VI Réalisations des fonctions logicielles.


Pour chaque fonction:
1) Choisir une méthode explicative claire permettant de comprendre les différentes
fonctions réalisées:
- Algorithme.
- Organigramme.
- .....
2) Traduire les algorithmes ou organigrammes dans les langages informatiques
choisis.

3) Vérifier que toutes les fonctions réalisent bien les fonctions demandées à l’aide
d’un programme de test.

VII Assemblage logiciel.


A partir du programme principal assembler les différentes fonctions pour réaliser un
à un les segments, jusqu'à la réalisation complète de l'organigramme du programme
principal.

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 3/9


Comment développer une application avec un micro contrôleur ?
Méthodologie logicielle

VII) EXEMPLE : Système de positionnement de caméra.

DIAGRAMME SAGITTAL
Evénement

Vidéo
MONITEUR CAMERA
Vidéo
TV
Poisition
IMAGE
EMETTEUR
Changement TV
OPERATEUR de position
UNITE DE
LOCAL COMMANDE
Visualisation
de la position Changement
de position

Ondes
Visualisation
Hertziennes
de la
position
RECEPTEUR
MINITEL TV

Visualisation
de la Image
position
OPERATEUR
DISTANT

Cahier des charges


- Système de positionnement de la caméra par pas de 7,5°
- Incrémentation et décrémentation des pas par boutons
poussoirs.
- Affichage de la position en dégré.

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 4/9


Comment développer une application avec un micro contrôleur ?
Méthodologie logicielle

ANNEXE N°1 : Organigramme de fonctionnement.

DEBUT

INITIALISER

POS=000°

NON

AFFICHER LE MESSAGE SUR LE MINITEL


“ANGLE = POS “
“DONNEZ VOTRE POSITION “

AFFICHER SUR LES AFFICHEURS


7 SEGMENTS
LA POSITION
NON

BOUTONS POUSSOIIRS
OUI ACTIONNES
?

AFFICHER SUR LE MINITEL DEBUT


“CAMERA EN MOUVEMENT”

RECEVOIR LES
AVANCER D’UN PAS CARACTERES

POS = POS + / - 1 PAS OUI MESSAGE VALIDE


?
AFFICHER SUR LES AFFICHEURS
7 SEGMENTS
LA POSITION OUI
AFFICHER SUR LE
MINITEL
BOUTONS POUSSOIIRS “CAMERA EN NON
ACTIONNES MOUVEMENT”
?

DEPLACER LA CAMERA
DE N PAS

FIN

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 5/9


Comment développer une application avec un micro contrôleur ?
Méthodologie logicielle

ANNEXE N°2 : Définition des paramètres d’entrées et de sorties et les variables.

Liste des paramètres d’entrées :


• BP Sens Horaire: ORA.2 de type binaire.
• BP Sens Anti-Horaire ORA.3 de type binaire.
• RX Réception liaison ORA.4 de type binaire (Liaison asynchrone de type
start-stop.)
Liste des paramètres de sorties :
• TX: Transmissions liaison ORA.5 de type binaire. Liaison asynchrone de type
start stop.
• SENS: ORA.1.
ORA.1=0 Sens Horaire.
ORA.1=1 Sens Anti Horaire.
• CLK: ORA.0.
Une impulsion fait avancer le moteur d'un pas.
F(CLK)max= 400Hz.
• PORT_B:SEG(a..f).
Représentant un des chiffres de la position courante
POS en code 7 segments.
• PORT_C:ORC(0..2)
Sélectionne le chiffre a afficher de POS.

Variables globales:
• POS: Représente la position courante.
Codée sur deux octets en BCD --> Entier sur 16bits.
• POS_RX: Représente la position reçue par le minitel.
Codée sur deux octets en BCD --> Entier sur 16bits.
• CAR_TX et CAR_RX représentent Les codes ASCII a transmettre et à recevoir.
Codés sur un octet en ASCII --> Entier sur 8 bits.
• ERR_RX: Représente l'erreur de réception.
ERR_RX=$00 (VRAI) pas d'erreur.
ERR_RX=$FF (FAUX) erreur.
• SENS: Représente le sens de rotation de la caméra.
SENS=$00 Sens Horaire.
SENS=$FF Sens Anti Horaire.
• ETAT_BP: Représente l'état des BPs.
ETAT_BP=$00 Boutons Actionnés.
ETAT_BP=$FF Boutons Actionnés.
• V_COMP: Représente le résultat de la comparaison de POS et POS_RX
V_COMP=0 si POS=POS_RX
V_COMP=1 si POS>POS_RX
V_COMP=2 si POS<POS_RX
• CHAINE: Représente la chaîne à transmettre à ENV_CH.CHAINE=MES1 ou
MES2.

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 6/9


Comment développer une application avec un micro contrôleur ?
Méthodologie logicielle

ANNEXE N°3 : Diagramme logiciel.

RX (MINITEL)

TX (MINITEL)
ORA.4 (RX)

Réception d'un caractère


Compare
IRQ REC_CAR
COMP

Détection d'erreur
ORA.5 (TX) du caractère reçu
ERR_CAR Avance de N Pas
Lecture d'une position
AVN_PAS
LEC_POS

POS=POS+7.5
Effacement de ADD75
POS=POS-7.5
SUB75
l'écran Interruption de réception
CLS
Affichage MESSAGE 1 IRQ
AF_MES1
Envoi d'un caractère Avance d'un Pas
ENV_CAR AV1_PAS
Affichage MESSAGE 2
AF_MES2
Envoi d'une chaine
Multiplexage Affichage SENS : ORA.1
ENV_CH
PROGRAMME CLK: ORA.0
MUX_AFF
PRINCIPAL
PORT_B:SEG (a..f)

Lecture des boutons Initialisation PORT_C:


LEC_BP I_UC ORC.0: AF1.
RESET ORC.1: AF2.
ORA.2: BP Sens Horaire ORC.2: AF3.
ORA.3: BP Sens Anti Horaire

Appel de fonction

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 7/9


Comment développer une application avec un micro contrôleur ?
Méthodologie logicielle

ANNEXE N°4 : Tableau des fonctions logicielles.

Nom de la
Description des fonctions réalisées. Entrée(s) Sortie(s)
Fonction
I_UC. • Elle configure les ports en Entrées et en Sortie. • 0. • DDRA,
Initialisation. • Initialise la variable globale POS à zéro POS=0. DDRB,
DDRC.

AFF_MES1. Message N°1: "ANGLE = POS, DONNEZ VOTRE • POS. • MES1.


Affichage du message N°1 POSITION".• Formatage de la chaîne de
caractères a envoyer à ENV_CH.

ENV_CH. Envoi d'une • Elle sélectionne les différents caractères à • MES1, • CAR_TX.
chaîne de caractère. envoyer à ENV_CAR jusqu'à la fin de la chaîne. MES2.

ENV_CAR. • Elle sérialise CAR_TX sur la sortie TX. • CAR_TX. • ORA(TX).


Envoi d'un caractère.

AFF_MES2. Message N°2:"CAMERA EN MOUVEMENT". • • MES2.


Affichage du message N°2: • Formatage de la chaîne a envoyer à ENV_CH.

REC_CAR. • Elle dé sérialise les informations de l'entrée RX


Réception de caractère. pour produire CAR_RX. • ORA(RX). • CAR_RX.

LEC_POS. • Elle reçoit les caractères de REC_CAR pour • CAR_RX. • POS_RX,


Lecture de Position. former POS_RX. ERR_RX.
• Elle teste si LEC_POS est valide.
• Elle teste si LEC_POS>360°.
• Elle génère un code d'erreur si LEC_POS n'est
pas valide dans ERR_RX.

AVN_PAS. • Elle déplace la caméra jusqu'à temps que • POS_RX, • SENS.


POS_RX soit égale à POS. POS.
Avance de N pas.
• Elle déplace la caméra d'un pas (7,5°) suivant la • SENS. • ORA(0),
AV1_PAS.
valeur de SENS. ORA(1).
Avance d'un pas.
• Elle détermine si un des deux boutons est • ORA(2), • ETAT_BP,
LEC_BP. actionné, le résultat est dans ETAT_BP. ORA(3). SENS.
Lecture de Boutons. • Elle détermine le sens en fonction du bouton
actionné, le résultat est dans SENS.

• Elle génère les codes 7 segments pour afficher la • POS. ORB(0..6),


MUX_AFF. position courante POS. ORC(0..2).
Multiplexage des afficheurs.
• Elle compare POS et POS_RX et positionne • POS_RX, • V_COMP
COMP. V_COMP. POS
Compare.

ADD75. • Additionne 0075 à POS en BCD. • POS. • POS.


Addition de 7,5°.

SUB75. • Soustraie 0075 à POS en BCD. • POS. • POS.


Soustraction de 7,5°.

CLS. • Efface l'écran du minitel. • CAR_TX.


Efface l'écran.

ERR_CAR. • Teste si le caractère reçu est valide. • CAR_RX. • ERR_RX.


Erreur de caractère.

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 8/9


Comment développer une application avec un micro contrôleur ?
Méthodologie logicielle

ANNEXE N°5 : Schéma structurel.

+5V +5V +5V


+5V +5V

R1
Q1
PNP
C1
R2
Q2
100nF PNP
0
3

U1 R3
S1 7 Q3
TIMER
VCC

28 PNP
Q4 6 RESET
2 VPP 8
C2 4 INT PC0 9
5 EX PC1 10
XT PC2 11
C3 PC3
27pF
R4 PB0
20 12
0 0 21 PA0 PB0 13
R5 PB1
PA1 PB1 R6 PB2
22 14
PA2 PB2 R7 PB3
23 15
PA3 PB3 R8 PB4
S2 S3 24 16
PA4 PB4 R9 PB5
25 17
PA5 PB5 R10 PB6
26 18
27 PA6 PB6 19
PA7 PB7
VSS

68705P3
1

+5V
0 0
R16
JP1 D1 D2 D3
14

14

14
3

3
3
2 PB0 1 PB0 1 PB0 1
1 PB1 13 PB1 13 PB1 13
PB2 10 PB2 10 PB2 10
HEADER 3 PB3 8 PB3 8 PB3 8
PB4 7 9 PB4 7 9 PB4 7 9
0 PB5 2 PB5 2 PB5 2
PB6 11 PB6 11 PB6 11
7SEG

7SEG 7SEG
PB[0..6]

+12V
U2 +12V +5V
3 0
R11 R12 15 SENS
2 CLOCK
JP2
PREP
C4 +12V 1
2
10uF 13 6 3
R13 R14 VCC2 Q1 8 4
Q5 Q6 Q2 9 5
NPN NPN R15 Q3 11 6
Q4 7
1k 1k SAA1027 HEADER 7

Philippe LECARDONNEL & Philippe LETENNEUR – GRANVILLE - 2002 - page 9/9

Vous aimerez peut-être aussi