Nie mam żadnego doświadczenia z RPi, dzisiaj coś niecoś o tym poczytałem i wydaje mi się, że może to być fajna sprawa do mojego projektu. Robię badziew, która zbiera dane z przetwornika ADC, coś tam się obrabia dalej wstępnie na FPGA, a dalej do PC na końcową obróbkę i wyświetlanie. Transmisję danych do PC śmigam po USB.
Pytania:
1) Czy RPi pociśnie 1+ MB/s transmisji po GPIO?
2) Czy macie jakieś namiary na projekt RPi + TouchScreen (800x600)?
3) Jakie narzędzia programistyczne są dostępne pod RPi?
Polecam zastanowić się na Beaglebone Black. Programowo nie obędzie się bez sztuczek żeby uzyskać taki transfer (musiał byś użyć wbudowanego koproca do zastosowań RT), ale masz dostęp do szyny rozszerzenia pamięci, która ma o wiele wyższą przepustowość. Są gotowe rozszerzenia z LCD+touchscreen, jest też kilka projektów rozszerzeń z FPGA. Co do narzędzi programistycznych to BB jest w lepszej sytuacji, bo procesor jest zgodny z tym co używa większość ARMowych urządzeń na rynku. Przez to masz dostęp do szerokiej gamy narzędzi skrośnych, jest przeportowany QNX, ktoś chyba też wspomniał o Windows CE (czy jak się nazywa aktualna wersja Windows dla urządzeń wbudowanych), jest Linux z rozszerzeniami RT. Jeśli nie chcesz używać pełnego systemu operacyjnego, TI oferuje za darmo zestaw narzędzi do programowania na gołym procesorze. W przypadku RPi masz ichni port Debiana i chyba niewiele więcej. Procesor jest mniej wydajny i ma mniej dostępnych linii I/O. Raspbery bym polecał tylko w jednym przypadku: jeśli musisz dekodować skompresowane wideo. RPi ma do tego wspomaganie w GPU, czego brakuje w BBB.
Jeśli używasz Linuxa to szybkość zależy od tego na jakim poziomie zaimplementujesz sobie to machanie GPIO. Jeśli napiszesz skrypt shella to nie osiągniesz nawet ułamka takiego transferu. Jeśli napiszesz moduł do jądra to jest ogromna szansa, że uzyskasz to bez problemu. Pytanie czy to może być [przesada] jedna sekunda 2MB/s i jedna 0 MB/s czy też to ma być niezakłócony przepływ 1MB/s z dokładnością do 0,01%? Linux to system operacyjny i nawet w wersji RT czasem musi zrobić swoje zatrzymując twój transfer. Wersja RT robi to na krócej i bardziej przewidywanie.
Jeśli ten panel ma wyjście SPI lub inne w miarę "normalne" to powinno się to dać oprogramować.
Jak to każdy Linux daje nam gcc z przyległościami. Są duże szanse, na zbudowanie dowolnej aplikacji jeśli mamy do niej i do bibliotek źródła. Ja buduje sobie a RPi, ale jest to bardzo powolne, pewnie jest dostępny jakiś kroskompilator na zwykłego PCta.
Ogólnie RPi to zabawka edukacyjna, jeśli to projekt komercyjny to bym się zastanowił dwa razy.
Jak widać, w C przekracza to nawet sporo moje wymagania. Szkoda, że nie było robionych testów pod Lazarusem, bo właśnie w tym środowisku planuję pisać soft. Chyba nie ma innego wyjścia jak zakupić RPi, poplątać druty i samemu sprawdzić.
Za RPi przemawia tylko cena chyba. Ma to mało IO, słabą dokumentację, sam procesor nie ma dokumentacji. Zakres temperatur pracy taki sobie, żadnych certyfikatów na wibracje i inne przemysłowe głupoty. Zero dedykowanego wsparcia tylko zapaleńcy. Brak gwarancji dostępności aktualnej wersji.
Gotowych modułów z ARMem, RAM i FLASH jest sporo dostępnych, niektóre montowane powierzchniowo inne przewlekane lub w gniazdach typu SIMM. Jest z czego wybierać.
Istotnie, RPi ma trochę mało IO, ale wydaje mi się że z tym jakoś dałbym sobie radę. Kolejnym plusem z mojego punktu widzenia jest możliwość pisania softu w środowisku Lazarus. Jakie inne gotowe moduły z ARMem, RAM i Flashem polecasz?
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.