controller memoire
Répondre à la discussion
Affichage des résultats 1 à 30 sur 31

controller memoire



Vue hybride

  1. #1
    invite48fedcb2

    controller memoire

    Bonjour a tous

    Je suis plongé dans un projet electronique numerique depuis plus 2 mois et je nn'arrive pas à avancer, je dois concevoir un controller memoire avec une DDR2 avec un FPGA.... Mais j'ai les datasheet de la DDR2 mais je ne sais vraiment pas comment aboutir a un controlleur memoire????

    Y a t-il quelqu'un qui s'y connait en memoire

    Merci d'avance

  2. #2
    invite936c567e

    Re : controller memoire

    Bonjour

    Je dirais que ça dépend des fonctionnalités de la DDR2 dont tu veux tirer parti (table SPD notamment), du fait que le modèle de mémoire et les paramètres d'exploitation (tensions, timing...) sont fixés strictement ou non, et de la façon dont le système extérieur va utiliser ton contrôleur (protocole de communication...).

    D'une manière générale, on doit commencer un projet en établissant un cahier des charges à partir du besoin exprimé et des contraintes imposées.

    Cela a-t-il été déjà fait ? Si oui, quelle en est la teneur ?

  3. #3
    invite48fedcb2

    Re : controller memoire

    bonjour pascal

    Qu'est ce qu'un SPD??????
    Mon cahiers des charges est que je recois des trames ethernet sur 8 bits issu d'un module PHY (marvell) et je dois stocker jusqu'a 1Gb bit de donnee dans la memoire......

  4. #4
    invite936c567e

    Re : controller memoire

    SPD signifie Serial Presence Detect. C'est un système basé sur une ROM à accès série qui contient des informations spécifiques, relatives à l'identité et aux caractéristiques du module mémoire DDR ou DDR2 qui la contient.

    Comme je l'ai déjà dit, cela permet au contrôleur mémoire de s'adapter au module utilisé.

    Voici ce qu'on trouve dans la table de la ROM:
    position 0: taille totale des informations
    position 1: taille des informations SPD
    position 2: type de mémoire
    position 3: nombre de rangées d'adresse
    position 4: nombre de colonnes d'adresse
    position 5: type de boîtiers des puces, nombre de banques physiques et hauteur du module
    position 6: largeur des données (32, 64, 72 ou 144 bits)
    position 7: (réservé)
    position 8: tension d'alimentation
    position 9: fréquence d'horloge (Cycle time)
    position 10: temps d'accès (tAC)
    position 11: type d'interface (ECC, Parity, ...)
    position 12: fréquence de rafraîchissement
    position 13: largeur primaire des données (4, 8 ou 16 bits)
    position 14: largeur des données ECC
    position 15: (réservé)
    position 16: taille des Burst supportées
    position 17: nombre de banques par puce
    position 18: temps de latence supportés (CL)
    position 19: caractéristiques mécaniques du module
    position 20: type de module
    position 21: nombre de registres et de PLL, présence switch FET, présence sonde d'analyse
    position 22: options "Partial Array Self Refresh", "50 ohm ODT", "Weak Driver"
    position 23: fréquence maxi à CLX-1
    position 24: temps d'accès maxi (tAC) à CLX-1
    position 25: fréquence maxi à CLX-2
    position 26: temps d'accès maxi (tAC) à CLX-2
    position 27: temps de précharge rangée (tRP)
    position 28: temps d'accès rangée à rangée (tRRD)
    position 29: délai RAS à CAS (tRCD)
    position 30: délai actif à précharge (tRAS)
    position 31: densité banque physique
    position 32: temps de préparation adresse et commande (tIS)
    position 33: temps de maintien adresse et commande (tIH)
    position 34: temps de préparation données et masque (tDS)
    position 35: temps de maintien données et masque (tDH)
    position 36: temps de recouvrement écriture (tWR)
    position 37: délai interne écriture à lecture (tWTR)
    position 38: délai interne écriture à lecture (tRTP)
    position 39: caractéristique sonde d'analyse
    position 40: extension des infos tRC (position 41) et tRFC (position 42)
    position 41: temps mini actif à auto-rafraîchissement actif (tRCmin)
    position 42: temps mini rafraîchissement actif à auto-rafraîchissement actif (tRFC)
    position 43: temps de cycle maxi (tCKmax)
    position 44: tolérance entre DQS et DQ (tDQSQ)
    position 45: tolérance maintien données lues (tQHS)
    position 46: temps reverrouillage PLL
    positions 47 à 61: caractéristiques thermiques
    position 62: code révision infos SPD
    position 63: checksum des positions 0 à 62
    positions 64 à 71: code d'identification JEDEC du fabricant
    position 72: lieu de fabrication - optionnel
    positions 73 à 90: numéro de produit (P/N) - optionnel
    positions 91 à 92: code révision module - optionnel
    positions 93 à 94: date de fabrication
    positions 95 à 98: numéro de série (S/N) - optionnel
    positions 99 à 127: données spécifiques fabricant - optionnel
    positions 128 à 255: données client - optionnel

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

    Re : controller memoire

    Si le choix du module mémoire a déjà été fait et que toutes les caractéristiques dont fixées (timing, tension, etc.) alors tu peux oublier le SPD.

    Cependant, ton cahier des charges doit dans ce cas préciser les caractéristiques du module mémoire à utiliser, c'est-à-dire reprendre la majorité des informations SPD du module choisi.

    Cela suppose de pouvoir retrouver exactement le même modèle, ou du moins un module totalement compatible, si le besoin s'en faisait sentir (en cas de réparation ou de nouvelle fabrication notamment).

  7. #6
    invite48fedcb2

    Re : controller memoire

    Re

    En faite jai deja choisi la memoire que je vais utiliséé (DDR2 SDRAM MT47H128M8) dans le datasheet y me donne tout les information que tu ma fourni sur le SPD!!!

  8. #7
    invite48fedcb2

    Re : controller memoire

    Bonjour

    Ce que je voudrais savoir c'est comment faut-il s'y prendre pour realiser mon controller memory?quel est la demarche a suivre????

    merci d'avance

  9. #8
    invite936c567e

    Re : controller memoire

    Citation Envoyé par jamelmne Voir le message
    Ce que je voudrais savoir c'est comment faut-il s'y prendre pour realiser mon controller memory?quel est la demarche a suivre????
    Je ne peux pas te répondre en l'état.

    D'un côté, je ne peux pas deviner la multitude de détails que tu ne donnes pas, et je ne peux pas faire les réponses à ta place.

    D'un autre côté, je ne peux pas non plus te faire une réponse de principe. L'ingénierie est un métier compliqué, et je ne vais pas pouvoir te l'apprendre en quelques lignes.

    Si tu ne sais pas par quel bout commencer, c'est probablement parce qu'il te manque des éléments.
    - que dois-tu réaliser ? quelles sont les limites de ton projet ?
    - quels sont les éléments qui te sont imposés ?
    - quelles sont les interactions entre la partie à concevoir et l'environnement imposé ?
    - quelles sont les spécifications fonctionnelles et techniques des éléments extérieurs entrant en interaction avec la partie à concevoir ?
    - qu'est-ce que cela implique sur le fonctionnement et la conception de ta partie ? Entre dans le détail.
    - quelles sont les solutions possibles pour obtenir le fonctionnement désiré ? Développe.
    - quelles sont tes contraintes de réalisation ?
    - dans la solution que tu retiens, quelles sont les spécifications techniques des éléments qui entrent en jeu ?
    - quels choix et quels calculs sont nécessaires en plus de ces informations pour déterminer complètement le contenu de ton système ?

    Si tu sais déjà répondre à toutes ces questions, c'est que ton projet est en bonne voie. Autrement, c'est qu'il te manque les informations nécessaires, et tu ne feras progresser ton projet qu'en les trouvant, soit par de la documentation, soit par le raisonnement (qui amène d'ailleurs d'autres questions auxquelles tu te dois également de répondre).

  10. #9
    invitec13c351a

    Re : controller memoire

    Bonjour,

    Je viens de tomber sur cette discusion.Je dois aussi réaliser une interface entre un FPGA et une DDR2 SDRAM et je me trouve au même point que jamelmne au debut de la discussion.

    Si qu'elle qu'un à déja eu à réaliser un projet dans se style la?????

    Merci d'avance

  11. #10
    jiherve

    Re : controller memoire

    Bonsoir
    Oui c'est faisable, pour le non initié il y a des interfaces toutes faites chez la plupart des fabricants de FPGA.
    Pour Altera utiliser le megawizard.
    C'est trés trés difficile (traduire impossible) from scratch pour un débutant.
    JR
    l'électronique c'est pas du vaudou!

  12. #11
    invitec13c351a

    Re : controller memoire

    Bonjour,

    Je suis un débutant et c'est tout premier projet à base de FPGA. J'utilise en ce moment ISE de Xilinx et j'ai réaliser l'interface grace au MIG. J'ai tout les fichiers mais maintenat pour comprendre c'est une autre affaire.

    Tu aurais pas quelque info sur le sujet

    Merci d'avance

    Olivier

  13. #12
    invitec13c351a

    Re : controller memoire

    Bonjour,

    Je voulais savoir si quelqu'un avait des informations sur le rafraichissement de la DDR2. J'ai lu la datasheet mais je n'arrive pas à tout comprendre.

    Merci d'avance

    Olivier

  14. #13
    jiherve

    Re : controller memoire

    Bonsoir
    pour le rafraichissement c'est facile tu dois envoyer une commande d'auto refresh toute les 7.8µs pour une utilisation en 0 /70°c et toutes les 3,9µs pour la gamme industrielle(si tant est que le registre EXT2 a bien été configuré) (données Micron).
    Le rafraichissement sert à recharger les capas qui servent à stocker les bits, car celles ci fuient, le courant de fuite augmente avec la température et donc la durée de vie des données diminue; Au passage je rappelle que le contenu d'une ram dynamique ou pas à la mise sous tension ce n'est rien de prédictible ce n'est pas non plus différent de!
    Un auto refresh c'est d'abord un precharge all CS#,RAS#,WE# = 0 avec A10 = 1
    puis après avoir respecté le timing ad'hoc CS#,RAS#,CAS# = 0 , le refresh par bank est aussi possible avec les DDR2 (jamais utilisé car doc peu claire)dans ce cas A10 = 0 et BS = Bank choisi au moment du precharge!
    http://download.micron.com/pdf/datas.../512MbDDR2.pdf

    JR
    l'électronique c'est pas du vaudou!

  15. #14
    invitef26bdcba

    Re : controller memoire

    Salut,

    Citation Envoyé par jiherve Voir le message
    Au passage je rappelle que le contenu d'une ram dynamique ou pas à la mise sous tension ce n'est rien de prédictible ce n'est pas non plus différent de!
    JR
    Es-tu certain de cela concernant la DDR ?

    J'ai utilisé à plusieurs reprises des mémoires RAM statiques, où le contenu à la mise sous tension n'est pas non plus garanti...
    Ce qui n'est pas garantis, c'est d'avoir le même contenus dans tout l'espace mémoire.

    Par contre, systématiquement (y compris dans la RAM des µC PIC et ATMEL) j'ai pu constater que le contenu était toujours identique mais avec des valeurs différentes suivant l'emplacement.
    Grâce à cette particularité, j'ai pu mettre en place une sécurité simple vis à vis d'une copie sans mon autorisation et cela sans se casser la tête.
    Mon but n'étant pas d'interdire la copie, mais simplement d'être au courant des utilisateurs de mon soft par un moyen simple...

    David.

  16. #15
    jiherve

    Re : controller memoire

    Re
    Ben tu es mal barré, le contenu d'une ram est aléatoire, bien sur avec les DRAM lorsqu'elles sont chaudes les coquines on a en moyenne fifty fifty de un et de zéro mais c'est en moyenne.
    Ton astuce était celle utilisée par la BG team (micreausaufte) pour définir si un reset etait à chaud ou à froid , quelle daube!
    Cela semble fonctionner, semble seulement!

    JR
    PS il faudra un jour que je vous concocte un bêtisier!
    l'électronique c'est pas du vaudou!

  17. #16
    invitef26bdcba

    Re : controller memoire

    Je te l'ai dit, et vérifié sur la RAM des µC Microchip, Atmel et CY6264, cela fonctionne parfaitement et depuis plusieurs années...
    (je parle bien d'une mise sous tension, et non d'un RESET sans coupure d'alim)
    Donc, je mets en doute tes conclusions, vu qu'elle sont déjà inexactes pour le paragraphe qui précède...

    David.

  18. #17
    invitee05a3fcc

    Re : controller memoire

    Citation Envoyé par jiherve Voir le message
    PS il faudra un jour que je vous concocte un bêtisier!
    Si tu veux un coup de main, je dois en avoir quelques bonnes !

    Le plus rigolo (pour ne pas pleurer ...), c'est les simulateurs soft qui démarrent toujours avec un état bien prévu (condensateur à zéro volt, bascule avec Q=0 etc) et qui simulent des fonctionnements nickel ....
    Et dans la réalité vrai, tu as une microcoupure:
    - décharge incomplète des capas .... et plouf, le machin planté !
    - une bascule qui ne redémarre pas dans l'état prévu en simulation ......et plouf, le compteur qui part dans une séquence imprévue et définitive ou plouf, il faut 3 plombes pour récupérer le cycle de comptage prévue
    - etc etc
    A+

Discussions similaires

  1. Controller un PIC à partir d'un PC par bluetooth
    Par invite0cebd2e1 dans le forum Électronique
    Réponses: 17
    Dernier message: 11/07/2007, 14h35
  2. NDAS SCSI controller 10
    Par invite13938122 dans le forum Matériel - Hardware
    Réponses: 0
    Dernier message: 08/02/2007, 21h15
  3. confit controller du bus sm et pci device
    Par invite520b8593 dans le forum Matériel - Hardware
    Réponses: 0
    Dernier message: 23/11/2006, 20h28
  4. Controller des LED avec un PIC via USB
    Par invite1d4e3e81 dans le forum Électronique
    Réponses: 11
    Dernier message: 28/09/2006, 09h17
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...