Pagina 1 di 1

cosa usate per il level shifting 5V<->3.3V ?

MessaggioInviato: 14 mag 2012, 14:07
da legacy
Per i2C posso farmi andare bene la soluzione a transistor MOS che usano nei kit di sparkfun: ho comprato uno strip di quei transistorini sms e me la cavo bene su un protocollo che non richiede fronti ripidi

Per SPI a 400Khz le cose cambiano, l'SPI vuole fronti molto ripidi e la soluzione a transistor fa i conti con le capacita' parassite che invece tendono a rovinare i fronti.

Che soluzioni proponete ?

Altra cosa, ho una nvram a 5V da 8Mbyte che deve andare su un bus parallelo a 3.3V, pensavo di usare la versioen a doppia alimentazione del classico buffer 245, cosa ne pensate ?

Re: cosa usate per il level shifting 5 V<->3.3V ?

MessaggioInviato: 14 mag 2012, 15:19
da simo85
legacy ha scritto:l'SPI vuole fronti molto ripidi

Porte logiche Schmitt Trigger?

Re: cosa usate per il level shifting 5 V<->3.3V ?

MessaggioInviato: 14 mag 2012, 17:42
da legacy
legacy ha scritto:ho comprato uno strip di quei transistorini sms


che svarione che succede quando posti metre stai scrivendo un sms: poi sbagli e non scirvi SMD =D>

No, mi giocano un brutto tiro le capacita' parassite che fanno impiegare ai transistor una eternita' per parceggiarci sopra le cariche, ufff

Spi e' rognosa e vuole fronti belli ripidi, ma e' sopratuttoun problema di tempi di propagazione che deve essere quando piu' in sinergia possibile fra dato e sincronismo perche' spi (specialmente se veloce) non perdona. L'hex trigger lo uso solitamente per interfacciarmi con cose brutte e bizzare che fanno un sacco di rumore come le alette metalliche dei "contraves" (fanno vintage, lo so, pero' mi piacciono) quando strisciano l'una sull'altra. Un hex trig l'ho anche provato con componenti lenti (eeprom/flash spi) di fortuna in lab e a 150Kbit/sec sembra funzionare, funziona anche un 126/125, e volendo funziona anche un 244 come quelli che montano sui programmatori altera jtag con il target che puo' tranquillamente andare sia a 3.3V che 5V, tanto il 244HC tollera.

Pero' ... con questi trucchetti gia' le fram a 500Kbit/sec e altre roba spi veloce mi inizia a rognare e quindi mi chiedevo cosa: cosa usano gli altri ?

La Enc su spi e' direttamente pilotata a 3.3V dal mio modulo ARM, pero' vorrei usarla anche su un altro modulo a 5V, e li ... quell'affare muove 800Kbit/sec.

Poi, oltre al bus seriale, mi chiedo anche li cosa usano sul bus parallelo con roba che dovrebbe avere 25nsec come di tempo di propagazione ???

Re: cosa usate per il level shifting 5 V<->3.3V ?

MessaggioInviato: 15 mag 2012, 13:41
da legacy
Nessun altro suggerimento ?

edit:
volendo dare un rif circa la soluzione usata nei kit di sparkfun, che uso anche io con successo per i2c, ma che non va strettaemente bene per spi

Immagine

Herman Schutte's application note
http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf
http://www.maxim-ic.com/app-notes/index.mvp/id/3007
http://www.rocketnumbernine.com/2009/04/10/5v-33v-bidirectional-level-converter

Re: cosa usate per il level shifting 5 V<->3.3V ?

MessaggioInviato: 15 mag 2012, 14:18
da legacy
Immagine
Per curiosita', cosa ne pensate di questa ?

Re: cosa usate per il level shifting 5 V<->3.3V ?

MessaggioInviato: 15 mag 2012, 14:31
da belva87
Fai gli schemi in fidocad, penso che un semplice partitore resistivo non sia una geniale trovata per la tempistica.
Sicuro che non esistano integrati appositi che supportano le tue velocità?

Inoltre mi è capitato di recente di correggere il layout di una PCB che usava SPI sui 350k, abbiamo sistemato semplicemente equalizzando la lunghezza delle net e controllando l'impedenza delle tracce, anche questo aspetto non è da sottovalutare.

Ciao, Luca.