Bonjour. Je travaille en ce moment sur un projet de carte électronique. Je voudrais savoir si quelqu'un connaît bien le fonctionnement de l'horloge ds1307. Je voudrais avoir quelques explications de son fonctionnement. Merci beaucoup.
-----
Bonjour. Je travaille en ce moment sur un projet de carte électronique. Je voudrais savoir si quelqu'un connaît bien le fonctionnement de l'horloge ds1307. Je voudrais avoir quelques explications de son fonctionnement. Merci beaucoup.
Salut,
oui je l'utilise depuis longtemps, que veux-tu savoir?
Merci beaucoup. J'aimerais savoir en gros le principe de fonctionnement si tu peux me faire une synthèse rapide. Merci.
Tout est dans la doc du composant, je peux te faire un résumé sur les principales caratéristiques:
Il s'agit d'une horloge temps réel I2C (bus bidirectionnel) par lequel les datas et adresses sont envoyées.
Les datas sont codées en BCD (binary coded digital)
Des registres internes permettent de récupérer les secondes/mn/h/j date/mois/année en tenant compte des années bissextiles.
On peut avoir l'heure au format 12H/24H avec indication AM/PM.
Elle ne consomme que 500nA en mode sauvegarde par accus, elle possède 56 octets de Sram (ce qui peut être pratique pour y stocker quelques datas sensibles vu que l'horloge est sauvegardée par un accu ) et sait gérer la sauvegarde des registres si un défaut d'alim est détecté en basculant en mode backup.
Ca te va?
Je vais t'avouer que j'ai un peu de mal avec la doc du constructeur même si je me casse la tête !! Je savais déjà en gros ce que tu m'a résumé. Je l'étudie plus profondément car j'ai un petit dossier à faire. Connaisserais-tu un site ou un lien qui pourrait me donner plus d'informations dans les détails. Merci.
En fait ce serai plus simple que tu demandes ce qui te manque.
Le fonctionnement des périphériques I2C est basé sur un principe commun à tous les circuits I2C:
Des registres stockent des datas qui sont mises à jour par le composant lui-même ou par le maitre selon l'application.
Par exemple pour le DS1307, le maitre adresse le circuit qui l'interesse (il peut y avoir plusieurs périphériques I2C) et envoi un ordre d'écriture vers les registres (initialisation des registres ou mise à l'heure pour faire simple), puis une fois fait, le maitre interrogera (mode lecture) les registres qui permettront de mettre à jour un afficheur par exemple.
Certains circuits I2C possèdent une patte d'interruption qui informe le maitre d'un évènement et qui déclenche selon la routine dédiée un détournement du programme principal pour exécuter une action.
Lorsque tu as bien compris le protocole I2C, l'utilisation d'un périphérique devient simple.
@+
Merci beaucoup.
En fait, je dois savoir comment rentre-t-on les configurations de départ (heure, date...). Est-ce différent de la procédure du bus I2C pour rentrer des infos? Je connais effectivement bien le protocole du bus I2C.
Merci.
Avec quel langage as-tu l'habitude de travailler?
Je peux t'envoyer mes routines (en C), tu peux également télécharger des routines assembleur sur le site de Microchip, si c'est en basic Gérard doit pouvoir t'arranger ça.
@+
salut
moi je veu bien resevoir ta routines en C
car je travail sur le ds 1307 et g quel que probleme
avec, cela peu s'expliqé par la qualité de traduction de mon anglais surement et que la data sheet et pa tro clair (ex:registre address 02h hours je cherche encore l'explication pour AM/PM 12/24 g pa tou comprie qui et a quoi et quand (bit5,6))mé bon g o moin lu la doc et je c que l'on doi metre CH=0, SQWE et une division du QUARTZ sélectionnable par RS, enfain le fonctionemen principal.
le probleme: g du testé mon structurel (calcul composen, bus i2c etc) é javé que un µc atmel (avec carte test,programateur,logiciel (CodeVisionAVR)) mai je doi realisé le tou avec un pic se qui veu dire de tou refaire avec MPLAB et la je sui un peu perdu car jamé utilisé.c sur que la progamation en c ses pareil sur les deux mai ses pluto pour initialisation et surtou pour les fonction que propose le logiciel CodeVision(ex: pour i2c[i2c_start(),i2c_stop(),i2c_wri te(),i2c_read()]pour ds1307[rtc_init(rs,sqwe,out),rtc_set_ time(hour,min,sec),rtc_get_tim e(hour,min,sec),rtc_set_data(d ata,month,year),
rtc_get_data(data,month,year)]mai osi pour le reste(se qui change je c pa tro exactement)
si vou pouvé m'aidé merci d'avence
Je peux comprendre que ton anglais laisse à désirer, mais je te prie de faire un effort en Français et de laisser le langage sms pour ton téléphone.
Je rappelle que ce mode d'expression est interdit ici: (re)voir la charte
Dernière modification par Jack ; 13/03/2007 à 20h19.
Quand tu écriras en français je te répondrai.
merci je savé c peu etre pour sa que g dé dificulté en anglais car je galére en francais mé bon c la faute de l'education nationale c elle qui veu sa de priviligié sertein eleve et pa d otre et c tombé sur moi c la vie
si ecri comme sa c pour arivé a me lire la preuve tu a reusi pour m humilié sa osi sa dvré etre interdi mai bon c la vie encore
si vou préferé aidé les persone qui ne fon pa le moindre efor en electronique o depen de se qui on du mal en frencé c votre probleme mé bon bravo c une bone mentalité
ben merci pour l'aide
je sui sur que tu va critiqué ou pa publié mé bon
pour info je fai des etude en bac+2 et mon bac avec mension bien comme koi le francais ser a rien et de plus je me debroileré pour trouvé la solution comme g fai pour le reste !!!
Après correction auto qui n’ai pas inclus dans le forum dommage pour les personnes comme moi (désolé je ne peu pas mieux faire)
moi je veux bien recevoir ta routines en C (je parle a HULK28 qui le prose ci dessus)
car je travail sur le ds1307 et g quel que problème avec.
Cela peu s'expliqué par la qualité de mon français et de la traduction de mon anglais sûrement et que la data sheet et pas trop clair (ex : registre adresse 02h (heurs) je cherche encore l'explication pour AM/PM,12/24 j’ai pas tout compris qui et a quoi et quand (bit5,6)) mais bon j’ai au moins lu la documentation et je c que l'on dois mettre CH=0, SQWE et une division du QUARTZ sélectionnable par RS, enfin le fonctionnement principal.
Le problème: j’ai du testé mon structurel (calcul composent, bus i2c etc.) et j’avé que un µc atmel (avec carte test, programmateur, logiciel (CodeVisionAVR)) mai je dois réalisé le tout avec un pic se qui veut dire de tout refaire avec MPLAB et la je sui un peu perdu car jamais utilisé. ses sur que la programmation en c ses pareil sur les deux mai ses plutôt pour initialisation et surtout pour les fonction que propose le logiciel CodeVision(ex: pour i2c[i2c_start(),i2c_stop(),i2c_wri te(),i2c_read()]pour ds1307[rtc_init(rs,sqwe,out),rtc_set_ time(hour,min,sec),rtc_get_tim e(hour,min,sec),rtc_set_data(d ata,month,year),
rtc_get_data(data,month,year)]mai aussi pour le reste(se qui change je c pas trop exactement)
si vous pouvais m'aidé merci d'avance.
PS : je ne me vente pas d’être en BAC+2 au contraire je dénonce un gros problème de société qui et un scandale gigantesque !!!!
Oui il y a sûrement encore des faute mais je ne peu faire mieux.
Consternant tout ça
au début je pensais que c'était une blague...
C'est quoi ton problème, tu es en France depuis peu?
Comment peux-t-on avoir le bac mention bien avec une telle médiocrité dans la pratique de la langue?
Selon moi tu devrais quand même t'inquiéter un peu, car personne ne te prendra pour bosser à la lecture de ta future lettre de motivation, même avec le correcteur d'orthographe.
Très gentil merci, de me dire les choses que je sais déjà et en plus très utile ^^.
Je pense que cela et un sujet très internat ou on pourrai débattre pendent des mois voir des année sur un forum mais se n’est pas le sujet de se topique il me semble a moins que je me soi trompé et puis abord cet mon problème. Un peu le votre aussi pour me lire et me comprendre mais il me semble que je faire des efforts.
Peut on revenir au sujet ?
Si oui merci.
Si non je ne trouverai pas sa normal mais bon ses vous qui décidé et je vais même vous dire pourquoi car je vous dois bien sa vous avez pris la pêne de répondre.
J’ai consulté un peu les autres topique concernent le DS1307 pour ne pas posé des questions déjà posé normal et je me suis rendu compte que vous préférez aider une personne qui n’a pas pris la pêne de lire la datasheet voir de juste la regarder car la moitié des réponses sont visuel.
Au lieu d’aider une personne qui cherche a comprendre et qui fait des effort mais qui a des difficulté ou lacune (car vous portez des critiques et des moqueries sans savoir) en français.
Je pense que ses une bonne mentalité d’aider les personnes flemmarde plutôt que selle qui on des difficultés.
BRAVO !
PS : Ses vrais que au début je n’ai pas fait d’effort habitude d’écrire comme sa (sms, forum copain, etc) mais bon la quand même ses mieux je pense. Même si ses pas un sans faute ses lisible.
Non, il n'y a pas de moquerie dans mes propos, seulement tu peux comprendre que je sois quelque peu étonné par le décalage qu'il y a entre ce que tu écris et l'impression que tu nous suggère.
Si tu es étranger et que tu ne maitrise pas bien la langue Française, cela peut se comprendre mais pour ma part quand je fréquente des forums anglo saxons je me fais fort de faire attention à ce que j'écris par respect envers ceux qui vont me lire.
Nous n'avons pas dit que nous ne voulions pas t'aider, nous cherchons juste à ce que les discussions sur ce forum ne tourne pas au grand n'importe quoi.
Si on accepte que tu t'exprime comme ça, c'est tolérer l'intolérable, c'est pour cela qu'il y a une charte et qu'il faut bien mettre des limites à tout.
Lorsque tu rédiges une copie pour le bac, l'orthographe est également jugée par le correcteur même dans une copie de maths.
La communication entre les individus doit respecter des règles pour que l'information ne soit pas dénaturée et tu dois comprendre que les réactions des intervenants soient plutôt froides à la lecture de tes lignes.
Que tu fournisses des efforts est plutôt louable, je vais donc t'envoyer par MP ma routine pour te montrer que nous ne sommes pas intransigeants, et je te demanderai en retour de persévérer dans ce début d'effort.
Ces conseils sont juste pour ton bien, ce n'est pas un cours de moral.
@+
.Je reconnais que tu as fait des efforts.PS : Ses vrais que au début je n’ai pas fait d’effort habitude d’écrire comme sa (sms, forum copain, etc) mais bon la quand même ses mieux je pense. Même si ses pas un sans faute ses lisible.
"PS : Ses vrais que au début je n’ai pas fait d’effort habitude d’écrire comme sa (sms, forum copain, etc) mais bon la quand même ses mieux je pense. Même si ses pas un sans faute ses lisible."
Il a fait des efforts certes, mais dans le paragraphe ci-dessus, je vois 5 fautes énormes sans compter la ponctuation!
Il n'est malheureusement que le précurseur de ce qui va arriver d'ici quelques années..
Tous les gamins ( à commencer par les miens ) ne correspondent plus que comme çà , une ortographe basé sur le sms qui est en train de faire des dégats considérables............
Salut,
J'ai un projet en électronique à fait utilisant le DS1307, je ne comprends pas trop son fonctionnement.
Je programme en C, quelqu'un pourrait il m'envoyer des routines pour comprendre la façon de l'utiliser.
Merci d'avance
Pourquoi ne pas nous dire plutôt ce que tu ne comprends pas.
Il faudrait savoir aussi quel type de processeur tu vas utiliser, quel est ton niveau en programmation, si tu disposes déjà de fonctions pour piloter l'I2C, etc.
A+
J'utilise un 8051 et un bus I2C et je ne sais pas comment mettre en place une horloge à temps réel dont j'ai besoin.
Mon niveau en programmation est celui d'un élève en dernière année d'école d'ingénieur spécialisé en électronique, informatique. Donc j'ai un niveau en C correcte.
A 21 ans! bravo.Mon niveau en programmation est celui d'un élève en dernière année d'école d'ingénieur spécialisé en électronique, informatique. Donc j'ai un niveau en C correcte.
En tout cas ça situe bien le niveau.
okJ'utilise un 8051
ca ne répond pas à ma question: disposes-tu déjà de routines de gestion du bus I2C?et un bus I2C
Je suppose que tu as lu la doc. Elle est assez claire, surtout pour un gars de ton niveau. Qu'est-ce que tu ne comprends pas? C'est au niveau de l'exploitation des registres ou de l'accès à ces registres?je ne sais pas comment mettre en place une horloge à temps réel dont j'ai besoin
A+
Bonjour,
hum, je suis plus sceptique que Jack sur ton cursus, désolé d'être franc, on ne me refera pas.
En dernière année d'école d'ingé on doit savoir forcément comprendre un document constructeur surtout celui de chez Dallas qui est un exemple en la matière.
Bonjour!
En ayant passé une classe et étant né fin décembre ça passe...
Titi6913, tu as donc continué sur ta voie et pas de bifurcation sur l'éco à la fac??
http://forums.futura-sciences.com/or...-prepa-mp.html
Quelqu'un m'a passé sa boule de cristal!
(Il est vrai qu'il y a des fois ou le forum est presque intrusif dans votre vie...)
Ouais, je comprends pas vraiment ce que tu veux dire là.
En tout cas ce que moi je veux dire c'est qu'en dernière année d'école d'ingé si tu sais pas lire une doc t'es une bille.
Et ça au moins c'est clair.
Bon je donne plus d'explications sinon je trouve que c'est facile de critiquer comme vous le faites sans connaitre vraiment mes problèmes. Et puis je n'ai aucun intérêt à mentir sur mon cursus.
Mais bon je me suis aussi très mal expliqué.
J'ai un projet à faire où on doit créer un robot capable de détecter des obstacles et de reconnaitre plusieurs caractéristique pour chaque obstacle.
Il y a 4 blocs bien distinct et je suis responsable de réaliser l'interfaçage I²C entre tout les blocs. Sachant que chaque bloc possède un 8051.
En fait je ne comprenait pas vraiment quelle était l'utilité de cette horloge temps réelle et vu que c'est la première fois que je touche ce protocole et que je n'ai eu aucun cours dessus je paniquais un peu.
Connaissez vous un bon site traitant de l'I²C ?
Merci d'avance
C'est ce que je cherchais à savoir. En fait tu mélanges 2 problèmes: le bus I2C et l'horloge temp réel (RTC).En fait je ne comprenait pas vraiment quelle était l'utilité de cette horloge temps réelle et vu que c'est la première fois que je touche ce protocole et que je n'ai eu aucun cours dessus je paniquais un peu.
Pour l'horloge temps réel, il s'agit d'un circuit qui maintient l'heure à jour tant qu'il est alimenté. C'est ce genre de circuit qui te permet d'avoir l'heure sur ton PC.
Il existe des RTC avec une interface I2C, mais ce n'est pas obligatoire. Il y en a aussi avec une liaison SPI, parallèle ou autre. Il faut donc bien séparer la gestion des registres de la RTC et la gestion du bus I2C.
Concernant le bus I2C, ce site te donnera plein d'infos
http://pagesperso-orange.fr/xcotton/...oursetdocs.htm
Cherche la bonne rubrique.
A+
slut à tous,
Vu le fait que je suis un newcoma dans la programmation, comment pus-je mettre sur pied une horloge avec une un ds1703, un ATmega168 et un afficheur à led construit par moi meme?
alors champion, tu cherches une solution clé en main??? Du tout fait???
Tu as google qui t'aidera bien...