You are on page 1of 6

Zestaw uruchomieniowy Edla Y C Z Y T E L NMSP430 P R O J K T procesorw I K W

Dzia Projekty Czytelnikw zawiera opisy projektw nadesanych do redakcji EP przez Czytelnikw. Redakcja nie bierze odpowiedzialnoci za prawidowe dziaanie opisywanych ukadw, gdy nie testujemy ich laboratoryjnie, chocia sprawdzamy poprawno konstrukcji. Prosimy o nadsyanie wasnych projektw z modelami (do zwrotu). Do artykuu naley doczy podpisane owiadczenie, e artyku jest wasnym opracowaniem autora i nie by dotychczas nigdzie publikowany. Honorarium za publikacj w tym dziale wynosi 250, z (brutto) za 1 stron w EP. Przysyanych tekstw nie zwracamy. Redakcja zastrzega sobie prawo do dokonywania skrtw.

Zestaw uruchomieniowy dla procesorw MSP430F449


Chyba nie ma takiego elektronika, ktremu by nie wpad do rk przynajmniej jeden jaki zestaw uruchomieniowy. Producenci mikrokontrolerw, ukadw programowalnych, procesorw DSP itp. udostpniaj je konstruktorom, wychodzc z zaoenia, jest to dobra metoda zachcania do stosowania ich wyrobw w projektowanych urzdzeniach. Zdarza si te, e takie zestawy powstaj na wasne potrzeby w warsztatach domowych. Rekomendacje: zestaw dedykujemy gwnie Czytelnikom zainteresowanym poznaniem mikrokontrolerw MSP430.

Projekt

155

PODSTAWOWE PARAMETRY Pytka o wymiarach 263x149 mm Zasilanie 8 VAC lub DC Mikrokontroler MSP430F449 Interfejsy: RS232, USB, SPI, JTAG, I2C, 1Wire Obsuga kart SD/MMC Peryferia: wywietlacz LCD, wywietlacz graczny, wywietlacz LED (4x7segm.), wskaniki LED, klawiatura matrycowa 5x3, 8 przecznikw 2stabilnych, 8 przyciskw, czujnik temperatury, potencjometr do regulacji napicia wykorzystywanego w eksperymentach z przetwornikami A/C i C/A, 2 buzery

Mikrokontrolery rodziny MSP430 coraz czciej znajduj zastosowanie w urzdzeniach elektronicznych, zwaszcza w sprzcie pomiarowym. Do wyboru mamy zarwno ukady proste i tanie, jak i rozbudowane o wyszej cenie. Wszystkie mikrokontrolery MSP430 maj jednak dwie wsplne cechy niski pobr mocy i szybki czas przejcia midzy stanami procesora. Oszczdno zuywanej mocy uzyskuje si poprzez moliwo przeczania mikrokontrolera w rne tryby pracy. Pozwala to zredukowa prd pobierany z zasilania do wartoci nawet poniej 1 mA. Czas przejcia ze stanu wstrzymania do penej gotowoci jest przy tym rwny zaledwie 6 ms. Najlepszym sposobem poznania procesora jest obserwacja jego pracy podczas rnych eksperymentw przeprowadzonych w praktyce. Niezbdny do tego zestaw uruchomieniowy moliwy do samodzielnego wykonania opisujemy w tym artykule.

Opis ukadu

Do zestawu uruchomieniowego MSP430 wybrano mikrokontroler MSP430F449. Zadecydowaa o tym dua rnorodno jego peryferii:

60 kB pamici programu typu Flash, 2048 B pamici danych typu Flash i 2048 B RAMu, dwa odrbne interfejsy USART, ktre mog pracowa w trybach UART i SPI, 12bitowy przetwornik A/C, sterownik wywietlaczy LCD, komparator analogowy, cztery liczniki: Watchdog Timer (sucy do kontroli pracy procesora lub jako zwyky licznik), Basic Timer (wykorzystywany gwnie przy pracy sterownika wywietlacza LCD) Timer_A3 i Timer_B7. Zarwno Timer_A3, jak i Timer_B7 mog suy do generacji przebiegw o ronych wypenieniach (PWM) lub do odliczania czasu, po ktrym generowane jest przerwanie. Na szczegln uwag zasuguje modu oscylatora FLL+, ktry umoliwia generowanie sygnau zegarowego na 4 sposoby, wykorzystujc: wejcie LFX1 (jest to wejcie, ktre moe pracowa w dwch trybach pracy: niskiej i wysokiej czstotliwoci z rezonatorami odpowiednio 32,768 kHz i od 455 kHz do 8 MHz); wewntrzny generator wysokiej czstotliwoci FFL+; wewntrzny DCO umoliwiajcy prac

Elektronika Praktyczna 10/2007

101

Zestaw uruchomieniowy dla procesorw MSP430


procesora bez zewntrznego rezonatora kwarcowego. Prezentowany zestaw zosta wyposaony w peryferia, ktre s najczciej stosowane w urzdzeniach elektronicznych. Na pycie znajduj si wic trzy wywietlacze: LCD, wywietlacz graczny z telefonu Nokia 3310 oraz wywietlacz 7segmentowy LED. Poza tym, jest tu te: 8 przecznikw suwakowych, 8 mikrowcznikw, klawiatura matrycowa, interfejsy JTAG, RS232 (MAX3232), USB (FTDI 232BM), ukad RTC (DS1338), czujnik temperatury (DS18B20), dwa buzery (bez generatora i z generatorem), czytnik kart SD/MMC, przetwornik C/A (DAC8574), A/C i 10 diod LED. Magistrale I 2C, SPI i 1 Wire s wyprowadzone na dodatkowe piny, dziki czemu moliwe jest czenie zestawu z innym urzdzeniem. Opisywany zestaw uruchomieniowy posiada wasny programator JTAG wykorzystujcy do komunikacji z komputerem zcze LPT. Naley rwnie wspomnie, e programatory JTAG oparte na zczu LPT dziaaj jedynie na komputerach stacjonarnych. W artykule zostan rwnie przedstawione przykadowe programy przedstawiajce dziaanie poszczeglnych moduw. Bdzie je mona wykorzystywa do tworzenia wasnych projektw. Schemat ideowy zestawu startowego przedstawiono na rys. 1. Mona w nim wydzieli kilka blokw, ktre s doczane do procesora za pomoc odpowiednich zworek. Uytkownik moe wpywa na stan systemu oraz bada go poprzez zestaw przecznikw i diod wieccych. Na pytce umieszczono dwa ukady przecznikw i dwa ukady diod LED. Ukady przecznikw moemy podzieli na zestaw 8 przecznikw i 10 diod oraz zestaw klawiatury matrycowej. Diody i przeczniki doczono do portu P4, a sterowanie nim odbywa si za pomoc buforw 74HC574 i 74HC245. Kade wejcie 8bitowego ukadu 74HC245 jest wyposaone w jedn par przecznikw. Nale do niej mikroprzeczniki, jak rwnie poczone rwnolegle z nimi przeczniki suwakowe. O wyborze, ktry z tych rodzajw przecznikw ma by aktywny decyduje uytkownik. Rezystory podcigajce wymuszaj wysoki stan, gdy przeczniki pozostaj rozwarte. Do wczenia diod LED lub odczytania stanu przecznikw wymagane jest jeszcze dodatkowe wysterowanie odpowiednich linii portu. W przypadku diod jest to port P2.3, a w przypadku przecznikw port P2.2. Dwie dodatkowe diody znajdujce si na pytce (LED11 i LED12) s wczane poprzez podanie niskiego stanu na wejcia zawsze otwartego bufora 74HC125. Klawiatura matrycowa zostaa zbudowana z 15 mikroprzecznikw, drabinki rezystorowej typu SIP oraz jednego ukadu buforujcego 74HC245. Obsuga klawiatury jest typowa podaje si odpowiednie stany np. na kolejne wiersze klawiatury i odczytuje si stany kolumny. Na tej podstawie mona okreli stan kadego styku klawiatury. Trzeba jednak uwaa, bo stan klawiatury moe by bdnie odczytany, na przykad wtedy, gdy zostanie wcinity wicej ni jeden przycisk. Klawiatura jest doczana do procesora zczem SV11 oraz SV8. Zcze SV11 odpowiada jako we/wy klawiatury, natomiast zcze SV8 jest portem P1 procesora. Podczas korzystania z klawiatury naley sprawdzi, czy do portu P1 nie s doczone inne urzdzenia. Mogoby to by przyczyn bdnych odczytw klawiatury. W zestawie uruchomieniowym zastosowano dwa rodzaje buzerw elektromagnetycznych. Buzer z generatorem wewntrznym SG2 i buzer bez generatora wewntrznego SG1. Buzer SG1 wymaga programowej obsugi przez mikrokontroler, jest doczony do portu P1.2 za pomoc zworki, SG2 moe by wysterowany jedynie poprzez podanie stanu niskiego na wyjcie sterujce (P1.5). Interfejs USB zrealizowano na ukadzie FT232BM wraz z pamici 93C46, ktra suy do zachowywania konguracji portu, jak rwnie do zapisania informacji zwizanych z identykacj konwertera. Pomimo, e ukad jest przystosowany do zasilania napiciem z +5 V, moe pracowa z systemami o innych standardach napiciowych. Dziki nce VCCIO (nka 13), ktr mona zasila napiciem +3 V bd +5 V, decyduje si o standardzie poziomw logicznych linii RS232. Na pytce zestawu uruchomieniowego umieszczono zwork J12, dziki ktrej mona wybra sposb zasilania nki VCCIO. Konwerter FT232BM jest zasilany z szyny USB. Piny TxD i RxD ukadu s wyprowadzone na zcze SV10. Czujnik temperatury DS18B20 komunikujcy si z mikrokontrolerem przez interfejs 1Wire doczono do portu P1.4, ktry pracuje jako zwyky port wejciawyjcia. Ze wzgldu na brak interfejsu 1Wire w zastosowanym mikrokontrolerze obsuga tego portu odbywa si programowo. Linia interfejsu jest podcigana do napicia Vcc. Wywietlacz 7segmentowy znajdujcy si na pytce zestawu jest obsugiwany multipleksowo. Wszystkie linie danych wywietlacza (katody) podczono do portu procesora P1, anody s sterowane poprzez tranzystory. Uaktywnienie jednego z wywietlaczy polega na podaniu na port P2.x (bramk tranzystora BCX71) niskiego stanu logicznego, a nastpnie wpisaniu na magistral danych odpowiadajcych wartoci przewidzianej do wywietlenia. Naley pamita, aby czstotliwo odwieania wywietlaczy miecia si w granicach 90...100 Hz. Pozwoli to na wyeliminowanie efektu migotania cyfr. Aby podczenie wywietlacza do portw mikrokontrolera byo wygodne, zastosowano dwa cza SV6 i SV5. Wywietlacz graczny LPH7779 rwnie umieszczony na pytce zestawu posiada wbudowany sterownik PCD8544. W momencie wpisania informacji z procesora do pamici kontrolera, zostaj one automatycznie wysane do wywietlacza i nie wymagaj odwieenia. Wywietlaczem steruje si za pomoc interfejsu szeregowego SPI. Komunikacja odbywa si za pomoc 4 linii sygnaowych SCE, D/C, SDIN, SCLK, ktre poprzez zworki podczono do portu P3 mikrokontrolera. Wywietlacz ten moe pracowa w dwch trybach prezentacji: poziomym (gwnie do wywietlania tekstu) i pionowym (wywietlanie graki). O typie informacji przesyanych do wywietlacza decyduje stan linii D/C (H dane do wywietlenia, L komendy sterujce). Dane s wysyane lini SDIN od najstarszego do najmodszego bitu w takt zegara podawanego na linii SCLK. Dane s odbierane tylko wtedy, gdy linia SCE jest w stanie niskim. Gdy

102

Elektronika Praktyczna 10/2007

Zestaw uruchomieniowy dla procesorw MSP430


SCE jest w stanie wysokim, to wywietlacz nie reaguje na dane pojawiajce si na linii S D I N . Po c z t kiem transmisji jest zbocze opadajce na linii SCE. Wielk zalet mikrokontrolerw rodziny MSP430 jest wewntrzny sterownik wywietlacza LCD. Zastosowany tu wywietlacz SBLCDA2 rmy SOFTBAU G H p o s i a da wicej ni 160 segmentw, co przekracza moliwoci sterownika w mikrokontrolerze MSP430F449. Pominito wic wywietlanie t z w. Pr o g r e s s bar. W zastosowanym mikrokontrolerze operacja odwieania wywietlacza niezbdna do jego prawidowej pracy jest wykonywana automatycznie przez sterownik sprztowy, nie obcia wic programu. Przed przystpieniem do uruchomienia wywietlacza naley pamita o zwarciu zworek R03, R13, R23 oraz R33. Zworki doczaj rezystory zewntrzne do mikrokontrolera i odpowiadaj za uzyskanie przebiegu schodkowego na wyjciach COM. Wczenie zegara czasu rzeczywistego (DS133833) jest moliwe po zwarciu linii SDA i SCL zworkami SV2. Linie te tworz programowo obsugiwany interfejs I2C i s doczone do portu P2. Poprzez I2C jest rwnie obsugiwany 16bitowy przetwornik cyfrowo analogowy o 4 wyjciach analogowych (DAC8574). Sposb adresowania DAC8574 umoliwia podczenie do tej samej magistrali I2C nawet 16 takich ukadw. Ukad moe pracowa zarwno przy napiciu 5 V i 3,3 V. Ustala si to

Rys. 1. Schemat ideowy zestawu startowego

nk IoVDD. Ukad DAC8574 jest podczony do portu P2 poprzez zwork SDA i SCL. Zerowanie mikrokontrolera, ze wzgldu na wywietlacz LPH7779, zrealizowano przy uyciu ukadu TPS382533. Jego zadaniem jest monitorowanie procesu wczania (z ustalonym czasem oprnienia

200 ms) i zapewnienia odpowiedniego czasu zwizanego z zerowaniem procesora. Zaimplementowany w mikrokontrolerze sterownik magistrali SPI wykorzystano do obsugi kart pamiciowych SD/MMC pracujcych w trybie SPI. Naley zwrci uwag na to, e slot karty SD cakowi-

Elektronika Praktyczna 10/2007

103

Zestaw uruchomieniowy dla procesorw MSP430

Rys. 1. c.d.

cie rni si od slotu karty MMC. Karta MMC pasuje do slotu karty SD, lecz odwrotnie ju nie! Jest to zwizane z charakterystyczn budow kart. Karta MMC posiada jedynie 7 pinw, czyli o 2 piny mniej karta SD. Dodatkow rnic pomidzy kartami jest obsuga przez karty SD funkcji writeprotection (zabezpieczenie przed zapisem). Kada karta SD jest wyposaona w may przecznik, dziki ktremu Host rozpoznaje, czy dana karta jest zabezpieczona przed zapisem czy te

nie. Jedyn wspln cech obu tych kart jest warto napicia zasilania oraz topologia wyprowadze. Ostatnim, ale jake wanym ukadem w zestawie MSP430 jest interfejs JTAG. Jak mona zauway, zosta on zbudowany przy uyciu bufora 74HC244 i kilku rezystorw. Sam ukad 74HC244 peni dwie funkcje: wzmacniacza sygnau, czyli ukadu odseparowujcego obcienie portu LPT od procesora i odwrotnie,

konwertera napi port LPT pracuje w standardzie TTL o zasilaniu 5 V, natomiast procesor pracuje przy zasilaniu 3 V. Konwersja napi jest w tym przypadku konieczna. Podczas transmisji przez port LPT w kierunku od komputera do mikrokontrolera konwersja poziomw jest zapewniona poprzez zasilanie samego bufora 74HC244 napiciem rwnym 3,3 V, a wic rwnym poziomowi napicia zasilania procesora. W kierunku przeciwnym adna konwersja nie jest potrzebna, gdy poziomy logiczne mikrokontrolera mieszcz si w przedziale standardu TTL. Do podczenia procesora z JTAGiem su dwa zcza gold pinw JtagA i JtagB. Poczenie ze sob tych zczy spowoduje doczenie mikrokontrolera do JTAGa. Naley jednak zwrci uwag, aby odpowiednie wyjcia mikrokontrolera byy poczone z odpowiednimi wejciami ukadu JTAG. Przed rozpoczciem transmisji pomidzy zestawem MSP430 a komputerem naley jeszcze wyjcie LPT JTAG

104

Elektronika Praktyczna 10/2007

Zestaw uruchomieniowy dla procesorw MSP430

Rys. 1. c.d.

a poczy przewodem 1:1 wyposaonym w zcza DB25F (eskie) i DB25M (mskie). Do zestawu doczono programy, ktre maj uatwi nauk jzyka C i asemblera procesora MSP430. Zostay napisane w rodowisku IAR, ktre mona pobra za darmo ze strony Texas Instruments: http://focus.ti.com/docs/toolsw/folders/print/ iarkickstart.html. O rodowisku tym mona przeczyta w artykule Zestaw startowy dla procesora MSP430F413, cz 2 (EP 3/2006).

Przykadowe programy

Pierwszy program przykadowy pokazuje obsug diod LED i przecznikw. Przed przystpieniem do eksperymentw naley sprawdzi, czy zcze JP14 SV14, SV15 oraz SV5 nie jest zwarte lub podczone. Nastpnie naley zewrze zwork 245, 574 portu P2 oraz zewrze piny portu P4 z pinami lecymi poniej. Zasada dziaania programu polega na przesuwaniu zawieconej diody w lewo. Prdko przesuwania jest ustawiana za pomoc przecznikw. Caa procedura sprowadza si do cyklicznego odczytywania stanu przecznikw, prze-

suniciu diody oraz dekrementacji ptli. Warto ptli jest ustalana wanie na podstawie przecznikw. W przykadzie drugim bawimy si brzczykami. SG1 jest wysterowany przebiegiem ok. 2 kHz, a SG2 na przemian stanem 0 i 1. Dodatkowo aktywne stany buzerw s sygnalizowane wizualnie diodami LED12 i LED11. W celu uruchomienia brzczyka naley zewrze piny SG1, SG2, LED11 i LED12 z portem P1 procesora. Naley jednak pamita, i przed uruchomieniem programu wymagane jest skontrolowa-

Elektronika Praktyczna 10/2007

105

Zestaw uruchomieniowy dla procesorw MSP430


nie czy do portu P1 nie s podczone jeszcze inne ukady. Mogoby to zakci prac buzerw i samego mikrokontrolera. Trzeci przykad to obsuga wywietlacza 7segmentowego oraz klawiatury matrycowej. Program odczytuje stany przecznikw, a nastpnie wywietla numer danego przecznika na wywietlaczu. Naley pamita, e zastosowane bufory nie s zatrzaskami, co wymaga programowego odwieania informacji na wywietlaczu. W celu uruchomienia programu naley porozwiera wszystkie zworki na porcie P1 i P2, a nastpnie poczy ze sob cza SV8 z SV11 oraz SV5 z SV6. W czwartym przykadzie prezentowane s procedury obsugi wywietlacza LPH7779. Programu umieszcza na wywietlaczu cigu znakw (string). Znaki s pobierane z tablicy zawartej w programie. Podczenie tego wywietlacza sprowadza si jedynie do zwarcia pinw SDA1, SCLK, D/C i CS do portu P3 procesora. Obsug wywietlacza SBLCD2 przedstawiono w pitym programie przykadowym. Pomimo, i jest to wywietlacz bez sterownika, to od strony programowej naley wykona jedynie kilka czynnoci, jako e ca operacj sterowania wywietlaczem realizuje wewntrzny sterownik mikrokontrolera. Do uruchomienia wywietlacza naley zewrze piny w zczu SV14 i SV15. Szsty program demonstruje obsug przetwornikw C/A i A/C. W tym przykadzie napicie wyjciowe przetwornika C/A zaley od ustawienia suwaka potencjometru. Jego pooenie jest okrelane na podstawie napicia odczytywanego przez przetwornik A/C. Problemem s w tym przykadzie rne rozdzielczoci przetwornikw. Konwersj z liczby 12bitowej na 16 bitow realizuje si przez przesuwanie wartoci z przetwornika A/C o 4 pozycje w lewo. Przed uruchomieniem programu naley podR E K

WYKAZ ELEMENTW Rezystory R1...R8, R16, R17, R29...R34, R41, R54: 220 V R9...R11: 200 kV R12, R13: 27 V R14: 1 MV R15: 1,5 kV R18: 2,2 kV R19, R43...R53, R63...R69, R71: 33 kV R20: 470 V R21...R24, R42: 330 V R25...28, R57, R72: 10 kV R35: 52 kV R36, R39: 330 V R40: 200 kV potencjometr wieloobrotowy montaowy R55: 10 kV R56: 25 kV potencjometr montaowy R58...R62: 50 kV R70: 4,7 kV RN1: 33 kV drabinka rezystorowa RN2: 33 kV drabinka rezystorowa Kondensatory C1: 100 mF/16 V C2, C6, C10...C14, C22, C23, C27: 0,1 mF/16 V C3, C5: 10 mF/16 V C4: 33 nF C7: zaley od kwarcu C8: zaley od kwarcu C9, C15: 1 mF C16...C20: 100 nF C21: 0,01 mF C24, C26: 10 mF/16 V C28: zaley od kwarcu C29: zaley od kwarcu

Pprzewodniki D1...D4: DSOD87 IC2: 7805T IC3, IC7, IC8, IC10: 74HC244DW IC4, IC6: 74HC245DW IC5: 74HC574D IC9: 74HCT125D LED1...LED12: diody LED SMD LEED2: LPH7779 LEED3, LEED4: HDK121 Q6...Q9: BCX71SMD U$2: DAC8574 U$3: TPS75833 U$4: SBLCDA2T U$6: FT232BMM U$7: 74244M U1: MSP430F449IPZ U4: 93C46 U5: DS1338 U6: MAX3232CWE U7: TPS3825XX U8: MS18B20 Inne U$1: 90SMX kwarc U$5: zcze karty SD/MMC 12: zwoorka ANALOG: zcze L05P JP1...JP14: zworki JTAGA, JTAGB: zcze MA072 M1...M8: przecznik 255SB Q1: kwarc 32,768 kHz Q2: kwarc 6 MHz Q4: kwarc CRYTALHC49UV RESET, S1...S32: mikroprzecznik SG1, SG2: buzer SV1...SV15: zworki

czy przetwornik C/A. W tym celu zwieramy piny SDA i SCL na porcie P2 procesora. Ostatni program przykadowy dotyczy obsugi interfejsw RS232 i USB. Program odbiera i wysya dane z USB do RS232 i odwrotnie. Prdko transmisji mona ustali dowolnie. W przykadzie jest ona rwna 38400 b/s. Jak wiadomo ukad FTDI jest konwerterem z USB na RS232, tak wiec w celu jego wykorzystania naley podL A

czy wyjcia tego konwertera do drugiego ukadu USART procesora. Nadawanie i odbieranie danych oraz ustalanie prdkoci odbywa si poprzez wpis okrelonej wartoci do odpowiednich rejestrw. Dodatkowe informacje dotyczce mikrokontrolera MSP430F449 mona znale na stronie www.ti.com. S tu zarwno noty katalogowe, jak rwnie kody rdowe programw napisanych w jzyku C oraz asemblerze. Marcin Barowski
M A

106

Elektronika Praktyczna 10/2007

You might also like