conception mémoire amovible
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 32

conception mémoire amovible



  1. #1
    invite9293de6d

    Red face conception mémoire amovible


    ------

    Bonjour à tous!
    Je suis étudiante et je dois réaliser une extension mémoire pour un pic 18f4550 en C sous MPLAB. Le problème set que je ne vois pas comment m'y prendre pour commencer. Je suis en fait très scolaire, c'est mon 1er projet et en plus personne ne peut m'aider... Alors s'il vous plaît, A L'AIDE!!!

    -----

  2. #2
    invite819c0860

    Re : conception mémoire amovible

    extention de mémoire, quel type ?
    pour mettre des variables ? pour sauver des donnée (meme quand le module est deconnecté) ? pour avoir plus d'espace pour ton programme ?

    quels sont tes connaissance (pour t'aiguiller sur quelque chose qui soit de ton niveau) et est ce la le coeur de ton defis (ajouter de la mémoire) ou une des concéquence d'un cahier des charges plus important ?

    cordialement (et en te souhaitant la bienvenue parmis nous)

  3. #3
    invite9293de6d

    Re : conception mémoire amovible

    Merci pour la réponse!
    En fait il s'agit d'une mémoire amovible pour un robot. Elle permettra de sauvegarder des données car la mémoire du robot n'est pas très grande. Le pic utilisé pour la mémoire est le 18f4550. Je dois réaliser l'extension mémoire grâce à une EEPROM M95256 sur laquelle seront stockées les données. Je programme en C. Là je viens de faire un programme qui permet d'envoyer une donnée sur l'EEPROM mais j'ai besoin d'aide... Help!!!!!!!!!

  4. #4
    invite819c0860

    Re : conception mémoire amovible

    derniere question pour mettre les choses au point : ce modele OBLIGATOIREMENT ? ou un autre ? pour quel quantitée de mémoire a peu pret ? une seule puce ? un bus ?

    enfin, tu dit que tu a deja fait des experiences : alors quels sont exactement les problemes que tu a rencontrés ?

    de tete, comme ca, si tu me dit "mémoire amovible" "robot" et "donnée" j'aurais tendence a te répondre SD card ou Memory card (compact flash) c'est simple, peu chere, amovible, pas tres gros, assez peu chere de mise en oeuvre, peu stoquer beaucoup de donnée, peu se lire sans hardware de plus sur la majoritée des PC et se deplacer d'un PC a l'autre et d'un robot a l'autre ... mais si tu est contraite a ce modele ... enfin, a voir, peut etre ?

    cordialement.

  5. A voir en vidéo sur Futura
  6. #5
    invite9293de6d

    Re : conception mémoire amovible

    Oui, malheureusement c'est uniquement ce type de mémoire que j'utilise. Le problème rencontré est que je dois envoyer des données par blocs de 32 octets, et je ne comprends pas trop comment gérer le stockage des info dans l'EEPROM... La mémoire de l'eeprom est 36ko

  7. #6
    invite819c0860

    Re : conception mémoire amovible

    je vais essayer de me renseigner ^^ "gerer le stoquage des info" software ou hardware ? tu parvien a echanger des donnée en hard ? c'est le protocole qui te pause probleme ?

    cordialement.

  8. #7
    invite9293de6d

    Re : conception mémoire amovible

    slt!
    j'ai un nouveau pb... je n'arrive pas à connecter la pin sdo de mon pic...

  9. #8
    invite9293de6d

    Re : conception mémoire amovible

    bonjour,
    J'ai avancé dans mon projet. J'ai fini les câblages et j'arrive aussi à envoyer des données. Mais je n'arrive toujours pas à les lire. La fonction readspi me renvoit toujours '0'. Savez vous ce que je dois faire? Voici mon code:
    #include <p18f4550.h>
    #include <spi.h>

    void init_spi(void)
    {
    DDRAbits.RA5=0; //RA5 en sortie
    PORTAbits.RA5=1; // CS est à l'état haut sélectionne l'appareil
    DDRBbits.RB1=0; //SCK en sortie,le signal d'horloge
    DDRBbits.RB0=1; //port sdi du pic en entrée, RBO est relié à la sortie de l'EEPROM
    PORTBbits.RB0=0;
    PORTBbits.RB1=0; //RB1 est relié à l'horloge
    DDRCbits.RC7=0; //SD0 en sortie est relié à l'entrée de l'EEPROM
    PORTCbits.RC7=0;
    PIR1bits.SSPIF=0; // SSPIF teste si une émission est terminée ou non
    SSPSTAT=0x40; // l'envoi des données se fera sur front montant
    SSPCON1=0x20; // configure SCK, SDO, SDI et CS en port série,l'horloge est à la fréquence du pic/4
    }
    void out_spi(int outchar) // envoi une donnée à l'EEPROM
    {
    SSPBUF=outchar;
    while (!PIR1bits.SSPIF); // attend la fin de l'émission
    }
    void eeprom_write_enable(void) //autorise les instructions d'écriture
    {
    PORTAbits.RA5=0;
    WriteSPI(SPI_WREN);
    PORTAbits.RA5=1;
    }

    void eeprom_write(int adresse,unsigned char mem_data)
    {
    unsigned char fort=0,faible=0;
    fort=adresse>>8; // masque les poids faible
    faible=adresse & 0x00FF; // masque les poids forts
    eeprom_write_enable();

    PORTAbits.RA5=0;//SELECTION DE L APPAREIL
    WriteSPI(SPI_WRITE); //envoi l'instruction d'écriture
    WriteSPI(fort); //envoi les 8 premiers bits d'adresse
    WriteSPI(faible); //envoi les bits de poids faible
    WriteSPI(mem_data); //envoi la donnée
    PORTAbits.RA5=1;
    }

    unsigned char eeprom_read(int adresse)
    {
    unsigned char mem_data=0,fort=0,faible=0;;
    fort=adresse>>8; // masque les poids faible
    faible=adresse & 0x00FF; // masque les poids forts
    PORTAbits.RA5=0;
    WriteSPI(SPI_READ); //envoi l'instruction de l'écriture
    WriteSPI(fort); //envoi les 8 premiers bits d'adresse
    WriteSPI(faible); //envoi les bits de poids faible
    mem_data=ReadSPI();
    //PORTAbits.RA5=1;
    return mem_data;
    }
    void main ()
    {
    unsigned char resultat=0;
    init_spi();
    eeprom_write(0x21,0x11); // écrire 11h à l'adresse 21h
    resultat=eeprom_read(0x21); // lire à l'adresse 21h
    }

    L'oscilloscope montre bien que je reçois quelque chose en sortie , cependant, le readspi me renvoit toujours 0. Pourriez-vous m'aider?

  10. #9
    Jack
    Modérateur

    Re : conception mémoire amovible

    Difficile de t'aider, vu qu'il n'y a pas de fonction readspi dans ton programme.

    A+

  11. #10
    invite9293de6d

    Re : conception mémoire amovible

    Dans la fonction "eeprom_read" , j'utilise la fonction readspi de la bibliothèque spi. Peut être que je l'utilise mal? Merci de m'avoir répondu! J'espère avoir une autre réponse.... Thank you!

  12. #11
    Jack
    Modérateur

    Re : conception mémoire amovible

    N'ayant pas la doc de mplab, tu peux recopier la doc de cette fonction?

    A+

  13. #12
    invite9293de6d

    Re : conception mémoire amovible

    la fonction ReadSpi est ainsi conçue:
    unsigned char ReadSPI(void)
    {
    SSPBUF=0x00;
    while(!SSPSTATbits.BF);
    return(SSPBUF);
    }
    Je ne comprends pas pourquoi mettre sspbuf à 0.

  14. #13
    Jack
    Modérateur

    Re : conception mémoire amovible

    ta fonction ReadSpi ne lit pas de donnée, elle ne fait que tester si la SPI est libre pour recevoir un nouveau caractère apparemment.

    Qui a écrit cette fonction?

    A+

  15. #14
    invite9293de6d

    Re : conception mémoire amovible

    désolée... Mais c'est une fonction qui est dans la bibliothèque SPI du compilateur MCC18. C'est Microship qui l'a écrite cette fonction... Vous auriez une idée de fonction qui pourrait lire? Merci!

  16. #15
    Jack
    Modérateur

    Re : conception mémoire amovible

    a fonction ReadSpi est ainsi conçue:
    unsigned char ReadSPI(void)
    {
    SSPBUF=0x00;
    while(!SSPSTATbits.BF);
    return(SSPBUF);
    }
    D'où vient ce code? Je viens de regarder la doc de MCC18 et celle-ci ne le donne pas.

    Second point: es-tu sure que l'écriture s'est bien déroulée.

    D'autre part, par expérience, les problèmes proviennent souvent d'une mauvaise gestion de /CS. Par exemple dans ta fonction eeprom_read, tu ne le fais pas remonter, en supposant que c'est bien le bit 5 du port A qui le gère.
    Il faudrait vérifier à l'oscillo que /CS descend bien avant l'envoi de la donnée et remonte lorsque la donnée a été intégralement transmise.

    A+

  17. #16
    invite9293de6d

    Re : conception mémoire amovible

    Merci, je vérifie ça tout de suite

  18. #17
    invite9293de6d

    Re : conception mémoire amovible

    J'ai vérifié le CS et je l'ai bien réglé. J'ai aussi regardé sur l'oscilloscope, et j'arrive bien à envoyer les données (j'ai plusieurs fois changé les valeurs et ça marche). Par contre je ne réussis pas à lire... Avez-vous vérifié si le readspi est bien utilisé dans mon programme? Je vous remercie encore pour votre aide!

  19. #18
    invite9293de6d

    Re : conception mémoire amovible

    J'ai oublié de préciser que ReadSPI se trouve dans la bibliothèque et est accessible par le chemin: MCC18\ h\ spi.h\ spi_read.

  20. #19
    Jack
    Modérateur

    Re : conception mémoire amovible

    Je n'ai pas ce compilateur chez moi. Je ne peux donc pas connaitre le contenu de readspi.h et readspi.c

    Par contre je ne réussis pas à lire
    Ca veux dire que le résultat est incorrect ou que la trame à l'oscillo est mauvaise?

    A+

  21. #20
    invitee840409b

    Re : conception mémoire amovible

    Citation Envoyé par Jack Voir le message
    Je n'ai pas ce compilateur chez moi. Je ne peux donc pas connaitre le contenu de readspi.h et readspi.c
    http://www.et.byu.edu/groups/it548/O...cs/readspi.cpp

  22. #21
    Jack
    Modérateur

    Re : conception mémoire amovible

    Je ne suis pas sur que ce soit la même fonction que celle de MCC18.

    A+

  23. #22
    Jack
    Modérateur

    Re : conception mémoire amovible

    Pas la peine d'ouvrir un nouveau fil sur le même sujet, sinon il va falloir tout recommencer à zéro. Un petit "up" aurait suffi.

    Pourrais-tu enregistrer et montrer la trame enregistrée à l'oscillo lors de ta lecture?

    A+

  24. #23
    invite9293de6d

    Re : conception mémoire amovible

    lors de la lecture, je ne vois que le signal d'horloge, l'octet d'instruction càd 00000011, les 2octets d'adresse... ils sont tous envoyé par la sortie du pic SDO et entrent dans l'eeprom. Normalement la sortie devrait être renvoyée sur SDI du pic, mais je n'observe rien sur l'oscillo...

  25. #24
    Jack
    Modérateur

    Re : conception mémoire amovible

    Est-ce que tu comptes bien les 30 impulsions de l'horloge?

    Si oui, je ne voie plus qu'un problème hard:

    eeprom HS ou interversion dans les liaisons entre le pic et l'eeprom (interversion entre D et Q par exemple).

    A+

  26. #25
    invite9293de6d

    Re : conception mémoire amovible

    je compte 24 impulsions d'horloge... Pourquoi devrais-je en compter 30svp? Je compte 8 coup d'horloge à l'envoi de chaque octet donc j'envoi le code d'instruction( SPI_WREN), l'adresse sur 8bits... et pour l'envoi de donnée je compte 32 coups d'horloge et les données passent bien du pic à l'eeprom (vérifié par l'oscillo). vous pensez qu'il est possible que malgré un inversement de pattes, les données sont envoyées mais n'arrivent plus à être lues?

  27. #26
    Jack
    Modérateur

    Re : conception mémoire amovible

    l'adresse sur 8bits


    La transmission de l'adresse dure pendant 16 bits sur ce type de mémoire. Regarde la doc, c'est bien documenté.

    A+

  28. #27
    invite9293de6d

    Re : conception mémoire amovible

    Ah oui désolée. C'est bien sur 16bits. Je l'ai pensé mais j'ai écrit autre chose... Bien, je n'arrive toujours pas à lire, je suis complètement découragée! Le ReadSPI ne fonctionne pas, du moins je ne récupère rien en sortie SDI... Si quelqu'un a déjà eu ce genre de problème...

  29. #28
    Jack
    Modérateur

    Re : conception mémoire amovible

    Donc il y a bien 32 impulsions d'horloge?

    A+

  30. #29
    invite9293de6d

    Re : conception mémoire amovible

    oui il y a 32 impulsions d'horloge.

  31. #30
    Jack
    Modérateur

    Re : conception mémoire amovible

    Reste un problème matériel alors.

    Sur quelle patte de l'eeprom as-tu relié SDO?

    A+

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Comment formater un disque amovible ?
    Par invite55ab1e08 dans le forum Matériel - Hardware
    Réponses: 11
    Dernier message: 17/12/2007, 18h57
  2. Lecteur de disquette amovible (souci)
    Par invitec0e190d8 dans le forum Matériel - Hardware
    Réponses: 0
    Dernier message: 25/04/2007, 18h03
  3. surtension disque dur amovible
    Par invite84242483 dans le forum Électronique
    Réponses: 7
    Dernier message: 06/01/2007, 23h02
  4. Comment réparer un disque amovible ?
    Par inviteb158d85a dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 10/05/2006, 18h04
  5. rack disque dur usb amovible
    Par Jack dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 29/08/2005, 18h05
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...