Newsgroup: it.hobby.elettronica.digitale
Titolo: Collegamento elettrico ATMEL / SD Card

Ciao a tutti, ho questo problemino, devo collegare una scheda SD Card
a 3V3 con un ATmega a 5V ..ho provato con 74LVC245 ma non funziona, o
meglio funziona solo a velocita' bassissime sotto il 1Mhz, penso che
l' LVC245 sia un po' lento per le velocita' della SD Card.
C'e' un modo semplice e funzionale per collegare le due
parti ?? ....ho provato anche con un convertitore di livello della
MAXIM ma senza successo, probabilmente a causa del contenitore
piccolissimo nel quele e' un po' problematico saldare dei file per dei
test.
Grazie mille anticipatamente per l' aiuto.
Mario.

 ha scritto:

Hai provato mettendo semplicemente delle resistenze da 1K in serie?
Io ho fatto cosě nel prototipo e ha funzionato bene.
Poi non usare gli LVC ma gli LCX, vanno meglio.
http://www.fairchildsemi.com/ds/74%2F74LCX245.pdf
--
ciao
  Stefano

 parti ?? 
Usare delle semplici resistenze in serie?
Come valore io partirei con qualche K e scenderei se il segnale è troppo 
stondato.
-- 
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ 
http://www.develer.com/
 - 
http://www.bertos.org/


Non sono sicuro se sia esattamente la stessa cosa però sto leggendo in
questo momento il doc3297 della Atmel inerente l'interfacciamento
delle loro Dataflash a 3V con micro a 5V; nel caso di questi
dispositivi gli ingressi possono essere collegati senza problemi
mentre l'uscita può non riuscire (siamo proprio al limite) a pilotare
il carico CMOS e quindi diventa necessario un traslatore di livello;
loro ne suggeriscono un paio piuttosto veloci.

loro ne suggeriscono un paio piuttosto veloci.
Se ti riferisci alle Flash con spi tipo le AT45DB321D, occorre considerare che
sono 5V tolerant sugli I/O, quindi le puoi collegare direttamente a uscite a 5V,
mentre le SD non lo sono e occorre mettere almeno una resistenza in serie,
diversamente l'uscita SPI potrebbe anche smettere di funzionare dopo un pò.
Per l'ingresso da SPI non serve un traslatore di livello, basta mettere una
resistenza di pullup all +5 e funziona senza problemi.
--
ciao
  Stefano

 meglio funziona solo a velocita' bassissime sotto il 1Mhz.......
io uso LCX245, ma quando ho di questi problemi a priori cerco di usare micro 
che funzionino a 3,3V oppure uso i transistor BCR22P 


Quest'ultima cosa è riferita alla SD o alle Dataflash? Perchè su
questo doc della Atmel che ho davanti a me dice:
A problem arises when considering the output drive levels provided by
the Serial output
pin (SO) of a DataFlash when driving into a CMOS-compatible interface.
A standard 5V
compatible CMOS input requires a VIH input of 3.15V minimum, greater
than the output
drive level that DataFlash can provide under worst-case conditions.
Since the output of
the DataFlash is not capable of driving a 5V CMOS load directly, a
Level Shifter or alternative
method of translating the DataFlash output logic levels to those
compatible with
the input device is required.

the input device is required.
Si, il discorsodel traslatore di livello è chiaro, però se tu guardi il
datasheet:
http://www.atmel.com/dyn/resources/prod_documents/doc3597.pdf
a psg.33 dice
All Output Voltages with Respect to Ground ...............-0.6V to VCC + 0.6V
Questo significa che c'è una giunzione in uscita e con una resistenza di pullup
sull'uscita alimentando la flash a 3.3V arriverai a 3.9V, sufficienti a lavorare
bene anche in 'worst case'.
Un pericolo teorico potrebbe essere il latch-up, ma con un pullup da 1K non hai
abbastanza corrente per innescarlo.
Poi il level-shifter sarà anche una soluzione più elegante, ma io sono sempre
per le soluzioni + economiche.
--
ciao
  Stefano

 per le soluzioni + economiche.
io pure: in un caso simile, per avere un Vout compatibile cmos 5V ho
messo un diodo sopra e uno sotto la flash, per abbassare Vdd_flash a
4.3V e alzare Vss_flash a 0.7V .
sui 3.6V che risultano per la flash servono una res per garantire la
corrente minima nei diodi e un cap per la corrente della flash.
saluti
-- 
  lowcost

corrente minima nei diodi e un cap per la corrente della flash.
Così hai aumentato un poco i margini, in quel caso forse conviene alimentare la
Flash a 3,6V e mettere solo la resistenza di pullup..
Io usando un LM2937 dovevo alimentarla a 3,3V per forza, ma funziona bene, non
ho avuto problemi con questa flash.
--
ciao
  Stefano

 messo un diodo sopra e uno sotto la flash
Fico!

   Stefano
Ciao, gia' la cosa piu' semplice e' spesso la migliore, funziona alla
grande !!!
Grazie mille !!


Alla fine mi sono attenuto ai sacri testi (doc3297) della Atmel. C'è
da dire che il traslatore di livello On Semi da loro suggerito costa
circa 20 centesimi alla Farnell, quindi figuriamoci da un distributore
standard...

standard...
Una resistenza costa sicuramente meno, prende meno spazio sul cs e ha anche meno
probabilità di rompersi.
Dal momento che il circuito funziona, io al leve-shifter non ci penso proprio.
--
ciao
  Stefano


Devi usare la serie LVX o LVXC. Io vado fino a 10MHz senza problemi (non ho 
provato a velocità superiori). Per fare esperimenti le R vanno bene, ma se è 
per un prodotto meglio il traslatore di livello vero, per evitare grossi 
casini dipendenti specialmente dalla temperatura
Ciao
CG