Neway Inserito: 30 agosto 2011 Segnala Inserito: 30 agosto 2011 Il pic che sto utilizzando è alimentato a 5V, ma sto usando una memoria FRAM e un giroscopio con interfaccia SPI alimentati a 3,3V.Le linee SPI clock, SPI out e le linee chip select possono essere agevolmente convertite da 5 a 3,3V con dei semplici partitori. Il problema è la linea SPI IN che arriva al pic a 3,3V invece dei 5.La comunicazione funziona comunque, ma non mi sembra una cosa fatta per come si deve. Secondo voi è una buona idea se su questa linea prevedo un transistor in modo che il segnale a 3,3V ne piloti la base?Grazie ancora!
Livio Orsini Inserita: 30 agosto 2011 Segnala Inserita: 30 agosto 2011 Usare un segnale 3.3V come ingresso per un PIC alimentato a 5V riduce l'immunità ai disturbi. Se i dispositivi SPI sono montati sulla medesima scheda la riduzione può essere accettabile.Usare un transistore come traslatore di livello comporta non poche problematiche.Per prima cosa si ha l'inversione del segnale (gli "1" diventano "0" e viceversa), poi se non è ben pilotato si corre il rischio di avere fronti "sdraiati" e/o oscillazioni. Se proprio vuoi adattare i livelli con transistors devi usare 2 transistors, un NPN ed un PNP in cascata, curando bene la polarizzazione e dosando opportunamente i condensatori di speed up, specie se usi lo SPI bus a velocità di qualche centinaio di khz.Al trimenti accontentati dei 3V e della ridotta immunità.
Neway Inserita: 30 agosto 2011 Autore Segnala Inserita: 30 agosto 2011 Ok, mi accontento della ridotta immunità In fondo la distanza tra processore e dispositivi è al più di tre centimetri.
accacca Inserita: 30 agosto 2011 Segnala Inserita: 30 agosto 2011 se ti interessa puoi inserire in mezzo una logica HCT (Ad es. due porte HCT14 in serie ) che ha soglie di commutazione molto basse anche se alimentata a 5V
Neway Inserita: 31 agosto 2011 Autore Segnala Inserita: 31 agosto 2011 Novità: dalle prove fatte mi sono accorto che la scrittura da PIC a dispositivi (quindi da 5V a 3,3V con interposti partitori) funziona benissimo, invece la lettura dà problemi perchè ogni tanto, diciamo una volta ogni 50 letture, il valore letto è 0.Il problema si presenta a tutte e due le frequenze utilizzabili per il modulo SPI (3 MHz e 750KHz)Dopo varie esclusioni sono convinto che il problema è proprio questa mancata conversione da 3,3V a 5V. Vi viene in mente qualche altra possibile causa?Grazie dell'aiuto e della pazienza.
Neway Inserita: 21 settembre 2011 Autore Segnala Inserita: 21 settembre 2011 Oggi ho messo un convertitore di livello, l'integrato della maxim MAX3392. Ora la comunicazione è perfetta.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora