ICSP med PICkit2
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
ICSP med PICkit2
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.
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.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: ICSP med PICkit2
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.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.
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.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?
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....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?
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.
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.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?
/Henrik.
Re: ICSP med PICkit2
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
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

Re: ICSP med PICkit2
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.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?
/// Marcus
Re: ICSP med PICkit2
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.
- 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
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!
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!
Re: ICSP med PICkit2
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.
Re: ICSP med PICkit2
100ohms motstånd på CLK/DATA-pinnarna brukar räcka för att separera vid programmering.
/// Marcus
/// Marcus
- 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
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?
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?
Re: Sv: ICSP med PICkit2
Menade VDD istället för VCC.lond skrev: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.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?
/// Marcus
/// Marcus
Re: ICSP med PICkit2
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.
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.
Re: ICSP med PICkit2
Kortets matningen och programmerarens VDD kan sitta ihop för PICkit2(3) detekterar automatiskt om extern matning finns.
/// Marcus
/// Marcus
Re: ICSP med PICkit2
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:

/// Marcus

/// Marcus