Hejhopp!
Har en AVR med två saker inkopplade på SPI-bussen. Eftersom de två sakerna går på 3.3V och processorn går på 5V
har jag spänningsdelat ner alla utgångar till jord med två motstånd. När AVR:en programladdas via ISP (resetad) tristate:as all IO (right?).
Här vill jag förstås att /CS på de bägge sakerna ska vara hög när jag programladdar och "som vanligt" annars.
Kunde jag göra en koppling som själv kan tri-state:a kunde jag t.ex. se till att om:
reset = låg -> högt på /CS:arna
reset = hög -> tristate på /CS:arna.
Hur löser jag detta enklast och billigast?
MVH: Mikael
Se till att /CS är hög vid tristate (pull upp går ej)
- Swech
- EF Sponsor
- Inlägg: 4750
- Blev medlem: 6 november 2006, 21:43:35
- Ort: Munkedal, Sverige (Sweden)
- Kontakt:
Re: Se till att /CS är hög vid tristate (pull upp går ej).
Om du sätter en diod från AVR Reset till CS utgången på AVR så blir denna en 1a då
du resetar AVRen
Så en diod till varje bör funka
Swech
du resetar AVRen
Så en diod till varje bör funka
Swech
Re: Se till att /CS är hög vid tristate (pull upp går ej)
Det låter smart, men reset är ju också inverterad på en AVR. Reset är låg när processorn är resetad...
Annars är just diod något jag inte tänkt på
MVH: Mikael
Annars är just diod något jag inte tänkt på

MVH: Mikael
Re: Se till att /CS är hög vid tristate (pull upp går ej)
En fullösning är att sätta en R i serie med MCU signalen och en Schottkydiod och stort pull-up mot 3.3V.
Labbar du bara, kan du använda ESD-skyddsdioderna i 3.3V kretsarna...
Labbar du bara, kan du använda ESD-skyddsdioderna i 3.3V kretsarna...
- Swech
- EF Sponsor
- Inlägg: 4750
- Blev medlem: 6 november 2006, 21:43:35
- Ort: Munkedal, Sverige (Sweden)
- Kontakt:
Re: Se till att /CS är hög vid tristate (pull upp går ej)

Dioden i riktning så att endast "0" sänker pullupen "1" kommer av pullupen
Swech
Re: Se till att /CS är hög vid tristate (pull upp går ej)
Annars är en FET med två motstånd ganska vanlig som "nivå omvandlare".
Exempel: Level shifting techniques in I2C-bus design
Man kan även använda en vanlig transistor av NPN typ
exempel:
avr ut till E på NPN
3.3volt till motstånd till B på NPN
3.3volt till motstånd till C på NPN
och C på NPN ut till den önskade kretsen.
Exempel: Level shifting techniques in I2C-bus design
Man kan även använda en vanlig transistor av NPN typ
exempel:
avr ut till E på NPN
3.3volt till motstånd till B på NPN
3.3volt till motstånd till C på NPN
och C på NPN ut till den önskade kretsen.
Re: Se till att /CS är hög vid tristate (pull upp går ej)
Tack för svaren!
Men shottkydioden blir nog klart enklast! (misstänker att mina programladdningar har pajjat en SPI-accelerometer genom
att det av misstag blivit skrivningar till reserverade register i den). Den funkar men värdena är helknasiga.
http://www.hobbytronics.co.uk/schottky- ... conversion
MVH: Mikael
Men shottkydioden blir nog klart enklast! (misstänker att mina programladdningar har pajjat en SPI-accelerometer genom
att det av misstag blivit skrivningar till reserverade register i den). Den funkar men värdena är helknasiga.
http://www.hobbytronics.co.uk/schottky- ... conversion
MVH: Mikael