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

Rozważania dot wyboru rodziny uC

yild 29 Lis 2008 17:03 882 0
  • #1
    yild
    Poziom 14  
    Witam

    Od razu chciałem przeprosić za utworzenie nowego tematu, który zawiera w sobie parę tematów z "ogłoszeń" - nie chciałem rozdzielać poruszonych poniżej problemów początkującego :)

    Chciałbym zająć się programowaniem uC, mam jednak wielki problem z wyborem architektury/typu,
    Waham się między AVR (ATmega) oraz ARM (LPC2000, AT91SAM7S).

    AVR jest "prostym" uC z ogromną ilością materiałów w internecie. Ma dość skromne wyposażenie interfejsowe. Oczywiście jest rodzina AT90USB, AT90CAN. Mała pojemność RAM trochę mnie zniechęca do zabawy, wiadomo początki nie obfitują w zoptymalizowane algorytmy, nie wspominam o szybkości MIPS, gdzie nie ma porównania do ARM.

    ARM mają ciekawe wnętrzności, sporą szybkość przetwarzania, co najważniejsze są przyszłościowe.

    Chciałem wykonać sobie amatorsko - w celach dydaktycznych (a może w efekcie warsztatowych) - następujące przyrządy:

    miernik częstotliwości (coś w stylu projektu z PE10/95 - mam ten miernik złożony w domu :) ),
    generator funkcyjny (z użyciem dds),
    DSO (nie obędzie się bez układów cpld/fpga),
    analizator stanów logicznych (j/w),
    inne,

    + dodatkowo żeby każdy z w/w mógł komunikować się z PC przy pomocy USB (+ RS232).

    Nie wiem na co się zdecydować, jeśli nie AVRy to które z ARM - Atmel czy NPX ? Stosowanie ARM do wielu z w/w przykładów jest "zabijaniem muchy armatą"... jednak nie chciał bym się rozdrabniać i uczyć na raz paru rodzin uC jeśli do tej pory nie znam żadnej.


    Miałem w zamyśle stosowanie mini modułów wybranej rodziny dostępnych w kamami, kristech, propox, do każdego z w/w projektu obudowując moduły w stosowny interfejs zewnętrzny (obwody wejściowe/wyjściowe, LCD, etc) - koszt by wzrósł jednak odpadło by lutowanie SMD.
    Po dłuższym rozważaniu stosowania takich modułów stwierdziłem, że nabędę jeden ewentualnie dwa i będę je stosował do prototypów, później już przy projektowaniu PCB wypadało by mieć uC wlutowany w układ docelowy.

    Dodatkowo nie wiem czy rozsądniejszym rozwiązaniem jest stosowanie do komunikacji USB wewnętrznych interfejsów USB (LPC214X, AT90SAM7) czy zewnętrznego modułu RS232->USB.
    Pierwsze rozwiązanie gwarantuje większą przepustowość ale wymusza użycie uC z obsługą USB. Drugie można stosować przy każdym uC z UART (emulacją) ale zmniejszona jest przepustowość (iirc UARTy działają maksymalnie do 1Mb/s).

    Dochodzi kwestia czy kupować płytę ewaluacyjną jeśli już wybiorę uC - zawsze to pare elementów do testowania, chociażby zapalanie diody :P czy nauka obsługi klawiatury, LCD, etc, jednak przydaje się to chyba głównie jak człowiek się uczy podstaw, a wiadomo że takie płytki nie mają nigdy tego czego potrzeba, więc zawsze trzeba dołączyć coś z zewnątrz.
    Czy np używać uniwersalnych płytek stykowych do takich celów zamiast ewaluacyjnej - i tak trzeba zaprojektować wykonywany układ...
    Płytkę stykową mam właśnie zakupić bez względu na opinie dotyczące w/w problemu - zawsze to łatwiej zrobić pająka bez lutowania.

    Czy możecie polecić jakieś programatory podłączane do USB dla AVR/ARM ?

    Jak do tej pory byłem raczej "teoretykiem" - chociaż parę konstrukcji własnych mam już za sobą. Nie chciał bym się sparzyć zabierając się za coś nowego, więc wolę posłuchać (poczytać) opinii praktyków :)
  • Computer ControlsComputer Controls