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
    stage

    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. Publicité
  3. #2
    inso la folle

    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)

  4. #3
    stage

    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!!!!!!!!!

  5. #4
    inso la folle

    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.

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

    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

  8. #6
    inso la folle

    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.

  9. Publicité
  10. #7
    stage

    Re : conception mémoire amovible

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

  11. #8
    stage

    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?

  12. #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+

  13. #10
    stage

    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!

  14. #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+

  15. #12
    stage

    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.

  16. Publicité
  17. #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+

  18. #14
    stage

    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!

  19. #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+

  20. #16
    stage

    Re : conception mémoire amovible

    Merci, je vérifie ça tout de suite

  21. #17
    stage

    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!

  22. #18
    stage

    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.

  23. Publicité
  24. #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+

  25. #20
    ProgVal

    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

  26. #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+

  27. #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+

  28. #23
    stage

    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...

  29. #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+

  30. Publicité
  31. #25
    stage

    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?

  32. #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+

  33. #27
    stage

    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...

  34. #28
    Jack
    Modérateur

    Re : conception mémoire amovible

    Donc il y a bien 32 impulsions d'horloge?

    A+

  35. #29
    stage

    Re : conception mémoire amovible

    oui il y a 32 impulsions d'horloge.

  36. #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 ΜāËβụ¢ИıÅ dans le forum Matériel - Hardware
    Réponses: 11
    Dernier message: 17/12/2007, 18h57
  2. Lecteur de disquette amovible (souci)
    Par Lionel dans le forum Matériel - Hardware
    Réponses: 0
    Dernier message: 25/04/2007, 18h03
  3. surtension disque dur amovible
    Par DB2TE dans le forum Électronique
    Réponses: 7
    Dernier message: 06/01/2007, 23h02
  4. Comment réparer un disque amovible ?
    Par Gyaru 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
Découvrez nos comparatifs produits sur l'informatique et les technologies.