Post on 04-Apr-2015
Soutenance de stageSoutenance de stage
Lieux: CITI – INSA LyonLieux: CITI – INSA Lyon
Marcel PierrickMarcel Pierrick
Année 2004-2005Année 2004-2005
IUT Valence – 51, rue B. de Laffemas 26 000 VALENCE – Département GTR
Développement d’un driver de communication et mesure de Développement d’un driver de communication et mesure de performancesperformances..
IUT Valence - Département IUT Valence - Département GTRGTR
IntroductionIntroduction
1
• Centre d'Innovation en Télécommunications et Intégration de services (CITI)Centre d'Innovation en Télécommunications et Intégration de services (CITI)
- Situé sur le campus de la Doua, Villeurbanne.- Situé sur le campus de la Doua, Villeurbanne.
- Laboratoire de recherche, domaine Réseaux et Télécommunications.- Laboratoire de recherche, domaine Réseaux et Télécommunications.
- Champs d’application : réseaux mobiles, Internet multimédia.- Champs d’application : réseaux mobiles, Internet multimédia.
- Terminaux d’accès, techniques d’accès, protocoles, service.- Terminaux d’accès, techniques d’accès, protocoles, service.
• But du stage : Développer un driver de communication et mesure de But du stage : Développer un driver de communication et mesure de performancesperformances
- Validation de modèles théoriques.Validation de modèles théoriques.
- Programmation langage CProgrammation langage C
- Linux RTAILinux RTAI
IUT Valence - Département IUT Valence - Département GTRGTR
2
IntroductionIntroductionPlan de la soutenancePlan de la soutenance
I- Le driver de communicationI- Le driver de communication
- Le fonctionnement globalLe fonctionnement global
- Architecture de notre driverArchitecture de notre driver
II- Les paramètresII- Les paramètres
- Les tâches périodiquesLes tâches périodiques
- Le stockage des donnéesLe stockage des données
- Mise en forme des résultatsMise en forme des résultats
III- Les résultatsIII- Les résultats
- Variation de périodeVariation de période
- Variation de taille de registreVariation de taille de registre
- Variation croisée de périodeVariation croisée de période
IUT Valence - Département IUT Valence - Département GTRGTR
I- Le driver de communicationI- Le driver de communicationLe fonctionnement globalLe fonctionnement global
3
Permet l’accès à un ou plusieurs périphériquesPermet l’accès à un ou plusieurs périphériques
Objectifs :Objectifs :- boite noire, contraintes matérielles masquées.- boite noire, contraintes matérielles masquées.- structure rigide, protège l’accès.- structure rigide, protège l’accès.- permet le découplage du matériel.- permet le découplage du matériel.
Principes :Principes :- requête de l’utilisateur transmise au système - requête de l’utilisateur transmise au système
d’entrée/sortie (IOS).d’entrée/sortie (IOS).- IOS contient des primitives standardisées- IOS contient des primitives standardisées
* appel par périphérique* appel par périphérique* open, release, write, read, ioctl…* open, release, write, read, ioctl…
- appel de l’IOS = un - appel de l’IOS = un périphérique et une opérationpériphérique et une opération
IUT Valence - Département IUT Valence - Département GTRGTR
4
I- Le driver de communicationI- Le driver de communicationLe fonctionnement globalLe fonctionnement global
ApplicationApplication IOSIOS Pilote myserialPilote myserial PériphériquePériphérique
read(fd,…) read(fd,…)
myserial_read(fd,…) myserial_read(fd,…)
IUT Valence - Département IUT Valence - Département GTRGTR
5
I- Le driver de communicationI- Le driver de communicationArchitecture de notre driverArchitecture de notre driver
IUT Valence - Département IUT Valence - Département GTRGTR
6
II- Les paramètresII- Les paramètresLes tâche périodiquesLes tâche périodiques
• 3 tâches périodiques :
- PERIOD_ENV : envoi de données sur le port parallèle.
- PERIOD : lecture et stockage des données dans FIFO.
- PERIOD_APP : lecture FIFO et arrivée dans l’espace utilisateur.
void my_periodic_sim_task(void){
/***********************BLOCK PERIO*****************************************/RTIME now, tick_period;/* Création de la tâche */if (rt_task_init(&task_sim, sim_lpt, 0, RT_STACK_SIZE, RT_PRIORITY, 0, 0) < 0)rt_printk ("init_module: rt_task_init error\n");
/* Démarrage du timer en calculant tout d'abord la valeur de la période en codage interne RTAI (RTIME)*/
tick_period = start_rt_timer(nano2count(PERIOD_ENV));now = rt_get_time();
/* La tâche devient périodique sur la valeur donnée */if (rt_task_make_periodic(&task_sim, now, tick_period) < 0)
rt_printk("task_make_periodic error\n");//Fin tache periodique/****************************************************************************/
}
IUT Valence - Département IUT Valence - Département GTRGTR
7
II- Les paramètresII- Les paramètresLe stockage des donnéesLe stockage des données
Les données sont stockées dans des structures de cette forme : Les données sont stockées dans des structures de cette forme :
typedef struct {int num;RTIME date_envoie;} Envoie;
typedef struct {Envoie tab[NBMAXMESURES];int nbmesure;} Donnees_env;
typedef struct {int num_app;int num;int val;RTIME deltaT_app;} Mesure;
typedef struct {Mesure tab[NBMAXTAILLEREG];int nbmesure;} Donnees;
IUT Valence - Département IUT Valence - Département GTRGTR
8
II- Les paramètresII- Les paramètresMise en forme des résultatsMise en forme des résultats
Exemple de fichier texte Exemple de fichier texte obtenu :obtenu :
IUT Valence - Département IUT Valence - Département GTRGTR
III- Les résultatsIII- Les résultats
Variation de périodeVariation de période
9
0
50000000
100000000
150000000
200000000
250000000
0 50 100 150 200 250
Delay minDelay maxDelay moy
0
0.5
1
1.5
2
2.5
3
3.5
0 50 100 150 200 250 300Clost min Clost max
Mesure de retard et de perteMesure de retard et de perte
Clost Moy (%)
0
10
20
30
40
50
60
70
80
90
100
0 50 100 150 200 250 300
PERIOD varie de 50ms à 250ms par pas de 10ms
PERIOD_ENV 100ms
PERIOD_APP 200ms
TAILLEREG 1
IUT Valence - Département IUT Valence - Département GTRGTR
III- Les résultatsIII- Les résultats
Variation de périodeVariation de période
10
0
50000000
100000000
150000000
200000000
250000000
300000000
0 50 100 150 200 250
Delay minDelay maxDelay moy
Clost Moy (%)
0
10
20
30
40
50
60
70
80
90
100
0 50 100 150 200 250 300
0
0.5
1
1.5
2
2.5
0 50 100 150 200 250 300Clost min Clost max
PERIOD varie de 50ms à 250ms par pas de 10ms
PERIOD_ENV 100ms
PERIOD_APP 150ms
TAILLEREG 1
IUT Valence - Département IUT Valence - Département GTRGTR
III- Les résultatsIII- Les résultats
Variation de périodeVariation de période
11
PERIOD_APP varie de 50ms à 250ms par pas de 10ms
PERIOD_ENV 100ms
PERIOD 50ms
TAILLEREG 1
0
20000000
40000000
60000000
80000000
100000000
120000000
0 50 100 150 200 250
Delay minDelay maxDelay moy
Clost Moy (%)
0
10
20
30
40
50
60
70
80
90
100
0 50 100 150 200 250 300
0
10
20
30
40
50
60
70
80
90
100
0 50 100 150 200 250 300
Ccopy moy (%)
PERIOD 50000000nsPERIOD_ENV 100000000nsPERIOD_APP 150000000nsTAILLEREG 1 à 5
IUT Valence - Département IUT Valence - Département GTRGTR
III- Les résultatsIII- Les résultats
Variation de taille de registreVariation de taille de registre
12
0
50000000
100000000
150000000
200000000
250000000
300000000
1 2 3 4 5
Delay min
Delay max
Delay moy
0
50000000
100000000
150000000
200000000
250000000
1 2 3 4 5
Delay min
Delay max
Delay moy
PERIOD 50000000nsPERIOD_ENV 100000000nsPERIOD_APP 200000000nsTAILLEREG de 1 a 5
PERIOD 50000000nsPERIOD_ENV 100000000nsPERIOD_APP 150000000nsTAILLEREG 1 à 5
IUT Valence - Département IUT Valence - Département GTRGTR
III- Les résultatsIII- Les résultats
Variation de taille de registreVariation de taille de registre
13
PERIOD 50000000nsPERIOD_ENV 100000000nsPERIOD_APP 200000000nsTAILLEREG de 1 a 5
TAILLEREG Delay min Delay max Delay moy Global lost Clost min Clost max Clost Moy (%)Global Copy Ccopy min Ccopy max Ccopy moy (%)1 120715 52391999 25395863 2499 0 1 33.33 0 0 0 02 238447 102104310 75373242 2499 0 1 33.33 0 0 0 03 237762 152620719 125381801 2499 0 1 33.33 0 0 0 04 236902 202325430 175359156 2499 0 1 33.33 0 0 0 05 235840 252389991 225332926 2498 0 1 33.32 0 0 0 0
TAILLEREG Delay min Delay max Delay moy Global lost Clost min Clost max Clost Moy (%)Global Copy Ccopy min Ccopy max Ccopy moy (%)1 121205 2590887 434931 4999 0 1 50 0 0 0 02 237768 102469194 100402563 4998 0 1 49.99 0 0 0 03 236910 102506905 100401434 4998 0 1 49.99 0 0 0 04 240360 202517991 200384541 4998 0 1 50 0 0 0 05 238717 202388164 200381988 4998 0 1 50 0 0 0 0
IUT Valence - Département IUT Valence - Département GTRGTR
III- Les résultatsIII- Les résultats
Variation croisée de périodeVariation croisée de période
14
PERIOD varie de 60ms à 240ms par pas de 20msPERIOD_APP varie de 60ms à 240ms par pas de 20msPERIOD_ENV 100000000TAILLEREG 1
IUT Valence - Département IUT Valence - Département GTRGTR
ConclusionConclusion
15
• Résultats des tests en accord avec les modèles théoriques.Résultats des tests en accord avec les modèles théoriques.
• La plupart des tests ont réussi.La plupart des tests ont réussi.
• Le driver peut être réutilisé pour d’autres tests.Le driver peut être réutilisé pour d’autres tests.
• Connaissances en langage C améliorées.Connaissances en langage C améliorées.
• Travail en équipe renforcé.Travail en équipe renforcé.
• Première approche du métier de chercheur.Première approche du métier de chercheur.
• Mise en application des aptitudes en programmation acquises Mise en application des aptitudes en programmation acquises à l’IUTà l’IUT