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

Jak zacząć, jak wrócić - co jest na topie?

ghost666 24 Jun 2015 14:50 8082 67
Texa Poland
  • #1
    ghost666
    Translator, editor
    Niedługo szykuje mi się trochę więcej wolnego czasu i pewne wolne środki, które mógłbym przeznaczyć na narzędzia do nauki, dlatego też postanowiłem wrócić trochę do programowania na mikrokontrolerach itp. bo od końca studiów (5 lat temu) nic a nic z tym nie robiłem. Rynek najpewniej zmienił się teraz diametralnie, więc nie wiem w jakim kierunku iść. Mam tylko szereg wymagań co do układu:

    * Dosyć duża prędkość/moc obliczeniowa - są pewne układy, z którymi bym współpracował, które wymagają obróbki sporych ilości danych.

    * Dobre wsparcie środowiska - bardzo przydatne przy nauce.

    * Popularność i perspektywy na przyszłość - nie chciałbym nauczyć się platformy, która za 10 lat będzie nieużywana i nie będzie miała następców.

    Znam C, C++ więc język nie będzie problemem. Plusem jest środowisko z dużą ilością bibliotek (nie chcę układu, gdzie do wszystkiego będę musiał pisać samodzielnie funkcje).

    Zastanawiam się też nad układami FPGA, może to lepsza droga rozwoju?
  • Texa Poland
  • #2
    michalko12
    MCUs specialist
    ghost666 wrote:
    Mam tylko szereg wymagań co do układu:

    * Dosyć duża prędkość/moc obliczeniowa - są pewne układy, z którymi bym współpracował, które wymagają obróbki sporych ilości danych.



    ghost666 wrote:
    * Dosyć duża prędkość/moc obliczeniowa
    Pojęcie względne i względna odpowiedź - Sitara
  • #3
    KeinXor
    Level 24  
    Ciekawym układem do wzięcia na warsztat jest XMOS rodzina xCORE-XA
    bardzo szybkie rdzenie xCORE i przyjazny ARM w jednym układzie. XCORE to autorskie rozwiązanie XMOS sam producent określa możliwości tych rdzeni bliskie układom fpga.
    Dostępne mnóstwo otwartych bibliotek i tak zwane xSOFTip czyli „programowane” peryferia.
    http://www.xmos.com/
  • #4
    Futrzaczek
    VIP Meritorious for electroda.pl
    ghost666 wrote:
    Zastanawiam się też nad układami FPGA, może to lepsza droga rozwoju?

    FPGA jest o tyle dobra do nauki, że styl programowania jest kompletnie inny od tego, który już znasz z C czy C++.
    Na pewno jest to gałąź elektroniki, która jeszcze długo będzie się rozwijała. Pytanie tylko, czy interesuje Cię rozbudowanie posiadanej wiedzy czy też zaczynanie niemal od zera.

    Modne są za to mikrokotrolery z rdzeniem ARM. Niestety, ilosć poradników (wzajemnie sprzecznych) i doradców potrafi zniechęcić. Mnie zniechęciła :(
  • Texa Poland
  • #5
    dondu
    Moderator on vacation ...
    ghost666 wrote:
    ... postanowiłem wrócić trochę do programowania na mikrokontrolerach itp. bo od końca studiów (5 lat temu) nic a nic z tym nie robiłem.

    Jakie wykorzystywałeś?

    ghost666 wrote:
    * Popularność i perspektywy na przyszłość - nie chciałbym nauczyć się platformy, która za 10 lat będzie nieużywana i nie będzie miała następców.

    To nie tak. Początki rodziny 8051 to rok 1980 i trzyma się świetnie do dziś o czym ostatnia dyskusja: https://www.elektroda.pl/rtvforum/topic3050280.html

    Aktualnie popularny (nie bez przyczyny) rdzeń ARM zapoczątkowany był w 1983, a uważa się, że dopiero zdobywa rynek :)
    Szczerze mówiąc trudno sobie wyobrazić, by po ARM powstała jakaś inna jeszcze lepsza architektura, ale oczywiście nadzieję mamy wszyscy :)

    ghost666 wrote:
    Zastanawiam się też nad układami FPGA, może to lepsza droga rozwoju?

    Czy lepsza, to trudno powiedzieć - na pewno inna i równie potrzebna na rynku.
  • #6
    ghost666
    Translator, editor
    michalko12 wrote:
    ghost666 wrote:
    Mam tylko szereg wymagań co do układu:

    * Dosyć duża prędkość/moc obliczeniowa - są pewne układy, z którymi bym współpracował, które wymagają obróbki sporych ilości danych.



    ghost666 wrote:
    * Dosyć duża prędkość/moc obliczeniowa
    Pojęcie względne i względna odpowiedź - Sitara


    Już mówię o jakiej aplikacji myślę. Chciałbym skomunikować mój procesor z układami TDC firmy Acam na przykład. A tam 28 bitowa równoległa szyna taktowana 50 MHz. Chciałbym aby mój uC mógł czytać z niej dane i zapisywać je w pamięci do dalszej obróbki na przykład.

    Futrzaczek wrote:
    ghost666 wrote:
    Zastanawiam się też nad układami FPGA, może to lepsza droga rozwoju?

    FPGA jest o tyle dobra do nauki, że styl programowania jest kompletnie inny od tego, który już znasz z C czy C++.
    Na pewno jest to gałąź elektroniki, która jeszcze długo będzie się rozwijała. Pytanie tylko, czy interesuje Cię rozbudowanie posiadanej wiedzy czy też zaczynanie niemal od zera.

    Modne są za to mikrokotrolery z rdzeniem ARM. Niestety, ilosć poradników (wzajemnie sprzecznych) i doradców potrafi zniechęcić. Mnie zniechęciła :(


    Znam C, C++. VHDLa uczyłem się na studiach, ale przerażają mnie środowiska Xilinxa. Pisałem w MikroC na Pici 16 i 18 trochę.

    dondu wrote:
    ghost666 wrote:
    ... postanowiłem wrócić trochę do programowania na mikrokontrolerach itp. bo od końca studiów (5 lat temu) nic a nic z tym nie robiłem.

    Jakie wykorzystywałeś?

    ghost666 wrote:
    * Popularność i perspektywy na przyszłość - nie chciałbym nauczyć się platformy, która za 10 lat będzie nieużywana i nie będzie miała następców.

    To nie tak. Początki rodziny 8051 to rok 1980 i trzyma się świetnie do dziś o czym ostatnia dyskusja: https://www.elektroda.pl/rtvforum/topic3050280.html

    Aktualnie popularny (nie bez przyczyny) rdzeń ARM zapoczątkowany był w 1983, a uważa się, że dopiero zdobywa rynek :)
    Szczerze mówiąc trudno sobie wyobrazić, by po ARM powstała jakaś inna jeszcze lepsza architektura, ale oczywiście nadzieję mamy wszyscy :)

    ghost666 wrote:
    Zastanawiam się też nad układami FPGA, może to lepsza droga rozwoju?

    Czy lepsza, to trudno powiedzieć - na pewno inna i równie potrzebna na rynku.


    AVR, PIC - wiadomo ;). Nie pamiętam jakimi CPLD i FPGA zajmowaliśmy się na studiach :C ale podstawy jakieś są.

    Arduino oraz RPi nie chcę, ponieważ nie o to mi chodzi. Jak bym chciał, to bym kupił komputer i tyle. Chodzi mi o sam układ scalony, który mogę zaimplementować na dowolnej płytce.

    Dziękuję wszystkim za rady :).
  • #8
    ghost666
    Translator, editor
    Panowie (i Panie? zawsze mnie to martwi na zajęciach, że powiem do studentów Panowie, a tam jedna Pani akurat siedzi :P), lutuję całkiem wprawnie od 15 lat ;) spokojnie. Po prostu ostatnio siedziałem jedynie w analogach, a teraz z okazji jakiejś tam gotówki i jakiegoś tam czasu chciałem poświęcić się troszkę cyfrówce i mikrokontrolerom :).

    dondu wrote:
    W takim razie ja na Twoim miejscu wybrałbym ARM i dodatkowo FPGA.


    Też o tym myślę, to brzmi bardzo rozsądnie... ale jaki ARM jest teraz popularny i będzie nadal? nie chodzi mi o rdzeń tylko o konkretną rodzinę konkretnego producenta, do której są jakieś fajne narzędzia. To samo pytanie dotyczy się FPGA.
  • #9
    strikexp
    Level 27  
    Jak o gotówce mowa to ARM 72MHz kupisz na aliexpress za 1$, a z płytką za 4-5$. Nie trzeba się martwić o fundusze hehe :)
    Na pewno ARM będzie się rozwijał, z tego co się orientuje jego nowsze wersje są w 90% smartfonów i 3/4 tabletów. Nawet do mini laptopów już je wsadzają.
    Kwestia tylko jaki konkretnie rdzeń Cortex wybierzesz, bo niektóre są już przestarzałe. Ale to może niech wypowie się ktos kto siedzi w ARM bo ja z nimi miałem tylko styczność na studiach.
  • #10
    ghost666
    Translator, editor
    strikexp wrote:
    Jak o gotówce mowa to ARM 72MHz kupisz na aliexpress za 1$, a z płytką za 4-5$. Nie trzeba się martwić o fundusze hehe :)
    Na pewno ARM będzie się rozwijał, z tego co się orientuje jego nowsze wersje są w 90% smartfonów i 3/4 tabletów. Nawet do mini laptopów już je wsadzają.
    Kwestia tylko jaki konkretnie rdzeń Cortex wybierzesz, bo niektóre są już przestarzałe. Ale to może niech wypowie się ktos kto siedzi w ARM bo ja z nimi miałem tylko styczność na studiach.


    Taki mam plan :) tylko muszę wybrać dokładnie jaki ARM. Rdzeń to jedno, ale producent etc to druga sprawa.

    Mam jeszcze pytanie - czy coś dzieje się aktualnie w dziedzinie PSoC? Kiedyś jarałem się układami Cypressa z tej stajni, ale teraz mało się o tym mówi...
  • #11
    alagner
    Level 26  
    Nooo...są. Ale tak szczerze, ni to FPGA, ni to ARM. Lepiej już kupić dwa evalboardy i bawić się równolegle dwoma technologiami, przesiadka aż tak nie boli. Dołożenie opampa na płytce zewnętrznej też nie. Tzn. - co kto lubi, ale w moim odczuciu to trochę nisza.
  • #12
    ghost666
    Translator, editor
    Tego się właśnie obawiam, a poza tym jak coś jest do wszystkiego to niby jest do niczego, nie? ;)
  • #13
    KeinXor
    Level 24  
    Quote:

    Nooo...są. Ale tak szczerze, ni to FPGA, ni to ARM. Lepiej już kupić dwa evalboardy i bawić się równolegle dwoma technologiami, przesiadka aż tak nie boli. Dołożenie opampa na płytce zewnętrznej też nie. Tzn. - co kto lubi, ale w moim odczuciu to trochę nisza.


    PSoC 4 i PSoC 5 to nic innego jak właśnie arm w autorskiej implementacji cypress-a wraz ze strukturami PLD. Też ciekawe rozwiązanie którym warto się poważnie zainteresować.
    Ale i tak uważam że XMOS jest bardziej uniwersalny.
  • #14
    ghost666
    Translator, editor
    KeinXor wrote:
    Quote:

    Nooo...są. Ale tak szczerze, ni to FPGA, ni to ARM. Lepiej już kupić dwa evalboardy i bawić się równolegle dwoma technologiami, przesiadka aż tak nie boli. Dołożenie opampa na płytce zewnętrznej też nie. Tzn. - co kto lubi, ale w moim odczuciu to trochę nisza.


    PSoC 4 i PSoC 5 to nic innego jak właśnie arm w autorskiej implementacji cypress-a wraz ze strukturami PLD. Też ciekawe rozwiązanie którym warto się poważnie zainteresować.
    Ale i tak uważam że XMOS jest bardziej uniwersalny.


    Wyglądają ciekawie, ale jak z popularnością tych układów?
  • #15
    KeinXor
    Level 24  
    ghost666 wrote:

    Wyglądają ciekawie, ale jak z popularnością tych układów?


    O które pytasz? XMOS-y czy PsoC-ki … zresztą to w tym przypadku to bez różnicy ;) jak widać po tym forum praktycznie całkowity brak popularności wśród forumowiczów.
    Tu jedynie stm32, lpc z nxp i sam z atmela :/
    Nie wiem czemu tu na forum taki opór przed ciekawymi rozwiązaniami, no chyba nikt nie za argumentuje że bark dostępności tych układów… to nie lata 80, granice są otwarte.
  • #16
    ghost666
    Translator, editor
    KeinXor wrote:
    ghost666 wrote:

    Wyglądają ciekawie, ale jak z popularnością tych układów?


    O które pytasz? XMOS-y czy PsoC-ki … zresztą to w tym przypadku to bez różnicy ;) jak widać po tym forum praktycznie całkowity brak popularności wśród forumowiczów.
    Tu jedynie stm32, lpc z nxp i sam z atmela :/
    Nie wiem czemu tu na forum taki opór przed ciekawymi rozwiązaniami, no chyba nikt nie za argumentuje że bark dostępności tych układów… to nie lata 80, granice są otwarte.


    Ja też nie wiem - kilka lat wstecz tak było nawet z PICami, w Polsce królowały niepodzielnie AVRy. I było kilka powodów dlaczego tak jest. A teraz też pewnie jakieś są powody.

    No a ja nadal nic nie wiem, oprócz tego że i ARM i FPGA warto się uczyć. Pytanie jakich. Na tych pierwszych się zupełnie nie znam, a z tych długich stawiał bym na Xilinxa (bo mam jakieś narzędzia).
  • #17
    strikexp
    Level 27  
    O ARM proponuje poczytać, jest opisane czym się różnią poszczególne rdzenie i w którym roku wyszły czyli jak przyszłościowe są.

    Opór przed innymi mikrokontrolerami wynika najpewniej z postępującego lenistwa i braku umiejętności szukania informacji. O AVR jest napisane mnóstwo poradników i google aż kipi od wyników. Jest to doskonały mikrokontroler na start.
    Jednak inne układy juz nie dają łopatologicznych przykładów w google. A nowe pokolenie niepotrafiące korzystać z książek odrzuca je jako rzeczy tajemnicze i niedające się używać :P
  • #18
    tzok
    Moderator of Cars
    AVRy królowały, głównie ze względu na obudowy PDIP i łatwość pisania programów - BASCOM, GCC/Arduino, no i przystępną cenę samych układów jak i programatorów.

    Dlaczego ARM - bo siedzi w praktycznie każdym domowym sprzęcie - od lodówki po Smart TV.
  • #19
    strikexp
    Level 27  
    Bez przesady, w dzisiejszych czasach cenowo wcale nie są takie atrakcyjne. A tanie, chińskie odpowiedniki Arduino wyeliminowały potrzebę obudów DIP.
  • #20
    tzok
    Moderator of Cars
    Tak, to prawda moduły typu Arduino Mini czy Nano są jakimś rozwiązaniem, no i za 15zł masz mikrokontroler z płytką i sprzęgiem USB (lub bez), który możesz osadzić w płytce swojego urządzenia. Masz do tego darmowy kompilator, masę bibliotek i wsparcie społeczności. Do jakiś prostych urządzeń typu rejestratory danych - jak znalazł.
  • #21
    ghost666
    Translator, editor
    Tylko że mnie jakoś Arduino hm... odpycha. Nie chcę gotowej płytki do mrugania diodkami czy sterowania akwarium. Chcę wydajny uC, który może współpracować z szybkimi ADC czy jakimiś dedykowanymi układami.
  • #22
    User removed account
    Level 1  
  • #23
    User removed account
    User removed account  
  • #24
    ghost666
    Translator, editor
    albertb wrote:
    ghost666 wrote:
    A tam 28 bitowa równoległa szyna taktowana 50 MHz.
    strikexp wrote:
    Jak o gotówce mowa to ARM 72MHz kupisz na aliexpress za 1$, a z płytką za 4-5$. Nie trzeba się martwić o fundusze hehe :)

    Równie dobrze można to robić na 51 ;-)
    Ja bym jednak proponował FPGA.

    Albert


    Pewnie finalnie padnie na to i to. µC jest fajny, bo łatwo pisze się w nim pewne rzeczy, takie jak komunikacja czy interfejs z użytkownikiem, a z kolei FPGA zapewnia nieskrępowaną niczym szybkość. Pytanie teraz jakimi układami zająć się na wstępie? jakie ARMy są teraz najpopularniejsze? jakie mają najlepsze wsparcie producenta i społeczności?
  • #25
    alagner
    Level 26  
    STM32 i NXP LPC - bo na elektrodzie znane.
    Fajne były Stellarisy/Tivia ale nie wiem jak z nimi jest teraz, to raz. Dwa - nie mam pojęcia ile osób używało ich w PL, wiem tylko o sobie ;) Na elektrodzie ich nie widać.

    PIC - za granicą całkiem sporo ludzi ich używa, w PL o dziwo też, ale jakoś wśród hobbystów są strasznie mało popularne. Pisałem na nie trochę, procki jak procki, ale dokumentację mają - moim zdaniem - totalnie porozwalaną i nieczytelną.

    FPGA - ludzie tutaj chwalą Lattice'a, ja osobiście bardzo lubię Alterę bo "leżą" mi ichnie narzędzia. Na etapie nauki raczej patrz na peryferia na płytkach aniżeli na ilość wejść bloku LUT czy kontrolerów DRAM. :)
  • #26
    ghost666
    Translator, editor
    alagner wrote:
    STM32 i NXP LPC - bo na elektrodzie znane.
    Fajne były Stellarisy/Tivia ale nie wiem jak z nimi jest teraz, to raz. Dwa - nie wiem ile osób używało ich w PL, wiem tylko o sobie ;)

    PIC - za granicą całkiem sporo ludzi ich używa, w PL o dziwo też, ale jakoś wśród hobbystów są strasznie mało popularne. Pisałem na nie trochę, procki jak procki, ale dokumentację mają - moim zdaniem - totalnie porozwalaną i nieczytelną.

    FPGA - ludzie tutaj chwalą Lattice'a, ja osobiście bardzo lubię Alterę bo "leżą" mi ichnie narzędzia. Na etapie nauki raczej patrz na peryferia na płytkach aniżeli na ilość wejść bloku LUT czy kontrolerów DRAM. :)


    A jak jest z układami FPGA od Xilinxa? na tych głównie się uczyłem na studiach.

    EDIT:

    A co z ARMami i innymi procesorami od Texas Instruments? jest coś wartego aktualnie uwagi?
  • #27
    BlueDraco
    MCUs specialist
    Z ARMami od TI było dotychczas tak, że co roku pojawiała się nowa seria, a po starej ginął wszelki ślad, w tym dokumentacja (np. F123). Ja bym się w to nie pakował, dopóki nie ustabilizują produktu.

    Najleższy obecnie wybów w Polse - to ST. Mają róże akcje promocyjne i popularyzatorskie, darmowe lub półdarmowe płytki demonstracyjne, trzy darmowe środowiska gotowe (i sporo "zrób to sam"). Mają też dość dobrą dokumentację, co jest istotne i nie zawsze jest regułą w świecie uC.
  • #28
    ghost666
    Translator, editor
    BlueDraco wrote:
    Z ARMami od TI było dotychczas tak, że co roku pojawiała się nowa seria, a po starej ginął wszelki ślad, w tym dokumentacja (np. F123). Ja bym się w to nie pakował, dopóki nie ustabilizują produktu.

    Najleższy obecnie wybów w Polse - to ST. Mają róże akcje promocyjne i popularyzatorskie, darmowe lub półdarmowe płytki demonstracyjne, trzy darmowe środowiska gotowe (i sporo "zrób to sam"). Mają też dość dobrą dokumentację, co jest istotne i nie zawsze jest regułą w świecie uC.


    Czyli STM32 najpewniejszym wyborem?
  • #29
    alagner
    Level 26  
    NXP też jest w porządku.
    TI - no trzeba PDFy szybko zapisywać bo potrafią zniknąć.

    Fajne są też lowpowerowe 16bitowce MSP430 produkcji TI. Do ARMów im co prawda daleko, ale miewają bardzo sympatyczne peryferia.

    Osobiście natomiast poszedłbym albo w Cortexy, albo w komputery jednopłytkowe i embedded Linuxa. No ale zdecydować musisz sam :)
  • #30
    ghost666
    Translator, editor
    Okej, to ARM od NXP alto ST - jedno już wiem :). Jak z programowaniem tych układów?

    A jak z FPGA? Jakie mają najfajniejsze aktualnie wsparcie? Preferował bym Xilinxa, bo mam do niego jakiś kabel.