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.

r   e   k   l   a   m   a

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