JESCAB 
Produkter Tjänster Info Leveransvillkor Kontakt
 Snabb länkar:

Wisp628
Montering
Programvara
ICSP
Intern-MCLR
RSLink
RSLink2
PIC
ReadyBoard-01
Wisp648

Intern-MCLR

 

Programmering av PIC som har möjlighet till "Internal MCLR"


Bakgrund

Vissa 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ösningen

Fö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.

 

Programvaran i Wisp628 ("firmware") är förberedd för "Vpp before Vdd" !!

 

Det behövs bara ett par extra externa komponenter. Se bild till höger.

 

Lösningen går ut på att Wisp628 helt enkelt under en mycket kort tid kortsluter Vdd till jord via en effekttransistor. I exemplet används en TIP120 effekttransistor av darlington typ.

 

Kortslutningen sker en gång i början av programmering för att få processorn att gå in i programmerings läge.

 dongle

 

Eftersom denna koppling endast skall används i vissa speciella fall, kan man bygga kretsen med hjälp av ett par 15-pins kontakter enligt bilden till höger.

 

Då kan man man enkelt koppla ur kretsen när man programmerar processorer där detta inte är något problem.

 dongle2

 

För att detta skall fungera så krävs att :

  • Spänningsmatningen till målmiljön med den PIC som skall prohgrammeras inte kan leverera för högre ström än vad transistorn kan dra till jord.
  • Spänningen måste återkomma snabbt efter avbrottet.
  • Man inte har för stora elektrolytkondensatorer i målmiljön (t.ex på labbplattan). Ett par uF fungerar normalt bra.

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