Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

sobota, 26 lutego 2011

XMEGA: Wybrane moduły

Autor: tmf
Redakcja: Dondu

Wstęp do XMEGA: Spis treści

Zachęcony możliwościami XMEGA chciałbyś rozpocząć z nimi przygodę, ale nie wiesz jak? Poniżej znajdziesz krótki poradnik na temat dostępnych modułów ewaluacyjnych z tym mikrokontrolerem. W kolejnych częściach opiszę jak je programować.

Problemem dla osób stawiających pierwsze kroki może być fakt, że XMEGA występują wyłącznie w obudowach TQFP i QFN do montażu powierzchniowego, nie znajdziemy ich więc w „ulubionych” obudowach DIL, tak jak starsze AVRy. Związane jest to z tym, że XMEGA występują typowo w obudowach z 64 lub 100 wyprowadzeniami, najmniejsze XMEGA mają ich co najmniej 32. Nie powinno cię to jednak zniechęcać.

Tak naprawdę układy w obudowach SMD lutuje się zdecydowanie łatwiej i szybciej niż układy w obudowach DIL, więc warto spróbować własnych sił.

Niemniej problemem jest prototypowanie układów w wersji SMD. Do tego przydają się wszelkiego rodzaju płytki stykowe, ale w takie płytki nie włożymy bezpośrednio XMEGA. Jak rozwiązać ten problem?


Oryginalne moduły Atmel'a

Atmel postanowił dogodzić potencjalnym użytkownikom XMEGA i wypuścił kilka modułów z tymi mikrokontrolerami. Pewnie część osób powie, moduły, a fe! Ale warto mimo wszystko im się przyjrzeć, gdyż oferują za rozsądną cenę (149-159 zł) spore możliwości, dodatkowo nie wymagają programatora.

Jeśli jednak jesteś zdecydowanym przeciwnikiem takich modułów to mam też inną propozycję, ale o tym za chwilę. Przyjrzyjmy się więc dostępnym modułom.

Jednymi z ciekawszych są atmelowskie Xplained. Każdy z tych modułów ma te same gabaryty, może być zasilany i programowany przez USB, nie wymaga więc ani zewnętrznego zasilacza, ani programatora.

W efekcie start z XMEGA z wykorzystaniem tych modułów jest tani i szybki. Każdy z nich wyposażony jest w cztery 10-pinowe złącza, na które wyprowadzone są wybrane piny IO mikrokontrolera, co umożliwia łatwe rozszerzenie możliwości modułu, a także połączenie z innymi układami, w tym znajdującymi się na płytce stykowej.

Każdy moduł Xplained ma też wyprowadzone osobno złącze JTAG/PDI przy pomocy którego możemy programować mikrokontroler, a także, co istotniejsze wykorzystać je do debugowania.





Xplained XMEGA 128A1


Jest to moduł z procesorem XMEGA128A1, demonstrujący jego możliwość współpracy z pamięcią SDRAM. W skrócie moduł ten posiada:
  • 8 MB SDRAM – tak, to nie błąd, mamy do dyspozycji aż 8 MB pamięci RAM + pamięć SRAM mikrokontrolera,
  • czujnik temperatury oparty o termistor,
  • czujnik oświetlenia oparty o fototranzystor,
  • głośnik sterowany poprzez wzmacniacz z przetwornika DAC,
  • 8 przycisków,
  • 8 diod LED, którymi możemy dowolnie sterować,
  • złącze USB, z którego można zasilić moduł, a także przeprogramować i wykorzystywać do komunikacji poprzez wirtualny port szeregowy,
  • cztery 10-pinowe złącza rozszerzeń, na które wyprowadzone są niektóre porty I/O mikrokontrolera,
  • miejsce do wlutowania dodatkowej pamięci DataFLASH.

Moduł ten jest bardzo uniwersalny, warto go polecić szczególnie osobom pragnącym poznać działanie kontrolera pamięci (EBI), budować uniwersalne układy, w tym układy odtwarzające dźwięki/muzykę.


Xplained ATXMEGA-B1


Co mamy ciekawego na pokładzie?:
  • moduł ten przede wszystkim zawiera wielosegmentowy wyświetlacz LCD – jest on przeznaczony głównie do demonstracji możliwości kontrolera LCD wbudowanego w XMEGA serii B. Jeśli planujesz budowanie układu, w którym mikroprocesor ma bezpośrednio sterować „gołym” LCD to jest to moduł dla Ciebie,
  • cztery przyciski QTouch umożliwiające zapoznanie się z technologią dotykową firmy Atmel,
  • czujnik temperatury,
  • czujnik oświetlenia,
  • dodatkowe cztery  LEDy mogą być sterowane z MCU.




Xplained XMEGA256A3BU


Jest to moduł wyposażony w:
  • wyświetlacz graficzny LCD 128x32 piksele z podświetleniem regulowanym programowo i interfejsem szeregowym,
  • trzy przyciski,
  • dwa LEDy,
  • pamięć szeregową DataFLASH o pojemności 64 Mbity,
  • 1 przycisk QTouch,
  • czujnik temperatury,
  • czujnik oświetlenia.

W efekcie moduł ten doskonale nadaje się do testowania aplikacji mających współpracować z graficznym LCD lub wykorzystywać pamięci DataFLASH o dużych pojemnościach.





Inne rozwiązanie


Moduły Xplained są naprawdę godnymi polecenia narzędziami, ale nie jedynymi. Z pewnością ich zaletą jest posiadanie kilku elementów dodatkowych, w efekcie mamy w miarę kompletny system mikrokontrolerowy, ale za to nie wszystkie sygnały są wyprowadzone – ze wględu na ograniczoną liczbę złącz.

Osoby, które chciały by po prostu spróbować z „gołą” XMEGA mogą skorzystać z przejściówek TQFP > DIL. Większość tego typu przejściówek nie współpracuje z płytką stykową, ale są wyjątki.


XMEGA256A3BU



Jest to propozycja polskiej firmy (modulowo.com.pl) oferującej różnego typu minimoduły, w tym właśnie moduły oparte o mikrokontrolery XMEGA. Jest to oferta godna uwagi, gdyż:
  • moduł posiada wyprowadzone wszystkie piny mikrokontrolera, nie stwarza więc żadnych ograniczeń,
  • zawiera złącze USB przez które możemy moduł zasilać, programować, możemy je też wykorzystać do komunikacji z komputerem lub symulacji urządzeń USB-device (HID),
  • zawiera regulator napięcia LDO 3,3V, dzięki czemu możemy zasilać z USB inne układy, ale możemy także zrezygnować z zasilania USB i podłączyć zewnętrzne źródło zasilania,
  • moduł ten doskonale pasuje do płytki stykowej – po prostu wsuwamy go w płytkę i możemy pracować tak jak z układami w obudowie DIL, niemniej płytka stykowa nie jest potrzebna, możemy bezpośrednio wykorzystać wyprowadzone złącza,

  • wszystkie piny GND, Vcc i AGND oraz AVcc są właściwie połączone i odsprzęgnięte przez kondensatory 100 nF, dodatkowo AVcc połączone jest przez dławik, zmniejszający zakłócenia przedostające się do części analogowej,
  • na „pokładzie” mamy też kwarc 16 MHz oraz kwarc zegarkowy 32768 Hz, gdyby przyszła nam ochota sprawdzić jak działają zewnętrzne źródła zegara, lub zbudować układ kalendarzowy to wszystko co potrzebne mamy już w module,
  • moduł jest dostarczany z wgranym bootloaderem, dzięki czemu nie potrzebujemy programatora, a do programowania możemy wykorzystać darmowy program FLIP dostarczany przez firmę Atmel.

Także jest to szczególnie fajne rozwiązanie dla hobbystów, którzy chcą szybko zacząć przygodę z XMEGA (czy też w ogóle z mikrokontrolerami), a nie chcą od razu kupować programatorów i wydawać pieniędzy na moduły Xplained. W dalszej części tego wstępu do XMEGA pokażę przykłady bazujące m.in. na tym module, aczkolwiek posiadając schematy w połączeniu z kompatybilnością różnych serii XMEGA nie będzie problemu aby uruchomić je na czymkolwiek, w tym na własnoręcznie zbudowanych układach.


X3-DIL64

Inną propozycją równie ciekawą jak powyższa jest modul X3-DIL64 autorstwa Dominika Bieczyńskiego leon-instruments.blogspot.com.


Modul X3-DIL64 produkcji Leon Instruments.
Modul X3-DIL64

Moduł zawiera mikrokontroler ATxmega128A3U. Szczegółową dokumentację znajdziesz w linku powyżej.
Moduł ten umożliwia szybki start z nowymi procesorami ATxmega:
  • nie musisz kupować programatora PDI. Na płytce jest przycisk RESET oraz FLIP, dzięki czemu możesz szybko ładować nowe programy przez zwyczajny kabel USB, bez potrzeby rozłączania modułu czy podłączania zewnętrznych przycisków.
  • pamięci nigdy nie zabraknie - włóż kartę SD do gniazda połączonego z procesorem przez SPI. Ale jeśli nie chcesz korzystać z SD, to linie z interfejsu SPI możesz wykorzystać do innych celów.
  • włóż kwarc jaki chcesz - nie lubisz, kiedy producent zestawu narzuca Ci częstotliwość taktowania procesora? Słusznie! Dlatego w płytce X3-DIL64 z Leon Instruments zastosowano podstawkę, w którą możesz włożyć dowolny kwarc.
  • płytka odpowiada wymiarami obudowie DIL64 i wszystkie piny z obudowy procesora TQFP64 są dostępne i rozmieszczone w takiej samej kolejności. Są wyraźnie opisane na płytce, abyś nie musiał ich szukać w dokumentacji.
  • zasilanie z USB, z programatora PDI, albo z dowolnych pinów 3V3 i GND. Stabilizator, filtry, dławiki - to wszystko już jest w zestawie. 








Jeszcze inne rozwiązanie

... zrobić własny moduł wykorzystując fotochemiczną technikę tworzenia PCB, o której już niebawem krótki artykuł Dondu się pojawi. Tą metodą spokojnie wykonasz PCB o rastrze 0,5mm, czyli dla każdej XMEGA.


Wstęp do XMEGA: Spis treści

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

4 komentarze:

  1. Witam!
    Mam do Was pytanie :).
    Ciekawi mnie, skąd takie wysokie ceny modułów z XMEGAmi. Dla porównania, Modułowo oferuje mini moduł z popularną Atmega328P w cenie 38zł, natomiast cena modułu z XMEGA256A3BU to już 109 zł.
    Dziwi mnie, bo po odjęciu ceny mikrokontrolera koszt wykonanej i zmontowanej płytki to ponad dwukrotna różnica. Zrozumiałbym różnicę o te parenaście procent, w końcu to nowość, pewnie bardziej skomplikowana płytka. No ale same płytki zbytnio nie różnią się możliwościami, motorem napędowym tutaj jest uC przecież.
    Naprawdę pierwsze skrzypce gra tutaj popularność i w raz z tym koszta masowo trawionej PCB?

    OdpowiedzUsuń
  2. Zapytaj o to firmy :) Ja mogę tylko gdybać, ale zapewne popularność jest tu kluczowa - no i bardziej skomplikowana płytka. Płytki zamawia się seriami, na formatce masz np. 50 płytek. Jeśli sprzedasz tylko 20 to i tak koszty ponosisz jak za 50. Dobrze to widać, jeśli samemu się zleci zrobienie płytek - zapłacisz zapewne o wiele więcej niż gdy kupisz gotowy moduł.

    OdpowiedzUsuń
  3. Na cenę modułu nie składa się wyłącznie cena kawałka laminatu i procesora... Gdyby tak było, to cena końcowa wyniosła by 30zł.

    Aby wyprodukować takie moduły trzeba zamówić całą masę rzeczy w różnych sklepach. Moduł X3-DIL64 składa się z 33 elementów plus do tego dochodzą elementy nieelektroniczne, typu woreczek, koperta, gąbka ESD, dokumentacja, itp. Każdy z nich kosztuje i każdy z nich musi być przesłany, za co również trzeba zapłacić. Niektóre rzeczy przychodzą zza granicy. Modułu nie montują małe chińskie rączki za miskę ryżu. Pierwsze 40 modułów lutowałem sam, ale obecnych ilości nie jest w stanie montować samemu i zlecam produkcję profesjonalnej firmie. Przygotowanie klisz do produkcji laminatów to koszt rzędu 150zł. Sito do nakładania pasty lutowniczej kosztuje ok 200zł. Do tego trzeba doliczyć koszty programowania maszyn montażowych i oczywiście koszty produkcji właściwej. To, co wyjeżdża z fabryki jeszcze nie nadaje się do sprzedaży. Każdy moduł muszę sam przetestować (co mógłbym zlecić komuś, ale to by podniosło cenę końcową), abym miał pewność że moduły są w 100% sprawne i klient nie dostanie bubla. Następnie to trzeba zapakować i wysłać do dystrybutorów, jak np. KAMAMI, który oczywiście dolicza sobie marżę. Państwo Polskie również dopomina się o swoje w postaci 23% VAT, podatku dochodowego i ZUSu, a papierkową robotę załatwia księgowa, która również nie pracuje za darmo. Na koniec zostaje coś dla mnie za to, że jestem spritus movens tego wszystkiego. Ale to jeszcze nie taki koniec, bo trzeba moduły rozreklamować, znaleźć klientów i napisać kurs programowania tych płytek.

    Tak więc widzicie, że koszt laminatu i procesora to mały ułamek ceny końcowej.

    OdpowiedzUsuń
    Odpowiedzi
    1. Dzięki za obszerną odpowiedź!

      Po prostu cena w tym wypadku jest dosyć kluczowym czynnikiem - duży procent klientów pewnie woli wybrać np. ARMa od ST, gdzie na miejscu mamy programator, debuger (ok, rozumiem, duża firma, która nawet niekoniecznie zarabia na samych zestawach discovery).. Sam teraz siedzę i zastanawiam się czy brnąć dalej :), skoro za cenę klona programatora do AVR mk II można mieć fajną płytkę uruchomieniową z ARMem...

      Inna kwestia, że samą gołą płytkę uruchomieniową do XMEGi kupiłbym prawdopodobnie chętniej :)

      Usuń

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.