- Mikrokontroler i mikroprocesor
- Czynniki do rozważenia przy wyborze MPU lub MCU
- 1. Moc przetwarzania
- 2. Interfejsy
- 3. Pamięć
- 4. Moc
- Wniosek
Mózg urządzenia wbudowanego, który jest jednostką przetwarzającą, jest kluczowym wyznacznikiem sukcesu lub niepowodzenia urządzenia w wykonywaniu zadań, do których jest przeznaczone. Jednostka przetwarzająca jest odpowiedzialna za każdy proces obejmujący od wejścia do systemu do końcowego wyniku, dlatego wybór odpowiedniej platformy dla mózgu staje się bardzo ważny podczas projektowania urządzenia, ponieważ wszystko inne będzie zależało od dokładności tej decyzji.
Mikrokontroler i mikroprocesor
Komponenty przetwarzania używane w urządzeniach wbudowanych można podzielić na dwie szerokie kategorie; Mikrokontrolery i mikroprocesory.
Mikrokontrolery to małe urządzenia obliczeniowe na pojedynczym chipie, które zawierają jeden lub więcej rdzeni przetwarzających, z urządzeniami pamięci wbudowanymi obok programowalnych portów wejścia i wyjścia (I / O) specjalnego i ogólnego przeznaczenia. Znajdują zastosowanie zwłaszcza w aplikacjach, w których trzeba wykonywać tylko określone, powtarzalne zadania. Rozmawialiśmy już o wyborze odpowiedniego mikrokontrolera do projektów osadzonych.
Z drugiej strony mikroprocesory są urządzeniami obliczeniowymi ogólnego przeznaczenia, które zawierają wszystkie funkcje jednostki centralnej na chipie, ale nie zawierają urządzeń peryferyjnych, takich jak pamięć i styki wejściowe i wyjściowe, takie jak mikrokontroler.
Chociaż producenci zmieniają teraz wiele rzeczy, które zacierają granicę między mikrokontrolerami i mikroprocesorami, takimi jak użycie pamięci w chipach dla mikroprocesorów i zdolność mikrokontrolerów do łączenia się z pamięcią zewnętrzną, nadal istnieją kluczowe różnice między tymi komponentami i projektant będzie trzeba wybrać najlepsze z nich dla konkretnego projektu.
Dowiedz się więcej o różnicy między mikrokontrolerem a mikroprocesorem.
Czynniki do rozważenia przy wyborze MPU lub MCU
Przed podjęciem jakiejkolwiek decyzji dotyczącej kierunku, w którym należy pójść w odniesieniu do urządzenia przetwarzającego, które ma być użyte do projektowania produktu osadzonego, ważne jest, aby opracować specyfikacje projektowe. Opracowanie specyfikacji projektowych zapewnia ścieżkę wstępnego projektowania urządzenia, która pomaga szczegółowo zidentyfikować problem do rozwiązania, sposób jego rozwiązania, uwydatnić komponenty, które mają być użyte i wiele więcej. Pomaga to projektantowi w podejmowaniu świadomych, ogólnych decyzji dotyczących projektu i pomaga określić, w którym kierunku powinna się poruszać jednostka przetwarzająca.
Poniżej opisano niektóre czynniki w specyfikacji projektu, które należy wziąć pod uwagę przed dokonaniem wyboru między mikrokontrolerem a mikroprocesorem.
1. Moc przetwarzania
Moc obliczeniowa jest jedną z głównych (jeśli nie najważniejszą) kwestią, którą należy wziąć pod uwagę przy wyborze między mikrokontrolerem a mikroprocesorem. Jest to jeden z głównych czynników wpływających na mikroprocesory. Jest mierzony w DMIPS (Dhrystone Milion instrukcji na sekundę) i reprezentuje liczbę instrukcji, które mikrokontroler lub mikroprocesor może przetworzyć w ciągu sekundy. Zasadniczo jest to wskazanie, jak szybko urządzenie może wykonać przydzielone mu zadanie.
Chociaż określenie dokładnej mocy obliczeniowej wymaganej przez projekt może być bardzo trudnym zadaniem, można zgadnąć, badając zadanie (a), urządzenie jest tworzone do wykonania i jakie mogą być wymagania obliczeniowe tych zadań. Na przykład opracowanie urządzenia, które wymaga użycia pełnego systemu operacyjnego, czy to wbudowanego Linuksa, Windows CE, czy dowolnego innego systemu operacyjnego, wymagałoby mocy obliczeniowej nawet 500 DMIPS, brzmiącej jak procesor? Tak. Aby to dodać, uruchomienie systemu operacyjnego na urządzeniu będzie wymagało jednostki zarządzania pamięcią (MMU), która zwiększy wymaganą moc obliczeniową. Aplikacje urządzeń, które wymagają wielu działań arytmetycznych, również wymagają bardzo wysokiego DMIPSwartości i im więcej obliczeń matematycznych / numerycznych ma wykonać urządzenie, tym bardziej wymagania projektowe przechylają się w kierunku wykorzystania mikroprocesora ze względu na wymaganą moc obliczeniową.
Inną główną konsekwencją mocy obliczeniowej, która wpływa na wybór między mikroprocesorami a mikrokontrolerami, jest złożoność lub prostota rzeczy, takich jak interfejsy użytkownika. W dzisiejszych czasach pożądane jest posiadanie kolorowego i interaktywnego interfejsu GUI, nawet dla najbardziej podstawowych aplikacji. Większość bibliotek używanych do tworzenia interfejsów użytkownika, takich jak QT, wymaga mocy obliczeniowej sięgającej 80-100 DMIPS, a im więcej animacji, obrazów i innych treści multimedialnych ma być wyświetlanych, tym większa jest wymagana moc obliczeniowa. Jednak prostsze interfejsy użytkownika na ekranach o niskiej rozdzielczości wymagają niewielkiej mocy obliczeniowej i mogą być zasilane za pomocą mikrokontrolerów, ponieważ obecnie wiele z nich ma wbudowane interfejsy do interakcji z różnymi wyświetlaczami.
Poza niektórymi podstawowymi funkcjami wymienionymi powyżej, ważne jest, aby zarezerwować pewną moc obliczeniową dla komunikacji i innych urządzeń peryferyjnych. Chociaż większość podanych powyżej przykładów ma tendencję do wspierania użycia mikroprocesorów, są one generalnie droższe w porównaniu z mikrokontrolerami i będą stanowić przesadę, gdy zostaną użyte w niektórych rozwiązaniach, na przykład użycie mikroprocesora 500 DMIPS do zautomatyzowania żarówki spowoduje ogólny koszt produktu wyższą niż zwykle i może ostatecznie doprowadzić do niepowodzenia na rynku.
2. Interfejsy
Interfejs używany do łączenia różnych elementów produktu jest jednym z czynników, które należy wziąć pod uwagę przed wyborem między mikrokontrolerem a mikroprocesorem. Ważne jest, aby jednostka przetwarzająca, która ma być używana, miała interfejsy wymagane przez inne komponenty.
Z punktu widzenia łączności i komunikacji, na przykład, większość mikrokontrolerów i mikroprocesorów posiada interfejsy wymagane do łączenia się z urządzeniami komunikacyjnymi, ale gdy wymagane są urządzenia peryferyjne o dużej szybkości, takie jak super szybki interfejs USB 3.0, wiele portów Ethernet 10/100 lub port Gigabit Ethernet, rzeczy przechylić w kierunku mikroprocesora, ponieważ interfejs wymagany do ich obsługi znajduje się na nich zazwyczaj tylko dlatego, że są one bardziej zdolne do obsługi i przetwarzania dużych ilości danych oraz szybkości, z jaką te dane są przesyłane.
Wpływ protokołów używanych dla tych interfejsów na ilość pamięci wymaganej dla oprogramowania układowego powinien zostać potwierdzony, ponieważ mają one tendencję do zwiększania wymagań dotyczących pamięci. Jest ogólną zasadą, że projekt oparty na mikroprocesorze powinien być stosowany w aplikacjach, które wymagają szybkiej łączności z dużą ilością wymienianych danych, zwłaszcza gdy system wykorzystuje system operacyjny.
3. Pamięć
Te dwa urządzenia przetwarzające dane różnie obsługują pamięć i przechowywanie danych. Na przykład mikrokontrolery są dostarczane z wbudowanymi, stałymi urządzeniami pamięciowymi, podczas gdy mikroprocesory są wyposażone w interfejsy, do których można podłączać urządzenia pamięci. Są to dwie główne konsekwencje;
Koszt
Mikrokontroler staje się rozwiązaniem tańszym, gdyż nie wymaga stosowania dodatkowej pamięci, a mikroprocesor staje się kosztownym rozwiązaniem ze względu na te dodatkowe wymagania.
Ograniczona pamięć
Stała pamięć mikrokontrolera ogranicza ilość danych, które można na nim przechowywać. Sytuacja ta nie dotyczy procesorów, ponieważ są one zwykle podłączone do zewnętrznych urządzeń pamięci. Dobrym przykładem sytuacji, w której to ograniczenie może stanowić problem, jest opracowywanie oprogramowania układowego dla urządzenia. Dodanie dodatkowych kilobajtów do rozmiaru kodu może wymagać zmiany używanego mikrokontrolera, ale gdyby projekt był oparty na procesorze, wystarczy zmienić urządzenie pamięci. Tak więc mikroprocesory oferują większą elastyczność dzięki pamięci.
Istnieje kilka innych czynników zależnych od pamięci, którą należy wziąć pod uwagę, jednym z nich jest czas rozruchu (rozruchu). Na przykład mikroprocesory przechowują oprogramowanie układowe w pamięci zewnętrznej (zwykle zewnętrznej pamięci NAND lub pamięci szeregowej Flash), a podczas rozruchu oprogramowanie układowe jest ładowane do pamięci DRAM procesora. Chociaż odbywa się to w ciągu kilku sekund, może nie być idealne dla niektórych aplikacji. Mikrokontroler na drugi zajmuje mniej czasu.
Jeśli chodzi o ogólne rozważania dotyczące prędkości, MCU zwykle wygrywa ze względu na swoją zdolność do rozwiązywania najbardziej krytycznych czasowo aplikacji ze względu na zastosowany w nich rdzeń procesora, fakt, że pamięć jest wbudowana, a oprogramowanie układowe z nimi jest zawsze albo RTOS, albo goły metal DO.
4. Moc
Ostatnim punktem do rozważenia jest zużycie energii. Chociaż mikroprocesory mają tryby niskiego poboru mocy, te tryby nie są tak liczne, jak te dostępne w typowym MCU, a przy zewnętrznych komponentach wymaganych przez konstrukcję opartą na mikroprocesorze, osiągnięcie trybów niskiego poboru mocy jest nieco bardziej skomplikowane. Oprócz trybów niskiego poboru mocy, rzeczywista ilość energii zużywanej przez MCU jest znacznie niższa niż to, co zużywa mikroprocesor, ponieważ im większa zdolność przetwarzania, tym większa ilość energii wymagana do utrzymania procesora w stanie sprawności.
Dlatego mikrokontrolery mają tendencję do znajdowania zastosowań, w których wymagane są jednostki przetwarzania o bardzo niskim poborze mocy , takie jak piloty, elektronika użytkowa i kilka inteligentnych urządzeń, w których projekt kładzie nacisk na żywotność baterii. Są również używane tam, gdzie potrzebne jest wysoce deterministyczne zachowanie.
Z drugiej strony mikroprocesory są idealne do zastosowań przemysłowych i konsumenckich, które wymagają systemu operacyjnego, wymagają dużej mocy obliczeniowej i wymagają szybkiej łączności lub interfejsu użytkownika z dużą ilością informacji o mediach.
Wniosek
Istnieje kilka innych czynników, które służą jako determinanty wyboru między tymi dwoma platformami, a wszystkie mieszczą się w zakresie wydajności, możliwości i budżetu, ale ogólny wybór staje się łatwiejszy, gdy istnieje odpowiedni wstępny projekt systemu i jasno określono wymagania. Mikrokontrolery są najczęściej używane w rozwiązaniach z bardzo napiętym budżetem BOM i rygorystycznymi wymaganiami dotyczącymi mocy, podczas gdy mikroprocesory są używane w aplikacjach o dużych wymaganiach obliczeniowych i wydajnościowych.