Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Czy współczesne systemy wbudowane są przeprojektowane?

ghost666 23 Mar 2023 10:21 2784 84
Computer Controls
  • Systemy wbudowane tradycyjnie były urządzeniami o ograniczonych zasobach, które miały określony cel. Nie są to na ogół sprzęty przeznaczone do złożonych obliczeń, a często wykorzystywane w formie prostego kontrolera, węzła czujnika itp. W rezultacie twórcy takowych bywają nierzadko zmuszeni do równoważenia kosztów elementów (BoM) z funkcjami i potrzebami oprogramowania. W wyniku czego powstaje koncept, który realizuje ustalone założenie wydajnie i ekonomicznie. W ciągu ostatnich kilku lat widoczne jest tworzenie szerokiego spektrum systemów, które wydają się ignorować tę równowagę. Na przykład inteligentne termostaty, które można w teorii zbudować przy użyciu układu z rdzeniem ARM Cortex-M4 o częstotliwości zegara mniejszej niż 100 MHz i kilkuset kilobajtach pamięci. Zamiast tego elementy te zawierają wielordzeniowe jednostki ARM Cortex-M7 (lub nawet rdzenie z rodziny Cortex-A) działające z częstotliwością taktowania na poziomie 600 MHz i więcej, z kilkoma megabajtami pamięci... To prowadzi do pytania, czy twórcy omawianych sprzętów przesadzają obecnie w projektach swoich systemów?

    Aktualnie jest więcej jednostek z dużo większą pamięcią i mocą obliczeniową, niż jest to wymagane do wykonania danego zadania. W pewnym stopniu nacisk na IoT i urządzenia brzegowe spowodował nowy poziom złożoności systemów wbudowanych, które kiedyś były optymalizowane pod kątem kosztów i wydajności. Ponadto łączność i konieczność potencjalnego dodawania funkcji do produktu przez dekadę lub dłużej w przyszłości skłania programistów do przeceniania swoich potrzeb, a więc i do działań związanych z przeprojektowywaniem. Chociaż pozostawienie dodatkowej przestrzeni na przyszłą rozbudowę jest zawsze świetnym pomysłem, często implementacje te są mocno nadmiarowe. Nierzadko zdarza mi się spotkać zespół, który nie rozumie wydajności systemu lub potrzeb programowych. Mimo to wybrali już najnowocześniejszy mikrokontroler, jaki mogli znaleźć. Zapytany o dobór części w oparciu o wymagania, wielokrotnie da się usłyszeć: „Nie wiemy, więc na wszelki wypadek uwzględniliśmy największy układ, jaki był dostępny”. To nie jest inżynieria; to projekt kierowany strachem.

    Tak, mikrokontrolery, jak i pamięć są tańsze niż kiedykolwiek. Można łatwo umieścić Raspberry Pi z Linuxem w prawie każdym produkcie i nazwać to dobrym rozwiązaniem. Czy jednak nie jest to trochę przesadne z punktu widzenia kosztów? A co z etyką i roztrwanianiem energii? Wiele osób mówi, że nie muszą optymalizować mocy, ponieważ ich urządzenia są podłączone do sieci zasilającej. Czy oznacza to, że nie trzeba troszczyć się o to, czy marnujemy zasoby, szkodzimy środowisku czy po prostu generujemy wysokie rachunki za energię elektryczną po stronie klienta, w taki sam sposób, jak o dostarczenie działającego produktu?

    Inny duży problem, który widzi się w zakresie przeprojektowania, dotyczy programistów. Przygotowanie i wdrażanie wydajnego oprogramowania wydaje się rzadkością. Częściowo mankament ten wynika z braku edukacji i łatwości wejścia w tę dziedzinę ze względu na tworzenie aplikacji internetowych i mobilnych. Ponadto brakuje doświadczonego personelu z branży oprogramowania wbudowanego, a luki te są wypełniane przez ludzi, którzy są przyzwyczajeni do dostępności wielu GHz i gigabajtów pamięci. Wydajność nigdy nie jest brana pod uwagę; po prostu wystarczy sprawić, by rozwiązanie działało, a kogo to obchodzi, ile cykli procesora czy pamięci zużywa! Na skutek tego obecnie wiele systemów wbudowanych jest istotnie przekształcanych i to nie w dobry sposób, który skutkuje niezawodnym produktem. Zamiast tego są budowane z myślą o wygodzie projektowania, co może zaszkodzić firmom, które je konstruują, a nawet samym konsumentom. Oczywiście nadmierna inżynieria może być subiektywna. Jednak należy mieć nadzieję, że ten post pomoże i pozwoli zatrzymać się oraz pomyśleć o tym, jak kreujemy swoje urządzenia. W cyklu projektowania jest wiele do zrównoważenia i dobrze byłoby, aby systemy były podbudowywane inżynierią, a nie zgadywaniem lub strachem.

    Źródło: https://www.embedded.com/are-embedded-systems-overengineered/

    Cool? Ranking DIY
    Do you have a problem with Raspberry? Ask question. Visit our forum Raspberry.
    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 11701 posts with rating 9875, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Computer Controls
  • #2
    khoam
    Level 41  
    Quote:
    Zamiast tego są budowane z myślą o wygodzie projektowania, co może zaszkodzić firmom, które je konstruują, a nawet samym konsumentom.

    Firmom to raczej nie. Wygoda projektowania oznacza niższy koszt i zwykle krótszy czas wykreowania nowego produktu. Co do konsumentów, to nagminne jest już w tej chwili, że są testerami beta wersji oprogramowania. Złośliwi twierdzą, że to wskutek popularyzacji tzw. zwinnych metodyk zarządzania projektami wśród zespołów programistów.

    Quote:
    A co z etyką i roztrwanianiem energii?

    Te pojęcia są na sztandarach każdej korporacji. Zwykle tylko na sztandarach.
  • #3
    ghost666
    Translator, editor
    khoam wrote:
    Quote:
    Zamiast tego są budowane z myślą o wygodzie projektowania, co może zaszkodzić firmom, które je konstruują, a nawet samym konsumentom.

    Firmom to raczej nie. Wygoda projektowania oznacza niższy koszt i zwykle krótszy czas wykreowania nowego produktu. Co do konsumentów, to nagminne jest już w tej chwili, że są testerami beta wersji oprogramowania. Złośliwi twierdzą, że to wskutek popularyzacji tzw. zwinnych metodyk zarządzania projektami wśród zespołów programistów.


    Jeden powie złośliwy, inny nazwie, że głupi - co mają (zwinne) metodyki zarządzania projektem, to nieetycznych praktyk biznesowych korporacji?
  • Computer Controls
  • #4
    Tomekob
    Level 15  
    Moim zdaniem taki san rzeczy to pokłosie zatrudniania coraz mniej profesjonalnych konstruktorów. Ja osobiście nazywam ich "arduinowcami", czyli ludzie, którzy biorą kilka gotowych chińskich modułów, łączą w całość, wgrywają gotowe biblioteki dostarczone przez producenta lub znalezione w sieci, ludzi którzy z własnej niewiedzy przekonani są o swojej fachowości i "zarąbistości" (przepraszam za określenie). Nie maja za bardzo pojęcia co i dlaczego tak a nie inaczej działa ważne, że działa. Bezmyślnie budują "projekt" z gotowych klocków lego a właściwie czarnych, tajemniczych pudełeczek. To, że gotowy projekt wygląda jak przerośnięty, przeszacowany potworek przewodów i płytek jest nieistotne.
    Dlaczego są zatrudniani? Bo dobrych konstruktorzy nie ma aż tak wielu, bo są tani, bo z braku wiedzy wydaje im się, że są świetni (Efekt Dunninga-Krugera). Osoby, które ich rekrutują często nie mają wystarczającej wiedzy żeby zweryfikować samochwalstwo vs rzeczywistość, często też nie mają za bardzo wyboru i sami przed sobą nie zagłębiają się w szczegóły. Środki jakimi dysponują oferując pensję nie wystarczają na profesjonalistów.
    Moim zdaniem konstruktorzy o których mowa to często świeży absolwenci uczelni z dobrą znajomością angielskiego, która to znajomość pozwala Im na powierzchowne "zgłębianie" wiedzy z internetu zachodniego, który w większości jest płytki i tandetny, przez co wydaje im się, że pozjadali wszystkie rozumy.
    Podkreślam, że nie chcę wrzucać wszystkich do jednego worka i jeśli kogoś niesłusznie uraziłem, przepraszam.
    Pracuję jako konstruktor embedded, czasem mam do czynienia z konstruktorami "zewnętrznymi", niestety wielu z nich to zadufane w sobie osły. Opowiadają o tym co zrobią, czego nie stworzą i czego nie potrafią a w rzeczywistości miękną na "pierwszym zakręcie".
    Oczywiście to tylko moje zdanie i pewnie mocno wypaczone.
    Też czasem zdarza mi się użyć zbyt mocnego procesora, lub całego układu za mocnego na docelowe zadanie, po prostu wykorzystuję już wcześniej sprawdzone, przetestowane rozwiązania, ale jeśli tylko czas na to pozwala staram się kroić schemat pod konkretne urządzenie, czy słusznie? Nie wiem. Niestety miałem też takie sytuacje, że układ który zaprojektowałem spełnia wszystkie oczekiwane założenia, ale po jakimś czasie znajdzie się "mądry" któremu zamarzy się dodatkowa funkcjonalność oczekując ode mnie, że "wystarczy zrobić upgrade" softu i już. Niestety to tak nie działa i tu taki "arduinowiec" śmieje mi się w twarz, a na twarzy rysuje mu się uśmiech zwycięzcy.
  • #5
    khoam
    Level 41  
    ghost666 wrote:
    Jeden powie złośliwy, inny nazwie, że głupi - co mają (zwinne) metodyki zarządzania projektem, to nieetycznych praktyk biznesowych korporacji?

    Nie pisałem nic o nieetycznych praktykach. To są praktyki pozwalające na zoptymalizowanie kosztów i czasu na wypuszczenie nowego produktu, gdzie często jakość jest stawiana na drugim miejscu. Pracuje w branży (korporacyjnej) IT ponad 30 lat i nie jest to dla mnie żadna nowość. O tym, czy dany nowy produkt czy też jego nowa wersja zostanie wypuszczona do sprzedaży i kiedy decydują przede wszystkim działy finansowe i marketingu, jak również zachowanie konkurencji na rynku.
  • #6
    Mateusz_konstruktor
    Level 31  
    ghost666 wrote:
    co mają (zwinne) metodyki zarządzania projektem, to nieetycznych praktyk biznesowych korporacji?

    Fachowo rzecz nazywając: prywatyzację zysków wraz z uspołecznianiem kosztów.
    Kwestia przygnębiająca, ale popatrzmy na wszelakie niewłaściwie działające oprogramowania przykładowych dekoderów telewizji.
    Podejmę jedną tylko z negatywnych konsekwencji z tym związanych.
    Dla korporacji dysponującej ogromnymi środkami nie byłoby szczególnym problemem wypuszczanie aktualizacji oprogramowania, usuwających zgłoszony błąd, w przeciągu kilku dni od momentu zgłoszenia przez nabywcę usterki.
    Jednak, od wielu lat, widzimy odmienną praktykę.
  • #7
    Sebek6543210
    Level 9  
    Często wynika to z kilku rzeczy:
    Projekt często się zmienia w czasie i okazuje się, że trzeba coś dodać, co nie zmieści się na słabszym procesorze.
    Często używa się tych samych procesorów do kilku rozwiązań, co skraca czas projektowania.
    Łatwiej zacząć projekt mając pewność, że nie braknie zasobów. Potem czasem brakuje czasu na optymalizację i kończy się z przerośniętym rozwiązaniem.

    Nie zmienia to faktu, że pakowanie całych mikrokomputerów to zazwyczaj przerost formy nad treścią.
  • #8
    RitterX
    Level 39  
    Przeprojektowywanie systemów wbudowanych jest złożonym problemem. IoT nie jest miarodajny bo z definicji jest skierowany na popularne rozwiązania o nikłych wymaganiach dotyczących niezawodności. IoT jest jak płyty główne PC labo laptopów gdzie projekty są bardzo podobne, często jedynie inaczej ukompletowane.
    W przypadku przeprojektowywania systemów sterowania czymś newralgicznym za każdym razem finalna wersja prototypu musi przejść długie testy a to oznacza przede wszystkim wydatek czasowy. Tu dochodzimy do bardzo istotnej zmiany. Poprzednio wszystko było rozdzielone a obecnie coraz częściej wybiera się rozwiązania SoC, które gwarantują łatwiejsze tworzenie oprogramowania jak również mniejsze podatności w przypadku wymagań testowych ß-wersji. Oczywiście jak ktoś lubi, ma czas może sam od nowa napisać OS-a, stos TCP/IP albo USB lub na piechotę budować układ i dbać np. o integralność sygnałową PCB dla przepustowości magistral rzędu 1000MT/s bo w sumie SoC to pójście na łatwiznę podobnie jak korzystanie z dobrze sprawdzonych i zoptymalizowanych bibliotek.
    Systemy wbudowane są systematycznie przeprojektowywane choćby dlatego, że przy czasie życia produkcyjnego wielu kluczowych elementów po prostu nie da się tego zrobić inaczej. Aby to odbywało się bez większych oporów oprogramowanie musi być pisane w sposób uniwersalny czyli liczba zmian ograniczała się do możliwie małej liczby fragmentów kodu i nie było epicko rozpieprzonego po wszystkich możliwych plikach autorsko-intelektualnego ulepu. To bardzo ułatwia wstępne uruchamianie i prześledzenie pod debugger-em fragmentów dotkniętych zmianami.
    Przeprojektowywanie "w dół" czyli usiłowania by wpakować dany projekt w coś mniejszego choć konieczne minimalne zasoby są dosyć jednoznacznie zdefiniowane to pakowanie całego projektu do dołu czyli grobu.
    Jeżeli gdzieś przytrafia się przerost formy nad treścią to po pierwsze należy się upewnić czy rzeczywiste wymagania przypadkiem nie są większe albo nie wie się o danym projekcie wszystkiego. Po drugie, jeżeli dany projekt sprzedaje się z określoną marżą to bezcelowym jest usiłowanie przeskalowania go nieco w dół dla oszczędzenia kilku groszy. Lepiej ten czas i zasoby poświęcić czemuś nowemu bez ryzyka rozbicia się o bezcelowy kawał dobrej nikomu niepotrzebnej roboty.
    Jeżeli przyjrzymy się systemom wbudowanym jakimi są konsole do gry czyli bardzo dedykowane urządzenia produkowane w dziesiątkach milionów egzemplarzy to nowe ich wersje zawsze były wydawane jako modernizacje dostosowane do udoskonalonego procesu produkcji ich kluczowych SoC-ów przy niewielkim wkładzie dodatkowych poprawek. Dlatego, że ich producenci przerabiali na wczesnym etapie bycie zajeb...mi co czasami o mało nie zakończyło działalności firmy. Dlatego podchodzą do tego typu modyfikacji bez zbędnego zadęcia, starym dobrym inżynieryjnym doskonaleniem procesów i produktów a nie wymyślaniem koła na nowo w wersji kwadratowej.
  • #9
    Janusz_kk
    Level 36  
    RitterX wrote:
    Jeżeli przyjrzymy się systemom wbudowanym jakimi są konsole do gry czyli bardzo dedykowane urządzenia produkowane w dziesiątkach milionów egzemplarzy

    Tylko że mowa jest nie o konsolach czyli skomplikowanych sprzętach tylko o prostych sterownikach typu termostaty czy sterowniki np robotów kuchennych (bez internetu) gdzie w zupełności wystarcza dowolny 8 bitowiec a pakuje się 32 bitowe arm-y, (wiem bo akurat taki naprawiam dla siostry) czy np sterowniki pralek, suszarek. A jest tak bo ruski wyciągają z nich procki dla swojego wojska, zresztą niedawno podobnie się działo w automotive.
    Więc cały twój wywód jest zupełnie nie na miejscu, że tak delikatnie napiszę.
  • #10
    tronics
    Level 38  
    Quote:
    gdzie w zupełności wystarcza dowolny 8 bitowiec a pakuje się 32 bitowe arm-y, (wiem bo akurat taki naprawiam dla siostry) czy np sterowniki pralek, suszarek.

    Czemu tak kolega twierdzi, ja mam w miarę nowe termostaty i tam jest STM8 albo PIC. W centralkach alarmowych nadal spotykam AVR. Tylko jeśli zobaczy kolega ile jest wszystkich AVR a ile mikrokontrolerów na ARM sprzedaje ST to będzie wiadomo, czemu popularne procki są w popularnych sprzętach :) Ostatnio odświeżałem sobie właśnie środowisko ST (stm32cube ide). Wybieram proca, klikam po peryferiach, ustawiam co i jak, wszystko z menu... parę kliknięć i kod inicjujący gotowy. Wystarczy dorzucić to jak ma program przekształcać odczyty z ADC i w jakiej postaci posyłać dalej przez usb cdc... Może ktoś z palca napisze ładniej, bezpieczniej i w ogóle... ale... No właśnie. Czas i wygoda. To się liczy, a nie to, że dzięki jakiemuś PIC czy AVR zamiast ARM urządzenie będzie działać 2x dłużej. Co z tego skoro wejdzie na rynek kilka miesięcy później. Mogłaby to zmieniać duża różnica w cenie, ale nawet i o to coraz trudniej. Więc nieuniknione jest, że nisza zastosowań 8bitowców będzie się zmniejszać.
  • #11
    ghost666
    Translator, editor
    @ElektrodaBot Czy możesz porównać ile stosuje się we współczesnym sprzęcie 32-bitowych mikrokontrolerów ARM, a ile 8-bitowych, takich jak AVR czy PIC?
  • #12
    ElektrodaBot
    AI OpenAI ChatGPT4
    ghost666 wrote:
    Czy możesz porównać ile stosuje się we współczesnym sprzęcie 32-bitowych mikrokontrolerów ARM, a ile 8-bitowych, takich jak AVR czy PIC?
    Oczywiście, mogę porównać liczbę 32-bitowych mikrokontrolerów ARM do 8-bitowych mikrokontrolerów AVR i PIC stosowanych we współczesnym sprzęcie.

    Obecnie, w wielu aplikacjach, mikrokontrolery 32-bitowe ARM zyskują znacznie na popularności, dzięki swojej wydajności i rozbudowanym możliwościom. W porównaniu do mikrokontrolerów 8-bitowych, mikrokontrolery 32-bitowe posiadają większą ilość pamięci operacyjnej (RAM) oraz pamięci programowej (Flash), które pozwalają na wykonywanie bardziej rozbudowanych algorytmów, przechowywanie większej ilości danych oraz umożliwiają pisanie bardziej rozbudowanych aplikacji. Mikrokontrolery 32-bitowe sprzężone są również z bardziej zaawansowanymi interfejsami, takimi jak interfejsy Ethernet, USB czy Bluetooth, przetwornikami analogowo-cyfrowymi, koprocesorami DSP, itp.

    Jednak, warto również zauważyć, że w wielu prostych aplikacjach, w których nie jest wymagana duża wydajność, mikrokontrolery 8-bitowe, takie jak AVR czy PIC, są wciąż bardzo popularne i cenione ze względu na swoją prostotę oraz niższą cenę. Mikrokontrolery 8-bitowe są bardzo efektywne w prostych zadaniach, takich jak sterowanie diodami LED, przyciskami, silnikami DC, czujnikami itp. Ponadto, w zastosowaniach, które wymagają niskiego poboru mocy oraz małych rozmiarów płytki, mikrokontrolery 8-bitowe są często wykorzystywane.

    Podsumowując, wybór między mikrokontrolerami 32-bitowymi a 8-bitowymi zależy od wymagań projektu. Jeżeli projekt wymaga dużej wydajności i rozbudowanych możliwości, to zdecydowanie korzystniej jest wykorzystać 32-bitowe mikrokontrolery ARM. Jeżeli z kolei projekt jest prosty i nie wymaga dużej wydajności, to mikrokontrolery 8-bitowe mogą być wystarczające i tańsze w produkcji.
    Jestem sztuczną inteligencją stworzoną przez OpenAI - ChatGPT. Moje odpowiedzi mogą zawierać błędy i proszę się nimi nie sugerować. Zawsze weryfikuj moje wiadomości i porady.
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot
  • #13
    ghost666
    Translator, editor
    @ElektrodaBot Czy dostępne są jakieś dane statystyczne odnośnie wykorzystania mikrokontrolerów 32-bitowych i 8-bitowych w sprzęcie konsumenckim?
  • #14
    ElektrodaBot
    AI OpenAI ChatGPT4
    ghost666 wrote:
    Czy dostępne są jakieś dane statystyczne odnośnie wykorzystania mikrokontrolerów 32-bitowych i 8-bitowych w sprzęcie konsumenckim?
    Tak, dostępne są dane statystyczne odnośnie wykorzystania mikrokontrolerów 32-bitowych i 8-bitowych w sprzęcie konsumenckim. Według raportu publikowanego przez firmę Embedded Market Forecasters w 2018 roku, sprzedaż mikrokontrolerów 32-bitowych wyniosła ponad 32 miliardy dolarów, co stanowiło 75% rynku mikrokontrolerów ogółem. Natomiast sprzedaż mikrokontrolerów 8-bitowych wyniosła około 10 miliardów dolarów, co stanowiło 23% rynku mikrokontrolerów ogółem. Pozostałe 2% rynku stanowią mikrokontrolery 16-bitowe oraz 64-bitowe.

    Warto jednak zauważyć, że te statystyki odnoszą się do sprzedaży mikrokontrolerów, a nie bezpośrednio do wykorzystania ich w sprzęcie konsumenckim. Niemniej jednak, można przypuszczać, że mikrokontrolery 32-bitowe są coraz częściej stosowane w nowych urządzeniach elektronicznych, szczególnie w tych, które wymagają większej mocy obliczeniowej i bardziej rozbudowanych możliwości.
    Jestem sztuczną inteligencją stworzoną przez OpenAI - ChatGPT. Moje odpowiedzi mogą zawierać błędy i proszę się nimi nie sugerować. Zawsze weryfikuj moje wiadomości i porady.
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot
  • #15
    Janusz_kk
    Level 36  
    tronics wrote:
    Czemu tak kolega twierdzi,

    Bo mogę :) oczywiście nie bezpodstawnie, czytałem już kilka artykułów że były 'odzyskiwane' 32 bitowce ze sterowników sprzętu AGD do innych celów.
  • #16
    khoam
    Level 41  
    Janusz_kk wrote:
    Tylko że mowa jest nie o konsolach czyli skomplikowanych sprzętach tylko o prostych sterownikach typu termostaty czy sterowniki np robotów kuchennych (bez internetu) gdzie w zupełności wystarcza dowolny 8 bitowiec a pakuje się 32 bitowe arm-y,

    Skoro te najprostsze arm-y potrafią już kosztować parę centów za sztukę, to raczej tendencja ta, na niekorzyść 8-bitowych będzie się utrwalać. Poza tym 32-bitowce to nie tylko ARM, ale również RISC-V. Te drugie w ostatnim czasie są coraz w większych ilościach produkowane przez Chiny.
  • #17
    RitterX
    Level 39  
    Janusz_kk wrote:
    Tylko że mowa jest nie o konsolach czyli skomplikowanych sprzętach tylko o prostych sterownikach typu termostaty czy sterowniki np robotów kuchennych (bez internetu) gdzie w zupełności wystarcza dowolny 8 bitowiec a pakuje się 32 bitowe arm-y, (wiem bo akurat taki naprawiam dla siostry) czy np sterowniki pralek, suszarek. A jest tak bo ruski wyciągają z nich procki dla swojego wojska, zresztą niedawno podobnie się działo w automotive.
    Więc cały twój wywód jest zupełnie nie na miejscu, że tak delikatnie napiszę.

    To co napisałem jest jak najbardziej na miejscu. Dowodem są treści zawarte na dedykowanych systemom wbudowanym portalach. Sterowniki pralek przyjeżdżają wraz z pralkami, w których prędzej padną łożyska w nierozbieralnym bębnie jak sterownik.
    Pakuje się 32bit mikrokontrolery do pralek bo tak jest taniej przede wszystkim od strony projektu. Zamiast rzeźbić w 8-bit g.licie np. w odniesieniu do wyświetlacza bo w 8-bit nie ma DMA a pamięć na czcionki czyli wersje językowe jest mocno ograniczona robi się jeden projekt i w zależności od wersji pralki dodaje "ficzery". Zrozumiało to choćby STM, które w miejsce STM8 wprowadza STM32C0 czyli CortexM0+ . STM8 to unowocześnione 6805, doprawdy niewiarygodnie niezawodny i stabilny w odniesieniu do zakłóceń mikrokontroler. Mimo to STM dało jasny sygnał, że czas na przesiadkę bo STM8 będzie rzadko gościło w szarżach produkcyjnych, możliwości produkcyjne nie są z gumy.
    Epoka gdzie w sterownikach PLC można było znaleźć np. SAB80C517A albo SAB80535A dawno temu się skończyła. We wszystkich nich są 32bit. mikrokontrolery bo tak jest łatwiej zarządzać np. wymianą oprogramowania na nowsze oraz umożliwia to dalszą skalowalną rozbudowę systemów bez ciągłego drżenia o to, że zabraknie np. przepustowości interfejsu komunikacyjnego albo będzie za mało dostępnych kanałów komunikacyjnych.
    Robienie czegoś "autorsko na styk" to nie tylko droga przez mękę ale bardzo dobry przykład jak nie należy tego robić.
    "Strategia Czerwonej Królowej" mówi tyle, że nie wolno stać w miejscu bo wtedy się cofamy. Tak działa dzisiaj świat. Hobbystycznie mogę wykańczać, pisząc nawet w asemblerze, posiadane pozostałości 8-bit. ale nowych już nie kupuję bo to nie ma sensu.
  • #18
    Janusz_kk
    Level 36  
    RitterX wrote:
    Epoka gdzie w sterownikach PLC można było znaleźć np. SAB80C517A albo SAB80535A dawno temu się skończyła. We wszystkich nich są 32bit. mikrokontrolery bo tak jest łatwiej zarządzać np. wymianą oprogramowania na nowsze oraz umożliwia to dalszą skalowalną rozbudowę systemów bez ciągłego drżenia o to, że zabraknie np. przepustowości interfejsu komunikacyjnego albo będzie za mało dostępnych kanałów komunikacyjnych.

    Ja o chlebie a ty dalej o niebie, przeczytaj jeszcze raz artykuł bo widzę że nie dociera, mowa jest o PROSTYCH sterownikach.
  • #19
    tzok
    Moderator of Cars
    32 bitowy kontroler nie jest wiele droższy w produkcji od 8 bitowego, a jest bardziej uniwersalny. Nie ma więc ekonomicznego powodu, by nadal produkować kontrolery 8 bitowe.
  • #20
    Janusz_kk
    Level 36  
    Ale przez to jest bardziej skomplikowany w użyciu, łatwiej o błędy.

    Dodano po 2 [minuty]:

    A jeżeli jeszcze weźniemy pod uwagę to ...
    ghost666 wrote:
    Ponadto brakuje doświadczonego personelu z branży oprogramowania wbudowanego, a luki te są wypełniane przez ludzi, którzy są przyzwyczajeni do dostępności wielu GHz i gigabajtów pamięci.

    ... to potem widzimy potworki, które chodzą jak chcą i się wieszają w najmniej odpowiednich momentach.
  • #21
    tronics
    Level 38  
    Attiny z 0-series też jest bardziej skomplikowane niż starsze serie (nic dziwnego, wkładane tam są ulepszenia rodem z xmega). I też jest więcej rzeczy, łatwiej o błędy, a cena nie jest diametralnie niższa od CM0+ w hurcie. A jednak ARM daje więcej flash, więcej RAM, więcej układów peryferyjnych i szybszy, a jednocześnie elastycznie regulowany zegar. A to skomplikowanie znika w momencie gdy możesz sobie skonfigurować "wizardem" peryferia. Więc 32bit było nowe, drogie, trudne ponad 10 lat temu jak pierwszy raz na poważnie się tym zacząłem interesować (z MCU LPC wtedy). Ale teraz? Paaanie, teraz to jest bajka.
  • #22
    tzok
    Moderator of Cars
    Mam pytanie "co Autor tematu miał na myśli"? Wyraz "przeprojektowane" jest formą dokonaną, zgaduję więc, że chciał zapytać czy "są (kilkukrotnie) przeprojektowywane na etapie opracowywania".

    Dzisiaj często liczy się czas, platforma sprzętowa jest projektowana równolegle z oprogramowaniem, trzeba więc zostawić sobie zapas, żeby się nie okazało, że nim oprogramowanie osiągnie fazę dojrzałości, warstwa sprzętowa okaże się niewystarczająca. To byłby bardzo kosztowny błąd, praktycznie przekreślający sens istnienia produktu. Spowodowałoby to opóźnienie niweczące efekt nowości i całą przewagę producenta.
  • #23
    Janusz_kk
    Level 36  
    tronics wrote:
    Attiny z 0-series też jest bardziej skomplikowane niż starsze serie (nic dziwnego, wkładane tam są ulepszenia rodem z xmega).

    Zgoda, ale to jest tak nic w porównaniu do arm-ów.

    tronics wrote:
    A jednak ARM daje więcej flash, więcej RAM, więcej układów peryferyjnych i szybszy, a jednocześnie elastycznie regulowany zegar.

    Wszystko fajnie, tylko jest jedno ale, przez to że są tak popularne to tak ich brakuje, popatrz po sklepach TME, RS, nie ma nic albo jakieś odpady i być może o to autorowi tekstu chodziło chociaż nie napisał tego wprost.
  • #24
    khoam
    Level 41  
    tzok wrote:
    Mam pytanie "co Autor tematu miał na myśli"? Wyraz "przeprojektowane" jest formą dokonaną, zgaduję więc, że chciał zapytać czy "są (kilkukrotnie) przeprojektowywane na etapie opracowywania".

    To jest błędne tłumaczenie słowa "overengineered" z oryginalnego tekstu. Najbardziej zbliżonym określeniem w języku polskim jest "przekombinowany". W branży czasami używa się gwarowego określenia "przeskalowany", chociaż nie jest to precyzyjne tłumaczenie i nie musi mieć charakteru pejoratywnego.

    Dodano po 8 [minuty]:

    @gulson ChatGPT przetłumaczył "Are embedded systems overengineered?" na "Czy systemy wbudowane są przesadnie złożone?". Może lepiej zatrudnić bota do tłumaczenia artykułów?
  • #25
    tronics
    Level 38  
    >>20507649
    Przecież w TME jest i tiny1606, i cała gama STM32G0 ;)
  • #26
    ghost666
    Translator, editor
    khoam wrote:
    tzok wrote:
    Mam pytanie "co Autor tematu miał na myśli"? Wyraz "przeprojektowane" jest formą dokonaną, zgaduję więc, że chciał zapytać czy "są (kilkukrotnie) przeprojektowywane na etapie opracowywania".

    To jest błędne tłumaczenie słowa "overengineered" z oryginalnego tekstu. Najbardziej zbliżonym określeniem w języku polskim jest "przekombinowany". W branży czasami używa się gwarowego określenia "przeskalowany", chociaż nie jest to precyzyjne tłumaczenie i nie musi mieć charakteru pejoratywnego.

    Dokładnie na to samo ja spotkałem się właśnie z określeniem "przeprojektowany" czy nawet (sic!) przeinżynierowany, ale to już obrzydliwa kalka z angielskiego ;).
  • #27
    Janusz_kk
    Level 36  
    tronics wrote:
    Przecież w TME jest i tiny1606, i cała gama STM32G0

    Na 50 pozycji jest 14 :) tyłka nie urywa ale widzę że sie poprawiło :)
  • #28
    Macosmail
    Level 34  
    Janusz_kk wrote:
    Ale przez to jest bardziej skomplikowany w użyciu, łatwiej o błędy.

    To prawda, że są bardziej skomplikowane. Krążą legendy o niesamowitej prostocie i łatwości programowania np. STM32. Tak twierdzą osoby zachwycone łatwością wyklikania konfiguracji w CubeIDE i piszące swój kod tylko w wyznaczonych miejscach... Dopóki wszystko działa to jest "proste". Ale poznanie mikrokontrolera i swobodne korzystanie z peryferiów to dokładne poznanie ich rejestrów, a tych jest wielokrotnie więcej, a peryferia są bardziej rozbudowane i mają wiele trybów pracy.
    Co prawda na późniejszym etapie samo pisane bardziej rozbudowanych aplikacji może być prostsze ( i w ogóle wykonalne) bo mamy więcej zasobów i mechanizmy niedostępne w np. AVR - 8 bit, ale sam MCU 32 - bit jest bardziej skomplikowany dlatego praktycznie wszyscy producenci obecnie forsują jakieś swoje warstwy abstrakcji.

    Janusz_kk wrote:
    A jest tak bo ruski wyciągają z nich procki dla swojego wojska, zresztą niedawno podobnie się działo w automotive.

    Wierzy Kolega w to? Chińczycy oferują aktualnie ogrom mikrokontrolerów dostępnych od ręki. Producentów MCU w Chinach jest już chyba więcej niż w całej reszcie świata razem wziętej.
  • #29
    tronics
    Level 38  
    Macosmail wrote:
    To prawda, że są bardziej skomplikowane. Krążą legendy o niesamowitej prostocie i łatwości programowania np. STM32. Tak twierdzą osoby zachwycone łatwością wyklikania konfiguracji w CubeIDE i piszące swój kod tylko w wyznaczonych miejscach... Dopóki wszystko działa to jest "proste". Ale poznanie mikrokontrolera i swobodne korzystanie z peryferiów to dokładne poznanie ich rejestrów, a tych jest wielokrotnie więcej, a peryferia są bardziej rozbudowane i mają wiele trybów pracy.
    Dokładnie. Są teraz silniki z wieloma czujnikami, z wtryskami sterowanymi komputerowo, z analizą spalin i z bieżącą diagnostyką. A kiedyś był gaźnik i też działało, a wszelkie problemy się diagnozowało na węch, czy słuch... ;)

    Macosmail wrote:
    dlatego praktycznie wszyscy producenci obecnie forsują jakieś swoje warstwy abstrakcji.
    Tak, i narzędzia jak microchip START... aj, sorry, nie tu, przecież to 8bit ;)
  • #30
    Janusz_kk
    Level 36  
    Macosmail wrote:
    Dopóki wszystko działa to jest "proste". Ale poznanie mikrokontrolera i swobodne korzystanie z peryferiów to dokładne poznanie ich rejestrów, a tych jest wielokrotnie więcej, a peryferia są bardziej rozbudowane i mają wiele trybów pracy.

    Dokładnie, pisząc z 'palca' jestem w stanie wyssać procka na 100% :) Na avr-y nowe też są takie środowiska klikalne ale program wygenerowany przez nie jest takiej 'jakości' że od razu mnie głowa boli jak widzę tą sieczkę.

    Macosmail wrote:
    Wierzy Kolega w to?

    Nie bardzo ale w kilku miejscach o tym czytałem.

    tronics wrote:
    Są teraz silniki z wieloma czujnikami, z wtryskami sterowanymi komputerowo, z analizą spalin i z bieżącą diagnostyką. A kiedyś był gaźnik i też działało, a wszelkie problemy się diagnozowało na węch, czy słuch...

    I tam są wykorzystane, ale artykuł jest o PROSTYCH sterownikach, a takimi sterowniki wtrysków/zapłonu, PLC czy konsole nie są.
    Ja wiem że są termostaty (bo takie naprawiam) które mają instrukcję obsługi i programowania w postaci książki ale one są albo były robione na 51 lub klonach :) i jak widać tam 8 bit w zupełności wystarczyło.