Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Co oferują mikrokontrolery za 3 zł* czyli porównanie 4 modeli różnych producentów**

Jakiś czas temu stałem przed wyborem mikrokontrolera dla większości prostych, niewymagających projektów o dużym woluminie produkcyjnym (np. bezprzewodowych sterowników oświetlenia), który zastąpiłby kilka różnych modeli stosowanych dotychczas.
Wybór nie jest prosty bo na rynku jest wielu producentów, a niektórzy z nich mają w ofercie setki różnych wersji układów dlatego poszukiwania z reguły zaczyna się od sprecyzowania listy wymagań sprzętowych jakie musi spełniać mikrokontroler.
Jednak oszacowanie wymagań stanowi spore wyzwanie ponieważ często ciężko jest ocenić które z cech będą miały największe znaczenie w konkretnej aplikacji, dlatego dla niektórych parametrów został uwzględniony pewien zapas a samo oszacowanie wymaganych parametrów mikrokontrolera jest bardzo przybliżone i służy do porównania możliwości układów różnych producentów.
W kolejnym etapie wybiera się mikrokontroler spełniający możliwie jak najwięcej funkcji użytkowych. Wpis porównuje mikrokontrolery tylko ze względu na możliwości sprzętowe.

Do najważniejszych, wymaganych parametrów należą:

  • Pamięć programu 16 KB – wielkość większości dotychczasowych aplikacji nie przekraczała 8 KB dlatego dwukrotnie większa wielkość wydaje się być bezpiecznym zapasem.
  • Pamięć SRAM 1 KB do przechowywania zmiennych.
  • Przynajmniej 14 portów GPIO
  • Obecność peryferiów komunikacyjnych - 1x SPI i 1x UART - sprzętowa realizacja funkcji pozwala na zmniejszenie zapotrzebowania na moc obliczeniową oraz zajętość pamięci.
  • 1x ADC 8 bit z co najmniej 3 kanałami
  • 2 timery 8 bit + 16 bit
  • 3 kanały PWM o rozdzielczości 10 bitów.
  • Niewielka obudowa do montażu powierzchniowego gdzie odstęp miedzy nóżkami (lead spacing) jest mniejszy niż 1 mm. Układy w obudowie BGA nie są uwzględniane.

Największe znaczenie przy wyborze ma kryterium ceny.
Dobrze też gdy mikrokontroler ma komatybilny pinowo odpowiednik o większych zasobach wewnętrznych w przypadku chęci rozwoju projektu.

Większość aplikacji nie ma wysokich wymagań obliczeniowych (<2 MIPS) dlatego kwestia wydajności spada na drugi plan. Dla przykładu MCU wspomnianego sterownika oświetlenia co najmniej 99% czasu może spędzić trybie uśpienia.

Podobnie jest w przypadku poboru energii przez sam mikrokontroler ponieważ będzie on z reguły pracował w aplikacjach ze stałym zasilaniem (przeważnie w postaci zasilacza beztransformatorowego).

Poniżej przedstawiono krótkie porównanie podstawowych danych katalogowych kilku moim zdaniem ciekawszych mikrokontrolerów różnych producentów** wpisujących się w przedstawione wymagania.

Microchip PIC16F15345 - ma najwyższą cenę i najmniejsze zasoby jeśli chodzi o pamięć Flash i RAM. Reszta secyfikacji też nie wyróżnia się niczym specjalnym - no może poza obecnością 2 portów USART co raczej nie jest standardem. Na plus można zaliczyć również istnienie dwóch wersji o różnych napięciach zasilających (1,8-3,6V i 2,3-5,5V) oraz "zamiennika" z tym samym układem pinów o większych zasobach (m.in. 2 kB RAM i 28 kB Flash).

Atmel ma w swojej ofercie trochę ciekawszy mikrokontroler - mowa o Attiny1616. Jest nieco tańszy, ma dwukrotnie większą pamieć RAM, o 2 kB większą pamięć Flash a także jako jedyny z zaprezentowanych 256 bajtów pamięci EEPROM. Z ciekawszych właściwości można wymienić pracę przy niskim napięciu zasilającym - już 1,8V dla taktowania do 5 MHz i aż 3 kanałowy przetwornik DAC (cyfrowo-analogowy) pracujący z rozdzielczością 8 bitów. Jako ciekawostkę można wspomnieć, że umożliwia programowanie wewnętrznej pamięci Flash za pomocą tylko jednego pinu (UPDI).

EFM8BB21F16G od Silicon Labs należy do zaprezentowanej w 2015 roku rodziny EFM8 opierającej się na architekturze mikrokontrolerów Intel 8051 z 1980 roku. Według producenta charakteryzują się niskim poborem mocy, małymi wymiarami oraz atrakcyjną ceną. I faktycznie - jest zauważalnie tańszy od dwóch wcześniejszych modeli konkurencji. Pod względem zasobów pamięci zbliżony jest do Atmegi jednak nie posiada pamięci EEPROM. Pod względem wbudowanych peryferiów też nie ma się czego wstydzić - aż 2 moduły USART, pięć 16 bitowych timerów i 16 bitowa jednostka do obliczania sum kontrolnych (CRC).

Najciekawiej moim zdaniem prezentuje się jednak ostatni i przy okazji najtańszy z porównywanych mikrokontrolerów - STMicroelectronics STM32F030F4P6. Jako jedyny oparty jest o rdzeń (Cortex-M0) o 32 bitowej szynie danych. Wygrywa również jeśli chodzi o wbudowaną pamięć RAM - aż 4 kB. Nie ma niestety wbudowanej pamięci EEPROM (którą z pewnymi ograniczeniami można "emulować") ani modułu DAC (na szczęście w docelowych aplikacjach zbędny). Ma za to zegar czasu rzeczywistego, 5 kanałowy moduł bezpośredniego dostępu do pamięci coś czego nie ma żaden z zaprezentowanych - unikalny 96 bitowy numer identyfikacyjny, za pomocą którego można identyfikować urządzenia z wbudowanymi mikrokontrolerami. W razie potrzeby może zostać zamieniony na inny model - STM32F070F6 - dysponujący dwukrotnie większą pamięcią Flash, pamięcią SRAM większą o 2 kB oraz interfejsem USB full-speed (12 Mbps).

*ceny netto na podstawie wyceny z Farnell i microchipDIRECT dla 5000 sztuk
**Atmel Corporation został kupiony przez Microchip Technology Incorporated w 2016 roku

 

sprzęt inne

Komentarze

0 nowych
dthlfwp   7 #1 18.04.2017 20:50

ARMy wygrywają, nawet przy tak niskiej cenie. Do tego są uporządkowane, łatwo się z nich korzysta.

mariomario2   1 #2 18.04.2017 20:51

Należy jeszcze uwzględnić środowisko IDE dla danych uC czy jest darmowe czy płatne, oraz gotowce dostępne w internecie (bo poco tworzyć jakiś fragment kodu od zera ?)

SweetDreams   10 #3 18.04.2017 20:54

@mariomario2: należy uwzględnić jeszcze dziesiątki innych kwestii... ;)

Kaworu   13 #4 19.04.2017 07:27

@SweetDreams: Ja się tak tylko zastanawiam, czemu te STM/Megi w takiej wielkiej obudowie? :)

SweetDreams   10 #5 19.04.2017 11:07

@Kaworu: Dlaczego w takiej produkują? ;)
A na serio to daj propozycję lepszego modelu :)

Kaworu   13 #6 19.04.2017 11:14

@SweetDreams: Ja sie tylko dziwię, że tu wziąłeś do porównania QFN a tam SSOP. No chyba, że te 16k FLASH to mus być akurat tak, ale jakby nie to...
z 32k masz wersje STM32F030K6 albo C6/C8 przecież. ;)

  #7 19.04.2017 11:16

lepiej uzywac 'agat-a', dobry polski procesor

SweetDreams   10 #8 19.04.2017 11:21

@Kaworu: "STM32F030K6 "

ale przecież K6 jest w jeszcze sporo większej obudowie LQFP32 a co dopiero C8 :)
Pierwsza sensowna seria od STM w obudowach UFQFPN28 to 031Gx, ale cena idzie w górę a poza tym jak już wszystkie miały 20 pinów... ;)

Autor edytował komentarz w dniu: 19.04.2017 11:26
Kaworu   13 #9 19.04.2017 11:30

@SweetDreams: C8 i K6 są w takich samych rozmiarowo, różnią się tylko liczba pinów. ;)
*zagląda do eagla*
A racje masz, coś mi się smyrnęło w mózgu*. Acz! O ile ten TSSOP to faktycznie nieco mniejszy tak ten SSOP to juz bardzo podobnie do LQFP wypada, a ma LQFP więcej IO. ;)
http://kaw.sajuuk.eu/dp/IMG_S000.png

* - a nawet wiem co mi sie pomyliło SSOP z SO ;)

Autor edytował komentarz w dniu: 19.04.2017 11:40
SweetDreams   10 #10 19.04.2017 11:44

@Kaworu:
STM32F030C8 i STM32F030K6 faktycznie mają te same wymiary. Niestety dodatkowe piny nigdy nie zostaną wykorzystane dlatego nawet małe obudowy (QFN i pochodne) z większą ilością pinów (>24) raczej odrzucałem w poszukiwaniach :)

Autor edytował komentarz w dniu: 19.04.2017 11:45
Kaworu   13 #11 19.04.2017 11:46

@SweetDreams: Ok, ma sens. ;)

SweetDreams   10 #12 19.04.2017 12:55

@dfhd (niezalogowany): "lepiej uzywac 'agat-a', dobry polski procesor"

lepiej zamknąć przeglądarkę niż spamować durnymi komentarzami ;)

  #13 19.04.2017 13:09

Czy istnieje jakiś sensowny test wydajności (w obliczeniach arytmetycznych) takich "procesorów"?

  #14 19.04.2017 13:37

@Anonim (niezalogowany): CoreMark
Ale sama wydajność jak wiadomo to nie wszystko. Czasami dobre peryferia i DMA potrafią więcej zrobić niż szybki rdzeń.

revcorey   8 #15 19.04.2017 14:08

@dthlfwp: Patrząc od strony hobbysty to atmel czy ogólnie 8-bitowiec będzie prostszy nawet w obsłudze ale i mniej zaawansowany.

hindus   7 #16 20.04.2017 14:13

"(...) zbliżony jest do Atmegi (...)" - chyba jednak do Attiny / Atmela ;)

SweetDreams   10 #17 20.04.2017 15:55

@hindus: nie dostrzegłem tego błędu :)

nintyfan   11 #18 23.04.2017 20:31

Jestem początkujący, jeśli chodzi o mikrokontrolery. Czy autor mógłby wskazać na giełdę wyświetlaczy dla mikrokontrolerów? I jeszcze giełdę samych mikrokontrolerów. Początkowo myślałem nad malinką, ale cena Rassbery PI (ponad 100 PLN na allegro) to zbyt dużo, jak na moje zastosowania.

SweetDreams   10 #19 23.04.2017 21:10

@nintyfan: W sumie dość dobry temat na wpis więc obserwuj blogi ;)

nintyfan   11 #20 23.04.2017 21:27

@SweetDreams: O to fajnie! Mi by się przydał wyświetlacz mieszczący dwie linijki tekstu z literami polskiego alfabetu. Może być monochromatyczny lub czarno-biały. Oczywiście niczego nie narzucam!