MSP430_cz4.pdf

(1912 KB) Pobierz
070-072_msp430_cz4.indd
PODZESPOŁY
MSP430: mikrokontrolery,
które (prawie) nie
pobierają prądu, część 4
Tanie narzędzia do programowania
i debugowania projektów
Na rys. 8 przedstawio-
no schemat elektryczny
programatora JTAG dla
mikrokontrolerów MSP430.
Jest to urządzenie wyko-
nane na bazie oryginal-
nego programatora, pro-
dukowanego przez firmę
TI (MSP–FET430PIF). Jest
to „wtyczka” podłączona
do złącza drukarkowego
Centronics. Dokumentacja
oryginalnego programa-
tora wraz ze schematem
elektrycznym znajduje się
w dokumencie SLAU138,
dostępnym na www.ti.com .
Użytkownicy komputerów
pozbawionych portu Cen-
tronics są skazani na za-
kup wydajnych i wygod-
nych w użyciu, ale jednak
dużo droższych narzędzi
wyposażonych w USB,
np. MSP–FET430UIF
i FlashPro430 (uniwersal-
ne) lub MSP–EZ430 (tylko
do niektórych mikrokon-
trolerów).
Jako układ buforujący
w programatorze zastosowa-
no układ typu 74HC244,
który pełni podwójną rolę:
wzmacniacza sygnałów
(aby wejścia portu drukar-
kowego nie obciążały por-
tów procesora i odwrotnie)
oraz konwertera napięć,
ponieważ port drukarko-
wy pracuje w standardzie
TTL z napięciem zasilania
5 V, natomiast procesor
może być zasilany napię-
ciem 2,7…3,6 V (w trybie
programowania). Układ U1
jest zasilany napięciem
równym napięciu zasilania
procesora przez co zgod-
ność poziomów napięć jest
zachowana. Od strony złą-
cza drukarkowego sygnały
kierowane są na wejścia
układu U1 poprzez rezy-
story, dzięki czemu – po-
mimo wyższej wartości niż
ma jego napięcie zasilania
– nie stanowią dla niego
zagrożenia. Sygnał kiero-
wany do portu drukarko-
wego ma niższą wartość
niż 5 V, jednak mieści
się w zakresie dopuszczal-
nym dla standardu TTL.
Tranzystor Q1 służy do
przełączania portów dołą-
czonego procesora w tryb
programowania. Funkcja
ta jest wykorzystywana
w mniejszych procesorach,
w których linie interfejsu
JTAG są multipleksowane
Wśród fanów mikrokontrolerów jednym z czynników
decydującym o ich popularności jest dostępność
taniego programatora. Dla układów MSP430 ten
programator jest bardzo tani i łatwy w wykonaniu,
podobnie jak prosty zestaw ewaluacyjny – obydwa
urządzenia przedstawiamy w artykule.
z portami I/O. Poczyna-
jąc od układów umiesz-
czonych w obudowach
64–nóżkowych sygnał ten
nie jest wykorzystywany,
ponieważ w tych układach
interfejs JTAG jest dostęp-
ny na niezależnych (do-
datkowych) liniach.
MSP430F449 przedstawio-
no na rys. 9 . Jest on za-
silany jest napięciem 3 V,
na przykład z dwóch bate-
rii 1,5 V. Aby umożliwić
eksperymentowanie z dołą-
czaniem różnych układów
zewnętrznych dookoła pro-
cesora znajdują się wypro-
wadzenia szpilkowe J4…J7.
Do mikrokontrolera można
podłączyć trzy rezonatory
kwarcowe:
X1 – małej częstotliwo-
ści np. zegarkowy (pod-
łączony do wyprowadzeń
Sprzętowe środowisko
pierwszych
eksperymentów
Najprostszą konfigura-
cję połączeń dla urucho-
mienia mikrokontrolera
Rys. 8. Schemat elektryczny programatora mikrokontrolerów MSP430 przygotowanego
przez Elektronikę Praktyczną (AVT1409, EP3/2005 oraz EP6/2007)
70
Elektronika Praktyczna 12/2007
153199101.078.png 153199101.089.png 153199101.100.png 153199101.111.png 153199101.001.png
PODZESPOŁY
Rys. 9. Schemat elektryczny płytki eksperymentalnej
XIN i XOUT generatora
XT1) i użyć generatora
DCO objętego pętlą PLL
do generowania sygnału
taktującego o częstotliwości
do 8 MHz,
– zamiennie można
użyć rezonatora X2 by wy-
generować sygnał taktujący
o pełnej szybkości, lub
– rezonator dużej czę-
stotliwości X3 podłączony
do wyprowadzeń XT2IN
i XT2OUT generatora XT 2 .
Rezonatory X2 i X3 nie
są niezbędne dla prawidło-
wej pracy mikrokontrolera.
Na schemacie jest wi-
doczny układ automatycz-
nego zerowania mikrokon-
trolera R1, C5 wraz z przy-
ciskiem. Pozwala on na za-
inicjowanie pracy procesora
z wczytanym programem.
Do złącza J2 można podłą-
czyć miernik poboru prądu.
Może on być zwarty zwor-
ką J3, gdy nie jest używa-
ny. Miernik zabezpieczono
przed przeciążeniem diodą
D1. Dioda pełni też drugą
rolę: trzeba pamiętać, że
pobór prądu MSP430 zmie-
nia się od pojedynczych od
ułamka mikroampera w try-
bach uśpienia do kilku mi-
liamperów w trybie aktyw-
nym – gdy pobór prądu
gwałtownie wzrośnie, dioda
nie dopuści do zwiększenia
spadku napięcia na mierni-
ku i wyzerowania mikrokon-
trolera.
Na schemacie pokazano
także diodę LED1, którą
można dołączyć do dowol-
nego wyprowadzenia (por-
tu) mikroprocesora, korzy-
stając ze złącza J16. Pobór
prądu diody wynosi kilka
mA i może być większy
niż pobór prądu przez mi-
krokontroler w trybie aktyw-
nym. Dlatego też jest wska-
zane ograniczenie stosowa-
nia diod LED do diagno-
styki, testowania i prostych
eksperymentów i używanie
ich w aplikacjach jak na-
joszczędniej.
Na płytce umieszczono
dodatkowe złącza wypro-
wadzające sygnały portu
P1, portu P2 oraz por-
tów szeregowych UART0
i UARTT1. Złącze J15 wy-
prowadza sygnały portu
P6 lub wejścia przetwor-
nika analogowo–cyfrowego.
Na płytce umieszczono
złącze wyświetlacza LCD.
Jest to wyświetlacz współ-
pracujący z wewnętrznym
kontrolerem procesora.
Złącze J9 służy do podłą-
czenia dowolnego innego
wyświetlacza LCD a złącze
J12 przygotowano z my-
ślą o fanach wyświetlaczy
graficznych z telefonów
komórkowych. Rezystory
R2...R5 są niezbędne do
uruchomienia wewnętrzne-
go kontrolera wyświetlacza
LCD a kondensator C8,
zwora JP10 i złącze J16
przydadzą się przy ekspe-
rymentach z analogowym
komparatorem napięcia.
Układ podobny do
przedstawionego na ry-
sunku nie jest szczególnie
krytyczny pod względem
prowadzenia ścieżek ob-
wodu drukowanego. Powo-
dem jest stosunkowo niska
częstotliwość pracy układu
(ok. 8 MHz). Krytyczne są
jedynie obwody zasilania
układów analogowych. War-
to w przypadku ich wy-
korzystania rozpatrzeć roz-
dzielenie zasilania układów
analogowych i cyfrowych.
Na płytce umieszczo-
no zwory JP3 i JP6, które
umożliwiają eksperymento-
wanie z rozdzieleniem za-
silania. W każdych warun-
kach należy pamiętać, że
ścieżki zasilania powinny
być możliwie krótkie a tuż
obok wyprowadzeń zasila-
nia powinny znaleźć się
kondensatory blokujące.
Przyjrzyjmy się dokład-
niej czynnościom związa-
nym z uruchomieniem pro-
jektu. Na stronie msp430.
ep.com.pl umieszczono
Elektronika Praktyczna 12/2007
71
153199101.012.png 153199101.023.png 153199101.031.png 153199101.032.png 153199101.033.png 153199101.034.png 153199101.035.png 153199101.036.png 153199101.037.png 153199101.038.png 153199101.039.png 153199101.040.png 153199101.041.png 153199101.042.png 153199101.043.png 153199101.044.png 153199101.045.png 153199101.046.png 153199101.047.png 153199101.048.png 153199101.049.png 153199101.050.png 153199101.051.png 153199101.052.png 153199101.053.png 153199101.054.png 153199101.055.png 153199101.056.png 153199101.057.png 153199101.058.png 153199101.059.png 153199101.060.png 153199101.061.png 153199101.062.png 153199101.063.png 153199101.064.png 153199101.065.png 153199101.066.png 153199101.067.png 153199101.068.png 153199101.069.png 153199101.070.png 153199101.071.png 153199101.072.png 153199101.073.png 153199101.074.png 153199101.075.png 153199101.076.png 153199101.077.png 153199101.079.png 153199101.080.png 153199101.081.png 153199101.082.png 153199101.083.png 153199101.084.png 153199101.085.png 153199101.086.png 153199101.087.png 153199101.088.png 153199101.090.png 153199101.091.png 153199101.092.png 153199101.093.png 153199101.094.png 153199101.095.png 153199101.096.png 153199101.097.png 153199101.098.png
PODZESPOŁY
Rys. 12. Wygląd okien środowiska po załadowaniu przy-
kładowego projektu
Rys. 10. Rozmieszczenie elementów na płytce ekspery-
mentalnej
projektu oznaczone jako + .
W zasadzie jedynym zada-
niem czekającym użytkow-
nika jest decyzja, czy chce
załadować program do pro-
cesora czy też uruchomić
go przy użyciu symulato-
ra. Wygląd ekranu podczas
rzeczywistego uruchomienia
programu przedstawiono już
na rys. 12 .
Zobaczmy teraz jak
przeprowadzić uruchomienie
programu z użyciem symula-
tora wbudowanego w pakiet
narzędziowy.
Jeśli po załadowaniu
oprogramowania ustawimy
pułapkę ( Breakpoint ) we
wnętrzu podprogramu obsłu-
gi przerwania i uruchomimy
program (np. poleceniem
Go ) to w wyniku wykona-
nia instrukcji LPM3 pro-
gram zatrzyma się czekając
na przerwanie od układu
WDT. Przerwanie to moż-
na zasymulować naciskając
widoczny na ilustracji przy-
cisk Trigger. Aby wywołać
okno wyboru i wywoływania
przerwań należy użyć opcji
Forced Interrupts w menu
Simulator. Każde przerwa-
nie można zasymulować
asynchronicznie, przez przy-
ciśnięcie przycisku Trigger
lub napisać makrodefinicję
i zaprogramować moment
pojawienia się przerwania
łącznie z zaprogramowaniem
losowego pojawienia się
przerwania (menu Simulator
/ Interrupt Setup ).
Inne możliwości
O tym, że można pisać
programy C++ dla proceso-
ra MSP430 już wspomnia-
no. Wystarczy tyko zmienić
bibliotekę runtime . Zamiast
CLIB należy użyć DLIB.
W związku z programo-
waniem obiektowym oraz
programowaniem w języku
C można uaktywnić opcje
o nazwie MISRA C rules .
Opcja ta nie jest dostępna
w wersji ograniczonej kom-
pilatora. W ogólnym zarysie
opcja ta generuje ostrzeże-
nia i błędy o przekroczeniu
zasad programowania w ję-
zyku C. Przykładowo nie
powinno się wykonywać
logicznych operacji na licz-
bach integer ze znakiem.
Nie powinno być w pro-
gramie kodu, którego nie
można wykonać. Nie nale-
ży używać liczb oktalnych
zaczynających się od war-
tości 0 itd. Nie przestrze-
ganie tych zasad prowadzi
do kłopotliwych błędów.
Ustawiona opcja MISRA
spowoduje wywołanie od-
powiedniego ostrzeżenia
w trakcie kompilacji.
Jacek Majewski
Mariusz Kaczor
Krzysztof Kardach
kompletny projekt opisy-
wany w artykule. Po zain-
stalowaniu oprogramowania
IAR można uruchomić pro-
jekt w systemie Windows
dwa razy klikając na zbio-
rze lpm3_experiments.eww .
W wyniku pojawi się okno
środowiska, jak na rys. 11 .
W oknie Files można
zobaczyć drzewo projektu.
Stan jak na rysunku po-
jawi się gdy rozwiniemy
wszystkie punkty drzewa
Rys. 11. Wygląd okien darmowego środowiska pobranego
ze strony TI w chwili decyzji o sposobie uruchamiania
przykładu; poprzez JTAG na płytce czy w symulatorze
Dokumentacja projektów
opisanych w artykule oraz inne
materiały i informacje na temat
mikrokontrolerów MSP430 są
dostępne na stronie
msp430.ep.com.pl .
72
Elektronika Praktyczna 12/2007
153199101.099.png 153199101.101.png 153199101.102.png 153199101.103.png 153199101.104.png 153199101.105.png 153199101.106.png 153199101.107.png 153199101.108.png 153199101.109.png 153199101.110.png 153199101.112.png 153199101.113.png 153199101.114.png 153199101.115.png 153199101.116.png 153199101.117.png 153199101.118.png 153199101.119.png 153199101.120.png 153199101.121.png 153199101.002.png 153199101.003.png 153199101.004.png 153199101.005.png 153199101.006.png 153199101.007.png 153199101.008.png 153199101.009.png 153199101.010.png 153199101.011.png 153199101.013.png 153199101.014.png 153199101.015.png 153199101.016.png 153199101.017.png 153199101.018.png 153199101.019.png 153199101.020.png 153199101.021.png 153199101.022.png 153199101.024.png 153199101.025.png 153199101.026.png 153199101.027.png 153199101.028.png 153199101.029.png 153199101.030.png
Zgłoś jeśli naruszono regulamin