Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 15 sur 24

PCF8583 help please

  1. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    PCF8583 help please

    bonsoir à tous,

    je suis en train de faire un montage qui a besoin d'un calendrier et j'utilise pour ça un PCF8583 mais je n'arrive pas à le faire fonctionner.

    je m'explique :

    je veux le faire fonctionner avec un quartz 32.768kHz, montage classique.
    j'arrive très bien à écrire et à lire dans la mémoire, mais le n'arrive pas à lui faire incrémenter ses données. je sais qu'il faut configurer le registre 0x00 mais j'ai essayé et je n'y arrive pas.

    il existe plusieurs modes d'utilisation :
    - 32.768kHz
    - 50Hz
    - compteur

    si je le configure en 50Hz il incrémente correctement mais pas à la bonne vitesse (forcement puisque ce n'est pas le bon quartz)
    mais impossible de le faire fonctionner en mode 32.768kHz, j'ai essayé avec 3 puces neuves différentes et tjs le même problème.

    est-ce que quelqu'un a une idée sur le problème?
    ou est-ce que quelqu'un a déja utilisé ce composant et sait le configurer?

    merci d'avance pour votre aide

    spilz
     


    • Publicité



  2. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    IDF
    Messages
    10 256

    Re : PCF8583 help please

    Bonsoir,

    difficile de te répondre sans voir ton code.

    Le registre control/status est à l'adresse 0x00;
    Toute les fonctions sont controlées par ce registre essentiel.

    As-tu essayé de configurer le registre status/control ainsi:

    Code:
    #define clock_mode32khz     0x00
    
    void configure8583_control_reg( int8 control_reg)
    {
       i2c_start();
       i2c_write(0xA0); // RTC en écriture
       i2c_write(0x00); // adresse registre status/control
       i2c_write(clock_mode32khz);
       i2c_stop();
    }
    Sinon fais voir ce que tu as fait.
    @+
    "Le temps met tout en lumière." Thalès
     

  3. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    Re : PCF8583 help please

    c bien ce que j'ai comme code mais impossible de le faire fonctionner, et mon circuit est celui de la data.

    par contre j'ai mis un quartz un peu plus rapide car j'en avais pas sous la main à la bonne fréquense, je me suis demandé si ça ne venais pas de là mais comme ça fonctionne en 50Hz je ne pense pas que ce soit le problème
     

  4. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    IDF
    Messages
    10 256

    Re : PCF8583 help please

    Tu as mis quoi?
    "Le temps met tout en lumière." Thalès
     

  5. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    Re : PCF8583 help please

    un 6MHz, mais ça fonctionne en mode 50Hz donc je ne comprends pas
     


    • Publicité



  6. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    IDF
    Messages
    10 256

    Re : PCF8583 help please

    Ca ne peut pas fonctionner à 6MHz, le 50Hz est prévu avec une base de temps externe genre une synchro secteur.
    Ce circuit est conçu pour recevoir un quartz horloger à 32,768KHz ou un signal en compteur d'évènements.
    Le 50Hz que tu vois est la fréquence ambiante "reniflée" par l'entrée haute impédance.
    @+
    Images attachées
    Dernière modification par HULK28 ; 06/11/2008 à 00h56.
    "Le temps met tout en lumière." Thalès
     

  7. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    Re : PCF8583 help please

    bien vu, je vais essayer d'en trouver un à la bonne frequense, merci pour ton aide, je te tiens au courant
     

  8. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    Question Re : PCF8583 help please

    bonsoir, je viens de recevoir mon quartz et l'horloge fonctionne très bien.
    pour le mode 50Hz apparemment il faut quand même le quartz à 32.768 kHz.

    j'ai un autre problème tout bête si quelqu'un pouvait m'aider :

    je cherche à activer l'alarme, plus précisément j'ai une date avec une heure précise et je voudrais que l'alarme se déclanche à ce moment, mais impossible de comprendre le fonctionnement du registre alarm

    quelqu'un sait?

    merci
    spilz
     

  9. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    IDF
    Messages
    10 256

    Re : PCF8583 help please

    Bonsoir,

    je ne connais pas précisemment cette RTC mais en lisant la doc je vois ceci:

    il y a un registre 'alarm' à l'adresse 0x08 qui est activé si un bit du registre de contrôle est mis à 1 (à savoir le bit 2).

    Si ce bit est à 0 le registre est destiné à être utilisé comme de la RAM (0x08 à 0x0F), mis à 1 donc si 'alarm' est déclaré actif c'est réservé à différents types d'alarmes programmmables (évènement, chaque jour, chaque semaine, etc).

    Dès qu'une occurence est détectée la sortie INT est mise à 0 (drain ouvert).
    "Le temps met tout en lumière." Thalès
     

  10. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    Re : PCF8583 help please

    oui, je suis d'accord là dessus, mais c'est justement la configuration du registre alarm qui me pose problème, je ne suis pas très bon en anglais et je n'arrive pas à comprendre les nuances

    je cherche à configurer l'alarme pour une date et heure précise, sans répétition

    je ne comprends pas non plus les histoires de timers

    merci de ton aide

    spilz
     

  11. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    Question Re : PCF8583 help please

    personne n'a une idée sur comment régler ce registre alarme?
     

  12. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    IDF
    Messages
    10 256

    Re : PCF8583 help please

    L'idée si, le temps de le faire non.
    Tout est indiqué dans la doc, il faut que tu déclares les bons registres c'est tout.

    Sinon tu peux faire plus simple, tu fais en soft une routine qui détecte l'heure, la minute et tu déclenches l'action qui va bien.
    @+
    "Le temps met tout en lumière." Thalès
     

  13. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    Re : PCF8583 help please

    ^^ je comprends tout a fais

    j'ai essayé pas mal de fois ce w-e et impossible d'obtenir un niveau haut à la sortie de l'INT et j'ai essayé pas mal de config des deux registres (status et alarm) mais ça n'a jamais fonctionné.

    pour la solution en soft j'y avais pensé mais comme il doit tourné normalement en faisant d'autres taches, j'avais prévu de le faire fonctionner avec les inteeruptions.

    spilz
     

  14. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    IDF
    Messages
    10 256

    Re : PCF8583 help please

    Tiens essaye ça:

    Code:
    struct Time
    {
       byte hr;
       byte mi;
       byte se;
    };
    
    struct Date
    {
       byte yr;
       byte mo;
       byte da;
       byte weekday;
    };
    
    void _8583_configure_alarm_register(byte alarm_control_reg)
    {
       i2c_master_start();
       i2c_master_out_byte(0xa0);
       i2c_master_out_byte(0x08);  // control register address
       i2c_master_out_byte(alarm_control_reg);
       i2c_master_stop();
    }
    
    void _8583_write_alarm(struct Time *p_t, struct Date *p_d)
    {
    
       byte v;
       i2c_master_start();
       i2c_master_out_byte(0xa0);
       i2c_master_out_byte(0x01+8);
       i2c_master_out_byte(0x00);	
    
       v = to_BCD(p_t->se);
       i2c_master_out_byte(v);
    
       v = to_BCD(p_t->mi);
       i2c_master_out_byte(v);	// 0x03 + 8
    
       v = to_BCD(p_t->hr);
       i2c_master_out_byte(v);      
    
       v = to_BCD(p_d->da);
       i2c_master_out_byte((p_d->yr << 6) | v);                    
    
       v = to_BCD(p_d->mo);
       i2c_master_out_byte((p_d->weekday << 5) | v );
                       
       i2c_master_stop();
    }
    Puis dans le main:

    Code:
    main
    {
    ...............
    _8583_write_alarm(&t, &d);
    _8583_configure_alarm_register(0x80 | 0x20 | 0x10); // alarme
    _8583_configure_control_register(0x04); // mode 32.768 kHz et alarme
    
    .........
    {
    Tu as le principe.

    @+
    "Le temps met tout en lumière." Thalès
     

  15. spilz

    Date d'inscription
    décembre 2005
    Âge
    28
    Messages
    45

    Re : PCF8583 help please

    merci pour ton aide,

    j'ai deja un pilote pour le composant, j'arrive bien a configurer l'heure et à le faire fonctionner, j'arrive bien a lui mettre une date pour l'horloge, c'est juste les registres 0x00 et 0x08 où je ne sais pas quoi mettre.

    après avoir lu et relu la data, je pense devoir mettre ça comme config, mais impossible de mettre la pin 7 au niveau haut (comme si j'étais tjs en interruption)

    0x00 : 0b0000 0100
    0x08 : 0b1011 0000

    sachant que ce que je cherche c'est qu'a une date et heure données je passe de 1 a 0 sur /int et qu'il reste à 0 tant que je ne l'ai pas remis à 1 par logiciel.

    mais ça ne fonctionne pas et je ne comprends pas pourquoi

    je veux bien mettre le pilote que j'ai mais je ne sais pas si j'ai le drois, je l'ai trouvé sur un autre forum en anglais mais je ne sais plus où, dis moi si je peux, je pense que ça peut servir à pas mal de monde, sinon je rechercherai le lien

    spilz
     


    • Publicité




Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. programmation en c pcf8583
    Par mat7-6 dans le forum Électronique
    Réponses: 0
    Dernier message: 10/03/2008, 16h19


Les tags pour cette discussion