Projektowanie
article miniature

Wykorzystanie zoptymalizowanego mikrokontrolera 8-bitowego do uproszczenia projektowania urządzeń o ograniczonych zasobach

Dla projektantów urządzeń o ograniczonym poborze mocy i ograniczonej przestrzeni, takich jak elektronarzędzia, produkty higieny osobistej, zabawki, urządzenia i sterowanie oświetleniem, tradycyjnie wystarcza 8-bitowy mikrokontroler MCU. Jednak wraz z ewolucją zastosowań, wymagają one większych prędkości, mocniejszych urządzeń peryferyjnych i solidniejszych programowych narzędzi rozwojowych. Pomocne może być przejście na wariant 16-bitowy lub 32-bitowy, ale często odbywa się to kosztem większych rozmiarów obudowy i większego poboru mocy.

Aby rozwiązać te problemy, projektanci mogą skorzystać z mikrokontrolerów MCU opartych na architekturze 8051, która wnosi wiele zalet procesorów 16-bitowych i 32-bitowych do kategorii urządzeń 8-bitowych. Mają one rozmiary zaledwie 2 x 2mm i oferują nowoczesne środowisko deweloperskie.

W niniejszym artykule opisano pokrótce architekturę 8051 i jej przydatność do zastosowań o ograniczonych zasobach. Następnie przedstawiono grupę mikrokontrolerów MCU opartych na architekturze 8051 firmy Silicon Labs, opisano główne podsystemy i pokazano, w jaki sposób każdy z nich radzi sobie z krytycznymi wyzwaniami projektowymi. Artykuł kończy się omówieniem wsparcia sprzętowego i programowego.

Dlaczego warto korzystać z architektury 8051?

Przy wyborze mikrokontrolera MCU do zastosowań o bardzo ograniczonej przestrzeni, procesory 8-bitowe, takie jak dobrze znany 8051, oferują wiele zalet, w tym niewielką zajmowaną powierzchnię, niski pobór mocy i prostą konstrukcję. Jednak wiele procesorów 8051 ma stosunkowo proste urządzenia peryferyjne, co ogranicza ich przydatność w określonych przypadkach użycia. Na przykład przetworniki analogowo-cyfrowe (ADC) niskiej rozdzielczości są niewystarczające do zastosowań o wysokiej precyzji, takich jak urządzenia medyczne.

Problemem mogą być również stosunkowo wolne zegary. Typowy mikrokontroler MCU 8051 działa z częstotliwościami zegara od 8MHz do 32MHz, a starsze konstrukcje wymagają wielu cykli zegara do przetwarzania instrukcji. Tak niska prędkość może ograniczać zdolność 8-bitowych mikrokontrolerów MCU do obsługi operacji czasu rzeczywistego, takich jak precyzyjne sterowanie silnikami.

Ponadto tradycyjne programowe środowiska deweloperskie dla procesorów 8051 nie odpowiadają oczekiwaniom współczesnych twórców oprogramowania. W połączeniu z nieodłącznymi ograniczeniami architektury 8-bitowej może to skutkować powolnymi i frustrującymi procesami kodowania.

Ograniczenia tradycyjnych procesorów 8-bitowych mogą skłaniać deweloperów do rozważenia przejścia na 16-bitowe lub 32-bitowe mikrokontrolery MCU. Chociaż omawiane mikrokontrolery MCU oferują wystarczającą moc obliczeniową, wysokowydajne peryferia i nowoczesne środowiska programowe są również stosunkowo duże. To sprawia, że trudniej jest je zintegrować w projektach o ograniczonej przestrzeni, co może opóźnić prace rozwojowe lub zwiększyć rozmiary projektu.

Jeśli chodzi o 16-bitowe i 32-bitowe mikrokontrolery MCU, do nieoptymalnych projektów mogą również prowadzić zwiększone rozmiary kodu i pobór mocy. Wady te są szczególnie problematyczne w przypadku wielu zastosowań, które nie wymagają skomplikowanej matematyki, a zatem nie wykorzystują zaawansowanych możliwości tych procesorów.

Idealny kompromis między wspomnianymi wadami i zaletami może nie być oczywisty na początku projektu, a zmiana procesorów w trakcie projektowania może opóźnić prace rozwojowe, bądź wpłynąć negatywnie na rozmiary lub funkcjonalność produktu. W związku z tym, w wielu projektach o ograniczonej przestrzeni można zastosować bardziej wydajny mikrokontroler MCU oparty na architekturze 8051, który przenosi wiele zalet procesorów 16-bitowych i 32-bitowych do kompaktowych, 8-bitowych urządzeń niskiej mocy.

EFM8BB50 zwiększa funkcjonalność 8-bitowych mikrokontrolerów MCU

Mając na uwadze powyższe kwestie, firma Silicon Labs zbudowała grupę 8-bitowych mikrokontrolerów MCU EFM8BB50 (ilustracja 1). Omawiane mikrokontrolery MCU oferują podwyższone parametry, zaawansowane peryferia i nowoczesne środowisko programowe.

Schemat blokowy mikrokontrolera MCU EFM8BB50 firmy Silicon Labs (kliknij, aby powiększyć)Ilustracja 1: schemat blokowy mikrokontrolera MCU EFM8BB50. (Źródło ilustracji: Silicon Labs)

Sercem mikrokontrolera MCU jest rdzeń 8051 CIP-51 stanowiący implementację architektury 8051 firmy Silicon Labs, zoptymalizowaną pod kątem zwiększenia wydajności, zmniejszenia poboru mocy i zwiększenia funkcjonalności. Na szczególną uwagę zasługują parametry działania. Rdzeń urządzenia EFM8BB50 osiąga prędkości dochodzące do 50MHz, a 70% instrukcji jest wykonywanych w jednym lub dwóch cyklach zegara. Dzięki temu mikrokontrolery MCU charakteryzują się znacznie wyższą wydajnością w porównaniu z tradycyjnymi procesorami 8-bitowymi, zapewniając deweloperom przestrzeń do pracy w bardziej złożonych zastosowaniach.

Mikrokontrolery MCU wyróżniają się również niewielkimi rozmiarami. 16-wtykowe warianty z tej grupy, takie jak EFM8BB50F16G-A-QFN16, są dostępne w obudowach zaledwie 2,5mm x 2,5mm. Wersje 12-wtykowe, takie jak EFM8BB50F16G-A-QFN12 są jeszcze mniejsze, a ich rozmiary nie przekraczają 2mm x 2mm.

Pomimo niewielkich rozmiarów, mikrokontrolery MCU EFM8BB50 oferują mnóstwo imponujących funkcji, takich jak:

  • 12-bitowy przetwornik analogowo-cyfrowy (ADC), który jest niezbędny w zastosowaniach wymagających dokładnych danych z czujników
  • Zintegrowany czujnik temperatury umożliwiający mikrokontrolerowi MCU monitorowanie temperatury wewnętrznej lub temperatury otoczenia bez konieczności stosowania komponentów zewnętrznych
  • Trójkanałowa programowana macierz liczników (PCA) z modulacją szerokości impulsu (PWM), która może generować sygnały PWM w celu zmiennego sterowania wyjściem w zastosowaniach takich jak sterowanie silnikami i regulacja jasności diod LED
  • Trójkanałowy aparat modulacji szerokości impulsu (PWM) z wstawianiem czasu martwego (DTI) do dodatkowego sterowania układami energoelektronicznymi, takimi jak sterowniki silników lub przetwornice mocy

Inne wejścia-wyjścia (I/O) to m.in. różnorodne interfejsy komunikacji szeregowej, zestaw 8-bitowych i 16-bitowych układów czasowych oraz cztery konfigurowane jednostki logiczne. Wszystkie wtyki w grupie mikrokontrolerów MCU obsługują napięcie 5V, a cyfrowe wejścia-wyjścia można elastycznie przypisywać w celu maksymalnego wykorzystania ograniczonej liczby wtyków.

Zaawansowane zarządzanie zasilaniem

Urządzenie EFM8BB50 zawiera kilka funkcji zarządzania energią w celu optymalizacji poboru mocy i wydłużenia czasu pracy baterii. Są to na przykład tryby zasilania, takie jak tryb bezczynności, który obniża prędkość zegara rdzenia przy jednoczesnym utrzymaniu aktywności urządzeń peryferyjnych. Tryb zatrzymania idzie dalej, zatrzymując rdzeń i większość urządzeń peryferyjnych przy jednoczesnym zachowaniu pamięci RAM i zawartości rejestrów. Niektóre urządzenia peryferyjne można ustawić tak, aby wybudzały rdzeń z trybu zatrzymania, co jest korzystne w zastosowaniach sterowanych zdarzeniami, które przeważnie pozostają w stanie niskiej mocy.

Elastyczne opcje taktowania dodatkowo zwiększają oszczędność energii. Precyzyjny oscylator wewnętrzny w wielu przypadkach eliminuje potrzebę stosowania zewnętrznych oscylatorów krystalicznych, zmniejszając ogólny pobór mocy. Mikrokontroler MCU obsługuje również bramkowanie zegarów, które selektywnie wyłącza zegary różnych urządzeń peryferyjnych, umożliwiając deweloperom wyłączanie tych, które nie są używane.

Urządzenia peryferyjne zaprojektowano również z myślą o sprawności energetycznej. Przede wszystkim konfigurowalna jednostka logiczna (CLU) może samodzielnie wykonywać proste funkcje logiczne, co zmniejsza potrzebę wybudzania rdzenia z trybów niskiej mocy do prostych zadań. Ponadto niskoenergetyczny uniwersalny asynchroniczny nadajniko-odbiornik (LEUART) może pracować w trybach zasilania, w których oscylator główny jest wyłączony, co pozwala na komunikację szeregową w stanach niskiej mocy.

Możliwość intuicyjnego tworzenia oprogramowania

Deweloperzy mogą tworzyć oprogramowanie dla grupy EFM8BB50 w oprogramowaniu Simplicity Studio Suite firmy Silicon Labs. To środowisko jest wykorzystywane przez 8-bitowe urządzenie EFM8BB50, 32-bitowe mikrokontrolery MCU firmy i jej bezprzewodowe układy SoC. W rezultacie deweloperzy otrzymują nowoczesne środowisko z funkcjami, których spodziewaliby się po mocniejszych procesorach. Na przykład oferuje ono narzędzie do profilowania energii, które zapewnia profilowanie kodu pod kątem mocy w czasie rzeczywistym (ilustracja 2).

Ilustracja przedstawiająca oprogramowanie Simplicity Studio z narzędziem do profilowania energii firmy Silicon Labs (kliknij, aby powiększyć)Ilustracja 2: oprogramowanie Simplicity Studio zawiera narzędzie do profilowania energii, które umożliwia profilowanie kodu pod kątem mocy w czasie rzeczywistym. (Źródło ilustracji: Silicon Labs)

Omawiane narzędzia są zbudowane na bazie zintegrowanego środowiska deweloperskiego (IDE) ze standardowymi w branży edytorami kodu, kompilatorami, debuggerami oraz aparatem interfejsu użytkownika (UI) do tworzenia nowoczesnych, responsywnych interfejsów. Wspomniane środowisko deweloperskie zapewnia dostęp do zasobów sieci Web i zasobów zestawu rozwojowego oprogramowania (SDK) specyficznych dla danego urządzenia, a także do specjalistycznego oprogramowania i narzędzi do konfiguracji sprzętu.

Oprogramowanie Simplicity Studio obsługuje również pakiet Secure Vault firmy Silicon Labs. Secure Vault to wysoce zaawansowany pakiet zabezpieczeń z poziomem certyfikacji PSA 3, który pozwala projektantom na wzmocnienie bezpieczeństwa urządzeń Internetu rzeczy (IoT) i ochronę ich obszarów narażonych na ataki przed eskalacją zagrożeń cybernetycznych, przy jednoczesnej zgodności z ewoluującymi przepisami dotyczącymi cyberbezpieczeństwa.

Szybkie rozpoczęcie pracy z zestawami ewaluacyjnymi

Deweloperzy zainteresowani eksperymentowaniem z urządzeniem EFM8BB50 mogą rozważyć sięgnięcie po zestaw badawczy BB50-EK2702A, ukazany na ilustracji 3. Omawiany zestaw o niewielkich rozmiarach dopasowano do wymiarów płytki prototypowej, co ułatwia mocowanie do systemów prototypowych i sprzętu laboratoryjnego. Posiada on interfejs USB, wbudowany debugger SEGGER J-Link, diodę LED oraz przycisk interakcji z użytkownikiem. Zestaw jest w pełni obsługiwany przez pakiet Simplicity Studio Suite i może być używany z narzędziem do profilowania energii. Przedstawiono przykładowe oprogramowanie dla poszczególnych urządzeń peryferyjnych, a demonstracje wykorzystują diodę LED, przycisk i uniwersalny asynchroniczny nadajniko-odbiornik (UART).

Ilustracja przedstawiająca zestaw badawczy BB50-EK2702A firmy Silicon LabsIlustracja 3: zestaw badawczy BB50-EK2702A. (Źródło ilustracji: Silicon Labs)

Zestaw zawiera gniazdo mikroBUS oraz złącze Qwiic. Ta dodatkowa obsługa sprzętowa pozwala deweloperom na szybkie tworzenie i prototypowanie aplikacji przy użyciu gotowych płytek od różnych dostawców.

Deweloperzy zainteresowani bardziej rozbudowanym punktem wyjścia mogą skorzystać z zestawu profesjonalnego BB50-PK5208A, pokazanego na ilustracji 4. Ten zestaw, zaprojektowany z myślą o dogłębnej ewaluacji i testowaniu, zawiera czujniki oraz urządzenia peryferyjne demonstrujące wiele możliwości mikrokontrolera MCU.

Ilustracja przedstawiająca zestaw profesjonalny BB50-PK5208A firmy Silicon LabsIlustracja 4: na ilustracji przedstawiono zestaw profesjonalny BB50-PK5208A do dogłębnej ewaluacji i testów. (Źródło ilustracji: Silicon Labs)

Zestaw profesjonalny zawiera łączność USB, wyświetlacz LCD 128 x 128 pikseli ultraniskiej mocy, ośmiokierunkowy dżojstik analogowy, diodę LED oraz przycisk użytkownika. Zawiera również czujnik wilgotności względnej i temperatury Si7021 oraz wiele źródeł zasilania, w tym USB i baterię pastylkową.

Na potrzeby rozbudowy płytka oferuje 20-wtykową listwę 2,54mm. Zawiera również pola rozdzielcze umożliwiające bezpośredni dostęp do wtyków wejść-wyjść. Podobnie jak w przypadku zestawu badawczego, również zestaw profesjonalny obsługuje narzędzie do profilowania energii i jest dostarczany z przykładowym oprogramowaniem dla poszczególnych urządzeń peryferyjnych.

Opcje debuggerów EFM8BB50

Firma Silicon Labs oferuje wiele debuggerów do obsługi swoich mikrokontrolerów MCU. Na potrzeby debugowania ogólnego przeznaczenia, firma oferuje 8-bitowy adapter debugowania USB DEBUGADPTR1-USB posiadający proste złącze 10-wtykowe.

Bardziej wyspecjalizowane funkcje są dostępne w debuggerze Simplicity Link SI-DBG1015A. Łączy się on z interfejsem Mini Simplicity zawartym w obu wspomnianych powyżej zestawach. Oprócz podstawowych funkcji, debugger Simplicity Link oferuje dodatkowe możliwości, takie jak debugger SEGGER J-Link, interfejs śledzenia pakietów, wirtualny port COM oraz pola rozdzielcze do łatwego sondowania poszczególnych sygnałów.

Podsumowanie

Nowoczesne mikrokontrolery MCU 8051, na przykład EFM8BB50, mimo iż są urządzeniami 8-bitowymi, posiadają funkcje kojarzone zwykle z urządzeniami 16-bitowymi i 32-bitowymi. Dzięki wysokim częstotliwościom zegara, wysokowydajnym peryferiom i niezawodnemu programowemu środowisku deweloperskiemu, omawiana grupa mikrokontrolerów MCU zapewnia deweloperom odpowiedni zestaw możliwości dla coraz większej liczby zastosowań, w których przestrzeń i moc są ograniczone, ale wymagane są większe parametry i elastyczność.

Źródło: Wykorzystanie zoptymalizowanego mikrokontrolera 8-bitowego do uproszczenia projektowania urządzeń o ograniczonych zasobach

Kontakt w Polsce: poland.support@digikey.pl

Autor: Rolf Horn

Rolf Horn, Applications Engineer at DigiKey, has been in the European Technical Support group since 2014 with primary responsibility for answering any Development and Engineering related questions from final customers in EMEA, as well as writing and proof-reading German articles and blogs on DK’s TechForum and maker.io platforms. Prior to DigiKey, he worked at several manufacturers in the semiconductor area with focus on embedded FPGA, Microcontroller and Processor systems for Industrial and Automotive Applications. Rolf holds a degree in electrical and electronics engineering from the university of applied sciences in Munich, Bavaria and started his professional career at a local Electronics Products Distributor as System-Solutions Architect to share his steadily growing knowledge and expertise as Trusted Advisor.

Hobbies: spending time with family + friends, travelling in our VW-California transporter and motorbiking on a 1988 BMW GS 100.

Zapraszamy na TEK.day Gdańsk, 26 września 2024Zapisz się już dziś!