ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x (rdzeń ARM7TMDI-S) Kompatybilny z zestawem MCB2130 firmy Keil! Zestaw ZL6ARM opracowano z myślą o elektronikach chcących szybko zaznajomić się z mikrokontrolerami z rdzeniem ARM7TDMI-S wyposażonymi w przetworniki A/C i C/A (z wyjściami napięciowymi), a także wieloma innymi peryferiami przydatnymi podczas budowy systemów cyfrowych. Zastosowany w zestawie szybki (taktowany sygnałem zegarowym o częstotliwości do 60 MHz), nowoczesny mikrokontroler firmy Philips z rodzi- ny LPC213x umożliwia implementowanie aplikacji wymagających dużej mocy obliczeniowej. Architektura mikrokontrolerów LPC213x i ich wyposażenie wewnętrzne stanowią doskonałą platformę dla programistów korzystających z języków wysokiego poziomu. Schemat blokowy zestawu pokazano na rys. 1. Standardowo zestawy ZL6ARM są dostarczane z mikrokontrolerem LPC2138 (tab. 1), ale zamiast niego może być zainstalowany dowolny inny mikrokontroler z rodziny LPC213x. Zastosowane mikrokontrolery charakteryzują się bogatym wyposażeniem wewnętrznym, w skład którego wchodzą m.in. (rys. 2): jeden lub dwa przetworniki A/C z analogowym multiplekserem na wejściach, interfejsy szeregowe SPI, I2C, UART, do 512 kb pamięci Flash z możliwością programowania w systemie, do 32 kb pamięci SRAM, wbudowany kontroler przerwań, sprzętowy zegar RTC z wyodrębnionym zasilaniem, watchdog, timery o zaawansowanych możliwościach (w tym generacja PWM, 6 kanałów), system zarządzania poborem energii i pętla PLL służąca do powielania częstotliwości zewnętrznego sygnału zegarowego. 1 Rys. 1. Schemat blokowy zestawu ZL6ARM Rys. 2. Schemat blokowy mikrokontrolerów LPC213x Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x Typ Pojemność pamięci Flash [kb] Pojemność pamięci SRAM [kb] timerów 32- -bitowych kanałów PWM linii I/O UART-ów interfejsów I2C interfejsów SPI Przetworniki A/C x kanały/ rozdz. Maksymalna częstotliwość taktowania rdzenia [MHz] LPC2138 512 32 4 6 47 2 2 2 2 x 8/10b 60 LPC2132 64 12 4 6 47 2 2 2 1 x 8/10b 60 LPC2131 32 8 4 6 47 2 2 2 1 x 8/10b 60
2 ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x Programowanie pamięci Flash Niezależnie od typu zastosowanego mikrokontrolera, programowanie pamięci programu (typu Flash) odbywa się na jeden z dwóch sposobów: poprzez interfejs RS232 (kanał COM0, jego lokalizację pokazano na rys. 3), w czym jest pomocny program narzędziowy LPC2000 Flash Utility (rys. 4), dostępny bezpłatnie na stronie internetowej firmy Philips, poprzez interfejs JTAG, co wymaga zastosowania dodatkowego interfejsu sprzętowego (np. Wiggler/ ZL14PRG). W przypadku korzystania z programu LPC2000 Flash Szczegółowe informacje o interfejsie JTAG dla mikrokontrolerów ARM (ZL14PRG) można znaleźć pod adresem: i http:///index.php?id=zl14prg. Utility prędkość transmisji danych należy ustalić na 19,2 kbd (do tego celu służy okno Use Baud Rate) i podać częstotliwość zewnętrznego sygnału zegarowego lub częstotliwość rezonansową oscylatora dołączonego do mikrokontrolera (w oknie XTAL Freq.). Domyślnie jest ona ustalana na 12 MHz i w takie właśnie kwarce są standardowo wyposażane płytki ZL6ARM. Rys. 3. Lokalizacja złącza COM0 (stosowanego do programowania pamięci Flash mikrokontrolera LPC213x w systemie IAP) Zestawy wyposażono w prosty interfejs ułatwiający korzystanie z programowania IAP (In Application i Program LPC2000 Flash Utility jest dostępny w Internecie pod adresem: http://www.semicon- ductors.philips.com/files/products/standard/microcontrollers/utilities/lpc2000_flash_utility.zip. Programming) via RS232, który umożliwia m.in. automatyczne zerowanie mikrokontrolera po zakończeniu programowania. W tym celu muszą być zainstalowane zworki JP16 i JP18, a w oknie Communication programu LPC2000 Flash Utility muszą być zaznaczone opcje: Use DTR/DTS for reset (rys. 5) oraz w oknie Flash Programming opcja Execute Code after Upload (rys. 6). Rys. 4. Okno programu LPC2000 Flash Utility
3 Rys. 5. Zalecana konfiguracja programu LPC2000 Flash Utility Rys. 6. Fragment okna programu LPC2000 Flash Utility, służąca do wskazania pliku wynikowego (HEX) Opis układu Schemat elektryczny zestawu ZL6ARM przedstawiono na rys. 7. Zestaw wyposażono w dwa stabilizatory napięcia zasilającego (wyjścia: 3,3 i 5 V), które od strony wejściowej zabezpieczono przed podaniem napięcia zasilającego o nieprawidłowej polaryzacji za pomocą mostka Graetz a B1. Zestaw powinien być zasilany napięciem o wartości 9 15 VDC, można je dołączyć do jednego z gniazd: JP24 lub JP25. Dołączenie napięcia zasilającego jest sygnalizowane za pomocą diody LED D12. Interfejs użytkownika składa się z diod LED D4 D11 dołączonych poprzez bufor IC3 do portów P1.16 P1.23 mikrokontrolera IC1. Można także dołączyć wyświetlacz alfanumeryczny LCD wyposażony w sterownik HD44870 lub z nim kompatybilny (złącze W1). Wymianę danych z otoczeniem umożliwiają dwa interfejsy szeregowe, wykorzystujące wewnętrzne UART-y mikrokontrolera IC1 i konwerter napięciowy IC2. Port COM0 służy także do programowania pamięci Flash mikrokontrolera w aplikacji. Obydwa kanały RS232 są dwuliniowe i w przypadku konieczności wykorzystania pełnego sterowania modemem konieczne jest zastosowanie zewnętrznego konwertera napięć TTL<->RS232. Badanie działania przetworników A/C wbudowanych w mikrokontroler ułatwią: termistor RT1 oraz potencjometr PR2, które zastosowano na płytce drukowanej zestawu (rys. 8). Zestaw wyposażono ponadto w złącze umożliwiające dołączenie do mikrokontrolera interfejsu JTAG (JP22), który jest uaktywniany po zwarciu styków 2-3 JP23 i wyzerowaniu mikrokontrolera.! pojedynczych Przełączenie mikrokontrolera w tryb JTAG powoduje, że jego niektóre wyprowadzenia nie mogą być wykorzystywane w aplikacji. Wynika to z faktu multipleksowania wielu funkcji na liniach I/O. Programy przykładowe Mikrokontrolery w zestawach są dostarczane z pamięcią Flash zaprogramowaną przykładowym programem. Programy, których wersje źródłowe i wynikowe w postaci pliku HEX dostarczamy na płycie dołączonej do zestawu, umożliwiają przetestowanie działania wyświetlacza LCD, przetwornika A/C (kanał AIN0) oraz portu komunikacyjnego RS232 (UART1). Po włączeniu zasilania na wyświetlaczu jest wyświetlany (w dwóch wierszach) tekst * ZL6ARM * / * *. Konfiguracje zworek Przetwornik A/C W przypadku korzystania z kanałów AIN0 (potencjometr PR2 ANA_V) lub AIN1 (termistor RT1 NTC) na styki 2-3 złącz (odpowiednio) JP11 (ANA_EN) i JP10 (NTC_EN) muszą być założone zwory.
4 ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x Rys. 7. Schemat elektryczny zestawu ZL6ARM
5 Rys. 8. Rozmieszczenie najważniejszych elementów zestawu ZL6ARM Programowanie/debugowanie przez JTAG W przypadku korzystania z interfejsu JTAG należy założyć zworkę na styki 2-3 JP23 (JTAG_ENA) i wyzerować mikrokontroler (za pomocą przycisku RES lub wyłączając i włączając zasilanie). Należy pamiętać, że w tym trybie odpowiednie linie I/O nie są dostępne dla innych elementów aplikacji. Automatyczne zerowanie po programowaniu Oprogramowanie LPC2000 Flash Utility umożliwia automatyczne wyzerowanie mikrokontrolera po zakończeniu programowania pamięci, co wymaga zainstalowania zworki na stykach 2-3 JP18 (RST). Przycisk RES działa niezależnie od położenia tej zworki. Programowanie via RS232 Programowanie pamięci Flash poprzez interfejs RS232 wymaga uruchomienia bootloadera. Wykonuje to automatycznie program LPC2000 Flash Utility, co wymaga założenia na czas programowania zworki na styki 2-3 JP16 (ISP). Zalecane jest także uaktywnienie automatycznego zerowania mikrokontrolera po zakończeniu programowania, co wymaga zainstalowania zworki na styki 2-3 JP18 (RST). W przypadku, gdy inicjowanie pracy bootloadera odbywa się ręcznie, należy zainstalować zworkę na styki 2-3 JP17 (INT) i po wciśnięciu przycisku S5 (INT1) wyzerować mikrokontroler. Podczas pracy zestawu można wykorzystać przycisk S5 do własnych celów, np. jako wejście uniwersalne (linia P0.14) lub wejście przerwania zewnętrznego (EINT1). Interfejs USB Na płytce drukowanej zestawu przewidziano miejsce dla modułu konwertera USB<->RS232 (złącze JP21). Jest on dołączany do interfejsu UART1 mikrokontrolera IC1 za pomocą zworek JP9 (linia RxD)
6 ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x USB w ZL6ARM Zestaw ZL6ARM może być wyposażony w opcjonalny konwerter USB<->RS 232, który jest dostępny w internetowym sklepie www.kamami.pl (http://www.kamami.pl/go/_info/?id=6432). i JP8 (linia TxD). Zastosowana konfiguracja połączeń pozwala dołączać do UART1 zamiennie konwerter USB<->RS232 lub interfejs IC2. Klawiatura Na płytce zestawu ZL6ARM zainstalowano 4 przyciski chwilowe, które spełniają rolę prostej klawiatury. Są one dołączane do portów P0.4 7 mikrokontrolera za pomocą zworek JP12 15 (styki przycisków włączone pomiędzy masę i linię portu, gdy zworki mają zwarte styki 2-3). Wzmacniacz audio Przetwornik C/A wbudowany w mikrokontroler LPC2138 wykorzystano w zestawie do sterowania wzmacniacza mocy sygnałów audio (IC6). Za pomocą jumpera AUD JP7 (zwierając styki 2-3) sygnał z wyjścia przetwornika można podać na potencjometr regulacji głośności PR3 (VOL, o charakterystyce liniowej). Buzzer Zestaw ZL6ARM wyposażono w piezoceramiczny przetwornik akustyczny, który jest dołączony, za pośrednictwem JP19 (BUZ), do portu P0.26. Zwarcie styków 2-3 JP19 powoduje dołączenie przetwornika, zwarcie styków 1-2 JP19 powoduje odłączenie przetwornika od linii P0.26. Zasilanie z USB Na płytce zestawu znajduje się gniazdo USB-A (Zl1), które służy do doprowadzenia alternatywnego względem zasilacza zewnętrznego zasilania +5 VDC. Dzięki temu można zrezygnować ze stosowania zasilacza sieciowego. Do przełączania pomiędzy źródłami zasilania służy JP20: w przypadku zasilania z zasilacza zewnętrznego (dołączonego do JP24 lub JP25) powinny być zwarte styki 2-3 JP20, w przypadku zasilania z USB zworka JP20 powinna zwierać styki 1-2. Zasilanie RTC Zegar czasu rzeczywistego (RTC) wbudowany w mikrokontroler IC1 może być zasilany z zasilacza zestawu lub zewnętrznego ogniwa LiON. Wybór źródła zasilania zegara jest możliwy za pomocą JP27 (RTC_PWR): zwarte styki 1-2 zapewniają zasilanie z zasilacza zestawu, zwarte styki 2-3 powodują, że RTC jest zasilany ze źródła dołączonego do JP26. Korzystanie z TRACEPORT Za pomocą JP28 można zainicjować pracę linii P1.25 P1.16 jako magistrali TracePort (ETM). Przełączenie w ten tryb wymaga zwarcia styków 2-3 JP28 i wyzerowania mikrokontrolera. Powrót do standardowego Tab. 2. Sposób dołączenia modułu LCD do portów mikrokontrolera Numer wyprowadzenia LCD Nazwa sygnału LCD Linia portu mikrokontrolera 7 D0 P1.16 8 D1 P1.17 9 D2 P1.18 10 D3 P1.19 11 D4 P1.20 12 D5 P1.21 13 D6 P1.22 14 D7 P1.23 6 E P0.29 5 R/W (na stałe podano 0 ) 4 RS P0.30
7 trybu pracy wymaga zwarcia styków 1-2 JP28 i wyzerowania mikrokontrolera. W trybie TracePort linie P1.25 P1.16 nie mogą być spełniać żadnych funkcji w aplikacji użytkownika. Gniazdo USB w zestawie ZL6ARM służy wyłącznie do zasilania zestawu w przypadku rezygnacji z zasilacza zewnętrznego. Wybór źródła zasilania jest możliwy za pomocą zworki! JP20. W skład zestawu ZL6ARM wchodzi: zmontowana płytka z mikrokontrolerem LPC2138; BTC Korporacja 05-120 Legionowo ul. Lwowska 5 tel.: (022) 767-36-20 faks: (022) 767-36-33 e-mail: biuro@kamami.pl http://www.kamami.pl ZL6ARM v 1.0 Oferowane przez nas płytki drukowane zestawu ZL6ARM mogą się różnić od prezentowanej w dokumentacji, przy czym zmianom nie ulegają jej właściwości użytkowe. BTC Korporacja gwarantuje zgodność produktu ze specyfikacją. BTC Korporacja nie ponosi odpowiedzialności za jakiekolwiek szkody powstałe bezpośrednio lub pośrednio w wyniku użycia lub nieprawidłowego działania produktu. BTC Korporacja zastrzega sobie prawo do modyfikacji niniejszej dokumentacji bez uprzedzenia.