Sida 1 av 1

Se till att /CS är hög vid tristate (pull upp går ej)

Postat: 5 augusti 2014, 22:23:45
av adent
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

Re: Se till att /CS är hög vid tristate (pull upp går ej).

Postat: 5 augusti 2014, 22:47:09
av Swech
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

Re: Se till att /CS är hög vid tristate (pull upp går ej)

Postat: 6 augusti 2014, 01:37:25
av adent
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

Re: Se till att /CS är hög vid tristate (pull upp går ej)

Postat: 6 augusti 2014, 02:08:59
av gkar
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...

Re: Se till att /CS är hög vid tristate (pull upp går ej)

Postat: 6 augusti 2014, 06:32:12
av Swech
:humm: Eller sätt pull up till 3.3v vid SPI kretsen och en diod mot AVR
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)

Postat: 6 augusti 2014, 19:45:47
av exile
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.

Re: Se till att /CS är hög vid tristate (pull upp går ej)

Postat: 7 augusti 2014, 00:24:46
av adent
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