PcTuner Forum

PcTuner Forum (http://www.pctuner.net/forum/)
-   Programmazione PIC (http://www.pctuner.net/forum/programmazione-pic/)
-   -   Articolo Web Server (http://www.pctuner.net/forum/programmazione-pic/76472-articolo-web-server.html)

BitBerzerkir 07-03-2007 20.13.29

Quote:

Originariamente inviato da mau
Ciao, da qualche mese sto cercando di far funzionare l’enc28j60 utilizzando un pic 18f4550 con risultati praticamente nulli. Il tuo lavoro caro BitBerzerkir è una delle fonti principali su cui mi sto basando e per questo ti sarò sempre grato. Però ho un sacco di dubbi e lacune.. potreste aiutarmi?
1. Come posso testare o verificare se il dispositivo è configurato nel modo giusto?
2. Per esempio se collego il dispositivo direttamente al mio PC come posso provare a dialogare?
3. Esiste qualche comando adatto da utilizzare con il “Prompt dei Comandi”?
4. Nel capitolo sulla ricezione e trasmissione di pacchetti viene introdotta la funzione “MACPutHeader” in cui con il parametro “target” posso introdurre l’indirizzo MAC del destinatario, ma i 6 Byte li devo indicare io precedentemente?
Grazie di tutto.

Il primo prototipo l'ho fatto anch'io con un 4550, fai attenzione ai pin dell'SPI che non sono gli stessi del 2620...
1) Per vedere se il pic comunica con l'ENC potresti tentare di fare lampeggiare i LED collegati al controller; nel mio codice basta scommentare la riga
Codice:

writePHY(PHLCON,0b0000101010110000);
nel metodo encInit(). Visto che usi un PIC diverso potresti semplificarti la vita provando l'esempio per mikroC...
2,3) Lo colleghi direttamente al pc tramite cavo cross, poi da prompt usi il comando ping seguito dall'indirizzo IP che hai assegnato al micro. Perchè riescano a comunicare, gli indirizzi IP devono appartenere alla stessa sottorete (ad es. 192.168.10.1 e 192.168.10.5).
4) Questo metodo non si usa direttamente perchè agisce a livello MAC, viene però utilizzato dall'IP e dall'ARP.
Saluti

elberto 13-06-2007 15.25.40

Piccolo dubbio: perchè le 2 alimentazioni?
Utilizzare il tutto a 3,3V?

Beppe82 13-06-2007 16.11.02

l'enc vuole 3,3 volt, ma il pic per andare a quella tensione deve essere un LF, e in ogni caso a 3,3 volt non puoi andare alla massima velocità possibile per il pic

(mi pare di ricordare sia questo il motivo)

elberto 13-06-2007 22.03.50

Ok, ma questo se utilizzo un PIC alla massima frequenza a 3,3V; se non sbaglio il clock dovrebbe essere a 8MHz (a meno che non ci sia il PLL interno abilitato), comunque quello che ho io (normale) viaggia a 32MHz a 3,3V.
Quindi il PIC lavora a 8MHz o di più?

Beppe82 13-06-2007 23.06.03

Quote:

Originariamente inviato da elberto (Scrivi 1308648)
comunque quello che ho io (normale) viaggia a 32MHz a 3,3V.

mi pare strano


Quote:

Originariamente inviato da elberto (Scrivi 1308648)
Quindi il PIC lavora a 8MHz o di più?

boh :tajo: :geniale:

tressette 18-06-2007 22.10.37

Avrei voglia di realizzare il circuito che sarei in grado di costruire solo avendo a disposizione il PCB poichè ho difficoltà a con lo schema.
Qualcuno che lo ha gia realizzato ?
Grazie
;)

Gimli 18-06-2007 22.29.28

io ho qualcosa... una scheda con il pic e un max485 e l'altra con encoder memoria e buffer.

E' possibile postare PCB realizzati con Orcad?

tressette 20-06-2007 18.48.17

C'è qualcuno che può dare una risposta alla domanda di Gimli che metterebbe a disposizione i file?
Grazie a Gimli .... e a tutti.

Cyberalex 20-06-2007 22.18.12


.

Questa è la mia realizzazione (lato componenti e lato saldature, la risoluzione è già salvata nell'immagine stessa in ogni caso è di 600dpi) solo che il pic utilizzato è un 18F2550, dal punto di vista del software credo non ci sia molto da cambiare rispetto al codice di Bit, giusto le due linee di select:
Codice:

#define        CS        PORTCbits.RC6 // CS dell'ENC

#define        CS2        PORTBbits.RB2 // CS della memoria SPI

L'inizializzazione dei pin è questa:
Codice:

PORTA = 0x00;
        PORTB = 0x00;
        PORTC = 0x00;
        TRISA = 0;        // 00000000 configurazione I/O di PORTA
        TRISB = 249;        // 11111001 configurazione I/O di PORTB
        TRISC = 60;        // 00111100 configurazione I/O di PORTC
        ADCON1 = 15;
        CMCON = 7;

Come vedi su PORTB ho messo 8 led per il dump dei registri :D il regolatore a 5v ha la faccia rivolta verso l'interno, l'lm317 verso l'esterno, poi è chiaro che dipende dai componenti che usi. Se hai domande fai pure, spero di saper rispondere :geniale:
Oggi ho fatto la prova di italianoooo! :OT:
Alex

elberto 20-06-2007 22.56.35

:OT: Approfitto di voi: vorrei fare un programmino, o anche semplicemente una pagina web, o qualunque cosa si possa fare, che mi permetta di comunicare con un PIC attaccato allo switch della mia rete.
Come schema pensavo a un PIC con l'encoder Ethernet della Microchip.
Io mi collego al PIC, gli trasmetto un Byte di richiesta dati e lui mi risponde con alcuni Byte (in pratica vorrei fare una lettura di temperatura a richiesta).
Non è che magari qualcuno di voi ha già un firmware pronto?
Grazie comunque, ciao.

tressette 22-06-2007 18.23.41

per Cyberalex.

Apprezzo molto la tua disponibilità e ti ringrazio.
Ciao :)

BitBerzerkir 23-06-2007 15.50.47

Quote:

Originariamente inviato da elberto (Scrivi 1312139)
:OT: Approfitto di voi: vorrei fare un programmino, o anche semplicemente una pagina web, o qualunque cosa si possa fare, che mi permetta di comunicare con un PIC attaccato allo switch della mia rete.
Come schema pensavo a un PIC con l'encoder Ethernet della Microchip.
Io mi collego al PIC, gli trasmetto un Byte di richiesta dati e lui mi risponde con alcuni Byte (in pratica vorrei fare una lettura di temperatura a richiesta).
Non è che magari qualcuno di voi ha già un firmware pronto?
Grazie comunque, ciao.

Buondì,
se vuoi comunicare con il PIC per mezzo di una pagina web, puoi utilizzare l'esempio realizzato con mikroC, oppure lo stack TCP/IP della Microchip che è più complicato da utilizzare per cose semplici, però dispone del server HTTP di cui hai bisogno.
Se al posto della pagina web, vuoi comunicare per mezzo di un software, ad esempio con protocollo UDP, puoi sempre utilizzare le librerie di mikroc che sono molto semplificate rispetto al firmware della Microchip.
Saluti

elberto 29-06-2007 16.08.51

Purtroppo per questioni di compatibilita` devo utilizzare lo stack Microchip.
Intanto pensavo di lavorare con il TCP/IP o UDP, poi aggiungere la pagina web.
Visto che devo solo trasmettere e ricevere un array, conoscendo l`indirizzo MAC e IP (fissi), mi sembra di aver capito che basta usare questi protocollo; ma che differenza c`e` tra il TCP e l`UDP per la trasmissione di un array conoscendo gli indirizzi IP?

Gimli 29-06-2007 18.08.12

con il TCP devi gestire tutta la connessione (aperture chiusura, ecc) mentre con l'UDP è più semplice (se sei su una LAN è consigliabile).

tressette 15-07-2007 13.17.01

Falso errore durante generazione e quindi ripetuto (causa aggiornamento server)

tressette 15-07-2007 13.18.18

Quote:

Originariamente inviato da Cyberalex (Scrivi 1312116)

.

Questa è la mia realizzazione (lato componenti e lato saldature, la risoluzione è già salvata nell'immagine stessa in ogni caso è di 600dpi) solo che il pic utilizzato è un 18F2550, dal punto di vista del software credo non ci sia molto da cambiare rispetto al codice di Bit, giusto le due linee di select:
Codice:

#define        CS        PORTCbits.RC6 // CS dell'ENC

#define        CS2        PORTBbits.RB2 // CS della memoria SPI

L'inizializzazione dei pin è questa:
Codice:

PORTA = 0x00;
        PORTB = 0x00;
        PORTC = 0x00;
        TRISA = 0;        // 00000000 configurazione I/O di PORTA
        TRISB = 249;        // 11111001 configurazione I/O di PORTB
        TRISC = 60;        // 00111100 configurazione I/O di PORTC
        ADCON1 = 15;
        CMCON = 7;

Come vedi su PORTB ho messo 8 led per il dump dei registri :D il regolatore a 5v ha la faccia rivolta verso l'interno, l'lm317 verso l'esterno, poi è chiaro che dipende dai componenti che usi. Se hai domande fai pure, spero di saper rispondere :geniale:
Oggi ho fatto la prova di italianoooo! :OT:
Alex

Ciao Cyberalex
Sono pronto per realizzare il PCB ma avrei qualche domanda , sicuramente tutte molto banali ma non per me.

1) avendo modificato, per rendermi più facile la foratura e la saldatura (la vista non è più così efficiente) , le piazzole di tutto il circuito ho aggiunto quelle dei condensatori da 22pF dei quarzi. Giusto?

2) dopo aver realizzato fisicamente tutto basterebbe un file hex per il PIC 18f2550 e un Propic 2 per programmarlo perchè il server funzioni e cioè sia in grado di interfacciarsi su ethernet con una semplice pagina html?

3) Inversamente quali files, e quale programmatore ?


Grazie :)

tressette 15-07-2007 13.18.47

Ciao Cyberalex
Sono pronto per realizzare il PCB ma avrei qualche domanda , sicuramente tutte molto banali ma non per me.

1) avendo modificato, per rendermi più facile la foratura e la saldatura (la vista non è più così efficiente) , le piazzole di tutto il circuito ho aggiunto quelle dei condensatori da 22pF dei quarzi. Giusto?

2) dopo aver realizzato fisicamente tutto basterebbe un file hex per il PIC 18f2550 e un Propic 2 per programmarlo perchè il server funzioni e cioè sia in grado di interfacciarsi su ethernet con una semplice pagina html?

3) Inversamente quali files, e quale programmatore ?


Grazie :)

tressette 10-08-2007 14.03.53

Realizzazione prototipo
 
Ho concluso la fase realizzativa del prototipo e adesso sono alle prese con la verifica che tutto sia ok.
Come suggerito ho tolto il commento dalla riga
writePHY(PHLCON,0b0000101010110000); //configurazione LED (per test)

I due led si illuminano prima entrambi poi ciascuno ed il ciclo continua.
Il collegamento tra pic e enc28j60 è quindi ok.
Ma dove trovo l'indirizzo IP assegnato al server per poterlo pingare attraverso un collegamento ad un PC con cavo cross?
Grazie
:)

tressette 12-08-2007 11.08.04

Circuito WEB SERVER
 
Dopo numerose verifiche del circuito che ho realizzato sono riuscito a leggere la pagina html all'indirizzo 10.0.0.4 dell'esempio "La libreria SPI Ethernet in MikroC" - esempio_mikroc.rar - 97.25 KB di Paolo Conte che ringrazio vivamente.
Ma come si fa a raggiungere la pagina da internet avendo connesso il web server ad un router adsl ?
grazie a tutti per l'aiuto che già mi avete dato e per quello che ancora mi concederete.
Saluti
:)


Tutti gli Orari sono GMT +2. Attualmente sono le 12.56.54.

Powered by vBulletin Versione 3.6.12
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0

Copyright © 2010 - Master New Media S.r.l. a socio unico - P.I. 02947530784. Tutti i diritti di proprietà letteraria e artistica sono riservati- Privacy
www.pctuner.net è testata telematica registrata presso il Tribunale di Torino, n. 39 del 07.05.2008, Editore Master New Media S.r.l.