Na rysunku 1 pokazano zasoby procesorów z rodziny S3: pamięci programu i pamięci stałych danych Flash, pamięci danych SRAM i układów peryferyjnych. Zależnie od typu mikrokontrolera mamy do dyspozycji do 1 MB pamięci programu Flash, do 16 kB programowanej stałej pamięci Flash przeznaczonej dla danych użytkownika oraz do 192 kB pamięci danych SRAM.
Wydajny i energetycznie oszczędny rdzeń jest obudowany wieloma zaawansowanymi modułami peryferyjnymi. Najważniejsze z nich to:
- Interfejsy komunikacyjne: USB 2.0 Full Speed z implementacją Compilant with USB Battery Charging 1.2, USB2.o Full Speed z funkcją hosta, 6 szeregowych uniwersalnych kanałów SCI, które można zaprogramować jako USART, I2C (master), SPI, lub interfejs Smart Card, 2×SPI, 3×I2C, CAN, Serial Sound Interface (SSI), IrDa, Quad Serial Peripherial Interface (QSPI), 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.
Mikrokontroler R7FS3A37A3A01CFM zamontowany w module Aris Edge S3A3 jest umieszczony w 64-pinowej obudowie LQFP do montażu powierzchniowego i ma wbudowane 512 KB pamięci programu Flash, 96 kB pamięci danych SRAM i 8 KB stałej pamięci danych Flash. Mamy tu do dyspozycji 52 linie I/O, 6 kanałów uniwersalnego interfejsu komunikacyjnego SCI, po 2 interfejsy SPI i I2C, 14 bitowy przetwornik ADC z maksymalnie 18 kanałami pomiarowymi, 12 bitowy przetwornik DAC, interfejs USBFS, oraz liczniki PWM o rozdzielczości 16 i 32 bity i 4 kanały DMA. Jest też moduł DTC (Data Transfer Controller), który z punktu widzenia użytkownika działa jak kanał DMA obsługujący dużą ilość transferów.
Pomimo kompaktowych wymiarów 70 mm×53 mm oprócz mikrokontrolera i układu debugera na płytce umieszczono dwa rzędy wyprowadzeń zgodnych ze standardem Arduino, oraz szereg ciekawych układów peryferyjnych:
- Moduł komunikacyjny MGM111 realizujący komunikację z wykorzystaniem protokołów Bluetooth Low Energy Thread i ZigBee.
- Czujnik temperatury i wilgotności i ciśnienia atmosferycznego Bosch BME280.
- Czujnik natężenia światła AMS TSL25711FN.
- Czujnik położenia MEMS Bosch BNO055.
Przycisk SW1, dwie diody LED, oraz buzzer mogą być wykorzystane do budowy nieskomplikowanego interfejsu użytkownika. Na rysunku 2 pokazano schematycznie strukturę budowy modułu z zaznaczeniem rodzajów sensorów i modułów, oraz magistral wykorzystywanych do komunikacji. Rysunek 3 pokazuje płytkę drukowaną z umieszczeniem układów: mikrokontrolera i układów zabudowanych sensorów.
Jak widać budowa modułu jest przemyślana i ma wiele zalet:
- Kompaktowa, zwarta obudowa, w której umieszczono złącza standardu Arduino.
- Wbudowany programator/debugger Segger J-link.
- Wydajny, oszczędny mikrokontroler Renesas Synergy z rodziny S3.
- Umieszczenie na płytce zaawansowanych układów peryferyjnych i złącza USB Host.
Sprzętowo płytka jest przygotowana do testowania aplikacji IoT. Jednak sam sprzęt to nie wszystko. Renesas oferuje bardzo silne wsparcie narzędziowe dla programistów. Można używać bezpłatnego świetnego firmowego pakietu IDE znanego jako e2studio zintegrowanego z firmowym pakietem bibliotek SSP. Od niedawna jest dostępny również bezpłatny pakiet IAR Embedded Workbench przeznaczony dla projektów z mikrokontrolerami Renesas Synergy. Pakiet IAR współpracuje z samodzielnym konfiguratorem SSC dystrybuowanym przez Renesasa. To wsparcie powoduje, że IAR Workbench ma takie same możliwości używania bibliotek SSP i ich konfigurowania jak to jest możliwe w e2studio.
W sieci jest dostępnych wiele programów przykładowych i not aplikacyjnych pozwalających na bezproblemowe rozpoczęcie pracy z mikrokontrolerami Renesas Synergy. Dla opisywanego modułu firma Reloc przygotowała wsparcie projektów tworzonych w środowisku e2studio w postaci pliku z rozszerzeniem .PACK. Pliki PACK są integralnie związane z wersją biblioteki SSP i należy ich używać w projektach z wybraną właściwą wersją SSP. Dla modułu w momencie pisania artykułu były dostępne pliki Reloc.Aris_Edge3.1.3.3.PACK przeznaczony dla wersji SSP V1.3.3 i Reloc.Aris_Edge3.1.4.0.PACK przeznaczony dla wersji SSP V1.4.0. Użycie tych plików pokażemy na podstawie przykładowego projektu środowiska e2studio v 6.2.0 i biblioteki SSP V1.4.0.
Wybór aris_edge3 w oknie Board powoduje, ze konfigurator projektu umieści kilka plików dodatkowych w folderze aris_edge3 – zostało to pokazane na rysunku 9. Poza definiowaniem diod LED D2 i D3 (listing 2) nie znajdziemy tam zbyt wielkiego wsparcia dla układów peryferyjnych. Dlatego należy je traktować jako szkielet wypełniany przez użytkownika zależnie od potrzeb.
Tomasz Jabłoński, EP