Jak wybrać platformę MCU? [Zamknięte]

43

Istnieje wiele platform MCU, a gdy ktoś się przyzwyczai, na ogół niechętnie przechodzi na inną platformę.

Moje pytanie brzmi: jeśli ktoś zacząłby dzisiaj używać MCU do zadań ogólnego przeznaczenia, jak mógłbyś wybrać jeden? Jakie są unikalne zalety różnych platform?

ARF
źródło
2
Daj nam znać, jakie projekty i tomy masz na myśli, a to pomoże nam odpowiedzieć na pytanie.
Rocketmagnet,
3
Ogólny cel jest o wiele za szeroki. Nie ma sensu używać tego samego komputera do flashowania rowerowej diody LED i RTOS z kolorowym dotykowym ekranem LCD o wysokiej rozdzielczości.
Wouter van Ooijen
1
Tak, idealnie byłoby mieć kilka układów, które znasz na różne problemy z rozmiarem - i bądź gotowy, aby wybrać nowy, jeśli jest on wyjątkowo odpowiedni do zadania.
Chris Stratton,
2
@WoutervanOoijen Pomysł z tym pytaniem był następujący: istnieje wiele zadań, z którymi każda platforma może sobie łatwo poradzić (tj. Zadania ogólnego przeznaczenia). Można wtedy wybierać między platformami. W tym przypadku dominują „czynniki miękkie”, np. Łatwość użycia, liczba komponentów zewnętrznych itp. - Chciałem dowiedzieć się, co różne platformy robią dobrze / słabo w porównaniu do innych.
ARF,
7
RELIGIA
vicatcu

Odpowiedzi:

30

Rok później wygłosiłem wykład na temat wybierania mikrokontrolerów (zajęło to około 1,5 godziny). Publiczność stanowili programiści i twórcy oprogramowania na wysokim poziomie. Większość publiczności nie miała wcześniejszego doświadczenia μC, reszta grała tylko z Arduino. Liczba osób na widowni wynosiła około 30 osób. Była to więc multiemisja, w przeciwieństwie do kliniki jeden na jednego.

Kluczowym slajdem rozmowy było:

Wymiary

do porównywania mikrokontrolerów. Lista jest w kolejności malejącej.

  • Środowisko programistyczne (łańcuch narzędzi)
    • Środowisko programistyczne
    • Czy wspomniałem o środowisku programistycznym?
  • Wsparcie
    • Noty aplikacyjne
    • Wsparcie wzajemne: wiedza plemienna, przyjaciele, fora, kody [sic]
  • cechy
    • Pamięć
    • Urządzenia peryferyjne
    • Sprawność obliczeniowa
  • Pobór energii
  • Koszt

ps

Powinienem określić zakres, do którego ta moja odpowiedź jest ograniczona. Widzę to pytanie o wybór platformy przez dwa rodzaje soczewek. Pierwszy to prototyp. Drugi to producent profesjonalnego sprzętu o cenach ulicznych rzędu 3 tys. USD i ilościach w setkach rocznie. Obiektyw hobbystyczny też nie jest daleko. W takich przypadkach koszt przyrostowy mikrokontrolera jest niewielki, w porównaniu do kosztu opracowania lub kosztu profesjonalnego sprzętu, w który wchodzi mikrokontroler.

Istnieje oczywiście zupełnie inna perspektywa produkcji masowej. Gdy ktoś wybierze mikrokontroler do taniego urządzenia, które będzie produkowane w dużych ilościach (dobrym przykładem są zabawki z głównego nurtu), będą napędzane kosztami sprzętu. Skromna oszczędność kosztów sprzętu pomnożona przez dużą wielkość produkcji (w setkach tysięcy lub więcej) może uzasadnić ból związany z używaniem nieporęcznego środowiska programistycznego i okazyjnego mikrokontrolera z przeciętnym wsparciem.

Nick Alexeev
źródło
Skupiasz się na środowisku programistycznym. Dla mnie to ma sens. Jakie były twoje wnioski?
ARF,
@ArikRaffaelFunke Cóż, te kule w moim poście powyżej są wnioskami. Nie dość rozstrzygające? Moim celem rozmowy było: (1) Zapewnienie minimalnej listy pytań, które należy zadać podczas procesu selekcji. (2) Pokaż, gdzie i jak szukać odpowiedzi. W szczególności unikałem wyciągania twardych wniosków: rodzina X jest dobra, jeśli ..., rodzina Y jest dobra, jeśli ...
Nick Alexeev
1
W przypadku małych ilości i typowych wymagań tak. Ale czasami musisz wybrać najlepszą technologię. Lub jeśli wielkość jest ogromna, dość znaczny ból głowy w rozwoju może być uzasadniony, jeśli pozwala zaoszczędzić kilka centów za widżet - w tym mieć rozwiązania oparte na konkurencyjnych częściach przetestowane i gotowe do przejścia.
Chris Stratton,
1
@ChrisStratton Zużycie energii to kolejna rzecz [oprócz efektów związanych z dużą produkcją], która czasem może uzasadniać ból głowy. Niewiele można zrobić, jeśli chce bardzo niskiego poboru mocy, a uC (który wybrał) nie może tego obsłużyć.
Nick Alexeev
9
Koncentracja na środowisku programistycznym jest absolutnie słuszna. Możesz mieć najlepszy chip na świecie, ale jeśli nie możesz programować i debugować tego cholerstwa, równie dobrze może to być cegła. Słyszałem dobre rzeczy o NXP, ale nie mam bezpośredniego doświadczenia. Myślałem, że Freescale jest kiepski, ale potem spróbowałem TI (MSP, a następnie DM36x), a teraz Freescale są błyszczącymi latarkami blasku w moich oczach. Najlepszą radą przy każdym środowisku dev: Budowa / zainstalować go na maszynie wirtualnej i zachować kopię zapasową nim w pełni stanu pracy, więc nie pęknie podczas przenoszenia komputerów / aktualizacji OS itp ...
John U
25

Ponieważ to pytanie nie dało całkiem oczekiwanego porównania platform, sam próbowałem go stworzyć, studiując literaturę, a także inne odpowiedzi. Może to może pomóc komuś innemu w przyszłości.

Daj mi znać, jeśli są jakieś błędy lub są informacje, które mogę dodać.


Porównanie platform

Uwagi dotyczące porównania:

  • IDE: komentarze dotyczą wersji darmowej

FOTKA:

  • zdecydowanie najtańsze żetony klasy podstawowej
  • wiele z nich ma wewnętrzne regulatory napięcia
  • w danej cenie zazwyczaj mają więcej i lepsze urządzenia peryferyjne
  • quasi standard branżowy: bardzo dobra obsługa bibliotek i programistów
  • IDE: wyjątkowy, oparty na NetBeans, łącznie z pełną symulacją offline i debugowaniem
  • debuggery innych firm: około 25 USD
  • bardzo szeroka gama pakietów
  • unikalne zalety sprzedaży: 1. XLP = dostępne dodatkowe urządzenia o niskiej mocy; 2. wiele nowoczesnych układów ma moduł wykrywania pojemnościowego przycisków dotykowych itp.

AVR:

  • AVR ogólnie pozostaje w tyle za rejestrowaniem urządzeń peryferyjnych i jest nieco droższy. Ogólnie jednak AVR jest bardzo podobny do PIC pod względem funkcjonalności i ceny.
  • 8-bitowe układy AVR są szybsze niż 8-bitowe układy PIC
  • emulatory innych firm: około 20 USD
  • bardzo szeroka gama pakietów

Ramię Cortex-M:

  • nowoczesna architektura procesorów: brak bankowości pamięci, dobra wielozadaniowość
  • zdecydowanie najtańsze urządzenia 32-bitowe
  • dość łatwe przenoszenie między różnymi układami scalonymi i różnymi producentami
  • urządzenia zazwyczaj wymagają więcej komponentów zewnętrznych niż PIC
  • bardzo tanie urządzenia USB z bootloaderem ROM: NXP LPC1342 / LPC1343
  • rozsądne wsparcie biblioteki
  • IDE: rozsądna, brak symulacji offline
  • Interfejs SWD umożliwia programowanie, debugowanie i śledzenie w systemie za pomocą łatwego do zbudowania sprzętu (
  • niedrogie układy NXP są dostępne tylko w małych pakietach lub bez pinów
  • punkty sprzedaży: 1. najtańsza platforma 32bit; 2. najtańsza platforma z bootloaderem USB ROM

PSoc: (od odpowiedzi Rocketmagnet )

  • król, jeśli chodzi o analogowe urządzenia peryferyjne: dany układ można ponownie skonfigurować wewnętrznie, aby zapewnić różne analogowe i cyfrowe urządzenia peryferyjne
  • znacznie droższe niż PIC
  • IDE: doskonale
  • Programator 88 USD (czy pozwala na debugowanie?)
  • tylko pakiety SMD

Śmigło: (z odpowiedzi Rocketmagnet)

  • wielordzeniowy MCU: różne rdzenie mogą symulować różne zadania
  • eliminuje / zmniejsza (?) potrzebę tradycyjnych przerwań
  • kilka sprzętowych urządzeń peryferyjnych, które muszą być wyraźnie zakodowane, aby działały na jednym z rdzeni, zapewnia niesamowitą elastyczność
  • słaby, jeśli chodzi o analogowe urządzenia peryferyjne
  • IDE: doskonale
  • Dostępny pakiet DIP

Porównanie według aplikacji

USB:

„Legenda” dla poniższej listy:

  • bootloader = zaprogramowany bootloader USB
  • regulator napięcia = może być zasilany z magistrali bez zewnętrznego regulatora
  • pullups = nie ma potrzeby zewnętrznego pullupu
  • dopasowanie impedancji = brak potrzeby stosowania zewnętrznych rezystorów dopasowujących
  • precyzyjny oscylator = brak potrzeby zewnętrznego kryształu

Właściwości najtańszego urządzenia: (w przybliżeniu rzędu ceny)

  • PIC: 8bit, niska i pełna prędkość, regulator napięcia, podciągnięcia, dopasowanie impedancji, ochrona przed wyładowaniami elektrostatycznymi
  • NXP: 32-bitowy, bootloader, tylko pełna prędkość, ochrona przed wyładowaniami elektrostatycznymi
  • Freescale: 8 bitów, tylko przy niskiej prędkości, regulator napięcia, dopasowanie impedancji, ochrona przed wyładowaniami elektrostatycznymi
  • Atmel: 8bit, bootloader, tylko pełna prędkość, regulator napięcia, pullup, ochrona przed wyładowaniami elektrostatycznymi
  • STM: 32-bitowy, bootloader, tylko pełna prędkość, pullup, dopasowanie impedancji, ochrona przed wyładowaniami elektrostatycznymi
  • Silicon Laboratories: 8bit, niska i pełna prędkość, regulator napięcia, podciągnięcia, dopasowanie impedancji, precyzyjny oscylator
  • TI: 32-bitowy, bootloader, niska i pełna prędkość, inne właściwości nieznane
  • PSoc: konfigurowalny jako moduł, inne właściwości nieznane
  • Śmigło: 32-bitowe, tylko bitbanging

Ethernet:

  • PIC: najtańsze urządzenie ze zintegrowanym PHY
ARF
źródło
1
Kilka uwag tutaj: Śmigło w ogóle nie ma przerw i nie ma wsparcia dla debugowania w oficjalnym IDE. Zamiast tego preferowanym mechanizmem debugowania wydaje się być podłączenie urządzenia do telewizora i użycie dostarczonej biblioteki wyświetlającej zmienne na ekranie. Nie ma też uzupełniania kodu, żadnego symulatora, integracji z systemami zarządzania kodem, nietypowej implementacji obejmuje ... Poza tym, o ile mi wiadomo, nie ma sprzętowych urządzeń peryferyjnych oprócz dwóch liczników na rdzeń.
AndrejaKo,
2
Uwaga na temat śmigła - NIE ma żadnych przerwań. W ogóle . Jeśli potrzebujesz czegoś, co przypomina tradycyjne przerwanie, rozkręcasz dodatkowy rdzeń procesora i każesz mu czekać.
Connor Wolf,
4
Taka lista jest prawie nieuchronnie bezcelowa i nieaktualna. Wszyscy producenci cały czas ze sobą konkurują i większość stara się oferować coś w każdej kategorii - przeprowadzasz ankietę, gdy potrzebujesz, wybierasz rozwiązanie, a jeśli to działa, biegasz z nim, dopóki nie potrzebujesz dla których istnieje lepsze rozwiązanie.
Chris Stratton,
2
Jeśli chodzi o to, co warto, możesz również dołączyć tutaj linię MSP430 ze względu na jej wyjątkowo niskie zużycie energii
boardbite
2
„Systemy wbudowane / szczególne mikroprocesory” zawierają podobne informacje na temat wyboru procesora, które podobnie można edytować, aby (miejmy nadzieję) zachować aktualność i względnie neutralność.
davidcary
7

Twój wybór MCU zależy w dużej mierze od rodzaju projektów, nad którymi będziesz pracować. Czy produkujesz bardzo tanie, super tanie i proste urządzenia, takie jak migające światła rowerów? Czy opracowujesz złożone prototypowe roboty, które mają do czynienia z wieloma dziwacznymi urządzeniami IO i czujnikami?

Przeważnie pracuję nad tym drugim. Głównym problemem jest dla mnie próba znalezienia mikrokontrolerów, które mają zestaw peryferyjny, który chcę. Jest to bardzo trudne, ponieważ nasze wymagania nie wydają się być głównym nurtem. Chcemy takich rzeczy, jak 5 kanałów PWM, 5 dekoderów kwadraturowych, 2 niestandardowe porty SPI i UART z zanegowanym We / Wy.

Jedyne MCU, które widziałem i które z łatwością radzą sobie z tego rodzaju wymaganiami, to PSoC i śmigło.

Chipy śmigła

Śmigło to w zasadzie osiem 32-bitowych MCU w jednym układzie. Jeśli chcesz mieć jakieś urządzenie peryferyjne, po prostu zaprogramuj jeden z MCU, aby wykonywał to zadanie. Możesz mieć wszystko, co chcesz.

PSoC

PSoC występują w dwóch wersjach: 3 i 5. 3 to rdzeń 8051, a 5 to kora ARM M3. W układzie znajdują się również rekonfigurowalne bloki cyfrowe i analogowe, które można przekształcić w szeroką gamę urządzeń peryferyjnych: ADC, filtry, wzmacniacze operacyjne, DAC, SPI, UART, dekoder kwadraturowy, generator CRC itp.

Środowisko programistyczne jest fantastyczne. Masz zwykłą edycję kodu źródłowego typowego IDE, ale masz również edytor schematów. Możesz dosłownie podłączyć dowolny obwód cyfrowy, który chcesz, łącząc urządzenia peryferyjne z bramkami, klapkami itp. Potrzebujesz 5 PWM? Łatwo, po prostu włóż je do schematu, połącz je i gotowe. Możesz nawet pisać własne urządzenia peryferyjne w Verilog, jeśli chcesz czegoś, czego nie ma. Wiele aplikacji można po prostu zaimplementować na tego rodzaju sprzęcie.

Prawdziwą korzyścią jest to, że możesz trzymać się jednego chipa, wiedząc, że poradzi sobie on z wieloma projektami, które będziesz chciał wykonać w przyszłości. To, co mnie denerwowało w przypadku PIC, to ciągłe przeszukiwanie przez dziesiątki urządzeń szukających tego, które miało konkretny zestaw urządzeń peryferyjnych, których potrzebowałem. Teraz nie mam tego problemu.

Rocketmagnet
źródło
Śmigło to ciekawa koncepcja. Muszę o tym trochę pomyśleć. Jeśli chodzi o PSoC: rozważałem je w przeszłości ze względu na niewiarygodną elastyczność, ale potrzeba programisty o wartości 250 USD sprawiła, że ​​był to dla mnie prawie niezastartowany.
ARF,
@ArikRaffaelFunke - programista ma tylko 88 USD , czyli mniej niż połowę ceny ICD3 .
Rocketmagnet,
@ArikRaffaelFunke - kolejnym zagadnieniem jest opakowanie. Jeśli planujesz zbudować własne prototypy, o wiele łatwiej jest pracować z pakietami DIP. Większość PIC i ATmel AVR są dostarczane w DIP, podobnie jak śmigło. PSoC 3 i 5 nie.
tcrosley,
3
schmartboard ma łatwe w użyciu rozwiązanie smt to dip: youtube.com/watch?v=-32orELxkpE
hulkingtickets
1
@ quantum231: Rozważyłem to, ale: 1) FPGA wydawały się generalnie większe i droższe niż mikrokontrolery (a roboty często desperacko brakuje miejsca). I 2) Nie mam dużego doświadczenia z układami FPGA i zawsze trudno jest nauczyć się zupełnie innego zestawu narzędzi i sposobu myślenia tylko w przypadku drobnych zastosowań.
Rocketmagnet
3

Korzystanie z więcej niż jednej platformy jest w porządku. Wybór najlepszego dla każdego zadania, a także dostępność kodu i przykładów związanych z zadaniem.

Większość z nich ma dobre narzędzia programistyczne, arduino ma studio wizualne, pic ma świetne narzędzie, podobnie jak inni. Więc dla mnie jest to, jak szybko i łatwo mogę dobrze wykonać pracę, + ile osób open source pracuje nad tym samym?

Visual Micro
źródło
Ale w jaki sposób można znaleźć takie informacje, nie wprowadzając w błąd bałaganu marketingowego. Chodzi mi o to, że musimy znaleźć osoby, które korzystały ze sprzętu i zestawu narzędzi, aby uzyskać wszystkie te informacje. Jak znaleźć takie społeczności w swojej pracy? A może polegasz na tym, co mówi inżynier aplikacji?
quantum231,
Możesz zadawać pytania na różnych forach, takich jak to. Wyjaśnij swoją aplikację i poproś o pomoc
Visual Micro
2

Mikrokontrolery to szybko zmieniający się świat, istnieje wiele zalet uczenia się na temat aktualnych układów „in”, a najpopularniejszym IDE jest uzyskiwanie pomocy od społeczności. Jako osoba PIC powiedziałbym, że Aduino prawdopodobnie ma obecnie najlepsze IDE i płyty programistyczne dla początkujących i możesz wiele dodać do podstawowej tablicy aduino bez dotykania lutownicy.

Każdy, kto używa aduino do prawdziwych rzeczy, może wkrótce chcieć przejść dalej, ale do tego czasu nauczysz się dużo podstawowej cyfrowej elektroniki i dobrego podzbioru C, aby łatwo użyć czegoś bardziej odpowiedniego.

Jak ktoś wspomniał, że wybierasz układ do swojego projektu, widziałem kilka projektów wykorzystujących układy ARM jako proste czujniki temperatury lub konwertery AD, tak samo jak widziałem, jak aduino i PIC 16 zostały wykorzystane do generowania gry Space Invaders, FPGA są bardzo dobre i dobrze jest zrozumieć HDL, jeśli poważnie zajmujesz się projektowaniem elektroniki. ale niestety nie ma wielu projektów w realnym świecie, w których będziesz musiał użyć jednego z większości zadań, to niewielka ilość, szybki projekt i ograniczona cena oraz to tutaj króluje 8-bitowy uC

boz
źródło
Rozumiem, jakie są ograniczenia Arduino, że dana osoba spowodowałaby, że ktoś przekroczyłby te granice? Czy ARM ma większą moc obliczeniową niż PIC i Arduino, czy ma urządzenia peryferyjne nieobecne w PIC i Arduino, czy też jego zestaw narzędzi jest lepszy niż w przypadku PIC i Arduino? Dlaczego tak dużo hałasu na temat układów opartych na ARM. Wiem, że mają bardzo niski pobór mocy, ale dlaczego miałoby wybrać ARM do „poważnych” projektów?
quantum231
1

Ponieważ wiele z opublikowanych odpowiedzi koncentruje się na użyciu hobbystów, oto różne rekomendacje skierowane tylko do profesjonalnych programistów.

Nagie minimalne wymagania
Jeśli MCU nie spełnia wszystkich z nich, nie należy go używać.

  • Był w produkcji przez co najmniej 1 rok.
  • Krzemowa errata jest dostępna i została co najmniej raz poprawiona.
  • Wewnętrzny organ nadzorczy.
  • Wewnętrzne wykrywanie niskiego napięcia / zaniku zasilania.
  • Wbudowana pamięć flash.
  • Ochrona przed wyładowaniami elektrostatycznymi.
  • JTAG / SWD lub interfejs jednoprzewodowy do debugowania.
  • Rdzeń wykorzystuje 8 bajtów i sygnaturę uzupełnienia 2.
  • Próbki i tablice ewaluacyjne są łatwo dostępne.
  • Ma elastyczne wsparcie techniczne bezpośrednio od producenta.

Znaki ostrzegawcze - sprzęt MCU
Są to rzeczy, z którymi nie powinieneś tracić czasu w roku 2019.

  • Niewyraźne tryby adresowania, które musi obsłużyć programista. W tym użycie niejasnych, niestandardowych słów kluczowych w celu uzyskania dostępu do danych ROM.
  • Poważne ograniczenia pamięci lub głębokości stosu.
  • 16 bitów int, co z kolei zawiera wszystkie ukryte niebezpieczeństwa związane z promocjami liczb całkowitych w języku C.
  • Nie można wykonać arytmetyki 16 lub 32 bitów bez rozpoczęcia wrzenia.
  • Nie pułapkuje, jeśli wykonasz kod w sekcjach danych.
  • Brak bufora śledzenia instrukcji.
  • W zestawie z egzotycznymi urządzeniami peryferyjnymi, do których nie masz zastosowania.

Znaki ostrzegawcze - łańcuch narzędzi

  • Polega na symulatorach programowych na PC lub innym programie ładującym, zamiast flashowania całego MCU i wykonywania / debugowania na chipie.
  • Nie zawiera gotowych sterowników / przykładów / bibliotek napisanych przez profesjonalistów. Polega na tym, że deweloperzy wymyślają na nowo koło lub fora internetowe / open source.
  • CRT dla kompilatora C nie spełnia wymienionych tutaj wymagań .
  • Kompilator C zawiera długą listę standardowych funkcji C, które nie są obsługiwane.
  • Kompilator C nadal nie obsługuje C11 (niezależnie od tego, czy zamierzasz go używać, czy nie).
  • IDE wyrzuca na ciebie wiele dziwnych błędów linkera przy pierwszej próbie programu „hello world”.
  • Napotkanie wielu błędów IDE lub kompilatora podczas pierwszych tygodni użytkowania.
Lundin
źródło
To jest zbyt dogmatyczne. Całkowicie pominąłeś koszty, opcje pakowania, (open source! = Nieprofesjonalny), jakość urządzeń peryferyjnych itp. Ogólnie nie zgadzam się z większością tego, ale takie rzeczy jak „ograniczenia stosu [...] po prostu” oznacza, że ​​musisz znać kompromis, który doprowadził do tych ograniczeń.
awjlogan
@awjlogan Koszty i opcje pakowania są bardzo specyficzne dla projektu, więc nie ma sensu się tutaj poruszać. Nie powiedziałem, że open source jest nieprofesjonalny, ale firma, która zleca swój łańcuch narzędzi do open source, a ich wsparcie dla stron takich jak SO nie jest profesjonalne. Chociaż projekty open source ze zbyt małą liczbą współpracowników również nie są profesjonalne, jak widać z portami kompilatora open source do różnych egzotycznych MCU. Nie powinno być żadnych powodów, aby wybrać MCU z ograniczonym stosem w roku 2019.
Lundin
Jasne, są one specyficzne dla projektu, ale od razu zwiększyłeś swój koszt bazowy, podając 16/32 bit tylko na liście (szybki skan Digikey), a ostatnio nie widziałem 6-pinowego M0. Jeśli czegoś nie potrzebujesz (w tym czasu), nie wydawaj na to dodatkowych pieniędzy, takie decyzje powinieneś podjąć jako profesjonalista. Ale tak, dobre oprzyrządowanie jest tak istotne, że nie mogę się zgodzić.
awjlogan
@awjlogan LPC81X istnieje już od ponad 5 lat. Niedawno dowiedziałem się o Cypress PSoC4, który wygląda interesująco. I tak dalej. Liczba pinów często nie jest argumentem, tylko rozmiar i typ opakowania. Jeśli możesz tolerować QFN lub BGA, możesz uzyskać bardzo małe żetony.
Lundin
zgodzili się, że twoje wybory są wąskie przy niewielkich rozmiarach (takie same dla każdej architektury). Chodzi mi o to, że chociaż wszystkie rzeczy na twojej liście są pożądane, powinieneś także mieć wystarczającą wiedzę, aby wiedzieć, kiedy je złamać.
awjlogan
0

Jeśli wybierasz się do zadań ogólnego przeznaczenia, które mogą mieć przetwarzanie analogowe i cyfrowe, wolałbym PSoC ze względu na IDE, debugger i wiele innych rzeczy, które możesz z nimi zrobić.

Używałem PSoC3 na studiach do moich projektów i jest dość prosty do opanowania. Jedyną rzeczą jest, jeśli potrzebujesz wydajnych układów, nadal będziesz musiał je zdobyć osobno. Ma wystarczająco dobre porty. Więc jeśli szukasz wydajnych układów wraz z zestawem programistycznym, lepiej wybierz osobne komponenty.

ganesh737
źródło
1
Może warto dodać nieco więcej informacji na temat PSoC, aby było to bardziej przydatne, kilka innych odpowiedzi już to obejmuje.
PeterJ
@PeterJ: Chciałem podać to jako komentarz do odpowiedzi Rocketmagnet, ale nie mam reputacji, aby komentować.
ganesh737
Czy istnieje powód, dla którego nie zdecydowałeś się na projektowanie oparte na softcore, takie jak użycie Nios II na Altera FPGA lub mikroplamienie / picoblaze na Xilinx FPGA? Można ich użyć, aby uzyskać taki sam efekt jak PSoC, i twierdzę, że pod wieloma względami jest to lepszy wybór.
quantum231,
1
@ quantum231: Zgodziłbym się z tym, ale głównym ograniczeniem dla mnie w tym czasie był budżet, który był dostępny bezpłatnie w naszym dziale elektroniki.
ganesh737