Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jaką rodzinę mikrokontrolerów wybrać? AVR czy PIC

dominico12 31 Maj 2014 20:32 2214 11
  • #1 31 Maj 2014 20:32
    dominico12
    Poziom 8  

    Nie wiem czy w dobrym miejscu piszę ale chciałbym się zapytać czy zostać przy AVR-ach czy przesiąść się na PIC-i (trochę umiem programować AVR-y)

    0 11
  • Arrow Multisolution Day
  • #2 31 Maj 2014 21:21
    BlueDraco
    Specjalista - Mikrokontrolery

    Przesiądź się na Cortexy.

    -2
  • Arrow Multisolution Day
  • #3 31 Maj 2014 21:36
    Marek_Skalski
    Moderator Projektowanie

    0. Z jakiego powodu chcesz coś zmieniać?
    1. Jakie AVRy programowałeś: 8-bit i/lub 32-bit?
    2. O jakich PICach myślisz? 8-bit, 16-bit czy 32-bit?
    3. Zazwyczaj z AVRów (8-bit) przechodzi się na ARMy z rdzeniem Cortex-Mx, ponieważ są łatwiej dostępne, tańsze i przez to bardziej popularne niż 16- lub 32-bitowe PIC. Inne rdzenie to raczej automotive lub przemysł, co dla hobbysty stanowi trudno dostępną egzotykę.
    4. Jeżeli Microchip kiedyś odrobaczy rodzinę PIC32MZ i będzie sprzedawał przez dystrybutorów, to wtedy można o nich pomyśleć, ale dzisiaj radzę je omijać z daleka :)
    5. Narzędzia z logiem Microchip też są znacznie droższe niż te od Atmela lub NXP, ST czy TI.
    6. Ale przyznam się, że lubię dsPIC33EPxxx i MPLAB X.

    0
  • #4 28 Lip 2014 12:35
    merien
    Poziom 14  

    Cortexy to najrozsądniejszy wybór po avr'ach moim zdaniem.

    Osobiście polecam rdzeń M3 na początek :)

    dobrym wyborem jest stm32f103 -> przyzwoita cena, dobre peryferia...


    Jeśli coś mniejszego to stm32f031 -> kosztuje grosze (~6zł), a potrafi zaspokoić spore wymagania, ale to już inny rdzeń... M0

    1
  • #6 28 Lip 2014 14:01
    excray
    Poziom 39  

    Swoją drogą w Polsce chyba się PICów nie za bardzo lubi. Chyba głównie Atmel a później STM, może trochę LPC. Nom i oczywiście '51 wśród starych dziadków.

    1
  • #7 28 Lip 2014 17:28
    alagner
    Poziom 25  

    Lubi lubi, mają swoje plusy. Ale niestety podstawowym ich mankamentem jest brak darmowych narzędzi.

    0
  • #8 28 Lip 2014 19:08
    94075
    Użytkownik usunął konto  
  • Pomocny post
    #9 29 Lip 2014 14:26
    nsvinc
    Poziom 35  

    To jest imho dywagacja o niczym. Zastanów się, jakie układy chcesz budować:

    a) urządzenia zasilane bateryjnie, loggery (opcjonalnie z USB), translatory (np. USB<->SPI) - ogolnie coś, co jest małe, ma być tanie, i mieć rozsądne możliwości rozbudowy softu: idz w kierunku rdzenia Cortex-M0 lub Cortex-M0+

    b) przetwarzanie mocy - zasilacze, przetwornice, sterowniki silników - kierunek: dsPIC33 16bitowe, ew. mniejsze PIC32. Do łatwych zadań całkiem dobrze spełnia się Cortex-M0+ w postaci LPC8xx ;) Ostatnio też Cortex-M3 dzięki serii LPC15xx

    b1) zaawansowane sterowniki silników, falowniki - kierunek: Cortex-M4F, PIC32

    c) układy typowo audio; miksery, filtry, equalizery, FFT, efekty dzwiękowe - kierunek: Cortex-M4F (lepiej) lub PIC32 (slabiej)

    d) układy audio poziom hard/multimedia - enkodery, dekodery dźwięku i obrazu, kamery, kamkordery - kierunek: Cortex-M4F lub wyżej (ARM11, Cortex-A itp. a na tym Linux), ewentualnie ColdFire Freescale'a, również rdzenie od AD (Blackfin, SHARC) czy DSPki Texas Instruments

    e) hardcore automotive - sterowniki ABS,ESP,ECU,ECM itp. kierunek: Cortex-R, wiodący w tematyce Renesas (do wyboru kilka rdzeni) i Freescale; ew. FPGA/CPLD

    e1) softcore automotive - układy nadzorcze świateł, kontrolery zamków centralnych, immobilizery, alarmy - kierunek: Cortex-M0, Cortex-M0+

    f) hardcore multimedia - typu dekodery DVB; rowniez sterowniki dużych linii produkcyjnych (maszyn) - kierunek: FPGA/CPLD, soft rdzenie (wlasne lub cudze), dedykowany 'krzem' do dedykowanych funkcji; w przypadku multimediów też wpasują się Blackfin'y i (tiger)SHARC, DSPki Texas Instruments

    g) proste układy audio, sekwencery procesów, sterowniki CNC, układy nadzorcze do prostszych maszyn (np. wtryskarka), PLC, ogólnie sterowniki i systemy nadzorcze - kierunek: Cortex-M3, Cortex-M4

    h) "embedy" - układy komputerowe typu raspberry-PI, motyw przewodni w postaci pełnoprawnych OSów (Android, Win-CE, mniejsze *nix), routery, multimedia - kierunek: ARM9, ARM11, Cortex-A

    i) modemy (tele)komunikacyjne, systemy transmisji danych o bardzo dużych przepustowościach, procesory obrazu, rozpoznawanie twarzy/obiektów w czasie rzeczywistym - kierunek: FPGA/CPLD, procesory DSP (np te wspomniane wyzej)

    j) systemy zdalnej kontroli ruchu, naprowadzanie rakiet, komputery pokładowe pojazdów/statków/samolotów bezzałogowych, układy które lecą w przestrzeń kosmiczną, układy do zastosowania wojskowego - kierunek: trudno powiedzieć... chyba wszystko po kolei wypada znać lub mieć na tyle doświadczenia, żeby szybko sie nauczyć tego, co potrzebne ;]

    No to chyba tyle co ja wiem ;) ogólnie to przy ostatnich rewelacjach od NXP w postaci serii LPC8xx, nigdzie nie widzę miejsca dla AVRów. Za 3zł (serio) można kupić 32bitowe, 30DMIPSowe bydle z dobrze przemyślanym zestawem peryferiów...

    Jak dla mnie, znajomość CM0/CM3/CM4 (niby rozne rdzenie ale ideologia ta sama) z powodzeniem wystarczy do 99% aplikacji wykonywalnych przez jednego człowieka. Do tego mozna (ale nie trzeba) znać pobieżnie dsPIC33 (swietne peryferia dla układów power conversion) i już się ma komplet skillów ;)
    O znajomości FPGA/CPLD nie wspominając.

    Nadal trzeba sensownie przemyśleć zakres układów, które chce się robić. Jeśli chcesz tłuc głównie typowe DSP to nie ma sie co pchać w Cortexy, a juz na pewno nie M.
    A jeśli chcesz zbudować termometr, zegarek, sterownik pieca czy zasilacz, to nie ma sensu się pchać w rdzenie typowe do DSP.
    Po kilku latach konkretnego siedzenia 'w temacie', będzie już wszystko jedno, jaki rdzeń; jeśli okaże się, że potrzeba cos, czego sie nie zna, to w mniej wiecej tydzien da sie poznać nową architekturę.

    1
  • #10 29 Lip 2014 19:51
    Marico
    Poziom 19  

    Cytat:

    4. Jeżeli Microchip kiedyś odrobaczy rodzinę PIC32MZ i będzie sprzedawał przez dystrybutorów, to wtedy można o nich pomyśleć, ale dzisiaj radzę je omijać z daleka przyznam się, że lubię dsPIC33EPxxx i MPLAB X.


    A BTW jakie są problemy z MZ? Warto czekać, aż się poprawią?

    0
  • #11 29 Lip 2014 21:08
    Marek_Skalski
    Moderator Projektowanie

    Podstawowe problemy dotyczące PIC32MZ opisuje errata całej rodziny dostępna na stronie producenta. Bardziej istotne jest, że ten układ nie występuje u dystrybutorów. Możesz zaprojektować płytkę, ale sam układ możesz kupić tylko jako PIM w Microchip Direct. Za ponad 18 EUR, dostajesz jeden z wariantów układu (ECG, ECH lub ECM), z błędami w strukturze, posadzony na płytce z wyprowadzeniami w rastrze 1.0mm.
    Czy warto czekać? Zobacz na stronie producenta co oferują te uC i sam oceń. Możesz porównać z STM32F4 lub LPC4xxx. Przykładowo: 330 DMIPS, Hi-Speed USB na 8 EP, ale brak SDIO i 32 bitowego interfejsu do zewnętrznych urządzeń oraz DRAM.
    Niestety, przez 8 miesięcy Microchip nie zrobił zbyt dużo w kwestii usuwania błędów i to chyba jest konsekwentna polityka tej firmy. Usuwają tylko najbardziej istotne błędy, a te mniej denerwujące pozostają do końca życia produktu. Usuwają też systematycznie ze specyfikacji to co kusiło na początku: 20Msps ADC, QSPI 50MHz. Teraz już brak możliwości taktowania z zewnętrznego kwarcu, TRNG nie działa, włączenie ochrony flash uniemożliwia jakikolwiek skasowanie lub przeprogramowanie układu, takie OTP ;)
    Może rewizja A5, chyba w październiku, przyniesie coś lepszego? A ja tymczasem pozostaję przy STM32F429II.

    0