Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2930 connectés 

 


Dernière réponse
Sujet : Wake On Lan via PIC
swissforever parce que beaucoup utilisent les pics, en suisse aussi, perso j'ai appris sur un siemens (C515) et après ai fait du ATMEL, presque la même chose et très facile d'utilisation, mais c'est tout l'inverse des pics... perso je trouve plus simple les Atmels

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
swissforever parce que beaucoup utilisent les pics, en suisse aussi, perso j'ai appris sur un siemens (C515) et après ai fait du ATMEL, presque la même chose et très facile d'utilisation, mais c'est tout l'inverse des pics... perso je trouve plus simple les Atmels
Pantoufle_man

bunyman a écrit :

Je vais en rester là aussi je crois ;)


 
bah si tu veux apprendre, prend une development board.
Perso, je compte bien m'acheter une avec un FPGA dessus, ca t'ouvres un max de possibilité car tu peux en faire ce que tu veux apres.  
 
D'ailleurs, pourquoi sur les topic francais il y a plein de reference aux PIC? Pourquoi pas les Motorola/Freescale par exemple?

Pantoufle_man

swissforever a écrit :

ca n'est pas en courant que se fait la transaction de donnée en ethernet?


 
je n'ai pas fais de recherche approfondie dans le domaine, c'est surement definit en details dans les standards de l'IEE mais ce site est vraiment dur a exploiter (de plus je n'ai plus les acces de mon université).
Meme si ca l'est, ca renforce encore plus le fait que ca ne marchera surement pas avec le PIC, car peu de courant peut en sortir.

swissforever ca n'est pas en courant que se fait la transaction de donnée en ethernet?
bunyman Je vais en rester là aussi je crois ;)
Pantoufle_man

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.

swissforever pas moi, dsl mais le relais me paraisait tout simple, j'avais pensé au WOL mais relais plus simple
bunyman Oui j'avoue :) Enfin le challenge me plait quand même.
 
Quelqu'un a de la doc sur le type de codage utilisé pour une trame ethernet ?
swissforever je pense pas :P mais c'est tellement plus simple de mettre un relais sur l'interrupteur  non?
bunyman 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 ?
Pantoufle_man

bunyman a écrit :

Salut,

 

Voila je chercher à allumer un pc via le Wake On Lan et un PIC typer 16F84 ou autre. Dans le principe, je ne vois pas de pb particulier : On connait le format d'une trame ethernet et d'une trame WOL. Pourtant après mes recherche sur le net, je voi qu'il est quasi nécessaire de passer par un chip spécial pour faire de l'eternet. Pourquoi ?

 


 

il faut deux trucs: si possible un microcontroller avec un module ethernet integre, qui va se charger de te formater ton paquet MAC, et gerer les collisions et exceptions. Ce module incorpore a un microcontrolleur implemente la partie Data Link layer, et communique via une interface specifique a un autre chip externe au microcontrolleur qui implemente le Physical layer (envoyer les bits sur les fils).
Ce deuxieme chip, appelé Ethernet PHY generalement, est donc externe au microcontolleur et est generalement accompagné d'un crystal de 25MHz juste a coté.

 

Le pourquoi de tout ca vient simplement du fait que c'est un protocole assez compliqué (comparé au I²C par exemple), et que un microcontrolleur ne peut pas fournir assez de courant sur ses pins pour communiquer en ethernet (en general, le microcontrolleur est tout le temps separé par une PHY des ports de communication a cause de ce probleme). De plus, l'interface physique des protocoles de communications doivent suivre un timing tres strict, ce qui est souvent impossible a programmer en C sans avoir un module specialisé integre dans le microcontrolleur.

bunyman Il faut seulement une impulsion non ?
 
Enfin en dehors de sa, sa m'intéresse quand même le coup de l'ethernet a partir d'un PIC.
swissforever pourquoi ne pas simplement mettre un relais en // au bouton POWER, j'ai fait ca avec un tel portable, comme ca je téléphone et ca allume le PC....
bunyman Salut,
 
Voila je chercher à allumer un pc via le Wake On Lan et un PIC typer 16F84 ou autre. Dans le principe, je ne vois pas de pb particulier : On connait le format d'une trame ethernet et d'une trame WOL. Pourtant après mes recherche sur le net, je voi qu'il est quasi nécessaire de passer par un chip spécial pour faire de l'eternet. Pourquoi ?
 

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)