Dlaczego TI ma tak wiele mikrokontrolerów?

44

Pracuję nad projektem z grupą i jestem odpowiedzialny za cyfrową część projektu, więc będę pisać kod. Aby przejść z analogowego na cyfrowy, muszę wybrać mikrokontroler.

Patrzyłem na mikrokontrolery TI i stwierdziłem, że ma ich tak wiele. Oni mają:

  • Stellaris

  • Hercules

  • Seria MSP430

  • A lista jest długa ...

Moje pytania:

  • Jakiego mikrokontrolera używa się i dlaczego?

  • W jakich warunkach powinienem używać mikrokontrolera X zamiast Y?

  • Dlaczego jest tak wiele różnych mikrokontrolerów?

Andy_A̷n̷d̷y̷
źródło
5
Ponieważ decydujesz o swoich wymaganiach, a następnie wyszukaj i znajdź taki, który pasuje do 90%, zamiast kupować taki, który może zrobić wszystko i 150% więcej za trzykrotnie wyższą cenę.
PlasmaHH
4
@PlasmaHH 90% nie jest dobrym wyborem :)
Eugene Sh.
39
Dlaczego jest tak wiele samochodów do wyboru, gdy chcę tylko dojeżdżać do pracy?
Wouter van Ooijen
9
Super-mega z grubsza: 1) MSP430: aplikacje o niskim poborze mocy i baterii; 2) C2000: sterowanie silnikiem i elektronika mocy; 3) Tiva (TM4C): procesory ARM ogólnego przeznaczenia; 4) Sitara: znacznie bardziej zaawansowany (kora A8, A9 i tak dalej), możesz na nim uruchomić Linuksa; 5) Hercules: aplikacje bezpieczeństwa. Istnieje również wiele procesorów DSP (C5000 i C6000). Ten link może być pomocny. Również TI ma wiele przewodników wybór odwołuje Nie używałem osobiście nawet 10% z nich, więc nie mogę powiedzieć więcej ...
Gattuso
9
Częścią odpowiedzi jest to, że TI kupiło wielu odnoszących sukcesy i częściowo odnoszących sukcesy producentów mikrokontrolerów oraz kontynuowało rozwój i produkcję tych linii.
DoxyLover

Odpowiedzi:

123

Jestem pracownikiem TI, który pracuje w grupie programistów MCU, ale nie jest to oficjalne oświadczenie TI. W szczególności nie jest to oficjalne oświadczenie dotyczące planów działania ani priorytetów. Poza tym nie zajmuję się marketingiem, więc jeśli zaprzeczam jakiemukolwiek z naszych materiałów marketingowych, mają rację i się mylę. :-)

Odpowiedź MD jest poprawna, ale pomyślałem, że przydałoby się trochę więcej szczegółów. TI jest ukierunkowane na różne aplikacje o różnych wymaganiach. Kiedy walczysz o gniazdo MCU (i jest duża konkurencja w tej branży), zarówno funkcje, jak i cena mają znaczenie. Dziesięć centów różnicy kosztów może wygrać lub stracić gniazdo. Jednym z głównych czynników napędzających koszt jest rozmiar matrycy - ile rzeczy jest na chipie. Dlatego sensowne jest posiadanie różnych linii produktów i różnych rodzin w obrębie tych linii produktów. Linie produktów różnią się głównie typami urządzeń peryferyjnych i architekturą, podczas gdy rodziny produktów linii różnią się głównie pod względem kosztów i zestawu funkcji.

Oto kilka szczegółów na temat linii produktów:

  • Hercules jest kontynuacją linii TMS470 / TMS570. Koncentruje się na bezpieczeństwie i wydajności. Jedną z kluczowych cech Hercules są dwa procesory działające równolegle z tym samym kodem („krok blokady”). Umożliwia to natychmiastowe wykrycie usterek samego procesora. Sprawdź ten arkusz danych, aby uzyskać informacje na temat wydajności nowego produktu. Procesor Cortex-R5F pracuje z częstotliwością> 300 MHz i istnieje wiele urządzeń peryferyjnych z zaawansowanymi funkcjami - moduły CAN mają na przykład 64 skrzynki pocztowe. Oczywiście te rzeczy nie są tanie. Ale spójrz na aplikacje - defibrylatory, wentylatory, windy, pompy insulinowe ... to miejsca, w których klienci są gotowi zapłacić za bezpieczeństwo. Hercules wprowadza również produkty motoryzacyjne o szerszym zakresie temperatur i dłuższej żywotności.
  • C2000 koncentruje się na wspieraniu algorytmów sterowania. „CPU” C28x to tak naprawdę procesor DSP, a jego zestaw instrukcji został rozszerzony o obsługę takich elementów, jak trygonometria i liczby zespolone. Istnieje również osobny procesor zadaniowy o nazwie Control Law Accelerator (CLA), który może uruchamiać algorytmy sterowania niezależnie od procesora. ADC i PWM obsługują również wiele opcji synchronizacji. Wydajność waha się od średnicy ( Piccolo ) do wysokiej klasy ( dwurdzeniowy Delfino ). Dużymi zastosowaniami są tutaj przetwornice mocy, komunikacja za pośrednictwem linii zasilającej, napędy przemysłowe i sterowanie silnikiem.
  • MSP430 polega na niskiej mocy. Mają niektóre produkty wykorzystujące FRAM (nieulotną pamięć ferroelektryczną), która zużywa mniej energii niż flash, a nawet taką, która pobiera 0,9 V (jedna bateria). Mają mniej popularne urządzenia peryferyjne do obsługi takich rzeczy, jak ekrany LCD i pojemnościowe wykrywanie dotykowe. Przejrzyj ich arkusze danych, a zobaczysz aplikacje, takie jak zdalne czujniki, czujniki dymu i inteligentne liczniki.
  • Niewiele wiem o grupie Wireless MCU, ale oczywiście łączność bezprzewodowa ma swoje specjalne wymagania. Wydaje się, że mają procesory Cortex-M i MSP430 z aplikacjami w elektronice użytkowej i Internecie rzeczy. Internet przedmiotów jest od dłuższego czasu wielkim modnym hasłem, więc wyobrażam sobie, że to jeden z ich głównych celów. Ich najnowszy (?) Produkt jest opisany jako „rozwiązanie Internet-on-a-chip ™”. AKTUALIZACJA: Fellow TIer justinrjy skomentował więcej informacji o MCU łączności bezprzewodowej / łączności: Produkty „Wireless MCU” wyróżniają się rdzeniem procesora, który obsługuje sterowniki / stos protokołu bezprzewodowego. Na przykład CC26xx obsługuje cały stos BLE na Sam UC, dzięki czemu bardzo łatwo jest go opracować. Podobnie jest z CC3200, z tym wyjątkiem, że procesor obsługuje wszystkie sterowniki Wi-Fi na Cortex-M4. Zintegrowany rdzeń i sterowniki są tak naprawdę tym, co czyni je „bezprzewodowymi MCU”, a nie transiwerem . ”

Jak widać, te linie produktów są kierowane do bardzo różnych aplikacji o bardzo różnych wymaganiach. Umieszczenie czipu Hercules 300 MHz w urządzeniu zasilanym bateryjnie byłoby katastrofą, ale i tak włożyłoby MSP430 do poduszki powietrznej. Rozmiar fizyczny również może mieć znaczenie. 337-pinowy pakiet BGA jest niewygodny, aby zmieścić się w małym czujniku, ale nie jest niczym dla sprzętu przemysłowego.

W ramach linii produktów istnieje wiele rodzin. Urządzenia C2000 Delfino są szybsze, mają więcej urządzeń peryferyjnych i mają więcej pinów na swoich pakietach. Mogą również kosztować (przynajmniej) dwa razy więcej niż urządzenie Piccolo. Którego potrzebujesz? To zależy od twojej aplikacji. MSP430 ma niektóre produkty, które równoważą zużycie energii i wydajność, a inne, które koncentrują się wyłącznie na niskiej mocy. (Ten jednoukładowy MCU osiąga maksimum przy 4 MHz i 2 kB pamięci RAM).

W każdej rodzinie jest wiele produktów, ponieważ cały czas opracowywane są nowe produkty. Tranzystory stają się mniejsze / tańsze, więc więcej rzeczy może pójść na chipie. Dzisiejsze MCU klasy średniej byłoby dziesięć lat temu bardzo wysokiej klasy. Każdy produkt jest zwykle dostosowany do kilku konkretnych aplikacji i wspiera inne, tam gdzie to możliwe.

Wreszcie istnieje wiele wariantów każdego produktu (AKA ostatnia cyfra w numerze części). Zazwyczaj mają one różną ilość pamięci i (być może) niewielkie różnice w dostępnych urządzeniach peryferyjnych. Ponownie chodzi o zapewnienie przedziału cenowego.

Krótka wersja jest taka, że ​​każdy produkt zapewnia inną równowagę ceny, wydajności i funkcji. To zwykła stara segmentacja rynku. Naszymi klientami są producenci, którzy dbają o wiele więcej o niewielkich różnicach cenowych niż użytkowników końcowych. Ludzie kupują każdy numer części, który mamy, więc istnieje wyraźne zapotrzebowanie. :-)

AKTUALIZACJA: Jeremy zapytał, w jaki sposób wymagania dużych klientów wpływają na proces projektowania i czy wykonujemy niestandardowe MCU. Widziałem kilka MCU TMS470 / 570, które zostały stworzone dla jednego dużego klienta z branży motoryzacyjnej. Ta grupa miała również kilka MCU, których architektury zostały zaprojektowane przez jednego klienta i dla jednego klienta. W co najmniej jednym z nich klient napisał większość RTL. Są one objęte surowymi ograniczeniami NDA, więc nie mogę podać szczegółów.

Produkty z rynku ogólnego mają zazwyczaj na myśli co najmniej jednego dużego klienta. Czasami duzi klienci otrzymują specjalny numer części. Czasami dodamy urządzenie peryferyjne, aby wygrać duże gniazdo. Ale ogólnie uważam, że duzi klienci są bardziej podłogą niż sufitem, jeśli chodzi o funkcje.

Skrajnym przykładem części niestandardowych jest nasza grupa o wysokiej niezawodności. Słyszałem tylko historie o tych facetach, ale najwyraźniej biorą istniejące produkty i przerabiają je do pracy w ekstremalnych warunkach - wysokich temperaturach, promieniowaniu, strzelających do ciebie ludzi itp. Znam kogoś, kto kupuje HiRel TMS470 do wiercenia otworów , gdzie temperatura może osiągnąć 200 ° C. (Być może ten - w magazynie w Arrow za jedyne 400 USD / chip!) Mają kilka standardowych produktów wymienionych na stronie internetowej, ale z tego, co słyszałem, mogą budować na zamówienie, nawet w małych ilościach - ty możesz kupić kilkanaście wersji HiRel dowolnego układu, jeśli chcesz wydać 50 000 $ + na układ. :-)

Zasadniczo wszystko w biznesie jest do negocjacji, jeśli wydajesz wystarczającą ilość pieniędzy.

Adam Haun
źródło
3
Wow, co za odpowiedź! Fantastyczny! Dziękuję, proszę pana, że ​​poświęciłeś mi trochę swojego cennego czasu i dokładnie odpowiedziałeś na moje pytanie. Uwielbiam TI i chciałbym kiedyś pracować dla TI. Chłopaki robią w TI wspaniałe rzeczy.
Andy_A̷n̷d̷y̷
4
@Jeremy: Za wystarczającą ilość pieniędzy możesz w zasadzie dostać wszystko (te pieniądze można kupić). Pamiętaj jednak, że Twój pomysł na „dużą objętość” i pomysł producenta może nie do końca pasować. Pamiętam, że Fundacji RaspberryPi bardzo ciężko było robić interesy z Broadcomem, ponieważ oni (Broadcom) zwykle nie radzą sobie z tak „niskimi” liczbami ...
DevSolar
5
Dziesięć centów? Kiedyś pracowałem w miejscu, w którym strata 1/10 centa kosztów produkcji była warta ponad roczną pensję dla starszego inżyniera. Oczywiście na taką skalę nie kupowali dyskretnych MCU: licencjonowali IP i używali go w całkowicie niestandardowych projektach ASIC.
Solomon Slow
4
Chiming tutaj Inżynier aplikacji TI - Być może będę w stanie trochę wypełnić lukę w informacjach dotyczących części MCU Łączność / Wireless! Produkty „Wireless MCU” wyróżniają się rdzeniem procesora, który obsługuje sterowniki / stos protokołu bezprzewodowego. Na przykład CC26xx uruchamia cały stos BLE na samym komputerze, dzięki czemu bardzo łatwo jest go opracować. To samo z CC3200, z tym wyjątkiem, że procesor uruchamia sterowniki WiFi na Cortex-M4. Zintegrowany rdzeń i sterowniki są tak naprawdę tym, co czyni z nich „bezprzewodowy MCU”, a nie urządzenie nadawczo-odbiorcze.
justinrjy
2
@ Rev1.0, dyski twarde do komputerów PC.
Solomon Slow
27

MSP430 był / jest rdzeniem opracowanym przez TI. Jest to 16-bitowy rdzeń i został sprzedany jako wyjątkowo niska moc. Ponieważ 16-bitowy rynek MCU szybko wyparowuje wraz z proliferacją Arm Cortex-M0, istnieją nowsze MSP430 oparte na rdzeniu Cortex. Starsze MPS430 zwykle rywalizują teraz o gniazda 8-bitowe.

Stellaris, przemianowany na Tiva, to dawne mikrokontrolery Luminary Micro. Ta firma została przejęta przez TI może 6 lub 7 lat temu. Były to (są?) Urządzenia oparte na Cortex-M3 / M4. W większości przypadków bardziej wydajny / wydajny niż MSP430.

C2000 (Piccolo / Delfino / itp.) Są ukierunkowane na sterowanie w czasie rzeczywistym (sterowanie silnikiem, konwersja / regulacja mocy itp.). Ta rodzina ma również niższą funkcjonalność DSP. Ukierunkowany bardziej na przemysł, a być może także na część motoryzacyjną (jedna z niewielu kwalifikowanych jednostek TU MCI).

Hercules stawia na bezpieczeństwo. Nadmiarowość, sprawdzanie błędów w czasie wykonywania, BIST, wiele funkcji nadzorujących. Aplikacje krytyczne dla bezpieczeństwa.

Istnieje kilka innych części, które mają pewną kombinację funkcji i / lub funkcjonalności niszowej (tj. Zintegrowane połączenie bezprzewodowe, dwurdzeniowy, FRAM itp.). Są też oferowane bardziej wydajne procesory DSP i mikroprocesory.

Jaka jest twoja aplikacja? Tom? Oś czasu rozwoju? Jakich urządzeń peryferyjnych / zasobów potrzebujesz? Ile - i jakiego rodzaju mocy obliczeniowej jest wymagane? Czy poradzisz sobie z analogowymi urządzeniami peryferyjnymi MCU o niższej wydajności, czy też będziesz przetwarzał całą ścieżkę sygnału zewnętrznie / dyskretnie? Istnieje wiele czynników przy wyborze procesora / kontrolera dla konkretnego systemu / aplikacji.

MD
źródło
6
Rdzenie Cortex o niskiej mocy nazywane są MSP432, aby (minimalnie) odróżnić je od MSP430. Stellaris stał się Tiva. A sama seria Hercules jest podzielona między motoryzacyjną i przemysłową / medyczną - myślę, że głównie w zakresie temperatur i wsparcia CAN dla motoryzacji.
Brian Drummond,
1
W pewnym momencie IIRC Hercules były rdzeniami Cortex-Rx, wraz z podwójnymi potokami instrukcji blokowania kroku. Przeznaczony do stosowania w sterownikach hamulców, modułach poduszek powietrznych itp.
Krunal Desai
1
Bardzo dobra odpowiedź. Wydaje się, że dużo wiesz o TI. Nie wiedziałem, że nabyli mikrokontroler Luminary. Dziękuję za Twój czas.
Andy_A̷n̷d̷y̷
18

Microchip to kolejna firma, która ma pełną linię mikrokontrolerów - ponad 4000 w Digi-Key, w tym wszystkie warianty opakowań. Podobnie jak TI, obejmują gamę od 8 do 32 bitów:

~2700  8-bitters: from 384 bytes Flash and 16 bytes RAM to 128 KB Flash and 4 KB RAM 
~1000 16-bitters: from 4 KB Flash and 256 bytes RAM to 1 MB Flash and 96 KB RAM
 ~500 32-bitters: from 16 KB Flash and 4 KB bytes RAM to 2 MB Flash and 512 KB RAM

Zauważ, że najmniejszy jest podany w bajtach, a nie w KB.

Ceny wahają się od 35 ¢ do 13,36 USD w pojedynczych ilościach. Wyobrażam sobie, że te najtańsze mogą kosztować mniej niż 20 centów w dużych ilościach. Może nawet 10 centów za niesprawdzone (w których klient przeprowadza testy akceptacyjne zamiast producenta). Najtańszy 32-bitowy ARM to dwa razy więcej w pojedynczych ilościach po 76 centów. Jest to duża różnica dla produktu o dużej objętości. PIC10F200 jest najtańszym µC ze wszystkich prawie 15 000 akcji Digi-Key.

Microchip ma również doskonałą reputację w utrzymywaniu zapasów swoich starszych aparatów µC (wymienionych w selektorze produktów poniżej jako „Dojrzałe”), co należy wziąć pod uwagę.

Jak to wszystko zrozumieć? Użyj selektora produktów. Digi-Key, Mouser i inni dystrybutorzy mają dość dobre, ale nie zawierają wszystkich parametrów (selektor produktów µC Digi-Key ma mniej niż 20, tabela poniżej ma ponad 50). Microchip (i wyobrażam sobie innych producentów) ma bardziej rozbudowane, takie jak ten poniżej. Pamiętaj, że możesz podać zakresy dla prawie wszystkich parametrów:

wprowadź opis zdjęcia tutaj

Teraz, po przejęciu Atmel przez Microchip, ciekawie będzie zobaczyć, co się stanie. Wydaje się, że niektóre linie nakładają się na siebie.

tcrosley
źródło
15

Nie wchodząc w szczegóły, jakie oferty TI ma (na które już tutaj odpowiedziano), chciałbym podkreślić, że potrzebujesz specyfikacji. Jeśli ich nie masz, załóż, że ich zadaniem jest ich zidentyfikowanie. Może to być nieco przytłaczające, jeśli jesteś nowy, ale nazwijmy kilka specyfikacji, które mogą wystąpić w projekcie:

  • Co zrobi MCU? Czy jest to ograniczone czasem procesora? Czy zamierzasz wykonać jakieś „specjalne przetwarzanie”, takie jak zmiennoprzecinkowe? To określi wymaganą częstotliwość rdzenia procesora.

  • Czy jest to ograniczone przez żywotność baterii? W takim razie; musisz zbadać tryby gotowości, które oferuje mikrokontroler, opóźnienie do wybudzenia, źródła budzenia, szyna napięciowa dla sygnałów cyfrowych i analogowych (np. jeśli zasilasz ją bezpośrednio z akumulatora) itp. Dodatkowo zwróć uwagę na wszystkie wejścia / wyjścia również w systemie. Możesz mieć świetny mikrokontroler, który zużywa 50nA podczas snu - ale jest to nieistotne, jeśli np. LDO lub EEPROM zużywa spoczynkowy 10uA.

  • Jakiego pakietu możesz / potrzebujesz użyć? Ile pinów i jaką technologię? Ile masz miejsca, co możesz zmontować?

  • Ile kodu zamierzasz dla niego napisać? Czy masz pojęcie, ile RAM / FLASH potrzebujesz? Pomoże w tym praktyczne doświadczenie na devboard.

  • Jakich interfejsów potrzebujesz użyć w projekcie systemu i jak chcesz ich używać? Podstawowe punkty początkowe:

1) Ograniczenia prędkości (np. Potrzebuję USART działającego przy 3 MBaud)

2) Ograniczenia liczby portów (np. Potrzebuję 5 USART)

3) Ograniczenia przepustowości (np. Potrzebuję DMA do przesyłania danych 2 Mb / s do / z USART)

4) Obserwuj wszelkie „zdarzenia”, które mogą się zdarzyć w systemie i jakie opóźnienia musisz napotkać. Np. Czy możesz sondować styk ostrzegawczy urządzenia, czy potrzebujesz do tego zewnętrznego styku przerwania?

Może to być trudne pytanie, niezależnie od tego, czy projektujesz „oddolnie” czy „z góry na dół”. Jeśli projektujesz „z góry na dół”, może się okazać, że w tym momencie nie ma mikrokontrolera z 16 USART, które projekt systemu wziął za pewnik.

OTOH, jeśli projektujesz „oddolnie”, możesz wybrać mikrokontroler, który znasz i znasz, ale dowiedz się, że nie ma on odpowiedniej ilości I / O i potrzebuje „kleju” do działania.

Jeśli cokolwiek; zapoznaj się z ofertami dostawców. Miło jest wiedzieć, gdzie są ograniczenia, gdy spełnisz wszystkie swoje życzenia w wyszukiwaniu parametrycznym i uzyskasz 0 wyników.

  • Jakieś inne szczególne ograniczenia? Jak wspomniano; niektóre mikrokontrolery mają bardzo specyficzne urządzenia peryferyjne do zarządzania energią (moduły PWM o wysokiej rozdzielczości) lub bezpieczeństwa (redundancja, deterministyczne cykle nadzoru i resetowania itp.).

Zawsze dobrze jest zidentyfikować wąskie gardła w projekcie i spróbować je rozwiązać. Płytka rozwojowa może być dobrym „praktycznym” doświadczeniem do testowania kodu pod względem czasu procesora, wymagań dotyczących pamięci i „dziwactw”, jakie może mieć mikrokontroler.

Hans
źródło