Strona 1 z 1

Dla zainteresowanych grzebaniem w PICach cz.1

: poniedziałek 07 wrz 2015, 01:25
autor: Antystatyczny
Witam, przybliżę trochę temat pracy z tymi niezbyt popularnymi mikrokontrolerami w Polsce. Być może ktoś się skusi ;)

Przede wszystkim pragnę oznajmić, iż firma Microchip oferuje niezwykle szeroką gamę układów, tak szeroką, że należy wziąć sobie wolne, by ogarnąć tę ofertę. A są tam zarówno malutkie 8 bitowce z serii "base line", jak i prawdziwe kombajny do wielu zadań. Oprócz procesorów 8 bitowych firma oferuje układy 16 i 32 bitowe. Układy wyposażane są w różnego rodzaju peryferia takie jak np. CAN, USART, I2C, USB itp. Każdy znajdzie coś dla siebie ;)

Wiadomości ogólne

Ogólny podział układów wygląda następująco:

8 bitowe - PIC10, PIC12, PIC16, PIC18
16 bitowe - PIC24, dsPIC30, dsPIC33
32 bitowe - PIC32MX, PIC32MZ

Liczba po członie "PIC" często oznacza szerokość wyrażoną w bitach słowa rozkazowego, ale nie jest to reguła. Zawsze należy zerknąć w datasheet konkretnego układu. Np. PIC16F870 ma 14 bitową szerokość słowa rozkazowego.

Literka F oznacza, że dany układ wyposażony jest w pamięć programu typu flash. Innym rodzajem pamięci programu może być EPROM, wtedy w typie ukłądu znajdziemy literę C. Występują również układy z oknem służącym do kasowania pamięci EPROM promieniami ultrafioletowymi.

Dedykowanym IDE dla tych układów jest obecnie MPLab X IDE, które zawiera w sobie edytor z kontrolą składni, symulator, obsługę bitów konfiguracyjnych, symulator oraz obsługę narzędzi programujących i debugujących. Dostępny jest również bardzo dobry plik pomocy, który bardzo ułatwi start osobom, które nigdy nie miały do czynienia z układami tej firmy.

Kompilatory

CX8 - obsługuje układy PIC10, 12, 16 i 18
XC16 - dla układów 16 bitowych
XC32 - dla układów 32 bitowych

Kompilatory te są dostępne za darmo, przy czym wersja darmowa nie oferuje wszystkich opcji optymalizacji. Można jednak używać kompilatora przez 60 dni za darmo (w chwili, gdy piszę ten artykuł) z wszystkimi opcjami optymalizacji. Ot, na zachętę ;)

Programatory

Co do programatorów... Zasadniczo należy mieć Pickit3, by móc obsłużyć wszystkie, nawet te najnowsze, układy. Jeśli jednak ktoś na upartego chciałby wykorzystywać jedynie układy sprzed bodajże 2011 roku, śmiało może korzystać z Pickit2, ale to nie wszystko... Pickit2 obsługiwany jest w pełni przez MPlab z serii 8.xx , zaś wersja X traktuje tego staruszka bardzo po macoszemu. Powód jest prosty - na rynek wszedł nowszy model, czyli Pickit3.

Czasami można jeszcze nabyć Pickit2 mimo zakończenia produkcji. Wygląda następująco:
pickit2.jpg


Jednak częściej natrafimy na Pickit3:
pickit3.jpg


Wyglądają bardzo podobnie, ale wewnątrz są zupełnie inne.

W sieci można znaleźć schematy oraz wsady do starszego z nich, czyli do wersji 2. Tak więc, jeśli komuś się nudzi, może wykonać we własnym zakresie klon programatora.

Można również wykonać programator podłączany do portu RS232 komputera, ale tutaj uwaga! Musi to być natywny port, a nie jakaś tam przejściówka USB/RS232. Poniżej zamieszczam schemat takiego programatorka:

JDM serial PIC programmer.png


Ach, no i jest jeszcze programator podłączany do portu LPT:

picpgm_lvisp_v1_01.png


Oba programatory są banalnie proste, a obsługujące je programy to np. PonyProg czy WinPIC.

Ja zaś używam programatora ICD2, który jest narzędziem produkcyjnym. Nie jest już wspierany przez środowisko MPLab X, dlatego do wrzucania programów do mikrokontrolerów używam środowiska MPLab 8.xx. Jego następcą jest ICD3.

Na dzisiaj tyle, a o stronie programistycznej opowiem następnym razem.

PS. gdyby w tekst wkradł się jakiś babol, proszę śmiało mi go wytknąć palcem, a poprawię... Pozdrawiam!

Re: Dla zainteresowanych grzebaniem w PICach cz.1

: środa 23 wrz 2015, 11:20
autor: SuperGość
Taki board byłby dobry na początek tak mi się wydaje ? http://www.microchip.com/DevelopmentToo ... O=dm160228
A jaki procek na początek?

Re: Dla zainteresowanych grzebaniem w PICach cz.1

: środa 23 wrz 2015, 12:00
autor: Antystatyczny
Może być i taki moduł, ale chyba taniej będzie kupić AVT 5275:

avt5275d.jpg


ZEPIC dostępny jest w kilku opcjach... od samego PCB po zmontowany moduł.

A co do układu... jeśli ktoś chce się pobawić assemblerem i raczej ma być to nauka, polecam PIC16F84 lub PIC16F48. Jeśli zaś jesteśmy zwolennikami języka C, to chyba rozsądniej jest wybrać coś z rodziny 18F. Przykładowo może to być PIC18F4550, zasobami jest nieco podobny do ATmega32, a dodatkowo ma sprzętowe USB 2.0

Ja używam PIC16F870 do asm oraz PIC18F2550/4550 i PIC18F46K80 do języka C. Akurat takie mam w szufladzie ;)

Re: Dla zainteresowanych grzebaniem w PICach cz.1

: środa 23 wrz 2015, 19:56
autor: SuperGość
Ale w sumie to http://www.microchip.com/DevelopmentToo ... O=DM164137 na pierwsze próby wydaje się najrozsądniejsze, tym bardziej że ma w sobie już programator/debuger - można do tego podłączyć nawet ze stykówki rożne peryferia, a kosztuje 18EU plus przesyłka plus VAT pewnie. W sumie 32EU.

Re: Dla zainteresowanych grzebaniem w PICach cz.1

: środa 23 wrz 2015, 20:49
autor: Antystatyczny
Tak, wygląda rozsądnie, ale należy pamiętać, że na module tym NIE znajduje się pełna wersja debuggera

Re: Dla zainteresowanych grzebaniem w PICach cz.1

: czwartek 24 wrz 2015, 06:10
autor: SuperGość
Ale do obsługi, zaprogramowania picusiów, które do tej płytki mogą być włożone wystarczy pewnie? Chodzi o to aby nie wydać od razu 200zł jak za zmontowany AVT czy 330 jak za ten co wcześniej podałem, gdzie w obu przypadkach jeszcze trzeba by było dokupić programator. Szukam taniej opcji dla leniwych i nie mających dużo czasu :) , no bo w pewnym sensie najtańszą opcją jest zrobić samemu jakiś programator kupić procka i męczyć się ze wszystkim na stykówce (ale ja akurat jestem na to za leniwy i nie mam czasu :D).
Ale tu w przypadku płytki DM164137, a w szczególności jej programatora widzę inny problem, tam jest używany niskonapięciowy tryb programowania i nie da się użyć mikrokontrolera, który był zaprogramowany w innym trybie chyba ze się przy pomocy PICKIT3 to zmieni, no ale w sumie jak do tej pory nie używałem w ogóle PICów to niby skąd miałbym mieć taki mikrokontroler? ;)

Re: Dla zainteresowanych grzebaniem w PICach cz.1

: czwartek 24 wrz 2015, 09:20
autor: Antystatyczny
Pickit 3 jest programatorem wysokonapięciowym i nie ma problemu z prochami z wylaczonym LVP czy MCLR ;-)

Re: Dla zainteresowanych grzebaniem w PICach cz.1

: czwartek 24 wrz 2015, 09:34
autor: SuperGość
No tak, to wiem.