Mikrokontrolery są wszędzie. Niezależnie od tego, czy prowadzisz samochód, czytasz coś na komputerze lub smartfonie/tablecie, czy nawet robisz sobie filiżankę kawy w ekspresie. Ponieważ ilość systemów Internetu Rzeczy (IoT) gwałtownie rośnie, mikrokontrolery są coraz bardziej popularne w naszym otoczeniu. Przyjrzyjmy się im bliżej.
Co to jest mikrokontroler?
Mikrokontroler (czasami nazywany w anglojęzycznym MCU lub uC albo µC) to pojedynczy układ scalony, który jest zwykle używany do określonej aplikacji i przeznaczony do realizacji określonych zadań. Produkty i urządzenia, które muszą być automatycznie kontrolowane w określonych sytuacjach, takie jak urządzenia elektroniczne, elektronarzędzia, systemy sterowania silnikiem samochodowym i komputery są świetnymi przykładami, ale mikrokontrolery sięgają swoimi zastosowaniami znacznie dalej niż tylko te aplikacje.
Zasadniczo mikrokontroler zbiera dane wejściowe, przetwarza zebrane informacje i generuje określone działanie na ich podstawie, korzystając z zaimplementowanych algorytmów. Mikrokontrolery zazwyczaj działają przy niezbyt wysokich częstotliwościach taktowania, w zakresie od 1 MHz do 200 MHz. Dodatkowo muszą być zaprojektowane tak, aby zużywały niewiele energii, ponieważ są zazwyczaj wbudowane w inne urządzenia, które mogą stawiać swoje wymagania co do niewielkiego zużycia prądu, podyktowane na przykład zasilaniem z baterii.
Wewnątrz mikrokontrolera: niezbędne komponenty
Mikrokontroler może być postrzegany jako mały komputer. Wynika tak z faktu, że są w nim zawarte wszystkie niezbędne do działania elementy: jednostka centralna/procesor (CPU), pamięć o dostępie swobodnym (RAM), pamięć Flash, interfejsy magistrali szeregowej, porty wejścia i wyjścia (GPIO), a w wielu przypadkach także programowalne bloki pamięci EEPROM i inne peryferia. Rysunek 1 pokazuje uproszczony schemat opisanych części mikrokontrolera, a także wskazuje, jakie inne peryferia znaleźć mogą się w takim układzie. W dalszej części artykułu omówimy bliżej poszczególne elementy układu.
Konstrukcja CPU mikrokontrolera
CPU, czasami nazywany procesorem lub mikroprocesorem, kontroluje wszystkie otrzymywane instrukcje i przepływ danych w układzie. Można myśleć o nim jak o mózgu systemu, przetwarzającym wszystkie dane wejściowe, które otrzymuje system i wykonuje na nich wymagane instrukcje. Jego dwoma głównymi komponentami są Jednostka Arytmetyczno-Logiczna (ALU), która wykonuje, jak sama nazwa wskazuje, operacje arytmetyczne i logiczne oraz Jednostka Sterująca (CU), która obsługuje wszystkie wykonania instrukcji procesora. Rysunek 2 pokazuje typowy "cykl maszyny", przez który przechodzi procesor.
Pamięć RAM mikrokontrolera
RAM jest rodzajem pamięci, która tymczasowo przechowuje dane i zapewnia szybki do nich dostęp. Różni się od większości innych rodzajów pamięci, ponieważ w nich wydobycie danych trwa o wiele dłużej, gdyż nie są one łatwo dostępne. Nie są to oczywiście wszystkie dane, jakie przechowywane są w różnego rodzaju pamięciach w układzie. Pamięć RAM postrzegać można jako najbardziej zewnętrzną, najbardziej powierzchowną warstwę magazynowania informacji - umożliwia ona niemalże natychmiastowy dostęp do danych, ale jeżeli chcemy zanurkować głębiej, procesor musi odwołać się do wolniejszych magazynów danych (pamięci Flash lub EEPROM).
Pamięć RAM poprawia całkowitą wydajność systemu, ponieważ umożliwia mikrokontrolerowi pracę z większą ilością informacji w tym samym czasie. Ponieważ pamięć RAM jest tylko tymczasowym magazynem dla zapisanych danych, jej zawartość jest kasowana po odłączeniu prądu od mikrokontrolera - RAM to pamięć ulotna.
Wykorzystanie pamięci flash w mikrokontrolerach
Pamięć flash to rodzaj pamięci nieulotnej, która w przeciwieństwie do pamięci RAM, przechowuje dane przez dłuższy czas, nawet jeśli mikrokontroler jest wyłączony. Dzięki temu zapisany program mógł zostać przesłany do mikrokontrolera. Pamięć flash zapisuje jednocześnie „blok” lub „sektor”, więc jeśli musisz tylko ponownie napisać jeden bajt, pamięć flash będzie musiała ponownie napisać cały blok, w którym znajduje się ten bajt, co może zużyć się szybciej.
Co to jest EEPROM i do czego służy w mikrokontrolerach?
EEPROM przypomina pamięć typu Flash, będąc pamięcią nieulotną i zachowując dane nawet po wyłączeniu zasilania. Różnica polega na tym, że podczas gdy pamięć Flash ponownie zapisuje za każdym razem cały blok bajtów, pamięć EEPROM może w dowolnym momencie ponownie zapisać jeden, dowolny konkretny bajt w pamięci. Wydłuża to żywotność pamięci EEPROM w porównaniu z pamięcią Flash, ale oznacza również, że jej implementacja jest droższa.
Interfejs magistrali szeregowej
Interfejs magistrali szeregowej to moduł do szeregowej komunikacji zaimplementowany w mikrokontrolerze, który służy do wysyłania danych bit po bicie. W typowym mikrokontrolerze implementowane są różnego rodzaju interfejsy szeregowe różniące się detalami specyfikacji - UART, SPI, I²C i inne. Dzięki tym interfejsom mikrokontroler łączy się z zewnętrznymi układami scalonymi w systemie, co umożliwia przesyłanie danych. Dzięki wykorzystaniu interfejsów szeregowych, do ich obsługi potrzeba zaledwie kilku pinów mikrokontrolera, dzięki czemu obudowy nie muszą rozrastać się ponad potrzebę.
Porty we / wy mikrokontrolera
Porty GPIO są tym, czego używa mikrokontroler do łączenia się z urządzeniami zewnętrznymi. Wejścia monitorują zmiany w świecie rzeczywistym, od pomiaru temperatury, po wykrywanie ruchu, przyciski i inne. Następnie zebrane dane trafiają do procesora (CPU), a ten decyduje, co z nimi zrobić. Następnie, na podstawie wyniku algorytmów uruchamianych w CPU, układ dochodzi do wniosku, że nadszedł czas, aby wykonać określone polecenia, korzystając z zewnętrznych układów, system wysyła sygnał do portów wyjściowych - GPIO, interfejsów szeregowych i innych. Działanie to może być tak proste jak zapalenie diody LED lub tak skomplikowane jak obsługa szybkiego przetwornika cyfrowo-analogowego. Rysunek 3 pokazuje niektóre typowe komponenty wejściowe i wyjściowe w systemach mikrokontrolerowych.
Rys.3. Ideowe przedstawienie szerokiej gamy wejść i wyjść, jakie można podłączać do mikrokontrolera.
Źródło: https://www.arrow.com/en/research-and-events/articles/engineering-basics-what-is-a-microcontroller
Co to jest mikrokontroler?
Mikrokontroler (czasami nazywany w anglojęzycznym MCU lub uC albo µC) to pojedynczy układ scalony, który jest zwykle używany do określonej aplikacji i przeznaczony do realizacji określonych zadań. Produkty i urządzenia, które muszą być automatycznie kontrolowane w określonych sytuacjach, takie jak urządzenia elektroniczne, elektronarzędzia, systemy sterowania silnikiem samochodowym i komputery są świetnymi przykładami, ale mikrokontrolery sięgają swoimi zastosowaniami znacznie dalej niż tylko te aplikacje.
Zasadniczo mikrokontroler zbiera dane wejściowe, przetwarza zebrane informacje i generuje określone działanie na ich podstawie, korzystając z zaimplementowanych algorytmów. Mikrokontrolery zazwyczaj działają przy niezbyt wysokich częstotliwościach taktowania, w zakresie od 1 MHz do 200 MHz. Dodatkowo muszą być zaprojektowane tak, aby zużywały niewiele energii, ponieważ są zazwyczaj wbudowane w inne urządzenia, które mogą stawiać swoje wymagania co do niewielkiego zużycia prądu, podyktowane na przykład zasilaniem z baterii.
Wewnątrz mikrokontrolera: niezbędne komponenty
Mikrokontroler może być postrzegany jako mały komputer. Wynika tak z faktu, że są w nim zawarte wszystkie niezbędne do działania elementy: jednostka centralna/procesor (CPU), pamięć o dostępie swobodnym (RAM), pamięć Flash, interfejsy magistrali szeregowej, porty wejścia i wyjścia (GPIO), a w wielu przypadkach także programowalne bloki pamięci EEPROM i inne peryferia. Rysunek 1 pokazuje uproszczony schemat opisanych części mikrokontrolera, a także wskazuje, jakie inne peryferia znaleźć mogą się w takim układzie. W dalszej części artykułu omówimy bliżej poszczególne elementy układu.
Konstrukcja CPU mikrokontrolera
CPU, czasami nazywany procesorem lub mikroprocesorem, kontroluje wszystkie otrzymywane instrukcje i przepływ danych w układzie. Można myśleć o nim jak o mózgu systemu, przetwarzającym wszystkie dane wejściowe, które otrzymuje system i wykonuje na nich wymagane instrukcje. Jego dwoma głównymi komponentami są Jednostka Arytmetyczno-Logiczna (ALU), która wykonuje, jak sama nazwa wskazuje, operacje arytmetyczne i logiczne oraz Jednostka Sterująca (CU), która obsługuje wszystkie wykonania instrukcji procesora. Rysunek 2 pokazuje typowy "cykl maszyny", przez który przechodzi procesor.
Pamięć RAM mikrokontrolera
RAM jest rodzajem pamięci, która tymczasowo przechowuje dane i zapewnia szybki do nich dostęp. Różni się od większości innych rodzajów pamięci, ponieważ w nich wydobycie danych trwa o wiele dłużej, gdyż nie są one łatwo dostępne. Nie są to oczywiście wszystkie dane, jakie przechowywane są w różnego rodzaju pamięciach w układzie. Pamięć RAM postrzegać można jako najbardziej zewnętrzną, najbardziej powierzchowną warstwę magazynowania informacji - umożliwia ona niemalże natychmiastowy dostęp do danych, ale jeżeli chcemy zanurkować głębiej, procesor musi odwołać się do wolniejszych magazynów danych (pamięci Flash lub EEPROM).
Pamięć RAM poprawia całkowitą wydajność systemu, ponieważ umożliwia mikrokontrolerowi pracę z większą ilością informacji w tym samym czasie. Ponieważ pamięć RAM jest tylko tymczasowym magazynem dla zapisanych danych, jej zawartość jest kasowana po odłączeniu prądu od mikrokontrolera - RAM to pamięć ulotna.
Wykorzystanie pamięci flash w mikrokontrolerach
Pamięć flash to rodzaj pamięci nieulotnej, która w przeciwieństwie do pamięci RAM, przechowuje dane przez dłuższy czas, nawet jeśli mikrokontroler jest wyłączony. Dzięki temu zapisany program mógł zostać przesłany do mikrokontrolera. Pamięć flash zapisuje jednocześnie „blok” lub „sektor”, więc jeśli musisz tylko ponownie napisać jeden bajt, pamięć flash będzie musiała ponownie napisać cały blok, w którym znajduje się ten bajt, co może zużyć się szybciej.
Co to jest EEPROM i do czego służy w mikrokontrolerach?
EEPROM przypomina pamięć typu Flash, będąc pamięcią nieulotną i zachowując dane nawet po wyłączeniu zasilania. Różnica polega na tym, że podczas gdy pamięć Flash ponownie zapisuje za każdym razem cały blok bajtów, pamięć EEPROM może w dowolnym momencie ponownie zapisać jeden, dowolny konkretny bajt w pamięci. Wydłuża to żywotność pamięci EEPROM w porównaniu z pamięcią Flash, ale oznacza również, że jej implementacja jest droższa.
Interfejs magistrali szeregowej
Interfejs magistrali szeregowej to moduł do szeregowej komunikacji zaimplementowany w mikrokontrolerze, który służy do wysyłania danych bit po bicie. W typowym mikrokontrolerze implementowane są różnego rodzaju interfejsy szeregowe różniące się detalami specyfikacji - UART, SPI, I²C i inne. Dzięki tym interfejsom mikrokontroler łączy się z zewnętrznymi układami scalonymi w systemie, co umożliwia przesyłanie danych. Dzięki wykorzystaniu interfejsów szeregowych, do ich obsługi potrzeba zaledwie kilku pinów mikrokontrolera, dzięki czemu obudowy nie muszą rozrastać się ponad potrzebę.
Porty we / wy mikrokontrolera
Porty GPIO są tym, czego używa mikrokontroler do łączenia się z urządzeniami zewnętrznymi. Wejścia monitorują zmiany w świecie rzeczywistym, od pomiaru temperatury, po wykrywanie ruchu, przyciski i inne. Następnie zebrane dane trafiają do procesora (CPU), a ten decyduje, co z nimi zrobić. Następnie, na podstawie wyniku algorytmów uruchamianych w CPU, układ dochodzi do wniosku, że nadszedł czas, aby wykonać określone polecenia, korzystając z zewnętrznych układów, system wysyła sygnał do portów wyjściowych - GPIO, interfejsów szeregowych i innych. Działanie to może być tak proste jak zapalenie diody LED lub tak skomplikowane jak obsługa szybkiego przetwornika cyfrowo-analogowego. Rysunek 3 pokazuje niektóre typowe komponenty wejściowe i wyjściowe w systemach mikrokontrolerowych.
Rys.3. Ideowe przedstawienie szerokiej gamy wejść i wyjść, jakie można podłączać do mikrokontrolera.
Źródło: https://www.arrow.com/en/research-and-events/articles/engineering-basics-what-is-a-microcontroller
Fajne? Ranking DIY
