Banana Pi BPI-Pico-RP2040 je mudro osmišljena realizacija RPi Pico klasika. Dvogodišnje iskustvo u upotrebi RP2040 u mnogim projektima je Banana Pi timu dalo priliku da predstavi svoju ideju RP2040 razvojnog sistema.
Specifikacije Banana Pi BPI-Pico-RP2040
Treba reći da je za nešto više od dve godine od svog pojavljivanja u januaru 2021, mikrokontroler RPi RP2040 izborio za sebe veoma zavidnu poziciju na tržištu. Iako je baziran na ARM Cortex M0+ arhitekturi jezgra predstavljenoj još 2012. godine, on na sebi ima mnoštvo specifičnih rešenja koja ga izdvajaju, možemo slobodno reći, u sada opštoj M0+ pomami. Treba samo pogledati neke od najvećih igrača na tržištu koji ovih dana predstavljaju svoje nove modele bazirane na ARM M0+ arhitekturi. Tu je recimo STM sa svojom STM32C0 serijom, kao i najnovije Ti MSP linije: MSPM0G i MSPM0L.
No RPi je na svom RP2040 uradio ono što niko drugi nije. To je pre svega jedini Dual-core ARM Cortex M0+. Radi na 133MHz max, mada ga je moguće overkolovati. Uz dva jezgra tu su i state mašine koje su prava poslastica same po sebi. Ono što RP2040 nema je Flash ili non-volatile memorija na čipu za smeštaj programa i podataka. To je pokušano da se reši dodavanjem eksterne w25q128 Flash memorije na pločici koja se onda vezuje sa RP2040 pinovima za QSPI komunikaciju od 51 do 56 korišćenjem xecute-in-place (XIP) technologije. Ova tehnologija omogućava da čip koristi podatke i kod iz Flash memorije bez potrebe da ih prebaci u interni RAM.
QSPI je brz, ali nije onoliko brz koliko je brza magistrala koja bi se realizovala unutar čipa. Ovo rešenje se definitivno odražava na performanse, ali je sa druge strane pitanje koliko je to zaista bitno u realnoj upotrebi. Ono što je dosada bio problem kod drugih proizvođača, a to je da je interna memorija u čipu, ukoliko je iole veća, bila problem u proizvodnji. Neke serije veoma perspektivnih mikrokontrolera, upravo su ugašene iz tog razloga, iako su imale impresivne karakteristike u specifikacijama. Mislimo tu na brzinu i veličinu interne memorije. Deluje da je ovim postupkom RPi rešio jedan veoma veliki problem, osiguravajući RP2040 pouzdan rad i time i budućnost.
Performase : Benchmarks
Banana Pi tim je na bazi već prihvaćenog Raspberry Pi Pico razvojnog sistema, u istom formatu (mada za 5 milimetara dužom pločicom, uz zadržavanje iste geometrije i rasporeda nožica) uradio svoj Banana Pi BPI-Pico-RP2040 sa verzijom čipa RP2040-B2. I on ima 26 GPIO pinova uz 4 koja podržavaju ADC analogne ulaze. Funkcionalnost je potpuno identična i na svim našim testovima performansi RPi Pico i BPi Pico RP2040 postižu potpuno identične rezultate.
Hardware : izgled i osećaj
Ono što se razliku se može reći u četiri rečenice:
- Banana Pi BPI-Pico-RP2040 pločica je lepe tamno sive boje sa zlatnim konektorima. Deluje dostojanstveno.
- Umesto micro-USB, postavljen je USB Tip-C, koji je danas praktično standard na svim mobilnim aparatima, pa će i večina USB kablova u kući biti baš ono što je potrebno.
- Pored standardne zelene LED diode, dodata je i WS2812 kolor LED dioda na GPIO3, pa će NeoPixel primeri raditi odmah.
- Možda najbitniji dodatak, na dnu pločice, umesto DEBUG interfejsa postavljen je JST SH 1mm 4-pin konektor koji omogućava direktno Qwiic & STEMMA QT povezivanje kao i vezu sa bilo kojim periferijama koje podržavaju I2C ili UART. Pametna odluka je bila da se na ta četiri konektora, pored 3,3V i GND dovedu GPIO8 i GPIO9. Oni su inače predviđeni kao I2C0 SDA/SCL ili UART1 TX/RX par.
Treba još reći da RP2040 hardverski podržava I2C, SPI i UART, ali da se softverski relativno lako mogu uz dodatnu upotrebu ugrađenih state mašina dinamički implementirati i drugi protokoli.
Na netu je lako nači I2S digitalni audio I/O koji podržava 8, 16, 24 i 32 bita po uzorku. Teoretski se može kreirati do 6 I2S portova, ali se praktično, zbog manjka hardverskih resurasa (DMA, PIO SM) može stvarno koristiti svega dva ili tri.
Druga interesantan realizacija je SDIO, interfejs za SD kartice, za koga je potrebno 6 GPIO linija: DAT0-DAT3, CLK i CMD i koji omogućava pisanje i čitanje na i sa SD kartice.
Veliki broj GPIO portova omogućava i impementaciju 8080 i 6800 paralelne BUS magistrale. Sa tim da je za 8080 potrebno 20 GPIO linija:
- RS : LCD Register Select
- D0-D15 : Data D0-D15
- CS : Chip Select (active low)
- RD : Read operation (active low)
- WR : Write operation (active low)
Za 6800 BUS treba 19 GPIO linija:
- RS : LCD Register Select
- D0-D15 : Data D0-D15
- CS : Chip Select (active low)
- E : Read Write Enable/Disable
- R/W : Read operation (active high) / Write operation (active low)
Korisničko iskustvo sa Banana Pi BPI-Pico-RP2040
Sve ove karakteristike Raspberry Pi Pico-a uz odlična rešenja BPi tima daju nam uverenje da je BPi Pico RP2040 kojeg smo dobili na review od proizvođača odlično rešenje za mnoge mejkerske projekte. Da je u neku ruku poboljšanje originalne pločice i svakako bolji izbor.
Ono što ovoj pločici nedostaje je WiFi/BLE povezivanje. To je nešto što RPi Pico W ima, ali treba imati na umu još jedan interesantan proizod BPi tima. Nešto što je u apsolutno istom formatu i može biti zamena za BPi Pico RP2040. Na sebi ima 512KB internog RAM-a, 2MB eksternog PSRAM-a, WiFi 4 i Bluetooth 5, 240MHz Tensilica LX7 ESP32-S3 dual-core procesor i zove se BPi-PicoW-S3.