ICSP med PICkit2

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

ICSP med PICkit2

Inlägg av Magnus_K »

Sitter och knåpar på ett kort till min varningslampa och bestämde mig för att använda en PIC istället för en 555:a som timer. Valet blev µC mest pga möjligheten att lätt kunna ändra frekvenser med mera samt ge mig en övning till att hitta en bra lösning på ICSP.

I manualen för PICkit2 så visas förslaget nedan men jag har lite frågor runt omkring som ni kanske kan hjälpa mig med, om ni vill!

1. Jag förstår inte riktigt varför filtret sitter där eller varför jag skulle vilja få ut Vpp-signalen där? Kanske missförstått det hela men avser att skippa detta.

2. Vad har man för lösning här för att Vpp-spänningen inte ska "läcka ut" i kresten? EDIT: Och så att fortfarande utgången/ingången fungerar som tänkt?

3. Detta är alltså matningen till µC och när jag programmerar så vill jag kunna göra det med kretsens originalmatning. Vad bör jag ha för skydd mellan PICkit:en och matningen? Eller snarare, eftersom kretsen har sin egen nolla och matning, vad händer då när jag pluggar in min programmerare med sin egna matning och nolla från USB:n?

4. Räcker det med några serieresistorer på var utgång/ingång för att inte störa CLK/DAT-signalerna? Finns det bättre lösningar?

Ja, som ni förstår så förstår jag inte riktigt. Om det skulle vara någon av er som vill visa hur ni brukar göra eller en bra "allround-lösning" så vore jag hemskt tacksam.
ICSP.JPG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
H.O
Inlägg: 5917
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: ICSP med PICkit2

Inlägg av H.O »

1. Jag förstår inte riktigt varför filtret sitter där eller varför jag skulle vilja få ut Vpp-signalen där? Kanske missförstått det hela men avser att skippa detta.
Det där filtret genererar reset-signalen till PIC'en när matningspänningen slås på. Normalt sett har man ingen kondensator utan bara en pullup.
2. Vad har man för lösning här för att Vpp-spänningen inte ska "läcka ut" i kresten? EDIT: Och så att fortfarande utgången/ingången fungerar som tänkt?
Vpp-spänningen gillar inte kapacitansen den ser i form 0.1uF kondensatorn på MCLR (som normalt inte behövs). Resistorn/dioden är till för att "isolera" Vpp-spänningen från den kapacitansen. RA3 i det här fallet kan du inte sätta som utgång - enbart ingång.
3. Detta är alltså matningen till µC och när jag programmerar så vill jag kunna göra det med kretsens originalmatning. Vad bör jag ha för skydd mellan PICkit:en och matningen? Eller snarare, eftersom kretsen har sin egen nolla och matning, vad händer då när jag pluggar in min programmerare med sin egna matning och nolla från USB:n?
Nu har jag aldrig använt PICKit2 (bara PICKit3) men du kan ställa in om kretsen skall matas från programmeraren eller med egen matning. Om du ställer in PICKit2 inte skall försörja din krets under programmering så ger den ingen spänning ut. Normalt sett fungerar det bra oavsett, jag har inte lyckats förstöra nånting i alla fall....
Men det är klart, om hela din krets matas från en icke isolerad nätspänning så krävs det försiktighetsåtgärder - men det tror (och hoppas) jag inte är fallet här.
4. Räcker det med några serieresistorer på var utgång/ingång för att inte störa CLK/DAT-signalerna? Finns det bättre lösningar?
Det beror helt på vad det är du använder de pinnarna till i din applikation. Den "bästa" lösningen är att enbart ha de till ICSP men det är såklart inte alltid det går.

/Henrik.
Användarvisningsbild
Glenn
Inlägg: 36724
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: ICSP med PICkit2

Inlägg av Glenn »

jag har heller aldrig sett annat än pullup på /MCLR, var hittade du det där exemplet mer exakt ?

Det H.O skriver om pickit3 gäller även pickit2, alltså, du kan välja var du ska spänningsmata från.

Ang att använda ICSP-pinnarna till annat brukar jag också undvika det om det går, och går det inte så kan man OFTAST
lösa det med resistorer som i exemplet, men i ett fall har jag varit tvungen att sätta dit två jumpers som jag fick plocka bort vid varje programmering, ytterst irriterande, jag övervägde att ta en större PIC istället så jag hade tillräckligt med pinnar :)
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: ICSP med PICkit2

Inlägg av lond »

2. Vad har man för lösning här för att Vpp-spänningen inte ska "läcka ut" i kresten? EDIT: Och så att fortfarande utgången/ingången fungerar som tänkt?
VPP ligger på 12v och det vill du inte bakmata in på VCC. På dom flesta nya PIC-µP så kan man konfigurera intern MCLR och då kan man använda pinnen som ingång eller bara för VPP.

/// Marcus
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: ICSP med PICkit2

Inlägg av Icecap »

Och sedan får man komma ihåg att intern MCLR fungerar bra - men kan ställa till problem när man ska sätta PIC'en i programmeringsläge. Man måste helt enkelt göra en power-cycle för att göra detta och har man en del kondensatorer på kretskortet kan det bli besvärligt.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: ICSP med PICkit2

Inlägg av Magnus_K »

Tack ska ni ha för snabba svar!

Det där med pullup på MCLR är det enda jag sett tidigare också. Å andra sidan förklarar dom det i manualen vilket jag inte riktigt förstod.
Som svar till din fråga Glenn så hittade jag den under hjälpmenyn i PICkit2-mjukvaran. Den heter något i stil med "PICkit2 guide manual" eller något sånt.

Angående spänningsmatningen så brukar jag kryss i/ur den i mjukvaran beroende på om jag vill mata från programmeraren eller inte. Det jag tänkte på i just detta fallet var att den övriga kretsen kommer vid programmeringstillfället inte vara spänningsmatad så matningen måste tas från programmeraren. Önskemålet var då att enbart spänningssätta de delar (µC:n) som behövs för att programmera och inget annat.

Ni har nog helt rätt om CLK/DAT signalerna och att använda dedikerade ingångar för dessa. Nu tänkte jag bara använda en PIC i DIP-8 kapsel men ska göra mitt bästa att klämma ihop det så dessa förblir orörda. Väldigt bra att tänka på i framtiden för jag kommer nog ta med det här vid dimensioneringen.
Jag hade lite förhoppning om att det fanns en smidig lösning för det här. Å andra sidan är jumpers inte så dum lösning då jag kanske enbart behöver programmera denna allt från 1-5 ggr på dess livstid. Ska ta och kika vidare på det!

Då förstår jag H.O, dioden sitter där just pga kondensatorn i filtret, så inget filter innebär ingen diod. Bra.

EDIT: Oj, såg era inlägg nu lond och Icecap, kommenterar dessa inom kort!
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: ICSP med PICkit2

Inlägg av Icecap »

Schemat med kondingen brukar tas med som exempel på hur man kan göra och hur man då måste göra för att kunde programmera. Kopplingen är "normal" för "old-school" µC-arbetare, den är dock onödig med PIC då det redan finns bra styrning av reset med bara ett 10k pull-up motstånd.
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: ICSP med PICkit2

Inlägg av lond »

100ohms motstånd på CLK/DATA-pinnarna brukar räcka för att separera vid programmering.

/// Marcus
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: ICSP med PICkit2

Inlägg av Magnus_K »

Ok, kanon. Kan nog köra med frigjord DATA/CLK och intern MCLR. Ska prova med motstånd som du säger lond men det får bli när det finns mer tid.

Kvar att lösa är Vcc och Vdd.
Vcc löser sig men Vdd, kan man bara göra det så enkelt för sig så man lägger en diod i serie med original matning?
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Sv: ICSP med PICkit2

Inlägg av lond »

lond skrev:
2. Vad har man för lösning här för att Vpp-spänningen inte ska "läcka ut" i kresten? EDIT: Och så att fortfarande utgången/ingången fungerar som tänkt?
VPP ligger på 12v och det vill du inte bakmata in på VCC. På dom flesta nya PIC-µP så kan man konfigurera intern MCLR och då kan man använda pinnen som ingång eller bara för VPP.

/// Marcus
Menade VDD istället för VCC.

/// Marcus
H.O
Inlägg: 5917
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: ICSP med PICkit2

Inlägg av H.O »

Vad har du för strömförsörjning i din krets? 7805 spänninsregulator typ?
Normalt sett behöver du inte göra nånting, koppla ihop de bara. Men om du inte behöver eller ens vill ha möjlighet att mata kretsen från PICKit kan du ju bara strunta i att ansluta Vdd i ICSP kontakten - "problemet" löst.
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: ICSP med PICkit2

Inlägg av lond »

Kortets matningen och programmerarens VDD kan sitta ihop för PICkit2(3) detekterar automatiskt om extern matning finns.

/// Marcus
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: ICSP med PICkit2

Inlägg av lond »

Om jag bygger med hålmonterat så sätter jag inte ens dit en ICSP-kontakt utan använder mig av en klämma istället:

Bild

/// Marcus
Skriv svar