Home Forum MICROCONTROLLORI interfaccia ethernet con ENC28j60

Questo argomento contiene 7 risposte, ha 5 partecipanti, ed è stato aggiornato da  mingoweb 3 anni, 9 mesi fa.

Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
  • Autore
    Articoli
  • #57153

    vixraf
    Membro

    Salve,
    sono un programmatore e da poco ho ripreso l’hobbie dell’elettronica in particolar modo la programmazione dei PIC.
    Ricercando su internet ho trovato un articolo molto interessante sull’ ENC28J60, ma non so da dove iniziare in quanto non ho neanche il programmatore di PIC Adatto.
    Gentilmente volevo chiedere se qualcuno sa indicarmi il materiale necessario per programmara l’ ENC28J60 sia hardware che software e qualche semplice esempio per pilotare un led.

    Grazie!!!

    #68271

    UliPollo
    Membro

    Ciao,
    programmare un microcontrollore è molto bello ma allo stesso tempo presenta qualche difficoltà rispetto alla programmazione classica, dovuta dalle limitate risorse hardware di cui dispone.

    Parliamo dei PIC ma comunque il moduelo ENC28J60 può essere interfacciato anche ad altri microcontrollori.

    Si può comunque schematizzare in quanto segue: puoi sviluppare il software in un linguaggio ad alto livello come C o Basic utilizzando un IDE (vedi Microchip PIC-C, Mikrobasic (il + semplice a mio avviso), MikroC, PicBasic….) ce ne sono tantissimi (ti parlo di software sotto Windows).

    una volta scritto ilsoftware puoi compilarlo con lo stesso IDE e simularlo (con l’IDE se ha funzionalità di debugging oppure utilizzanod un software appostito, ti consiglio PIC SImulator IDE, davvero semplice da usare, oppur Proteus VSM che c’è anche in versione demo, oppure se vuoi divertirti vedendo anche i componenti che bruciano se collegati in maniera errata Crocodile Clips, ora chiamato Yenka electronic.)

    Una volta compilato il programma va scaricato sul microcontrollore attraverso un programmatore, tra questi ti consiglio il PICKIT2, va via USB e fa anche da convertitore USB-SERIALE e da LogicAnalyzer.
    Costa un po’ ma in rete trovi diversi cloni.

    Se vuoi invece utilizzare un programmatore seriale, + economico, trovi il PG2C, davvero ottimo, ha gli zoccoli per tutti i PIC.

    Come software per caricare il firmware ti consiglio Win PICPGM per la sua facilità di utilizzo (si configura automaticamente riconoscendo il programmatore seriale o LPT) oppure il software apposito fornito da Microchip se usi il PICKIT2.

    ORa una scelta:
    io ti consiglio di iniziare con qualcosa di semplice tipo MikroBasic che ha tantissii esempi commentati e anche proprio per l’ECN28J60, però è limitato come risorse, se vuoi fare qualcosa di + completo devi utilizzare Microchip PIC-C poichè Microchip ha fornito lo Stack per utilizzare il protocollo TCP/IP su microcontrollore attraverso l’ENC28J60.

    In rete esistono anche delle board che ti consentono di realizzare un mini web server, la migliore che avevo trovato però utilizzava un microcontroller AVR della Atmel, ti spedivano il kit con tanto di PCB x 50€ mi sembra di ricordare.. prova a cercare ATMega88 + ENC28J60 + MAgjack.

    Riguardo al MagJack:
    spesso per collegare il cavo ethernet ti serve un jack, dei trasformatori di isolamento e delle resistenze da 50ohm o 75ohm che però sono difficili da trovare.
    il MagJack integra tutto questo giànel connettore.

    Se ti interessa MikroBasic sul mio sito nella sezione guide trovi un tutorial di base.
    Saluti.

    Ulisse.

    http://www.hgcomo.org

    #68273

    vixraf
    Membro

    Grazie mille per la risposta ora tutto è molto più chiaro.
    Se ho capito bene ECN28J60 non è utilizzato SOLO come interfaccia ad Ethernet, può essere utilizzato anche come un normale pic per altre applicazioni.
    Per interfacciare invece ECN28J60 ad ethernet bisogna installare il firmware contenente lo Stack per utilizzare il protocollo TCP/IP e utilizzare quindi un pic esterno che invia i vari comandi SPI …dico bene?
    Comunque quello che vorrei realizzare, per iniziare, è qualcosa del genere

    http://www.mikroe.com/eng/downloads/get/555/it_article_c_pic_02_09.pdf

    Grazie!!!

    #68274

    Maurizio S.
    Membro

    Salve vixraf e UliPollo,

    Beh! prima di tutto avvisiamo i lettori , che no! il ENC28J60 non si può assolutamente programmare come se fosse un PIC. ed a parte un paio di registri programmabili, non si può assolutamente eseguire codice utente nel suo interiore.

    L’ENC28J60 appartiene alla famiglia di dispositivi chiamati Network Interface Controller o meglio conosciuti come NIC.

    Ed è un IC, che ha marcato la differenza, per la sua semplice interface SPI e per integrare in un unico package MAC e PHY, Risolvendo così problemi di disegno su delle board con MCU a basse risorse.

    Il fatto che Microchip fabbricha Microcontrollatori programmabili non vuol dire che tutti i suoi prodotti sono programmabili.

    Tema 2:

    I PIC sono appunto microcontrollatori, un giorno sentirai la necessità di spaziare su altre marche e architetture di microcontrollatori, e personalmente consiglio sempre di studiare “C” generico, senza librerie, ne macros, ne API,

    cosi potrai muoverti sulle diverse architetture senza portarti dietro lacune di programmazione.
    Lacune presenti nei programmatori intrappolati con MicroC, CCS,PicBASIC, e qui più ne ha, più ne metta.

    Anche se al principio ti sembrerà più difficile, alla fine del percorso educativo, avrai imparato un linguaggio molto portabile e nelle tue applicazioni, potrai raggiungere un alto livello di ottimizzazione, creando le tue proprie librerie.
    E avvicinandoti all’hardware in un modo fluido, potrai comprendere gli stati del calcolo elettronico.

    Ti consiglio la scelta di un modulo pronto all’uso e con una grande comunità di sviluppatori.
    esempio SBC65EC di Modtronix con moltissime periferiche e progetti attivi

    http://www.modtronix.com/index.php?cPath=105_112

    O se non ti interessano le periferiche un FTPmicro di EOS

    http://store.emcelettronica.com/product_info.php?products_id=29&language=en

    Buona Fortuna.

    Un saluto a tutti
    Maurizio

    #68279

    vixraf
    Membro

    Grazie a tutti per le risposte !!!
    Ho cercato su internet per trovare un esempio pratico (compreso schema) molto semplice (tipo pilotare un led con una pagina web) che utilizza l’enc28j60 ma non ho trovato niente di concreto….qualcuno sa come aiutarmi?

    ancora grazie

    #68282

    drsurfer
    Membro

    @vixraf; molto semplice, vai sul sito della Microchip e cerca lo Stack TCP/IP della Microchip, negli esempi trovi tutto.
    Non e’ facile, visto che la documentazione e’ piuttosto “sparsa”.
    Ribadisco, dato che dalla tua risposta non sembri “convinto” che l’ENC e’ solo una periferica che realizza l’interfaccia a Ethernet, ma il codice che lo utilizza, pilotandolo tramite SPI, deve girare su un microcontrollore.

    #68290

    vixraf
    Membro

    ora mi è tutto chiaro, ho bisogno solo di qualche esempio semplice per iniziare e per assicurarmi che il circuito, che dovrò realizzare, funziona correttamente in modo che posso fare altri esperimenti.

    Grazie a tutti!!!

    #68354

    mingoweb
    Membro

    Dai una occhiata a questo progetto http://www.hw-group.com/support/an21/index_en.html credo che sia molto utile per il tuo progetto!

Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.