SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

NanoPI M3 to kolejny minikomputer, który wykorzystuje ośmiordzeniowy procesor Samsung S5P6818 (Cortex-A53). Jednostka ta jest taktowana zegarem o częstotliwości od 400MHz do 1.4GHz i wyposażona w 1GB pamięci operacyjnej DDR3. System uruchamiany jest z karty microSD, a więc płytka nie posiada dodatkowej pamięci masowej chociażby w postaci eMMC/Flash.

Pomimo niewielkich rozmiarów wynoszących zaledwie 64x60mm, dostajemy do dyspozycji całkiem pokaźny zestaw możliwości:

  • pełnowymiarowe HDMI 1.4,
  • audio jack 3.5mm
  • dwa gniazda USB 2.0 + dwa porty USB 2.0 na listwie kołkowej 2,54mm
  • 1Gbit port Ethernet (RTL8211E),
  • 45-pinowe złącze LCD (RGB 8-8-8),
  • 20-pinowe złącze LVDS,
  • 24-pinowe złącze DVP,
  • 7-pinowe złącze I2S,
  • 4-pinowe złącze Debug Serial,
  • 40-pinowe złącze GPIO,
  • karta sieciowa Wi-Fi 802.11 b/g/n z anteną porcelanową + Bluetooth 4.0,
  • gniazdo zasilające MicroUSB 2.0,
  • przyciski reset oraz power,
  • diody sygnalizujące zasilanie i status,
  • układ PMU AXP228,
  • miejsce na podłączenie baterii do podtrzymania zegara RTC (miejsce na wlutowanie 2 pinów)

NanoPI M3 z procesorem Samsung S5P6818

Co ciekawe, sprzedawany M3 różni się nieco budową od oficjalnych zdjęć prezentowanych na FriendlyARM, gdzie możemy zauważyć brak dodatkowe złącza IPX do podłączenia zewnętrznej anteny - a szkoda.

NanoPI M3 z procesorem Samsung S5P6818

NanoPI M3 z procesorem Samsung S5P6818

Temperatury i kultura pracy

Jeśli będziecie mieli zamiar zaopatrzyć się w NanoPI M3, nie zapomnijcie o dokupieniu dedykowanego radiatora z wentylatorem, który skutecznie odprowadzi wydzielane ciepło z układu. Pominięcie tego elementu jest dość karkołomnym pomysłem. W zestawie znajduje się również termopad, który naklejamy na całą powierzchnię radiatora i obejmuje nie tylko układ SoC, ale również kości pamięci RAM.

NanoPI M3 z zamontowanym chłodzeniem

Niestety ciężko mi uwierzyć w dane producenta, który podaje głośność wentylatora na poziomie 18dBa, ponieważ jest on nie tyle wyraźnie słyszalny, to jeszcze dodatkowo irytujący. Co ciekawe - wartość tą podają także polskie sklepy oferujące NanoPI M3. Aby potwierdzić swoje obawy sprawdziłem jeszcze dwa inne egzemplarze wentylatora, które cechowały się taką samą kulturą pracy.

Montaż samego radiatora także pozostawia odrobinę do życzenia. Po jego zamontowaniu, dostęp do złącza LCD za sprawą mocowania jest praktycznie niemożliwy, a w najlepszym przypadku bardo utrudniony.

Zasłonięte złącze LCD przez mocowanie radiatora

Zasłonięte złącze LCD przez mocowanie radiatora

Na szczęscie chłodzenie sprawdza się w swojej roli - przy pełnym obciążniu wszystkich ośmiu rdzeni nie udało mi się przekroczyć temperatury 73°C, a każdy rdzeń pracował z prędkością 1.4GHz. W stanie spoczynku zegary wynoszą 400MHz, a temperatura spada do 42°C.

Radiator + Wentylator / Stan spoczynku / Góra

Radiator + Wentylator / Stan spoczynku / Spód

Radiator + Wentylator / Pełne obciążenie / Góra

Radiator + Wentylator / Pełne obciążenie / Spód

Radiator znacznie gorzej radzi sobie z odłączonym wentylatorem. W stanie spoczynku temperatura układu osiągnęła temperaturę 52°C, a w pełnym obciążeniu temperatura dobija do 85°C, po której przekroczeniu taktowanie zegarów jest obniżane do 600 - 800MHz.

Radiator / Stan spoczynku / Góra

Radiator / Stan spoczynku / Spód

Radiator / Pełne obciążenie / Góra

Radiator / Pełne obciążenie / Spód

System operacyjny Debian / Android / Ubuntu Core

Na tym polu praktycznie bieda, dostępny jest jedynie Debian oraz Android. Co prawda jest także Ubuntu Core, ale jest to specjalna wersja wyposażona wyłącznie w środowisko Qt.

Debian @ NanoPI M3 - jądro 3.4.39

System operacyjny jest w miarę dobrze przygotowany. Nie napotkamy większych problemów z działaniem karty sieciowej Wi-Fi czy BT. Niestety doskwiera brak obsługi akceleracji sprzętowej - nie znajdziemy tutaj nawet poprawnie działającego OpenGL ES. A wielka szkoda, bo pod kątem pozostałych aspektów NanoPI M3 osiąga całkiem dobre wyniki. Tym sposobem, jeśli myślimy o multimediach, zmuszeni jesteśmy zadowolić się programowym dekodowaniem materiału wideo max. 1080p@30.

Domyślnie dźwięk skonfigurowany jest na wyjście jack 3.5mm, aby cieszyć się dzwiękiem na HDMI musimy dokonać kilku modyfikacji.

  1. apt-get update
  2. apt-get install libasound2
  3. apt-get install alsa-base
  4. apt-get install alsa-utils

Następnie tworzymy plik /etc/asound.conf z następującą zawartością:

  1. pcm.!default {
  2. type hw
  3. card 1
  4. device 0
  5. }
  6.  
  7. ctl.!default {
  8. type hw
  9. card 1
  10. }

Po restarcie dźwięk będzie już dostępny dla gniazda HDMI.

Testy wydajności

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-cbc43,10542,44836,57428,82424,51018,11712,298NanoPi M3 / 32-bitOdroid C2 / 64-bitRaspberry Pi 3 / 32-bitOdroid C1 / 32-bitOrange Pi Plus / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitNanoPi M3 / 32-bitOdroid C2 / 64-bitRaspberry Pi 3 / 32-bitOdroid C1 / 32-bitOrange Pi Plus / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit0k5k10k15k20k25k30k35k40k45k50k
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-cbc343,635166,182145,754110,40994,09672,04649,750NanoPi M3 / 32-bitOdroid C2 / 64-bitRaspberry Pi 3 / 32-bitOdroid C1 / 32-bitOrange Pi Plus / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitNanoPi M3 / 32-bitOdroid C2 / 64-bitRaspberry Pi 3 / 32-bitOdroid C1 / 32-bitOrange Pi Plus / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit0k100k200k300k25k50k75k125k150k175k225k250k275k325k350k375k
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 run2,8062,5591,9291,5971,4131,190847Odroid C2 / 64-bitNanoPi M3 / 32-bitRaspberry Pi 3 / 32-bitOrange Pi Plus / 32-bitOdroid C1 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitOdroid C2 / 64-bitNanoPi M3 / 32-bitRaspberry Pi 3 / 32-bitOrange Pi Plus / 32-bitOdroid C1 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit0100020003000250500750125015001750225025002750
Created with Highcharts 4.0.4MB/s / więcej - lepiejZobacz wyniki wszystkich platformWydajność pamięci - wszystkie rdzeniesysbench --test=memory --memory-block-size=1M --memory-total-size=3G --num-threads=N run5,6634,9393,3692,5212,3591,459913Odroid C2 / 64-bitNanoPi M3 / 32-bitOrange Pi Plus / 32-bitOdroid C1 / 32-bitRaspberry Pi 3 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitOdroid C2 / 64-bitNanoPi M3 / 32-bitOrange Pi Plus / 32-bitOdroid C1 / 32-bitRaspberry Pi 3 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit050010001500200025003000350040004500500055006000
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 run465708283101145Odroid C2 / 64-bitNanoPi M3 / 32-bitRaspberry Pi 3 / 32-bitOrange Pi Plus / 32-bitOdroid C1 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitOdroid C2 / 64-bitNanoPi M3 / 32-bitRaspberry Pi 3 / 32-bitOrange Pi Plus / 32-bitOdroid C1 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit0102030405060708090100110120130140150160
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 run18.31821242637Odroid C2 / 64-bitNanoPi M3 / 32-bitRaspberry Pi 3 / 32-bitOrange Pi Plus / 32-bitOdroid C1 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitOdroid C2 / 64-bitNanoPi M3 / 32-bitRaspberry Pi 3 / 32-bitOrange Pi Plus / 32-bitOdroid C1 / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit0102030402.557.512.51517.522.52527.532.53537.5
Created with Highcharts 4.0.4TCP window size: default / więcej - lepiejZobacz wyniki wszystkich platformPrzepustowść Ethernetiperf936783713949494Odroid C2Orange Pi PlusNanoPi M3Raspberry Pi 2 1000MHzRaspberry Pi 2 700MHzRaspberry Pi 3Odroid C2Orange Pi PlusNanoPi M3Raspberry Pi 2 1000MHzRaspberry Pi 2 700MHzRaspberry Pi 301002003004005006007008009001000
Created with Highcharts 4.0.4MB/s / więcej - lepiejZobacz wyniki wszystkich platformhdparm - Timing cached readshdparm -tT858820816755555495436421421353NanoPi M3 / SDOdroid C2 / eMMCOdroid C2 / SDOdroid C1 / eMMCRaspberry Pi 3 / SDRaspberry Pi 2 1000MHz / SDOrange Pi Plus / eMMCOrange Pi Plus / SATAOrange Pi Plus / SDRaspberry Pi 2 700MHz / SDNanoPi M3 / SDOdroid C2 / eMMCOdroid C2 / SDOdroid C1 / eMMCRaspberry Pi 3 / SDRaspberry Pi 2 1000MHz / SDOrange Pi Plus / eMMCOrange Pi Plus / SATAOrange Pi Plus / SDRaspberry Pi 2 700MHz / SD01002003004005006007008009001000
Created with Highcharts 4.0.4MB/s / więcej - lepiejZobacz wyniki wszystkich platformhdparm - Timing buffered disk readshdparm -tT141735732272019191717Odroid C2 / eMMCOdroid C1 / eMMCOrange Pi Plus / eMMCOdroid C2 / SDOrange Pi Plus / SATARaspberry Pi 3 / SDNanoPi M3 / SDOrange Pi Plus / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SDOdroid C2 / eMMCOdroid C1 / eMMCOrange Pi Plus / eMMCOdroid C2 / SDOrange Pi Plus / SATARaspberry Pi 3 / SDNanoPi M3 / SDOrange Pi Plus / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SD0102030405060708090100110120130140150
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.736.2301916.715.614.714.1147.6Odroid C1 / eMMCOdroid C2 / eMMCOrange Pi Plus / eMMCOrange Pi Plus / SDRaspberry Pi 3 / SDOdroid C2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi 2 1000MHz / SDOrange Pi Plus / SATANanoPi M3 / SDOdroid C1 / eMMCOdroid C2 / eMMCOrange Pi Plus / eMMCOrange Pi Plus / SDRaspberry Pi 3 / SDOdroid C2 / SDRaspberry Pi 2 700MHz / SDRaspberry Pi 2 1000MHz / SDOrange Pi Plus / SATANanoPi M3 / 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=20000087.877.3572723.71918.31817.316.6Odroid C2 / eMMCOdroid C1 / eMMCOrange Pi Plus / eMMCOrange Pi Plus / SATAOdroid C2 / SDNanoPi M3 / SDRaspberry Pi 3 / SDOrange Pi Plus / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SDOdroid C2 / eMMCOdroid C1 / eMMCOrange Pi Plus / eMMCOrange Pi Plus / SATAOdroid C2 / SDNanoPi M3 / SDRaspberry Pi 3 / SDOrange Pi Plus / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SD0102030405060708090100
Created with Highcharts 4.0.4sekundy / mniej - lepiejZobacz wyniki wszystkich platformKompresja pliku WAV do MP3 (4min)time lame sound.wav sound.mp328313640414545575881Odroid C2 / eMMCOdroid C2 / SDNanoPi M3 / SDRaspberry Pi 3 / SDOdroid C1 / eMMCOrange Pi Plus / SATAOrange Pi Plus / eMMCRaspberry Pi 2 1000MHz / SDOrange Pi Plus / SDRaspberry Pi 2 700MHz / SDOdroid C2 / eMMCOdroid C2 / SDNanoPi M3 / SDRaspberry Pi 3 / SDOdroid C1 / eMMCOrange Pi Plus / SATAOrange Pi Plus / eMMCRaspberry Pi 2 1000MHz / SDOrange Pi Plus / SDRaspberry Pi 2 700MHz / SD051015202530354045505560657075808590
Created with Highcharts 4.0.4sekundy / mniej - lepiejZobacz wyniki wszystkich platformKompresja pliku TAR jądra 3.15.5bzip2 -z -1 linux-3.15.5.tar208221226276277314319320371526NanoPi M3 / SDOdroid C2 / eMMCOdroid C2 / SDOdroid C1 / eMMCRaspberry Pi 3 / SDOrange Pi Plus / SATAOrange Pi Plus / eMMCOrange Pi Plus / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SDNanoPi M3 / SDOdroid C2 / eMMCOdroid C2 / SDOdroid C1 / eMMCRaspberry Pi 3 / SDOrange Pi Plus / SATAOrange Pi Plus / eMMCOrange Pi Plus / SDRaspberry Pi 2 1000MHz / SDRaspberry Pi 2 700MHz / SD050100150200250300350400450500550600
Created with Highcharts 4.0.4sekundy / mniej - lepiejZobacz wyniki wszystkich platformDekompresja pliku BZIP2 jądra 3.15.5bzip2 -d linux-3.15.5.tar.bz2535569718196104106126161Odroid C2 / eMMCOdroid C2 / SDNanoPi M3 / SDRaspberry Pi 2 1000MHz / SDOdroid C1 / eMMCOrange Pi Plus / SATAOrange Pi Plus / eMMCRaspberry Pi 3 / SDOrange Pi Plus / SDRaspberry Pi 2 700MHz / SDOdroid C2 / eMMCOdroid C2 / SDNanoPi M3 / SDRaspberry Pi 2 1000MHz / SDOdroid C1 / eMMCOrange Pi Plus / SATAOrange Pi Plus / eMMCRaspberry Pi 3 / SDOrange Pi Plus / SDRaspberry Pi 2 700MHz / SD0102030405060708090100110120130140150160170
Created with Highcharts 4.0.4MIPS / więcej - lepiejZobacz wyniki wszystkich platform7zip benchmark (kompresja)7z b3,7952,2091,6481,3491,2461,137646NanoPi M3 / 32-bitOdroid C2 / 64-bitRaspberry Pi 3 / 32-bitOdroid C1 / 32-bitOrange Pi Plus / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitNanoPi M3 / 32-bitOdroid C2 / 64-bitRaspberry Pi 3 / 32-bitOdroid C1 / 32-bitOrange Pi Plus / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit02505007501000125015001750200022502500275030003250350037504000
Created with Highcharts 4.0.4MIPS / więcej - lepiejZobacz wyniki wszystkich platform7zip benchmark (dekompresja)7z b9,5534,8894,0303,6303,3262,4541,445NanoPi M3 / 32-bitOdroid C2 / 64-bitRaspberry Pi 3 / 32-bitOdroid C1 / 32-bitOrange Pi Plus / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bitNanoPi M3 / 32-bitOdroid C2 / 64-bitRaspberry Pi 3 / 32-bitOdroid C1 / 32-bitOrange Pi Plus / 32-bitRaspberry Pi 2 1000MHz / 32-bitRaspberry Pi 2 700MHz / 32-bit0k1k2k3k4k5k6k7k8k9k10k11k

Podsumowanie

Na plus

  • Dobry stosunek wydajności do ceny
  • Platforma ośmiordzeniowa
  • Przyzwoite temperatury z dodatkowym chłodzeniem
  • Gigabitowy port Ethernet
  • Wbudowane Wi-Fi i BT
  • Spora liczba gniazd i portów

Na minus

  • Głośny wentylator
  • Problemy z dostępem do złącza LCD
  • Mały wybór dystrybucji Linuksa
  • Brak akceleracji sprzętowej wideo
  • Praktycznie zerowe wsparcie producenta
  • Znikoma aktywność społeczności
  • Wymagany dobrej jakości zasilacz o wydajności powyżej 2A
Komentarze Komentarze
Avatar 1
maQ Windows 7 / Safari 537.36
09 January 2017 - 20:37 Brak informacji

A może dorzucił byś kiedyś do porównania C.H.I.P (https://getchip.com/)? Jak coś to chętnie Ci jednego do testów podrzucę (jak dobrze pamiętam to z okolic Bytomia jesteś?) ;)

Avatar 2
Korneliusz Mac OS X / Safari 537.36
10 January 2017 - 14:35 Brak informacji

A bardzo chętnie :) dev (maupiszon) jarzebski.pl :)

Avatar 1
maQ Windows 7 / Safari 537.36
12 January 2017 - 13:22 Warszawa

Hej. Pisałem do Ciebie 2 dni temu. Do dziś brak odpowiedzi na maila. Możesz się do mnie odezwać (dziś wieczorem będę w Bytomiu więc mógł bym do Ciebie podjechać)? Maila masz w tym komentarzu.

Avatar 1
j4c0b Windows 7 / Mozilla Firefox 50.0
10 January 2017 - 09:52 Warszawa

Przydałoby się zestawienie z Odroidem C2.
Niezła wtopa z tym radiatorem.

Avatar 2
Korneliusz Mac OS X / Safari 537.36
10 January 2017 - 14:34 Brak informacji

Dodany :) wszystkie można porównać tu : http://www.jarzebski.pl/soc-compare.html

Avatar 1
seba Windows 7 / Mozilla Firefox 58.0
20 April 2018 - 11:08 Warszawa

W samsungu s5p6818 zaimplementowano rdzeń cortex A-53 którego architektura jest w wersji 8-A, czyli 64 bit, a wszędzie w testach widnieje 32 bity. O co kaman ??. Poza tym bardzo ciekawe porównania dla ludzi którzy chcą coś wybrać. Fajnie jakby pojawiły się jakieś testy platform na układzie rokchip rk 3399, np Boardcon em3399, Orange pi rk3399. Pozdrawiam