Salve.
Stavo cercando una soluzione semplice per far comunicare via I2C un microcontrollore alimentato a 5V con dispositivi alimentati a 3.3V, ed ho trovato in rete il semplice circuito mostrato in figura, che impiega un transistor per ogni linea. Mi stavo chiedendo come comportarmi con le resistenze di pull-up previste dal bus I2C.. Che faccio? Su ogni lato metto una coppia di resistenze (una per linea) collegate alla tensione propria di quel lato? Oppure non le metto perché ci sono già quelle connesse al transistor? E se per caso il dispositivo alimentato a 3.3v che intendo connettere prevede già delle resistenze di pull-up che succede? (queste andrebbero in parallelo a quelle del transistor modificando il valore della resistenza di pull-up effettiva e quindi la costante di tempo che regola la carica/scarica delle capacità della linea...)
Grazie.
traslatore di livelli bidirezionale con mosfet
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
2 messaggi
• Pagina 1 di 1
1
voti
I pull-up non sono poi così critici:
La costante di tempo deve essere molto più piccola della frequenza degli impulsi per non distorcerli tanto da far "leggere" valori errati e/o violare le specifiche sul rise/fall time.
Si potrebbe anche dire che non è bene farla troppo più piccola, si espande inutilmente lo spettro del segnale verso le alte frequenze con possibili problemi di EMC e senza benefici sul funzionamento ma...
D'altra parte -c'è sempre un'altra parte
- diminuendo i pull-up scorre più corrente quando sei a livello basso e -apparte il consumo- si rischia di sovraccaricare i driver dell'IC che stà pilotando il BUS e/o di uscire dalle specifiche di Vil_max.
Tra questi due estremi è tutto buono
.... i 10k del tuo adattatore sono abbastanza elevati (una volta l'I2C usava 3k3) le puoi lasciare tranquillamente, oppure se ci sono già i pull-up dei due BUS le puoi anche togliere. Basta che ci siano da qualche parte
La costante di tempo deve essere molto più piccola della frequenza degli impulsi per non distorcerli tanto da far "leggere" valori errati e/o violare le specifiche sul rise/fall time.
Si potrebbe anche dire che non è bene farla troppo più piccola, si espande inutilmente lo spettro del segnale verso le alte frequenze con possibili problemi di EMC e senza benefici sul funzionamento ma...
D'altra parte -c'è sempre un'altra parte
Tra questi due estremi è tutto buono
Se ti serve il valore di beta: hai sbagliato il progetto!
2 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 43 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


