Snabb länkar:
|
Intern-MCLR
Programmering av PIC som har möjlighet till "Internal MCLR"BakgrundVissa nyare PIC modeller har en option som kallas "internal MCLR". D.v.s att man kan programmera den (via CONFIG inställningarna) så att MCLR pinnen inte längre är "reset" ingår, utan fungerar som en vanlig I/O pinne (dock enbart som en ingång !).
På speciellt de mindre modellerna (8-pin) är detta intressant eftersom man får en extra ingång på det sättet. Om man inte behöver denna extra ingång, kan man helt enkelt låta den vara MCLR som vanligt, och då gäller inte det som står här nedan !
Det som beskrivs nedan är det fall där man har valt an använda sig av denna option. I de fall där man har valt att inte använda den, gäller inte denna sida !
Problemet är att om MCLR pinnen inte är "reset", så kan Wisp628 inte "hålla" processorn i reset-läge innan programmeringen startar. Så snart Vdd (matningsspänningen) kopplas in, kommer processorn att "starta" och det går då inte att gå över i programmerings-läge längre. Man kan säga att Wisp628 inte längre "kommer åt" processorn.
OBS. Detta är ett generellt problem med ICSP, alltså inget unikt för Wisp628. Här beskrivs dock hur man löser det då man använder just Wisp628.
Notera också att man kan programmera en ny krets till att ha denna option en gång. Det är om-programmeringen när denna option redan är på som är ett problem ! Det generella lösningenFör att programmera en PIC som har option "Internal-MCLR" valt, är kravet "Vpp before Vdd", d.v.s att programmeringsspänningen om (normalt) 13V skall läggas till MCLR ingången *innan* matningsspänningen kopplas på.
I normala fall gäller "Vdd before Vpp", d.v.s att matningsspänningen kan vara ansluten hela tiden och programmaren kan byta mellan "run" och "programming" läge genom att enbart lägga Vpp (13V) till MCLR pinnen.
För att få "Vpp before Vdd", måste programmeraren ha kontroll över matningsspänningen (Vdd), vilket alltså är ett problem i samband med ICSP, då processorn matas från målmiljöns ordinare spänningsförsörjning.
Olika ICSP programmerare löser detta på lite olika sätt. En metod är att målmiljön har möjlighet att koppla bort Vdd från processorn (t.ex med en "jumper"), och att programmeraren sedan förser processorn med matning.
Hur det löses med Wisp628 beskrivs nedan. "Vpp before Vdd" när man använder Wisp628.
För att detta skall fungera så krävs att :
En matning via en 7805 (eller 78L05) är helt OK och de är "kortslutningssäkra". Olika "labb-aggregat" är ofta försedda med "soft-start" efter kortslutning, vilket inte fungerar. Därmot kan man prova att sätta en 7805/78L05 mellan labb-aggregatet och processorn.
Dioden (1N4148) förhindrar att matningen till Wisp628 också bryts, vilket ju inte hade varit så bra. I vissa fall räcker inte den elektrolytkondensator som sitter på Wisp628 för att hålla den "vid liv" under avbrottet, och då får man komplettera med en större (mellan ett par hundra uF och 1000 uF skall vara tillräckligt) som man kan sätta dit direkt mellan pinne 1 och 2 på kontakten märk "Wisp628", eller att dra en extra 5V matning till Wisp628 (alltså inte från samma källa som kortsluts av kretsen !) JESCAB kan tillhandahålla en komplett sats till kopplingen ovan. Alla komponenter ingår inkl skruvar m.m. och kostar 50:- (inkl moms). Denna sida senast uppdaterad 22-Mar-2007 |