Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Czemu 8-bitowe mikrokontrolery nie chcą wymrzeć?

ghost666 23 Jun 2022 07:36 4236 34
  • Czemu 8-bitowe mikrokontrolery nie chcą wymrzeć?
    Rys.1. Dane historyczne i prognozy
    rynkowe dla mikrokontrolerów.
    Branża mikrokontrolerów to dziwny sektor... W 2021 roku rozdysponowano ich ponad 29 miliardów z przychodami na poziomie 18,5 miliarda dolarów. Szybka matematyka pokazuje, że średnia cena sprzedaży wynosiła około 0,64 USD. Wydaje się, że to niedużo, a wręcz bardzo mało, szczególnie biorąc pod uwagę, że prawie każde webinarium, artykuł i firma reklamują najnowszy 32-bitowy mikrokontroler z wieloma rdzeniami, zabezpieczeniami i możliwością uruchamiania wnioskowania z wykorzystaniem algorytmów uczenia maszynowego. Więc, co i jak dokładnie się tutaj dzieje?

    Przeczesując Internet w poszukiwaniu danych od analityków dotyczących branży, można znaleźć kilka ciekawych wykresów, które pomagają w wyjaśnieniu tej sytuacji. Po pierwsze, rysunek 2 przedstawia historyczny i prognozowany diagram wielkości rynku mikrokontrolerów w Ameryce Północnej, według szerokości szyny procesora. Trzeba zauważyć, że chociaż branża rozwija się w tempie około 10% CAGR, niekoniecznie jest zdominowana przez najnowsze i najlepsze 32-bitowe jednostki. Ponadto wydaje się, że wzrost sektora jest powodowany przez przestrzeń zajmowaną przez układy 8- i 16-bitowe.

    Czemu 8-bitowe mikrokontrolery nie chcą wymrzeć?
    Rys.2. Branża szybko się rozwija, a 8-bitowe mikrokontrolery dotrzymują jej kroku.


    Można by pomyśleć, że na rynku nie może być jeszcze tylu 8-bitowych jednostek... Jednakże szybkie spojrzenie na stronę internetową Mousera ujawnia coś ciekawego. Po pierwsze, na całym świecie jest obecnie możliwych do uzyskania około 50 000 różnych typów mikrokontrolerów. (Liczba ta różni się nieznacznie w zależności od wyszukiwania dostawców, ale jest ważna dla mikrokontrolerów dostępnych dla nowych projektów). Oczywiście, wspominając o powyższym mamy na myśli to, że są one produkowane, niekoniecznie osiągalne do zakupu od ręki.



    Po drugie, podział liczby części obecnych w każdej architekturze jest dosyć nieoczekiwany. Dostępnych jest więcej 8-bitowych jednostek (13 928) niż 32-bitowych z rdzeniem ARM (12 335). Można podejrzewać, że rynek tych 8-bitowych jest większy niż 32-bitowy. Z tym że nie jest tak do końca — jeśli dodamy do układów ARM inne, zastrzeżone 32-bitowe rdzenie — suma wyniesie około 21 tysięcy elementów.

    Czemu 8-bitowe mikrokontrolery nie chcą wymrzeć?
    Rys.3. Zrzut ekranu z Mouser pokazujący całkowitą liczbę dostępnych mikrokontrolerów i rozkład ich architektur.


    Dlaczego 8-bitowe mikrokontrolery nie wymierają? Już ponad dziesięć lat temu guru wielu programistów systemów wbudowanych — Jack Ganssle — zadeklarował, że: „8-bitów nie żyje”. Stwierdził też, że: „gdy ceny zaawansowanych procesorów spadają, te na dole również stają się tańsze, co otwiera nowe rynki, na które nigdy nie byłoby stać inteligencji półprzewodników”. Podczas gdy wiele zespołów koncentruje się na najnowocześniejszych rozwiązaniach w danym sektorze, istnieje tyle samo, jeśli nie więcej, możliwości, w których proste i tanie mikrokontrolery pasują do potrzeb!

    W czasie gdy wielu z nas zastanawia się, dlaczego 8-bitowa jednostka nie wymiera, to prawda jest taka, iż najprawdopodobniej dominuje w tej branży! A my jesteśmy zbyt zajęci ściganiem się o najnowsze i najwspanialsze mikrokontrolery lub kupowaniem szumu marketingowego, aby rozpoznać możliwości tych najtańszych, najprostszych wołów pociągowych współczesnej elektroniki systemów wbudowanych.

    Źródło: https://www.embedded.com/why-wont-the-8-bit-microcontroller-die/

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11099 posts with rating 9415, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • #2
    Janusz_kk
    Level 34  
    "Czemu 8-bitowe mikrokontrolery nie chcą wymrzeć?"
    Bo w połowie a nawet więcej zastosowań w zupełności wystarczają?
    Bo 32 bitowce są potrzebne tylko gdzie trzeba dużo grafiki i innych bajerów gdi?
    Bo tam gdzie wystarcza prosta logika 8-bitowce są prostsze do zastosowania i wdrożenia?
  • #3
    spec220
    Level 26  
    Jak dla mnie 8bit ma tą zaletę, że kiedy były top. powstawało na tą strukturę o wiele więcej środowisk programistycznych niż na współczesną architekturę... Były środowiska bardzo skomplikowane gdzie kod pisało się tekstem (trudne do ogarnięcia), ale były też dostępne i takie w których kod był przedstawiony za pośrednictwem logiki wirtualnej rodem z układów 74, czy też 40, 45 itp... Ułatwiało to w wielu przypadkach życie, bo to co robiło się na 40 i dużo więcej układach CMOS/ TTL wystarczyło przerysować do kompilatora przypisać wejścia IN oraz OUT i gitara... Oczywiście bramki nie zawsze można było zastąpić jakąś megą, ale w wielu przypadkach to po prostu działało, i działa...
  • #4
    kotbury
    Gantry automation specialist
    A w branży IOT - po co pchać 32 bity do gniazdka sterowanego z sieci albo innej tego typu szpejki "włącz wyłącz?". No może aplikacje netowe oparte na ESP i podobnych potrzebuja 16+bit ale timerki czasowe?
    Chyba dopiero wtedy 32 bity zarządzą, kiedy z racji ujednolicenia procesu produkcji nie będzie oplacało sie podtrzymywać konstrukcji 8-bitówek a 32- bitówki będą tanie jak ziarnka maku....
  • #5
    Janusz_kk
    Level 34  
    kotbury wrote:
    A w branży IOT - po co pchać 32 bity do gniazdka sterowanego z sieci albo innej tego typu szpejki "włącz wyłącz?".

    Ale to są gadżety, świat bez nich się nie zawali, ja piszę o przemyśle, ile tam jest prostych sterowników typu termostaty, wentylator czy podobne, i tam wszędzie spokojnie wystarczają 8 bitowce.
    Podobnie u amatorów, ile jest miejsc gdzie potrzebują więcej niż 8 bitów? bardzo mało, większość arduino to 8 bitowce a i te 32 bitowe płytki też zostały w dużej części ograniczone na proste zastępstwo 8 bitowych.
  • #6
    speedy9
    Helpful for users
    kotbury wrote:
    Chyba dopiero wtedy 32 bity zarządzą, kiedy z racji ujednolicenia procesu produkcji nie będzie oplacało sie podtrzymywać konstrukcji 8-bitówek a 32- bitówki będą tanie jak ziarnka maku....

    No to trochę będą musiały stanieć, skoro 8-bitowca za 3,3 centa można kupić: https://www.elektroda.pl/rtvforum/viewtopic.php?p=18127408
  • #7
    sigwa18
    Level 39  
    ATiny można wepchnąć wszędzie. Nieraz widziałem zastosowane zamiast np NE555 bo miało większe możliwości lub mniej elementów do aplikacji. Całe tanie zestawy arduino są na 8 bitowcach (Atmega 328p) i większość od tego zaczyna (i z czasem kończy).
  • #8
    Janusz_kk
    Level 34  
    sigwa18 wrote:
    ATiny można wepchnąć wszędzie. Nieraz widziałem zastosowane zamiast np NE555 bo miało większe możliwości lub mniej elementów do aplikacji.

    Sam tak robię, prostsza aplikacja a możliwości więcej i najważniejsze że zmiany robi się w programie a nie na płytce. Szczególnie wygodny jest tu spark na attiny 85.
  • #9
    khoam
    Level 41  
    ghost666 wrote:
    Dlaczego 8-bitowe mikrokontrolery nie wymierają?

    Krótka wersja odpowiedzi: Powodem jest to, że nie wymierają również deweloperzy, którzy potrafią w sposób optymalny wykorzystać możliwości 8-bitowych MCU w biznesie.

    Wersja dłuższa: Każdy MCU jest tyle wart, ile warte jest oprogramowanie napisane na ten MCU. Jeżeli coś się da zrobić na 8-bitowym MCU i klient jest zadowolony z efektu pracy to znaczy, że nie ma potrzeby przenosić oprogramowania na procesory większe, wydajniejsze i ładniejsze. Będzie drożej, a efekt nie do końca przewidywalny. Takie business rules.
  • #10
    RitterX
    Level 39  
    8bit jest dobrze opanowane od strony produkcyjnej i nie wymagają supertechnologii a to ma znaczenie w przodujących krajach III a może teraz już I Świata. Liczba wariacji na temat choćby 8051 z dodanymi A/C, FLASH, RAM i wypasionej wersji liczników jest na Dalekim Wschodzie imponująca. Cena liczona w centach i to dla dzisiejsze inflacji, mała wywrotność i odporność plus przytłaczająca liczba aplikacji gdzie 8.bit wystarczy, nie wyłączając prostego sterowania silnikami indukcyjnymi jest przepisem na sukces. PID na 8.bit też działa :) i to z autotuningiem czyli wersja wypasiona. Obecnie realna dostępność też robi swoje i wydaje się, że 8.bit trzyma się całkiem nieźle.
    Od strony programistycznej to w jakim języku by nie pisać opanowanie powiedzmy 30...50 rejestrów peryferiów jest znacznie łatwiejsze od opanowania ~500 w 32.bit mikrokontrolerze a ludzie, to znaczy studenci, są leniwi :) . Niczego tak nie uwielbiają jak przebijanie się przez meandry logiki rozpisane na 3000 stron głównego manuala i to bez wliczenia dodatkowych materiałów po kilkaset stron każdy gdzie meandry są jeszcze bardziej pokręcone, oczywiście w wersji 32.bit bajki. Gdy tymczasem dokumentację 8bit. można przeczytać w całości w pociągu z Krakowa do Warszawy i na stołecznym peronie wysiąść już ekspertem.
  • #11
    Macosmail
    Level 34  
    8bit wykonany w takiej samej technologii jak 32-bit zawsze będzie tańszy i bardziej energooszczędny, a to są kluczowe często czynniki.
    Aplikacji dla 8-bitowców jest nieskończona liczba. Do kondycjonowania sygnałów z czujników i wysyłania ich po RS-485 czy do obsługi płyty czołowej urządzenia z kilkunastoma przyciskami i wyświetlaczem 8 segmentowym, termostaty, timery, piloty zdalnego sterowania, sterowniki najróżniejszych mechanizmów np. podnoszenie szyb w samochodzie, ekspres do kawy, sprzęt AGD, w przemyśle czujniki i elementy wykonawcze z magistralami modbus wymieniać można w nieskończoność.
    Do prostych zadań typu obsługa kilku przycisków, enkodera, czujnika temperatury i dwóch przekaźników stosować uC 32-bit o mocy obliczeniowej pierwszych Pentium to może, kłócić się z wew. światopoglądem ;-)
    A druga sprawa 8-bit zawsze będzie prostszy w programowaniu. Nie potrzeba jakichś warstw abstrakcji HAL, które nie jedną osobę zniechęciły do 32-bitowców.
  • #12
    RomanWorkshop
    Level 12  
    Mikrokontrolery i procesory 8-bitowe były, są i będą dopóki jest na nie zapotrzebowanie. Tak, jak bramki TTL/CMOS są głównymi elementami do budowy układów logicznych, tak mikrokontrolery 8-bitowe są najprostszymi urządzeniami do przetwarzania podstawowej jednostki informacji, jaką jest bajt. Więc końca mikrokontrolerów nie tylko 8-bitowych, ale ogólnie "bitowych" spodziewam się dopiero wtedy, gdy bity przestaną być powszechnie używaną jednostką zapisu informacji. Może to nastąpić wtedy, gdy obecne procesory zostaną zastąpione przez procesory kwantowe, a więc nie prędko.
  • #14
    Urgon
    Editor
    AVE...

    Wiecie, że na rynku są też mikrokontrolery czterobitowe? I też są używane, choćby w szczoteczkach elektrycznych...
  • #15
    chemik_16
    Level 25  
    w sumie to tanie jak tanie, w detalu to takie atmegi są ostatnimi laty droższe niż 32bitowe esp lub stm, o modułach nie wspominając.

    btw, jakie są obecnie najtańsze 8bitowce dostępne na rynku PL (detal) ? te padauk to chyba tylko z chin mozna dostać, a cena wcale nie jest taka wspaniała jak nie bierzemy 10k sztuk ;)
  • #16
    jarekgol
    Level 25  
    RitterX wrote:
    przebijanie się przez meandry logiki rozpisane na 3000 stron głównego manuala i to bez wliczenia dodatkowych materiałów po kilkaset stron każdy
    brzmi jak STM, Kiedyś znałem assemblera do 8051 na pamięć i sporo rejestrów (no bez bitów, ale nazwę i do czego) i dobrze mi było z tym ;) A co do 8bit, jak koledzy piszą, większość urządzeń (patrząc w sztukach) nie potrzebuje więcej.
  • #18
    Janusz_kk
    Level 34  
    chemik_16 wrote:
    najtańsze 8bitowce dostępne na rynku PL (detal) ?

    Attiny, za najtańszy 2,32zł a bardzie sensowny w SO-8 za 2,82 a z dostępnych :) masz 204 za 3,59 w TME.
  • #19
    victoriii
    Level 18  
    W czasach przedepidemicznych w Chinach najtanszy ARM w obudowie TSSOP16 albo TSSOP20 (juz nie pamietam) kosztowal okolo 55 groszy przy zakupie 10 sztuk. Byl to HK32F costam, byl artykul na forum Kolegi który go uruchamial. Miedzy innymi dlatego ja praktycznie porzucilem 8 bitowce, dlatego ze roznica w cenie byla praktycznie zadna (a i tak nie uzywalem AVR które sa znacznie drozsze od innych 8 bitowców) a musialem utrzymywac dwie wersje bibliotek - jedna na 8 bit, druga na 32 bit.
  • #20
    Janusz_kk
    Level 34  
    Jak ktoś lubi się macać z chińskim guanem i dochodzić potem czemu coś działa albo nie niech kupuje, nie mówiąc już o dokumentacji a właściwie jej braku. Ja tam wolę rzeczy sprawdzone z odpowiednią dokumentacją, a czy zapłacę za procka 50gr czy 10zł jest bez znaczenia, nawet dla małej produkcji.
  • #21
    Urgon
    Editor
    AVE...

    Najtańszy ośmiobitowy PIC to PIC16F15213-I/SN za 2,87 w TME, obudowa SO-8.
    Najtańszy PIC32 to PIC32MM0064GPL028-I/SO za 8,22PLN.
    Najtańszy ARM od Microchip to SAMD10D14A-MUT za równe 9 złotych.
    Najtańszy ARM od NXP to LPC822M101JHI33E za 6,78PLN.
    Najtańszy ARM od STMicro to STM8S001J3M3 za 5,68PLN.
    Różnice cenowe nie są gigantyczne tak po prawdzie. Ale co łatwiej jest zaprogramować, zwłaszcza początkującemu: 8-bitowca czy 32-bitowca?
  • #22
    khoam
    Level 41  
    Urgon wrote:
    Ale co łatwiej jest zaprogramować, zwłaszcza początkującemu: 8-bitowca czy 32-bitowca?

    To akurat w dużo mniejszym stopniu zależy od tego, czy jest to 8 czy 32-bitowy MCU.
  • #23
    sigwa18
    Level 39  
    khoam wrote:
    Urgon wrote:
    Ale co łatwiej jest zaprogramować, zwłaszcza początkującemu: 8-bitowca czy 32-bitowca?

    To akurat w dużo mniejszym stopniu zależy od tego, czy jest to 8 czy 32-bitowy MCU.


    Proste płytki Arduino są na ATmedze 328p klony po 20-30pln i służą do zapalania diodek , prostych regulatorów ,czujników itp możliwości z bootloaderem wykorzystane w 1/4.
  • #24
    chemik_16
    Level 25  
    sigwa18 wrote:
    khoam wrote:
    Urgon wrote:
    Ale co łatwiej jest zaprogramować, zwłaszcza początkującemu: 8-bitowca czy 32-bitowca?

    To akurat w dużo mniejszym stopniu zależy od tego, czy jest to 8 czy 32-bitowy MCU.


    Proste płytki Arduino są na ATmedze 328p klony po 20-30pln i służą do zapalania diodek , prostych regulatorów ,czujników itp możliwości z bootloaderem wykorzystane w 1/4.


    a dla przykładu bluepill/blackpill na stm32 są po 15-20zł :) programuje sie w zasadzie tak samo z tego samego IDE. Oczywiścei jak chcemy zejść niżej to różnice będą.
    Arduino (czy raczej AVR) jakoś na początku pandemii straszliwie odjechało z cenami ...
  • #25
    sigwa18
    Level 39  
    Tak ale to był wynik braku Atmeg na rynku. Można było sobie kupić nawet gołe płytki bez Atmegi 328p i wlutować samemu. Zamieszanie na rynku i to nie tylko mikrokontrolerów jest cały czas. Sam czekam aż bitcoin jeszcze spadnie by kupić nową kartę graficzną do komputera (po wyprzedaży koparek cena powinna spaść plus wakacje).
  • #26
    Janusz_kk
    Level 34  
    Urgon wrote:
    Najtańszy ośmiobitowy PIC to PIC16F15213-I/SN za 2,87 w TME, obudowa SO-8.
    Najtańszy PIC32 to PIC32MM0064GPL028-I/SO za 8,22PLN.

    Nie wszyscy pic-e lubią za ich debilną politykę w darmowym kompilatorze. Atmel takich numerów nie robił.

    Dodano po 1 [minuty]:

    chemik_16 wrote:
    dla przykładu bluepill/blackpill na stm32 są po 15-20zł

    Raczej chińskie klony. STM-ów i innych zresztą tez nie ma np w TME, wszystko wyczyszczone.
  • #27
    Urgon
    Editor
    AVE...

    Ostatnio Microchip zrezygnował z celowego psucia kodu i udostępnił część optymalizacji. Amatorzy też mogą zdobyć ze źródeł alternatywnych wersje kompilatorów bez ograniczeń. Ponadto jest kilka alternatyw, płatnych i darmowych do XC8/16/32...

    Mnie bardziej denerwuje chroniczny problem z PICKit3, który objawia się tym, że sterownik od Microchip nie wyłącza oszczędzania energii dla tego programatora, przez co są problemy z jego pracą pod Windows 7 i nowszymi. Trzeba znaleźć stosowny klucz rejestru i ręcznie wyłączyć oszczędzanie energii dla PICKit3...
  • #28
    Janusz_kk
    Level 34  
    Zmiękła im rura dopiero jak im arduino 'zabrało' rynek amatorski, to się obudzili, przedtem go traktowali jak zło konieczne, z tego powodu nie lubiałem i nadal nie lubię pic-ów.
  • #29
    Macosmail
    Level 34  
    Jest bardzo fajna rodzina STM8, tanie, fajne peryferia np. dużo liczników. Chińczycy na tym robią proste moduły typu termostat, panelowe mierniki napięcia/prądu itd. W motoryzacji są dość popularne. ale niestety ze środowiskiem programistycznym kiepsko, a szkoda bo mają potencjał na alternatywę dla AVR. Swoją drogą dziwne, że twórcy Arduino jeszcze się nimi nie zainteresowali w końcu to rodzimy producent.
  • #30
    ZbeeGin
    Level 39  
    Urgon wrote:
    Najtańszy ARM od STMicro to STM8S001J3M3 za 5,68PLN.

    STM8 to nie ARM... :)

    Macosmail wrote:
    Jest bardzo fajna rodzina STM8, tanie, fajne peryferia np. dużo liczników.

    Rodzina fajna, ale podejście samego producenta do tej rodziny... tragiczne.
    Niby produkują ich miliony, ale IDE nie rozwijane od lat, i do tego wykorzystujące własnościowe (płatne) kompilatory. ST raczy nie zauważyć, że już dawno SDCC ma wsparcie dla tej rodziny. Oraz, że po zastosowaniu kilku prostych łatek ich STM8 Stdandard Peripheral Library też da się w takim tandemie wykorzystywać.
    Przykładem takiej integracji może być Platformio https://docs.platformio.org/en/stable/platforms/ststm8.html , choć ma jedną dość istotną wadę, którą da się częściowo przeskoczyć.