Pytanie:
Chcesz zastosować wiedzę EE - który mikroprocesor byś polecił?
O_O
2011-03-30 02:07:12 UTC
view on stackexchange narkive permalink

Oto moja historia: uzyskałem tytuł inżyniera elektryka, ALE nie mam dużego doświadczenia z obwodami (OMG, prawda? O_O). Większość mojej edukacji dotyczyła teorii komunikacji, więc naprawdę czuję się niekompletna i chcę gdzieś zastosować swoją wiedzę i zacząć tworzyć coś na mikroprocesorze. Dobrze byłoby również rozwinąć tę umiejętność dla siły roboczej. Czy macie jakieś zalecenia co do typu mikroprocesora, z którym powinienem pracować? FOTKA? Arduino? Inni? Co jest najczęściej używane na rynku i do celów produkcyjnych? Czy to ma znaczenie? Słyszałem, że Arduino ma bardzo dobrą społeczność do pomocy, ale słyszę, że jest ona bardziej dla „hobbystów”? Czy to koniecznie zła rzecz? Każdy wgląd jest bardzo cenny. Dzięki !!

PIC to mikrokontrolery. Oto dobre [pytanie] (http://electronics.stackexchange.com/questions/1092/whats-the-difference-between-a-microcontroller-and-a-microprocessor) pokazujące różnicę między nimi.
Myślę, że Arduino jest w porządku. Później możesz przejść ze środowiska oprogramowania Arduino do samego AVR i kompilatora C, co jest sposobem, w jaki mikrokontrolery są używane w przemyśle.
Jedenaście odpowiedzi:
user3624
2011-03-30 02:30:58 UTC
view on stackexchange narkive permalink

Hej, świetne wyczucie czasu! W tym tygodniu przeprowadzałem wywiady ze studentami E.E. na staż. Oto, co mogę powiedzieć ze 100% pewnością: uczniowie dużych szkół, nawet juniorzy pracujący nad swoimi licencjatami, mają prawie ZERO użytecznej wiedzy. Jeden facet, z którym rozmawiałem, nie mógł obliczyć wartości rezystora ograniczającego prąd dla diody LED. Tak, to jest to, co 30 000 $ rocznie da ci na edukację. Chodzi o to, że wszelkie praktyczne doświadczenie lub wiedza, które posiadasz, postawią cię ponad kolegami z klasy, jeśli chodzi o znalezienie pracy! Poważnie, jest tak źle.

OK, przejdźmy do twojego pytania. Z punktu widzenia pracodawcy nie ma znaczenia, jakiego uC używasz. Istnieje prawdopodobieństwo, że cokolwiek wybierzesz, będzie źle. Co ważniejsze, doświadczenie i wiedza, które zdobędziesz, będą miały zastosowanie w większości uC. Mając to na uwadze, trzymaj się zwykłych.

PIC z mikroczipem są moim najmniej ulubionym. Sprzęt jest w porządku, ale pisanie dla niego oprogramowania to super problem z tym, co wiesz. Używałem ich w przeszłości i nigdy więcej. Użyłem także Cypress pSoC 1. Na początku było fajnie, ale ich oprogramowanie jest błędne i brakuje dokumentacji. Mój obecny projekt wykorzystuje MSP430, ale jest za wcześnie, aby powiedzieć, jak dobrze działa. UC oparte na TI ARM są również fajne, ale mogą być dla Ciebie za dużo na tym wczesnym etapie.

Pytanie: Czy wziąłbyś również pod uwagę studentów CS, gdyby zastosowali jakąś wiedzę z systemami wbudowanymi (Aka pracowali z obwodami / niskim poziomem C, montażem / i pracowali z mikrokontrolerami i tym podobnymi)?
W tym przypadku szukamy każdego, kto ma odpowiednią wiedzę lub doświadczenie (Micro's, C / Asm, VHDL, lutowanie itp.). Nie ma znaczenia, czy są CS, EE, czy pracują nad jakimś programem sztuk wyzwolonych.
Hej, ja * wiem * jak obliczyć rezystor ograniczający prąd diody LED! Gdzie mam wysłać swoje CV?
Mówię ludziom, że uczelnia daje wam nowy zestaw narzędzi z nowymi, błyszczącymi narzędziami i uczy ich nazw. To Twoja pierwsza prawdziwa praca, w której dowiadujesz się, jakich narzędzi naprawdę potrzebujesz, a których nie, i dowiesz się, jak ich naprawdę używać ... Oprócz wszystkich narzędzi, których nigdy nie nauczyłeś się w szkole.
old_timer
2011-03-30 08:28:53 UTC
view on stackexchange narkive permalink

msp430 ma bardzo ładny zestaw instrukcji. Obecnie możesz kupić planszę msp430 do gry za około pięć dolarów. ARM dominuje w świecie procesorów, nikt nie jest nawet blisko, prawie wszystko, czego używasz, jest oparte na ramieniu. Również dobry zestaw instrukcji, wiele odmian można kupić za mniej niż 50 USD, goto sparkfun. zestaw instrukcji dla zredukowanego ramienia nazywa się thumb, a rozszerzony zestaw instrukcji kciuka nazywa się thumb2 i jest teraz rdzeń, który jest tylko thumb2 (każda instrukcja kciuka odwzorowana jeden do jednego z instrukcjami ramienia, więc łatwo było po prostu wstawić instrukcję ramienia do pipe, gdy znaleziono instrukcję kciuk, ale kciuk2 zmienił, że utworzyli nowy rdzeń). ST, którego lubię bardziej niż LPC i być może mikroskopy oparte na innych ramionach, ma teraz płytkę odkrywania linii wartości za około 12 dolców (chcesz 12 dolarów stm32, a nie 7 dolarów stm8 lub cokolwiek, co jest zupełnie innym procesorem, ma 6502 czuję, kupiłem niewłaściwe, ale jeszcze się z tym nie bawiłem). Zestaw instrukcji PIC, stary / prawdziwy (nie mips PIC32) jest bardzo edukacyjny i właściwie elegancki, ale straszny dla kompilatorów, nigdy nie dotknie msp430 ani ramienia z tej perspektywy. Microchip i pic to Atmel AVR (motyl, a teraz Arduino) tamtych czasów, ale tak naprawdę go nie rozumiem. Atmel „to rozumie”, a jego klienci są bardzo szczęśliwi i bardzo lojalni. Bardzo lubię moje deski ramienia sam7, całkiem sporo. Zestaw instrukcji AVR jest okropny, ale to nie powstrzymało go przed niesamowitą popularnością wśród hobbystów. Zależy od tego, czy chcesz nauczyć się programować, czy nie musisz się tym martwić. Jeśli nie chcesz zbytnio zajmować się programowaniem, prawdopodobnie pierwszym wyborem będzie arduino. Jeśli chcesz zająć się programowaniem, mam kilka emulatorów na githubie, thumbulator, emulator kciuka i msp430. Możesz poczuć, co się dzieje.

Radzę zdobyć kilka, wiele różnych można kupić za mniej niż 50 dolców. sparkfun.com dla wielu z nich, bezpośrednio od TI dla ezusb (5-dolarowy starter jest tańszy, ale ezusb ma dodatkowe płyty, 3 za 10 $). Również bezpośrednio z TI (czy musisz iść do digikey / mouser?) Płyty Stellaris, zapakowane tak bardzo, że naprawdę nie możesz dostać się do I / O bez wycinania śladów. ale jednocześnie dużo arkuszy danych do przeczytania i zrozumienia, a także dużo więcej schematów do przeczytania i zrozumienia. Deski Stellaris są bardziej w kategorii poniżej 100 dolarów. 811 jest super łatwy do murowania, bądź ostrożny.

knjn.com ma kilka niedrogich płyt FPGA, chyba pluto. Myślę, że wszystko co potrzebne do tego po sprzęcie jest darmowe (od xilinx lub altera). W pewnym momencie altera miała modelową wersję, ale ja wolę verilator i icarus verilog. Chciałbym spędzić więcej czasu na ghdl, ale nie wiem na tyle, aby podłączyć go do stanowiska testowego C. Z Verilatorem dość trywialne jest zbudowanie stanowiska testowego w C, za pomocą którego można pisać kod / sterowniki, które mogą później komunikować się ze sprzętem lub uruchamiać na sprzęcie w zależności od tego, co robisz ... tutaj ponownie zakładamy, że masz pewne zainteresowania programistyczne ... Jestem wielkim fanem cyclicity-cdl.sf.net, języka projektowania sprzętu, który uważam za dobrze wykonany. Posiada również własne, darmowe środowisko symulacyjne. Zasadniczo możesz tworzyć projekty logiczne za około 50 dolarów, niezależnie od kosztów płyty. Lub jeśli nie chcesz kupować sprzętu, możesz wykonać mnóstwo projektów za pomocą wszystkich bezpłatnych narzędzi. gtkwave jest twoim przyjacielem, jeśli chodzi o oglądanie przebiegów vcd, nawet z modelsim teraz po prostu tworzę .vcd i używam przeglądarki gtkwave.

Znalazłem takie rzeczy jak dekodowanie pilotów IR za pomocą odbiornika podczerwieni (Radio Shack je miał, teraz digikey lub mouser lub sparkfun), bit banging rs232, i2c, spi, dallas one wire (dallas semi jest teraz maksymalne). x10 itp., jeśli jest miejsce dla hobbystów / hakerów, w których można spędzać czas, lutować i używać oscyloskopu, który byłby naprawdę przydatny. Nauka czytania protokołów takich jak te i debugowania logiki / oprogramowania za pomocą zakresu jest bardzo przydatna (nie używaj pakietu oprogramowania, który pozwala oscyloskopowi dekodować go za Ciebie, naucz się tego w staroświecki sposób).

Nauka programowania różnych urządzeń peryferyjnych w różnych mikrokontrolerach (timery, pwm itd.) jest bardzo pouczająca. wyświetlacze lcd i oled itp. (stellaris lub arduino są do tego dobre).

mbed nie jest złą platformą, poza bolesnymi niebieskimi diodami.

krata ma brevia za niewielkie pieniądze, a mico8, jak sądzę, będzie tam pasować i jest w formie źródłowej, więc możesz to zasymulować. Narzędzia kratowe nie są tak złe jak inne. Więc możesz dostać mały mikrokontroler, logikę i elektronikę, jeśli o to ci chodzi.

Głównym problemem związanym z Arduino i starterami ST lxpresso i innymi jest silna chęć trzymania cię w piaskownicy. Arduino jest łatwe do wymazania i przeprogramowania oraz przejęcia płyty i porzucenia piaskownicy, pozostałe dwa nie. nie kupuj ich. To, co może pomóc lub zaszkodzić temu, co próbujesz zrobić, polega na zawinięciu wszystkich „twardych” rzeczy w pakiet lub interfejs API lub cokolwiek, co w zasadzie przed tobą ukrywa. A jeśli jesteś zainteresowany nauczeniem się tego protokołu (spi, i2c itp.) Lub jak poruszać sygnałami na lcd, aby działał, lub pwm silnik w łatwy lub trudny sposób. Możesz nie chcieć być przywiązanym do piaskownicy. Jednocześnie korzystając z piaskownicy Arduino, nie musisz zbytnio zajmować się programowaniem i możesz spędzać więcej czasu na podłączaniu elektroniki do płytki i debugowaniu lub graniu z tymi obwodami, nie martwiąc się o samo Arduino.

Są miejsca, które sprzedają 2 lub 3 płyty PC za 50 $ i używają orła. Myślę, że jest to oprogramowanie do projektowania, które można pobrać i używać za darmo. Prawdopodobnie warto pobrać i spróbować wykonać kilka układów, nawet jeśli nie jesteś gotowy na zakup jakichkolwiek tablic lub nawet masz pomysł na coś, co chcesz zbudować.

To prawda, że ​​nadal możesz mieć budżet uczelniany i rozumiem to, ale powiedziałbym, że wypróbuj tyle różnych platform, na których możesz zdobyć. Prawdopodobnie masz teraz więcej czasu niż pieniędzy, więc z pewnością możesz skorzystać z bezpłatnego oprogramowania, które symuluje wiele z tych rzeczy, a także możesz przeszukać arkusze danych i schematy oraz narzędzia programowe i sprzętowe dla różnych płyt, zanim pociągniesz za spust, aby kupić.

Prawdziwa edukacja, którą musisz tutaj wiedzieć, to czytanie arkuszy danych i schematów. I nie chcesz czytać tylko arkuszy danych jednego dostawcy, niektóre są dobre, inne okropne, aw prawdziwym świecie, wykonując prawdziwą pracę w tej dziedzinie, musisz radzić sobie z dobrem i złem. Inne umiejętności to lutowanie i używanie oscyloskopu, lutowanie, na które cię stać (no dobra żelazko, prawdopodobnie jeszcze nie teraz), luneta, taka, której naprawdę używałbyś w pracy, niedrogie. Kiedy dostaniesz tę pierwszą pracę, uzyskaj jak najwięcej czasu. Zobacz, jak używają go inni inżynierowie, ponieważ wszyscy mają własny sposób poruszania się po menu i funkcjach. Debugowanie ma kluczowe znaczenie dla Twojej kariery. Jeśli skłaniasz się ku logice, poświęć kilka godzin na narzędzia Xilinx i Altera, a także inne, o których wspomniałem, i poczuj się naprawdę komfortowo patrząc na przebiegi w modelachim lub gtkwave. Wszystkie narzędzia płatne są okropne, najgorsze oprogramowanie, jakie można sobie wyobrazić, iz jakiegoś powodu kosztują dziesiątki tysięcy. (a oprogramowanie pogarsza się z każdym rokiem / wersją). Ale ten ból jest kluczem do ścieżki kariery, „poznaj swoje narzędzia”.

Przepraszam, ale: TL; DR.
Kellenjb
2011-03-30 02:18:59 UTC
view on stackexchange narkive permalink

Każdy mikrokontroler ma swoją sferę, w której naprawdę może dobrze się rozwijać. Na przykład MSP430 jest bardzo dobry dla małej mocy. Jeśli naprawdę chcesz przygotować się na całą branżę, musisz nauczyć się wszystkiego, co możesz dostać w swoje ręce, więc kiedy znajdziesz się w sytuacji, na którą się natkniesz, znasz najlepszy mikrokontroler do użycia.

Ardunios to nie mikrokontrolery, w zasadzie są płytkami rozwojowymi zbudowanymi wokół Atmel AVR jako ich mikrokontrolera. Ardunios są bardzo zorientowane na hobbystów, co nie jest złe na początku, ale będziesz musiał dowiedzieć się więcej o Atmelach, które są używane, jeśli chcesz zrobić cokolwiek z nimi w przemyśle.

A jeśli masz konkretne zadanie, którym chciałbyś się zająć, stwórz nowe pytanie określające, co chcesz zrobić, a my pomożemy Ci określić, czego potrzebujesz szukać w najlepszym mikrokontrolerze.
+1 dla Atmel AVR. Są używane do nauczania na wielu uniwersytetach.
@Polemon, podobnie jak PIC i MSP430.
@Kellenjb Nie wiem o PIC i MSP430 na uniwersytetach. Mój używał amplitunerów Atmel bez płytki prototypowej, tylko płytki prototypowe. Używam MSP430 w domu, żeby się nim bawić. Nigdy jednak nie korzystałem z PIC.
@Polemon Mówię, że są używane. Uczyłem na uniwersytecie, którego rdzeniem były PIC i pracowałem nad materiałami szkoleniowymi dla MSP430
@Kellenjb: ¯\\(°_o)/¯
@polemon - Doskonały komentarz. Będę musiał o tym pamiętać.
some.hacker
2011-03-30 02:29:25 UTC
view on stackexchange narkive permalink

Programowałem na Atmel, PIT, microchip i TI i osobiście najbardziej lubię IDE TI. Włożyli wiele wysiłku, aby ich mikrokontrolery były jak najłatwiejsze w obsłudze. Nie wspominając o ich dokumentacji i samouczkach są znacznie powyżej norm. Spróbuj zdobyć zestaw deweloperski MSP430. To mikrokontroler z przyzwoitą ilością pamięci i mocy obliczeniowej, ma wielokanałowe przetworniki A / D i D / A, a nawet jest wyposażony w wbudowany transceiver 2,4 GHz do eksperymentowania z sieciami bezprzewodowymi. Zestaw deweloperski zawiera 2 moduły MSP430, programator USB i akumulator, a kosztuje mniej niż 100 USD.

Będę musiał to sprawdzić!
Toby Jaffey
2011-03-30 02:31:18 UTC
view on stackexchange narkive permalink

Powinieneś użyć odpowiedniego mikrokontrolera / mikroprocesora do danego zadania.

Wybierz projekt, a następnie wybierz procesor.

Leon Heller
2011-03-30 02:20:04 UTC
view on stackexchange narkive permalink

Firma Microchip jest liderem na rynku 8-bitowych mikrokontrolerów, więc nie pomylisz się, jeśli się na nich nauczysz. Urządzenia ARM Cortex zastępują urządzenia 16-bitowe i 8-bitowe w wielu aplikacjach, więc ich znajomość również się przyda.

russ_hensel
2011-03-30 21:02:55 UTC
view on stackexchange narkive permalink

Zdecydowanie argumentowałbym, że powinieneś zacząć swoje doświadczenie w C, a nie w Assemblerze. Ma wiele zalet, między innymi to, że znacznie łatwiej jest przenieść swoje doświadczenie na nowy procesor. Jeśli wybierzesz Asemblera, powinieneś mieć dobry powód, by wziąć na siebie dodatkowy ból (w niektórych przypadkach może to być rozsądne).

Powinieneś być w stanie zdobyć darmowe narzędzia programowe, aby rozpocząć, jeśli nie przejść do innego procesora. Trudno jest zrozumieć, jak można pomylić się, zaczynając od Arduino i wykorzystując to doświadczenie do rozważenia innych środowisk.

terrace
2011-03-30 21:51:30 UTC
view on stackexchange narkive permalink

Zalecałbym rozpoczęcie pracy z Arduino, wykonanie kilku projektów, a następnie nauczenie się programowania AVR ATMega. Dwa powody, dla których warto korzystać z AVR to:

  1. ogromna sieć pomocy online pomiędzy AVR Freaks, Arduino Fora, SparkFun i Adafruit
  2. Darmowy łańcuch narzędzi open source PIC AFAIK)

Dobrym urządzeniem do zdobycia jest Bus Pirate, który działa jako programista ISP dla układów AVR + robi wiele innych rzeczy: http://dangerousprototypes.com / bus-pirate-manual /

Pierwszym świetnym projektem jest zbudowanie tablicy LED. Zacznij od prototypu Arduino, a następnie zrób to ponownie za pomocą układu AVR ATtiny (dostępnych jest wiele samouczków).

Phil Frost
2013-01-10 01:19:36 UTC
view on stackexchange narkive permalink

Jeśli potrzebujesz czegoś dobrze obsługiwanego przez darmowe (jak w przypadku wolności) narzędzia, linia AVR firmy Atmel jest prawdopodobnie najlepszym rozwiązaniem. Działające środowisko programistyczne jest zawarte w każdej większej dystrybucji Linuksa, pakiety Mac OS są łatwo dostępne i założę się, że pakiety Windows też są.

Radziłbym trzymać się z daleka od Arduino. To platforma zaprojektowana z myślą o amatorach programistów komputerowych, którzy chcą sprawić, by diody LED migały, a nie początkujących inżynierach. Biblioteki oprogramowania i narzędzia programistyczne uchronią Cię przed uczeniem się czegokolwiek (z wyjątkiem tego, jak uzyskać JVM działającą w systemie Linux ... baw się dobrze!) I prawdopodobnie nauczą Cię przy tym złych nawyków. Jest też bardzo drogi. To niewiele więcej niż AVR z obwodem referencyjnym w arkuszu danych, programatorem USB podłączonym na stałe i parą nagłówków dla modułów „ekranowych”, które z jakiegoś powodu nie są zamontowane w odstępach 100 mil, więc nie można się połączyć to do deski prototypowej. Oczywiście istnieje tarcza do krojenia chleba, którą można kupić, i jest droga. Kup sobie programator USB AVR wielokrotnego użytku w cenie Arduino i zamiast tego kup 1 USD ATMega.

Johan
2011-03-30 02:23:10 UTC
view on stackexchange narkive permalink

Wybierz wspólny mikrokontroler i użyj go w projekcie.

Na tym forum jest dużo na ten temat, myślę, że poleciłbym avr: s.

  • pic
  • avr
  • ramię
John U
2013-01-09 23:01:33 UTC
view on stackexchange narkive permalink

Jeśli chcesz dowiedzieć się czegoś użytecznego komercyjnie, nie zawracałbym sobie głowy Arduino ani nawet PIC (chociaż PIC pojawia się w przypadku prostych zadań w urządzeniach komercyjnych). Świat w dzisiejszych czasach działa na ARM, wszystko od pilota telewizora po smartfon.

Cokolwiek robisz, zacząłbym od czegoś, co możesz kodować w C - tak, są inne języki, ale C jest wciąż popularnym na całym świecie & pomoże Ci w tym.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 2.0, w ramach której jest rozpowszechniana.
Loading...