Contrôleur ethernet DM9000E-H

Bonjour =E0 tous,

je suis actuellement en train de r=E9aliser un montage avec un DM9000, le probl=E8me est que je ne comprend pas bien la datasheet de celui ci (dispo ici:

formatting link

J'aurais donc quelques question pour ceux qui comprennent la doc mieux que moi:

  • Comment acc=E9der aux registres du contr=F4leur (je sais qu'il faut utiliser CMD mais c'est tout) ? * A quoi servent les broches GPIO0...GPIO3 ? * Comment fonctionnent les modes 16bits et 32 bits (en fait si j'ai bien compris le mode 32bits est en fait un mode 2*16bits) ?

Merci d'avance.

Reply to
poypoy.charly
Loading thread data ...

Page 8: CMD =3D 0 ... Adresse du registre a lire ou ecrire CMD =3D 1 ... Donnee a lire ou ecrire dans le registe

Pages 39-40: Voir les chronogrammes pour acceder a un registre:

1) CMD=3D0 2) Ecriture de l'adresse du registre 3) CMD=3D1 4) Ecriture/lecture de la donnee destinee au registre

Page 10: Ce sont des ports d'entree/sortie, par defaut GPIO0=3Dsortie et GPIO1...GPIO3=3Dentrees

Page 18: GEP_CNTL =3D Parametrer en entree ou en sortie les GPIOx GEPIO3-1 =3D Pour lire les entrees GPIOx GEPIO0 =3D Pour ecrire sur les sorties GPIOx

Tu parles du bus externe ou du bus interne ? L'idee est soit d'acceder a 32 bits en un seul cycle, soit d'acceder 32 bits en deux cycles de 16 bits.

Reply to
Jean-Christophe

Donc si je comprend bien, pour =E9crire dans un registre je dois:

1) Mettre CMD =E0 0 (en mode adresse). 2) Mettre l'adresse du registre dans le bus SD[0;15]. 3) Mettre CMD =E0 1 (en mode data). 4) =C9crire la valeur voulue pour le registre dans le bus SD.

Et pour lire:

1) Mettre CMD =E0 0 (en mode adresse). 2) Mettre l'adresse du registre dans le bus SD[0;15]. 3) Mettre CMD =E0 1 (en mode data). 4) Lire ce qu'il y a de pr=E9sent sur le bus SD.

J'ai bon ?

Reply to
poypoy.charly

D'apres la doc, oui. Pour Ethernet j'ai utilise un chip Motorola, mais pas celui-ci, alors je ne peux te repondre avec certitude. Mais tu peux faire un test avec un bout de code, car si tu te plantes, ca n'a pas de consequence pour le chip, et tu verras tres vite si le mode d'acces fonctionne ou pas. Et une fois que ca marche pour un registre, ca marchera pour tous les registres :-)

Tout est dans la doc, aux pages 8, 39 et 40.

Reply to
Jean-Christophe

Voila, j'ai test=E9 et =E7a marche tr=E8s bien :) Une autre petite question, si j'ai bien compris, en mode 8-bit IO16 et IO32 sont =E0 0, en mode 16-bit ils sont =E0 1 et 0 respectivement et en mode 32-bit c'est 1 et 1... Mais comment choisir le mode ?

Reply to
poypoy.charly

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.