SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

Jeśli twierdzisz, że Raspberry Pi nie ma sobie równych wśród klonów, to po prostu sie mylisz! Koreański Hardkernel zaprezentował swój nowy komputerek nazwany ODROID-W, który może być mocnym uderzeniem w społeczność "maliny". W porównaniu do pierwowzoru, posiada ponad dwukrotnie mniejszą powierzchnię wynoszącą 60x36mm, ważąc przy tym zaledwie 8 gramów.

Tak samo jak w przypadku RaspberryPi, został wyposażony w układ Broadcom BCM2835 taktowany zegarem 700MHz oraz 512MB pamięci RAM. Oferowana liczba złącz też jest przyzwoita. Dostajemy gniazdo micro HDMI, pojedynczy port USB 2.0 oraz w pełni zgodne 26 pinowe złącze rozszerzeń I/O. Bardzo ciekawym rozwiązaniem jest dostępność tego złącza z obu stron płytki. Na dokładkę, otrzymujemy również dodatkowe 20+6 pinowe złącze zawierające ekstra porty GPIO, 12-bitowy przetwornik ADC, wyprowadzenie zasilania oraz drugi port USB pracujący w trybie hosta (tu również możemy sami zdecydować, z której strony płytki będzie on dostępny).

To jeszcze nie koniec ciekawostek. ODROID-W zawiera wbudowany zegar czasu rzeczywistego RTC, a całą płytkę można zasilić z akumulatora Li-Pol. Jeśli pytacie jak to możliwe przy konieczności zasilania portu USB i HDMI, to odpowiedzią jest tu wydajny przetwornik DC/DC, podwyższający napięcie 3.7V do wymaganych 5V.

Nie jest niestety nigdzie powiedziane, czy widoczny od spodu slot modułów eMMC pozwala na stosownie tej pamięci, ale gdyby jednak okazało się, że nie - wciąż pozostaje nieśmiertelne microSD.

Natomiast jeśli okaże się, że potrzebujecie gniazdo UART lub Ethernet, podłączyć wyświetlacz LCD lub większej ilości portów USB, możecie zaopatrzyć się w specjalną płytkę dokującą:

Sugerowana cena to 30$ za płytkę bazową oraz 20$ za płytkę dokującą. Jeśli będziemy mieli ochotę na "docka" z wyświetlaczem TFT LCD 320x240, to musimy jeszcze wyciągnąć ze skarbonki kolejne 10$.

Więcej informacji znajdziecie na stronie Hardkernel.com

Reklama

HAOYU Electronics wypuściła na rynek kolejną płytkę, opartą o dwurdzeniowy procesor Allwinner A20 ARM Cortex-A7 Dual-Core taktowany zegarem 1GHz - mowa tutaj o New MarsBoard A20, któremu przyjrzymy się bliżej dzięki uprzejmości sklepu ArduinoSolutions. Tak jak w innych konstrukcjach tego typu, za grafikę odpowiada układ graficzny Mali400MP2 obsługujący standard OpenGL ES 2.0.

New MarsBoard A20 został wyposażony w 1GB pamięci DRAM taktowanej zegarem 480MHz oraz 8GB pamięci Flash. Cechą szczególną  jest wbudowana karta WiFi RTL8188EU oraz port SATA. Do płytki możemy również przylutować odbiornik podczerwieni IR (nie ma go w zestawie).  Jeśli chodzi o dostępne złącza, to do dyspozycji dostajemy: 4x USB 2.0, 1x USB 2.0 OTG, 1x DEBUG, 10/100 Mbps port Ethernet z układem LAN8710A, slot kart pamięci microSD, wyjście audio oraz wejście mikrofonowe.

Płytkę możemy podłączyć za pomocą pełnowymiarowego złącza HDMI lub standardowego złącza VGA. Jeśli istnieje taka potrzeba, możemy skorzystać również z 7" dotykowego panelu TFT LCD HU070CTP-HD obsługującego rozdzielczość 1024x600. Jakość obrazu oraz działanie 10 punktowego dotyku jest tutaj o niebo lepsze, niż w przypadku opisywanego już modelu HY070CTP-A z rozdzielczością 800x480.

Ciekawym dodatkiem są gniazda TV In oraz TV Out, pozwalające na podłączenie zewnętrznego źródła obrazu CVBS oraz dedykowana aplikacja pod system Android umożliwiająca jego wyświetlenie. Niestety nie udało mi się zmusić tego elementu do działania, ponieważ program miał wyraźny problem z odbiorem sygnału, wyświetlając jedynie niebieski obraz.

New MarsBoard A20 udostępnia również dwa porty rozszerzeń, gdzie jeden z nich jest przeznaczony do obsługi kamer CIF, natomiast drugi stanowi port rozszerzeń I/O.

Ogromnym rozczarowaniem jest jednak port SATA - pomimo tego, że jest, podłączenie dysku twardego wymaga zewnętrznego źródła zasilania. Na osłodę dostajemy jednak owtorzy montażowe, których w RK3066 nie doświadczyliśmy :)

 New MarsBoard A20 / MarsBoard RK3066

Najsłabsze ogniwo - system operacyjny

Jeśli chodzi o dostępne oprogramowanie, to stanowi one obecnie najsłabszą stronę nowego Marsa. Należy jednak zwrócić szczególną uwagę na to, że jest to platforma nowa, która premierę miała w czerwcu i wiele może się  jeszcze zmienić. Zresztą podobna sytuacja była w przypadku MarsBoard RK3066 kiedy opisywałem ją po raz pierwszy. Dziś jest dostępna już pełna dystrybucja Ubuntu Trusty 14.04 LTS ze środwiskiem LXDE, ze sprzętową akceleracją graficzną układu Mali oraz obsługą ekranów LCD HY070CTP-A/HD z dotykiem. Ale wróćmy do tematu.

Na chwilę obecną dostępne są trzy dystrybucje Linuksa: Debian Wheezy 7.1 (LXDE), Ubuntu 12.10  (Lubuntu) oraz Raspbian Debian Wheezy (LXDE). Wielką zaletą w nowym MarsBoard jest Dual-Boot, dzięki któremu mamy możliwość wypalenia ich na karcie SD pozostawiając system w pamięci NAND nietkniętym. Ubuntu jako jedyne obsługuje panel dotykowy (Debian również działa z ekranem LCD, ale bez dotyku), ale repozytorium jest w całkowitej rozsypce, co dyskwalifikuje go do sensownego użytku. Debian wygląda już dużo lepiej, bowiem można doinstalować wymagane oprogramowanie. Natomiast żadna dystrybucja nie obsługuje wspomnianego wejścia/wyjścia video oraz nie wspiera akceleracji OpenGL ES.

Debian Wheezy 7.1 / Rasbian Debian Wheezy

O Androidzie 4.2.2, można powiedzieć tylko, że jest. Nie udało mi się zainstalować na nim Google Play i oferowanego przez niego oprogramowania.

Testy porównawcze

NewMars Board A20 to sprzęt zbliżony możliwościami do CubieTruck i trudno oczekiwać czegoś innego. Obie platformy oparte są o ten sam procesor. Za Marsem przemawia jednak prawie dwukrotna niższa cena i genialny dotykowy wyświetlacz, co pozwala na wykorzystanie go w mniejszych, niskobudżetowych projektach. Jeśli tylko producent dopracuje oprogramowanie, będzie to bardzo interesująca platforma w przyzwoitej cenie.

Porównanie parametrów

  CubierTruck Iteaduino Plus A10 MarsBoard RK3066 New MarsBoard A20
   
Procesor Allwinner A20 Allwinner A10 Rockchip RK3066 Allwinner A20
Rodzina ARM Cortex A7  ARM Cortex A8 ARM Cortex A9  ARM Cortex A7
Zegar procesora  1,0 GHz  1,0 GHz 1,6 GHz  1,0 GHz
Liczba rdzeni 2  1  2 2
Układ graficzny  ARM Mali-400  ARM Mali-400  ARM Mali-400 ARM Mali-400
Zegar grafiki 400 MHz  400 MHz 533 MHz 533 MHz
OpenGL ES 2.0  2.0 2.0 2.0
 Pamięć RAM 2048 MB  1024 MB    1024 MB 1024 MB
 USB 2.0  Tak (2x) Tak (2x)  Tak (4x) Tak (4x)  
USB 2.0 OTG Tak (1x) Tak (1x) Nie Tak (1x)
Serial NIe Tak (1x) Nie Tak (1x)
 HDMI Tak Tak Tak Tak
VGA Tak Nie Nie Tak
eMMC / NAND Tak
(wbudowana 8GB)
Nie
(możliwość dokupienia)
Tak
(wbudowana 4GB)
Tak
(wbudowana 8GB)
microSD Tak Tak Tak Tak
SATA Tak Tak Nie Tak
10/100 Ethernet Tak  Tak Tak Tak
10/100/1000 Ethernet Tak Nie Nie Nie
IR Tak Nie Tak / Dodatkowo Tak / Dodatkowo
TV In / Out Nie / Nie Nie / Nie Nie / Nie Tak / Tak
Akcesoria
w komplecie
Kabel SATA
Kabel zasilający USB
Obudwa
Kabel USB
Kabel SATA
Zasilacz
Obudowa
Kabel USB
Zasilacz
Kabel USB
Podstawka LCD
Karta Wi-Fi USB
Nie
Wymiary   110 x 80 mm  109 x 76 mm 105 x 76 mm   115 x 90 mm
Cena ~ 480 zł ~ 235 zł ~ 245 zł ~ 260 zł


Sprzęt do testu dostarczył sklep
ArduinoSolutions.

Pomimo tego, że Jetson TK1 posiada 16GB szybkiej pamięci eMMC 4.51, to z biegiem czasu zaczniemy rozglądać się za możliwością zwiększenia wolnej przestrzeni. Pomogą nam w tym porty USB 2.0, USB 3.0, złącze kart SD oraz interfejs SATA.

W szranki stanęły:

  • wbudowana pamięć eMMC 4.51,
  • dysk twardy 2.5" Seagate Momentus XT ST500LM000 (SATA, USB 2.0, USB 3.0),
  • pendrive ADATA S102 (USB 2.0, USB 3.0),
  • karta Kingston microSD HC Class 10, UHS-I (SD)

Nie będzie żadną rewelacją, że najszybszy okazał się dysk twardy podłączony do portu SATA, oferując prędkość odczytu na poziomie 107 MB/s oraz zapisu na poziomie 87 MB/s. Jeśli uwzględnimy synchronizację dysku po zapisie, otrzymamy wartość 75 MB/s.

Dla objaśnienia podaję regułę, w jaki sposób została ona określona:

  1. time sh -c "dd if=/dev/zero of=/media/ubuntu/c2a13d2f-65b5-4df6-b480-4639a6e7c038/test bs=4k count=200000 && sync"
  2.  
  3. 200000+0 records in
  4. 200000+0 records out
  5. 819200000 bytes (819 MB) copied, 9.3416 s, 87.7 MB/s
  6.  
  7. real    0m10.383s
  8. user    0m0.122s
  9. sys    0m4.733s

Czas zapisu bez synchronizacji wyniósł 9,34 sekundy. Z synchronizacją dysku po zapisie, czas ten zwiększył się do 10,38 sekundy, a więc rzeczywista prędkość to (819200000/1024/1024) / 10.383 = 75,2 MB/s.

Na drugim miejscu znalazł się ten sam dysk podłączony do portu USB 3.0, ale jest tutaj drobna pułapka. Domyślnie dostarczony system Linux 4 Tegra 19.2 i 19.3 mają ustawiony ten interfejs do pracy jako USB 2.0. Wynik polecenia lsusb:

  1. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  2. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  3. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Aby uzyskać pełnowartościowe USB 3.0, musimy ponownie wgrać firmware, zmieniając w pliku jetson-tk1.conf ustawioną zmienną ODMDATA=0x6009C000 na ODMDATA=0x6209C000. Wiąże się to z wyczyszczeniem systemu, ale po takim zabiegu,  port USB 3.0 będzie już widoczny:

  1. Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  2. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  3. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Ile jest wart gigabiotwy port Ethernet?

Skoro mamy możliwość podłączenia szybkiego dysku twardego pod SATA, to czy gigabitowy port Ethernet RTL8111GS pozwoli nam osiągnąć odpowiednio duże transfery? Sprawdziłem to na podstawie zamontowanych,  trzech katalogów NFS z różnymi parametrami:

Z parametrami rsize=8192 kB i wsize=8192 kB udało się "wycisnąć" 85MB/s (680 Mbps)

Jetson TK1 jako HTPC?

Ostatnim razem (również na filmie) pokazywałem, że platforma dobrze sobie radzi z wszelkim materiałem w rozdzielczości 1080p - zarówno w odtwarzaczu Totem jak i XBMC. Podczas testów z różnymi materiałami wideo, nie doświadczyłem żadnych kłopotów. Dopiero jeden z czytelników zapytał mnie, jak radzi sobie Jetson TK1 z materiałami o dużym bitrate. Dodatkowo podniosłem poprzeczkę, testując to z podmontowanej lokalizacji sieciowej NFS.

Okazuje się, że zarówno Totem jak i XBMC dekoduje materiał, nie wykorzystując akceleracji sprzętowej, a jedynie mocy obliczeniowej procesora. Na dodatek dostępny w repozytorium XBMC 12.3 wykorzystuje do tego celu tylko jeden rdzeń, co pozwala mu na płynne odtworzeniu materiału z maksymalnym stałym bitrate do 20 Mbps. Dużo lepiej radzi sobie Totem, ponieważ wykorzystuje już wszystkie 4 rdzenie, radząc sobie już z materiałem do 120 Mbps przy obciążeniu rdzeni na poziome 60-80%.

Sytuacja nieco się poprawia, kiedy film odtworzymy drugi raz, a materiał wideo znajduje się pamięci buforowanej:

Sytuacja ta powinna się jednak bardzo szybko zmienić, ponieważ NVIDIA udostępniła źródła programów nvgstplayer i nvgscapture, które wykorzystują OpenMAX (Open Media Acceleration) dla gstreamera 0.10 i 1.0 z akceleracją sprzętową TK1. Dla próbki 120Mbps wygląda to następująco:

Za drugim razem, kiedy materiał znajdował się w pamięci buforowanej:

Jest więc kwestią czasu, aż ktoś przygotuje odpowiednią łatkę do XBMC.

Po dwóch latach od premiery modelu Raspberry Pi Model B, postanowiono przgotować jej odświeżony wariant oznaczony jako model B+. Producent wyjaśnia, że w żadnym wypadku nie jest to wyczekiwany Raspberry Pi 2, lecz końcowa wersja tejże linii, zawierająca naniesione sugestie społeczności.

Wśród zmian znajdziemy :

  • zwiększoną liczbę GPIO do 40 pinów przy zachowaniu zgodności z wyprowadzeniami 26 pinów z wersją modelu B,
  • dodano dwa kolejne porty USB 2.0 (w sumie 4 porty),
  • wymienione gniazdo SD na microSD,
  • zmniejszony pobór mocy, dzięki wymienionym regulatorom napięcia, co pozwala na osiągnięcie wyniku pomiędzy 0.5W do 1W,
  • ulepszono segment audio poprzez zastosowania oddzielnego, dedykowanego zasilania,
  • przeniesiono porty USB na krawędź płytki,
  • kompozytowe wyjście wideo przerzucono na 3.5 mm wtyk typu Jack,
  • dodano otwory montażowe,

Jeśli chodzi o procesor to nadal jest to układ BCM2835. Nie zwiększyła się również dostępna pamięć o rozmiarze 512MB. Cena pozostała bez zmian, czyli 35$. Wymiar PCB Raspberry Pi B+ to 85 x 56 mm

Specyfikacja mechaniczna oraz diagram GPIO

Więcej informacji: http://www.raspberrypi.org/blog/#introducing-raspberry-pi-model-b-plus

W końcu dotarła do mnie długo wyczekiwana platforma deweloperska, którą bez wątpienia można nazwać superkomputerem w segmencie Embedded - a mianowicie NVIDIA Jetson TK1. Od strony sprzętowej mamy tutaj bardzo mocny układ SoC Tegra TK1 wykorzystujący cztery rdzenie Cortex-A15 taktowany zegarem 2.32GHz w architekturze NVIDIA 4-Plus-1. Jednak prawdziwą bombą jest rdzeń graficzny oparty o architekturę NVIDIA Kepler (GK20a), uzbrojony w 192 rdzenie CUDA. Pozwala to osiągnąć wydajność na poziomie 300 GFLOPS, dla porównania układ Mali-T628 MP6 zastosowany w procesorach Exynos5422 osiąga połowę mniej, bo 146 GFLOPS. Układ SoC chłodzi radiator oraz przymocowany 1.3W wentylator, zasilany napięciem 12V.

Na płycie znajdziemy również 2GB pamięci DDR3L taktowanej zegarem 933MHz oraz 16GB pamięci eMMC 4.51. Jetson TK1 został również wyposażony w gigabitowy port Ethernet wykorzystujący układ Realtek RTL8111GS, jeden port USB 3.0 oraz jeden port micro-USB 2.0, który możemy wykorzystać jako standardowy port USB dzięki dołączonemu adapterowi.

Ogromnie cieszy port SATA oraz gniazdo mini-PCIe, do którego możemy wpiąć  karty rozszerzeń, takie jak: karty Wi-Fi, dyski SSD, modemy 3G, kontrolery SATA RAID, kontrolery USB itd.  Za dźwięk odpowiada układ ALC5639.

Jeśli chodzi o dodatkowe złącza, to wymienić można port szeregowy RS232, wyjście audio, wejście mikrofonowe, gniazdo HDMI 1.4, czytnik kart SD, port JTAG oraz 125 pinowy port rozszerzeń udostępniający następujące porty:

  • dwa szybkie porty kamer CSI-2 MIPI (4-torowy i 1-torowy),
  • port LCD obsługujący panele LVDS i eDP,
  • porty dotykowe SPI (4-torowy oraz 1-torowy CSI-2),
  • UART,
  • HSIC,
  • trzy porty I2C,
  • osiem pinów GPIO (logika 1.8V)

Dodatki

Ponieważ Jetson TK1 posiada gniazdo mini-PCIe, warto również zaopatrzyć się kartę sieciową Wi-Fi. Do testów skombinowałem Intel Centrino Wireless-N 2230 oraz Athreos AR5B95, wraz z różnymi antenami. Niestety karty sieciowe nie działają out-of-box, ponieważ niezbędna będzie ponowna kompilacją jądra.

Okazuje się, że konieczne jest również dokupienie kabla zasilającego do zasilacza, ponieważ w komplecie dostarczony jest z wtyczką amerykańską. Natomiast aby wykorzystać port micro-USB 2.0 jak dodatkowy port, zaopatrzmy się również w adapter micro-USB na USB (żenskie). Problemem może okazać się tylko jeden port USB 3.0 w standardowym rozmiarze, jeśli nie posiadamy klawiatury i myszki z odbiornikiem Unifying, niezbędne będzie podłączenie aktywnego huba USB.

Linux For Tegra R19.2, czyli Ubuntu 14.04

Jetsona TK1 wyróżnia w pełni wspierane sprzętowo standardy CUDA 6.0, OpenGL 4.4, OpenGL ES 3.1, NPP, EGL 1.4, OpenCV4Tegra oraz VisionWorks. Wszystko to pod Linuksem z jądrem 3.10.24 i pełną obsługą X11 oraz RandR 1.4. Domyślnie zainstalowana jest dystrybucja Ubuntu 14.04 ze środowiskiem Unity. Podczas pracy rdzenie procesora są usypiane w razie potrzeby, ograniczając tym samym pobór prądu.


Oczywiście możemy włączyć na stałe wszystkie cztery rdzenie oraz ustawić profil na performance:

Dekodowanie filmów 1080p odbywa się bez zajęknięcia. Jeśli kogoś interesuje XBMC, to również nie ma z nim najmniejszych problemów.  Co ciekawe - XBMC wykorzystuje Open GL ES.

Porównanie z innymi platformami

NVIDIA Jetson w działaniu

Porównanie parametrów

  ODROID-XU ODROID-XU3 Jetson TK1
   
Procesor Exynos 5410 Exynos5422 Tegra TK1
Rodzina ARM Cortex A15
ARM Cortex A7 big.LITTLE
ARM Cortex A15
ARM Cortex A7 big.LITTLE
HMP
ARM Cortex A15
NVIDIA 4-Plus-1
Zegar procesora  1.6 GHz 2.0 GHz 2.32 GHz
Liczba rdzeni 8 8 4 + 1
Układ graficzny PowerVR SGX 544MP
76 GFLOPS
Mali-T628 MP6
142 GFLOPS
NVIDIA Kepler (GK20a)
300 GFLOPS
Zegar grafiki 640 MHz 695 MHz 933 MHz
OpenGL ES 2.0 3.0 3.1
OpenGL nie nie 4.4
OpenVG 1.1 b/d ??
OpenCL 1.1 1.1 ??
CUDA nie nie 6.0
 Pamięć RAM  2048 MB 2048 MB 2048 MB
 USB 2.0  Tak (4x)  Tak (4x) Tak (1x)
USB 3.0 Tak (1x) Tak (1x) Tak (1x)
USB 3.0 OTG Tak (1x) Tak (1x) Nie
 HDMI Tak Tak Tak
DisplayPort Tak Tak Nie
eMMC Tak
Version 4.5
Tak
Version 5.0
Tak
Version 4.51
microSD Tak Tak Nie
SDHC Nie Nie Tak
10/100/1000 Ethernet Tak / Tak / Nie Tak / Tak / Nie Tak / Tak / Tak
IO Ports 30 pinów
GPIO, IRQ, SPI, ADC
30 pinów
GPIO, IRQ, SPI, ADC
125 pinów
GPIO, I2C, CSI, UART
LCD panel Tak
MIPI
Nie Tak
MIPI / LVDS
Wymiary   69.80 x 94 mm 94 x 70 mm 127 x 127 mm