Recenze: Raspberry Pi B

Raspberry Pi je zřejmě nejpopulárnejší jednodeskový počítač vůbec. Zařízení pochází od Britské neziskové organizace Raspberry Pi Foundation se sídlem Caldecote a v době svého vzniku představovalo nejlevnější SBC na trhu. Raspberry Pi B představuje druhou generaci tohoto minipočítače (po Raspberry Pi A) a nově přináší především dvojici USB a 100Mbit ethernetové rozhraní.

Hardware

Základem Raspberry Pi B je SoC (system on chip) společnosti Broadcom s označením BCM2835. Ten v sobě ukrývá jedno jádro ARM1176JZFS (ARM11) standardně taktované na 700MHz. Jádro ARM1176JZFS je postaveno na architektuře ARMv6 a zahrnuje hardwarovou FPU a také rozšíření VFP (o ARM rozšířeních podrobněji na ARMv6 vs ARMv7). SoC dále obsahuje GPU VideoCore IV taktovanou na 250MHz (24 GFLOPs), podporující OpenGL ES 2.0 či hardwarovou akceleraci komprese/dekomprese H.264 1080p30. Video výstup zajišťuje HDMI verze 1.3a (podpora přenosu zvuku přes HDMI) a také analogový výstup pomocí RCA (cinch) konektoru. Analogový video výstup využívá integrovaného DAC převodníhu v BCM2835. Dalším analogovým výstupem je stereo audio výstup. Zde již se ovšem tvůrcům nedostávalo dalších DAC převodníků a tak pro buzení obou audio kanálů využili PWM výstupy SoC BCM2835. Pro vyhlazení průběhu prochází PWM signál přes RC článek, který ovšem zároveň omezuje maximální dosažitelné zvukové frekvence. Kvalita zvuku je tedy nevalná, stejně jako je nevalný výstupní výkon. Ze SoC BCM2835 jsou dále pomocí diferenciálních spojů vyvedeny sběrnice pro kamerové rozhraní MIPI CSI a displayové rozhraní DSI. Ze SoC je také vyvedeno vybraných 26 GPIO pinů na hlavní GPIO header. V množině těchto pinů jsou zastoupeny všechny běžné sběrnice – I2C, SPI, I2S, UART (defaultně použitý pro Linux terminál). GPIO piny využívají 3.3V TTL logické úrovně a nejsou 5V tolerantní. Při Arduino stylu využití také můžou překážet přednastavené pull rezistory. Některé piny jsou totiž po spuštění RPi pulled-down, některé pulled-up. Výchozí stav není úplně jednoduché nastavit a při řízení může samozřejmě přechodný stav pinů v průběhu bootu systému překážet. RAM čip je typu DDR3 a je “sendvičově” osazen přímo na SoC BCM2835.

Novinkou Raspberry Pi B je použití obvodu LAN9512, což je USB hub a řadič 100Mbit ethernetu v jednom. Přidáním tohoto obvodu tedy RPi B získalo obě novinky, jimiž se liší od RPi A – dvojici USB a 10/100 ethernet. Obvod je spojen se SoC BCM2835 opět pomocí USB. Zde je tak vytvořeno úzké hrdlo (jednou USB linkou prochází komunikace dvojice stejně rychlých USB + ethernetu).

O napájení SoC a celé desky se stará trojice lineárních stabilizátorů (1.8V, 2.5V a 3.3V). Napájení tedy není příliš energeticky efektivní (přes 30% energie se změní na teplo ve stabilizátorech) a Raspberry B není zrovna vzorem úsporného SBC. Napájecí napětí je na desku přivedeno prostřednictvím vyhrazeného micro USB konektoru a prochází přes 1.1A vratnou pojistku (polyswitch).

SoC Broadcom BCM2835
CPU jednojádrový ARM1176 na 700MHz
Architektura ARMv6
RAM 512MB DDR3
GPU VideoCore IV
Úložiště SD karta (plná velikost)
I/Os RJ45 pro 10/100 ethernet, HDMI (full size), MIPI-CSI pro kameru, DSI konektor pro display, 1x napájecí micro USB, 2x USB2.0 host, 26pin GPIO header, 3.5 jack audio výstup, RCA pro výstup kompozitního videa
Napájení 5V/1.2A
Rozměry 56×85mm

Spotřeba

Měření spotřeby bez připojených USB periferií. Použitý OS je Raspbian Wheezy nastartovaný do konzole.

vypnutá deska 0.57W (114mA)
systém v klidu (LAN odpojený) 1.75W (350mA)
systém v klidu (LAN připojený) 2.05W (410mA)
CPU na 100% (LAN připojený) 2.3W (460mA)

Software

Raspberry Pi B vyžaduje operační systém schopný běžet na architektuře ARMv6 s rozšířením Thumb a VFPv2. Raspberry Pi Foundation pro tuto specifickou konfiguraci vydala nový port operačního systému Debian, pojmenovaný Raspbian. Raspbian vychází konkrétně z Debianu armhf (který byl původně určen pro ARMv7 – Thumb-2 a VFP3D16). Upravený systém mimo jiné zahrnuje proprietární ovladače pro GPU VideoCore, mnoho device tree overlayů pro ovládání různých periferií desky či utility pro snadnou konfiguraci RPi. Součástí systému je také desktopové grafické prostředí LXDE. Raspbian používá svůj vlastní repozitář instalačních balíčků, aby byla zajištěna kompatibilita s vlastním buildem systému.

Pro vývoj softwaru lze vybírat z klasické škály jazyků dostupných na Linuxu. Za výchozí jazyk pro RPi je někdy považován Python (jeho podpora a IDE je předinstalované), nicméně není problém vyvíjet nativně v C/C++. Např. populární IDE Code::Blocks (je v oficiálním repozitáři) funguje na RPi poměrně svižně. Samozřejmě lze využít přímo gcc resp. g++ a pracovat pouze prostřednictvím terminálu. Kompilování na tak pomalém stroji je ovšem v celku utrpením (zřejmě proto také na RPi vedou interpretované jazyky) a tak stojí za zvážení použít cross compiler běžící na nějakém výkonnějším stroji. K desce jsou díky široké podpoře komunity dostupné knihovny pro práci s GPIO porty (např. Pigpio, WiringPi či RPi.GPIO). K dispozici je mnoho “driverů” (overlayů či kernel modulů) pro různé externí obvody. Velmi snadné je také využití sběrnic (I2C, I2S, SPI, UART).

Existuje mnoho dalších dostupných alternativních operačních systémů, resp. jejich portů jako např. Ubuntu mate, OSMC, OpenELEC, OpenWrt. Různé systémy často slouží nějakému specifickému účelu a směřují RPi do embedded nasazení.

Benchmarks

pracuju na tom… :)

Závěr

Raspberry Pi B dnes již nepatří mezi nejrychlejší, ani nejlevnější jednodeskové počítače. Vzhledem k použitým lineárním stabilizátorům se příliš nehodí ani tam, kde je potřeba velmi nízká energetická náročnost. Deska má také ne zcela šťastně (asymetricky) umístěné montážní otvory. Rapspberry Pi B lze tak považovat za přežitý model, a v nových designech bych doporučil raději sáhnout po novějším Raspberry Pi B+.

Be the first to comment

Leave a Reply