- Ważne czynniki, które należy wziąć pod uwagę przy wyborze MCU
- 1. Zastosowanie
- 2. Wybierz Architektura mikrokontrolera
- 3. Rozmiar bitu
- 4. Interfejsy do komunikacji
- 5. Napięcie robocze
- 6. Liczba pinów we / wy
- 7. Wymagania dotyczące pamięci
- 8. Wielkość opakowania
- 9. Zużycie energii
- 10. Wsparcie dla mikrokontrolera
Mikrokontroler jest zasadniczo małym komputerem na chipie, jak każdy komputer, ma pamięć i jest zwykle programowany w systemach wbudowanych do odbierania danych wejściowych, wykonywania obliczeń i generowania danych wyjściowych. W przeciwieństwie do procesora zawiera pamięć, procesor, wejścia / wyjścia i inne urządzenia peryferyjne w jednym układzie, jak pokazano na poniższym układzie.
Wybór odpowiedniego mikrokontrolera do projektu jest zawsze decyzją złożoną, ponieważ jest on sercem projektu i od tego zależy sukces lub porażka systemu.
Istnieje tysiące różnych typów mikrokontrolerów, z których każdy ma unikalną funkcję lub przewagę konkurencyjną, od współczynnika kształtu, przez rozmiar pakietu, po pojemność pamięci RAM i ROM, co sprawia, że nadają się do niektórych zastosowań i nie nadają się do niektórych zastosowań. Dlatego często, aby uniknąć bólu głowy związanego z wyborem właściwego, projektanci wybierają mikrokontrolery, które znają, a które czasami nawet nie spełniają wymagań projektu. W dzisiejszym artykule przyjrzymy się niektórym ważnym czynnikom, na które należy zwrócić uwagę przy wyborze mikrokontrolera, w tym między innymi architekturze, pamięci, interfejsom i nieruchomościom we / wy.
Ważne czynniki, które należy wziąć pod uwagę przy wyborze MCU
Poniżej przedstawiono niektóre z ważnych czynników, na które należy zwrócić uwagę przy wyborze mikrokontrolera, w tym między innymi architekturę, pamięć, interfejsy i nieruchomości we / wy.
1. Zastosowanie
Pierwszą rzeczą do zrobienia przed wyborem mikrokontrolera do dowolnego projektu jest dokładne zrozumienie zadania, dla którego ma zostać wdrożone rozwiązanie oparte na mikrokontrolerze. Podczas tego procesu zawsze opracowywana jest specyfikacja techniczna, która pomoże określić specyficzne cechy mikrokontrolera, który zostanie wykorzystany w projekcie. Dobry przykład tego, w jaki sposób aplikacja / użytkowanie urządzenia determinuje mikrokontroler, który ma być używany, jest pokazany, gdy mikrokontroler z jednostką zmiennoprzecinkową zostanie przyjęty do projektu urządzenia, które będzie używane do wykonywania operacji obejmujących wiele liczb dziesiętnych.
2. Wybierz Architektura mikrokontrolera
Architektura mikrokontrolera odnosi się do wewnętrznej struktury mikrokontrolera. Istnieją dwie główne architektury używane do projektowania mikrokontrolerów;
- Architektura von Neumanna
- Architektura Harvardu
Architektura von Neumanna wykorzystuje tę samą magistralę do przesyłania danych i pobierania zestawów instrukcji z pamięci. Dlatego transfer danych i pobieranie instrukcji nie mogą być wykonywane w tym samym czasie i zwykle są zaplanowane. Z drugiej strony architektura Harvardu wykorzystuje oddzielne magistrale do przesyłania danych i pobierania instrukcji.
Każda z tych architektur ma swoje zalety i wady. Na przykład architektura Harvardu to komputery RISC (zredukowany zestaw instrukcji), dzięki czemu są w stanie wykonać więcej instrukcji przy niższych cyklach niż komputery CISC (złożony zestaw instrukcji), które są oparte na architekturze von Neumanna. Jedną z ważnych zalet mikrokontrolerów opartych na protokole Harvard (RISC) jest fakt, że istnienie różnych szyn danych i zestawu instrukcji umożliwia rozdzielenie dostępu do pamięci i operacji jednostki arytmetycznej i logicznej (ALU). Zmniejsza to ilość mocy obliczeniowej wymaganej przez mikrokontroler i prowadzi do obniżenia kosztów, niskiego zużycia energii i rozpraszania ciepła, co czyni je idealnymi do projektowania urządzeń zasilanych bateryjnie. Wiele ARM,Mikrokontrolery AVR i PIC są oparte na architekturze Harvardu. Przykład mikrokontrolerów wykorzystujących architekturę Von Neumanna to między innymi 8051, zilog Z80.
3. Rozmiar bitu
Mikrokontroler może mieć 8 bitów, 16 bitów, 32 bity i 64 bity, co jest aktualnym maksymalnym rozmiarem bitu posiadanym przez mikrokontroler. Rozmiar bitowy mikrokontrolera reprezentuje rozmiar „słowa” używanego w zestawie instrukcji mikrokontrolera. Oznacza to, że w mikrokontrolerze 8-bitowym reprezentacja każdej instrukcji, adresu, zmiennej lub rejestru zajmuje 8 bitów. Jednym z kluczowych implikacji rozmiaru bitu jest pojemność pamięci mikrokontrolera. Na przykład w mikrokontrolerze 8-bitowym istnieje 255 unikalnych lokalizacji pamięci, zgodnie z wielkością bitów, podczas gdy w mikrokontrolerze 32-bitowym jest 4294967295 unikalnych lokalizacji pamięci, co oznacza, że im większy rozmiar bitu, tym większa liczba unikalnych miejsca w pamięci dostępne do wykorzystania w mikrokontrolerze. Jednak producenci w dzisiejszych czasachopracowują sposoby zapewnienia dostępu do większej ilości pamięci mikrokontrolerom o mniejszych rozmiarach bitowych poprzez stronicowanie i adresowanie, tak aby mikrokontroler 8-bitowy stał się adresowalny do 16 bitów, ale to zwykle komplikuje programowanie dla twórców oprogramowania wbudowanego.
Wpływ rozmiaru bitu jest prawdopodobnie bardziej widoczny podczas opracowywania oprogramowania układowego mikrokontrolera, zwłaszcza w przypadku operacji arytmetycznych. Różne typy danych mają różną wielkość pamięci dla różnych rozmiarów bitów mikrokontrolera. Na przykład użycie zmiennej zadeklarowanej jako liczba całkowita bez znaku, która ze względu na typ danych będzie wymagała 16 bitów pamięci, w kodach do wykonania na 8-bitowym mikrokontrolerze doprowadzi do utraty najbardziej znaczącego bajtu w danych, który czasami może być bardzo ważne dla realizacji zadania, do którego zostało zaprojektowane urządzenie, na którym ma być używany mikrokontroler.
Dlatego ważne jest, aby wybrać mikrokontroler o rozmiarze bitowym, który odpowiada rozmiarowi przetwarzanych danych.
Należy prawdopodobnie zauważyć, że większość dzisiejszych aplikacji ma od 32 do 16 bitów mikrokontrolery ze względu na postęp technologiczny zastosowany w tych układach.
4. Interfejsy do komunikacji
Komunikacja między mikrokontrolerem a niektórymi czujnikami i elementami wykonawczymi, które zostaną wykorzystane w projekcie, może wymagać użycia interfejsu między mikrokontrolerem a czujnikiem lub siłownikiem, aby ułatwić komunikację. Na przykład podłączenie czujnika analogowego do mikrokontrolera będzie wymagało, aby mikrokontroler miał wystarczającą ilość ADC (przetworniki analogowo-cyfrowe) lub, jak wspomniałem wcześniej, zmiana prędkości silnika prądu stałego może wymagać użycia interfejsu PWM na mikrokontrolerze. Dlatego ważne będzie potwierdzenie, że wybrany mikrokontroler ma wystarczającą liczbę wymaganych interfejsów, w tym między innymi UART, SPI, I2C.
5. Napięcie robocze
Napięcie robocze to poziom napięcia, przy którym system jest zaprojektowany do działania. Jest to również poziom napięcia, z którym związane są określone cechy systemu. W projektowaniu sprzętu napięcie robocze czasami określa poziom logiczny, na którym mikrokontroler komunikuje się z innymi elementami składowymi systemu.
Najbardziej popularnymi napięciami stosowanymi w mikrokontrolerach są poziomy napięć 5V i 3,3V i należy podjąć decyzję, który z tych poziomów zostanie wykorzystany w procesie opracowywania specyfikacji technicznej urządzenia. Zastosowanie mikrokontrolera o napięciu roboczym 3,3 V w projekcie urządzenia, w którym większość elementów zewnętrznych, czujników i elementów wykonawczych będzie pracowało na poziomie napięcia 5 V, nie będzie zbyt mądrą decyzją, gdyż konieczne będzie zaimplementowanie poziomu logicznego przełączniki lub konwertery umożliwiające wymianę danych pomiędzy mikrokontrolerem a innymi komponentami, co niepotrzebnie zwiększy koszt produkcji i całkowity koszt urządzenia.
6. Liczba pinów we / wy
Liczba portów wejścia / wyjścia ogólnego lub specjalnego przeznaczenia i (lub) pinów posiadanych przez mikrokontroler jest jednym z najważniejszych czynników wpływających na wybór mikrokontrolera.
Jeśli mikrokontroler miałby mieć wszystkie inne funkcje wymienione w tym artykule, ale nie ma wystarczającej liczby pinów IO, zgodnie z wymaganiami projektu, nie można go użyć. Ważne jest, aby mikrokontroler miał wystarczającą liczbę pinów PWM na przykład do sterowania liczbą silników prądu stałego, których prędkość będzie zmieniać się przez urządzenie. Chociaż liczbę portów I / O mikrokontrolera można rozszerzyć za pomocą rejestrów przesuwnych, nie można go używać do wszelkiego rodzaju aplikacji i zwiększa koszt urządzeń, w których jest używany. Dlatego lepiej jest upewnić się, że mikrokontroler, który ma zostać wybrany do projektu, ma wymaganą liczbę portów I / O ogólnego i specjalnego przeznaczenia dla projektu.
Inną kluczową rzeczą, o której należy pamiętać przy określaniu liczby pinów we / wy ogólnego lub specjalnego przeznaczenia wymaganych dla projektu, jest przyszłe ulepszenia, które można wprowadzić w urządzeniu, oraz to, jak te ulepszenia mogą wpłynąć na liczbę pinów we / wy wymagany.
7. Wymagania dotyczące pamięci
Istnieje kilka typów pamięci powiązanych z mikrokontrolerem, na które projektant powinien zwrócić uwagę podczas dokonywania wyboru. Najważniejsze z nich to RAM, ROM i EEPROM. Ilość potrzebnych każdej z tych pamięci może być trudna do oszacowania, dopóki nie zostanie użyta, ale sądząc po ilości pracy wymaganej od mikrokontrolera, można przewidzieć. Te wspomniane powyżej urządzenia pamięciowe tworzą pamięć danych i programów mikrokontrolera.
Pamięć programowa mikrokontrolera przechowuje oprogramowanie układowe mikrokontrolera, więc po odłączeniu zasilania mikrokontrolera oprogramowanie układowe nie jest tracone. Ilość potrzebnej pamięci programu zależy od ilości danych, takich jak biblioteki, tabele, pliki binarne dla obrazów itp., Które są potrzebne do prawidłowego działania oprogramowania układowego.
Z drugiej strony pamięć danych jest używana podczas pracy. Wszystkie zmienne i dane generowane w wyniku przetwarzania wśród innych działań w czasie wykonywania są przechowywane w tej pamięci. W związku z tym złożoność obliczeń, które wystąpią w czasie wykonywania, może być wykorzystana do oszacowania ilości pamięci danych potrzebnej mikrokontrolerowi.
8. Wielkość opakowania
Wielkość pakiet odnosi się do współczynnika kształtu mikrokontrolera. Mikrokontrolery są zwykle dostarczane w pakietach od QFP, TSSOP, SOIC do SSOP i zwykłych pakietach DIP, które ułatwiają montaż na płytce prototypowej w celu prototypowania. Ważne jest, aby zaplanować produkcję z wyprzedzeniem i przewidzieć, który pakiet będzie najlepszy.
9. Zużycie energii
Jest to jeden z najważniejszych czynników, które należy wziąć pod uwagę przy wyborze mikrokontrolera, zwłaszcza gdy ma on być wdrożony w aplikacji zasilanej z baterii, takiej jak urządzenia IoT, w których pożądane jest, aby mikrokontroler miał jak najmniejszą moc. Arkusze danych większości mikrokontrolerów zawierają informacje na temat kilku technik opartych na sprzęcie i (lub) oprogramowaniu, które można wykorzystać do zminimalizowania ilości energii zużywanej przez mikrokontroler w różnych trybach. Upewnij się, że wybrany mikrokontroler spełnia wymagania dotyczące zasilania dla twojego projektu.
10. Wsparcie dla mikrokontrolera
Ważne jest, aby mikrokontroler, z którym chcesz pracować, miał wystarczające wsparcie, w tym; próbki kodu, projekty referencyjne i, jeśli to możliwe, duża społeczność online. Praca z mikrokontrolerem po raz pierwszy może wiązać się z różnymi wyzwaniami, a dostęp do tych zasobów pomoże Ci szybko je pokonać. Podczas korzystania z najnowszych mikrokontrolerów ze względu na te fajne nowe funkcje, które zostały dostarczone, jest dobrą rzeczą, zaleca się upewnić się, że mikrokontroler działa przez co najmniej 3-4 miesiące, aby zapewnić większość wczesnych problemów, które mogą być związane z mikrokontrolerem zostałby rozwiązany, ponieważ różni klienci przeprowadziliby wiele testów mikrokontrolera w różnych zastosowaniach.
Ważne jest również, aby wybrać mikrokontroler z dobrym zestawem ewaluacyjnym, aby można było szybko rozpocząć tworzenie prototypu i łatwo przetestować funkcje. Zestawy ewaluacyjne to dobry sposób na zdobycie doświadczenia, zapoznanie się z łańcuchem narzędzi wykorzystywanych do rozwoju i zaoszczędzenie czasu podczas opracowywania urządzenia.
Wybór odpowiedniego mikrokontrolera do projektu będzie nadal problemem, który każdy projektant sprzętu będzie musiał rozwiązać i choć czynników, które mogą wpłynąć na wybór mikrokontrolera jest kilka, to te wymienione powyżej są najważniejsze.