SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

Arduino Zero Pro jest kolejną płytką, która bezpośrednio nawiązuje do bardzo udanych modeli Arduino UNO oraz Arduino Leonardo. Nowa odsłona Arduino to bez wątpienia ogromny krok na przód, gdzie postawiono na 32-bitowy mikrokontroler ATSAMD21G18 (ARM Cortex-M0), taktowany zegarem 48MHz.

 

Szybszy zegar to nie jedyna nowość, bowiem do dyspozycji dostajemy również 256kB pamięci Flash na nasze programy oraz wbudowany debugger EDBG. Pewną przeszkodą dla początkujących może okazać się fakt, że Arduino Zero pracuje w logice 3.3V - jest to jednak przeszkoda z którą prędzej czy później będziemy musieli się zmierzyć. Tych co nie boją się lutownicy powinien ucieszyć fakt, że ATSAMD21G18 dostępna jest w sympatycznej do lutowania obudowie LQFP.

Reklama

Jakiś czas temu miałem konieczność zaopatrzenia się mały moduł GPS do jednego z moich projektów.

Moją uwagę przykuły dwa modele - jeden wykorzystujący układ FGPMMOP6 oraz drugi wykorzystujący bardzo popularny układ NEO6 w wersji M. Ceny są bardzo do siebie zbliżone, jednak w ogólnym rozrachunku musiałem postawić tylko na jeden z nich.

Moduły te, pracują standardzie NMEA i komunikują się mikrokontrolerem za pomocą magistrali UART. Bardzo zależało mi, aby odbiornik był on jak najmniejszy z możliwością wpięcia w gniazdo o standardowym rozstawie pinów 2.45mm.

Dzięki uprzejmości sklepu ElTy.pl, dotarła do mnie najnowsza płytka Banana Pi M2, wyposażona w czterordzeniowy układ SOC A31S ARM Cortex-A7 taktowany zegarem 1GHz oraz układem graficznym PowerVR SGX544MP2. Do dyspozycji dostajemy 1GB pamięci DDR3, która jest współdzielona również z układem graficznym.

Takie parametry nie stawiają nowego Banana Pi M2 wśród topowych urządzeń tego typu, jednak w swoim segmencie będzie konkurował z płytkami takimi jak Raspberry Pi 2 oraz ODROID-C1.

System operacyjny uruchamiany jest z karty microSD o dopuszczalnej pojemności 64GB. Na uwagę zasługuje dostępność gigabitowego portu Ethernet oraz karty Wi-Fi. Wymiary płytki wynoszą 92mm x 60mm, a więc rozmiarowo jest takie samo jak poprzednia wersja. Banana Pi M2 została dodatkowo wyposażona w 4 porty USB 2.0, odbiornik podczerwieni IR, gniazdo słuchawkowe, wyjśceie HDMI oraz jeden port USB OTG.

Jeśli chodzi o złącza to dostajemy interfejs CSI do podłączenia kamery oraz interfejs LVDS/RGB. Płytka może być zasilana z gniazda DC lub gniazda microUSB. Zalecana wydajność zasilacza to 5V/2A. Oczywiście nie mogło zabraknąć 40-pinowego portu rozszerzeń GPIO, UART, I2C, SPI, CAN bus, ADC, PWM, zgodnego z wyprowadzeniami znanymi chociażby z Raspberry Pi B+.

Na chwilę obecną dostępne są obrazy systemów Android 4.2, Android 4.4, Raspbian, Fedora, Bananian oraz Google Rpitc. Jeśli chodzi o dystrybucje Linuksa, to spotkamy tutaj jądro w wersji 4.0.0-rc2.

Raspbian Wheezy

Fedora 22

Google Rpitc (Debian Jessie)

Niestety Bananian odmówił załadowania się na nowym Banana Pi M2. Również na forum dyskusyjnym przewijają się pojedyncze wątki o tym problemie. Trochę szkoda, ponieważ miałem głęboką nadzieję sprawdzić, jak sprawuje się poniekąd "dedykowana" dystrybucja. Na dzień dzisiejszy trzymam mocno kciuki, że problem zostanie niebawem rozwiązany, ponieważ Bananian w dzienniku zmian, jako jedyny wspomina o poprawnie działającym dźwięku, 1Gbit porcie Ethernet czy obsłudze Wi-Fi.

Pozostałe dystrybucje średnio lub wcale sobie z tym radzą. Praktycznie jedynym pocieszeniem jest działający Ethernet oraz przyzwoicie działający pulpit.

Soft, softem, miejmy nadzieję, że zostanie wkrótce dopracowany, więc przejdźmy do porównania wydajności nowego banana z Raspberry Pi oraz Odroid-C1:

Benchmark pod Linuksem

Created with Highcharts 4.0.4MB/s / więcej - lepiejZobacz wyniki wszystkich platformhdparm - Timing cached readshdparm -tT755495361353303172Odroid C1 / eMMCRaspberry Pi 2 1000MHz / SDBanana Pi M2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SDOdroid C1 / eMMCRaspberry Pi 2 1000MHz / SDBanana Pi M2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SD050100150200250300350400450500550600650700750800
Created with Highcharts 4.0.4MB/s / więcej - lepiejZobacz wyniki wszystkich platformhdparm - Timing buffered disk readshdparm -tT732017171414Odroid C1 / eMMCBanana Pi M2 / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SDOdroid C1 / eMMCBanana Pi M2 / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SD05101520253035404550556065707580
Created with Highcharts 4.0.4MB/s / więcej - lepiejZobacz wyniki wszystkich platformPrędkość zapisudd if=/dev/zero of=/home/file bs=4k count=20000041.714.714.110109.6Odroid C1 / eMMCRaspberry Pi 2 700MHz / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SDBanana Pi M2 / SDOdroid C1 / eMMCRaspberry Pi 2 700MHz / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SDBanana Pi M2 / SD051015202530354045
Created with Highcharts 4.0.4MB/s / więcej - lepiejZobacz wyniki wszystkich platformPrędkość odczytudd if=/home/file of=/dev/zero bs=4k count=20000077.317.316.816.61515Odroid C1 / eMMCRaspberry Pi 2 1000MHz / SDBanana Pi M2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SDOdroid C1 / eMMCRaspberry Pi 2 1000MHz / SDBanana Pi M2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SD0510152025303540455055606570758085
Created with Highcharts 4.0.4sekundy / mniej - lepiejZobacz wyniki wszystkich platformKompresja pliku WAV do MP3 (4min)time lame sound.wav sound.mp34157578199160Odroid C1 / eMMCBanana Pi M2 / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SDOdroid C1 / eMMCBanana Pi M2 / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SD0102030405060708090100110120130140150160170
Created with Highcharts 4.0.4sekundy / mniej - lepiejZobacz wyniki wszystkich platformKompresja pliku TAR jądra 3.15.5bzip2 -z -1 linux-3.15.5.tar2763714055266821,102Odroid C1 / eMMCRaspberry Pi 2 1000MHz / SDBanana Pi M2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SDOdroid C1 / eMMCRaspberry Pi 2 1000MHz / SDBanana Pi M2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SD0100200300400500600700800900100011001200
Created with Highcharts 4.0.4sekundy / mniej - lepiejZobacz wyniki wszystkich platformDekompresja pliku BZIP2 jądra 3.15.5bzip2 -d linux-3.15.5.tar.bz27181119161225336Raspberry Pi 2 1000MHz / SDOdroid C1 / eMMCBanana Pi M2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SDRaspberry Pi 2 1000MHz / SDOdroid C1 / eMMCBanana Pi M2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi B+ 1000MHz / SDRaspberry Pi B+ 700MHz / SD0100200300255075125150175225250275325350375
Created with Highcharts 4.0.4MB/s / więcej - lepiejZobacz wyniki wszystkich platformWydajność pamięci - 1 rdzeńsysbench --test=memory --memory-block-size=1M --memory-total-size=3G run1,4131,2351,190847497206Odroid C1 / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitRaspberry Pi B+ 1000MHz / 32-bitRaspberry Pi B+ 700MHz / 32-bitOdroid C1 / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitRaspberry Pi B+ 1000MHz / 32-bitRaspberry Pi B+ 700MHz / 32-bit0100200300400500600700800900100011001200130014001500
Created with Highcharts 4.0.4sekundy / mniej - lepiejZobacz wyniki wszystkich platformWydajność CPU - 1 rdzeń (max prime 5k)sysbench --test=cpu --cpu-max-prime=5000 --time=0 --events=10000 run83101101134145316Odroid C1 / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi B+ 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitRaspberry Pi B+ 700MHz / 32-bitOdroid C1 / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi B+ 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitRaspberry Pi B+ 700MHz / 32-bit0100200300255075125150175225250275325350
Created with Highcharts 4.0.4sekundy / mniej - lepiejZobacz wyniki wszystkich platformWydajność CPU - wsztystkie rdzenie (max prime 5k)sysbench --test=cpu --cpu-max-prime=5000 --num-threads=N --time=0 --events=10000 run24262837Odroid C1 / 32-bitRaspberry Pi 2 1000MHz / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 700MHz / 32-bitOdroid C1 / 32-bitRaspberry Pi 2 1000MHz / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 700MHz / 32-bit0102030402.557.512.51517.522.52527.532.53537.5
Created with Highcharts 4.0.4liczba iteracji w tysiącach / więcej - lepiejZobacz wyniki wszystkich platformOpenSSL Speed AES - 1 rdzeńopenssl speed -multi 1 aes-256-cbc28,82418,32218,11716,99012,2987,057Odroid C1 / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi B+ 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitRaspberry Pi B+ 700MHz / 32-bitOdroid C1 / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi B+ 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitRaspberry Pi B+ 700MHz / 32-bit0k10k20k30k2.5k5k7.5k12.5k15k17.5k22.5k25k27.5k32.5k
Created with Highcharts 4.0.4liczba iteracji w tysiącach / więcej - lepiejZobacz wyniki wszystkich platformOpenSSL Speed AES - wszystkie rdzenieopenssl speed -multi N aes-256-cbc110,40972,58372,04649,750Odroid C1 / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitOdroid C1 / 32-bitBanana Pi M2 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit0k10k20k30k40k50k60k70k80k90k100k110k120k

A co z Androidem?

Tutaj również bez rewelacji. Zarówno Android 4.2 jak Android 4.4 nie uruchomiły się na kilku testowanych kartach pamięci. Szczerze mówiąc nie wiem co o tym myśleć, z jednej strony można usprawiedliwić to wiekiem dziecięcym, z drugiej strony jest to jednak przykre, ponieważ producent nie przygotował w pełni działających obrazów.

Dla kogo Banana Pi M2?

Tylko i wyłącznie dla zapaleńców. Jeśli dopiero zacząłeś poruszać się w świecie płytek deweloperskich, radzę wstrzymać się z zakupem nowego Banana Pi M2 dopóki producent nie przygotuje w pełni działających obrazów systemów. Sprawę Linuksa można byłoby jakoś przełknąć na rzecz działającego Androida, jednak w tym wypadku Banana Pi M2 nie ma nic na swoją obronę.

Tym akcentem odkładam Banana Pi M2 do pudełka, aby powrócić do niego za jakiś czas.