Come fare tirando su o giù correttamente quando si interfaccia una scheda microSD?


16

Ho visto persone tirare su solo il pin CS, in modo che quando i pin del microcontrollore fluttuano all'accensione, la scheda microSD non è danneggiata.

Inoltre, ho visto molte persone tirare su e giù le linee DI, DO e SCLK.

Alcuni dei circuiti che ho visto collegano persino i pin 1 e 2 a Vdd / 2 tramite un partitore di tensione che si forma tra Vdd e Vss.

Quali pin della scheda microSD devono essere tirati su o in alto quando si interfaccia un microcontrollore con un'interfaccia SPI integrata e ha i livelli di tensione logica appropriati?

Pinout della scheda microSD

Risposte:


13

La specifica menziona solo il pull-up 50K interno alla scheda utilizzata per il rilevamento delle carte. Ne parla in riferimento ai comandi usati per disabilitarlo. Cerca "pull" per vederne tutte le menzioni.Ω

Tuttavia, il Manuale del prodotto della scheda SD SanDisk è molto più utile. Dal capitolo 3:

2 Le linee DAT estese (DAT1-DAT3) vengono immesse all'accensione. Iniziano a funzionare come linee DAT dopo il comando SET_BUS_WIDTH. È responsabilità del progettista host collegare resistori pullup esterni a tutte le linee dati anche se si deve usare solo DAT0. Altrimenti, a causa degli ingressi flottanti di DAT1 e DAT2 (nel caso in cui non vengano utilizzati) possono verificarsi consumi di corrente elevati non previsti.

3 Dopo l'accensione, questa linea viene immessa con pull-up di 50Kohm (+/- 20Kohm) (può essere utilizzata per il rilevamento della scheda o la selezione della modalità SPI). Il pull-up può essere disconnesso dall'utente, durante il normale trasferimento di dati, con il comando SET_CLR_CARD_DETECT (ACMD42).

4 I pin 'RSV' sono ingressi flottanti. È responsabilità del progettista host collegare resistori pullup esterni a tali linee. In caso contrario, potrebbero verificarsi assorbimenti di corrente elevati non previsti a causa degli ingressi flottanti.

Quindi è necessario aggiungere pull-up a tutti i pin inutilizzati per evitare che si verifichi alta corrente a causa del galleggiamento degli ingressi.

Per i segnali SPI che verranno utilizzati, non sono necessari pull-up. Tuttavia, se le tue tracce sono lunghe o attraversano una sezione rumorosa della tua scheda o se stai eseguendo una frequenza di clock elevata, l'aggiunta di resistori di pull-up ti aiuterà a ripulire le transizioni dei segnali.


1
Grazie per la risposta. Sono curioso di sapere perché si verificherà un elevato consumo di corrente quando un pin di ingresso è mobile.
Abdullah Kahraman,

8
È perché il segnale può fluttuare nella regione metastabile / di transizione per i circuiti CMOS, dove sono attivati ​​sia gli elementi PMOS che NMOS e la corrente scorre continuamente, sprecando energia e producendo calore. Durante il normale funzionamento, i segnali dovrebbero spostarsi rapidamente in questa regione, quindi l'energia sprecata è bassa. Vedi questo documento TI "Implicazioni di input CMOS lenti o fluttuanti"
Ben Voigt,

@abdullahkahraman Ben l'ha inchiodato.
embedded.kyle,

Solo curioso, tirare su o giù è importante? Posso abbassare DAT1mentre tiro su DAT2o viceversa?
Abdullah Kahraman,

2
@abdullahkahraman Poiché le schede SD sono CMOS, non dovrebbe importare. Con TTL di solito si vuole tirare su per evitare di sprecare energia. Vedi questo messaggio nel forum
embedded.kyle il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.