Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

SPI, perché devo usare una resistenza di pull-down?

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto Utenteblow » 5 ago 2012, 21:02

Ciao a tutti, in un mio progettino piloto con la stessa SPI un enc28j60 e un port expander(MCP28S08), il tutto con un PIC24H.

Il tutto funziona, o quasi...quasi perché per farlo funzionare devo mettere una resistenza di pull-down sulla linea MISO, se non la metto l'enc non funziona a dovere, a volte va a volte no(lo vedo perché pingo continuamente la scheda, e senza resistenza a volte il ping fallisce, col la resisetnza invece va sempre bene), mentre il port expander funziona sempre.
Se uso una resistenza di pull-up invece l'enc non va mail!

Ora, mi chiedevo come mai è necessario mettere questa resistenza, potrebbe essere il circuito mal progettato e con disturbi qua e là?

Leggendo in rete ho visto che solitamente si mette una resistenza di pull-up su MOSI e MISO, non di pull-down...
Avatar utente
Foto Utenteblow
0 2
 
Messaggi: 18
Iscritto il: 29 apr 2012, 20:06

0
voti

[2] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto Utentesimo85 » 5 ago 2012, 23:51

PIC24H e MISO.. Sono io che faccio confusione o MISO (Master Input - Slave Output) è nomenclatura adottata sui micro AVR, come ad esempio si legge dalla AN AVR151.

Questi due PDF possono essere di aiuto.
PIC24H Family Datasheet.
PIC24H Overview Book.

blow ha scritto:potrebbe essere il circuito mal progettato e con disturbi qua e là?

Probabile, come anche il codice del firmware.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[3] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto UtenteTardoFreak » 6 ago 2012, 0:20

Suggerimento.
Visto che implementare una SPI software pilotando direttamente le uscite e leggendo l' ingresso (oggi si chiama bit banding o qualcosa del genere) implementate la SPI mediante software (il sorgente è semplice, banale direi) utilizzando gli stessi pin della SPI poi, quando tutto funziona, si può pensare di usare la SPI del micro (i piedini sarebbero gli stessi).
In questo modo si ha tutto sotto controllo,la sequenza dei segnali la si sceglie in modo puntuale e poi ... non è detto che non basti. Di solito basta l' implementazione software... capisciammè :mrgreen:

Poi fate un po' come volete. :?
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[4] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto Utenteblow » 6 ago 2012, 13:48

gohan ha scritto:PIC24H e MISO.. Sono io che faccio confusione o MISO (Master Input - Slave Output) è nomenclatura adottata sui micro AVR, come ad esempio si legge dalla AN AVR151.

Questi due PDF possono essere di aiuto.
PIC24H Family Datasheet.
PIC24H Overview Book.

blow ha scritto:potrebbe essere il circuito mal progettato e con disturbi qua e là?

Probabile, come anche il codice del firmware.

Ho detto MISO perché il dispositivo che uso per la parte ethernet, cioè questo ha la dicitura MISO nel pin dove io ho aggiunto la resistenza di pull-down.
Io ho collegato il pin SDI del PIC a quel pin, che il rispettivo SDO dell'ENC, come è giusto che sia.

Il firmware è fatto bene, ho dubbi sull'elettronica.

Ho notato che l'ENC funziona bene anche se scollego l'MCP dall'alimentazione, nota bene, dall'alimentazione, se lo scollego solo dal bus SPI i problemi rimangono, quindi potrebbe essere un problema dell'alimentazione?

Vi ringrazio
Avatar utente
Foto Utenteblow
0 2
 
Messaggi: 18
Iscritto il: 29 apr 2012, 20:06

0
voti

[5] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto Utenteblow » 6 ago 2012, 13:51

TardoFreak ha scritto:Suggerimento.
Visto che implementare una SPI software pilotando direttamente le uscite e leggendo l' ingresso (oggi si chiama bit banding o qualcosa del genere) implementate la SPI mediante software (il sorgente è semplice, banale direi) utilizzando gli stessi pin della SPI poi, quando tutto funziona, si può pensare di usare la SPI del micro (i piedini sarebbero gli stessi).
In questo modo si ha tutto sotto controllo,la sequenza dei segnali la si sceglie in modo puntuale e poi ... non è detto che non basti. Di solito basta l' implementazione software... capisciammè :mrgreen:

Poi fate un po' come volete. :?


Non ne capisco il motivo....l'SPI funziona benissimo, uso un logic analyzer per quello, i segnali sono corretti, ma probebailmente il logic analyzer filtra qualche disturbo, oppure è meno sensibile e gli va bene anche segnalo più debole, quindi non vedo problemi hardware.
Il software funziona.
Avatar utente
Foto Utenteblow
0 2
 
Messaggi: 18
Iscritto il: 29 apr 2012, 20:06

0
voti

[6] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto Utenteblow » 7 ago 2012, 23:59

Ho notato che disconnettendo il pin SO dell'MCP tutto torna a funzionare correttamente, quindi sembra che l'MCP sporchi il segnale, anche quando il rispettivo slave select è disabilitato. È normale questo?
Avatar utente
Foto Utenteblow
0 2
 
Messaggi: 18
Iscritto il: 29 apr 2012, 20:06

0
voti

[7] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto UtenteTardoFreak » 9 ago 2012, 0:25

La SPI che è inizializzata? Per comunicazione a due o tre fili?
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[8] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto Utenteblow » 10 ago 2012, 1:04

Ciao la SPI è inizializzata per comunicazione 2 fili, per inizializzarla uso la libreria spi.h del compilatore microchip C30.

Aggiungo lo schema(è fatto in paint prendendo i pezzi dai vari datasheet...scusatemi :mrgreen: )
Immagine

Non gli ho messi, ma comunque nei pin dell'alimentazione del PIC ho messo anche un paio di condensatori per disaccoppiamento, e il tutto è alimentato dalla medesima linea 3.3V(per ora forniti dal PICkit 3).
Avatar utente
Foto Utenteblow
0 2
 
Messaggi: 18
Iscritto il: 29 apr 2012, 20:06

0
voti

[9] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto UtenteIsidoroKZ » 10 ago 2012, 1:24

Non e` che le due uscite SO vanno in alta impedenza e l'ingresso del PIC prende rumore che per qualche ragione gli da` fastidio?
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[10] Re: SPI, perché devo usare una resistenza di pull-down?

Messaggioda Foto Utenteblow » 10 ago 2012, 1:30

In teoria con il rispettivo slave select disabilitato devono andare in alta impedenza in modo da non dare fastidio all'altra linea, giusto?
Comunque ho notato anche che se stacco il logic analyzer(uso un saleae logic), funziona bene anche senza resistenza di pull-down, se lo attacco invece la devo mettere!
Questo mi fa pensare che c'è sicuramente del rumore e il segnale non è affidabile mi sa, non avendo un oscilloscopio perà non riesco ad individuare la fonte.

Sto facendo un po' di prove inserendo altri condensatori di disaccoppiamento, spostandoli, mettendo resistenze di pull-up ecc, ma per ora l'unica cosa che ha risolto il problema è la resistenza di pull-down, solo che non capendo il perché la devo mettere mi risulta un po' strano...

PS. per ora il prototipo è su breadbord, non so se conta qualcosa
Avatar utente
Foto Utenteblow
0 2
 
Messaggi: 18
Iscritto il: 29 apr 2012, 20:06

Prossimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti