Płytka AVR ATmega128sk

Płytka AVR ATmega128sk
Razem głosów: 16 co stanowi: 93.75% całości.

D155F8Datmega128-16au

W zasadzie mało coś piszę o mikrokontrolerach AVR, ale tym razem chciałem przedstawić płytkę EVB inna niż wszystkie ….

Tak zdecydowanie jest inna konstrukcyjnie nie przypomina zestawu evb takiego w typowym znaczeniu i do jakich przywykliśmy …..

s01p

Zwarta konstrukcja i wyposażenie oraz rozmieszczenie pinów sugeruje moduł projektowany do innych zastosowań niż zestaw uruchomieniowy, ale świetnie może pełnić jego rolę .

Na pokładzie z ważniejszych:

  • ATmega128 pędzona 16Mhz
  • Slot kart SD
  • UART0 wyprowadzony na USB za pośrednictwem FT232R
  • UART1 wyprowadzony na DB9 za pośrednictwem MAX232
  • Złącze JTAG
  • Złącze ISP (w standardzie KANDA)
  • 2 Expandery PCF8574T
  • RTC na DS1337
  • EEPROM 24C64
  • SRAM 128K
  • Zasilanie 5V z USB lub przetwornicy na LM2576T
  • Zasilanie 3,3V  z L1117

W przypadku urządzeń pracujących na magistrali I2C jak RTC, Expandery , EEPROM na uwagę zasługują bardzo wygodne DIP SWITCHE :

Przechwytywanie

służące do konfiguracji adresów na magistrali I2C oraz włączania peryferii … co jest bardzo wygodnym rozwiązaniem. I być może warto by konstruktorzy zestawów EVB też wprowadzili u siebie , zamiast na sztywno w większości przypadków ustalać adresy.

Dodatkowo na płytce są wyprowadzone wszystkie porty i piny w postaci wygodnych złącz IDC10 gdzie poza pinami portów znajdziemy też zasilanie.

Przechwytywanie

Podobnie jak i piny z expanderów naprawdę wygodne :) Wspomniany port DB9 z konwerterem MAX232 wyprowadzony na UART1  to doskonałe rozwiązanie i często brakujące w wielu zestawach.

W przypadku FT232R trochę boli, że wykorzystano tylko minimum możliwości …. Slot karty SD też duży i wygodny wraz z translatorem poziomów , i oczywiście niezawodny mój zresztą ulubiony układ multiplexera na IDC i UART co przy ATmedze128 jest normalne, gdyż piny programowania przez ISP są na tych samych pinach co UART0 :)

Parę fotek płytki:

Jak widać ciekawa konstrukcja , kiedyś ja prezentowałem z racji prac nad uruchomieniem Arduino na ATmega128, ale czas przedstawić szerzej….

Jak widać mój zestaw jest pozbawiony pamięci SRAM , i ma dodany przełącznik który umożliwia w wypadku używania zasilacza i połączenia USB na przełączenie źródła Przetwornica/USB. Na widocznych żółtych pinach jest wyprowadzone +3,3V którego obecność sygnalizuje  czerwona dioda led, zielona natomiast wskazuje obecność VCC 5V na wyjściu przetwornicy.  Na tej płytce złącze KANDA jest fioletowe podobnie jak JTAG , ale koło ISP znajduje się również dioda sygnalizująca pracę programatora.

Płytka ta już jakiś czas jest w moim posiadaniu, ale jakoś nie było czasu na szerszy opis, a teraz postanowiłem to uzupełnić gdyż będzie nam ona potrzebna z racji jednego prezentowanego projektu :)

SCHEMATY:

rtc

RTC – DS1337 lub PCF8563

eeprom

EEPROM AT24Cxxx

expandery

2x 8Bit Expander PCF8574T

 

GPIO

porty GPIO

jtag

JTAG

ISP

ISP w standardzie KANDA 10pin

Multiplexer

Multiplexer 4053 dla ISP i UART0


 

UWAGA !!

Tu wspomnę dokładniej z racji schematu multiplexera do czego on jest potrzebny .. otóż ATmega64 i 128 posiada małą pułapkę na pewnych siebie początkujących mianowicie podczas korzystania z ISP do programowania układu wielu popełnia błąd trywialny w zasadzie gdyż patrząc do noty na pinout:

Package podpina ISP do portu B gdzie wprawdzie niema problemu z pinem PB1 (SCK) ale piny PB2 (MOSI) i PB3 (MISO) są pinami sprzętowego SPI i nie da się zaprogramować ATmegi64/128 używając tych pinów , ba procek w ogóle nie jest wykrywany.

Co więc zrobić ??

Ano tu firma Atmel zrobiła dowcip mały i piny MOSI i MISO dla ISP są na PORCIE E, odpowiednio  PE0 (PDI) i PE1(PDO)  oczywiście na tym porcie i tych pinach znajduje się  UART0 piny RXD i TXD i teraz jest mały kłopot  gdyż używanie UARTA uniemożliwia programowanie ….  własnie dlatego w tym celu by sobie móc przełączać i uniknąć kłopotów z UARTEM i ISP  stosuje się ten widoczny wyżej prosty schemacik z układem 4053, który naprawdę się spisuje :)  Działą on następująco — normalnie przepuszcza przez siebie sygnały UART0 czyli COMB i COMC są podłączone do CX i BX, gdyż w stanie wysokim (HI) znajduje się RESET (MCU_RSTn) ale gdy tylko uruchomimy programator na pinie RESET pojawia się stan niski (LO) co poza zresetowaniem mikrokontrolera aktywuje multiplexer 4053 i powoduje przełączenie  sygnałów COMB i COMA  na  piny CY i BY tym samym podłączając programator do mikrokontrolera :)

Tu dodatkowo jest na COMA jak widać pin PB1 (SCK) podłączony z tej racji, że do tego sygnału jest podłączone gniazdo karty SD  (SD_SCK). Układ jak widać prosty i niezawodny warto stosować w przypadku używania ATmegi64/128. I pamiętajcie SPI na porcie B nie służy do programowania przez ISP :)


 

UART0  i MAX232 złacze DB9

RS232 <-> UART0  / MAX232 złącze DB9 

UART0 - FT232R

USB <-> UART0 / FT232R

Tu warto choćby na goldpiny wyprowadzić resztę pinów FTDI gdyż można wtedy używać trybu BitBANG układu FTDI , a wiec w roli programatora, ale też można ładnie przez USB sterować różnymi funkcjami naszej płytki …

SD Card z konwersją poziomów TTL 5 - 3,3V  na 74LVC244

SD Card z konwersją poziomów TTL 5 – 3,3V na 74LVC244

RAM

Opcjonalny SRAM – 128K lub więcej

W przypadku zewnętrznego ramu zwanego zwykle SRAM (SlowRAM) warto wspomnieć, że można stosować 128, 256, 512Kb  kości , ale należy liczyć się z tym że pamięć ta zajmuje dużo pinów i  jest stronicowana, jedna strona maksymalnie liczy 64Kb gdyż tyle może zaadresować ATmega.  Ponadto jest stosunkowo powolna do 70ms może trwać czas dostępu.  Kiedyś problematykę EXT RAM omówię dokładniej.

vcc3_3V

Zasilanie: 3,3V na popularnym LDO LM1117

VCC_5V

Przetworniczka oparta o LM2575 lub LM2576 dużo lepsze rozwiązanie rodziny 78xx

Warto podglądnąć dobre rozwiązania i stosować je we własnych projektach zamiast niepewnych jak zasilanie na 78xx gdzie poza grzaniem … I to by było na tyle …. jeśli chodzi o naszą płytkę z mikrokontrolerem ATmega128, która była kiedyś dostępna na znanym internetowym Taniocha Markt.

Załączniki:

Schemat w pliku PDF kompletny oraz Noty wszystkich układów na płytce:

Miłej zabawy ….