preloader
  • Zamiennik komputera IPC i386/amd64 oparty na architekturze ARM.

blog-thumb

Komputery jednopłytkowe Raspberry Pi od momentu wejścia na rynek w 2012 roku stały się bardzo popularną platformą służącą jako podstawa projektów na pograniczu informatyki i sterowania. Od początkowego przeznaczenia do projektów edukacyjnych i hobbystycznych, ze względu na swoją stabilność i bezawaryjność przeszedł do etapu bycia podstawą wielu rozwiązań w automatyce. Zabudowane na płytce zasoby procesora pamięci i peryferiów w większości przypadków wystarczą do prostych zadań automatyzacji. Dodatkowym atutem są niewątpliwie łatwo dostępne magistrale komunikacyjne (RS232 TTL3V3, I2C, SPI). Niestety istnieją poważne przeszkody w niektórych bardziej zaawansowanych zastosowaniach w sterowaniu.

Rys.1 Raspberry Pi 1 wersja B

Podstawowym problemem jest brak zabudowanego zegara czasu rzeczywistego. Istnieją różne programowe obejścia tego problemu. Na przykład przy założeniu, że czas „idzie” tylko w przód, system operacyjny może zapisywać w czasie pracy aktualny czas na pamięci nieulotnej. Po restarcie wpisuje do zegara systemowego ostatni wpisany czas i liczy dalej. Rozwiązanie to ma jednak oczywiste wady takie, że zegar rozsynchronizuje się o czas braku zasilania i uruchamiania systemu, oraz polegamy na precyzji zegara procesora, który w ogólności nie był zaprojektowany aby dokładnie wyznaczać czas. Jeśli do pracy komputer potrzebuje połączenia z siecią dobrym rozwiązaniem jest synchronizacja zegara systemowego z serwerem czasu (dostępnym w sieci Internet albo w przypadku separowanych od globalnej sieci rozwiązań - postawiony lokalnie). Drugą wadą do niedawna było uruchamianie się systemu operacyjnego z karty uSD. Interfejsy tych kart są wolne w porównaniu do rozwiązań stosowanych w nowoczesnych komputerowych pamięciach masowych.

Rys.2 Raspberry Pi 4

Rozwiązanie tych problemów i umożliwienie budowy sprzętu będącego w stanie zastąpić komputer IPC pojawiło się wraz z ukazaniem się na rynku Raspberry Pi 4 oraz urządzeń peryferyjnych typu miniaturowe zegary RTC z protokołem I2C oraz obudowa Argon ONE M.2. Raspberry Pi 4 posiada możliwość uruchamiania się z zewnętrznej pamięci masowej podpiętej do szybkiego kontrolera USB 3.0. Nie jest więc już potrzebna karta uSD do uruchamiania systemu i przy zastosowaniu obudowy Argon ONE M.2 cały system operacyjny i oprogramowanie znajduje się na pamięci M.2 zamontowanej w obudowie.

Rys.3 Argon ONE M.2

W obudowie jest też wystarczająco dużo miejsca aby umieścić tam miniaturowy zegar RTC np.: DS3231 I2C (wymagane jest lekkie dopasowanie mechaniczne). Obudowa umożliwia dostęp do złącza uniwersalnego GPIO RPI4 pod klapką mechaniczną. Zmienia też standard wyjść wideo z mniej popularnego miniHDMI na zwykłe HDMI.

Rys.4 DS3231 I2C

Testy wydajnościowe porównujące między: RasbperryPi 4 (4GB RAM + 128GB M.2 SSD) a Gigabyte BRIX GB-BACE-3160 (4GB RAM, 16GB SSD) wskazują, że komputer na architekturze ARM ma dwukrotnie mniejszą wydajność niż odpowiadający mu sprzęt AMD64. Jednocześnie należy zaznaczyć, że zużywa on ponad dwa razy mniej energii elektrycznej (co bezpośrednio przekłada się też na ciepło oddane w miejscu zamontowania). W większości zastosowań sterowania nie są potrzebne skomplikowane matematyczne obliczenia więc wydajność takiego sprzętu zarówno do sterowania jak i prezentacji danych procesowych jest wystarczająca.