Seria K mikrokontrolerów Microchip PIC24 – powrót do 5 V

Zestaw Microstick można dołączyć do układu docelowego zawierającego elementy peryferyjne np. wyświetlacz, klawiaturę, przekaźniki, obwody analogowe itp. przez wlutowanie w płytkę lub przez połączenie za pomocą popularnych gniazd z rastrem 2,54 mmm przystosowanych łączenia z listwami goldpinów. Z praktycznego punktu widzenia to bardzo wygodne rozwiązanie: pozwala bowiem użyć w docelowej płytce zamiast mikrokontrolera modułu Microstick i po uruchomieniu urządzenia zamontować w jego miejsce mikrokontroler w obudowie SDIP28. Jeżeli potrzebujemy typowego rozstawu DIP28, to można sobie wlutować dodatkową listwę goldpinów w wolny rząd padów oznaczony jako P3.

Zestaw Microstick for PIC24 5V K-series to dobrze pomyślany i wykonany minimoduł uruchomieniowy. Jego główne zalety:

  • małe wymiary,
  • wbudowany programator/debuger,
  • możliwość pracy z mikrokontrolerami PIC24 w obudowie SDIP28 zasilanymi napięciem +3,3 V i +5 V,
  • bezproblemowa współpraca z pakietem MPLAB X.

Programator/debuger umieszczony w drugiej części płytki jest zasilany (tak jak i programowany mikrokontroler) ze złącza mini USB. Prezentowany zestaw występuje w dwóch wersjach napięciowych (dla 3,3 V i 5 V), dlatego wyposażono go w stabilizator napięcia +3,3 V. W takim przypadku stabilizator napięcia zasilającego trzeba „przekonfigurować” poprzez wlutowanie rezystora 0? z pozycji R37 (bypass stabilizatora +3,3 V) i wlutowanie go w pozycję R38. Mikrokontroler programatora/debugera łączy się z aplikacją sterującą MPALB IDE poprzez port USB z jednej strony i z programowanym mikrokontrolerem poprzez interfejs programujący ICSP z drugiej strony.

Interfejs do programowania-debugowania ICSP firmy Microchip składa się z 2 linii (PGED i PGEC), może pracować w 2 trybach: z programowaniem wysokonapięciowym i niskonapięciowym. Przy programowaniu wysokonapięciowym interfejs ICSP jest aktywowany przez podanie napięcia na wejście zerowania MCLR o wartości ok. +8…9 V (nowsze mikrokontrolery) lub +12…13 V (starsze mikrokontrolery). Jest to bardzo rozpowszechniona metoda, ale wygenerowanie napięcia wyższego niż napięcie zasilające mikrokontroler jest zawsze kłopotliwe, bo wymaga stosowania przetwornicy napięciowej. Przez to programator jest bardziej rozbudowany, trudniejszy w wykonaniu i droższy. Od jakiegoś czasu Microchip równolegle stosuje programowanie niskonapięciowe wymagające aktywnego wejścia MCLR. Programator wbudowany w zestaw Microstick obsługuje tylko programowanie niskonapięciowe. Dlatego zaleca się by bity konfiguracyjne w trakcie używania programatora konfigurowały linię MCLR/RA5 jako wejście MCLR a nie jako linię GPIO (bit MCLRE w rejestrze konfiguracyjnym FPOR). W przeciwnym przypadku programowanie będzie możliwe tylko przez zewnętrzne programatory typu PICkit3 lub MPLAB ICD3 w trybie wysokonapięciowym . Tryb wysokonapięciowy pozwala zaprogramować mikrokontroler niezależnie od konfiguracji linii MCLR/RA5.

Ponieważ mikrokontroler PIC24FV15KM202 wyposażono w 2 porty ICSP, to w zestawie zastosowano mechaniczny przełącznik pozwalający dołączać linie PGED i PGEC programatora do jednej z dwóch par linii I/O mikrokontrolera „użytkownika”: PGED0 i PGEC0 lub PGED1 i PGEC1. Numer aktynego portu ICSP mikrokontrolera określają bity FICD1:FICD0 w rejestrze konfiguracyjnym FICD.

Ze strony producenta można ściągnąć projekt przeznaczony dla środowiska MPLAB X z programem demonstracyjnym. Program to może zbyt duże słowo, bo jest to prosta procedura powodująca miganie diodą LED umieszczoną na module. Testy działania tego programu rozpoczynamy od dołączenia modułu do portu USB, uruchomienia MPLAB X i otwarcia projektu testowego (rysunek 4).

 

Rys. 4. Okno właściwości projektu w MPLAB X 

Rys. 4. Okno właściwości projektu w MPLAB X

 

Żeby pakiet MPLAB X mógł się połączyć przez USB z programatorem/debugerem zestawu Microstick trzeba wybrać w oknie Hardware Tools okna właściwości projektu (File->Project properties->Hardware Toll ->Microchip Starter kits ->PKOB).

Program przykładowy jest bardzo prosty (listing 1), ale warto przeanalizować ustawienie bitów konfiguracyjnych łącznie z dołączonymi komentarzami. Może to nas uchronić przed przykrymi niespodziankami w czasie użytkowania tego modelu mikrokontrolera.

 

List. 1. Ustawienie bitów konfiguracyjnych w programie testowym

W czasie testów lekko zmodyfikowałem program, tak by czas gaszenia i zapalania diody był różny. Po kliknięciu na ikonę Make and Program Device wykonywana jest automatycznie kompilacja i jeżeli nie ma błędów, to jej wynik jest automatycznie przesyłany do pamięci Flash mikrokontrolera. Debugowanie uruchamia się z menu Debug->Debug Projects. Pakiet MPLAB X automatycznie kompiluje program z opcją Debug, a po kompilacji (bez błędów) automatycznie ładuje go do pamięci Flash mikrokontrolera.

Nie wszystko w prezentowanym zestawie jest idealne. Po pierwsze wbudowanego programatora-debuggera nie można wykorzystać wprost jako programatora innych mikrokontrolerów. Producent nie przewidział dodatkowego złącza z wyprowadzonymi sygnałami portu ICSP. Może nie jest to zbyt duża uciążliwość, bo zawsze można wyjąć mikrokontroler z podstawki i w jego miejsce włożyć drugą podstawkę z przylutowanymi przewodami.

Również cena – pomimo tego, że nie jest wysoka – nie nastraja zbyt optymistycznie. Zestawy można kupić w sklepie Microchip Direct w cenie ok. 30 USD. Znając nasze realia, cena zakupu w naszym kraju nie będzie niższa niż 120…140 PLN. W porównaniu z konkurencyjnymi modułami na przykład dla mikrokontrolerów STM32 z wbudowanym programatorem-debugerem STLink/v2 to 2 razy drożej.

Trzeba sobie jednak zdawać sprawę, że taka cena dla komercyjnego zastosowania nie jest wysoka. Jeżeli potrzebujemy takiego mikrokontrolera do projektu, to zakup prezentowanego zestawu spowoduje, że czas potrzebny do przygotowania wstępnego projektu można skrócić tak bardzo jak to tylko możliwe. A to już olbrzymia oszczędność, bo czas programisty jest zazwyczaj bardzo drogi.

Do pobrania

O autorze