Conception_et_réalisation__d’un_enregistreur_de_données_

download Conception_et_réalisation__d’un_enregistreur_de_données_

of 66

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