U januaru 2021. Raspberry Pi je predstavio svoj RP2040, 32-bitni ARM Cortex-M0+ mikrokontroler i zajedno sa njim sada legendarni Raspberry Pi Pico. Nije trebalo mnogo vremena da prođe i ovaj minijaturni razvojni sistem po ceni od svega $4 postao je srce mnogih mejkerskih, hobističkih, kućnih i industrijskih uređaja, od raznovrsnih tipova displeja, pametne rasvete, ali i kao standardan upravljački sistem mnogih STEM učila. Osnovni model nije imao Wi-Fi/Bluetooth modul na sebi, ali je i on dodat u junu 2022. kada izlazi Raspberry Pi Pico W. Ovim su otvorena vrata za mnoštvo IoT projekata i korišćenje najmanje Raspberry Pi platforme za prilagođene mrežne uređaje. Čekali smo do avgusta 2024. da Raspberry Pi predstavi novi model Raspberry Pi Pico 2 sa savim novim mikrokontrolerom koji sada nosi oznaku RP2350A.

9.3 TOTAL SCORE

Raspberry Pi Pico 2

Razvojni sistemi
Kvalitet izrade 10
Implementirana tehnologija 9
Ease-of-use 8
Odnos cena/performanse 10
Pros
  • Armv8-M instrukcioni set sa hardverskim DPI, FPU, kriptografskim SHA256 akceleratorom i GPIO koprocesorom
  • Pin to pin i softverski kompatibila sa prethodnim modelom
  • Dualna arhitektura: ARM i RISC-V sa istim SDK-om
  • Duplo moćniji od prethodnika za samo $1 više
Cons
  • Nema Wi-Fi/Bluetooth modul na sebi
  • Voleli bi da ima Reset dugme
Bottomline

Raspberry Pi Pico 2 je odlično osmišljen mikrokontrolerski razvojni sistem baziran na dve arhitekture: ARM i RISC-V. Od svog prethodnika je zadržao oblik, kompatibilnost u rasporedu pinova i softvera. Dobio je mnogo, pre svega brzinu i bezbednost, a nedostaje mu samo Wi-Fi/Bluetooth modul.

Iza ovog imena krije se puno više snage i veoma interesantna dualna ARM/RISC-V arhitektura, koja je pri tome zadržala visok stepen programske kompatibilnosti sa prethodnim RP2040. Upravo ta činjenica i izdvaja kompaniju Raspberry Pi od drugih na tržištu, praktično garantujući bezbolan hardverski upgrade postojećih rešenja sa jedna na drugu platformu. To je nešto na šta smo navikli i kod „velikih“ Raspberry Pi modela, izuzmemo li igranje tima sa lokacijom portova.

Razlike Raspberry Pi Pico i Raspberry Pi Pico 2

Za poznavaoce Raspberry Pi Pico-a koji su nestrpljivi da saznaju koje benefite donosi model Pico 2 nabrojaćemo najvažnije. Ugrađena QSPI fleš memorija na samoj ploči je udvostručena, tako da umesto nekadašnjih 2 MB ovde mogu koristiti 4 MB. Napominjemo da kompanija najavljuje i MCU sa oznakom RP2354 koji će na sebi imati integrisanih 2 MB flaš memorije, što bi generalno moglo da dodatno pojednostavi i pojeftini izradu uređaja sa ovim mikrokontrolerom.

RP2350A kao srce Raspberry Pi Pico 2 u odnosu na prethodni RP2040 radi na višem taktu koji je sada 150 MHZ, dok je nekada bio 133 MHz. Iako je raspored IO pinova na obe ploče identičan, tako da je moguće zameniti Raspberry Pi Pico sa Raspberry Pi Pico 2, pinovi RP2040 i RP2350 to nisu, te je će u slučaju da želite samo zamenu procesora biti neophodan redizajn PCB-a.

RP2350A MCU in Raspberry Pi Pico 2

RP2350A je na Raspberry Pi Pico 2, postoji i RP2350B model sa većim brojem nožica, ali i RP2354 serija, takođe u A i B verziji, sa integrisanih 2 MB fleš memorije na silicijumu | photo: magazin Mehatronika

SRAM na čipu je takođe udvostručen i sada je tu 520 kB za kod i podatke. U prethodnom modelu SRAM je bio podeljen u četiri banke i svako od jezgara je moglo da pristupa jednoj od njih u istom trenutku. U novoj realizaciji kompletna memorija je podeljena na deset banki i jezgra mogu da im pristupaju simultano paraleno iz različitih menadžera;

Umesto dva ARM Cortex-M0+ jezgra sada imamo dva ARM Cortex-M33. Nova jezgra imaju Armv8-M set instrukcija, za razliku od starih koja su imala Armv6-M. Veliki skok u razvoju arhitekture desio se pojavom Armv7-M arhitekture koja je donela hardversku: Bit Field manipulaciju, DSP i komande za rad u pokretnom zarezu (FPU), no i dalje je to ostao čist 32 bitni hardver. Armv8-M proširuje ovaj set jednim brojem 64 bitnih komandi i sa pravom se definiše kao 32/64 bitni sistem.

Novi RP2350A pored jezgara ima i četiri koprocesora u sebi. Za kontrolu GPIO linija implementiran je GPIO koprocesor vitalan za aplikativni rad mikrokontrolera. On omogućava da se jednom koprocesorskom komandom nadgleda svih 48 GPIO linija i omogućava jednostavno izvršavanje set/clear/write komandi na svakoj od njih.

Tu su i po dve instance DPC (double-precission coprocessor) koji obezbeđuje brže računanje u pokretnom zarezu (double float podaci) sa dvostrukom preciznošću obezbeđujući jednu komandu za: sabiranje, oduzimanje, množenje, deljenje i računanje kvadratnog korena. Dodatno ugrađena FPU jedinica radi single-precission proračune i SDK koristi nju za sve podatke tipa float.

Neočekivano je prisustvo neuobičajenog RCP (Redundancy Coprocessor) koprocesora čija je uloga da osigura željeni rad procesora štiteći bootrom od izmene ubacivanjem neželjenog koda ili napada return-oriented programiranjem.

Uvođenjem Armv8-M arhitekture omogućeno je i implementiranje TrustZone tehnologije pod imenom TrustZone for Armv8-M. Proistekla je iz TrustZone tehnologije za ARM Cortex-A procesore sa određenim prilagođenjima za mikrokontrolere. TrustZone-M kreira bezbednu memorijsku i IO zonu čijim resursima pristup kontroliše softver za nadzor. Koristi se za zaštitu mehanizama autentifikacije, kriptografiju, upravljanje mobilnim uređajima, plaćanje, rad sa ključevima i upravljanje digitalnim pravima (DRM).

Raspberry Pi Pico 2

photo: magazin Mehatronika

Zanimljivo je da postoji i secure-boot mode koji kada je omogućen dozvoljava pokretanje isključivo programa koji su potpisani privatnim ključem uz proveru heša odgovarajućim javnim ključem smeštenim u OTP. RP2540 ima ugrađen hardverski kriptografski SHA256 akcelerator.

Potpuna novost je prisustvo RISC-V jezgra. Iako je ceo RK2350 dizajniran u kompaniji, RISC-V deo je posebno interesantan kao autorsko životno delo čoveka čije je ime Luke Wren, koji je to radio u svoje slobodno vreme. Razlog dodavanja ove nove arhitekture može se naslutiti u izjavi samog Eben Upton-a „Dodavanjem Hazard3 u RP2350, cilj nam je da damo programerima priliku da eksperimentišu sa RISC-V arhitekturom u stabilnom, dobro podržanom okruženju i da popularišemo Hazard3 kao otvoreno jezgro, samo po sebi pogodno za korišćenje u drugim uređajima, ali i kao jezgro koje može biti osnova za dalji razvoj.”

Hardverska podrška za RISC-V arhitekturu je implementirana dinamičkom zamenom ARM Cortex-M33 (Armv8-M) procesora sa Hazard3 (RV32IMAC+) procesorom. RISC-V jezgra kao i ARM jezgra podržavaju dibagovanje preko SWD pinova. Bez obzira koju arhitekturu koristite, programiraju se istim SDK-om unutar istih IDE-a.

Raspberry Pi Pico 2 VS Milk-V Duo

Danas RISC-V arhitektura postaje veoma interesatna zbog svoje otvorenosti, te i drugi proizvođači, poput Mars-V-a n a slici razvijaju ploče po uzoru na Raspberry Pi Pico, ali sa drugim MCU-ovima | photo: magazin Mehatronika

Novotarija u vidu state mašina koja se pojavila u Raspberry Pi Pico modelima donela je mogućnost da se generišu specifični GPIO signali bez opterećenja procesora. RP2040 je imao dve programabnilne IO instance sa po četiri state mašina, odnosno osam state mašina ukupno. Novi RP2350 ima tri bloka sa po četiri state mašine, ukupno 12.

Hardver

Prvo što primećujemo kada posmatramo novi Pico 2 je da je po formatu identičan sa prethodim modelom, što govori i o nameri Raspberry Pi tima da omoguće jednostavni upgrade sistema. Može se nabaviti bez zalemljenih hedera, što je interesantno ukoliko se fiksira ubacivanjem u ivične konektore, a postoji i mogućnost nabavke modela sa hederima.

Raspberry Pi Pico 2

photo: magazin Mehatronika

Tu je i zelena led dioda zgodna za inicijalno testiranje ispravnosti sistema, te je obično prvo pokretanje upravo startovanje kratkog Blink programa koji kontroliše njeno treperenje. Ne postoji reset dugme, mada je reset jednostavan i kao i na prethodnom modelu se postiže kratkim spajanjem GND i RUN pina. Tu je BOOTSEL dugme koje je neophodno za prebacivanje u mod u kome se Pico 2 ponaša kao USB disk. U njega se ulazi tako što se prilikom uključivanja (ili spajanjem USB kabla ili resetom) drži BOOTSEL dugme par sekundu duže. Kompajlirana .UF2 datoteka tada se može presnimiti sa računara na internu memoriju Raspberry Pi Pico 2 nakon čega će se on automatski resetovati i ponovo pokrenuti sa novim programom.

Kao i na prethodnom modelu za povezivanje sa računarom odabran je micro USB konektor | photo: magazin Mehatronika

Novi Pico 2 nema, kao ni prvi Pico Wi-Fi/Bluetooth modul, pa se na tom mestu, kao i pre nalaze tri SWD kontakta pogodna za praćenje i korekciju programa uz pomoć, mi preporučujemo Raspberry Pi Debug sonde. Upotreba ove sonde će omogućiti i kontrolu reseta i prebacivanja .UF2 datoteke bez fizičkog reseta i korišćenja BOOTSEL dugmeta.

BOOTSEL dugme je jedino digme na novom Raspberry Pi PIco 2 modelu | photo: magazin Mehatronika

Sa donje strane pločice nalaze se jasne oznake svih ivičnih  pinova, kao i sedam TP tačaka, jedna više nego pre. Ta sedma je interesantna jer je netestirana i teoretska namena joj da se kroz nju unese viši napon kako bi se overklokovao MCU.

Ostali pinovi su identični, sa tim da pinovi od 12 do 19 imaju dodatnu mogućnost pod imenom HSTX (High Speed TX serijski port). HSTX pinovi su isključivo izlazni (TX) i na njima se mogu generisati signali sa osam od postojećih dvanaest state mašina. Po specifikaciji proizvođača moguće je prenositi informacije brzinom do 300 Mbps po pinu i rade na učestanosti do 150 MHz. Nezavisni su od ARM i RISC-V jezgara i ne opterećuju ih pri radu. Par primera koji se mogu naći kao ilustracija mogućnosti korišćenja prenosa podataka ovom brzinom je nezavisno generisanje slike kreiranjem DVI, VGA ili signala kompozitnog video izlaza, odnosno upravljanje radom LED displeja.

Raspberry Pi Pico 2 back ports

photo: magazin Mehatronika

Softver

U ovom trenutku Raspberry Pi Pico 2 se može programirati u Micropython-u i C/C++ za šta je proizvođač obezbedio SDK koji podržava i ARM i RISC-V arhitekturu. Trenutna SDK V2.0 ima preko stotinu različitih programa za obe arhitekture koji ilustruju rad i omogućavaju razvoj novih aplikacija. Testiranjem istih programa na dobili smo da je novi RP2350A (bez obzira da li je u ARM ili RISC-V) modu u proseku duplo brži u izvršavanju zadataka u odnosu na prethodni RP2040. Jedan od razloga je svakako viši takt, ali to samo po sebi nije dovoljno. Promena sa Armv6-M na Armv8-M donosi dodatne performanse u ARM Cortex-M33 jezgrima i time donose benefite u brzini. Veći broj state mašina, 24 umesto 16 PWM kanala, osam HSTX linija za izlazne podatke u specifičnim aplikacijama mogu mnogostruko ubrzati izvršenje zadataka.

photo: magazin Mehatronika

Za razvoj aplikacija u Visual Studio Code okruženju postoji Raspberry Pi Pico ekstenzija koja pored mnogih olakšica pri radu i razvoju projekta, prilikom aktiviranja instalira i najnoviji SDK sa svim primerima i dodatnom dokumentacijom. Nakon kompajliranja programa .UF2 fajl se može flešovati na Raspberry Pi Pico 2 u BOOTSEL modu preko USB kabla kao da je u pitanju USB drajv, a moguće je i automatsko flešovanje korišćenjem picotool softvera koji se poziva iz Visual Studio Code naredbom Run. Veoma je važno da je novi RP2350 softverski kompatibilan sa pređašnjim RK2040 što će skratiti vreme migracije sa jedne na drugu platformu.

S obzirom da je platforma još uvek nova, CircuitPython je još u beta verziji: 9.2.0-beta.1 i može se preuzeti direktno sa CircuitPython sajta. Arduino nije razdelio stari i novi model, te se koristi standardna Raspberry Pi Pico/RP2040 by Earle F. Philhower, III definicija ploče. Kompletan rad je kao da je u pitanju stari model.

Zaključak

Već pomenuta softverska i hardverska kompatibilnost sa prethodnim modelom, kao i mogućnost korišćenja ARM i RISC-V arhitekture na istom čipu bez zamene softvera uz korišćenje istok SDK-a i razvojnog okruženja je zaista veliki plus za ovu novu po mogućnostima platformu. Oni koji su godinama do sada koristili Raspberry Pi Pico će bez imalo problema preći na novi Pico 2 i imati samo benefite od daleko snažnijeg, versatilnijeg, sigurnijeg, ali i što nije neinteresantno procesora baziranog na dve arhitekture. Onima koji tek kreću u Pico svet prvi koraci na Pico 2 platformi neće biti nimalo kompleksniji od onih koji su svoje prve korake pravili na starom Pico-u. Mejkerski i profesionalni projekti, kao i STEM učila su novim Pico 2 dobili puno snage i dodatnu RISC-V arhitekturu, bez ijednog značajnog gubitka i to za svega $1 više. Jedino što nedostaje je Wi-Fi/Bluetooth modul, no on nije bio prisutan ni na originalnom Pico-u, pa ga očekujemo uskoro u obliku Raspberry Pi Pico 2 W modela. Do tada nema ni jednog razloga da svoje projekte ne osvežite novim Pico 2 i isprobate jednostavnim klikom prilikom kompajliranja kako bi RISC-V arhitektura zadovoljila zahteve vaše aplikacije. Ovo RISC-V sve češće čujemo kada se priča o  otvorenom hardveru budućnosti, poruci koju  nam i Raspberry Pi tim upravo šalje.

Aleksandar Dakić
Follow me