EVB503 Układ ewaluacyjno-uruchomieniowy dla 8 bitowych mikrokontrolerów, układów CPLD, FPGA. REV 1.0 Instrukcja użytkownika Evalu ation Board s for 51, AVR, ST, PIC microcontrollers Sta- rter Kits Embedded Web Serve rs Prototyping Boards Minimodules for microcontrollers, etherdesigning Evaluation Boards for net controllers, RFID High Spe- ed In System programmers for AVR, PIC, ST microcontrollers Microprocesor systems, PCB 51, AVR, ST, PIC microcontrollers Starter Kits Embedded Web Servers Prototyping Boards mi- nimodules for microcontrollers, ethernet controllers, RFID High Speed In Systems programme- rs for AVR, PIC, ST microcontrlollers Microprocesor systems, PCB designing Evaluation Bo- ards for `51, AVR, ST, PIC microcontrollers Starter Kits Embe- dded Web Serwers Prototyping Boards Minimodules for microcontrollercontrollers, ethernet controllers, High Speed In System program- mers for AVR, PIC, ST microco- Microprocesor R Many ideas one solution Systems, PCB Designing Evaluation Boards
Spis Treści 1 WPROWADZENIE... 3 1.1 CECHY...4 1.2 OBSŁUGIWANE UKŁADY... 5 2 ZACZYNAMY... 6 2.1 ROZPAKOWANIE ZESTAWU... 6 2.2 WYMAGANIA SPRZĘTOWE I PROGRAMOWE... 7 2.3 PIERWSZY PROGRAM... 8 2.3 PODŁĄCZENIE PROGRAMATORA ISP... 9 2.4 PROGRAMOWANIE MIKROKONTROLERÓW AVR... 10 3 OPIS CZĘŚCI SPRZĘTOWEJ... 11 3.1 ZASILANIE UKŁADU... 12 3.1.2 DIODY LED, MIKRO PRZEŁĄCZNIKI, SYGNALIZATOR AKUSTYCZNY... 16 3.1.3 PORTY MIKROKONTROLERA... 19 3.1.4 INTERFEJS RS 232C... 21 3.1.4 MAGISTRALA SPI... 22 3.1.5 DATAFLASH AT45DBXXX... 23 3.1.6 ZEGAR CZASU RZECZYWISTEGO DS1305... 24 3.1.5 MAGISTRALA I 2 C... 25 3.1.6 PAMIĘĆ SZEREGOWA EEPROM 24CXX... 25 3.1.7 ZEGAR CZASU RZECZYWISTEGO Z MAGISTRALĄ I 2 C PCF8385... 25 3.1.8 INTERFEJS 1-WIRE... 26 3.1.9 DEKODER ADRESÓW... 26 3.1.10 ZEWNĘTRZNA PAMIĘĆ SRAM... 29 3.1.11 ZŁĄCZE MODUŁÓW WYŚWIETLACZY LCD... 31 3.1.11 SYSTEM RESET... 36 3.1.12 OSCYLATOR... 37 3.1.13 ZŁĄCZA ROZSZERZEŃ... 38 4 USTAWIENIA ZAAWANSOWANE... 40 5 DIAGNOSTYKA USZKODZEŃ... 41 6 DANE TECHNICZNE... 42 7 POMOC TECHNICZNA... 43 8 PRZYKŁADOWE OPROGRAMOWANIE... 43 9 SCHEMAT... 43 10 GWARANCJA... 43
1 Wprowadzenie 1 Dziękujemy bardzo za zakup układu ewaluacyjnego EVB503. Teraz projektowanie i budowa własnych systemów opartych na mikrokontrolerach 8 bitowych stanie się dla Państwa łatwiejsza i szybsza. Układ EVB503 wraz z modułami adaptacyjnymi TOP50XX tworzą kompletny system projektowy i zestaw startowy dla szerokiej gamy mikrokontrolerów 8 bitowych. System zoptymalizowano pod kątem współpracy z mikrokontrolerami rodziny AVR firmy Atmel. Wbudowane peryferia i złącza rozszerzeń stanowią znakomitą bazę pod przyszłe projekty począwszy od prostych, wykorzystujących przełączniki, diody LED czy buzzer, aż po te najbardziej zaawansowane komunikujące się z wbudowaną pamięcią DataFlash czy realizujące dostęp do pamięci SRAM zorganizowanej w postaci banków. Najbardziej zaawansowani użytkownicy mogą podłączyć swój projekt do sieci INTERNET przy użyciu karty sieciowej, która stanowi jedną z naszych gotowych propozycji rozbudowy systemu. Dostępny jest również szereg kart rozszerzeń stanowiących interfejs miedzy systemem a układami automatyki, przetwornikami wielkości fizycznych czy siecią telefoniczną oraz ostatnio modną siecią Internet. Pomyśleliśmy również o samodzielnej rozbudowie układu przez użytkownika oddając do jego ręki karty prototypowe. Szereg zworek konfiguracyjnych pozwala na własną konfigurację systemu nie narzucając zastosowanych rozwiązań. Wymienne moduły adaptacyjne TOP50XX pozwalają na przyszłą rozbudowę EVB503 o nowe mikrokontrolery czy układy CPLD, FPGA, FPSIC. Do systemu dołączone jest oprogramowanie w postaci bibliotek języka C realizujące komunikację z wbudowanymi peryferiami. Układ może pełnić również rolę dydaktyczną, obecnie pracujemy nad zestawem ćwiczeń, które krok po kroku przybliżą użytkownikowi tajnik projektowania i oprogramowania systemów mikroprocesorowych. Życzymy samych sukcesów i dużo satysfakcji przy projektowaniu i konstruowaniu nowych urządzeń elektronicznych w oparciu o system EVB503. OPIS UŻYTYCH SYMBOLI W niniejszej instrukcji użytkownika mogą pojawić się następujące symbole: Uwaga! Niepoprawne użycie grozi uszkodzeniem układu. Dla zaawansowanych użytkowników. 3
1.1 Cechy Złącze dla modułów adaptacyjnych TOP50XX pozwala na pełne wspomaganie mikrokontrolerów 8 bitowych i innych układów. Napięcie bazowe układu regulowane od 1.25 do 6V Regulowane precyzyjne źródło napięcia referencyjnego AREF Pola testowe dla,, AREF, A Przetwornica DC/DC z 5V na +12 12V dla układów analogowych (4) Wydzielenie mas, cyfrowej i analogowej A Złącze ISP (In-System Programming) kompatybilne z programatorem STK200/300 i programatorami ISPcable I i ISPcable II oferowanymi przez naszą firmę (1) Złącze JTAG dla OCD (On-Chip Debugging) współpracujące z JTAG ICE lub emulatorem JTAGcable oferowanym przez naszą firmę (2) 28/32-nóżkowa podstawka pod zewnętrzną pamięć programu (3) Wszystkie porty I/O mikrokontrolerów dostępne w łatwy sposób przy pomocy złącz szpilkowych. 8 mikro przełączników i 8 diod LED do ogólnego zastosowania 2 porty RS232 do ogólnego zastosowania Podstawka pod baterie litową Dekoder adresów generujący sygnały wyboru dla wbudowanych peryferii i kart rozszerzeń Wspomaganie dla szerokiej gamy modułów LCD z regulowanym napięciem kontrastu od 12 do 5V Wbudowany oscylator od 1 do 24MHz z kwarcem 6MHz umieszczonym w podstawce 3 sloty rozszerzeń (standard PC/ISA ) dla kart rozszerzeń i płytek prototypowych Dwu napięciowy układ monitorujący napięcia zasilania Oscylator zegarkowy 32kHz dla układu timera mikrokontrolera 4 otwory mocujące Zewnętrzna pamięć danych SRAM do 512 kb o organizacji bankowej (4) Zegar czasu rzeczywistego z magistralą SPI DS1305 (4) Zegar czasu rzeczywistego z magistralą I 2 C PCF8583 (4) Pamięć szeregowa z magistralą SPI DataFlash o pojemności do 16-Mbit (4) Pamięć szeregowa z magistralą I 2 C o pojemności do 256 kb (4) Łatwa konfiguracja systemu przy pomocy zworek Otwartość konstrukcji na przyszłe projekty Uwagi: 1. Obsługiwane przez Top Moduły: TOP50X1, TOP50X2, TOP50X3, TOP50X4 2. Obsługiwane przez Top Moduły: TOP50X1, TOP50X3, TOP50X4 3. Obsługiwane przez Top Moduły: TOP50X6 4. Montowany w zależności od wersji EVB503 4
1.2 Obsługiwane układy Płyta EVB503 z obecnie dostępnymi modułami adaptacyjnymi TOP50XX współpracuje z następującymi układami w całym przedziale ich częstotliwości taktowania i napięcia zasilania VCC: Rodzina 51 AVR Inne Zapowiedź 80C31 80C32 87C51 87C52 AT89S51 AT89S52 AT89S53 AT89S5253 DS 80C320 DS 80C520 AT89C1051 AT89C2051 AT89C4051 AT90S1200 AT90S2313 AT90S2323 AT90S2333 AT90S2343 AT90S4414 AT90S4433 AT90S4434 AT90S8515 AT90S8535 ATtiny11 ATtiny12 ATtiny15 ATtiny22 ATtiny26 ATtiny28 ATmega8 ATmega16 ATmega161 ATmega162 ATmega163 ATmega32 ATmega323 ATmega64 ATmega103 ATmega128 ATmega8515 ATmega8535 ADPmega103 ADPmega128 MMmega01 MMmega02 PIC14, PIC15, PIC16, PIC17 ST5,ST6,ST7 AduC812 CPLD FPGA FPSLIC TOP50X1: AT89C1051, AT89C2051, AT89C4051, 87C51, 87C52, AT89C51, AT89C52, AT89C53, AT89C5253, DS 80C520, AT90S1200/A, AT90S2313, AT90S4414, AT90S8515, AT90S4434, AT90S8535, Atmega161, Atmega16, Atmega162, Atmega162, Atmega32,Atmega323 TOP50X2: Attiny11, Attiny12, Attiny15, Attiny22, Attiny26, Atiny28, AT90S2323, AT90S2343 AT90S2333, AT90S4433, Atmega8 TOP50X3: ADPmega103, ADPmega128 (adaptery z procesorami ATmega103/128) TOP50X4: ATmega103, ATmega128 ( układy montowane w podstawce TQFP) TOP50X5: 80C31, 80C32, 87C51, 87C52, AT89C51, AT89C52, AT89C53, AT89C5253, DS 80C320, DS 80C520 (dodatkowo podstawka pod pamięć programu) TOP50X6: MMmega01, MMmega02 (minimoduły procesorów ATmega103/128) 5
2 Zaczynamy 2 Układ ewaluacyjny EVB503 stanowi integralną cześć systemu uruchomieniowego w którego skład w zależności od wersji wchodzą: płyta EVB503, moduły adaptacyjne TOP50XX, zasilacz, programator, płyta CD z oprogramowaniem, karty prototypowe, mikrokontrolery AVR. 2.1 Rozpakowanie zestawu Zestaw EVB503 sprzedawany jest w trzech podstawowych wersjach lub według indywidualnego zamówienia Rysunek 2.1 System EVB503 w wersji Lite Zestaw EVB503 Lite zawiera: Płytę EVB503 (1*RS232, 2* slot rozszerzeń) Kabel zasilania DC Kable do połączeń między portami mikrokontrolera a układem UART, magistralami SPI, 1-Wire, I 2 C, diodami LED, przełącznikami oraz buzzerem (10-żył 2 sztuki, 2-żyły 4 sztuki, 1-żyła 4 sztuki) Programator ISPcable I z kablem 10-żyłowym ISP do połączenia z płytą EVB503 Układy adaptacyjne TOP50X1, TOP50X2 Kartę prototypową PDU-50 Propox CD-ROM z danymi katalogowymi i oprogramowaniem Mikrokontroler AT90S8515-8PC 6
Zestaw EVB503 Standard zawiera: Płytę EVB503 (2*RS232, 3* sloty rozszerzeń) wyposażoną w następujące opcjonalne peryferia: DataFlash AT45BD021 (2MB), RTC DS1305, pamięć szeregową I 2 C 24C02 Zasilacz DC 9V 600mA Kable do połączeń między portami mikrokontrolera a układem UART, magistralami SPI, 1-Wire, I 2 C, diodami LED, przełącznikami oraz buzzerem (10-żył 2 sztuki, 2-żyły 4 sztuki, 1-żyła 4 sztuki) Programator ISPcable I z kablem 10-żyłowym ISP Układy adaptacyjne TOP50X1, TOP50X2 Karty prototypowe PDU-50, PDU-51, PDU-52 Propox CD-ROM z danymi katalogowymi i oprogramowaniem Mikrokontroler AT90S8515-8PC Zestaw EVB503 Advance: Płytę EVB503 (2*RS232, 3* sloty rozszerzeń) wyposażoną następujące opcjonalne peryferia: DataFlash AT45BD081 (8MB), RTC DS1305, RTC PCF8583 pamięć szeregową I 2 C 24C16, przetwornicę DC/DC (+/-12V) Wyświetlacz LCD 2 x 16 znaków Zasilacz DC 9V 1A Kable do połączeń między portami mikrokontrolera a układem UART, magistralami SPI, 1-Wire, I 2 C, diodami LED, przełącznikami oraz buzzerem (10-żył 2 sztuki, 2-żyły 4 sztuki, 1-żyła 4 sztuki) Programator ISPcable II z kablem 10-żyłowym ISP i kablem RS232 Układy adaptacyjne TOP50X1, TOP50X2, TOP50X3, TOP50X5, TOP50X6 Karty prototypowe PDU-50 * 2 sztuki, PDU-51, PDU-52 * 2 sztuki Propox CD-ROM z danymi katalogowymi i oprogramowaniem Mikrokontroler AT90S8515-8PC Adapter z mikrokontrolerem ATmega128 2.2 Wymagania sprzętowe i programowe 486 procesor (Pentium rekomendowany) 16 MB RAM 2 MB wolnego miejsca na dysku Windows 95, Windows 98, Windows NT 4.0, Windows 2000 lub wyższy Port drukarki LPT (Centronics) (1) RS232 port (115200 bodów) (2) Zasilacz 9-12 DC lub 7-9 AC (3) Uwagi: 1: W wersji z programatorem ISPcable I 2: W wersji z programatorem ISPcable II 3: W wersji bez zasilacza 7
2.3 Pierwszy program System EVB503 jest dostarczany wraz z modułem adaptacyjnym TOP50X1 i mikrokontrolerem AT90S8515 umieszczonym w podstawce modułu oznaczonej µc 1. Domyślne ustawienie zworek pozwala na uruchomienie programu zawartego w mikrokontrolerze zasilanym napięciem o wartości 5V. Mikrokontroler został zaprogramowany programem testowym zapalającym diody LED oraz włączającym buzzer. Diody zapalają się według sekwencji wybieranej przy pomocy klawiszy. W celu uruchomienia programu testowego prosimy o sprawdzenie poprawności umieszczenia mikrokontrolera w podstawce modułu TOP50X1 oraz umieszczenia modułu w płycie EVB503. Prosimy o zwrócenie szczególnej uwagi podczas instalacji i demontażu modułów adaptacyjnych TOP50XX. Prawidłowe umieszczenie i demontaż modułu w płycie EVB503 pokazano na rysunku 2.2. Rysunek 2.2 Instalacja i demontaż modułów adaptacyjnych TOP50XX 10-żyłowymi kabelkami łączymy złącze LEDS z złączem PORTB oraz złącze SWITCHES z złączem PORTD. Połączenie zostało pokazane na rysunku 2.3. Rysunek 2.3 Domyślne ustawienie EVB503 8
Zewnętrzny zasilacz o napięciu 9-15 V DC lub 7-12 V AC, podłączamy do gniazda POWER 1 jak pokazano na rysunku 2.3. Rysunek 2.3 Podłączenie zewnętrznego zasilacza Wewnętrzny układ stabilizatorów wyposażony jest w mostek prostowniczy więc polaryzacja napięcia zasilania jest nieistotna. Przełącznik POWER włącza bądź wyłącza zasilanie EVB503. Dioda LED sygnalizuje obecność napięcia zasilania. Jeśli system został skonfigurowany prawidłowa wciśnięcie klawiszy spowoduje zaświecenie się diod LED Płyta EVB503 pozwala na indywidualną konfigurację połączenia źródła sygnału zegarowego, napięcia zasilania i wbudowanych peryferii. Skrócony opis konfiguracji płyty EVB503 znajduje się na odwrocie obwodu drukowanego a szczegółowe informacje zawarto w kolejnych rozdziałach. 2.3 Podłączenie programatora ISP Do programowania mikrokontrolerów w systemie dostarczony jest programator ISPcable I lub ISPcable II. Połączenie płyty EVB503 z programatorami ISPcable możliwe jest przy pomocy załączonego kabla paskowego łączącego złącze oznaczone jako ISP modułu TOP50X1 z złączem programatora. Programator ISPcable I łączymy z komputerem PC poprzez port LPT (Centronic), natomiast programator ISPcable II łączymy do portu RS 232 (port COM) komputera PC przy pomocy załączonego kabla. Połączenie zostało pokazane na rysunku 2.4 Rysunek 2.4 Podłączenie programatora ISP (ISPcable II) 9
2.4 Programowanie mikrokontrolerów AVR Programatory ISPcable są kontrolowane poprzez program ProProg. Instrukcja obsługi i konfiguracja programatorów została zawarta w dokumentacji technicznej programatorów. Rysunek 2.5 ProProg menu Programming Pierwszym krokiem po uruchomieniu programu ProProg jest wybranie typu programowanego mikrokontrolera, W celu zaprogramowania mikrokontrolera plikiem *.hex wybieramy z menu rozwijanego Program lokalizacje pliku np. example.hex. Przy pomocy przycisku ERASE kasujemy pamięć flash mikrokontrolera i następnie przyciskiem PROGRAM programujemy mikrokontroler. Dioda LED ISP sygnalizuje proces programowania. Dokładna instrukcja obsługi programatorów i aplikacji sterującej zawarta została w dokumentacji programatorów. 10
3 Opis części sprzętowej 3 System uruchomieniowy składa się z płyty EVB503 i układów adaptacyjnych TOP50XX. W niniejszej instrukcji opisano jedynie płytę EVB503 opisy poszczególnych modułów rozszerzeń TOP50XX znajdują się w odrębnych instrukcjach. Rysunek 3.1 EVB503 Rozmieszczenie elementów 11
3.1 Zasilanie układu EVB503 może być zasilany na dwa alternatywne sposoby: 1) Z zewnętrznego zasilacza, którego napięcie powinno wynosić 9..15V DC lub 7..12V AC przy pomocy standardowego wtyku o średnicy bolca 2,1 mm. Zasilanie odbywa się poprzez gniazdo POWER 1 jak pokazano na rysunku 2.3. Wewnętrzny układ stabilizatorów dostarcza wszystkich niezbędnych napięć dla poprawnej pracy płyty EVB503: - napięcia bazowe płyty, regulowane w granicach 1,2V.. 6V +5V - napięcie zasilania konwertera sygnałów RS 232C i przetwornicy DC/DC AREF - napięcie referencyjne dla przetworników ADC i DAC, regulowane w granicach 1,8.. 6V VDF - napięcie zasilania pamięci DataFlash LCD - napięcie kontrastu LCD (-12.. +5V) +12V - napięcie dla układów analogowych -12V - napięcie dla układów analogowych Napięcia wytwarzane przez wbudowany układ stabilizatorów płyty dostępne są poprzez złącza rozszerzeń i złącze POWER 2, którego wyprowadzenia pokazano na rysunku 3.2. Rysunek 3.2 Złącze POWER 2 opis wyprowadzeń 1 +5V -12V A +12V POWER 2 Napięcia oraz AREF oraz masy i A są dostępne również w punktach testowych, rysunek 3.3. Rysunek 3.3 Pola testowe 12
2) Z zewnętrznego źródła napięcia zasilania o napięciach 5V, i opcjonalnie (+12V,-12V) (1) podawanych na złącze POWER 2.Opis wyprowadzeń złącza POWER 2 podano na rysunku 3.3. W przypadku zasilania płyty poprzez złącze POWER 2 układ wymaga dodatkowej konfiguracji (1). Uwaga: 1. Opis konfiguracji opisano w rozdziale ustawienia zaawansowane Nie używaj dwóch sposobów zasilania jednocześnie jest bazowym napięciem zasilanie mikrokontrolera i wbudowanych układów peryferyjnych. Napięcie to może być regulowane w szerokim zakresie przy pomocy precyzyjnego potencjometru, bądź dostarczone z zewnętrznego zasilacza poprzez złącze POWER 2. Napięcie to jest dostępne na wszystkich wyprowadzeniach oznaczonych jako. Jeżeli zworka jest zamknięta napięcie pobierane jest z wewnętrznego stabilizatora, który zapewnia jego regulację od 1.25 do 6V przy pomocy potencjometru ADJ.. Jeśli zworka jest otwarta, napięcie musi być dostarczone z zewnętrznego źródła zasilania poprzez któreś z wyprowadzeń bądź poprzez złącze zasilania POWER 2. Ustawienie zworki wyjaśniono na rysunku 3.4. Rysunek 3.4 Ustawienie zworki Zworka zamontowana (Domyślnie) Wbudowany stabilizator podłączony Zworka wymontowana Wbudowany stabilizator odłączony 13
Nie przekraczaj maksymalnego napięcia zasilania używanego mikrokontrolera, pilnuj również aby napięcie było większe lub równe napięciu referencyjnemu AREF. Uwaga: Zielona dioda LED sygnalizuje obecność napięcia. 5V +5V jest napięciem dla układów peryferyjnych i przetwornicy DC/DC wymagających napięcia zasilania 5V. Jeśli zworka +5V jest zamontowana +5V pobierane jest z wbudowanego stabilizatora. Jeśli zworka +5V jest otwarta napięcie to musi być dostarczone z zewnętrznego źródła poprzez wyprowadzenie +5V złącza POWER 2. Ustawienia zworki 5V wyjaśniono na rysunku 3.5. Rysunek 3.5 Ustawienie zworki +5V Zworka zamontowana (Domyślnie) Wbudowany stabilizator 5V podłączony Zworka wymontowana Wbudowany stabilizator 5V odłączony AREF Napięcie referencyjne (AREF) może być napięciem odniesienia dla przetwornika ADC wbudowanego w mikrokontroler i jest dostępne na wyprowadzeniu AREF poprzez złącze ANALOG oraz na złączach rozszerzeń SLOT 1 do 3. Wewnętrzne źródło napięcia referencyjnego może być regulowane w zakresie 1,8.. 6V przy pomocy potencjometru ADJ. REF. Jeśli zworka REF jest zamontowana, wewnętrzne napięcie AREF podłączone jest do wyprowadzeń AREF płyty. Kiedy zworka REF jest otwarta, napięcie AREF musi być podane z zewnętrznego źródła poprzez wyprowadzenie AREF, złącza rozszerzeń lub złącze ANALOG. Rysunek 3.6 wyjaśnia ustawienia zworki REF. 14
Rysunek 3.6 Ustawienie zworki REF Zworka zamontowana (Domyślnie) Wbudowany stabilizator REF podłączony Zworka wymontowana Wbudowany stabilizator REF odłączony Pilnuj aby napięcie AREF było mniejsze lub równe napięciu referencyjnemu VDF VDF jest napięciem zasilania wbudowanej pamięci DataFlash. Pamięć powinna być zasilana napięciem z przedziału 2.7.. 3.6V. Wszystkie wejścia pamięci tolerują sygnał wejściowy o poziomie 5V. Zwarcie zworki VDF powoduje połączenie napięcia VDF bezpośrednio z napięciem, taka konfiguracja umożliwia pracę z napięciem płyty o maksymalnej wartości 3.6V. Rozwarcie zworki powoduje połączenie napięcia VDF z napięciem poprzez stabilizator składający się z trzech diod połączonych szeregowo. W tym wypadku napięcie VDF równe jest -1.8V. Taka konfiguracja pozwala na pracę płyty z napięciem do 6V. Rysunek 3.7 wyjaśnia ustawienie zworki VDF. 15
Rysunek 3.7 Ustawienie zworki VDF Zworka otwarta (Domyślnie) VDF= - 1.8V Zworka zwarta VDF = +/-12V Napięcia +12V i 12V wytwarzane są przez wbudowaną przetwornicę DC/DC (1), lub układ konwersji poziomów RS 232 (MAX232). Napięcia te dostępne są na wyprowadzeniach +12V i 12V na złączach rozszerzeń i i złączu ANALOG. Napięcia te mogą być wykorzystane do zasilania układów analogowych stanowiących rozszerzenie systemu, dodatkowo napięcie 12V używane jest jako ujemne napięcie układu kontrastu wyświetlaczy LCD. Uwaga: 1. Przetwornica DC/DC jest montowana w wersji Advance płyty EVB503. 3.1.2 Diody LED, mikro przełączniki, sygnalizator akustyczny Płyta EVB503 posiada 8 diod LED koloru czerwonego oraz 8 chwilowych mikro przełączników. Diody LED i przełączniki pełnią rolę najprostszego interfejsu między systemem a użytkownikiem. Diody LED są szczególnie użyteczne podczas uruchamiania programów pisanych przez początkujących programistów, gdyż pozwalają na binarną wizualizację zmiennych bądź rejestrów mikrokontrolera. Budowa płyty pozwala na dowolne połączenie diod lub przełączników z wyprowadzeniami mikrokontrolera. Rysunek 3.8 przedstawia implementację sterowania diodami LED oraz wyprowadzenia złącza LED. Większość obecnie produkowanych mikrokontrolerów może bezpośrednio wysterować diodę LED. W płycie EVB503 zastosowano układ składający się z tranzystora i dwóch rezystorów, dzięki któremu uzyskano taką samą jasność świecenia diody LED w całym przedziale napięć zasilania płyty (1,8.. 6V). Prąd wysterowania diody LED 16
wpływający do mikrokontrolera wynosi 1.5mA. W przypadku braku napięcia bazowego płyty diody pozostają wyłączone. Włącznie diody następuje po podaniu stanu niskiego na wyprowadzenie LDx. Rysunek 3.8 Implementacja i wyprowadzania diod LED +5V 2k LD0 1 2 LD1 LEDn 10k LD2 LD4 LD6 LD3 LD5 LD7 LDn I=1.5mA LEDS Implementacje przełączników pokazano na Rysunku 3.9. Wciśnięcie przycisku powoduje zmianę stanu sygnału odpowiadającemu danemu przełącznikowi na niski. Zwolnienie przycisku powoduje pojawienie się stanu wysokiego. Układ dodatkowo wyposażono w rezystor szeregowy o wartości 100R ograniczający prąd wypływający z wyprowadzenia mikrokontrolera skonfigurowanego jako wyjście ze stanem wysokim dołączonego do wciśniętego przełącznika (stan niski). Rysunek 3.9 Implementacja przełączników i wyprowadzenia 10k SW0 1 2 SW1 SWn 100R SW2 SW4 SW3 SW5 SWn SW6 SW7 SWITCHES Diody LED oraz przełączniki mogą być połączone z dowolnym portem mikrokontrolera przy pomocy załączonego 10-żyłowego kabelka. Rysunek 3.10 pokazuje jak diody LED oraz przełączniki mogą być połączone z portami I/O. Kabel powinien bezpośrednio łączyć złącze LED lub SWITCHES z odpowiednim złączem portów I/O. Kabel nie powinien być skręcony. Czerwona żyła kabla oznacza sygnał 1, natomiast wyprowadzenie 1 w złączach oznaczono pogrubionym znacznikiem. Oprócz sygnałów I/O złącza zostały dodatkowo wyposażone w zasilanie i. 17
Rysunek 3.10 Podłączenie diod LED i przełączników do portów I/O W wypadku łączenia jedynie kilku diod LED lub przełączników połączenie wykonujemy przy pomocy załączonych 1-żyłowych kabelków jak pokazano na Rysunku 3.11 Rysunek 3.11 Podłączenie pojedynczych przełączników do portów I/O EVB503 posiada wbudowany sygnalizator akustyczny. Rysunek 3.12 przedstawia implementacje sygnalizatora akustycznego. Prąd wysterowania sygnalizatora wpływający do mikrokontrolera wynosi 0.5mA. W przypadku braku napięcia bazowego płyty sygnalizator pozostaje wyłączony. Włącznie sygnalizatora następuje po podaniu stanu niskiego na wyprowadzenie EBZ. Sygnalizator może być podłączony do dowolnego portu mikrokontrolera przy pomocy załączonego 1-żyłowego kabelka. 18
Rysunek 3.12 Implementacja sygnalizatora akustycznego +5V 10k 2k7 10k +5V 1 2 EBZ EBZ Piezo speaker AUX4 3.1.3 Porty mikrokontrolera Układ wyprowadzeń portów mikrokontrolera pokazano na rysunku 3.13 Rysunek 3.13 Wyprowadzenia portów I/O mikrokontrolera PX0 PX2 PX4 PX6 1 2 PORT X PX1 PX3 PX5 PX7 Porty mikrokontrolera procesorów AVR nazwane są literami, natomiast porty mikrokontrolerów rodziny `51 nazwane są cyframi. Port A AVR odpowiada Portowi 1 `51 itp. Wejścia przetworników ADC mikrokontrolerów zostały wyprowadzone na dodatkowe złączem ANALOG. Opis wyprowadzeń przedstawiano na rysunku 3.14. Takie rozwiązania pozwala na umieszczenie wszystkich sygnałów analogowych i napięć zasilania części analogowej (A, AREF, +12, -12V, A) w jednym złączu ANALOG bez względu na rodzaj używanego mikrokontrolera. Pozwala to również na używanie modułów LCD (domyślnie podłączonych do portu A) i wejść ADC będących w mikrokontrolerach AVR alternatywnymi funkcjami Portu A. Rysunek 3.14 Wyprowadzenia złącza ANALOG AN0 AN2 AN4 AN6 A +12V A 1 2 AN1 AN3 AN5 AN7 AREF -12V AVCC ANALOG/PORT F 19
AN0-AN7 A AREF : Wejścia analogowe przetwornika ADC : Napięcie zasilania części analogowej mikrokontrolerów. Napięcie to jest pobierane z napięcia poprzez filtr LC. : Napięcie referencyjne przetwornika ADC mikrokontrolera. Sygnał ten jest dołączony do oddzielnego wejścia napięcia referencyjnego mikrokontrolera. +12V : Napięcie zasilania układów analogowych. Dla płyty EVB503 z wbudowanym przetwornikiem DC/DC wynosi ono +12V, dla płyty bez przetwornicy sygnał ten jest dołączony do napięcia +V układu MAX232 i wynosi około 9V. -12V : Napięcie zasilania układów analogowych. Dla płyty EVB503 z wbudowanym przetwornikiem DC/DC wynosi ono -12V, dla płyty bez przetwornicy sygnał ten jest dołączony do napięcia -V układu MAX232 i wynosi około -9V.. A : Masa analogowa połączona w jednym punkcie z masą cyfrową. Tabela 3.1 pokazuje przyporządkowanie sygnałów złącza ANALOG do konkretnych mikrokontrolerów z przetwornikami ADC. Szczegółowy opis połączenia sygnałów mikrokontrolera z złączem ANALOG znajduje się w dokumentacji modułów rozszerzeń. Tabela 3.1 Połączenia złącza ANALOG/PORT F Sygnały Mikrokontroler ATtiny15 Moduł rozszeżeń ATtiny26 AT90S2333 AT90S4433 ATmega8 AT90S4434 AT90S8535 ATmega16 ATmega163 ATmega323 ATmega103 ATmega64 ATmega128 TOP50X2 TOP50X2 TOP50X2 TOP50X1 TOP50X3 TOP50X4 AN0 PB5 PA0 PC0 PA0 PF0 AN1 PB2 PA1 PC1 PA1 PF1 AN2 PB3 PA2 PC2 PA2 PF2 AN3 PB4 PA4 PC3 PA3 PF3 AN4 PA5 PC4 PA4 PF4 AN5 PA6 PC5 PA5 PF5 AN6 PA7 PA6 PF6 AN7 PB4 PA7 PF7 Oprócz sygnałów portu G złącze PORT G/AUX1 posiada dodatkowe sygnały służące do podłączania dodatkowych układów I/O do płyty EVB503. Opis złącza PORT G/AUX1 pokazany został na rysunku 3.14 Rysunek 3.14 Wyprowadzenia złącza AUX1/PORT G A0 A2 /E5 /WR(PG0) ALE(PG2) PG4 1 2 A1 A3 PEN /RD(PG1 PG3 RST AUX1/PORT G 20
Dodatkowe sygnały PORT G/AUX1: A0-A3 4 najmniej znaczące bity adresów. /E5 Sygnał wyboru układów I/O podłączony do wewnętrznego dekodera adresów. PEN Sygnał PEN podłączony do wyprowadzenia PEN mikrokontrolerów ATmega103/128. RST Sygnał RESET podłączony do wyprowadzenia RESET mikrokontrolerów i wbudowanego systemu reset płyty EVB503. Tabela 3.2 Wyprowadzenia złącza AUX1/PORT G Sygnał AT90S8515/Atmega1 Atmega64/103/128 61/162 Write Signal /WR PD6 (1) PG0 Read Signal /RD PD7 (1) PG1 Address Latch Enable ALE ALE PG2 PG3 PG3 (1) PG4 PG4 (1) Uwaga: 1. Więcej szczegółów w dokumentacji technicznej modułów rozszerzeń. 3.1.4 Interfejs RS 232C Płyta EVB503 posiada dwa konwertery sygnałów dla portu szeregowego RS232. Porty mogą być użyte do komunikacji między mikrokontrolerami w modułach adaptacyjnych a komputerem PC lub innymi urządzeniami wyposażonymi w port UART w standardzie RS 232. W celu wykorzystania jednego z portów szeregowego RS232 należy odpowiednie sygnały portu UART mikrokontrolera połączyć z odpowiadającymi im sygnałami konwertera RS 232 dostępnymi na złączu AUX2. Port pierwszy posiada dwa sygnały RxD i TxD. Port drugi oprócz TxD i RxD posiada sygnały kontroli przepływu RTS i CTS. Wewnętrzna implementacja konwerterów RS 232 płyty EVB503 została przedstawiona na rysunku 3.15 Rysunek 3.15 Implementacja konwerterów RS 232 i złącze AUX2 5V 1 6 2 7 3 8 4 9 5 RS232 (1) 1 6 2 7 3 8 4 9 5 MAX232 5V 5V TxD1 RxD1 TxD2 RxD2 RTS2 CTS2 Voltage converter CTS2 RxD2 RxD1 1 2 AUX2 RTS2 TxD2 TxD1 RS232 (2) MAX232 21
Uwaga: Jeśli kontrola przepływu nie jest zaimplementowana sygnały CTS i RTS powinny być połączone ze sobą przy pomocy zworki w celu zapewnienia poprawności komunikacji, która wykorzystuje kontrole przepływu. Sygnały UART mikrokontrolera łączymy z sygnałami konwertera poziomów RS232 dostępnymi na złączu AUX2. Połączenie wykonujemy przy pomocy dołączonych 2- żyłowych kabelków. Połączenie zostało pokazane na rysunku 3.16 Rysunek 3.16 Podłączenie konwertera RS 232 do interfejsu UART mikrokontrolera 3.1.4 Magistrala SPI Płyta EVB503 posiada wewnętrzną magistralę SPI, której sygnały SI, SO, SCK wyprowadzone są na złącze AUX3. Do magistrali dołączone są również peryferia stanowiące opcjonalne wyposażenie płyty: pamięć DataFlash AT45DBXXX o pojemności do 16 Mbitów oraz zegar czasu rzeczywistego RTC DS1305. Sygnały wyboru układów peryferyjnych zostały również wyprowadzone na złącze AUX3. Wyprowadzenia złącza AUX3 pokazano na rysunku 3.17. Rysunek 3.17 Złącze magistrali SPI AUX3 SO /IR /EF 1 2 AUX3 SI SCK ER SO SI SCK /IR /EF ER :Sygnał magistrali SPI płyty EVB503 (Slave output) :Sygnał magistrali SPI płyty EVB503 (Slave input) :Sygnał magistrali SPI płyty EVB503 (clock) :Sygnał żądania przerwania układu RTC DS1305 i PCF8583 :Sygnał wyboru układu DataFlash wybierany poziomem niskim :Sygnał wyboru układu RTC DS1305 wybierany poziomem wysokim 22
Magistrala SPI może być połączoną z konkretnymi sygnałami I/O mikrokontrolera przy pomocy załączonych kabelków. Sygnały interfejsu SPI łączymy z portami mikrokontrolerów AVR według następujących reguł: AUX3 PORT B SO - MISO SI - MOSI SCK - SCK Sygnały wyborów układów DataFlash i RTC łączymy z dowolnymi portami mikrokontrolerów Przykładowe połączenie magistrali SPI z mikrokontrolerami AVR w obudowach DIP40 i DIP28 pokazano na rysunku 3.18 i rysunku 3.19 Rysunek 3.18 PORT B Wyprowadzenia SPI (AVR w obudowach DIP40) 1 2 PB0 PB1 PB2 PB3 (SS)PB4 PB5(MOSI) (MISO)PB6 PB7(SCK) PORT B Rysunek 3.19 PORT B Wyprowadzenia SPI (AVR w obudowach DIP28) PB0 (SS)PB2 (MISO)PB4 PB6 1 2 PB1 PB3(MOSI) PB5(SCK) PB7 PORT B 3.1.5 DataFlash AT45DBXXX Płyta EVB503 w zależności od wersji posiada wbudowaną pamięć DataFlash AT45DBXXX o pojemności 1,2,4,8 lub16 Mbitów do beznapięciowego przechowywania danych. Pamięć DataFlash jest pamięcią szeregową Flash o dużej pojemności z szybkim interfejsem szeregowym SPI. Pamięć została połączona do magistrali SPI płyty EVB503. Schemat połączenia pamięci DataFlash został pokazany na rysunku 3.20. 23
Rysunek 3.20 Schemat połączenia pamięci DataFlash VDF U19 SI SCK SI SCLK VCC SO RDY/BUSY SO VDF /RST /EF RST WP CS AT45DBXXX Interfejs SPI wymaga połączenia z odpowiednimi sygnałami I/O mikrokontrolera, połączenie to zostało opisane w rozdziale 3.1.4. Konieczne jest również połączenie sygnału wyboru układu pamięci /EF z odpowiednim sygnałem mikrokontrolera. Sygnał wyboru pamięci /EF aktywny jest w stanie niskim. Szczegółowy opis układów AT45DBXXX znajduję się na załączonej płycie CDROM lub na stronie firmy Atmel www.atmel.com. Przykładowe procedury obsługi pamięci zostały zawarte w dołączonym oprogramowaniu. 3.1.6 Zegar czasu rzeczywistego DS1305 Do wewnętrznej magistrali SPI dołączony jest również zegar czasu rzeczywistego RTC DS1305. Układ posiada podtrzymanie napięcia zasilania, które pobierane jest z baterji litowej umieszczonej w podstawce w przypadku zaniku napięcia zasilania. Sygnały interfejsu szeregowego układu RTC zostały podłączone do wewnętrznej magistrali SPI, sygnał wyboru układu ER został również wyprowadzony na złącze AUX3. Układ posiada wyjście przerwania /IR które może zostać połączone z jednym z wejść przerwań mikrokontrolera. Interfejs szeregowy układu DS1305 został skonfigurowany do pracy w standardzie SPI. Schemat połączenia zegara DS1305 został pokazany na rysunku 3.21. Rysunek 3.21 Schemat połączenia układu RTC DS1305 SCK ER SI SCLK CE SDI SERMODE VCC1 VCC2 VBAT VCCIF X1 X2 SDO PF SO CR 3220 (3V) 32,768 KHz NC DS1305 INT0 INT1 10k /IR Układ wymaga konfiguracji polegającej na podłączeniu interfejsu SPI z odpowiednimi portami mikrokontrolera oraz połączenia sygnału wyboru układu DS1305 z odpowiednim portem mikrokontrolera. Szczegółowy opis układów DS1305 znajduję się na załączonej płycie CDROM lub na stronie firmy Maxim www.maxim-ic.com. Przykładowe procedury obsługi zegara zostały zawarte w dołączonym oprogramowaniu. 24
3.1.5 Magistrala I 2 C System posiada wewnętrzną magistrale I 2 C, której sygnały SDA i SCK zostały wyprowadzone na złącze I 2 C oraz AUX4. Złącze AUX4 służy do przyłączenia magistrali I 2 C do odpowiednich wyprowadzeń I/O mikrokontrolera. Wyprowadzenia złącz I 2 C i AUX4 pokazano na rysunku 3.22. Połączenia te dokonuje się przy pomocy załączonych kabelków. Przykładowe połączenie magistrali I 2 C do mikrokontrolera ATmega323 zostało pokazane na rysunku 3.23. Do wewnętrznej magistrali połączone są: pamięć szeregowa EEPROM 24CXX oraz zegar czasu rzeczywistego PCF8583 Rysunek 3.22 Złacze AUX4 i I 2 C SCL 1 2 SDA 1 SDA SCL AUX 4 I 2 C SCL SDA :Sygnał zegarowy magistrali I 2 C :Sygnał danych magistrali I 2 C Implementacja protokołu I 2 C dla procesorów nie posiadających sprzętowej realizacji tego interfejsu znajduje się w dołączonym oprogramowaniu. 3.1.6 Pamięć szeregowa EEPROM 24CXX Płyta EVB503 posiada podstawkę na pamięć szeregową EEPROM z interfejsem szeregowym I 2 C 24CXX. Pamięć została połączona z szeregową magistralą I 2 C. Schemat połączenia układu 24CXX pokazana na rysunku 3.23. Rysunek 3.23 Połączenie pamięci 24CXX A0 A1 A2 SDA SDA TEST SCL SCL 24CXX 3.1.7 Zegar czasu rzeczywistego z magistralą I 2 C PCF8385 Płyta EVB503 posiada podstawkę pod zegar czasu rzeczywistego z magistralą I 2 C PDF8583.. Sygnały SDA i SCL układu zostały połączone z wewnętrzną magistrala I 2 C. W celu poprawnej pracy układu należy połączyć magistrale I 2 C z odpowiednimi wyprowadzeniami mikrokontrolera. Płyta EVB503 posiada podstawkę pod baterie litową CR2032, której napięcie jest wykorzystywane jako napięcie podtrzymania dla układu RTC, 25
w wypadku zaniku napięcia napięcie zasilania zegara zostaje przełączone na bateryjkę litową. Przykładowe procedury obsługujące układ PCF8583 zostały zawarte w oprogramowaniu dołączonym do sytemu. Na rysunku 3.24 pokazano schemat połączenia układu PFC8583 z magistralą I 2 C. Rysunek 3.24 Połączenie zegara PCF8583 32,768 KHz OSCI OSCO A0 VSS PCF8583 VDD INT SCL SDA /IR SCL SDA CR 3220 (3V) 3.1.8 Interfejs 1-Wire Płyta EVB503 posiada złącza magistrali 1-Wire rysunek 3.25. Rysunek 3.25 Złącze magistrali 1-WIRE 1 2 1 DATA 1W AUX 4 1WIRE Sygnał danych dostępny na złączu AUX4 musi być połączony z odpowiednim wyprowadzeniem mikrokontrolera przy pomocy załączonego kabelka. 3.1.9 Dekoder adresów Płyta EVB503 posiada wewnętrzny dekoder adresów generujący sygnały wyboru równoległych układów I/O znajdujących się na płycie (pamięć SRAM, rejestru banku pamięci, złącze wyświetlaczy LCD) oraz przyszłych układów dołączonych do systemu poprzez sloty rozszerzeń SLOT X. Układ dekodera adresuje pamięć i układy peryferyjne w sposób łatwy do zarządzania przez oprogramowanie systemu a jego realizacja na układach serii 74HC pozwoliła na wydatne ograniczenie poboru mocy oraz na poprawną prace układu w przedziale napięć zasilania od 1.8 do 6V. System może adresować do 512kB zewnętrznej pamięci SRAM zorganizowanej postaci banków oraz generuje sygnały wyboru dla przyszłych układów dołączanych do systemu. Domyślne ustawienie zworek dekodera adresów zostało przedstawione na rysunku 3.26. Mapa pamięci dla ustawień domyślnych została przedstawiona na rysunku 3.27. Dla ustawień domyślnych bankowanie pamięci SRAM jest wyłączone. 26
Rysunek 3.26 Lokalizacja i ustawienie zworek dekodera adresów Domyślne ustawienia zworek dekodera Rysunek 3.27 Mapa pamięci dla domyślnych ustawień dekodera FFFF FFFF Zewnętrzna pamięć SRAM SRAM 48kB 4000 1FFF 1F00 1EFF 0000 Zewnętrzne układy I/O Wewnętrzne układy I/O i sloty rozszerzeń Wewnętrzne układy I/O oraz pamięć RAM mikrokontrolerów 4000 3FFF Nie używane (4) 8kB 2000 1FFF Nie używane (2) 1FE0 1FD0 AUX1 16b 1FC0 SLOT3 16b 1FB0 SLOT2 16b 1FA0 SLOT1 16b 1F90 LCD 16b 1F80 Rejestr banku (3) 1F7F Nie używane (2) 1F00 Zarezerwowane (1) Uwagi: 1: Przestrzeń zarezerwowana na wewnętrzną pamięć RAM mikrokontrolerów 2: Przestrzeń niezdekodowana może być użyta przez zewnętrzne układy rozszerzeń 3: Rejestru numeru banku pamięci n widzianego od adresu 8000h 4: Przestrzeń niezdekodowana może być użyta przez zewnętrzne układy 27
rozszerzeń. Przestrzeń 2000h 2020h używana przez kartę sieciową W takiej konfiguracji jedynie pierwsze 48kB pamięci SRAM jest wykorzystane. Konfiguracja dekodera w trybie pracy z pamięcią SRAM w konfiguracji z podziałem na banki została opisana w następnym rozdziale. Sposób adresowania i lokacji poszczególnych adresów może być modyfikowana przy pomocy zworek. Zworki starszego bajtu adresów (Ram high address) W procesorach AVR z aktywnym trybem dostępu do zewnętrznej pamięci wszystkie bity portu C są domyślnie używane jako starszy bajt adresu. W wypadku nie adresowania całej 64kB przestrzeni adresowej istnieje możliwość zwolnienia nieużywanych linii portu C i używania ich jako normalnych linii portów I/O. Więcej informacji można znaleźć w danych katalogowych mikrokontrolerów. Jeśli któryś lub wszystkie bity portu C mają być zwolnione należy odpowiadające im zworki pozostawić otwarte. Otwarcie zworki powoduję pojawienie się stanu niskiego na odpowiadającej jej bicie. Stan niski osiągany jest dzięki rezystorowi łączącemu dany bit z masą zasilania. Zworka dekodera adresów (/ED) W ustawieniu domyślnym częściowy dekoder adresów U14 dekodujący sygnały selekcji układów I/O z młodszego bajtu adresów (A7-A0) uaktywniany jest następującym stanem na starszym bajcie adresu 000X XXXX (adresy A15,A14,A13 stan niski reszta nieistotna). Położenie domyśle zworki w pozycji rysunek 3.26 powoduję podanie sumy logicznej adresów A15 i A14 na jedno z wejść uaktywniających dekoder (wejście to jest aktywne w stanie niskim). Ustawienie zworki w pozycji jak na rysunku 3.28 powoduje połączenie sygnału aktywującego dekoder z poziomem niskim w takim przypadku dekoder uaktywniany jest starszym bajtem adresu o wartości XX0X XXXX. Rysunek 3.28 Ustawienie zworki /ED Otwarcie zworki powoduję zablokowanie dekodera. W wypadku zablokowania dekodera istnieje możliwość wykorzystania całej dostępnej przestrzeni adresowej na zewnętrzną pamięć SRAM. Opis zworek odpowiadających za konfigurację pamięci SRAM znajduje się w następnym rozdziale. 28
3.1.10 Zewnętrzna pamięć SRAM Płyta EVB503 w wersji Standard i Advance posiada wbudowaną pamięć SRAM. W wersji Standard jest to pamięć o pojemności 128kB a w wersji Advance o pojemności 512kB. Zastosowane pamięci wymagają napięcia zasilania płyty równego 5V. W konfiguracji domyślnej dekodera adresów jedynie pierwsze 48kB pamięci są wykorzystane rysunek 3.27. System ma możliwość dostępu całej pamięci SRAM podzielonej na bloki pamięci o rozmiarze 32kB zwane bankami. Konfiguracja dekodera dla dostępu do pamięci przy pomocy banków została opisana w dalszej części rozdziału. Zworka odblokowania pamięci SRAM (/ES) Ustawienie domyślne zworki rysunek 3.26 powoduje połączenie sygnał wyboru pamięci SRAM /CS z negacja sumy adresów A15 i A14 więc pojawienie się stanu wysokiego na jednym z nich powoduje odblokowanie pamięci SRAM. W takim wypadku pamięć jest widziana począwszy od adresu 4000h. Ustawienie zworki w pozycji jak na rysunku 3.29. Powoduje połączenie sygnału wyboru pamięci /CS z poziomem niskim i uaktywnienie pamięci bez względu na adres. Przy takim ustawieniu pamięć jest widziana od adresu 0000h i zajmuje całe 64kB. Otwarcie zworki powoduje zablokowanie pamięci. Rysunek 3.29 Ustawienie zworki /ES Praca pamięci SRAM w organizacji bankowej W celu pełnego wykorzystania całej pamięci dekoder adresów umożliwia podział pamięci na banki o rozmiarze 32kB każdy. Kolejne banki pamięci widziane są począwszy od adresu 8000h. Wybór banku następuje poprzez wpisanie jego numeru do rejestru banku, który znajduje się pod adresem 1F80h. Dodatkowo dolne 16kB banku 0 jest zawsze widziane w lokacji 4000-7FFFh niezależnie numeru banku wpisanego do rejestru. Takie rozwiązanie jest szczególnie korzystne w przypadku programowania w języku C gdyż w przestrzeni 4000-7FFFh zawsze znajduję się bank 0 w którym mogą być trzymane zmienne i bufory środowiska często używane w programie a przestrzeń ze zmiennym numerem banku może być używana np. do gromadzenia danych pomiarowych, dużych tablic lub buforów przed dostępem do których zmiana numeru banku nie nastręcza trudności. W celu włączenia bankowania pamięci SRAM należy ustawić zworki A15R i /EB jak pokazano na rysunku 3.30. Zworka /EB służy do uaktywnienia rejestru banku. W pozycji jak na rysunku 3.30 rejestr numeru banku jest podłączony do dekodera adresów i znajduje się pod adresem 1F80h. W wypadku usunięcia zworki rejestr jest wyłączony a linie adresowe A19-A16 są w stanie niskim. 29
Rysunek 3.30 Konfiguracja zworek /EB i A15R dla dostępu pamięci SRAM Zworka A15R powoduje połączenie linii adresowej pamięci SRAM A15 z sygnałem A15 mikrokontrolera ustawienie jak na rysunku 3.27 lub z sygnałem A15 pochodzącego z wyjścia rejestru numeru banku ustawienie zworki jak na rysunku 3.30 Mapa pamięci w konfiguracji pamięci SRAM w postaci banków została pokazana na rysunku 3.31 Rysunek 3.31 Mapa pamięci dla ustawieni dekodera w trybie bankowania FFFF 4000 1FFF 1F00 1EFF 0000 Zewnętrzna pamięć SRAM Zewnętrzne układy I/O Wewnętrzne układy I/O i sloty rozszerzeń Wewnętrzne układy I/O oraz pamięć RAM mikrokontrolerów FFFF 8000 7FFF 4000 3FFF BANK 0 32kB BANK 0 (3) 16kB Nie używane (4) 8k 2000 1FFF Nie używane (2) 1FE0 1FD0 AUX1 16b 1FC0 SLOT3 16b 1FB0 SLOT2 16b 1FA0 SLOT1 16b 1F90 LCD 16b 1F80 Rejestr banku (3) 1F7F Nie używane (2) 1F00 Zarezerwowane (1). n. BANK 16 30
Uwaga: 1: Przestrzeń zarezerwowana na wewnętrzną pamięć RAM mikrokontrolerów 2: Przestrzeń niezdekodowana może być użyta przez zewnętrzne układy rozszerzeń 3: Rejestru numeru banku pamięci n widzianego od adresu 8000h 4: Przestrzeń niezdekodowana może być użyta przez zewnętrzne układy rozszerzeń. Przestrzeń 2000h 2020h używana przez kartę sieciową Przykładowe programy realizujące dostęp do zewnętrznej pamięci SRAM zostały zawarte w dołączonym oprogramowaniu. 3.1.11 Złącze modułów wyświetlaczy LCD Płyta EVB503 posiada złącze LCD, które umożliwia współpracę systemu z wyświetlaczami LCD zarówno znakowymi jak i graficznymi. Szereg zworek konfiguracyjnych umożliwia dopasowanie aktywnych poziomów i czasów trwania impulsów sterujących pracą wyświetlacza. Opis wyprowadzeń złącza LCD zamieszczono na rysunku 3.32. System dodatkowo posiada złącze LIGHT podświetlania modułów LCD. Złącze to dostarcza napięcia VLG równego napięciu płyty lub napięciu 5V. Przełączanie między napięciami opisano w rozdziale zaawansowane ustawienia. Wyprowadzenia złącza podświetlania LIGHT pokazano na rysunku 3.32. Rysunek 3.32 Złącze LCD i LIGHT 1 2 Vo RS WRL EL PA0 PA2 PA4 PA6 PA1 PA3 PA5 PA7 LIGHT 1 VLG C1 C2 RST RDL NC NC LCD : Masa : Napięcie zasilania modułów LCD (1,2 6V). Vo : Napięcie kontrastu modułów LCD (0 do 5V lub 12 do 5V) RS : Sygnał wyboru rejestru domyślnie połączony z A0 WRL : Strob zapisu (standard Intela) łączony z sygnałem /WR wyświetlacza LCD lub sygnał wyboru zapis/odczyt (standard motoroli) łączony z sygnałem W/R wyświetlaczy LCD. Linia domyślnie połączona z sygnałem /WR EL : Odblokowanie układu (standard Intela) łączony z sygnałem CS lub CE wyświetlaczy LCD lub strob zapisu (standard motoroli) łączony z sygnałem E wyświetlaczy LCD. Linia domyślnie połaczona z układem kształtowania impulsów. PA0-PA7 : 8 bitów magistrali danych C1 : Sygnał wyboru sekcji wyświetlacza (używany w niektórych graficznych wyświetlaczach LCD) domyślnie połączony z linią adresową A1 31
C2 RST RDL VLG : Sygnał wyboru sekcji wyświetlacza (używany w niektórych wyświetlaczach graficznych LCD) domyślnie połączony z linią adresową A2 : Sygnał Reset płyty EVB503 aktywny w stanie niskim : Strob odczytu (standard Intela) domyślnie połączony z linią /RD mikrokontrolera : Napięcie podświetlania domyślnie Układ domyślnie został skonfigurowany do współpracy z wyświetlaczami znakowymi z kontrolerem HD44780U lub zamiennym. Ustawienie zworek dla konfiguracji domyślnej zostało pokazane na rysunku 3.33 Rysunek 3.33 Ustawienie domyślne zworek LCD Domyślne ustawienia zworek LCD Przy takich ustawieniach wyświetlacz widziany jest w przestrzeni adresowej od 1F90h do 1F9Fh, wybór pomiędzy rejestrem instrukcji a rejestrem danych wyświetlacza dokonywany jest przy pomocy linii adresowej A0 tzn. 1F90 rejestr danych 1F91 rejestr instrukcji Strob zapisu wyświetlacza LCD EL ma długość 250ns niezależnie od długości strobu zapisu /WR mikrokontrolera. Należy jednak zwrócić uwagę aby czas strobu /WR mikrokontrolera był zawsze dłuższy od 250ns. W wypadku braku możliwości spełnienia tej zależności należy przy pomocy zworki T ustawić długość strobu zapisu wyświetlacza LCD EL na 80ns. Szczegółowy opis ustawień długości strobu EL zawarto w dalszej części instrukcji. Rysunek 3.34 Uzależnienia czasowe sygnałów LCD dla ustawień domyślnych 32
Dla ustawień domyślnych wartość napięcia kontrastu ustalana jest przy pomocy potencjometru ADJ. Vo i może przyjmować wartości od 0 do +5V. Zmiana zakresu napięcia kontrastu. Napięcie kontrastu Vo może być zmieniane od 12V (1) do +5 lub 0 do 5V w zależności od ustawienia zworki VoR. Na rysunku 3.32 przedstawiono zakres zmiany napięcia kontrastu Vo w zależności od ustawień zworki VoR. Uwaga: 1: W wersji płyty bez przetwornicy DC/DC zakres wynosi 9 do 5V. Rysunek 3.32 Ustawienie zworki VoR Vo 0..5V Vo 12.. 5V Zmiana aktywnego poziomu sygnału EL Poziom aktywny sygnału EL (Enable LCD) ustawiany jest przy pomocy zworki EL. Ustawienia zworek pokazane są na rysunku 3.33. Rysunek 3.33 Ustawienie zworki EL Sygnał EL aktywny stanem wysokim Sygnał EL aktywny stanem niskim Sygnał EL aktywny w stanie niskim. W przypadku wyboru aktywnego sygnału EL poziomem niskim. Sygnał EL podłączony jest bezpośrednio z wyjściem dekodera adresów. W takiej konfiguracji moment zapisu i odczytu modułów LCD jest wyznaczany przy pomocy sygnałów WRL lub RDL. Sygnał EL uaktywnia jedynie moduł LCD. Taki sposób sterowania posiadają wyświetlacze z kontrolerami TC6963 i SED1335. Większość kontrolerów wyświetlaczy LCD wymaga aby w operacji zapisu po przejściu sygnału /WR w stan wysoki (moment przepisania danych do rejestru kontrolera LCD), dane na magistrali były ważne jeszcze przez pewien określony 33
czas (8 33ns), mikrokontrolery rodziny `51 spełniają ten warunek. Natomiast w kontrolerach rodziny AVR przejścia sygnału /WR w stan wysoki powoduję natychmiastowe zdjęcie danych z magistrali. W celu zapewnienia poprawnej pracy modułów LCD z mikrokontrolerami AVR płyta EVB503 posiada układ formowania impulsu zapisu /WR, którego zadaniem jest skrócenie impulsu zapisu na linii WRL, tak aby w momencie jego przejścia w stan wysoki dane na magistrali były jeszcze przez pewien czas ważne. Czas trwania impulsu zapisu na linii WRL ustawiany jest przy pomocy zworek WRL i T. Zworka WRL przełącza sygnał WRL miedzy układem generowania impuls o czasie trwania t 1 a sygnałem mikrokontrolera /WR. Zworką T ustawiamy wartość czasu t 1. Czas trwania t 1 powinien być dobrany odpowiednio do czasu długości impulsu zapisu na linii /WR mikrokontrolera tzn. musi być krótszy o przynajmniej 33ns od czasu trwania strobu zapisu /WR. Ustawienie zworek WRL i T pokazano na rysunku 3.34. Linia RDL złącza LCD połączona jest bezpośrednio z sygnałem /RD mikrokontrolera. Rysunek 3.34 Ustawienie zworek WRL i T a) t 1 =/WR b) t 1 =80ns c) t 1 =250ns d) t 1 =450ns Rysunek 3.35 Uzależnienia czasowe sygnałów LCD Sygnał EL aktywny w stanie wysokim. W przypadku ustawienia poziomu aktywnego sygnału EL na wysoki. Sygnał EL pełni rolę strobu i wyznacza moment wpisania bądź odczytu danych do/z kontrolera LCD. Sygnał ten jest generowany na podstawie sygnału z dekodera adresów oraz strobów /WR i /RD mikrokontrolera. Wybór między zapisem a odczytem dokonywany jest poziomem linii WRL, która powinna być połączona z sygnałem /WR modułu LCD, rysunek 3.34a. Taki sposób sterowania posiadają popularne kontrolery HD44780U. Kontrolery HD44780U wymagają aby w operacji zapisu (sygnał WRL niski) po przejściu sygnału EL w stan niski (moment przepisania danych do kontrolera LCD), dane na magistrali były ważne jeszcze przez pewien określony czas (20 33ns), kontrolery rodziny `51 spełniają ten warunek. Natomiast w kontrolerach rodziny AVR przejścia sygnału /WR w stan wysoki powoduję natychmiastowe zdjęcia danych z magistrali. W celu zapewnienia poprawnej pracy 34
modułów z kontrolerami AVR płyta EVB503 posiada układ formowania impulsu EL, którego zadaniem jest wygenerowanie strobu o określonym czasie trwania, tak aby w momencie jego przejścia w stan niski dane na magistrali były jeszcze przez pewien czas ważne. Czas trwania impulsu EL dla odczytu (linia /RD aktywna) równy jest długości impulsu na linii /RD. Natomiast czas trwania impulsu EL dla zapisu (linia /WR aktywna) wybierany jest przy pomocy zworek T. Ustawienie czasu trwania impulsu oraz jego opóźnienie względem sygnału /WR procesora pokazano na rysunku 3.36. Rysunek 3.36 Ustawienie zworek WRL i T t 1 =80ns t 1 =250ns t 1 =450ns t 2 =15ns t 2 =120ns Rysunek 3.37 Uzależnienia czasowe sygnałów LCD 35
Na rysunku 3.38 pokazano sposób połączenia modułów wyświetlaczy do złącza LCD płyty EVB503. Rysunek 3.38 Podłączenie modułów wyświetlaczy do złącza LCD Vo RS WRL EL PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 C1 C2 RST RDL LCD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 SYSTEM EVB503 JP1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 HD61202 VCC Vlcd REG/DATA R/W E DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 CS1 CS2 /RESET Vo RS WRL EL PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 C1 C2 RST RDL LCD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 SYSTEM EVB503 JP1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 HD44780 VCC Vlcd REG/DATA R/W E DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 Vo RS WRL EL PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 C1 C2 RST RDL LCD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 SYSTEM EVB503 JP1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 T6963C F VCC Vlcd /WR /RD /CE REG/DATA /RESET DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 J2 J1 Vo RS WRL EL PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 C1 C2 RST RDL LCD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 SYSTEM EVB503 JP1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 SED1330 VCC Vlcd /RD /WR REG/DATA DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 /CE /RESET F Przykładowe oprogramowanie obsługi wyświetlaczy LCD znajduję się w załączonej płycie CD. 3.1.11 System reset Płyta EVB503 posiada wbudowany układ kontroli napięcia zasilania, który po przekroczeniu spadku napięcia poniżej progu Vbo generuję sygnał RST zerujący mikrokontroler i wbudowane peryferia. Jeśli zworka RST jest zamknięta układ resetu jest podłączony do sygnału RST płyty. Wymontowanie zworki powoduje odłączenie układu generacji reset, co jest szczególnie przydatne w aplikacjach prototypowych z własnym układem reset. Przycisk RESET służy do manualnej generacji sygnału zerowania. Sygnał RST jest dostępny na złączu PORTG/AUX1 i złączach rozszerzeń, wyprowadzenia te mogą być również użyte do zewnętrznego zerowania systemu. Ustawienie zworki RST pokazano na rysunku 3.39. 36
Rysunek 3.39 Ustawienia zworki RST Zworka zamknięta (Domyślnie) Wewnętrzny układ Reset podłączony Zworka otwarta Wewnętrzny układ Reset odłączony Układ nadzoru napięcia wykrywa chwilowe spadki napięcia. Krótkotrwały spadek napięcia poniżej określonego progu VBO powoduję wygenerowanie sygnału zerującego o odpowiedniej długości. Układ monitorujący może być ustawiony na jedno z napięć VB0 2.7 lub 4.2V ustawienie to zostało pokazanie na rysunku 3.40. Rysunek 3.40 Ustawienia zworki VBO 3.1.12 Oscylator Płyta EVB503 posiada wewnętrzny oscylator, który wytwarza sygnał zegarowy dla mikrokontrolerów. Oscylator współpracuje z kwarcami pracującymi na pierwszej częstotliwości harmonicznej. W praktyce umożliwia to uzyskanie częstotliwości pracy oscylatora w granicach 32kHz do 24 MHz. Kwarce montowane są w podstawce X1 co 37