Dla zainteresowanych grzebaniem w PICach cz.1
: poniedziałek 07 wrz 2015, 01:25
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:
Jednak częściej natrafimy na Pickit3:
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:
Ach, no i jest jeszcze programator podłączany do portu LPT:
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!
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:
Jednak częściej natrafimy na Pickit3:
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:
Ach, no i jest jeszcze programator podłączany do portu LPT:
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!