Jag behöver koppla ihop två Atmega via I2C. problemet är att den ena drivs med 5V och den andra med 3.3V. Kan någon tipsa om en lösning för detta. JAg har sett en del kretsar som sköter detta, men inte hittat någonstans att köpa dessa. Dessutom verkar de bara finnas för ytmontering, något som jag nog inte klarar av.
Tips någon?
/Magnus
I2c mellan 3.3V och 5V device
-
- Inlägg: 24
- Blev medlem: 12 maj 2007, 19:15:02
- Ort: Enebyberg
-
- Inlägg: 24
- Blev medlem: 12 maj 2007, 19:15:02
- Ort: Enebyberg
-
- Inlägg: 8461
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Jag tror faktiskt att du inte behöver göra något alls. Iochmed att I2C är ett aktiv låg system, "open colletor", och du har externa pull-up motstånd. Så om du lägger dina externa pull-upmotstånd till 3,8V (en extra spänning) så kommer ingångskravet för hög signal att uppfyllas (70% av VCC dvs för 5V>3,5V och för 3,3V>2,31V med 3,8V som pull-up så uppfyller du dessa krav med lite marginal. Du bör placera pull-up motstånden så nära +5V kretsen som möjligt. Men du skall använda pull-up motstånd i de lägre tillåtna resistansvärdena. 1k8 eller så. Jag har utgått från databladet på MEGA128
-
- Inlägg: 24
- Blev medlem: 12 maj 2007, 19:15:02
- Ort: Enebyberg
En hel pdf som behandlar problemet:
http://wwwasic.kip.uni-heidelberg.de/lh ... N97055.pdf
Lösning med MOSFET:
http://delphys.net/d.holmes/hardware/levelshift.html
http://wwwasic.kip.uni-heidelberg.de/lh ... N97055.pdf
Lösning med MOSFET:
http://delphys.net/d.holmes/hardware/levelshift.html