Nowe zestawy startowe dla mikrokontrolerów Renesas Synergy
Firma Renesas, jeden z wiodących producentów mikrokontrolerów na świecie, od jakiegoś czasu produkuje i intensywnie wspiera soją nową rodzinę mikrokontrolerów Synergy z rdzeniami Cortex-M ukierunkowaną na zastosowania IoT. Rodzina nowych mikrokontrolerów składa się z czterech serii MCU: S1, S3, S5 i S7 i jest znana pod nazwą MCU Renesas Synergy.
Każda z serii ma trochę inne wyposażenie w układy peryferyjne i różną wydajność rdzenia. Na przykład mikrokontrolery najniższej serii S1 są przeznaczone do pracy z niskim poziomem pobieranej energii, między innymi w aplikacjach zasilanych bateryjnie. Rdzeń jest taktowany z maksymalną częstotliwością 32MHz, a mikrokontroler jest wyposażony w szereg układów peryferyjnych: analogowych, interfejsów komunikacyjnych (w tym USB), oraz układów zwiększających bezpieczeństwo przechowywanych danych i bezpieczeństwo transmisji.
Seria S3 to jednostki uniwersalne, bogato wyposażone w układy peryferyjne analogowe, układy transmisji danych i rozbudowane układy bezpieczeństwa. Rdzeń może być taktowany częstotliwością do 48MHz. Jak się łatwo domyśleć każda z kolejnych wyższych serii będzie lepiej wyposażona w peryferia będzie szybciej taktowana i wyposażona w większe zasoby pamięci programu Flash i pamięcią danych SRAM.
Jednym z elementów wsparcia produkowanych mikrokontrolerów jest oferowanie konstruktorom gotowych modułów ewaluacyjnych wraz z zabudowanymi zewnętrznymi układami peryferyjnymi typu wyświetlacze graficzne, moduły komunikacyjne USART->RS232/485, moduły Wi-Fi, Bluetooth itp. Oczywiście im bogatsze wyposażenie tym moduł będzie droższy. Takim rozbudowanym modułem przeznaczonym do testowania mikrokontrolerów rodziny Synergy jest SK-S7G2. Jest to dobrze wyposażona płytka Renesasa z mikrokontrolerem z najwyższej serii S7. Jednak często projektanci poszukują czegoś prostszego i tańszego, bo ich aplikacje nie wymagają wydajności i wyposażenia zawartego w mikrokontrolerze serii S7, ale tez często nie potrzebują wbudowanych zewnętrznych układów peryferyjnych, za które trzeba zapłacić. Dlatego pojawiają się alternatywne, prostsze i tańsze rozwiązania niezależnych producentów.
Jednym z fenomenów rynku elektronicznego jest system Arduino. Oryginalne moduły procesora mogą obsłużyć dzięki gotowym bibliotekom bardzo dużo układów peryferyjnych od prostych czujników temperatury, wilgotności, ciśnienia itp. po graficzne wyświetlacze LCD, czy moduły komunikacji Bluetooth, GSM, czy Wi-Fi. Niezależni producenci oferują wiele gotowych płytek zgodnych ze sprzętowym standardem Arduino. Wystarczy zaprojektować płytkę ewaluacyjną z dowolnym mikrokontrolerem, mającą złącza zgodne ze standardem , żeby móc korzystać z tych płytek rozszerzeń.
Taka filozofię przyjęli producenci dwu modułów ewaluacyjnych: Glyn EVBSYNS3 i Arrow Aris EDGE.
Moduł Glyn EVBSYNS3
Głównym elementem modułu EVBSYNS3 jest mikrokontroler serii S3 R7SF3A77C3A01CFP. Jest to jednostka z rdzeniem ARM Cortex-M4 taktowana z maksymalną częstotliwością 48MHz. Na rysunku 2 pokazano zestawienie zasobów: pamięci programu i pamięci stałych danych Flash , pamięci danych SRAM i układów peryferyjnych.
Lista układów peryferyjnych jest imponująca. Wystarczy wymienić te najważniejsze:
- Układy analogowe : 14-bitowy przetwornik analogowo cyfrowy, dwa 12-bitowe przetworniki cyfrowo analogowe, dwa szybkie i dwa wolne komparatory, cztery wzmacniacze operacyjne i czujnik temperatury
- Moduły komunikacyjne: USB 2.0 Full Speed z implementacją Compilant witch USB Battery Charging 1.2, dwa układy SPI, trzy układy I2C, moduł transmisyjny CAN, Serial Sound Interface (SSI), IrDa, Quad Serial Peripherial Interface (QSPI), oraz host do obsługi transmisji z kartami SD/MMC.
- Moduły czasowe: dziesięć liczników GPT32 z funkcją PWM, dwa liczniki asynchroniczne AGT, licznik watchdog WDT, zegar RTC (z podtrzymaniem bateryjnym).
- Moduł HMI: sterowniki wyświetlacza LCD SLCDC i układ pojemnościowej klawiatury dotykowej CTSU
- Układy szyfrowania i bezpieczeństwa: AES128/256, GHASH i generator liczb losowych TRNG
- Moduł uniwersalnych linii GPIO
Dokładne dane mikrokontrolera wraz z opisem układów peryferyjnych można znaleźć w dokumentacji zamieszczonej na stronie internetowej producenta : https://www.renesas.com/en-us/products/synergy/microcontrollers/s3-series.html.
Linie sygnałowe najbardziej popularnych interfejsów komunikacyjnych: I2C, UART, SPI i CAN zostały wyprowadzone na zewnątrz poprzez standardowe złącza PMOD (rysunek3) . Za pomocą odpowiednich zworek umieszczonych przy złączach PMOD można wybrać podawanie napięcia +3,3V, lub +5V na wyprowadzenia zasilania VCC PMOD. Na płytce umieszczono też gniazdo na kartę micro SD, złącze USB-A USB Host, złącze USB mini A (zasilanie i USB device) oraz złącze ADAM do podłączenia sterowania układem FT800 EVE.
Wszystkie linie mikrokontrolera wyprowadzono na podwójne listwy goldpinów o rozstawie 2,54 mm. Oprócz tego na płytce zostały umieszczone pola lutownicze do wlutowania złącz z wyprowadzeniem sygnałów i zasileń zgodnych ze standardem Arduino. Źródłem zasilania może być złącze USB device, złącze USB J-Link lub zewnętrzne napięcie o wartości +6…9V (max) podłączone do złącza śrubowego POWER. Napięcie ze złącza POWER jest stabilizowane przez stabilizator LM1117 -5.0 do poziomu +5V. Potem +5V z wyjścia stabilizatora, lub alternatywnie +5V ze złącza USB jest podawane na stabilizator +3,3V LM3940 zasilający mikrokontroler. Wybór rodzaju źródła zasilania +5V odbywa się za pomocą zworki.
Jak już wspominałem mikrokontroler został wyposażony w moduł zegara czasu rzeczywistego RTC z możliwością podtrzymania bateryjnego. Na płytce nie ma baterii, ale można ją sobie podłączyć do dedykowanych punktów lutowniczych. Zworka JP4 umożliwia wybór zasilania RTC z pokładowego napięcia +3,3V, lub z baterii litowej +3V.
Jak na każdym szanującym się module ewaluacyjnym nie mogło zabraknąć przycisków i diod LED. Przyciski i diody LED są na stałe połączone do wybranych linii mikrokontrolera. Do dyspozycji uzytkownika są 3 przyciski, 2 pojedyncze diody LED i jedna dioda LED trójkolorowa.
Bardzo istotnym elementem jest układ programatora debuggera J-Link 2 firmy Segger. Trudno dzisiaj sobie wyobrazić moduł ewaluacyjny, do którego trzeba by było dokupić programator. Nawet w modułach dla tanich mikrokontrolerów 8-bitowych są wbudowywane takie układy. J-Link 2 komunikuje się z komputerem poprzez złącze USB mini A. Jak już wiemy, po podłączeniu do portu USB można też zasilać z niego cały moduł. Schemat elektryczny ze wszystkimi elementami płytki jest dostarczany do zestawu w formie broszury papierowej, ale można go też pobrać ze strony producenta. Niestety obie formy dokumentacji są tylko w języku niemieckim i brak wersji angielskiej jest pewnym niedopatrzeniem producenta.
Moduł ARROW ARIS EDGE Board
Moduł firmy Arrow jest również dostosowany do podłączania peryferii Arduino. Zamontowano tu tylko złącza standardu Arduino i nie ma dodatkowych goldpinów tak jak w poprzednim module. Wynika to najprawdopodobniej z zastosowania mikrokontrolera Serii S1 R7FS124773A01CFM o mniejszej liczbie wyprowadzeń i z założenia bardzo kompaktowych wymiarów samego modułu.
Mikrokontrolery Serii S1 (tu S124) z rdzeniem Cortex-M0+ są przeznaczone do zastosowań wymagających małego poboru energii, w tym w układach zasilanych bateryjnie. Mimo tego, że jest to najniższa seria w rodzinie Synergy, to i tak mikrokontrolery są dość bogato wyposażone w:
- Pamięć programu do 128kB pamięci Flash
- Pamięć danych SRAM do 16kB
- Układy komunikacyjne: USB2.0 Full Spedd, 3x SCI (UART, SPI, IIC), CAN
- Układy analogowe: 14-bitowy ADC, 12-bitowy DAC, szybki komparator i czujnik temperatury
- Układy czasowe: 32-bitwy timer PWM, 6x16bitywych timerów PWM, 2xasynchroniczny timer AGT.
- Układy HMI: układ detekcji pojemnościowych czujników dotykowych
- Układy bezpieczeństwa i krytpologii
- Układy zarządzania pobierana mocą
Koncepcja samego moduły jest trochę inna niż w przypadku Glyn EVBSYNS3. Jak wspominałem zrezygnowano z dodatkowych złącz oprócz złącza Arduino. Za to zostały zamontowane dodatkowe moduły peryferyjne:
- Moduł komunikacyjny MGM111 wspierający komunikację z wykorzystaniem protokołów Bluetooth Low Energy Thread i ZigBee
- Czujnik temperatury i wilgotności Si7013
- Opcjonalny czujnik temperatury, wilgotności i ciśnienia BME280
- Czujnik natężenia światła AMS TSL25711FN
- Czujnik MEMS Bosch BNO055
Na rysunku 6 pokazano rozmieszczenie wbudowanych układów peryferyjnych oraz złącz USB: podłączonego do interfejsu USB mikrokontrolera oraz złącza USB wbudowanego programatora. Dokładnie tak samo jak w module Glyna’a umieszczono tu programator/debugger J-link firmy Segger. Przewidziano możliwość odpięcia sygnałów wbudowanego programatora i podłączenia zewnętrznego programatora. Ponadto sygnały zewnętrznego programatora JTAG można podłączyć do modułu MGM11 przez złącze J4 i do mikrokontrolera Renesas RX621 pracującego jako programator J-Link 2.
Wbudowane układy peryferyjne komunikują się z mikrokontrolerem za pomocą szeregowych magistral: I2C, SPI i USART. Pokazano to na rysunku 7. Oprócz zaawansowanych układów peryferyjnych na płytce umieszczono przycisk zerowania mikrokontrolera RESET oraz przycisk SW2.
Jak wspominałem zastosowano tutaj mikrokontroler o stosunkowo małej liczbie wyprowadzeń. Zamontowanie dodatkowych układów peryferyjnych korzystających z wyprowadzeń mikrokontrolera wymaga możliwości sprzętowego konfigurowania tych wyprowadzeń. W przypadku najbardziej rozbudowanego układu MGM111 wszystkie konieczne linie sterujące są dołączone do mikrokontrolera poprzez rezystory – zworki. Są to wlutowane w płytkę elementy SMD o rozmiarze 0805. Kiedy układ MGM111 nie jest wykorzystywany można te rezystory wylutować i wykorzystać linie mikrokontrolera w innym celu – rysunek 8.
Moduł może być zasilany ze: złącza mini USB podłączonego do programatora J-link, złącza micro USB portu USB mikrokontrolera lub z baterii podłączonej do złącza B1. Przełączanie zasilania USB-bateria odbywa się przez zwieranie styków specjalnego złącza, domyślnie jest wybrane zasilanie z portu USB.
Podsumowanie
Oba przedstawione tu moduły są ciekawą propozycją dla wszystkich tych, którzy chcieliby się zapoznać z możliwościami mikrokontrolerów rodziny Synergy. Wyposażenie złącza standardu Arduino i dodatkowe układy peryferyjne znacznie zwiększa możliwości eksperymentowania z nowymi elementami, a wbudowany programator J-Link 2 umożliwia natychmiastowe rozpoczęcie pracy we współpracy ze środowiskiem projektowym e2studio. Czekamy na więcej.