ICSP-problem PIC16F876A

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
John
Inlägg: 62
Blev medlem: 12 juli 2005, 20:24:47
Ort: Göteborg

ICSP-problem PIC16F876A

Inlägg av John »

Hej!
Jag har en gjort ett kretskort med en PIC16F876A i SOIC28-kapsel och några andra kretsar.
Nu ska jag programmera PIC-kretsen men det vill sig inte.
Felbeskrivning:
Det fel som blir är att Multiprog v1.90, som jag använder för att programmera med, säger: Error programming PIC16F876A.
Ibland när jag kör Verify på kretsen så meddelar programmet OK men oftast inte. Och när jag provkör kortet så verkar det inte som PIC-kretsen går över huvud taget.
Det verkar dock som att kristallen svänger för jag har en snygg sinusvåg på ben 10.
Jag har provat med flera olika fuses. Det viktiga är väl att man väljer HS och inaktiverar LVP, WDT och Code Protection?

Beskivning av hårdvaran:
Jag använder Multiprogrammerare 3.5 seriell från AD-teknik tillsammans med programmeringsprogrammet Multiprog v1.90.
ICSP-delen till PIC-kretsen är kopplad enligt Mid-Range MCU Family Reference Manual från Microchip.
Bild

PortB 6 och 7 är inte anslutna till något annat än programmeraren.
Jag har inte kopplat in pull-up motståndet till Vdd. Men har provat att köra både från programmerarens Vdd och kortets egna Vdd.
RC-länken till MCLR-pinnen består av ett 10k-motstånd och en 100nF-kondensator.
Som diod skulle jag egentligen haft en BAT54 schottky-diod men dessa var tyvärr slut så nu kör jag med en 1n4148.
Jag har mätt spänningen efter dioden till 4.9 V, vilket borde vara ok.
Hur som helst så tycker jag att det borde gå att programmera kretsen utan någon pull-up på MCLR, har provat detta också men med samma resultat.
PICen är avkopplad med en 100nF kondensator ca 3-4mm från kretsen.
Kristallen är på 8MHz och är avkopplad med 22pF.
Har även provat att koppla PORTB.3 till ett 10k pull-down motstånd för att eliminera eventuella som kan orsakas av Low Voltage Programming.

Nu har jag mätt alla anslutningar så att inget är felkopplat. Tyvärr funkar det fortfarande inte och jag vet inte var jag ska fortsätta leta, vore mycket tacksam om någon kunde ge en liten hint om var felet kan vara.

/John
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Du skulle kunna prova att stoppa någon krets i hållaren eller kort i läsaren så ser du att det är ok så långt, men det kanske du gjort. Hur är det med firmwaren i programmeraren, stöder den PIC16F876?
John
Inlägg: 62
Blev medlem: 12 juli 2005, 20:24:47
Ort: Göteborg

Inlägg av John »

Jag har provat programmera en 16f84 i sockeln och det funka fint.
Jag vet inte om programmerarens firmware stöder 16f876A men om den inte gör det så tycker jag den skulle säga det. Får försöka kolla upp det.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Min tanke var om du hade en väldigt gammal firmware men 16F876 verkar vara ett gammalt chip så det bör inte vara problemet. Jag har själv proggat 16C765 ICSP, dock med USB-varianten, och det gick bra. Vad jag minns använde jag inga yttre komponenter alls.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

thepirateboy> men 16F876 verkar vara ett gammalt chip...

Stämmer, men den som faktiskt *används*, 16F876A, är inte
så där jätte gammal.

Däremot, och mer intressant, är att programmeringsalgoritmen skilljer
sig en hel del mellan modellerna. Inta alla programmerare som
stöder 16F876, stöder också 16F876A...

Viktigt att hålla reda på numren, speciellt som det skilljer så mycket
på dom (ur programmeringssynpunkt, alltså...).

Hur som helst, det finns ingen större anledning att fortsätta
labba innan man har verifierat med leverantören eller dokumentationen
att den processor man använder faktiskt *förväntas* fungera.

> Jag har provat programmera en 16f84 i sockeln och det funka fint.

Naturligtsvis helt ointressant.
Det säger inte ett smack om hurvida en 16F876A också fungerar.
Stoppa en 16F876A (DIP) i sockeln så blir det mer intressant... :-)

Slutligt, ett föredömligt förstainlägg ! Jag ser inte direkt något som saknas.
Möjligen då att programmeraren *ska* (enligt leverantör eller dokumentation)
fungera med denna processor. Det är väl den mest uppenbara
orsaken just nu till problemen...
John
Inlägg: 62
Blev medlem: 12 juli 2005, 20:24:47
Ort: Göteborg

Inlägg av John »

Fick svar från AD-teknik idag, det var tydligen programmeraren som var felet. Det går inte heller att uppdatera firmwaren eftersom minnet i programmeraren inte räcker till.
Jag vill helst undvika att köpa eller bygga en ny programmerare, funderar istället på att använda en bootloader. Om jag kan lägger in en i PICen kan jag sedan uppdatera mitt program m.h.a. Com-porten och hyperterminalen?
Har aldrig testat detta förut, är det svårt/mycket jobb?
Användarvisningsbild
Icecap
Inlägg: 26685
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Ganska mycket moment 22 i detta.

1: du kan inte lägga in ett program i kretsen då programmeringsenheten inte klarar det.
2: En bootloader är en programsnudd som måste läggas in till en börja, se punkt 1.

Det är alltså stekt för dig hur du än vändar dig :-/

Jag rekommenderar WISP628 från sodjan och nej, jag får inget för att göra det, jag har byggd en själv och den fungerar bra och sodjan är totalstabil att handla med.
John
Inlägg: 62
Blev medlem: 12 juli 2005, 20:24:47
Ort: Göteborg

Inlägg av John »

Jag är med på att bootloadern är ett program som måste läggas in i kretsen innan det kan användas. Men om det räcker med att programmera kretsen en gång med programmerare så kan jag låna en och sen använda bootloadern när jag ska göra mitt program. Frågan kvarstår dock, fungerar bootloader bra och hur svårt är det att komma igång?
Om det blir för krångligt köper jag antagligen en WISP, har bara läst bra saker om dem.
bearing
Inlägg: 11678
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

Jag använder bootloader och det är väldigt smidigt tycker jag. Kör med den som finns på CC5X-webplatsen.

Det du bör tänka på är att ha ett felsäkert sätta att ta dig in i bootloader-programmet. Alltså, om ditt main-program skulle hänga sig bör du kunna ta dig in i bootloadern. Jag använder extern interrupt för det + att jag brukar ha något ben på processorn som läses precis i början av main och sätter igång bootloadern om det ligger högt/lågt.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Jag tror att det är svårt att *enbart* klara sig med en bootloader
utan att även ha tillgång till en "riktig" pogrammerare.

Bootloaders är kraftigt överreklamerade. IMHO...
John
Inlägg: 62
Blev medlem: 12 juli 2005, 20:24:47
Ort: Göteborg

Inlägg av John »

Det blev ett riktigt fulhack så länge. http://stolz.de.be/
Men det är som vanligt man får vad man betalar för, den här lösningen tar drygt 2 min på sig för att programmera en PIC.
Bootloader verkade lite för knepigt, nästa gång jag ska göra ett projekt med PIC köper jag en riktig programmerare.
Tack för hjälpen allihop!
/John
Tranzorb
Inlägg: 41
Blev medlem: 8 juni 2005, 19:13:50

Inlägg av Tranzorb »

Fulhack? Du menar "LVP Cable"? Huvudsaken är väl att den klarar av jobbet. Sen finns det naturligtvis bättre programmerare än denna, t.ex den andra som finns på http://stolz.de.be ICD2 klonen, eller den Sodjan säljer.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Definitivt ett ful-hack, eftersom man låter protection dioderna leda...
Skriv svar