Wspomniany produkt zawiera mikrokontroler SAMD21G18A firmy Microchip Technology z rdzeniem ARM Cortex M0+ o maksymalnej częstotliwości taktowania 48 MHz i układ FPGA Cyclone 10CL016 firmy Intel posiadający 15408 programowalnych bloków logicznych, 340 wyprowadzeń I/O, pamięć RAM o pojemności 504 kb oraz 56 bloków DSP. Ponadto wyprowadzenia cyfrowe razem z wyjściami PWM i wyprowadzeniami analogowymi, z czego dwa pierwsze są dołączone do obydwu układów, a ostatnie do mikrokontrolera przez dwudziestokanałowy przetwornik analogowo-cyfrowy, którego trzy rozdzielczości to: 8, 10 i 12 bitów oraz przetwornik cyfrowo-analogowy z rozdzielczością 10 bitów. Pamięci SAMD21G18A to: SRAM o pojemności 32 KB oraz Flash o pojemności 256 KB. Natomiast jego interfejsami są: I2S, I2C, SPI, UART i USB 2.0. Wraz z nimi występują trzy wyprowadzenia napięciowe - dwa wyjścia o napięciach 3,3 V i 5 V oraz wejście Vin obsługujące napięcia 5-6 V. Co więcej, moduł radiowy NINA W102 firmy u-blox implementujący następujące interfejsy bezprzewodowe: Bluetooth Low Energy 4.2, Bluetooth 4.2+EDR i Wi-Fi 4,2 GHz b/g/n. Dodatkowo są dostępne pamięci: SDRAM o pojemności 8 MB i QSPI Flash o pojemności 2 MB, które wspierają układ FPGA, dołączone do tego układu złącza: MIPI CSI i MiniPCIe oraz gniazdo MicroHDMI, obsługiwane przez mikrokontroler złącze SHR-05V-S-B dla interfejsu I2C, układ kryptograficzny ATECC608A firmy Microchip Technology, dzięki któremu komunikacja z zestawem może być prowadzona z dużym poziomem bezpieczeństwa, czy dioda RGB obsługiwana przez układy z początku (w różnym zakresie).
Programowanie Arduino MKR Vidor 4000 jest dwojakie: w przypadku mikrokontrolera należy posłużyć się kablem USB lub złączem ICSP dla zewnętrznych programatorów, podczas dla układu FPGA portem JTAG dla zewnętrznych programatorów zgodnych ze sterownikiem USB Blaster bądź mikrokontrolerem po wgraniu do niego kodu uwzględniającego plik formatu Tabular Text File (.ttf) lub emulacji na nim przytoczonego wyżej sterownika (opcja eksperymentalna). Z kolei zasilanie zestawu jest trojakie: wejście Vin, gniazdo JST S2B-PH-SM4-TB(LF)(SN) dedykowane baterii litowo-jonowej (Li-Ion) oraz litowo-polimerowej (Li-Po), o napięciu nominalnym 3,7 V i pojemności najmniej 1024 mAh, bądź kabel USB. Wspomniane baterie można ładować korzystając z układu BQ24195L firmy Texas Instruments wysterowywanego zarówno przez mikrokontroler, jak i układ FPGA.
Obsługę produktu zapewnia darmowe środowisko Arduino IDE wspomagane przez darmowe środowisko Intel Quartus umożliwiające tworzenie rozwiązań na układ FPGA. Zestaw jest przeznaczony do współpracy z usługą Arduino IoT Cloud. Brak w nim kabla USB.
Specyfikacja produktu:
- Mikrokontroler SAMD21G18A firmy Microchip Technology:
- Rdzeń: Cortex M0+ firmy ARM (pojedynczy)
- Rodzaj architektury: RISC
- Długość magistrali danych: 32 bity
- Maksymalna częstotliwość taktowania: 48 MHz
- Liczba wyprowadzeń I/O: 52
- Pamięci:
- SRAM: 32 KB
- Flash: 256 KB
- Interfejsy:
- I2S:
- Obsługa dwóch kanałów
- I2C:
- Maksymalna częstotliwość pracy: 3,4 MHz
- SPI:
- Obsługa trybu full-duplex
- UART:
- Tryby pracy: half-duplex i full duplex
- USB 2.0:
- Standard: Full Speed
- Maksymalna przepływność: 12 Mb/s
- I2S:
- Przetwornik analogowo-cyfrowy (ADC):
- Liczba kanałów: 20
- Rozdzielczość: 8, 10 I 12 bitów (konfigurowalna)
- Częstotliwość próbkowania: do 350 ksps
- Przetwornik cyfrowo-analogowy (DAC):
- Rozdzielczość: 10 bitów
- Częstotliwość próbkowania: do 350 ksps
- Kontroler DMA
- Wbudowany czujnik temperatury
- Wbudowany generator sum kontrolnych CRC-32
- Zewnętrzne przerwania
- Niski pobór mocy
- Temperatura pracy: od -40 do 125°C
- Układ FPGA Cyclone 10CL016 firmy Intel:
- Liczba programowalnych bloków logicznych: 15408
- Liczba bloków DSP: 56
- Liczba wyprowadzeń I/O: 340
- Wbudowana pomięć RAM o pojemności 504 Kb
- 4 pętle PLL
- Obsługiwane standardy napięciowe:
- LVTTL (3-3,3 V)
- LVCMOS (1,2-3,3 V)
- PCI
- PCI-X
- SSTL (zwykły i różnicowy)
- HSTL (zwykły i różnicowy)
- LVDS
- Mini-LVDS
- RSDS
- PPDS
- LVPECL
- BLVDS
- Maksymalne częstotliwości sygnałów zegarowych na wyprowadzeniach I/O: zależne od zastosowanego standardu
- Współpraca ze środowiskiem Intel Quartus (zalecana wersja możliwie najnowsza)
- Temperatura pracy: od -40 do 125°C
- Moduł radiowy NINA W102 firmy u-blox:
- Interfejsy:
- Wi-Fi:
- Częstotliwość: 2,4 GHz
- Standardy: b, g i n
- Bluetooth 4.2+EDR:
- Maksymalna liczba dołączanych urządzeń (slaves): 7
- Przepływności: 1 Mb/s, 2 Mb/s oraz 3 MB/s
- Bluetooth Low Energy 4.2 (BLE 4.2):
- Przepływność: 1 Mb/s
- Wi-Fi:
- Wsparcie ze strony bibliotek: WiFiNINA oraz ArduinoBLE
- Podłączony do układu FPGA (istnieje możliwość obsługi ze strony mikrokontrolera poprzez ten układ)
- Interfejsy:
- Wyprowadzenia:
- Cyfrowe:
- Dwukierunkowe (wejścia i wyjścia)
- Obsługiwane zarówno przez mikrokontroler (22 szt.), jak i układ FPGA (wszystkie wyprowadzenia I/O tego układu)
- Napięcie pracy: 3,3 V
- Maksymalne wartości prądów:
- 2 mA w przypadku układu FPGA i wyboru standardu LVCMOS 3,3 V
- 4 mA w przypadku układu FPGA i wyboru standardu LVTTL 3,3 V
- 7 mA w przypadku mikrokontrolera
- PWM:
- Jednokierunkowe (wyjścia)
- Oferowane zarówno przez mikrokontroler (jako 13 wyjść wybieranych spośród jego wyprowadzeń cyfrowych), jak i układ FPGA (wszystkie wyprowadzenia I/O mikrokontrolera)
- Analogowe:
- Dwukierunkowe (wejścia i wyjścia)
- Obsługiwane tylko przez mikrokontroler
- 8 sztuk
- Maksymalne napięcie: 3,3 V
- Maksymalny prąd: 7 mA
- Napięciowe:
- Wyjście 3,3 V
- Wyjście 5 V
- Wejście Vin o zakresie napięć: 5-6 V
- Cyfrowe:
- Peryferia:
- Układ kryptograficzny:
- ATECC608A firmy Microchip Technology:
- Obsługa systemu kryptograficznego AES o 128-bitowych kluczach (kodowanie/dekodowanie)
- Obsługa funkcji skrótu SHA-256
- Obsługa kodów HMAC
- Obsługa technologii: ECDSA: FIPS186-3, ECDH: FIPS SP800-56A oraz NIST Standard P256
- Do użycia zarówno poprzez mikrokontroler, jak i układ FPGA
- ATECC608A firmy Microchip Technology:
- Pamięci:
- SDRAM:
- Układ AS4C4M16SA-7BCN firmy Alliance Memory
- Częstotliwość taktowania: 143 MHz
- Pojemność: 8 MB
- Do użycia tylko poprzez układ FPGA
- QSPI Flash:
- Układ W25Q16DVSNIG firmy Winbond
- Używana do przechowywania konfiguracji układu FPGA oraz aplikacji użytkownika
- Pojemność: 2 MB (1 MB przeznaczony na aplikacje użytkownika)
- Podłączona tylko do układu FPGA
- SDRAM:
- Diody:
- Trójkolorowa RGB:
- W przypadku obsługi przez mikrokontroler dostępna jest tylko barwa czerwona
- W przypadku obsługi przez układ FPGA dostępne są wszystkie trzy barwy
- Trójkolorowa RGB:
- Złącza:
- MIPI CSI (dla modułów kamer):
- Obsługa tylko przez układ FPGA
- MiniPCIe (MiniPCI Express):
- Z obu stron układu (na jego górze i spodzie)
- 52 wyprowadzenia cyfrowe
- W przypadku obsługi przez układ FPGA dostępne są wszystkie wspomniane wyprowadzenia
- W przypadku obsługi przez mikrokontroler dostępne są tylko dwa dedykowane wyprowadzenia
- SHR-05V-S-B dla interfejsu I2C (5 wyprowadzeń, rozstaw 1 mm)
- Obsługa tylko przez mikrokontroler
- MIPI CSI (dla modułów kamer):
- Gniazdo MicroHDMI:
- Obsługa tylko przez układ FPGA
- Dioda trójkolorowa RGB
- Przycisk resetu
- Układ kryptograficzny:
- Wartość stałej LED_BUILTIN (numer wyprowadzenia obsługiwanego przez mikrokontroler, który jest związany z barwą czerwoną diody RGB): 6
- Programowanie:
- W przypadku mikrokontrolera:
- Przez kabel USB (gniazdo microUSB)
- W oparciu o złącze ICSP 6 pinów (dla programatorów zewnętrznych)
- W przypadku układu FPGA:
- Przez mikrokontroler i plik formatu Tabular Text File (.ttf) uwzględniony w kodzie dla tego mikrokontrolera
- Przez mikrokontroler i bibliotekę emulującą w nim sterownik USB Blaster (UWAGA: jest to opcja eksperymentalna mogąca nie działać poprawnie!)
- W oparciu o port JTAG 10 pinów (dla programatorów zewnętrznych wspierających sterownik USB-Blaster):
- Rodzaj złącza: FTSH-105-01-F-D-K
- W przypadku mikrokontrolera:
- Zasilanie:
- Zewnętrzne:
- Przez kabel USB - gniazdo microUSB (5 V)
- Przez wejście Vin (zakres napięć: 5-6 V)
- Przez gniazdo JST S2B-PH-SM4-TB(LF)(SN) dla baterii litowo-jonowej (Li-Ion) lub litowo-polimerowej (Li-Po) o napięciu nominalnym 3,7 V i pojemności co najmniej 1024 mAh
- Maksymalny pobór prądu: 46 mA
- Zewnętrzne:
- Inne:
- Łączna wartość prądu pobieranego przez jeden rząd wyprowadzeń zestawu nie może przekroczyć 65 mA
- Możliwość ładowania baterii w oparciu o układ BQ24195L firmy Texas Instruments obsługiwany zarówno przez mikrokontroler, jak i układ FPGA
- Możliwość utworzenia do 7 interfejsów I2C, 7 interfejsów SPI oraz 7 interfejsów UART po stronie układu FPGA
- Współpraca mikrokontrolera z układem FPGA (drugie rozszerza możliwości pierwszego)
- Współpraca z usługą Arduino IoT Cloud
- Wymiary: 83×25 mm
- Waga: 43,5 g
Dodatkowe informacje:
- Przewodnik instalacyjny zestawu Arduino MKR Vidor 4000
- Opis usługi Arduino IoT Cloud
- Opis biblioteki ArduinoBLE
- Opis biblioteki WiFiNINA
- Opis sposobu użycia układu FPGA w zestawie Arduino MKR Vidor 4000
- Opis sposobu programowania układu FPGA w środowisku Intel Quartus
- Skrócony samouczek dotyczący języków opisu sprzętu Verilog – jednego ze stosowanych w implementacji rozwiązań na układy FPGA
Przykładowe projekty: