Precision32 – nowe mikrokontrolery firmy Silicon Labs z rdzeniem ARM Cortex-M3
Następnym zasobem cyfrowym są linie ogólnego przeznaczenia (I/O – Input/Output). Jest ich, w zależności od modelu mikrokontrolera, od 28 do 65. Co ważne, 12 z nich toleruje zakres napięcia wejściowego 5 V, niezależnie od poziomu napięcia zasilania. Dodatkowo 6 linii I/O jest wysokoprądowych. Maksymalny prąd wyjściowy każdej z nich to 300 mA.
Ostatnim z peryferiów cyfrowych jest tak zwany Crossbar. Jest to autorski mechanizm firmy Silicon Labs, który umożliwia bardzo elastyczną konfigurację przyporządkowania peryferiów mikrokontrolera do jego wyprowadzeń. W rodzinie Precision32 występują dwa niezależne moduły Crossbar. Crossbar 0 odpowiada za przyporządkowanie peryferiów do pinów z grupy PB0 i PB1, natomiast Crossbar 1 pozwala na przyporządkowanie peryferiów do pinów z grupy PB2 i PB3 (rysunek 9).
Rys. 9. Crossbar
Wnioski
Na bazie przedstawionego opisu budowy wewnętrznej mikrokontrolerów Precision32 możemy podjąć się próby odpowiedzenia na postawione na początku artykułu pytania odnośnie tego, czym wyróżniają się te układy na tle innych, licznych mikrokontrolerów z rdzeniem ARM-Cortex-M3 i czy cechy te są wystarczające, aby zapewnić im komercyjny sukces.
Pierwszą cechą wyróżniającą rodzinę układów Precision32, która rzuca się w oczy jest mnogość zintegrowanych peryferiów. W mikrokontrolerach firmy Silicon Labs znajdziemy większość zasobów, które występują w innych mikrokontrolerach, co czyni te układy bardzo uniwersalnymi w zastosowaniu. Co jednak bardziej istotne, producent ponadto zintegrował w swoich mikrokontrolerach również zasoby bardziej unikatowe, z których każde eliminuje konieczność stosowania swojego odpowiednika na zewnątrz mikrokontrolera:
- Źródła sygnału zegarowego umożliwiają uzyskanie maksymalnej częstotliwości taktowania mikrokontrolera (80 MHz) eliminując konieczność stosowania zewnętrznego rezonatora kwarcowego o częstotliwości >= 1MHz.
- Źródła sygnału zegarowego LFOSC0 i RTC0OSC umożliwiają działanie zegara czasu rzeczywistego eliminując konieczność stosowania zewnętrznego rezonatora kwarcowego o częstotliwości 32.768 kHz.
- Źródło sygnału zegarowego USBOSC umożliwia działanie interfejsu USB eliminując konieczność stosowania zewnętrznego rezonatora kwarcowego 48 MHz.
- Regulator napięcia VREG0 pozwala wyeliminować zewnętrzny regulator napięcia i zasilać mikrokontroler napięciem z zakresu 2.7 – 5.5 V, a więc np. bezpośrednio z gniazda USB (alternatywne można nie używać wbudowanego regulatora napięcia i zasilać mikrokontroler bezpośrednio napięciem z zakresu 1.8 – 3.6 V).
- Regulator napięcia EXTVREG0 pozwala wyeliminować zewnętrzny regulator napięcia i zasilać zewnętrzne układy scalone bezpośrednio z mikrokontrolera (możliwe jest ustawienie napięcia wyjściowego o wartości z przedziału 1.8 – 3.6 V z krokiem 100 mV, wydajność prądowa regulatora wynosi 1 A).
- 6 wysokoprądowych linii I/O (każda o maksymalnej wartości prądu wyjściowego 300 mA) pozwala na bezpośrednie sterowanie z mikrokontrolera np. diod LED dużej mocy, buzzerów itp., eliminując potrzebę stosowania zewnętrznych tranzystorów sterujących.
- Kompletny interfejs USB 2.0 Full Speed (PHY, obwód terminujący, rezystor dołączony do linii USB D+) eliminuje potrzebę dołączenia do mikrokontrolera jakichkolwiek komponentów, potrzebnych do komunikacji USB.
- Przetwornik pojemnościowo-cyfrowy pozwala na bezpośredni odczyt przez mikrokontroler stanów przycisków pojemnościowych, eliminując konieczność stosowania zewnętrznego kontrolera lub przycisków mechanicznych.
Zintegrowanie w mikrokontrolerach Precision32 wymienionych wyżej zasobów pozwala na zmniejszenie kosztów projektowanego urządzenia, jak również zmniejszenie jego powierzchni (rysunek 10).
Rys. 10. Zintegrowane w mikrokontrolerach Precision32 zasoby umożliwiają zmniejszenie kosztów i powierzchni urządzenia
Drugą istotną cechą mikrokontrolerów Precision32 jest ich niski pobór prądu (przykładowe wartości pobieranego prądu wymieniono w artykule). Według zapewnień firmy Silicon Labs mikrokontrolery Precision32 są najbardziej energooszczędnymi układami z rdzeniem ARM Cortex i interfejsem USB na rynku.
Ciekawą funkcjonalnością mikrokontrolerów Precision32 jest mechanizm Crossbar. Możliwość elastycznego przyporządkowania peryferiów do pinów mikrokontrolera jest funkcjonalnością, która może pomóc optymalnie zaplanować płytkę PCB upraszczając układ ścieżek i zmniejszając efektywnie jej powierzchnię.
O wartości mikrokontrolerów Precision32 świadczy również niewspomniana wcześniej wysoka jakość przetworników, z których firma Silicon Labs jest znana. Przykładowym dowodem o tym świadczącym jest działanie i zachowanie parametrów przez przetworniki w całym zakresie napięcia zasilania i w pełnym przedziale temperatury pracy mikrokontrolerów.
Podsumowanie
Liczne zintegrowane zasoby oraz niski pobór prądu wydają się być największymi atutami nowej rodziny mikrokontrolerów firmy Silicon Labs. Istnieje szereg aplikacji, gdzie cechy te są niezwykle pożądane. Potencjalne zastosowania tych mikrokontrolerów to chociażby wszelkiego rodzaju urządzenia przenośne z interfejsem USB, przy czym producent podaje dużo szerszą grupę zastosowań: przenośne urządzenia medyczne, sterowniki silników, skanery kodów kreskowych, urządzenia systemów monitoringu i automatyki budynkowej. Jeśli producent oferował będzie dla swoich mikrokontrolerów wartościowe i tanie narzędzia rozwojowe, a cena układów będzie przystępna (konkurencyjna), można oczekiwać, że mikrokontrolery Precision32 nie będą narzekać na brak zainteresowania ze strony firm projektujących urządzenia elektroniczne.
Firma Silicon Labs planuje rozwijanie rodziny mikrokontrolerów Precision32. Producent zapowiedział rozszerzenie w przyszłości oferty tych układów o modele wyposażone w interfejs CAN i Ethernet.
Literatura
[1] www.silabs.com “SIM3U1xx/SIM3C1xx datasheet“[2] www.silabs.com “SIM3U1xx/SIM3C1xx reference manual“
[3] Joseph Yiu “The Definitive Guide to the ARM Cortex-M3”
[4] www.arm.com “An Introduction to the ARM Cortex-M3 Processor”
[5] www.arm.com “Cortex-M3 Technical Reference Manual”
[6] Krzysztof Paprocki “Mikrokontrolery STM32 w praktyce”
[7] Marek Galewski “STM32 Aplikacje i ćwiczenia w języku C”