Prosty klon PicKit2 i procesory PIC32

W sieci można znaleźć sporo projektów prostych i tanich programatorów opartych na PicKit2. Większość z nich posiada kilka uproszczeń w stosunku do oryginału. Powszechny jest np. brak możliwości ustawienia napięcia na Vdd - zawsze będzie tam podawane 5V.

Pomimo tego w wieli opisach jest mowa, że taki programator ma obsługiwać procesory PIC32, które nie pracują na napięciu 5V (zgodnie z dokumentacją max. 3,6V).

Na taką informację można trafić chociażby tu:

formatting link
Ktoś popełnił błąd w opisie, czy faktycznie można programować te układy, jeśli tylko programowany MCU zasili się z innego źródła o odpowiednim napięciu? Poziomu napięcia na liniach sygnałowych będą odpowiednie?

Bo w przypadku takich AVR-ów programowanie układu pracującego na 3,3V za pomocą programatora 5V jest bardzo złym pomysłem, nawet jeśli rozdzieli się zasilanie. Ja zawsze stosuję optoizolację. Czy z PIC-ami jest podobnie?

Reply to
Atlantis
Loading thread data ...

Skoro są 5V tolerant ?

Reply to
ww

programatorów

ustawienia

układy,

Pickit2 oryginalnie programuje układy 3.3V napięciem 3.3V, zresztą ma na pokładzie mikro przetwornicę więc może generować dowolne napięcie Vdd z zakresu 2-5V oraz Vpp aż do 12V. Z reguły napięcie określane jest automatycznie przez model układu jaki chcemy zaprogramować, soft programujący np. pk2cmd posiada bazę układów stąd zna ich parametry i odpowiednio steruje firmwarem w pickit2. Można też ustawiać inne napiecie ustawiając odpowiednią opcję w sofcie programującym. Jeśli chodzi o klony pickit2 to jeśli są wykonywane ze schematu pickit2 jaki udostępnia Microchip i mają wgrany firmware do pickit2 (oryginalny) to praktycznie niczym się nie różnią od oryginału. Pickit2 może mieć problem z pewnymi układami wydanymi później, dotyczy to nowych układów mid range z rodziny 16f, nowych 18F oraz nowych pic32. O ile w przypadku 16F nie ma co żałować bo są to układy dla masochistów to układy 18F można zaprogramować po aktualizacji bazy układów softu programującego.

W przypadku pic32 powstał otwarty akternatywny soft napisany przez tego gościa od retrobsd, soft nazywa się pic32prog i programuje wszystkie pic32 nawet te nowe, które nie są wspierane przez oryginalny soft od Microchipa.

Oczywiście można kupić pickit3, ale oplnie o nim dosadnie wyraził bloger Dave (eevblog):

formatting link
Po czym Microchip odpowiedział mu tym filmem :-)

formatting link

Reply to
Marek

Chodziło mi o uproszczone klony PicKit2 - spora część z nich nie mają możliwości zmiany Vdd - jest tylko 5V, ustawione "na sztywno" i nie reagujące na ustawienia wprowadzane w uprogramowaniu. Przetworniczka dostarcza tylko 12V dla Vpp.

Chopdzi mi o coś takiego:

formatting link
Jakie układy można bezpiecznie programować takim urządzeniem? Tylko te zasilane 5V, czy w przypadku zastosowania oddzielnego zasilania nada się ono także do 3,3V?

Reply to
Atlantis

te

Niebardzo. Klasyczne układy pic 5V wymagają Vdd min 4.5 max 5.5, oraz Vpp 12V. Są wśród nich też układy z opcją LVP (low voltage programming) wtedy wystarczy 5V Vpp zamiast 12V. Ale z tego ci kojarzę większość układów 3.3V (oprócz tych tolerujących Vdd 5V np. 18f26K22) programuje się nap. 3.3V, stąd 5 a już 12 może im zrobić krzywdę.

Trzeba zwrócic uwagę też na to, że jeśli dany pic toleruje 5V (np. pic32) to tylko na wybranych gpio i a nie na Vdd.

Jak chcesz się bawić w budowę programatora zbuduj pełen pickit2, schemat i firmware są dostępne.

Reply to
Marek

W dniu 2015-11-14 o 14:16, Marek pisze:

Polecisz jakiś projekt?

Bo wszędzie widzę albo te mocno uproszczone, pozbawione funkcjonalności, albo wymagajace zamawiania płytek z uwagi na wykorzystanie dwustronnych PCB. Czasem zresztą autorzy z dziwnych powodów nie zamieszczają plików w odpowiedniej jakości.

A układów zaprojektowanych z użyciem elementów SMD w ogóle jak na lekarstwo...

Reply to
Atlantis

Nie lepiej kupić jednak gotowy ? Mnie gotowe klony pickit 2 i pickit 3 kosztowały tyle co to dziadostwo bez obudowy.

Reply to
kriters

Czekaj, wersję 3 mozna kupić na allegro za jakieś 90zł, co prawda to podróby (chyba) ale mają regulację 2.5<->5.5V. IMHO koszt zrobienia od zera jest wyższy.

Reply to
Sebastian Biały

formatting link

Reply to
Zbych

Nie bardzo, jak się uczyłem piców to zbudowałem programator na rs232 (12V na tym porcie było jak znalazł na Vpp), jest popularnych kilka takich schematów. Mając ten programator napisałem własny soft do programowania układów 12f,16f i 18f by w pełni nauczyć się tych mcu nawet od strony ich programowania. O ile edukacyjnie to się sprawdziło to sam programator był nieporęczny, kiedyś przez przypadek jakiś luźny przewód dotknął stronę 12V i pin mcu uszkadzając go. To wydarzenie oraz chęć przejścia na pic32, których i tak nie mógłbym programować tym programatorem zmobilizowały mnie do kupienia pickit2 i nie żałuję.

funkcjonalności,

dwustronnych

A kupno pickit2 nie wchodzi w rachubę? Moim zdaniem nie warto kombinować, szczególnie jeśli chcesz np. programować pic32, bo tymi prostymi programatorami go nie zaprogramujesz tzn. teoretycznie by można, w końcu to tylko wachlowanie pinami ale soft wymagajacy zaprogramowanie pic32 wymaga dość wyrafinowanego softu (tzw. programming executive), nie sądzę że taki soft znajdziesz do tych prostych programatorów.

Reply to
Marek

Ale po co ma kupować pickit3 który wymaga zamkniętego softu? Podobnie jak Stallman odradzam inwestowanie w cokolwiek co ma zamknięty soft jeśli jest otwarta alternatywa. Z takim zamkniętym nic później nie można zrobić. Pickit2 ma otwarty soft i zaprogramuje nim wszystkie układy, które potrzebuje w swoim hobby. No i dwójka powinna być tańsza od trójki

Reply to
Marek

Bo w starszej wersji jest chyba kłopotliwy w zakupie.

Microchip to typowa firma olewająca OS, ale coś tam się zmienia:

formatting link
Ponadto gdzieś widziałem kilka firmware do podmiany.

PS. Absurdalność programatora PICów (dziwaczne napiecia, zamkniety arch, kiepska dokumentacja, brak alternatyw itd) trzyma mnie od lat z daleka od PICów. Może to kiepski argument, ale start z byle czym innym jak AVR czy STM32 jest o niebo wygodniejszy niż żalosne koncepcje Microchipa.

Reply to
Sebastian Biały

Dlaczego dziwaczne? Programator zasilany jest,z USB, generuje takie napięcia jakie potrzebują PICe wyprodukowane w ostatnich 20 latach (np kultowy 16F84) kiedy avr nawet nie było. Wcześniejsze PICe wymagały 12V Vpp więc pickit2 je generuje. Pickit2 jest arch. otwartą, wraz z programatorem user dostaje jego schemat. Cześć firmwaru, ta w programatorze nie jest chyba otwarta (mogę się mylić, już nie pamiętam) ale soft PC który się komunikuje z pickitem (pk2cmd) jest otwarty. Dzięki temu wiadomo jak działa ta cześć firmwaru w pickicie, co w efekcie umożliwiło dodanie nowych układów do obsługi a nawet powstanie alternatywnego otwartego softu (pic32prog) rozszerzające kolejne możliwości pickita2. Co do samego programowania dokumentacja jest bardzo precyzyjna, na upartego układt 8 bitowe 16F i 18F można zaprogramować bit po bicie dostarczając odpowiednie Vdd iVpp a sygnały clk i dat generując przełącznikami. Długo to by trwało ale da sie :-)

Ale jakie akternatywy masz na myśli?

Microchipa.

Ciągle na elektrodzie czytam "jak odblokiwać AVR", jakieś absurdy, nie rozumiem jak może mcu być zablokowany, w PICach nie ma takiego problemu.

W AVR w jakiś przypadkach musi być zew. kwarc bo układu się nie da zaprogramować bo coś tam.

Userzy AVR często zazdroszczą PICom bogatych peryferiów już w układach midrange, czyli słabszych pamięciowo od takiej popularnej Atmegi8. Ostatnio kolega AVRowiec zadrościł, że taki prosty pic16f6*8a na pinie timera (w trybie licznik zew. impulsów) może zliczać impulsy z częstością większą niż jego Foscmax, czego Atmega8 nie umie bo tam jest jakieś ograniczenie 1/2Fosc wynikające z konieczności samplowania i synchronizacją z Fosc Atmegi.

Także nie przesadzałbym tak z tą dziwacznością PICów, nie twierdzę o jakieś specjalnej wyższości 8bit PICow nad 8bit AVR , uważam że są godnymi konkurentami wzajemnie wypełniając braki tam gdzie konkurent kuleje :-).

Jeśli chodzi o PIC32 a STM no to tu bardziej ciężka sprawa, bo wydaję się obecnie, że,ARM ma jednak przewagę nad MIPSem na kilku polach, chociaż podobno MIPS ostatniego słowa nie powiedział a ostatnie ruchy w sprzedaży licencji mogą przynieść nowe ciekawe układy.

Reply to
Marek

12V do programowania flasha? O ile pamiętam AVRy go nie potrzebują poza override resetu.

Ba, nawet złącze programowania piców jest ... gówniane. Nie chroni przed odwróceniem ani wsadzeniem jeden pin obok. Niby detal, ale pokazuje gdzie ma MC hobbystów.

O tym mówie. Pierwszym powodem dla ktorego nie uzywam PICów jest fakt że pierwotnie były absurdalnie popieprzone w programowaniu z powodu 12V i braku dostepności narzędzi takich jakich chce (a nie chce klikać). To były czasy przed USB (co niewiele zmienia). Miałem jedne z pierwszych PICów z flashem, pierwszy programator (wszystko na uczelni) i spędzilem tydzień zanim okazalo się że programator nie działa z *tym* LPT. Bo nie. Ślad w psychice pozostał bo STK200 do AVRów zadziałał nawet na Amidze. Ba, zadziałał nawet taki na 5 rezystorach.

Tak, ale to było *potem*.

Tak, ale to było *potem*.

Ludzie używający pickit3 narzekali swego czasu że musza uzywać debilnego oprogramowania z MC i nie działa połowa ficzerów. I nie ma alternatyw. Do dzisiaj się zmieniło, ale to był nastepny sygnal ostrzegawczy: "uwaga MC nie należy ufać".

Ktoś przestawił oscylator na zewnętrzny i go nie podpiął. Tak na 90%.

Nie. Na wewnętrznym RC programuje się ok. Jeśli przestawisz na zewnętrzny to niestety. To nie arm w którym zazwyczaj procesor przestawia się świadomie na inny clock.

Też zazdroszcze. Ślinka mi pociekła na pierwszy uC z USB i był to jakiś tam pic. AVRy tego nie miały jeszcze długo, de facto do dzisiaj, nie licząc xmega.

Ale tutaj troche przesadzasz, corner case nie ma żadnego praktycznego wpływu na wybór rodziny cpu w skali globalnej przez hobbystów. Zwróć uwagę że twórcy arduino mieli w dupie peryferia, chodziło o łatwośc i dostepnośc kompiltora. MC im tego nie dostarczył z powodu fobii przed OpenSource i gównianej architektury PICów, nieprzyjaznej dla języków wyższego poziomu.

Też tak uważam, jednak ten watek pokazuje ze start z PICami może być kłopotliwy. Tam gdzie jest 10 rodzajów programatorow do AVRa dzialających praktycznie na każdym CPU i każdym softem to w przypadku PICów mamy wybór między spiraconym pickit2 z poputym przetwornikiem napięcia albo chińska podróbą pickit3 z niejasnym efektem po podpięciu do cpu z 2.5V.

STM przede wszystkim jest bardziej przyjazny dla hobbysty z powodu normalnego JTAGa, normalnej architektury i normalnej polityki. Np. Atmel dobił mnie gdy pewnego dnia podskoczyły 4x ceny pewnej serii SAM7.

MIPS jest ok. Stary pic to porażka dla programisty. Zawsze powtarzałem że najlepszym rozwiązaniem byłyby peryferia PICa z rdzeniem AVR.

Reply to
Sebastian Biały

Ale przełącznikami mogłeś zaprogramować już *wtedy* a nie potem. To, że wtedy nie znałeś algorytmu programowania (flasha) nie oznacza że nie, dałoby się tego zrobić bez programatora.

praktycznego

Ta uwaga dotyczy tylko układów 16F i mniejszych, układy 18F (konkurencyjne z popularnymi Atmegami) mają już architekturę przyjazną C.

powtarzałem

A nie z rdzeniem ARM? No bo tak na prawdę po co hobbyscie 8 bitowy mcu z jego wszystkimi ograniczeniami 8bitowca? Kiedy pojawiły się pic32mx w wersji dip28, wygodne w prototypowaniu uznałem, że chrzanić 8bitowce. Pomijając wąskie zastosowanie gdzie taki 8bitowiec z XLP (eXtreme Low Power) przydaje się w aplikacji zasilanej bateryjnie, to poza tym nie widzę zalet w ich stosowaniu w hobby czy w domu i zagrodzie.

Szczerze liczyłem na to, że Mchp przejdzie z MIPS na ARM, ich decyzja na "sterydowanie" MXa do wersji MZ zamiast wydania ARMa trochę.mnie rozczarowała. Byłem przekonany, że gdy PiC32 mi się znudzi lub jego zasoby staną się zbyt szczupłe (ram, flash) do jakiegoś projektu, to będzie okazja bezboleśnie przejść na ich ARM (gdyby wydali).

Reply to
Marek

No właśnie mam takie samo zdanie o złączu do Atmegi, które widziałem u kolegi atmegowca. Jak to złącze nazywacie - Kanda? Wielkie jak cholera, dwurzędowe 2x5 pinów, kolega uparcie je w swoich płytkach montuje mimo, że czasami zajmują mu połowę powierzchni płytki. Do programowania Atmegi ICSP serio potrzeba aż 10 pinowegp złącza? W PIC starczy 4 (Vpp,gnd, clk,dat) jeśli układ ma własne zasilanie.

Reply to
Marek

Nie. Mam tutaj na tapecie przykład: potrzebuje 1 instrukcję na 1 clock i hiper szybkie GPIO bez dużych obliczeń. AVR to daje. Taktowany 3x szybciej ARM nie ... Taktowany 10x szybciej ARM kosztuje majątek i ma footprint wielkości 10ciu AVRów. I pewno wolniejsze GPIO ;)

Tak, mógłbym wziąć CPLD/FPGA i dostać "lepiej" za 30x wieksze pieniądze. To ja dziękuje ;)

Ostatnio pewna firma z Bytomia zrobiła najszybsza furmankę świata ('51). Najwidoczniej rynek na aż tak denne procesory będzie istniał do końca czegośtam.

Dla prędkości. ARMy sa wolniejsze niż się wydaje po MHz. Ogolnie im szybszy procesor w MHz tym wolniejsze GPIO ;) Taka obserwacja, nie zawsze trzeźwa.

Reply to
Sebastian Biały

Ma określony kierunek wkładania wtyczki bo ma obudowę z klinem. Fakt, niektórzy nie montują obudowy tylko gołe goldpiny. Nie rozumiem dlaczego.

Nie. Połowa to zasilanie w celu rozdzielenia przewodów sygnałowych. Dodatkowo dzięki zasilaniu programator na poziomie sprzetowym wie jakim napieciem gadać z CPU. Rozmiar "10 pinów" stosowany jest chyba tylko dlatego że to najłatwiejsze w kupieniu gniazdo na taśmę.

PDI też ma 4 (3). Popularne w XMega.

W normalnych AVRach jest 4 + 2 zasilanie czyli jesli pozbedziesz się Vcc to 5 drutów. Wiec złaczka 10 pin jest na wyrost, ale pozwala na separacje lini sygnałowych.

Reply to
Sebastian Biały

Powinieneś, jeśli głównym priorytetem ma być jak najszybsze machanie pinem to użycie jakiekolwiek cpu do tego zadania trochę rozmija się z celem do jakich większość cpu została zaprojektowana. To klasyczne użycie narzędzia nieadekwatnego do relizacji zadania.

Jakiś link na ten temat masz pod ręka? Chińczycy bardzo dużo używaja własnych klonów 51 w swoich produktach, na mailing liście SDCC dość często są pytania dot. 51, pytania dot. Z80 wcale ilością im nie ustępują :-)

Reply to
Marek

Nie. Ekonomia stoi na przeszkodzie. FPGA są ciągle absurdalnie drogie.

formatting link

Reply to
Sebastian Biały

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.