Instrukcja użytkownika
Transkrypt
Instrukcja użytkownika
MMmega0X Minimoduły dla ATmega 103/128 Instrukcja użytkownika REV 1.1 u rd ST, ta- rve l a a , S e Ev Bo VR ers b S d l n io 1, A trol We mo t i a ‘5 in ron ed r c fo cro dd s M the e s d e i m mb oar rs, peC E B S PI its ng rolle gh r K pi nt Hi fo r y o rte tot roc FID ers s o c r Pr mi s, R mm lle rs or ler gra tro f ol n o s pr oco CB e ntr l u o m icr s, P for c e t t m s s ne Sy T stem ard In , S sy Bo trol C ed PI or ion on b s , c e R ce luat cro W V o A pr va mi ed idd ro E ic ng PIC be ds m M ni T, m r , ig , S s E oa ers s B t de VR Ki ng troll h i r , A rte typ on Hig 1 c ‘5 Sta oto ro ID r e ic F rs P le rs or m s, R mm ve s f ller gra ntrl r Se ule tro pro oco od con ms icr s, m ni net ste T m stem y S y r ohe In S C, r s B t e d PI eso tion ice , e R oc ua m Sp AV opr val IC e r r fo ic g E T, P mb E rs s M nin , S s ing r ig t R i e l ol des , AV er K typ B `51 tart roto roS s P mic , PC for s s ller er for lers d ar tro erw les trol on b S du con ram c ro We imo et rog o n p n ed Mi her m roc d d ds et ste ic ar rs, Sy T m r o B olle In , S so tr ed IC oce ign P s co Spe R, opr De V cr B Rion h t ig r A Mi PC lua H f o rs , s oneasolution e Many ideas s er troll em Ev ds m n st ng oar y o c S ni B Wstęp MMmega01 i MMmega02 są uniwersalnymi minimodułami dla mikrokontrolera ATmega 103/128 firmy Atmel. Mikrokontroler ten jest dostępny w obudowie TQFP64, która ze względu na zagęszczony układ wyprowadzeń utrudnia stosowanie go w układach prototypowych i amatorskich. My podjeliśmy próbę umieszczenia go na płytce o wymiarach 39x42 mm z układem wyprowadzeń pasującym do ogólnie dostępnych druków prototypowych. Dodatkowo dodaliśmy zegar czasu rzeczywistego z podtrzymaniem bateryjnym, pamięć szeregową DataFlash o pojemności do 4Mb, układ monitorujący napięcie zasilania oraz złącze ISP (In-System Programming). Wszystkie porty i sygnały mikrokontrolera wyprowadziliśmy przy pomocy dwurzędowych złącz szpilkowych o rastrze 0,1’. Minimoduł ten nie jest jedynie adapterem, ale kompletną płytą główną dla Atmega103/128. Wystarczy podłączyć napięcie zasilania, złącze ISP i możemy zacząć ładować 128 kBajtów pamięci flash mikrokontrolera. Dzięki zintegrowaniu peryferii z mikrokontrolerem na jednej płytce, zastosowanie modułu może skrócić czas projektowania i ułatwić budowę systemów bazujących na mikrokontrolerach ATmega, eliminując konieczność projektowania obwodu drukowanego . Do modułu dostarczone jest oprogramowanie do komunikacji z wbudowanymi peryferiami. Cechy modułów • • • • • • • • • Mikrokontroler ATmega103/128 (L) (1) Zegar czasu rzeczywistego z magistralą I2C lub SPI + podstawka pod baterię litową (1) Szeregowa pamięć DataFlash z magistralą SPI o pojemności do 4Mb (1) Złącze do programowania w systemie SPI z multiplekserem magistrali Układ resetu i kontroli napięcia zasilania DS1811 lub DS1817) (1) Wszystkie porty i sygnały mikrokontrolera wyprowadzone po obu stronach płytki przy pomocy złącz szpilkowych o rastrze 0,1’’ Dodatkowy kwarc 32.768 kHz dla wewnętrznego Timera/Licznika mikrokontrolera(1) Małe wymiary Przykładowe oprogramowanie w postaci funkcji języka C Uwagi: 1: W zależności o wersji minimodułu Dostępne wersje Układ dostępny jest w trzech podstawowych wersjach: • MMmega00 - ATmega128, 8MHz, kwarc 32.768kHz • MMmega01 - ATmega128, 8Mhz, DataFlash 1Mb, RTC I2C PCF8583, podstawka pod baterię litową, kwarc 32.768kHz, zasilanie 5V DC • MMmega02 - ATmega128, 8Mhz, DataFlash 1Mb, RTC SPI DS1305, podstawka pod baterię litową, kwarc 32.768kHz, zasilanie 5V DC 2 Możliwa jest również własna konfiguracja według następującego selektora: MMmega0r – b – f – x – v 0 - bez układu RTC 1 - RTC I2C PCF 8583 2 - RTC SPI DS1305 0 - bez pamięci DataFlash 1 - 1Mb DataFlash 2 - 2Mb DataFlash 4 - 4Mb DataFlash 8 - 8Mb DataFlash 0 - bez podstawki pod baterie 1 - podstawka pod baterie CR2023 5 - wersja 5V 3.3 - wersja 3.3V 3.6864 4 6 8 11,059 16 - Kwarc 3.6864 Mhz - Kwarc 4 Mhz - Kwarc 6 Mhz - Kwarc 8 Mhz - Kwarc 11,059 Mhz - Kwarc 16 Mhz Opis wyprowadzeń A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 PE0 (RxD) PE1 (TxD) PE2 (AC+) PE3 (AC-) PE4 (INT4) PE5 (INT5) PE6 (INT6) PE7 (INT7) PB0 (SS) PB1 (SCK) PB2 (MOSI) PB3 (MISO) PB4 (OC0) PB5 (OC1A) PB6 (OC1B) PB7 (OC2) PD0 (INT0) PD1 (INT1) PD2 (INT3) PD3 (INT4) PD4 (IC1) PD5 PD6 (T1) PD7 (T2) XTAL-Out RST /RD /WR PG3 PG4 GND VCC Widok z góry MMmega00 MMmega01 MMmega02 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 B32 /PEN VBAT AVCC AGND AREF PF0 (ADC0) PF1 (ADC1) PF2 (ADC2) PF3 (ADC3) PF4 (ADC4) PF5 (ADC5) PF6 (ADC6) PF7 (ADC7) PA0 (AD0) PA1 (AD1) PA2 (AD2) PA3 (AD3) PA4 (AD4) PA5 (AD5) PA6 (AD6) PA7 (AD&) ALE PC7 (A15) PC6 (A14) PC5 (A13) PC4 (A12) PC3 (A11) PC2 (A10) PC1 (A9) PC0 (A8) ISP Header MOSI LED RST SCK MISO VCC GND GND GND GND MMmega01 MMmega02 INT0 ERTC EFLASH 3 Zasilanie minimodułów Moduł powinien być zasilany napięciem 5V DC, wyprowadzenia (VCC i GND). W module wydzielono napięcie zasilania przetwornika ADC wyprowadzenie (AVCC) i masę części analogowej wyprowadzenie (AGND). Napięcie referencyjne przetwornika ADC wyprowadzono na nóżkę (AREF). W wypadku używania wewnętrznej baterii jej napięcie wyprowadzono na nóżkę (VBAT), natomiast gdy używane jest zewnętrzne źródło, jego napięcie powinno być również podane na nóżkę (VBAT) ! Nie wolno jednocześnie używać wewnętrznego i zewnętrznego źródła napięcia podtrzymania ! Pobór prądu przez moduł przy częstotliwości taktowania mikrokontrolera 6Mhz wynosi około 30mA. Dostępne są również wersje minimodułów na napięcie 3.3V dla mikrokontrolerów ATmega103L/128L. Reset Układ nadzoru napięcia zasilania DS1811/1817 uaktywnia sygnał /RESET mikrokontrolera jeżeli napięcie zasilania spadnie poniżej 4.6V. Linia /RESET może być również przełączana z zewnątrz udostępniając tym samym możliwość zresetowania mikrokontrolera przez zewnętrzne elementy. Zewnętrzna aktywacja sygnału /RESET następuje po podaniu poziomu niskiego na linie /RESET wyprowadzenie (RST). Zegar czasu rzeczywistego Układ posiada wbudowany układ RTC (Real Time Clock) z podtrzymywaniem bateryjnym. W wersji MMmega01 wbudowano układ z magistralą I2C PCF8583, natomiast w wersji MMmega02 z magistralą SPI DS1305. Napięcie podtrzymania pobierane jest z bateryjki litowej (CR2023) umieszczonej w podstawce lub zewnętrznego źródła poprzez wyprowadzenie (VBAT). W wersji z zegarem PCF8583 linie SDA i SCL podłączone są bezpośrednio do wyprowadzeń (PD0 i PD1) mikrokontrolera. Wyjście przerwania INT układu zegarowego zostało wyprowadzone na zewnątrz minimodułu poprzez nóżkę (INT0), pozwala to na jego połączenie z dowolnym wyprowadzeniem mikrokontrolera. Może ono być również podłączone wewnątrz minimodułu do portu PE4 mikrokontrolera poprzez zwarcie zworki J3. W wersji z zegarem DS1305 linie SDI, SDO, SCLK magistrali SPI połączono poprzez układ multipleksera HC4053 z odpowiadającymi im sygnałami mikrokontrolera, pozwala to na odłączenie układu od magistrali w chwili programowania pamięci flash mikrokontrolera. Linia CE (Chip Enable) zegara została wyprowadzona na zewnątrz minimodułu poprzez nóżkę (ERTC), co pozwala na jej dowolne połączenie z wyprowadzeniami mikrokontrolera, możliwe jest również połączenie jej z portem PB5 mikrokontrolera poprzez zwarcie zworki J3. Połączenie linii INT układu zegarowego jest identyczne jak w wersji z zegarem PCF8583. Pamięć szeregowa DataFlash Minimoduł posiada wbudowaną pamięć DataFlash o pojemności do 4Mb, w zależności od wersji minimodułu. Pamięć komunikuje się z mikrokontrolerem przy pomocy szybkiej magistrali SPI. Magistrala SPI pamięci została połączona poprzez układ multipleksera 4053 z odpowiadającymi jej sygnałami mikrokontrolera. Linia CS (Chip Select) pamięci została wyprowadzona na zewnątrz minimodułu poprzez nóżkę (EFLASH), może ona być również 4 bezpośrednio połączona z portem PB4 mikrokontrolera poprzez zwarcie zworki J1. W chwili obecnej produkowane są jedynie pamięci DataFlash o napięciu zasilania 3.3V, z odpornością linii wejściowych na sygnał 5V. Napięcie zasilania pamięci 3.3V uzyskano przy pomocy stabilizatora składającego się z trzech diod połączonych szeregowo. Złacze ISP Złącze ISP jest używane do programowania w systemie. Wszystkie sygnały interfejsu ISP zostały połączone z mikrokontrolerem przez multiplekser HC4053, co pozwala na ich odłączenie od reszty modułu podczas operacji programowania. Eliminuje to możliwość przypadkowego zapisu do układu RTC, DataFlash, lub magistrali RS232. Multiplekser sterowany jest sygnałem LED, podczas programowania musi on być połączony z poziomem niskim co sygnalizowane jest za pomocą diody LED (ISP). Złącze ISP jest kompatybilne z układem STK300, do programowania może być użyty programator ISPcable I lub ISPcable II produkowany przez naszą firmę lub dowolny programator posiadający wyprowadzenia w tym standardzie. Przykładowa aplikacja Wybór naszego minimodułu jest pierwszym krokiem dla projektów, które muszą być zrealizowane w krótkim czasie. Minimoduł może być użyty zarówno do prototypu eliminując konieczność projektowania obwodu drukowanego jak i do układu produkowanego seryjnie w postaci modułu, umieszczanego w układzie finalnym w postaci „kanapki” co zaoszczędzi miejsce na druku oraz ułatwi montaż eliminując lutowanie elementu w obudowie QFP64. Aplikacja demonstruje jak w łatwy sposób można zbudować kompletny system mikroprocesorowy przy użyciu minimodułu oraz układu ewaluacyjnego EVB503. Zewnętrzny zasilacz Komputer PC Inne urządzenia z RS232 Przetwornica +5 na +/-12V ATmega128 DataFlash MMmega0X Uniwersalne złącze modułów LCD Pamięć RAM RTC Złącze ISP Stabilizatory 2 x RS232 Wyświetlacz LCD Dekoder adresów Karty rozszerzeń Gotowe Karty rozszeżeń Optoizolowane wejscia wyjscia Cyfrowe Karta przetworników ADC i DAC Karta Sieciowa Karta modemowa Karty rozszerzeń Ethernet Internet Sieć telefoniczna Przetworniki wielkości fizycznych Czujniki zblirzeniowe Żródło napięcia AREF Karty prototypowe Elementy wykonawcze itp. Karty rozszerzeń Porty mikrokontrolera 8 x LED 8 x Microswitch Buzzer 5 Oscylator Moduły z mikrokontrolerami ATmega128 dostarczane z programowo ustawionym trybem pracy kontrolera z wewnętrznym oscylatorem RC o częstotliwości 1MHz. Przełączenie na zewnętrzny oscylator kwarcowy, dokonuję się poprzez ustawienie odpowiednich fuse bitów. Oprogramowanie Wraz z minimodułem dostarczane jest oprogramowanie w języku C w postaci bibliotek funkcji realizujących komunikację z wbudowanymi peryferiami. Najnowsza wersja oprogramowania i dane katalogowe wbudowanych peryferii minimodułu dostępne są na naszej stronie www.propox.com Wymiary Wymiary podano w milsach. 1mils – 1/1000 cala 100milsów = 2,54mm (raster standardowy) Rozmiszczenie elementów MMmega00/01/02 Widok z góry MMmega01 Widok z dołu MMmega02 Widok z dołu 6 PA3 PA4 PA5 PA6 PA7 ALE PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 /RD /WR Schemat JP2 /PEN JP1 AREF PA3/AD3 PA4/AD4 PA5/AD5 PA6/AD6 PA7/AD7 ALE PC7/A15 PC6/A14 PC5/A13 PC4/A12 PC3/A11 PC2/A10 PC1/A9 PC0/A8 RD WR ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 ALE PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 PA2/AD2 PA1/AD1 PA0/AD0 VCC GND PF7/ADC7 PF6/ADC6 PF5/ADC5 PF4/ADC4 PF3/ADC3 PF2/ADC2 PF1/ADC1 PF0/ADC0 AREF AGND AVCC 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 PD7/T2 PD6/T1 PD5 PD4/IC1 PD3/INT3 PD2/INT2 PD1/INT1 PD0/INT0 XTAL1 XTAL2 GND VCC RESET TOSC1 TOSC2 PB7/OC2/PWM2 U1 ATmega103 PEN PE0/PDI/RxD PE1/PDO/TxD PE2/AC+ PE3/ACPE4/INT4 PE5/INT5 PE6/INT6 PE7/INT7 PB0/SS PB1/SCK PB2/MOSI PB3/MISO PB4/OC0/PWM0 PB5/OC1A/PWM1A PB6/OC1B/PWM1B PA2 PA1 PA0 VCC GND ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 AREF AGND AVCC PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 X1 4MHz C6 22p C7 22p GND VCC /RESET OSC PG4 PB7 X2 32k MMmega01 PG3 MMmega02 INT0 EFLASH ERTC EFLASH HEADER B R5 10k PB2 PB3 PB4 PB5 PB6 VCC PE2 PE3 PE4 PE5 PE6 PE7 PB0 HEADER A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VCC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 VBAT AVCC 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 /PEN PE0 PE1 PE2 PE3 PE4 PE5 PE6 PE7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 OSC /RESET /RD /WR PG3 PG4 MMmega01 J2 PE4 INT0 VCC VCC 1N4148 1N4148 C5 VEE INH A B C Z0 Z1 X0 X1 Y0 Y1 1 2 3 4 7 6 11 10 9 5 3 2 1 12 13 8 D1 ISP LED PB3 7 EFLASH PB1 PE1 BT1 BATTERY VCC VCC R1 1k 3 GND RST PB5 U5 PB1 ERTC 100n 100n 47n JP3 ISP Header 9 7 5 3 1 C3 14 12 15 11 3 5 AVCC C1 10 8 6 4 2 AREF C2 VCC J3 1 PB2 VCC C44 100n 2 /RESET C8 10uF PD0 PD1 VBAT DS1813-5 + 8 7 6 5 VDD INT SCL SDA PCF8583 U3 VCC R2 1k VCC D27 1N4148 OSCI OSCO A0 VSS MMmega02 U4 AT45D011/SOIC PE0 RST WP CS GND J1 SO D28 1N4148 SCLK 3 5 4 PB4 VCC 2 PB1 /RESET SI R7 2k7 U5 X3 32,768 KHz R3 1k6 6 1 R6 2k7 VCC 100n PB2 VCC C4 30p U2 74HC4053 Z 1N4148 4 D4 Y D3 X D2 15 VCC 14 VCC X3 32k VCC 4 6 8 10 SCLK CE SDI SERMODE VCC1 VCC2 VBAT VCCIF X1 X2 SDO PF NC NC NC GND INT0 INT1 NC NC 20 1 2 17 16 18 7 9 19 13 PB3 J2 PE4 DS1305E DIGITAL GND ANALOG GND R http://www.propox.com email: [email protected] Many ideas one solution Title: Size: MMmaga01/02 minimodules for ATmega TQFP64 Rev: File: Date: 24-04-2002 Sheet 1 of 1 1.00 7