Nybörjarfråga ICD3, BasicMicro 2840 18F

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
PeterSfa
Inlägg: 22
Blev medlem: 26 augusti 2009, 10:33:55
Skype: peterfagerbrant
Ort: Norsborg
Kontakt:

Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av PeterSfa »

Helt grön ;)

Har en MPLAB ICD3
BasicMicro 2840 utvecklingskort
MPLAB IDE v8.36, ICD uppgraderad med senast flash.

I tron att 18F4550 var helt pin kompatibel med 16F877A försökte jag med detta. Njet, device id 0000000 stämmer inte med förväntade...

Ok inte kompatibel trots allt tänker jag, stoppade i en 16F877A.
Kompilering ok, programmering ok.
Förutom när jag försöker debug. Gott om fel.
"The target device is not ready for debugging.
Please check your configuration bit settings and program
the device before proceeding"

Det jag i första hand undrar över. Skall man inte kunna få igång 18F4550 på 2840 med lite vilja?

Jag spänningsmatar 2840 med externt nätdel på 9V

Vad jag förstått så skall 2840 kortets RJ11 var kompatibel med ICD, eller har jag missat något ännu mer grundläggande?

Jag har också en Picstart Plus, men ville försöka köra ICD3 som programmerare för i första hand 18F4550 då det är den vi använder på jobbet.

PS. Upptäckte på nätet att det finns flera revisioner av 2840. Jag har den modell Elfa säljer som är utan USB och istället en RS232. Men det ena utesluter väl inte det andra?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av sodjan »

> BasicMicro 2840 utvecklingskort

Och vad är det för något ? Länk ? Den här kanske : 73-370-33 ?

> I tron att 18F4550 var helt pin kompatibel med 16F877A försökte jag med detta.

"I tron att" ??? Vad spelar det för roll vad du "tror" ? RTFM.
Och det är ju inte bara *pinnarna* som kan vara olika, i detta fall
är det ju väldigt olika processorer desutom. At du skulle kunna köra en
PIC18xxxx som en PIC16xxx rakt av verkar inte speciellt troligt.

> Det jag i första hand undrar över. Skall man inte kunna få igång 18F4550 på 2840 med lite vilja?

Hm, kanske. Dokumentationen är lite dålig. Vissa äldre PIC18 nämns. Prova så får du se.
Annars får du studera schemat på kortet samt kretsar och jämföra. Enklast är naturligstvis
att använda hårdvara som är specifikt specad för den krets du vill använda. Du ska alltså
köra USB ? Annars är ju en 4550 lite overkill och den gör en del saker lite svårare än nödvändigt.

> Jag har den modell Elfa säljer som är utan USB och istället en RS232. Men det ena utesluter väl inte det andra?

Lite oklart vad du menar. Om den inte har USB så blir det svårt att köra just USB...
Men du kör väll genom ISD (RJ11) pluggen, eller hur ?
PeterSfa
Inlägg: 22
Blev medlem: 26 augusti 2009, 10:33:55
Skype: peterfagerbrant
Ort: Norsborg
Kontakt:

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av PeterSfa »

>> BasicMicro 2840 utvecklingskort
>Och vad är det för något ? Länk ? Den här kanske : 73-370-33 ?

Det stämmer bra, missade artnr för förtyligandet.

>> I tron att 18F4550 var helt pin kompatibel med 16F877A försökte jag med detta.

>"I tron att" ??? Vad spelar det för roll vad du "tror" ? RTFM.
>Och det är ju inte bara *pinnarna* som kan vara olika, i detta fall
>är det ju väldigt olika processorer desutom. At du skulle kunna köra en
>PIC18xxxx som en PIC16xxx rakt av verkar inte speciellt troligt.

Nja, de pinnarna jag tänkte på var spänningsmatningen och programmeringsstiften. Det är 40pin kapseln jag har och vad jag såg i databladet så låg de på motsvarande pin.
Att det skiljer annat som berör programmeringen mer samt möjligheterna på respektive pin är jag helt underförstådd med.

>> Det jag i första hand undrar över. Skall man inte kunna få igång 18F4550 på 2840 med lite vilja?

>Du ska alltså
>köra USB ? Annars är ju en 4550 lite overkill och den gör en del saker lite svårare än nödvändigt.

Jo instrumentet på jobbet använder USB och däremd 4550. Programmet i sig är också tämligen stort så minnet går åt.

>> Jag har den modell Elfa säljer som är utan USB och istället en RS232. Men det ena utesluter väl inte det andra?
>Lite oklart vad du menar. Om den inte har USB så blir det svårt att köra just USB...
>Men du kör väll genom ISD (RJ11) pluggen, eller hur ?

Otydlig var jag som sagt.

Jag syftade på utvecklingskortet. D.v.s att avsaknaden av USB porten inte får utecklingskortet i sig att vara inkompatibel med 4550 om man bortser från från avsaknaden av usb porten.
Jo jag använder RJ11 porten kopplad till ICD'n. Och eftersom de i princip bara skall gå till de två programmeringstiften och resetstiftet, så tänkte jag det var bara att köra. Blev lite snopen när det inte funkade.
Och som du säger, Documentet på Elfa nämner en del äldre 18F vilket gjorde att jag trodde det fanns en bra chans. Manualen som följer med kortet nämner enbart 16F.

Utvecklingskortet var tänkt av mig att labba med för lärandet skull. Målet är att sedan gå vidare med programmeringen av jobbets processorer. Därför behövde jag i princip inte använda USB i den här situation, det kan jag ta när jag är närmare målet. Dock tycker jag det är en poäng att i övrigt köra samma CPU som på jobbet även om det är overkill i labbandet i sig.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av sodjan »

> Jo instrumentet på jobbet använder USB och däremd 4550.

OK, så det är jobbrellaterat (?).

> D.v.s att avsaknaden av USB porten inte får utecklingskortet i sig att vara inkompatibel med
> 4550 om man bortser från från avsaknaden av usb porten.

Om jag inte såg fel så går USB porten (på kortet *med* USB port) till en FDTI-krets,
så det har inget med en USB-PIC att göra i alla fall.

> Utvecklingskortet var tänkt av mig att labba med för lärandet skull. Målet är att sedan gå vidare
> med programmeringen av jobbets processorer. Därför behövde jag i princip inte använda USB i
> den här situation, det kan jag ta när jag är närmare målet. Dock tycker jag det är en poäng att
> i övrigt köra samma CPU som på jobbet även om det är overkill i labbandet i sig.

Helt OK. Att det är jobb-rellaterat gjorde att gratissupporten (i alla fall från mig, andra kan/får
göra andra bedömningar) plötsligt gjorde tvärnit...
Användarvisningsbild
E85
Inlägg: 1274
Blev medlem: 29 maj 2007, 16:24:19
Ort: Övik

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av E85 »

Det ska fungera tycker jag. Att den "hittar" device id 0000000 tyder på att den inte får nån kontakt med processorn. Glapp? Processorn fel håll i sockeln? :vissla:
PeterSfa
Inlägg: 22
Blev medlem: 26 augusti 2009, 10:33:55
Skype: peterfagerbrant
Ort: Norsborg
Kontakt:

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av PeterSfa »

sodjan skrev:> Jo instrumentet på jobbet använder USB och däremd 4550.

OK, så det är jobbrellaterat (?).

> D.v.s att avsaknaden av USB porten inte får utecklingskortet i sig att vara inkompatibel med
> 4550 om man bortser från från avsaknaden av usb porten.

Om jag inte såg fel så går USB porten (på kortet *med* USB port) till en FDTI-krets,
så det har inget med en USB-PIC att göra i alla fall.

> Utvecklingskortet var tänkt av mig att labba med för lärandet skull. Målet är att sedan gå vidare
> med programmeringen av jobbets processorer. Därför behövde jag i princip inte använda USB i
> den här situation, det kan jag ta när jag är närmare målet. Dock tycker jag det är en poäng att
> i övrigt köra samma CPU som på jobbet även om det är overkill i labbandet i sig.

Helt OK. Att det är jobb-rellaterat gjorde att gratissupporten (i alla fall från mig, andra kan/får
göra andra bedömningar) plötsligt gjorde tvärnit...
Nå ett förtydligande av jobbrelaterat.

På jobbet används de kretsarna. På jobbet har vi också en ansvarig elektronik kille som bygger och programmera dessa kretsar. Jag är inte på den avdelningen.

Jag jobbar med programmering av PC mjukvara och design och support av vår IT miljö.

För 25 år sedan avslutade jag min då treåriga gymaniseutbildning 2år el/tele med ett påbyggnadsår för hemelektronik. Jobbade sedan ett år som radio/tv reparatör.
Efter det lämnade jag elektroniken till förmån för systemvetenskap och har inte återvänt förän för ca två veckor sedan.

Jag har alltså ett rejällt glapp med tanke på vad som hänt inom elekroniken under 25 år.

Jag har en personlig önskan att kunna programmera processorer av den typ som är på jobbet. Men det är inte så att jag lär mig för att jag skall ta det jobbet.. Jag har tämligen fullt upp som jag har det på min avdelning.
Men.. för 25 år sedan hade jag elektronik som hobby och utbildade mig för det. Idag vill jag ta tillbaks min hobby.
Jag tyckte det var lämpligt att ha som mål att sikta på något jag känner igen på jobbet.

Den enda spinoff som blir jobbrelaterat är väl att jag får en personlig större insikt i hur det ser ut i andra änden, då jag gör PC programmet som skall tala med PIC processorn genom överenskommet protokol. Men.. Jag tjänar ju inget på det varken jobb eller lön.

Mitt labbande är helt och hållet privat och hemma. Må vara att jag kan använda företagets konto på Elfa och sedan kvitta det mot min lön.

Jag har också lite problem att fråga vår kille på jobbet, dels p.g.a. chefen som gärna ser att var och en gör sin sak. Dels för att elektronik killen är tämligen svår att få tag i.
Så min enda möjlighet var att ställa frågan här.
Senast redigerad av PeterSfa 28 augusti 2009, 09:50:19, redigerad totalt 1 gång.
Användarvisningsbild
Glenn
Inlägg: 36772
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av Glenn »

Vad använder du att programmera med ? om du kör pickit2-mjukvaran så ger den liknande felmeddelande om du inte först väljer att du ska köra 18F-familjen.. vete fan varför, men jag fick precis det problemet när jag (lustigt nog) bytte från 16F877A till 18F4550 av exakt samma anledning som dej :)

Det borde inte spela någon som helst roll vilket labbkort du har, just efterssom ström och programmeringspinnarna sitter på samma ställen. (Själv kör jag med ett breadboard bara.)

Edit: såg att du inte körde Pickit2 när jag läste bättre, men det kan ändå vara värt att kolla..
PeterSfa
Inlägg: 22
Blev medlem: 26 augusti 2009, 10:33:55
Skype: peterfagerbrant
Ort: Norsborg
Kontakt:

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av PeterSfa »

E85 skrev:Det ska fungera tycker jag. Att den "hittar" device id 0000000 tyder på att den inte får nån kontakt med processorn. Glapp? Processorn fel håll i sockeln? :vissla:
Rättvänd var den. Men sockeln är en sådan där med små runda hål, så kontakt känns osäker.
Dock fungerade den direkt med 877A. Därav blev jag fundersam.

Hittade en annan PIC18F4550 som jag provade i morse. Den hittade device ID men fick istället fel vid programmeringen.
"The MPLAB ICD3 is missing a Memory Object."
Användarvisningsbild
Glenn
Inlägg: 36772
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av Glenn »

Jag hade nåt bygge förut där jag pga utrymmesskäl hade lagt jord och plus på ISCP-kontakten separat, det blev en del riktigt skumma saker när den sladden hoppade ur, man fick olika felmeddelanden varje gång, men oftast nånting med "Device ID", kan vara värt att kolla kanske..

Just ja, enl tidigare diskussion.. spänningsmatar ditt kort på BÅDA ställena ? är ju dubbla jord och Vcc på dessa kretsar.
Senast redigerad av Glenn 28 augusti 2009, 10:17:49, redigerad totalt 1 gång.
PeterSfa
Inlägg: 22
Blev medlem: 26 augusti 2009, 10:33:55
Skype: peterfagerbrant
Ort: Norsborg
Kontakt:

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av PeterSfa »

Glenn skrev:Vad använder du att programmera med ? om du kör pickit2-mjukvaran så ger den liknande felmeddelande om du inte först väljer att du ska köra 18F-familjen.. vete fan varför, men jag fick precis det problemet när jag (lustigt nog) bytte från 16F877A till 18F4550 av exakt samma anledning som dej :)

Det borde inte spela någon som helst roll vilket labbkort du har, just efterssom ström och programmeringspinnarna sitter på samma ställen. (Själv kör jag med ett breadboard bara.)

Edit: såg att du inte körde Pickit2 när jag läste bättre, men det kan ändå vara värt att kolla..
Det var precis så jag tänkte när jag såg att pin satt på samma ställe.
Jag använder senaste MPLAB (v8.36) och MPLAB ICD3, flashad med senaste firmware.

DeviceID i MPLAB är satt till PIC18F4550.

Nu i morse när jag bytte till en annan PIC18F4550, så verkade det lösa sig också. Eller snarare bytte fel. Börjar luta väldigt mycket åt att jag bara är tafflig.
PeterSfa
Inlägg: 22
Blev medlem: 26 augusti 2009, 10:33:55
Skype: peterfagerbrant
Ort: Norsborg
Kontakt:

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av PeterSfa »

Glenn skrev:Just ja, enl tidigare diskussion.. spänningsmatar ditt kort på BÅDA ställena ? är ju dubbla jord och Vcc på dessa kretsar.
Bra fråga, shemat som följde med 2840 var helt obefintligt. I princip bara en generall beskrivning av komponenterna. Så jag är hänvisad till att mäta mig fram då kretskortet är gjort i flera lager och däremd tämligen omöjlig att följa banorna på.
Jag spänningsmatar iaf 2840 separat, men skall kolla upp om matningen går till båda sidorna på kretsen.
Användarvisningsbild
E85
Inlägg: 1274
Blev medlem: 29 maj 2007, 16:24:19
Ort: Övik

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av E85 »

Efter en googling verkar det som att 2840-kortet har en mux för programmeringspinnarna som styrs genom pinne 1 i rj11-kontakten. http://forums.basicmicro.net/ShowPost.aspx?PostID=18290
However I kept my 2840-board and did a slight modification in the MPLAB ICD2 for being able to control the 74HC4053 mux at the 2840-board. Pin 6 is unused in ICD2 so I put the collector of a NPN-transistor to pin 6 and emitter to GND and to the base I put 10k in series from the "busy led" inside ICD2. It works perfect to the 2840-board and a lot of circuits are supported by the ICD2 programmer/debugger.
At 2840 board RJ11 pin 1 is used for controlling the 74HC4053 mux, which exactly corresponds to RJ11 pin 6 in ICD2 so I just used that free pin in ICD2 to fix the control signal with that NPN transistor and connected the cable. Nothing more ;) It was just more simple than I thought it should be from the beginning!

Otherwise it also possible to manually switch 2840 board RJ11 connector pin 1 to GND while programming or reading from 2840 board.
Det kanske är värt att prova. Fast det borde väl inte ha fungerat med 16F877 då heller tycker man.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av sodjan »

När det gäller om eller varför man ska/måste välja rätt processor så
beror det lite på, så att säga. Antingen använder utrustningen valet
enbart för att lokalisera rätt pinnar, och då borde det inte spela någon
roll. Eller så använder den även valet av processor för att välja
programmerings algoritm/metod, och då spelar det en jäkla roll. En 877A
och en PIC18 har ganska olika metoder för att "flasha" processorn.

Normalt finns det naturligsvis ingen som helst anledning att medvetet välja fel... :-)

Oftast sker valet av pinnar genom hårdvaran (och det är ju normalt samma
pinnar inom samma kapseltyp) och valet av processor sker automatiskt genom
processor-ID. Ett läst ID med bara nollor betyder oftast att hårdvaran inte
är rätt kopplad, programmeraren får sannolikt inte över processorn i
"programming-mode" (problem med Vpp) eller så är PGC/PGD felkopplade.

Om man inte har full koll på hårdvaran så kan det vara lika bra att bygga något
eget t.ex på en labbplatta. Och om detta är primärt för hemma/hobby bruk
så spelar det ju ingen större roll vilken processor du kör med, det finns de som
är lite smidigare att labba med. 28-pinnars modeller brukar normalt anses som
en bra kompromiss, de fungerar bra på labbplattor (eftersom de är smala) men
har fortfarande hyggligt med pinnar för de flesta behov.

Att starta sitt hemmalabbande med en hårdvara utan bra dokumentation och med
en del andra oklarheter är kanske att göra det lite onödigt spännande i början... :-)
PeterSfa
Inlägg: 22
Blev medlem: 26 augusti 2009, 10:33:55
Skype: peterfagerbrant
Ort: Norsborg
Kontakt:

Re: Nybörjarfråga ICD3, BasicMicro 2840 18F

Inlägg av PeterSfa »

sodjan skrev:Att starta sitt hemmalabbande med en hårdvara utan bra dokumentation och med
en del andra oklarheter är kanske att göra det lite onödigt spännande i början... :-)
Naa, jag är van :D

"Som vanligt", visade det sig att jag tänkt rätt, men strulade till det.
Minns att det hända relativt ofta förr när jag labbade.

Första testet där jag trodde att det helt enkelt inte var kompatibelt, visade sig att antingen kretsen dålig eller glapp.

Nu med nya kretsen i, fick jag ett annat fel. Som dock rättade till sig efter att jag i tur och ordning:
Tryckte till kretsen mot hållaren. Erase Flash Device. Följt av Program.

Nu lever den så fint så. Enda jag inte fått att funka är debug.
Vilket jag misstänker har med mux'en att göra. Sitter en 74HC4053 som skall koppla ur och i kretsarna vid programmering och läsning.

Kan vara för detta stödet som fixen på den lediga rj11 pinnen är till.
Inga delar i 2840 är inblandade i programmering förutom mux'en. Allt skall skötas från ICD3.

Jag tackar alla här för all hjälp och stöd.
Det är inte lätt att sitta ensam med 25år föråldrad kunskap och lära sig det senaste inom området. Och som sodjan är inne på, ge sig i kast med det värsta på en gång.

Mycken tack.
Skriv svar