bunyman a écrit :
Pour le dialogue bi directionnel avec une autre interface ethernet, je comprend que l'on ai besoin de gérer les collisions et autre joyeuseté du protocole. Mais pour l'envoi d'une trame, en point à point, vers une autre interface qui on le sait pertinemment n'émettras rien du tous (pas initialiser par l'OS), je ne voit pas l'interet. Me trompe-je ?
|
tu peux te passer du module dans le microcontrolleur et le coder toi meme, mais tu ne peux pas te passer du physical layer tout simplement car ton microcontrolleur ne sort pas les bons voltages (c'est codé en manchester code, donc du +2V et du -2V je crois sans passer par 0V), sans compter les probables incompatibilité des caracteristiques de temps et de courant. Il te faudra alors implementer sur ton microcontrolleur l'interface MII (media independent interface) pour communiquer avec le transceiver (PHY).
exemple de transceiver:
LAN82C185: http://www.smsc.com/main/datasheets/83c185.pdf
prenons l'exemple de ce transceiver: il a une horloge de 25MHz qui est envoyé au microcontrolleur. Deja, ton PIC16F84 ne suit car sa clock_in est de 20MHz, ce qui laisse supposer que 20MHz est son max vu qu'apparement il n'a pas de Phase Locked Loop (PLL). Ensuite, comme tu recois une horloge de 25MHz, tu dois envoyer tes données a 25MHz, ce qui implique aussi decider quoi envoyer, ce qui implique que le processeur doit tourner beaucoup plus vite pour executer les instructions en temps voulu, c'est impossible a faire avec ton PIC.
L'autre possibilité serait que tu bricoles toi meme le transceiver cité au dessus avec des transistors MOSFET pour avoir +2V -2V en sortie (les voltages sont a verifier). Mais encore, avec ton PIC c'est problematique.
Ethernet = 10MHz, 2 pairs de fils change a une frequence de 10MHz. Ca fait 4 pins a changer tout les 10MHz (c'est le manchester code qui dicte ca). J'ai la flemme de continuer a chercher les infos, mais a mon avis c'est chaud a faire car ca te laisse pas beaucoup de marge.
Le plus simple est de jeter ton PIC par la fenetre, et d'acheter une PCB avec un connecteur RJ45 dessus, puis tu programmes ca.
Message édité par Pantoufle_man le 14-10-2007 à 13:13:49