Jump to content
ELFORUM - Forumul electronistilor

Clona pickit 3


moro

Recommended Posts

Va salut,

as fi interesat in constructia unei clone dupa pickit3, am vazut ca cei de la microchip in readme asigura si schema electrica. Din cate stiu acest proiect n-a fost unul open source asa cum a fost pickit2.

Pe formul lor chiar s-a postat un firmware

 

Schema este aici http://ww1.microchip.com/downloads/en/D ... 51795B.pdf pagina 76

 

Ce parere aveti despre el? Am inteles ca suporta si debug, a construit cineva varianta pk3?

IMAGE_PK3_012510.zip

Link to comment
  • Replies 23
  • Created
  • Last Reply

Top Posters In This Topic

  • tes2000

    6

  • aureliu67

    6

  • mars01

    5

  • moro

    4

Buna,

 

da eu am construit, inca n-am testat foarte mult asa ca nu pot sa laud. Din start cere .net4 cea ce nu-mi place ca incetineste calculatorul, si ca schimba firmware-ul pentru orice.

Ca pret nici nu prea merita construit, ajunge undeva la 75-85RON doar piesele, daca mai adaugi 20-30Ron poti cumpara de la chinezi cu 110Ron care are si cutie.Eu daca trag linia cred ca am dat in jur de 250Ron (unele piese nu poti cumpara cat ai nevoie doar multiplu, si nici pcb),dar macar dorm linistit ca eu am facut cu mana mea si daca cumva sparg pcb-ul mai pot sa construiesc inca 9 buc :)

 

Pt. debug poti sa folosesti si pickit2.

 

Hex-ul care ai postat se poate folosi, oricum aplicatia va rescrie o parte cand e nevoie.

 

Cateva poze:

Posted Image

Posted Image

Posted Image

 

Este facut exact dupa schema dat de microchip, diferenta e ca in loc de FDC6420 am folosit 2 tranzitori separate (FDC6420 are incorporat 2) iar mcp601 am inlocuit cu mcp6001rt restul e la fel chiar si numerotarea pieselor.

Link to comment

Foarte frumos realizat, eu sincer am inceput sa fiu atras de pk3 pentru simplu motiv ca are level shiftere dedicate pe iesire, si suporta debug.M-am apucat sa-i fac cablajul, acum sa vad unde il si execut si la ce pret. Apropo, tu unde ti-ai facut cablajul?

Link to comment

Din pacate pot decat double layer, o sa vad... cert e ca am cerut niste cotatii la diverse firme, decat sa dau 100 de euro pe un singur pcb la care mai pun si costul pieselor, mai rentabil e sa imi cumpar unul.Am o curiozitate legata de pickit3, stie sa programeze din aplicatia sa dspic33EP? stiu ca EP-urile is cele mai noi aparute cu performante ceva mai mari decat seria 33FJ, am vazut ca duc pana in 70MIPS

Link to comment

Asa e la noi, imi vine in minte melodia "baga bani" de la puya :)Daca vreti sa lucrati putin, pun la vanzare o placa partial completat cu majoritatea pieselor pasive,leduri,etc la pret 30ron dar tot va trebui sa cheltuiti vreo 40-50ron sau pote mai mult pt. restul pieselor (doar pic-ul costa 25)In legatura cu dspic33EP nu stiu ce sa spun ca nu am avut treaba cu ele, asa search cu google informatiile sunt contradictorii, unii spun ca da alti ca nu.

Link to comment
  • 2 weeks later...

Nu e asa de usor viata cu pickit3 :)In legatura cu hw: Pe schema la referinta 2.5V(U10) la intrare este un condensator de 1uF la iesire 100nF,desi la documentatie mcp1525 scrie ca 100n la intrare si minim 1u la iesire.Pana la urma am schimbat dar merge si si.Am notat ca pk3 nu porneste instant totdeauna, dupa ce am verificat, am ajuns la concluzia ca quartzul nu incepe sa oscileze la prima alimentare.Am citit cateva pdf-uri si am vazut ca Rs pt. quartz poate sa aiba valoare de la 0 pana peste 10k, am schimbat 330 la 820-1k si acum merge instant la fiecare pornire.Peripetii cu softul:Aplicatia de programare cere .net4, nu-mi place ca incetineste calculatorul.Am descarcat sursa am recompilat cu .net2 (am din cauza pikit2-ului) si mege nu mai cere .net4.Super.Caut troubleshooting ca sa verific vpp, nu este. Ma uit la sursa: if(pk3) troubleshoot=false :) Foarte bine.Am scos functia,am recompilat si merge, mai greoi cu 30khz test pe iesiri dar nu este important, pot sa testez vpp.Totul pare ok, incerc mplab8, scriu o mica aplicatie, selectez pk3 pt. programare, incarca firmare mplab, merge,incerc un debug merge si asta.Bucuros instalez mplabx, iar scriu o mica applicatie, selectez debug cu pk3,face update ... si error, cere o firmware mai nou.Ma intorc din nou la aplicatie(la schimbare din app in mplab se rescrie firmware-ul), din nou inapoi la mplabx face update frumos, la sfarsit: error, iar nu e bine versiunea(desi vad ca mplabx are 01.30.09)Scot fw-ul din mplabx pun in mplab8, schimb fw la app, din nou pun la mplab8 sa faca update, si da, face update la 01.30.09Pornesc mplabx selectez pk3 verifica, update si bingo, merge.Asa ca sa scutesc pe ceilalti de aceste probleme atasez cele doua fw citite direct dupa update(mplabx01.30.09 si app02.32.00) dar cred ca oricare dintre ele e ok.Si un lucru bine de stiut: pickit3 cu aplicatia stand-alone poate sa programeze doar ce poate sa programeze si pickit2!!! (folosesc acelasi baza de date)In mplab stie mai multe.

pickit3fw.zip

Link to comment
  • 3 weeks later...

Alte aventuri cu pickit3 :)

 

Ma tot framanta ca nu gasesc flash AT25DF041A, asa ca am decis sa incerc cateva flas-uri pt. functia to-go.

Primul a fost un m25p40, am sters memoria cu un programator extern si am lipit pe pickit3, am pronit mplabx am selectat programmer to go .... si success, a programat flash-ul si era gata pt. programare.

Am si incercat, am alimentat pk3 (clipeste ledul albastru) conectez la pic, apas butonul, porgramare si programeaza ok.

Pana aici toate bine si frumos, modific ceva in sursa, compilare, to go -> fail, nu mai poate sa scrie flas-ul

Suspectez ca pk3 incearca sa stearga cu comanda 60h si flash-ul asta suporta doar C7h.

Asa ca am cautat un flash care suporta page write si erase 60h.Am gasit MX25L4005, W25X80 ambele suporta comenzile respective.Lipesc incerc si nu merge nici una.

Suparat am conectat analizatorul logic la flash si analizez ce se intampla.Am vazut ca pk3 inainte de scriere trimite comanda wren(06h) si verifica continu statusul dar asta fiind 03h(busy) asteapta cam 1ms si incearca din nou dar tot busy si nu mai continua.

Deschid pdf-ul si vad ca la AT wren este executat la doar cateva ns, iar la celelalte 3-10ms, deci clar nu va merge din cauza timeout setat de pk3.

Lipesc inapoi m25p40 si constat ca la asta wren e ok dar bineinteles la 60h nu fce nimic, deci nu sterge.

Gandesc si gandesc cum asi putea sa schimb comanda,cum sa gasesc acel 60h si sa modific la C7.... sursa bineinteles ca nu e pt hex-urile de mplab, daaar este sursa pt. scripting tools.

Am gandit ca daca au dat sursa poate ca nu au modificat prea mult partea spi.(bineinteles toolsul nu foloseste flasul deci cateva functii sigur lipsesc)

Recompilez sursa si incerc sa caut asemanari, cu putin noroc nimeresc o functie care e asemanator un mov,urmat de un call, apuc si verific toate subrutinele de acest gen si nimeresc doar un singur mov 60 urmat de acest call.

Rescriu hex-ul cu C7 incarc cu pk2 img-ul mplab, pornesc mplab-ul sii:

Connecting to MPLAB PICkit 3...PICkit 3 is not in programmer-to-go any more.Firmware Suite Version.....01.30.09Firmware type..............PIC18FTarget detectedTarget Device ID (0x0) does not match expected Device ID (0x2020).The following memory area(s) will be programmed:program memory: start address = 0x0, end address = 0xffffconfiguration memoryProgramming...Programming/Verify completePICkit 3 is now in Programmer to go mode. The next time you connect to this unit, you will have the choice to take it out of Programmer to go mode.

Si cu asta eu am terminat cu pk3,acum este complet.

Nu stiu daca e legal sau nu de a publica un hex modificat (sursa fiind inchis) nu atasez hexul dar daca cineva are nevoie trimit in privat.Mentionez ca este vorba de flash m25p40, daca se foloseste AT25DF041A nu trebuie modificat hexul.

 

Concluzie pickit3:

Avantaj: Conversie reala a tensiunii prin 74LVC1T45,e nou si inca e dezvoltat softul,are full suport in mplabx

Dezavantaj: Mai complicat de construit clone pickit3,pret,la fiecare schimbare de familie sau folosire scripting tool trebuie updatat firmware,nu programeaza mai multe chipuri ca pickit2 in aplicatia "stand alone" cu care noi ne-am obisnuit.

 

Sarbatori fericite.

Link to comment
  • 2 weeks later...

Aici era vorba de PK3. Nu am inteles daca daca este o intrebare, o exclamatie sau o afirmatie?

tes2000 ai depus o munca titanica, felicitari domnule! Detin o clona de PK3  (Sure..) dar e cu mult inferioara programatorului PK2, nici originalul PK3 nu cred ca este mai bun.

Am avut nevoie sa programez un singur PIC, nerecunoscut de PK2, si nu ma interesa adaptarea de nivel. Aplicatia standalone stie aceleasi pic-uri ca la PK2 dar au scos unele functii, la trecerea din modul MPLAB in modul standalone isi schimba ceva la firmware, isi schimba ceva in firmware si cand se trece la alta familie de PIC-uri, la anumite PIC-uri nu le pot programa cu alimentare din progrmator (doar extern), nu am observat o imbunatatire a vitezei de programare, 

Link to comment

Si eu sunt oarecum dezamagit de acest PK3, inafara  ca suporta pic`uri ceva mai noi programate prin MPLAB e o adevarata batalie cu firmware. Aveam asteptari mai mari de la microchip.

Link to comment
  • 2 years later...

Salut tuturor. Am cumparat un pic kit 3 si spre deosebire de pic kit 2 nu am gasit driverul. Nu a venit cu el impreuna. Am citit ca lucreaza direct cu MPLAB dar eu nu il cunosc.Se poate programa direct cu flowcode cumva? Nu exista drivere separate pt  a scrie hexurile direct din windows?

Link to comment

Salut!

 

Instalezi suita MPLABX 3.35 de aici: http://www.microchip.com/mplab/mplab-x-ide. Te duci la tab-ul Download aflat in josul paginii.

Cand instalezi ai grija sa fie selectat nu numai MPLABX IDE dar si MPLABX IPE.

 

Dupa ce se termina de instalat, conectezi PicKit3 pe portul USB, pornesti MPLABX IPE, apoi din meniu selectezi Advanced, folosesti parola default care este 'microchip' (este scrisa chiar pe pagina care cere parola) si in tab-ul Power selectezi daca sa alimentezi uC-ul de programat din PicKit3 sau din circuitul aferent uC-ului (in cazul in care uC-ul este intr-un montaj si il programezi prin conectorul ICSP - in circuit serial programming). 

 

Daca alimentezi uC-ul cu PicKit3 iti recomand sa alegi o tensiune (din aceasi pagina corespondenta tab-ului Power) ceva mai mica decat cea la care ar trebui sa mearga uC-ul. Adica daca uC-ul merge la 5V, alege o tensiune de alimentare de 4.25V sau pe acolo. daca uC-ul se alimenteaza la 3.3V alege o tensiune de ~3.125V.

Aceasta pentru ca daca mai ai componente pe langa o sa traga si ele ceva si daca PicKit-ul vede o tensiune mai mica decat se asteapta o sa iti dea eroare la programare.

 

Apoi din pagina principala selectezi familia si device-ul, conectezi cele 5 fire ale PICKit3 (VPP, VCC, GND, PGD, PGC) la uC si apesi butonul Connect.

 

Daca totul merge bine atunci o sa iti detecteze uC-ul si o sa scrie si ce revizie este.

Succes!

 

LE: Pentru fiecare familie de uC-uri (cand o schimbi din setari), PicKit3 isi face update la firmare. Aceasta inseamna ca acel PC pe care lucrezi trebuie sa fie conectat la Internet.

 

LLE: In ceea ce priveste programarea din Flowcode cu PicKit 3 ai aici cum se face:

https://www.matrixtsl.com/support/viewtopic.php?f=68&t=786 pentru FlowCode 5

http://www.matrixtsl.com/wiki/index.php?title=Supporting_Third_Party_Programming_Tools pentru FlowCode 6

Edited by mars01
Link to comment

Multumesc foarte mult pentru explicatiile detaliate.! Nici nu mi-am inchipuit ca trebuie facute atatea chestii ca sa programezi un pic.. Eram obisnuit cu pic kit 2 cu driver...Am citit mai sus despre softul modificat. Merita sa incerc si eu daca nu ma pricep la asta? Mi-e frica ca sa nu il fac nefolosibil cum am facut cu versiunea 2..

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines