Skydd för Atmels STK500

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Skydd för Atmels STK500

Inlägg av MicaelKarlsson »

Hej på Er!

Sitter och jobbar en hel del med att utveckla spel och då använder jag STK500 som programmerare som jag kopplar in via Atmels 6-tråds kabel för ISP.
Eftersom vissa delar av spelen drivs med 12V eller drar mer ström än vad STK500 kan leverera skulle jag vilja ha en krets som så att säga blockerar så att inte min STK500 skadas. Jag behöver alltså bryta dels 12V, dels 5V som levereras via ISP-kontakten. I ena läget skall programmeringen och 5V-matningen fungera och 12V-matningen skall vara bruten. I andra läget skall programmeringen och 5V matningen vara bruten och 12V matningen skall fungera.
Har följande idé, men är inte helt hundra på att CD4010 gör jobbet.

Har ni andra förslag eller tips?

STK-IN kommer från STK500 och STK-OUT går till det som skall programmeras.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Skydd för Atmels STK500

Inlägg av jesse »

Du kan inte koppla 4010N buffert åt båda hållen på det viset - så fort du får en insignal från något håll kommer det att bli kortslutning.
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Re: Skydd för Atmels STK500

Inlägg av MicaelKarlsson »

Tänkte inte på det. :oops:

Hur skall man lösa det, måste ju ha så att signalerna kan gå åt båda hållen. :humm:

Borde väl finnas någon form av krets som kan släppa igenom signaler åt båda håll. Vill helst slippa använda relä om det går.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Skydd för Atmels STK500

Inlägg av jesse »

Är inte signalerna enkelriktade då?
Dessutom är det så att det måste vara three-state-utgångar , eftersom de ska inte anta någon nivå alls om inte reset är nolla.
Men exakt vad vill du åstadkomma med bufferterna? Vad ska du skydda mot där?

Är inte spelen felkonstruerade om det kommer ut konstiga spänningar på dessa stift? Förklara gärna mer varför. Vad sitter det anslutet där förutom en AVR-krets?
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Re: Skydd för Atmels STK500

Inlägg av MicaelKarlsson »

"Är inte spelen felkonstruerade om det kommer ut konstiga spänningar på dessa stift?"
Nej, men jag vill ha hängslen och livrem. Det är framför allt spänningsmatningen på ISP-stiftet som kan förstöra min STK500.

"Är inte signalerna enkelriktade då?"
Trodde jag också.
Testade med en diod mellan STK500 och en lös AVR och då fungerade det inte att programmera.

Skall testa vidare...
nifelheim
Den första
Inlägg: 2489
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Skydd för Atmels STK500

Inlägg av nifelheim »

signalerna är nog enkelriktade, men det betyder inte att strömmen inte går åt båda håll, så bara en diod blir svårt.
kolla på en fet-trissa istället med lämplig pullup
http://ics.nxp.com/support/documents/in ... n97055.pdf


edit: jag fattade nog inte riktigt vad du ville göra, så du kan nog bortse från det jag skrev,
men om du bara ville skydda mot fel som kan uppstå
borde några buffertar typ dom i ditt första inlägg duga bra, men bara en och vänd åt rätt håll på varje signal.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Skydd för Atmels STK500

Inlägg av jesse »

>borde några buffertar typ dom i ditt första inlägg duga bra, men bara en och vänd åt rätt håll på varje signal.

Fast de måste vara 'tristate' ... frågan är hur man ska styra det. Så länge reset-linan är hög så kan ju alla pinnarna från AVR vara utgångar med okänt värde. Då måste bufferten vara 'avstängd', dvs Hi-Z. Det går att ordna med t.ex. 74hc125 som har en 'on-off' ingång på varje buffer. Den aktiveras ned låg styrsignal och stängs av vis hög styrsignal.
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Re: Skydd för Atmels STK500

Inlägg av MicaelKarlsson »

nifelheim skrev:
edit: jag fattade nog inte riktigt vad du ville göra,
Ett idiotsäkert, eller i alla fall så nära idiotsäkert skydd mellan min STK500 och det jag skall programmera, testa och utveckla. Eftersom STK500 kan ta skada om man skickar in t.ex. 5V 'åt fel håll', från spelet. Har gjort det vid något tillfälle och då hunnit rycka ur kontakten i tid (innan något gått sönder). Men det är inte speciellt roligt att sitta och plugga i och dra ur programmeringskontakten för varje gång man skall programmera och testa spelet (eller vad det nu är man jobbar med). I skyddet en brytare som helt enkelt växlar mellan ett programmeringsläge och ett testläge.

Kod: Markera allt

                                 
[STK500] <---> [Skydd jag vill bygga] <---> [spel/programmeringsobjekt]
                           |
                           | 
                          [12V]
nifelheim: Tydligare? Annars får jag försöka bli tydligare. :)
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Skydd för Atmels STK500

Inlägg av jesse »

Okej...

när det gäller datalinjerna kan jag tänka mig det här skyddet:

ett motstånd på 1k på alla linor - detta förhindrar kortslutning oavsett riktning etc.
på stk500-sidan om motståndet sätter du en diod från GND till datalinan och en diod från datalinan till stk500'ans +5V. På så vis får du aldrig för hög spänning ut till den, även om det skulle komma in +12V eller -12V nånstans.
Helst en schottkydiod med spänningsfall omkring 0.3 volt.

För säkerhets skull sätter du en zenerdiod på 5.1 volt mellan +5V och GND på stk500-sidan.

När det gäller spänningsmatningen var jag inte 100% klar på de olika alternativen du ville ha.

Om du har en extern spänningskälla på +12V eller +5V som du vill mata ditt målkort med så behövs ju inte +5V från stk500, så den ska väl inte behöva anslutas ens? På så vis riskerar du inte heller få in +12V på programmeraren? Programmeraren har ju egen matningsspänning (?)

Själv har jag aldrig haft en stk500, men jag kör med AVR-ISP som har samma 6-poliga kontakt. AVR-ISP fungerar så att när den inte håller på att programmera/läsa/kommunicera med AVR_kretsen så är datalinjerna (MOSI,MISO,SCK,RESET) "avstängda", dvs har hög impedans ut. Det gör att processorn kan skicka ut vad som helst på dessa linor utan att programmeraren skadas.

Däremot, om man konstruerar ett kort där något annat än processorn skickar in data på någon av dessa trådar och programmeraren sätter igång att försöka kommunicera så kan det bli krock. Detta skulle du alltså kunna lösa med mostånden. 1k är egentligen i lägsta laget - 10k borde fungera också, men då får du ha en väldigt kort kabel till programmeraren. 10k är ju bättre på så vis att den drar mindre ström från en eventuell extern krets som vill skicka data.

Men frågan är: Har du konstruerat spelen - dvs. korten som AVR-kretsen sitter på?
Vad sitter anslutet till MISO/MOSI/SCK/RESET förutom programmeringskontakten?
Vad är det som skulle kunna gå fel? Vilka signaler kan uppstå på dessa linjer?
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Re: Skydd för Atmels STK500

Inlägg av MicaelKarlsson »

Har du konstruerat spelen - dvs. korten som AVR-kretsen sitter på?

Ja

Vad sitter anslutet till MISO/MOSI/SCK/RESET förutom programmeringskontakten?

Inget för det aktuella spelet, men jag vill vara förberedd

Vad är det som skulle kunna gå fel? Vilka signaler kan uppstå på dessa linjer?

Två olika saker, jag är lite paranoid som ser fel överallt och möjligheten att något går väldigt fel.

När det gäller spänningsmatningen var jag inte 100% klar på de olika alternativen du ville ha.

Under programmeringsfasen skall all extern spänningsmatning vara bortkopplad och AVR-en spänningsmatas av STK500, under testfas skall STK vara bortkopplad.


Vad ser du som väldigt kort kabel?
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Skydd för Atmels STK500

Inlägg av snigelen »

Kan du inte bara ta bort VTARGET-bygeln, så att STK500 inte spänningsmatar målretsen?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Skydd för Atmels STK500

Inlägg av jesse »

kort kabel, kanske < 30 cm, beroende på programmeringshastighet.
Under programmeringsfasen skall all extern spänningsmatning vara bortkopplad och AVR-en spänningsmatas av STK500, under testfas skall STK vara bortkopplad.
OK, och du vill att detta ska ske automatiskt vid programmering, eller tänker du att du slår om en kontakt manuellt?

Vad är själva orsaken till att du måste koppla bort extern spänning under programmeringen? Det ska inte vara något problem, om man kopplar grejerna rätt.

Automatisk bortkoppling av extern spänning (styrd av stk500) skulle kunna fungera så här:

STK500 visar att den är aktiv genom att dra reset-tråden till 0V.

Reset-tråden är kanske den enda tråd som inte fungerar att ha för högt mostånd på, eftersom den har ett pull-up mostånd, normalt omkring 10k till AVR VCC +5V. Du kan istället använda en diod här, anod mot AVR-reset och katod mot STK500-reset-linan. På stk500 sidan sätter du en pull-up resistor på t.ex. 33k till +5V. Här har du nu en signal som säger om programmeraren är aktiv eller inte:

nolla = aktiv
etta = passiv.

Den skulle kunna användas att styra en switch som kopplar bort extern matning från enheten och som ansluter 5V från stk500 eller annan 5V källa som har strömbegränsning. Fast att koppla in och ur matning sådär från olika håll kan ju skapa dippar (urladdade kondingar mm som ska laddas upp) så det kan vara noga hur det är anslutet.

Hur gör du nu? Går det att mata kretsen via stk500? Hur påverkas målkortets egna spänningsförsörjning a det? Man vill ju inte gärna ha in 5 volt "bakvägen" på en 7805-regulator t.ex. Det är massor av frågor som gör att man inte vet hur det här kommer att gå om man inte har ritning på korten.

Det känns lite som om du försöker lösa ett problem 'bakvägen'...
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Re: Skydd för Atmels STK500

Inlägg av MicaelKarlsson »

snigelen skrev:Kan du inte bara ta bort VTARGET-bygeln, så att STK500 inte spänningsmatar målretsen?
Kanske kan vara något?

OK, och du vill att detta ska ske automatiskt vid programmering, eller tänker du att du slår om en kontakt manuellt?
Automatiskt skulle ju vara behändigt, men manuellt är helt okej.


Lägger med en bild på hur spänningsmatning och mikrokontroller ser ut, resten är inte helt färdigt. Inte samma spel men de intressanta delarna är samma.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
nifelheim
Den första
Inlägg: 2489
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Skydd för Atmels STK500

Inlägg av nifelheim »

Och kollar man på stk500 verkar det bara vara reset som inte är skyddad
12volt in där och du kan nog grilla endel :-)
Dom andra pinnarna ser ut att tåla spänning in, eller är jag på fel kontakt och tittar?
Dom har ju iprincip samma "emitterföljarkoppling" som i den appnote jag började med att posta.
stk500.JPG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Skydd för Atmels STK500

Inlägg av Swech »

Det riskerar att bli en massa hängsle helt i onödan.
Om det skulle bli 12V på någon av pinnarna för ISPn så är AVR kretsen i målet grillad ändå.

I vilket läge är det önskvärt att endast mata avr processorn och inte resten av systemet?
PÅ ISP MKII är VCC pinnen i programmeringskontakten endast för att känna av målsystemets spänning.
STK500 var såpass länge sedan jag körde men minns inte att det gick att mata målsystemet från den?

Om du nu prompt skall trycka in spänning via programmeraren så matar du ju 5V baklänges ut till ditt systems regulatorer mm.
Det finns klart större risk att det går åt h* om du skall separatmata endast processorn

Swech
Skriv svar