Conception_et_réalisation__d’un_enregistreur_de_données_
-
Upload
sofien-maghraoui -
Category
Documents
-
view
215 -
download
0
Transcript of Conception_et_réalisation__d’un_enregistreur_de_données_
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
1/66
Rapport de projet de fin dtudes
En vue dobtention du diplme :
Licence applique en Sciences et technique dinformation et decommunications (LASTIC)
Universit Virtuelle de Tunis
Conception et ralisation
dun enregistreur de donnes
Ralis par: Alibi ElmehdiJawadi Sami
Encadr par :Ferchichi Ahmed
Anne universitaire :2010/2011
21SSoocciitt MMiiccrroo 2211 GGaaffssaa
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
2/66
114114
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
3/66
Table des matires
Liste des Figures....................................................................................................................................... 5
Liste des Tables ........................................................................................................................................ 6Remerciements ......................................................................................................................................... 1Introduction .............................................................................................................................................. 4I- Lenregistreur de donnes ................................................................................................................. 5
1. Dfinition : .................................................................................................................................... 52. Applications ................................................................................................................................... 5
II- Composition du Systme .................................................................................................................. 7III- Les microcontrleurs ..................................................................................................................... 8
1. Gnralits: ....................................................................................................................................... 82. Les avantages du microcontrleur : ................................................................................................... 83. Contenu dun microcontrleur : ........................................................................................................ 8
IV- Les PICs ...................................................................................................................................... 101. Structure d'un PIC : ......................................................................................................................... 102. Structure minimale d'un PIC : ......................................................................................................... 103. Identification dun PIC :.................................................................................................................. 114. Le choix du microcontrleur : ......................................................................................................... 125. Le microcontrleur PIC 18F452 : ................................................................................................... 125.1 .Caractristiques gnrales: ........................................................................................................... 125.2. Schma fonctionnel: ..................................................................................................................... 135.3. Brochage du 18F452 : .................................................................................................................. 145.4. Organisation du 18F452 : ............................................................................................................. 145.5. Les ports entre/sortie : ................................................................................................................ 15 5.6. Le convertisseur : ......................................................................................................................... 165.7. Loscillateur : .............................................................................................................................. 165.8. MCLR : ...................................................................................................................................... 16
V- Afficheur cristaux liquides (LCD) ................................................................................................ 171- Introduction : ............................................................................................................................ 172- Schma fonctionnel : ................................................................................................................ 173- Brochage : ................................................................................................................................ 184- La mmoire .............................................................................................................................. 195- Commande d'un afficheur LCD ................................................................................................ 19
VI- Module horloge temps rel ........................................................................................................... 22
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
4/66
1- Caractristiques lectriques : .................................................................................................... 22VII- Bus I2C........................................................................................................................................ 23
1-
Prsentation .............................................................................................................................. 23
2- Principe d'un change de donnes ............................................................................................. 24 3- Formats de transmission ........................................................................................................... 26
VIII- Carte SD................................................................................................................................... 271. Dfinition: ...................................................................................................................................... 272. Le bus SPI ...................................................................................................................................... 28
IX- Etude des diffrentes parties du systme ...................................................................................... 311- Implantation du circuit horloge ................................................................................................. 312- Implantation de lafficheur LCD ............................................................................................... 313- Implantation des entres analogiques et numriques ................................................................. 334- Implantation de la carte mmoire .............................................................................................. 345- Circuit dalimentation ............................................................................................................... 35
X- Simulation ...................................................................................................................................... 37XI- Routage et cration du circuit imprim ......................................................................................... 39XII- Partie Logicielle ........................................................................................................................... 42
1- Introduction : ............................................................................................................................ 421.1- Avantages du C ..................................................................................................................... 421.2- Inconvnients du C ............................................................................................................... 42
2- Prsentation du MikroC : .......................................................................................................... 43XIII- Logiciel embarque dans le PIC ............................................................................................... 44
1- Organigramme du logiciel : ...................................................................................................... 442- Initialisation : ........................................................................................................................... 453- Gestion de l'horloge : ................................................................................................................ 454- Ecriture dans l'horloge: ............................................................................................................. 465- Gestion des fichiers : ................................................................................................................ 476- Les interruptions ....................................................................................................................... 497- Les entres analogiques : .......................................................................................................... 51
XIV- Description du fonctionnement de lenregistreur de donnes..................................................... 52XV- Logiciel de visualisation : ............................................................................................................ 55XVI- Lenregistreur de donnes en pratique ...................................................................................... 56 CCOONNCCLLUUSSIIOONN ...................................................................................................................................... 57Annexes ................................................................................................................................................. 59Liste de composants ............................................................................................................................... 60
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
5/66
Liste des Figures
Figure 1:Schma synoptique de la carte............................................................................................................................ 7Figure 2 : Structure interne dun microcontrleur.............................................................................................................. 9Figure 3 : Schma fonctionnel d'un PIC........................................................................................................................... 13Figure 4 : Brochage du 18F452........................................................................................................................................ 14Figure 5 : schma fonctionnel d'un LCD.......................................................................................................................... 17Figure 6: Photo d'un LCD et son brochage...................................................................................................................... 18Figure 7: organisation interne du PCF 8583.................................................................................................................... 22Figure 8:Schma interne interface I2C............................................................................................................................ 24Figure 9: principe fondamental d'un transfert Bus I2C.................................................................................................... 24Figure 10: forme de signal................................................................................................................................................ 25Figure 11: le contenu du premier octet d'un Bus I2C...................................................................................................... 26Figure 12:Diffrents types de carte mmoire................................................................................................................... 27
Figure 13: Reprsentation de diffrentes broches d'une carte SD................................................................................ 27Figure 14: Bus SPI 1 maitre 1 esclave............................................................................................................................. 29Figure 15: BUS SPI 1 maitre N esclaves......................................................................................................................... 29Figure 16:Schma d'implantation du circuit d'horloge. ................................................................................................... 31Figure 17: schma d'implantation de l'afficheur LCD..................................................................................................... 32Figure 18:Schma d'implantation des entres................................................................................................................ 33Figure 19: schma de la carte mmoire........................................................................................................................... 34Figure 20:Schma de l'alimentation................................................................................................................................. 35Figure 21:Schma de l'enregistreur de donnes............................................................................................................. 36Figure 22:Fentre du logiciel de simulation Proteus ISIS............................................................................................... 37Figure 23:Le logiciel ISIS en mode simulation du projet................................................................................................. 38Figure 24: carte principale cot cuivre............................................................................................................................. 39Figure 25:carte principale cot composants.................................................................................................................... 40Figure 26: carte alimentation cot cuivre......................................................................................................................... 41Figure 27: carte alimentation cot composants............................................................................................................... 41Figure 28:Interface du logiciel MikroC.............................................................................................................................. 43Figure 29:Module LCD...................................................................................................................................................... 52Figure 30: Mode affichage................................................................................................................................................ 53Figure 31: Mode Trigger externe...................................................................................................................................... 53Figure 32: Mode Trigger externe avec 4 donnes......................................................................................................... 53Figure 33: Mode chantillonnage sur demande.............................................................................................................. 54Figure 34: Mode enregistrement sur intervalle................................................................................................................ 54Figure 35: Choix de nombre de chaines.......................................................................................................................... 54Figure 36 : Copie cran du logiciel dexploitation des donnes..................................................................................... 55Figure 37 : Exemple dune courbe.................................................................................................................................... 55Figure 38 : Carte principale et carte alimentation............................................................................................................ 56Figure 39 : Boitier............................................................................................................................................................... 56
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
6/66
Liste des Tables
Tableau 1: Caractristiques du PIC 18F452....................................................................................... 12Tableau 2: Brochage d'un Afficheur LCD ............................................................................................ 18Tableau 3 : Brochage d'une carte mmoire ........................................................................................ 28
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
7/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 1
RemerciementsRemerciementsRemerciementsRemerciements
En premier lieu, nous tenons remercier et a exprimer nos gratitudes notre encadreur Mr
Ferchichi Ahmed qui nous a orient et nous a soutenu durant notre projet de fin dtudes.
Nous tmoignons reconnaissance et gratitudes aux aimables personnes, quelque soit de prs ou
de loin, qui nous ont soutenu, acceptent et orientant durant notre projet de fin dtude.
Nous Remercions Mr Abdelwaheb Essoud, qui nous a infiniment aid dans notre travail.
Enfin, nous remercions vivement les membres de jury.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
8/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 2
CCaahhiieerr ddeess CChhaarrggeess
La socit Micro 21 nous a charg dtudier et de concevoir un enregistreur de donnes, qui
permet de prendre des mesures de faon automatique et qui enregistre les donnes sur un support
magntique.
La socit Micro 21 utilise ce type de dispositif dans la surveillance de diffrents types de
systmes lectriques.Les consignes pour cette tude sont :
- Affichage sur cran LCD des donnes en temps rel.
- Rglage des paramtres du dispositif pour permettre de choisir les intervalles de
mesure.
- Enregistrement sur carte mmoire (MMC).
- Donnes horodates : enregistrement des donnes avec leurs dates et heures.
- Prise dchantillon de donnes sur demande.- Un minimum de deux chaines dchantillonnage est requis.
Nous allons travailler sur cette base, pour pouvoir satisfaire ces conditions.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
9/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 3
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
10/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 4
Introduction
Dans les milieux industriels, il est ncessaire damliorer et optimiser les processus deproduction. Ainsi pour atteindre cet objectif on doit surveiller continuellement les diffrents
paramtres du systme tudi et analyser les donnes recueillis.
Un systme de surveillance de donnes dans un milieu industriel doit pouvoir proposer la
possibilit denregistrer une large gamme de donnes.
Dans ce cadre se place notre travail qui consiste concevoir et raliser un enregistreur de
donnes.
La socit Micro21 est une petite socit, sise Gafsa, qui ralise des tudes dans ledomaine informatique et lectronique en essayant de proposer des solutions adquates pour les
besoins de ses clients.
Nous allons travailler selon une mthode de travail bien dtermine :
1- Etude thorique des diffrents systmes qui composent notre enregistreur de donnes.
2- Conception et simulation du systme.
3- Ralisation pratique et diagnostique.
Ce rapport reflte et dcrit le travail effectu.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
11/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 5
I- Lenregistreur de donnes
1.Dfinition :Un enregistreur de donnes est un systme lectronique qui permet d'enregistrer des
valeurs de mesure individuelles et des sries de mesure sur une longue priode.
Les grandeurs sont mesures de faon totalement automatique, et numrises et
enregistres sur un support souvent numrique.
Les donnes peuvent tre affiches sur un afficheur .et peuvent tre transmises un ordinateur, o
il existe un logiciel qui permet de visualiser les donnes et de les analyser.
Selon le type d'enregistreur de donnes, les grandeurs mesures peuvent tre :Temprature, humidit, tension, intensit, vitesse, pression, position GPS etc..
Le plus souvent ces enregistreurs de donnes sont utiliss dans les milieux industriels pour
pouvoir contrler les systmes et pouvoir les diagnostiquer.
Selon l'application d'un enregistreur de donnes, il peut tre autonome ou aliment par batterie ou
par panneaux solaires (exemple : systme de mesure en milieu externe).
Souvent ces enregistreurs sont menu d'un systme d'affichage de type LCD qui permet
d'accder un menu de configuration, et d'afficher les valeurs mesures.Un tel systme doit disposer d'un dispositif de stockage qui permet d'enregistrer les mesures
effectues, ce dispositif peut tre une mmoire interne ou une mmoire externe (carte mmoire,
flash disk , disquette ).
La connexion de l'enregistreur au PC se fait par interface srie (RS 232) ,USB, LAN, Bluetooth,
etc.
2.Applications
Voici une liste non limitative dapplications:
En laboratoires, en production (procds de fabrication) ;
Capteur mtorologique ;
Diagnostic mdical (holter cardiaque...) ;
Comptage du trafic routier ;
Sur vhicules (diagnostic, dveloppement (prototypes)) ; bote noire pour certaines
automobiles ; Surveillance d'ouvrages (ponts, barrages...), comme Jauge de dformation ;
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
12/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 6
Recherche sur la faune ;
Surveillance de postes lectriques ;
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
13/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 7
II- Composition du SystmeCommenons d'abord par donner le schma synoptique de notre enregistreur de donnes
Figure 1:Schma synoptique de la carte
En effet, on trouve :
- lunit de traitement et de contrle des donnes qui est le microcontrleur (PIC 18F452).
- Un afficheur LCD est li directement la carte pour afficher les donnes.
- Un clavier compos de trois touches de commande pour le dfilement des instructions
contenues dans lafficheur.
- Une horloge temps rel qui joue le rle dun vrai calendrier.
Unit de contrle et de traitementMicrocontrleur
PIC 18F452
Horloge temps relPcf8583
Unit d'affichage LCD
Interface utilisateur
Unit d'adaptation
entres sorties
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
14/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 8
III- Les microcontrleurs
1. Gnralits:
Un microcontrleur est une unit de traitement de linformation de type microprocesseur
contenant tous les composants dun systme informatique, savoir microprocesseur, des
mmoires et des priphriques (ports, timers, convertisseurs). Chaque fabricant a sa ou ses
familles de microcontrleur. Une famille se caractrise par un noyau commun (le
microprocesseur, le jeu dinstruction).
2. Les avantages du microcontrleur :
Lutilisation des microcontrleurs pour les circuits programmables plusieurs points forts. Il
suffit pour sen persuader, dexaminer la spectaculaire volution de loffre des fabricants de
circuits intgrs en ce domaine depuis quelques annes.
Nous allons voir que le nombre dentre eux dcoule du simple sens.
Tout dabord, un microcontrleur intgre dans un seul et mme botier ce qui, avant ncessitait
une dizaine dlments spars. Il rsulte donc une diminution vidente de lencombrement de
matriel et de circuit imprim.
Cette intgration a aussi comme consquence immdiate de simplifier le trac du circuit
imprim puisquil nest plus ncessaire de vhiculer des bus dadresses et de donne dun
composant un autre.
Laugmentation de la fiabilit du systme puisque, le nombre des composants diminuant, le
nombre des connexions composants/supports ou composants/circuits imprimer diminue.
Le microcontrleur contribue rduire les cots plusieurs niveaux :
- Moins cher que les autres composants quil remplace.
- Diminuer les cots de main duvre.
Ralisation des applications non ralisables avec dautres composants.
3. Contenu dun microcontrleur :
Un circuit microcontrleur doit contenir dans un seul botier tous Les lments de bases quon
verra par la suite. En effet, pour lanalyse des divers systmes raliss avant lavnement des
microcontrleurs, les fabricants des circuits intgrs a affines un peu la dfinition de ce quil
fallait intgrer pour arriver un schma type analogue la figure suivante :
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
15/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 9
Figure 2 : Structure interne dun microcontrleur
Interface
spcifique
Contrle
dinterruption
ROM
UVPROM
OTPROM RAM EEPROM
Timer 1
Timer 0
CPU
Oscillateur Contrleur debus de donnes
Port srie
Interruptionsexternes
TVRXD
PortDentres/sorties
TXDRXD
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
16/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 10
IV- Les PICs
1. Structure d'un PIC :
Les PIC, au mme titre que les microprocesseurs, sont composs essentiellement de registres
ayant chacun une fonction bien dfinie. Les PIC possdent galement des priphriques intgrs,
tels qu'une mmoire EEPROM, un timer, des ports d'entres/ sorties ou bien encore un
convertisseur analogique/numrique.
Selon le type de PIC utilis, on retrouvera en interne un certain nombre de registres et
priphriques possdant des caractristiques diffrentes. Les diffrences de caractristiques selon
le PIC utilis sont :
La taille de la RAM interne ;
La mmoire EEPROM intgre ;
Le type de mmoire programme : FLASH, EPROM ou OTP et la taille de celle-ci.
Le timer intgr ;
Les convertisseurs analogique/numrique intgrs.
2. Structure minimale d'un PIC :
La structure minimale d'un PIC est constitue des lments ci-dessous :
Une mmoire de programme contient le code binaire correspondant aux instructions que
doit excuter le microcontrleur. La capacit de cette mmoire est variable selon les PIC
Une mmoire RAM sauvegarde temporairement des donnes. Sa capacit est aussi variable
selon les PIC
Une Unit Arithmtique et Logique (UAL ou ALU en anglais) est charge d'effectuer
toutes les oprations arithmtiques de base (addition, soustraction, etc.) ainsi que les
oprations logiques de base (ET, OU logique, etc.).
Des ports d'entres/sorties permettent de dialoguer avec l'extrieur du microcontrleur, par
exemple pour prendre en compte l'tat d'un interrupteur (entre logique), ou encore pour
commander un relais (sortie logique).
Un registre compteur de programme (CP ou PC en anglais), est charg de pointer l'adresse
mmoire courante contenant l'instruction raliser par le microcontrleur. Le contenu du
registre PC volue selon le pas de programme.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
17/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 11
Un registre pointeur de pile (PP ou SP en anglais) est essentiellement utilis lorsque l'on
ralise un sous-programme. Le pointeur de pile est charg de mmoriser l'adresse courante
que contient le compteur de programme avant le saut l'adresse du sous-programme.Lorsque le sous-programme est termin, le pointeur restitue l'adresse sauvegarde vers le
compteur de programme.
Un registre d'instruction contient tous les codes binaires correspondant aux instructions
raliser par le microcontrleur. Le PIC 18F452 comporte 35 instructions.
Un registre d'tat est en relation avec l'UAL et permet de tester le rsultat de la dernire
opration effectue par le microcontrleur. Selon la dernire opration effectue, des bits
sont positionns dans le registre d'tat et ceux-ci peuvent tre tests l'aide d'uneinstruction de branchement pour effectuer des sauts conditionnels.
Une horloge systme permet de cadencer tous les changes internes ou externes au
microcontrleur.
La famille des PICs est subdivise en 3 grandes familles : La famille Base-Line, qui utilise des
mots dinstructions de 12 bits, la famille Mid-Range, qui utilise des mots de 14 bits, et la famille
High-End, qui utilise des mots de 16 bits.
3. Identification dun PIC :
Pour identifier un PIC, nous utilisons simplement son numro : les 2 premiers chiffres
indiquent la catgorie du PIC, 16 indique un PIC Mid-Range, 18 indique PIC high-Range.
Vient ensuite parfois une lettre L : Celle-ci indique que le PIC peut fonctionner avec une plage
de tension beaucoup plus tolrante. Ensuite, nous trouvons : C indique que la mmoire
programme est une EPROM ou plus rarement une EEPROM, CR pour indiquer une mmoire de
type ROM ou F pour indiquer une mmoire de type FLASH. ce niveau, on rappelle que seule une mmoire FLASH ou EEPROM est susceptible dtre
efface.
Finalement nous trouvons sur les botiers le suffixe -XX dans lequel XX reprsente la
frquence dhorloge maximale que le PIC peut recevoir. Par exemple 04 pour un 4MHz.
Notons ds prsent que les PICs sont des composants STATIQUES, cest dire que la
frquence dhorloge peut tre abaisse jusqu larrt complet sans perte de donnes et sans
dysfonctionnement
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
18/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 12
4. Le choix du microcontrleur :
Le choix dun microcontrleur est primordial car cest de lui que dpendent en grande partie les
performances, la taille, la facilit dutilisation et le prix du montage. En fait ce choix est impos
dans le cahier de charge.
Le PIC 18F452 possde en plus des instructions trs puissantes donc un programme
dvelopper rduit, une programmation simple grce au mode srie. En fait la cause principale du
choix du 18F452 est quil dispose de loption du convertisseur A/D pour satisfaire ct
acquisition.
5. Le microcontrleur PIC 18F452 :
Nous allons maintenant sintresser la structure interne du PIC 18F452, avec lequel nous avons
travaill.
Le 18F452 est un microcontrleur de MICROCHIP, fait partie intgrante de la famille des High
Range (18) dont la mmoire programme est de type flash (F) de type 452 et capable daccepter une
frquence dhorloge maximale de 40Mhz.
5.1 .Caractristiques gnrales:
PIC FLASH RAM EEPROM I/O A/D PORT // Port srie
18F452 32K 1536 256 32 10bits NONUSART/
MSSP
Tableau 1: Caractristiques du PIC 18F452
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
19/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 13
5.2. Schma fonctionnel:
Figure 3 : Schma fonctionnel d'un PIC
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
20/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 14
5.3. Brochage du 18F452 :
Figure 4 : Brochage du 18F452
5.4. Organisation du 18F452 :
La mmoire du 18F452 est divise en 3 parties Pour mieux le connatre regardons de prs son
Schma fonctionnel.
La mmoire programme :
La mmoire programme est constitue de 32Kbits. Cest dans cette zone que nous allons crire
notre programme.
La mmoire EEPROM :
La mmoire EEPROM (Electrical Erasable Programmable Read Only Memory), est constitue
de 256 octets que nous pouvons lire et crire depuis notre programme. Ces octets sont conservs
aprs une coupure de courant et sont trs utiles pour conserver des paramtres semi permanents.
La mmoire Ram et organisation :
La mmoire RAM est celle que nous allons sans cesse utiliser. Toutes les donnes qui y sont
stockes sont perdues lors dune coupure de courant.
La mmoire RAM disponible du 18F452 est de 1536 octets.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
21/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 15
Watchdog :
Cette fonction est capable de surveiller le bon fonctionnement du programme que le micro contrleur
excute. Le rle du Watchdog (ou chien de garde) est de "reseter" le micro contrleur si 1 'on neremet pas zro priodiquement ( intervalle dfinissable) un registre interne grce 1 'instruction
clrwdt (clear watchdog), si le programme tourne par exemple dans une boucle sans fin (qui est un bug
dans le programme) la fonction de watchdog va permettre de remettre 0 le micro contrleur afin de
relancer le programme.
Le TIMER :
Un timer est un registre interne au micro contrleur, celui-ci sincrmente au grs d'une horloge, ce
registre peut servir par exemple pour raliser des temporisations, ou bien encore pour faire ducomptage (par l'intermdiaire d'une broche spcifique : RA4/TOKI). Le PIC 18F452 possde 4 timers
configurable par logiciel.
5.5. Les ports entre/sortie :
On dispose de 32 broches d'entres/sorties, chacune configurables soit en entre soit en sortie
(PORTA, PORTB, PORTC, PORTD).
Un registre interne au PIC, nomm TRIS, permet de dfinir le sens de chaque broche d'un
port d'entres/sorties. En rgle gnrale, un bit positionn 0 dans le registre TRIS donneraune configuration en sortie pour la broche concerne ; si ce bit est positionn 1 , ce sera une
broche d'entre.
5.5 .1. Particularit du port A :
Le 18F452 dispose de 4 canaux dentre analogique. Nous pouvons donc chantillonner
successivement jusque 4 signaux diffrents avec ce composant. Les pins utiliss sont les pins AN0
AN3.
5.5.2. Particularits du port B :
Hors de sa fonction principale autant que ports dentres /sorties, on note les pins RB0, RB1,
RB2 qui, en configuration dentre, est de type trigger de Schmitt quand elle est utilise en
mode interruption INT ; La lecture simple de ces entres se fait, de faon tout fait classique,
en entre de type TTL. Encore il y a (RB3-RB6-RB7) qui peuvent servir dans la programmation
(en mode LVP).
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
22/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 16
5.5.3. Particularits du port C :
Cest un port d'entre sortie classique, avec deux pins quon utilisera plus tard dans la
communication srie avec le PC travers (TX et RX) (RC6 et RC7).
5.5.4. Particularits du port D :
Cest un port d'entre sortie classique.
5.6. Le convertisseur :
Le CAN est un priphrique intgr destin mesurer une tension et la convertir en nombre
binaire qui pourra tre utilis par un programme.
Notre 18F452 travaille avec un convertisseur analogique/numrique qui permet un
chantillonnage sur 10 bits. Le signal numrique peut donc prendre 1024 valeurs possibles. On
sait que pour pouvoir numriser une grandeur, nous devons connatre la valeur minimale quelle
peut prendre, ainsi que sa valeur maximale, Les pics considrent par dfaut que la valeur minimale
correspond leur Vss dalimentation, tandis que la valeur maximale correspond la tension
positive dalimentation Vdd.
5.7. Loscillateur :
L'horloge systme peut tre ralise soit avec un quartz , soit avec une horloge extrieure, soit
avec un circuit RC. Dans ce dernier cas, la stabilit du montage est limite.
La frquence maximale d'utilisation va dpendre du microcontrleur utilis. Le suffixe indiqu sur le
botier donne la nature de l'horloge utiliser et sa frquence maximale.
Notre PIC utilis est limit 40Mhz.
5.8. MCLR :
La broche MCLR permet de raliser un Reset du circuit quand elle est place 0V
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
23/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 17
V- Afficheur cristaux liquides (LCD)
1-Introduction :Les afficheurs cristaux liquides, appels afficheurs LCD (Liquid Crystal Display), sont des
modules compacts intelligents et ncessitent peu de composants externes pour un bon
fonctionnement. Ils consomment relativement peu (de 1 5 mA).
Plusieurs afficheurs sont disponibles sur le march et diffrent les uns des autres, par leurs
dimensions, (de 1 4 lignes de 6 80 caractres), et aussi par leurs caractristiques techniques et
leur tension de service. Certains sont dots d'un rtro-clairage. Cette fonction fait appel des
LED montes derrire l'cran du module.
2- Schma fonctionnel :
Figure 5 : schma fonctionnel d'un LCDComme il le montre le schma fonctionnel, l'affichage comporte d'autres composants que
l'afficheur cristaux liquides (LCD) seul. Un circuit intgr de commande spcialis, le LCD-
Controller, est charg de la gestion du module. Le "contrleur" remplit une double fonction: d'une
part il commande l'affichage et de l'autre se charge de la communication avec l'extrieur.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
24/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 18
Figure 6: Photo d'un LCD et son brochage
3- Brochage :Broche Nom Niveau Fonction
1 Vss - Masse2 Vdd - Alimentation positive +5V
3 Vo 0 - 5V Cette tension permet, en la faisant varier entre 0 et +5V, le rglage ducontraste de l'afficheur.
4 RS TTLSlection du registre (Register Select) Grce cette broche, l'afficheur estcapable de faire la diffrence entre une commande et une donne. Unniveau bas indique une commande et un niveau haut indique une donne.
5 R/W TTL Lecture ou criture (Read/Write) L : criture/H : Lecture6 E TTL Entre de validation (Enable) active sur front descendant. Le niveau hautdoit tre maintenue pendant au moins 450 ns l'tat haut.7 D0 TTL8 D1 TTL9 D2 TTL
10 D3 TTL D0 > D7 Bus de donnes bidirectionnel 3 tats (haute impdance lorsqueE=0)11 D4 TTL
12 D5 TTL13 D6 TTL14 D7 TTL
15 A - Anode rtro clairage (+5V)16 K - Cathode rtro clairage (masse)
Tableau 2: Brochage d'un Afficheur LCD
Les broches 15 et 16 ne sont prsentes que sur les afficheurs LCD avec retro-clairage.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
25/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 19
4-La mmoire
L'afficheur possde deux type de mmoire, la DD RAM et la CG RAM. La DD RAM est la
mmoire d'affichage et la CG RAM est la mmoire du gnrateur de caractres.
La mmoire d'affichage (DD RAM) :
La DD RAM est la mmoire qui stocke les caractres actuellement affich l'cran..
La mmoire du gnrateur de caractres (CG RAM) :
Le gnrateur de caractre est quelque chose de trs utile. Il permet la cration d'un maximum de 8
caractres ou symboles 5x7. Une fois les nouveaux caractres chargs en mmoire, il est possible
d'y accder comme s'il s'agissait de caractres classiques stocks en ROM.
5-Commande d'un afficheur LCD
Deux modes de fonctionnement de l'afficheur sont disponibles, le mode 4 bits et le mode 8
bits, modes que l'on choisira l'initialisation de l'afficheur (voir plus bas).
Mode 8 bits :
Dans ce mode 8 bits, les donnes sont envoyes l'afficheur sur les broches D0 D7. On place
la ligne RS 0 ou 1 selon que l'on dsire transmettre une commande ou une donne. Il faut aussi
placer la ligne R/W 0 pour indiquer l'afficheur que l'on dsire effectuer une criture. Il reste
envoyer une impulsion d'au moins 450 ns sur l'entre E, pour indiquer que des donnes valides
sont prsentes sur les broches D0 D7. L'afficheur lira la donne sur le front descendant de cette
entre.
Si on dsire au contraire effectuer une lecture, la procdure est identique, mais on place cette
fois la ligne R/W 1 pour demander une lecture. Les donnes seront valide sur les lignes D0 D7
lors de l'tat haut de la ligne E.
Mode 4 bits :
Il peut, dans certains cas, tre ncessaire de diminuer le nombre de fils utiliss pour commander
l'afficheur, comme, par exemple lorsqu'on dispose de trs peu de broches d'entres sorties
disponibles sur un microcontrleur. Dans ce cas, on peut utiliser le mode quatre bits de l'afficheur
LCD. Dans ce mode, seuls les 4 bits de poids fort (D4 D7) de l'afficheur sont utilises pour
transmettre les donnes et les lire. Les 4 bits de poids faible (D0 D3) sont alors connects la
masse. On a donc besoin, hors alimentation de sept fils pour commander l'afficheur. Les donnes
sont alors crites ou lues en envoyant squentiellement les quatre bits de poids fort suivi des
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
26/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 20
quatre bits de poids faible. Une impulsion positive d'au moins 450 ns doit tre envoye sur la ligne
E pour valider chaque demi-octet ou nibble.
Dans les deux modes, on peut, aprs chaque action sur l'afficheur, vrifier que celui-ci est enmesure de traiter l'information suivrante. Pour cela, il faut demander une lecture en mode
commande, et tester le flag Busy BF. Lorsque BF=0, l'afficheur est prs recevoir une nouvelle
commande ou donne.
Il se peut qu'on dispose encore de moins de broches disponibles dans l'application envisage.
Dans ce cas, on peut alors relier la ligne R/W la masse de faon forcer l'afficheur en criture.
On a alors besoin, hors alimentation de seulement six fils en mode 4 bits, et dix fils en mode 8
bits, pour commander l'afficheur, mais on ne peut alors plus relire l'afficheur. Ceci n'est pas gnantdans la mesure o on sait ce qu'on a crit sur l'afficheur, mais on ne peut alors plus relire le flag
Busy. Il faut alors utiliser des temporisations aprs chaque criture sur l'afficheur. On perd alors
un peu en temps d'affichage, mais on gagne une broche d'entre sortie.
Initialisation
En mode 8 bits
la mise sous tension de l'afficheur, la ligne suprieur devrait tre totalement sombre, celle dubas compltement claire. Si tel n'tait pas le cas, il faudra rgler le contraste de l'afficheur en
jouant sur la tension de la broche Vo.
Avant de pouvoir utiliser l'afficheur, il faut tout d'abord l'initialiser. Pour cela, la premire
commande envoyer, est le commande permettant de dfinir le mode de dialogue avec l'afficheur
(DL), et le nombre de lignes slectionnes (N), et l'envoyer plusieurs fois de faon ce que celle
ci soit comprise, que le mode de dpart soit quatre ou huit bits. On peut ensuite paramtrer
l'afficheur, puis l'effacer.
Voici donc les diffrentes commandes (RS=0) envoyer l'afficheur LCD. Entre chaque valeur, il
faut envoyer une impulsion d'au moins 450 ns sur la ligne E :
33h, 33h, 33h : on force le LCD en mode 8 bits (3xh)
38h : mode 8 bits, 2 lignes, caractres 5x7
0Ch : affichage en fonction, pas de curseur
06h : le curseur se dplace vers la gauche
01h : on efface l'afficheur
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
27/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 21
En mode 4 bits
Pour l'initialisation d'un afficheur en mode quatre bits, on commence par forcer celui-ci dans le
mode huit bits, puis quand on est sr que celui-ci est valide, on bascule en mode quatre bits.Comme on ne sait pas au dbut de l'initialisation si l'afficheur est positionn en quatre ou huit bits,
il est ncessaire d'envoyer la commande de passage en mode huit bits plusieurs fois de faon ce
que celle-ci soit comprise, que le mode de dpart soit quatre ou huit bits. Les donnes sont crites
ou lues en envoyant squentiellement les quatres bits de poids fort suivi des quatres bits de poids
faible, spars par une impulsion positive d'au moins 450 ns sur la ligne E.
En rsum, voici sur quatre bits, les commandes (RS=0) envoyer l'afficheur LCD. Entre
chaque valeur, il faut envoyer une impulsion positive sur la ligne E.0h, 1h, 0h, 0h, 1h : on commence par effacer l'afficheur (01h)
3h, 3h, 3h : on force le LCD en mode 8 bits (3xh)
2h : on passe en mode 4 bits (20h)
2h, 8h : mode 4 bits, 2 lignes, caractres 5x7 (28h)
0h, Ch : affichage en fonction, pas de curseur (0Ch)
0h, 6h : le curseur se dplace vers la gauche (06h)
0h, 1h : on efface l'afficheur
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
28/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 22
VI- Module horloge temps rel
Puisque le facteur temps est primordial dans le fonctionnement de notre systme nous avons pens
lutilisation dun circuit intgr de la famille PCF qui servira dhorloge temps rel.
Dans la famille des circuits intgrs compatibles au bus I2C, le PCF8583 satisfait cette fonction.
Le PCF8583 fonctionne en vritable horloge calendrier c'est--dire en mode de 24 heures et sur
une priode de vingt quatre ans. Il possde une sortie dinterruption et de la RAM qui possde 240
octets disponibles en plus de ceux de sa propre fonction.
1-Caractristiques lectriques :
- Consommation faible de courant.
- Garantie de la fonction dhorloge et de rtention de mmoire sous 1v (et 2A) ce qui permet de
le secourir facilement par une batterie.
Le bloc diagramme de notre circuit nous aide mieux comprendre les choses :
Figure 7: organisation interne du PCF 8583
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
29/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 23
VII-Bus I2C
Le bus I2C, dont le sigle signifie Inter Integrated Circuit ce qui donne IIC et par contraction
I2C.Le protocole est initialement propos par Philips mais adopt de nos jours par de trs
nombreux fabricants. C'est un bus de communication de type srie.
1-Prsentation
Le bus I2C qui n'utilise que deux lignes de signal permet un certain nombre d'appareils
d'changer des informations sous forme srie avec un dbit pouvant atteindre 100 Kbps ou 400
Kbps pour les versions les plus rcentes.Ceci tant prcis, voici quels sont les points forts du bus I2C :
C'est un bus srie bifilaire utilisant une ligne de donnes appele SDA (Serial Data) et une ligne
d'horloge appele SCL (Serial Clock) ;
Les donnes peuvent tre changes dans les deux sens sans restriction ;
Le bus est multi-matres ;
Chaque abonn dispose d'une adresse code sur 7 bits. On peut donc connecter simultanment
128 abonns d'adresses diffrentes sur le mme bus, sous rserve de ne pas le surcharger
lectriquement ;
Un acquittement est gnr pour chaque octet de donne transfr ;
Le bus peut travailler une vitesse maximum de 100 Kbps (ou 400 Kbps) le protocole permet de
ralentir automatiquement l'quipement le plus rapide pour s'adapter la vitesse de l'lment le plus
lent, lors d'un transfert ;
Le nombre maximum d'abonns n'est limit que par la charge capacitive maximale du bus qui
peut tre de 400 pF.
Les niveaux lectriques permettent l'utilisation de circuits en technologies CMOS, NMOS ou
TTL.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
30/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 24
2-Principe d'un change de donnes
Figure 8:Schma interne interface I2C
Cette figure montre le principe adopt au niveau des tages d'entre/sortie des circuits
d'interface au bus I2C.
Aucune charge n'tant prvue dans ces derniers, une rsistance de rappel une tension positive
doit tre mise en place. Le niveau lectrique n'est pas prcis pour l'instant car il dpend de cette
tension. Nous parlerons donc de niveaux logiques hauts ou 1 ou bien encore de niveaux
logiques bas ou 0 tant entendu que l'on travaille en logique positive c'est--dire qu'un niveau
haut correspond une tension plus leve qu'un niveau bas.
Compte tenu de ce mode de connexion en ET cbl, lorsqu'aucun abonn n'met sur le bus, les
lignes SDA et SCL sont au niveau haut qui est leur tat de repos.
Figure 9: principe fondamental d'un transfert Bus I2C
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
31/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 25
Cette figure rsume le principe fondamental d'un transfert savoir : une donne n'est considre
comme valide sur le bus que lorsque le signal SCL est l'tat haut. L'metteur doit donc
positionner la donne mettre lorsque SCL est l'tat bas et la maintenir tant que SCL reste l'tat haut .
Comme la transmission s'effectue sous forme srie, une information de dbut et de fin doit tre
prvue. L'information de dbut s'appelle ici condition de dpart et l'information de fin condition
d'arrt.
Une condition de dpart est ralise lorsque la ligne SDA passe du niveau haut au niveau bas alors
que SCL est au niveau haut. Rciproquement, une condition d'arrt est ralise lorsque SDA passe
du niveau bas au niveau haut alors que SCL est au niveau haut.
Figure 10: forme de signal
Bien que nous soyons en prsence d'un bus srie, les donnes sont envoyes par paquets de
huit, mme si un octet regroupe en fait huit bits indpendants. Le bit de poids fort est envoy le
premier.
Chaque octet est suivi par un bit d'acquittement de la part du destinataire et l'ensemble du
processus fonctionne comme indiqu sur la figure 11.
Tout d'abord, sachez que lors d'un change de ce type, la ligne SCL est pilote par l'initiateur de
l'change ou matre, quitte ce que l'esclave agisse galement dessus dans certains cas
particuliers.
La figure ci-dessus montre tout d'abord une condition de dpart, gnre par le matre du bus
cet instant. Elle est suivie par le premier octet de donnes, poids forts en tte. Aprs le huitime
bit, l'metteur qui est aussi le matre dans ce cas, met sa ligne SDA au niveau haut c'est--dire au
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
32/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 26
repos mais continue gnrer l'horloge sur SCL. Pour acquitter l'octet, le rcepteur doit alors
forcer la ligne SDA au niveau bas pendant l'tat haut de SCL qui correspond cet acquittement,
prenant en quelque sorte la place d'un neuvime bit.Le processus peut alors continuer avec l'octet suivant et se rpter autant de fois que ncessaire
pour raliser un change d'informations complet. Lorsque cet change est termin, le matre
gnre une condition d'arrt.
3-Formats de transmission
Nous savons maintenant comment se droulent les changes ; il nous reste examiner le format
des donnes transmises afin de comprendre comment fonctionne l'adressage, mais aussi ladfinition du sens de transferts des donnes.
.
Figure 11: le contenu du premier octet d'un Bus I2C
Cette figure montre le contenu du premier octet qui est toujours prsent en dbut d'change.
Ses sept bits de poids forts contiennent l'adresse du destinataire du message ce qui autorise 128
combinaisons diffrentes
Le bit de poids faible indique si le matre va raliser une lecture ou une criture. Si ce bit est
zro le matre va crire dans l'esclave ou lui envoyer des donnes. S'il est un, le matre va liredans l'esclave c'est--dire que le matre va recevoir des donnes de l'esclave.
Lorsqu'un matre dsire effectuer plusieurs changes destination d'esclaves d'adresses
diffrentes, il n'est pas oblig de terminer le premier change par une condition d'arrt mais peut
les enchaner en gnrant une condition de dpart ds la fin d'un change.
Enfin, il existe une procdure dite d'appel gnral o l'adresse envoye par le matre, c'est--dire
rappelons-le, les sept bits de poids forts du premier octet, est nulle. Tous les circuits connects sur
le bus capables de rpondre un tel appel gnral doivent alors le faire et prendre en compte les
donnes qui suivent. Leur attitude dpend du bit de lecture/criture de ce premier octet.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
33/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 27
VIII- Carte SD
1. Dfinition:Une carte SD (SD tant le sigle de l'anglais Secure Digital) est une carte mmoire amovible de
stockage de donnes numriques cre en janvier 2000 par une alliance forme entre les
industriels Panasonic, SanDisk et Toshiba.
Elle est essentiellement utilise pour le stockage des fichiers dans les appareils photo et
camscopes numriques, les systmes de navigation par GPS et les consoles de jeux. C'est au
premier semestre 2010 la carte mmoire la plus rpandue, offrant une capacit maximale de 64 Go
(les capacits 2, 4,8 et 16 Go tant actuellement les plus courantes).
Figure 12:Diffrents types de carte mmoire
Figure 13: Reprsentation de diffrentes broches d'une carte SD
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
34/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 28
Ci dessous la description de chaque broche d'une carte SD
SD Mode SPI Mode
PIN Name Type Description Nom Type Description
1CD/DA
T3I/O/P
P
Dtection de la carte/Ligne de donnes du connecteur
3
CS ISlection de la puce ltatbas
2 CMD PP Ligne de commande/Rponse DI I Donnes dentre
3 Vss1 S Tension dalimentation (masse) VSS S Tension dalimentation
4 Vdd S Alimentation VDD S Alimentation
5 CLK I Horloge SCLK I Horloge
6 Vss2 S Tension dalimentation VSS2 S Tension dalimentation
7 DAT0I/O/P
PLigne de donne du connecteur 0 DO O/PP Donnes de sortie
8 DAT1 I/O/PP Ligne de donne du connecteur 1 RSV
9 DAT2I/O/P
PLigne de donne du connecteur 2 RSV
Tableau 3 : Brochage d'une carte mmoire
Avec le PIC nous allons utiliser notre carte SD en mode SPI
2. Le bus SPI
Une liaison SPI (pour Serial Peripheral Interface) est un bus de donne srie synchrone baptis
ainsi par Motorola, et qui opre en Full Duplex. Les circuits communiquent selon un schma
matre-esclaves, o le matre s'occupe totalement de la communication. Plusieurs esclaves peuvent
coexister sur un bus, la slection du destinataire se fait par une ligne ddie entre le matre et
l'esclave appele chip select.
Le bus SPI contient 4 signaux logiques :
SCLK Horloge (gnr par le matre)
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
35/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 29
MOSI Master Output, Slave Input (gnr par le matre)
MISO Master Input, Slave Output (gnr par l'esclave)
SS Slave Select, Actif l'tat bas, (gnr par le matre)Il existe d'autres noms qui sont souvent utiliss.
SCK Horloge (gnr par le matre)
SDI, DI, SI Serial Data IN
SDO, DO, SO Serial Data OUT
nCS, CS, nSS, STE SS
Dans le cas de la convention de nommage SDI/SDO, le SDO du matre doit-tre reli au SDI
de l'esclave et vice-versa. Pour viter les confusions au moment du cblage, il est donc souventrecommand d'utiliser les dnominations MISO-MOSI qui vitent une certaine ambigut.
Figure 14: Bus SPI 1 maitre 1 esclave
Figure 15: BUS SPI 1 maitre N esclaves
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
36/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 30
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
37/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 31
IX- Etude des diffrentes parties du systme
1-Implantation du circuit horlogeLe systme doit intgrer un circuit d'horloge qui se charge de la gestion de l'heure et de la date,
pour cela on a adopt le circuit PCF8583, nous avons fait une implantation standard du circuit
selon le schma ci-dessous
Figure 16:Schma d'implantation du circuit d'horloge.
Le circuit d'horloge est configur pour gnrer un signal carr de frquence 1HZ sur la broche
7 (SQW,INT) pour commander les interruptions du PIC.
Nous avons ajouts une pile de sauvegarde et un systme de commutation rapide (via diodes
schottky ) et ce pour permettre l'alimentation du circuit via cette pile en cas d'absence
d'alimentation principale.
2-Implantation de lafficheur LCD
Nous avons opts pour le mode 4bits, et nous avons utilis un schma classique pour
l'implantation.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
38/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 32
Figure 17: schma d'implantation de l'afficheur LCD
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
39/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 33
3-Implantation des entres analogiques et numriques
Nous avons utiliss 04 entres analogiques et une entre numrique. Les entres analogiques
sont protges des surtensions par des diodes Zener. Bien que cette protection est basique mais
elle suffit amplement pour notre systme. Une protection plus perfectionne peut tre mise en
place en assurant l'isolation galvanique du circuit.
Figure 18:Schma d'implantation des entres
Les entres analogiques sont relies la masse par des rsistances qui font qu'en l'absence de
donnes sur une entres, elle sera ramene zro.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
40/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 34
4-Implantation de la carte mmoire
La carte mmoire est relie au port C sur les broches RC2/RC3/RC4/RC5 qui sont configures
en mode SPI donc ils fonctionnement successivement : CCPI/SCL/SDA/SD0 .
Comme c'est indiqu dans la partie thorique nous avons respects le brochage de la carte
mmoire et on l'a relie au PIC via le port indiqu ci-dessus.
Figure 19: schma de la carte mmoire
Notons que la carte mmoire ncessite une tension de 3.3V pour fonctionner.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
41/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 35
5-Circuit dalimentation
Tout montage lectronique ncessite une alimentation pour fonctionner. Notre montage
ncessite une alimentation 5V pour alimenter le PIC et ces priphriques, mais aussi une tension
de 3.3V pour alimenter la carte mmoire.
Autre contrainte prsente dans ce circuit est qu'il peut tre, dans certains cas, aliment par une
batterie dans des zones qui ne sont pas couverts par le rseau lectrique .
Pour ces raisons nous avons opts pour une alimentation externe, qui sera rgul et stabilis vers
les tensions ncessaires.
Figure 20:Schma de l'alimentation
Le circuit d'alimentation reste un classique dans le genre, un rgulateur de tension de type
LM7805 nous fournit une tension positive de 5V avec un courant maximum de 1A.Pour gnrer la tension de 3.3V ncessaire la carte mmoire, nous avons opts pour un
rgulateur de type LM317, qui est un rgulateur de tension positive qui peut varier entre 1.2V et
37V. Le rgulateur est coupl une rsistance variable qui permet de choisir la tension qu'on
dsire.
Notons que nous avons pu opt pour un rgulateur de tension fixe qui fournit 3.3V mais nous
avons trouv un problme d'approvisionnement de ce type de composants, donc nous avons choisit
d'utiliser un composant courant facile trouver.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
42/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 36
Figure 21:Schma de l'enregistreur de donnes
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
43/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 37
X- Simulation
Avant de passer la ralisation pratique de notre systme nous avons eu recours la simulationdes diffrentes parties du systme.Pour cela on utilis le logiciel ISIS qui est un trs bon logiciel de simulation en lectronique.
Isis est un diteur de schmas qui intgre un simulateur analogique, logique ou mixte. Toutesles oprations se passent dans cet environnement, aussi bien la configuration des diffrentessources que le placement des sondes et le trac des courbes.
La simulation permet d'ajuster et de modifier le circuit comme si on manipulait un montagerel. Ceci permet d'acclrer le prototypage et de rduire son cot.
Il faut toujours prendre en considration que les rsultats obtenus de la simulation sont un peudiffrents de celles du monde rel, et ce dpend de la prcision des modles SPICE1 des
composants et de la complication des montages.
Figure 22:Fentre du logiciel de simulation Proteus ISIS
1
SPICE (SimulationProgram withIntegratedCircuitEmphasis) est un logiciel de simulation gnraliste de circuitslectroniques analogiques. Il permet la simulation au niveau du composant (rsistances, condensateurs, transistors) enutilisant diffrents types d'analyses
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
44/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 38
Figure 23:Le logiciel ISIS en mode simulation du projet
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
45/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 39
XI- Routage et cration du circuit imprim
Nous avons utilis pour le routage du circuit imprim le logiciel EAGLE de Cadsoft, qui
permet de crer des cartes simple face et multi faces.
Nous avons cres deux cartes : carte alimentation et carte d'acquisition, les cartes sont de type
simple face.
Notons que nous avons opts pour les cartes simple face causes des contraintes techniques, car
nous n'avons pas le matriel adquat pour cre des cartes double face, qui aurait nous permit de
crer un systme plus compact.
Aprs identification des diffrents composants lectronique de notre systme, on peut choisir
les diffrents empreintes de ces composants , car chaque composant peut avoir plusieurs types de
boitiers.
Figure 24: carte principale cot cuivre
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
46/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 40
Figure 25:carte principale cot composants
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
47/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 41
Figure 26: carte alimentation cot cuivre
Figure 27: carte alimentation cot composants
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
48/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 42
XII- Partie Logicielle
1- Introduction :La programmation des PIC se fait par le langage assembleur qui est un langage de bas niveau
qui reprsente le langage machine sous une forme lisible par un humain. Les combinaisons de bits
du langage machine sont reprsentes par des symboles dits mnmoniques (du grec
mnmonikos, relatif la mmoire), c'est--dire faciles retenir.
Le programme assembleur convertit ces mnmoniques en langage machine en vue de crer par
exemple un fichier excutable.
Le dveloppement des environnements de programmation , nous a permis de voir naitre denouveaux compilateurs qui permettent de programmer avec les langages haut niveau telsque le C ,
PASCAL,BASIC etc
Ces environnements comportent aussi des bibliothques qui permettent de faciliter le
dveloppement. Il existe plusieurs outils de dveloppement, les uns sont gratuits, les autres sont
payants .
Dans notre recherche de l'outil que nous allons utiliser pour programmer notre PIC , nous avons
opts pour le langage C. Ce choix est la fois un choix personnel et un choix technologique.D'une part le langage C est utilis dans diffrents systmes et domaines de dveloppement, ce qui
nous permettra une volution future , d'autre part le langage C est l'un des langages les plus
puissants.
1.1- Avantages du C
Pour de la programmation de base, le C est intressant. Il permet rapidement, sans gros effort,
de dvelopper des programmes fonctionnels. Il permet aussi de s'affranchir de connaissances
complexes sur l'architecture des PIC. Il a l'avantage de grer facilement les boucles, les choix,
ainsi que l'affichage.
1.2- Inconvnients du C
Le C n'est pas le langage naturel du microcontrleur. Il permet de programmer plus
intuitivement. Les logiciels de programmation en C transforment alors les lignes en C en lignes
assembleurs directement comprhensibles par le microcontrleur. Pour programmer efficacement,
il est souvent ncessaire d'aller voir le code assembleur, il est donc conseill d'avoir des basessolides en assembleur.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
49/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 43
Nous avons fait le choix d'utiliser l'environnement de dveloppement MikroC de Mikroelektronika.
2- Prsentation du MikroC :
Le MikroC est un compilateur pour PIC Conu par la socit Mikroelektronika , le compilateur
C nouvelle gnration "MikroC" pour microcontrleurs PIC bnficie d'une prise en main trs facile. Il
comporte plusieurs outils intgrs (mode simulateur, terminal de communication, gestionnaire 7 segments,
analyseur statistique, correcteur d'erreur, explorateur de code...) ; Il a une capacit pouvoir grer la
plupart des priphriques rencontrs dans l'industrie (Bus I2C, 1Wire, SPI, RS485, Bus CAN, cartes
compact Flash, signaux PWM, afficheurs LCD et 7 segments...); de ce fait il est un des outils de
dveloppement incontournable et puissant.Il est conu pour fournir les solutions les plus faciles que possibles pour des applications se dveloppant
pour les systmes microcontrleur. Il contient un large ensemble de bibliothques de matriel, de
composant et la documentation complte.
Figure 28:Interface du logiciel MikroCLe compilateur MikroC nous permet de dvelopper rapidement des applications complexes.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
50/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 44
XIII- Logiciel embarque dans le PIC
1-Organigramme du logiciel :Dbut
Mise sous tension
Bouton S1enfonc Rglage Heure et Date
Lecture paramtres dusystme
Mode Trigger simple
Selon modeslectionn
Mode chantillonnagesur demande (pressionbouton)
Mode chantillonnagechaque 30 Secondes
Mode chantillonnagesur intervalleparamtrable
Mode chantillonnagevaleur Maximum
Affichage dtail
Mode chantillonnagechaque 5 minutes
Choix nombres dechaines
Choix type de Fichier(txt , cvs)
OUI
NON
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
51/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 45
2-Initialisation :
Pour pouvoir utiliser les diffrents ports du PIC , MikroC exige qu'on lui indique comment est
connect chaque port .
Pour l'afficheur LCD qui est connect sur le port D :
Lcd_Init(&PORTD);//port LCD
Pour l'horloge qui communique en protocole I2C et connect sur le port B:
Soft_I2C_Config(&PORTB,2,1);//Port Soft i2c
Notons que pour la communication en mode I2C nous avons adopts le mode soft I2C qui
consiste simuler par logiciel le fonctionnement du protocole I2C.
Bien que MikroC gre le soft I2C, il ne peut pas grer ce mode en mme temps que les
interruptions, or nous avons besoins des interruptions pour excuter quelques routines. La solution
tant d'utiliser une bibliothque externe qui gre Soft I2C et interruptions. Nous avons utiliss une
bibliothque cre par Michael Pearce de l'universit de Canterbury (new zeland).
3-Gestion de l'horloge :
L'horloge tant install sur le port B (B0,B1,B2) , nous allons utiliser le protocole I2C pour la
grer , deux procdures principales sont prsentent RTC_Read (Real Time clock read:lire
l'horloge) et RTC_Setup (Real Time clock setup:crire dans l'horloge)
Lecture de l'horloge:
//Lecture de la date et de l'heure
// Read time & date
void RTC_Read(void)
{
// Lire donnes a partir RTC /Read data from RTC.
i2cstart();
i2csendbyte(0xa0);// Addresse RTC.
i2cgetack();
i2csendbyte(0x02);
i2cgetack();
I2C_Receive(0xa0,&Time.sec_bcd,5);
//lecture de l'anneif(((Time.day_bcd>>6)&0x03)!=(Year&0x03))
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
52/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 46
{
//ecriture de l'anne dans eeprom
Year++;Eeprom_Write(EEPROM_ANNEE,Year);
Delay_ms(30);
}
Time.day_bcd &=0x3f;// mask of year bits.
Time.month_bcd &=0x1f;// mask of weekdays
Time.year_bcd = Dec2Bcd(Year);
// We need time in binary format.
Time.sec = bcd_2_bin(Time.sec_bcd);
Time.min = bcd_2_bin(Time.min_bcd);
Time.hour = bcd_2_bin(Time.hour_bcd);
Time.day = bcd_2_bin(Time.day_bcd);Time.month = bcd_2_bin(Time.month_bcd);
Time.year = Year +2000;// s i la machine va tre
commercialis en l'an 2100 alors il ya un bug
}
4-Ecriture dans l'horloge:
L'criture sur l'horloge se fait travers la fonction RTC_setup qui permet de rgler l'heure et la
date et l'enregistrer sur le circuit.
La principale fonction qui envoie les donnes sur l'horloge est I2C_Sendqui envoie une valeur
BCD ( Binary Coded Decimal) .
bcd[0]=0;// adresse depart /start address
bcd[1]=0x80;// stopper /stopbcd[2]=0;// centsI2C_Send(0xa0,bcd,9);
bcd[1]=0;// demarrage /startI2C_Send(0xa0,bcd,2);// Update ctrl_stat register
2. Le PCF8583 a pour adresse 0Xa0 sur le bus I2C .3. Le PCF8583 renvoi et reoit toujours des valeurs BCD.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
53/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 47
5-Gestion des fichiers :
Notre enregistreur de donnes crit sur la carte mmoire, nous devons au dbut initialiser le
systme de fichiers pour cela on utilise la procdure suivante:
//Initialisation du fichier sur MMC
//Init file on mmc
void Fichier_Init(void)
{
Lcd_Out(1,1,"INIT Memoire ");Spi_Init_Advanced(MASTER_OSC_DIV64,DATA_SAMPLE_MIDDLE,CLK_IDL
E_LOW,LOW_2_HIGH);
if(!Mmc_Fat_Init(&PORTC,2)){
//Quand la carte MMC est dtecte on reinitialise le bus SPI
une frquence superieure
// Once a card is detected the SPI bus may be reinitialised
at a higher speed.
Spi_Init_Advanced(MASTER_OSC_DIV16,DATA_SAMPLE_MIDDLE,CLK_IDL
E_LOW,LOW_2_HIGH);Lcd_Out_Cp(" OK");
}
else{
Lcd_Out_Cp("Erreur ");Lcd_Out(2,1,"SYSTEME ARRETE ");
while(1);
}}
1. Il faut toujours initialiser la carte mmoire une vitesseminimale, ensuite on peut l'augmenter.
2. Il faut toujours tester si l'opration s'est bien droule ou non.3. Le systme de fichiers doit tre de type FAT16
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
54/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 48
Pour crer un fichier on utilise la fonction suivante://Creation nouveau fichier
//Create a new file
void Fichier_Nouveau(void){
int nr;
Lcd_Cmd(LCD_CLEAR);
Lcd_Out(1,1,"Nouveau fichier.");
if(Csv==0) strcpy(Filename," 0000.TXT");else strcpy(Filename," 0000.CSV");nr =1;
while(nr Filename = "
xxxx.TXT"
if(!Mmc_Fat_Assign(Filename,1))// Try to open file for
reading.
{
// File does not exist so we can create it.
Mmc_Fat_Assign(Filename,0xA0);Mmc_Fat_Rewrite();
Mmc_Fat_Set_File_Date(Time.year,Time.month,Time.day,Time.hour
,Time.min,Time.sec);Mmc_Fat_Write(CRLF,2);
break;
}nr +=1;
}
if(nr
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
55/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 49
1- On ouvre un fichier avec la commandeMmc_Fat_Assign .
2- On cre un nouveau fichier avec les commandesMmc_Fat_assign ,Mmc_Fat_Rewrite et Mmc_Fat_write
Pour crire des donnes dans un fichier on a eu recours la dcoupe des fonctionnalits en
sous ensembles pour mieux grer le code et simplifier l'utilisation:
La procdure Fichier_Ecrire_val , permet d'crire des entiers dans le fichier .
La procdure Fichier_Ecrire_temp_date , permet d'crire l'heure et la date dans le fichier.
La procdure Fichier_Ecrire_Donnees , permet d'crire les donnes rcolts des entresanalogiques du PIC.
1. la fonctionMmc_Fat_Write permet d'crire des donnes dans unfichier.
2. Pour lire les entres Analogiques du convertisseur ADC on utilisela fonction Adc_read
6-Les interruptions
Une interruption est une action, dclenche par un vnement prcis, qui va arrter le
programme principal, s'excuter, puis reprendre le programme principal l'endroit o il s'tait
arrt. Les interruptions peuvent tre dclenches par:
Les timers
Les pins interruptibles (ex : RB0)
Les interfaces de communication
Le convertisseur analogique-numrique
Pour utiliser les interruptions, il faut tout d'abord les activer. Il faut pour cela fixer les valeurs
des registres suivant :
** INTCON qui contient :
GIE (bit 7) : activation gnrale des interruptions
PEIE (bit 6) : activation des interruptions des priphriques
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
56/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 50
bit5-bit3 (RBIE,TMR0IE..): activation individuelle de interruptions principales
bit2-bit0 (RBIF,TMR0IF..): Lorsqu'un vnement dclencheur se produit, il est notifi dans un
"flag" (drapeau) qui permettra par la suite d'identifier la cause de l'interruption INTCON2,INTCON3 contiennent des options supplmentaires
PIR1,PIR2,PIR3 contiennent les flags des diffrentes sources d'interruptions des priphriques
PIE1,PIE2,PIE3 contiennent l'activation des diffrentes sources d'interruptions des
priphriques
L'excution des interruptions se fait partir de l'adresse programme 0x08. En effet, lorsqu'une
interruption se produit, le programme principal s'arrte et excute l'instruction l'adresse 0x08. La
routine d'interruption est structure de la faon suivante:
Sauvegarder les registres
Identifier la source de l'interruption
Effectuer l'action associe cette interruption
Restaurer les registres
Revenir au programme principal
Pour notre cas nous avons cres trois fonctions de gestion d'interruptions savoir : Interrupt,
Interrupt_Enable etInterrupt_Disable.
La fonctionInterruptest un mot rserv de MikroC qui permet d'initialiser les interruptions.
La fonctionInterrupt_Enable permet d'activer les interruptions. Dans cette fonction on utilise
les commandes suivantes :
INTCON.PEIE =1;// Enable peripheral interrupts.
INTCON.GIE =1;// Globally enable interrupts.
INTCON.INT0IF =0;// Clear interrupt flag.
INTCON.INT0IE =1;// Enable INT0 interrupts.
L'horloge tant configure sur le port INT0 et qui envoie un signal carr de frquence 1Hz
donc active les interruptions chaque seconde.
La fonction Interrupt_Disable permet de dsactiver les interruptions et ce via la commande :INTCON.GIE =0;// Globally disable interrupts.
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
57/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 51
1. Pour activer les interruptions on utilise la commande :
INTCON.GIE=12. Pour dsactiver les interruptions on utilise la commande:
INTCON.GIE=0
3. Pour utiliser les interruptions on doit toujours utiliser la fonctionrserve Interrupt.
Nous avons utiliss l'EEPROM du PIC pour sauvegarder les paramtres globaux du systme.
La mmoire EEPROM est une mmoire non volatile, donc on y va sauvegarder les donnes. En
MikroC la fonctionEeprom_Write permet d'crire dans l'EEPROM.
Pour lire une variable de l'EEPROM nous utilisons la fonctionEeprom_Read.
1. L'EEPROM est une mmoire non volatile.2. Pour ecrire sur l'EEPROM on utilise la fonctionEeprom_Write3. Pour lire de l'EEPROM on utilise la fonctionEeprom_Read
7-Les entres analogiques :
Nous avons utiliss le convertisseur analogique numrique (CAN) intgr au PIC, ce CAN se
trouve sur le port A, on doit linitialiser en entres analogiques et pour cela on utilise la fonction
suivante :
ADCON1 =0; //le registre ADCON1 configur en analogiqueTRISA =0xff; //le port A configur en entre
Ensuite pour lire les donnes on utilise la fonction Adc_read, dont ci-dessous un exemple
dutilisation :
Samples[0]= Adc_read(0); // lecture Port A0
Samples[1]= Adc_read(1); // lecture Port A1Samples[2]= Adc_read(2); // lecture Port A2Samples[3]= Adc_read(3); // lecture Port A3
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
58/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 52
XIV- Description du fonctionnement de lenregistreurde donnes
L'enregistreur de donnes se prsente avec 3 boutons de commande et un afficheur, l'interaction
avec l'utilisateur se fait travers cette interface, certes minimaliste mais amplement suffisante.
Les boutons sont nommes "bouton reglage", "bouton +", "bouton ", chacun de ces boutons
une fonction principale et une fonction secondaire.
Au dbut, pour avancer dans le menu du systme il faut utiliser le bouton rglage qui va
naviguer dans les options du menu, pour changer les valeurs prsents dans le menu utiliser les
deux boutons + et - .Le systme permet d'afficher sur l'afficheur LCD le mode de fonctionnement actuel et les
valeurs en acquisition.
Figure 29:Module LCD
Mode Acquisition
E 0000 0000
1 0000 0000
Affichage du moded'acquisition
Indication
d'enregistrement en coursIndication de nombred'chantillons pris
Valeur des 4 chainesd'entres
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
59/66
UUnniivveerrssiittVViirrttuueellllee ddeeTTuunniiss FFoorrmmaattiioonn :: LL..AA.. SSTTIICC IIIIII
PPrroojjeett ddee ffiinn ddttuuddee :: EEnnrreeggiissttrreeuurr ddee ddoonnnneess PPaaggee :: 53
Un mode spcial du systme permet de visualiser sans enregistrer les donnes:
Figure 30: Mode affichage
Le mode par dfaut du systme est le mode Trigger externe qui permet d'enregistrer les donnes
sur une demande externe
Figure 31: Mode Trigger externe
L'cran suivant illustre le cas de figure o on a ralis 4 prises de donnes :
Figure 32: Mode Trigger externe avec 4 donnes
Nombredchantillons ris
-
7/31/2019 Conception_et_ralisation__dun_enregistreur_de_donnes_
60/66
UUnniivveerrssiittVViirrttuueellllee ddee