A 16-bit 28-pin Starter Board fejlesztői kártya

A fejezet tartalma:
A Microchip által kifejlesztett 16-bit 28-pin Starter Board fejlesztői kártya a 16 bites, 28 lábú PIC24F és PIC24H mikrovezérlőihez, valamint a dsPIC30 és dsPIC33 digitális jelvezérlőihez készült. A kártya tartalmaz négy LED-et, egy RESET és egy felhasználói nyomógombot, potenciométert, valamint egy PIC18F2450 mikrovezérlővel megvalósított USB-TTL soros átalakítót. A kártya dokumentációja a Microchip honlapjáról tölthető le.


1. ábra: A 16-bit 28-pin Starter Board fejlesztői kártya
(kattintson a képre a nagyobb felbontáshoz!)

A kártya 5 V-os és 3,3 V-os feszültségstabilizátorokat is tartalmaz. A tápellátás az USB csatlakozóból, vagy 9 V-os fali dugasztápból vehető. A mikrovezérlő foglalatba dugható (tehát cserélhető), s minden ki/bemenetként felhasználható lába ki van vezetve tüskesorra (tehát hozzáférhető). A kezdőcsomag PIC24FJ64GA002 mikrovezérlőt és dsPIC33FJ12GP202 digitális jelvezérlőt tartalmaz. Természetesen annak sincs akadálya, hogy a PIC-kwik projektben szereplő PIC24HJ128GP502 mikrovezérlőt vásároljunk hozzá, ami nagyobb kompatibilitást biztosít a példaprogramokhoz. Azonban a legtöbb példaprogram a PIC24FJ64GA002 mikrovezérlőn is futtatható.

Megjegyzés: ez a kártya 5 V-os tápfeszültségű (dsPIC30) eszközök használatára is fel van készítve, ezért bekapcsolás előtt gondosan ellenőrizzük az átkötések és a kapcsolók beállítását, nehogy tönkretegyük a 3,3 V-os tápfeszültségű mikrovezérlőt! A legfontosabb, hogy a JP2 átkötés a 3,3 V-os állásban legyen! A JP1 legyen USB állásban, ekkor az USB csatlakozón keresztül biztosítjuk a tápellátást (nem kell külön tápegység, ha a PC-hez csatlakoztatjuk a kártyát)! JP3 legyen PIC24/dsPIC33 állásban, az SW2 kapcsoló pedig legyen USB/DEBUG állásban!

A 16-bit 28-pin Starter Board  kártya az alábbiakban különbözik a PIC-ador kártyától:

A Starter Board beüzemelésének lépései

  1. Vásároljon egy DM300027 16-bit 28-pin Starter Board fejlesztői kártyát (magyarországi forgalmazója a ChipCAD Kft.)!
  2. Legalább az első felprogramozáshoz szüksége lesz egy ICSP programozóra (PICkit2, vagy hasonló), ezárt szerezzen be, vagy kérjen kölcsön egyet!
  3. A letöltött és kibontott code_examples.zip állomány "hex" mappájában található 16bit_28pin_StarterBoard_PIC24FJ64GA002_57600.hex állományt égesse be a PIC24FJ64GA002 mikrovezérlőbe!
  4. A kártya élesztéséhez csatlakoztassa azt egy USB kábellel a PC-hez! Ellenőrizze a tápfeszültséget (a kártyához kapott mindkét mikrovezérlő 3,3 V-os tápfeszültséggel működik)! Az USB kapcsolat beüzemeléséhez első csatlakozáskor szüksége lesz a fent említett code_examples.zip állomány PIC18 nevű mappájában található inf almappában található állományokra.
  5. A kártya sikeres felismertetése után indítsa el a Bully Bootloader programot (winbootldr.exe),  és a chap08 mappában található előbb az echo.mcp, majd a reset.mcp projektek újrafordításával, valamint a fordításkor kapott echo.hex, illetve reset.hex programok letöltésével és kipróbálásával ellenőrizze a kommunikációt! 

A Starter Board használatához javasolt alapértelmezett beállítások

  1. HARDWARE_PLATFORMSTARTER_BOARD_28P (ennek hatására az életjelző LED (HB_LED) az RB15 kimenethez lesz rendelve, amit a CONFIG_HB_LED() meghívása ellenütemű kimenetnek állít be, a configDefaultUART() lefutása pedig a soros porti kommunikációt az RB9/RX és RB8/TX lábakhoz rendeli.) Ez a kártya tehát más kivezetéseken kommunikál, mint az alapértelmezett kísérleti áramkör, s ez sok bonyodalmat okoz a későbbiekben a lábkiosztást illetően!
  2. DEFAULT_BAUDRATE = 57600 bit/s
  3. CLOCK_CONFIG = FRCPLL_FCY16MHz (PIC24F mikrovezérlő esetén a belső oszcillátorból fáziscsatolt hurokkal előállított 16 MHz az alapértelmezett Fcy utasításfrekvencia). Ezen kívül az előre definiált órajelek közül még a PRI_NO_PLL_7372KHzCrystal-t választhatjuk, ami a kártya beépített rezgőkvarcával stabilabb órajelet biztosít, de a PLL kikapcsolt állapota miatt ez csak FCY = 3,685 MHz-es utasításfrekvenciát eredményez.  Természetesen további üzemmódokat is definiálhatunk, vagy beállíthatunk, akár a PIC24 támogatói programkönyvtár bővítésével, akár attól függetlenül. 
Megjegyzés: Néhány projektet kifejezetten a Starter Board használatához dolgoztunk át. Ezeket a starter_board_28p mappában találja meg. Ezeknél feltételeztük a bootloader használatát. Ha bootloader nélkül tölti be a programokat, akkor fordítás előtt vegye ki a projektből a p24FJ64GA002_bootldr.gld nevű állományt!
Az alábbiakban részletes útmutatót talál a Starter Board beüzemeléséhez.

A USB-UART átalakító beüzemelése

A kártyára épített USB-UART átalakító a PIC24 mikrovezérlőtől függetlenül beüzemelhető és kipróbálható:

Az MSU bootloader beégetése

A 16-bit 28-pin Starter Board fejlesztői kártyát kétféle képpen használhatjuk:
  1. Bootloader (betöltő program) nélkül, ekkor a kipróbálni kívánt programokat közvetlenül, egy programozó készülékkel (pl. PICkit2) juttatjuk bele a PIC24 mikrovezérlőbe. Ennek a megoldásnak az az előnye, hogy a PICkit2 készülék segítségével hardveres nyomkövetést is végezhetünk. Ha ezt az utat választja, akkor a bootloader beégetésre nincs szükség, folytassa az "A mintaprogramok futtatása a Starter Board kártyán" szekciónál!
  2. Bootloaderrel, ami azt jelenti, hogy a programokat az USB-UART átalakítón keresztül töltjük le a mikrovezérlőbe, ez esetben azonban előzetesen bele kell égetni egy betöltő programot a PIC24 mikrovezérlőbe. A bootloader használatának az az előnye, hogy csak egy vezetékkel kell kapcsolódnunk a PC-hez, s ugyanzzal a PC alkalmazással töltjük le a lefordított programokat is, amit a kommunikációhoz használunk, sőt, a jelenlegi változata már bizonyos nyomkövetési lehetőséggel is rendelkezik (futás közben ellenőrizhetjük és módosíthatjuk a programban előzetesen kijelölt változókat). 
A PIC-kwik projektben használt MSU bootloadert a Mississipi State University oktatói a Microchip AN1094 alakalmazási mintapéldájából kiindulva fejlesztették ki, s ez az a betöltőprogram, amelyik maximálisan kihasználja az általuk összeállított PIC24 támogatói programkönyvtár nyújtotta kommunkációs és hibakeresési lehetőségeit. A bootloader használata lehetővé teszi, hogy a Starter Board fejlesztői kártyát a mikrovezérlők első felprogramozása után programozó készülék nélkül használhassuk.

Ha rendelkezünk programozó készülékkel (pl. PICkit2, PICkit3, ICD2 vagy ICD3), akkor ezt az első felprogramozást könnyen elvégezhetjük mivel a kártyára építettel ICSP és ICD csatlakozókat. A PICkit2 programozó készülék csatlakoztatása az alábbi kép szerint történhet. A Starter Board fejlesztői kártya PIC24FJ64GA002 mikrovezérlőjébe a starter28p_firmware_p24FJ64GA002.hex állományt kell beégetn, ami a PIC-kwik projekt honlapjáról letölthető. Ez az állomány a bootloaderen kívül már a reset.c mintaalkalmazást is tartalmazza, így bekapcsoláskor már életjelet is mutat a kártya. Programozáskor nem szükséges külön tápfeszültséget adni a kártyának.

2. ábra: A PICkit2 programozó készülék csatlakoztatása a Starter Board fejlesztői kártyához

Ha nem rendelkezünk programozó készülékkel, akkor kérjünk meg valakit az első felprogramozás elvégezésére!  Arra azonban ügyeljünk, hogy pontosan specifikáljuk, hogy mire van szükségünk! A Starter Board bootloaderes használatáhozaz alábbi állomány beégetését kérje. Ez az állomány a bootloaderen kívül már a reset.c mintaalkalmazást is tartalmazza, így bekapcsoláskor már életjelet is mutat a kártya.

1. táblázat: Letölthető firmware a Starter Board kártyában  használt mikrovezérlőkhöz
MikrovezérlőA beégetésre javasolt állomány
PIC24FJ64GA002-I/SP
starter28p_firmware_p24FJ64GA002.hex
MSU bootloader + reset.c mintapélda
PIC24HJ64GP502-I/SPstarter28p_firmware_p24HJ64GP502.hex
MSU bootloader + reset.c mintapélda
PIC24HJ128GP502-I/SPstarter28p_firmware_p24HJ128GP502.hex
MSU bootloader + reset.c mintapélda
Megjegyzés:

A mintaprogramok futtatása a Starter Board kártyán

A PIC-kwik projekt példaprogramjai, amelyek a kibontott code_examples.zip állomány chap08 mappájától kezdődően futtathatók mikrovezérlőn (a korábbi fejezetek példaprogramjait csak szimulátorban futtassa!), a PIC-ador kártyához vannak beállítva. A projektek jelentős része azonban minimális változtatással futtathatók a Starter Board fejlesztői kártyán is. A fő különbség az, hogy más a mikrovezérlő típusa (PIC24FJ64GA002), s ennek megfelelően át kell állítani a mikrovezérlő típusát és el kell távolítani, vagy ki kell cserélni a projektben a projektben eredetileg szereplő linker állományt.

A példaprogramok projekt állományait (.mcp kiterjesztésű állományok) duplakattintással nyissa meg! Nyissa meg pl. a 8. fejezet echo.mcp projektjét! Ez a mintaprogram eggyel megnövelve tükrözi vissza a beérkező karakterek kódját. Ha például az 'abc' karaktereket küldjük ki a PC-ről, akkor a 'bcd' üzenetet kapjuk válaszul.

1. Ellenőrizze, hogy az MPLAB IDE (integrált fejlesztői környezet) Configure/Select Device menüjében az ön által használt mikrovezérlő van kiválasztva! Ha nem, akkor állítsa át a kiválasztott típus!

3. ábra: A mikrovezérlő típusának kiválasztása az MPLAB IDE Configuration/Select Device menüjében

2. Vegye ki a projektből a PIC-ador kártyához való linker scriptet! A projekt ablakban kattintson jobb gombbal a állománynévre, s a felbukkanó menüben válassza a Remove (eltávolítás) opciót!

3. Ha bootloadert használ a programok letöltéséhez, akkor adja hozzá a projekthez a Starter Board kártya MSU bootloaderéhez illeszkedő linker állományt! Kattintson az egér jobb gombjával a Linker Script feliratra, s a felbukkanó menűben válassza ki az Add Files to Project (állományok hozzáadása a projekthez) menüpontot, s a felbukkanó ablakban keresse meg a kiválasztott mikrovezérlőhöz tartozó linker állományt! A bootloaderhez való linker scriptek a kibontott code_examples.zip állomány lib/lkr mappájában találhatók. Ezek az MSU bootloader "újabb" változatához való linker állományok. A lib/lkr/old mappában található állományokat ne használja, azok az MSU bootloader régi változatához valók!

4. ábra: A bootloaderhez illeszkedő linker script állomány hozzáadása a projekthez

4. Ellenőrizze a Project/Build Options/Project menüben az MPLAB C30 fülre kattintva, hogy nincs olyan makró definiálva, ami nem kompatibilis a Starter Board kártyával (pl. a HARDWARE_PLATFORM makró vagy ne legyen definiálva (ebben az esetben a lib/include/pic24_libconfig.h állományban kell definiálni a HARDWARE_PLATFORM makrót STARTER_BOARD_28P értékkel, vagy ha definiálva van, akkor STARTER_BOARD_28P értékkel legyen megadva! Ugyanitt állíthatók be - szükség esetén - a DEFAULT_BAUDRATE, CLOCK_CONFIG, DEBOUNCE_DLY, SERIAL_EOL_DEFAULT stb. makrók is, amelyek az adott projektre vonatkozóan felülbírálják a pic24_libconfig.h fejléc állomány beállításait. Ha itt, a projekt opciók között nincsenek ezek a makrók definiálva, akkor az alapértelmezett, vagyis a pic_libconfig.h állományban megadott beállítások érvényesülnek. Ebben az állományban a gyárilag beégetett bootloaderhez a DEFAULT_BAUDRATE makró 57600 értékkel legyen definiálva!

5. Ha a programot normál módban akarja kipróbálni, akkor az MPLAB IDE főmenüjének legördülő listájában a Debug helyett a Release fordítási módot válassza ki, majd kattintson a Build ikonra, vagy válassza ki a Project/Build All menüpontot! Figyelem: Bootloader használata esetén kizárólag a "normál mód" (Release) használható!

6. Sikeres fordítás esetén csatlakoztassa a Starter Board kártyát egy USB kábellel a számítógéphez, majd indítsa el a Bully Bootloader programot (bin/winbootldr.exe), válassza ki a tesztelésekor már felismertetett USB eszközhöz tartozó virtuális soros portot (pl. COM10), állítson be 57600 bit/s adatsebességet, s kattintson (tegyen pipát) az OpenCom felirat elé!

7. A Bully Bootloader letöltőprogram Hexfile gombjára kattintva tallózza be az imént lefordított program hex állományát (chap08/echo.hex)! Nyomja meg a Starter Board kártya RESET gombját, majd 1-2 másodpercen belül kattintson a Bully Bootloader letöltőprogram Program gombjára! Ha mindent jól csinált, akkor a letöltőprogram felismeri a kártyába épített mikrovezérlőt és elkezdődik a programletöltés, majd annak végeztével automatikusan elindul a program. A program futásának eredménye az alábbihoz hasonlóan néz ki - természetesen a mikrovezérlő azonosítója, verziószáma és típusszáma más lesz...

5. ábra: Az echo.c program futásának eredménye

Az új projektek létrehozásának lépéseit az "A kísérleti áramkör" c. fejezet ismerteti.