Pienkortteihin uusi ARM-ohjainpiiri – PI ja Arduino

Brittiläiset Raspberry Pi -korttitietokoneet ovat perustuneet tähän asti Broadcomin valmistamiin piireihin, mutta uusimmassa neljän dollarin hintaisessa Pico-kortissa  on otettu käyttöön omaan suunnitteluun perustuva RP2040. Piirin valmistaa taiwanilainen TSMC ja se on tulossa tarjolle myös Arduino-kortteihin.

Raspberry Pi-säätiö halusi kehittää oman ARM-pohjaisen mikro-ohjainpiirin RP2040, jotta heillä olisi mahdollisuus tarjhota ohjainpiiristä parhaiten sopiva ratkaisu. Säätiö asetti suunnittelulle kolme tavoitetta. He halusivat piirin olevan tarpeeksi suorituskykyinen, siinä olisi joustavat I/O-ratkaisut ulkoisten laitteiden tukemiseksi sekä piiri voitaisiin valmistaa mahdollisimman alhaisin kustannuksin.

Uutuus valmistetaan taiwanilaisen TSMC:n tehtaassa 40 nanometrin tekniikalla. RP2040 on kaksiytiminen ARM Cortex-M0 + -prosessori, joka toimi 133 megahertsin kellotaajuudella. Piirissä on 264 kilotavua RAM-muistia ja se tukee ulkoisia Flash-muisteja aina 16 megatavuun saakka.

Uusi RP2040 asettuu ominaisuuksiltaan monien IoT-piirien kanssa samaan teholuokkaan, eli sillä voi ajaa suhteelliseen tehokkaasti juuri tiettyä sovellusta vaativia toimintoja. Kyse on pienestä ohjainpiiristä eikä sillä voida ajaa muiden Broadcom-pohjaisten  Raspberry Pi-tuotteiden tapaan isompia käyttöjärjestelmiä kuten vakio-Linuxia.

Piirin sirukoko koko on kaksi neliömillimetriä ja se on koteloitu 7 x 7 millimetrin kokoiseen QFN-56 -koteloon. Piiri toimi 3.3 voltin syöttöjännitteellä, ja piirin ydinlogiikka toimii sisäisen jänniteregulaattorin tuottamalla 1,1 voltin jännitteellä.

Piirillä on kolmekymmentä 3,3 voltin jännitteellä toimivaa GPIO-nastaa, neljä 12 bitin tarkkuudella toimiva analogista tuloa, kaksi UART-sarjaporttia, kaksi SPI-ohjainta, kaksi I2C -ohjainta, 16 eri PWM-kanavaa ja USB-liitännän. IO nastojen tehokasta hallintaa varten piirissä on kaksi Raspberry Pi Programmable I/O (PIO) -apulohkoa.

Erikoisominaisuutena RP2040 piiri sisältää kaksi on ohjelmoitavaa I/O-osuutta (PIO). Kummassakin PIO-ohjaimessa on neljä ohjelmoitavaa tilakonetta, jotka suorittavat kellontarkasti pieniä ohjelmia, jotka kirjoitetaan yksinkertaisella PIO-konekielellä. Ohjelmoitavuus mahdollistaa tarkan I/O-nastojen hallinnan ilman pääsuorittimen kuormitusta. PIO sopii esimerkiksi sarjaliikenteen tuottamiseen ja vastaanottoon, linjakoodatun datan tuottamiseen, WS2812-väyläohjattujen LED komponenttien ohjaamiseen sekä DPI (Parallel Display Interface) videoliitännän toteuttamiseen.

Pieni kortti Raspberry Pi Pico

Raspberry Pi Pico on ensimmäinen RP2040 piiriin perustuva prosessorikortti, joka tarjoaa kaksi ARM-ydintä, 264 kilotavua RAM-muistia, kahden megatavun QSPI-flash-muistipiirin, yksi LED, yksi painike ja laajan käyttöjännitealueen virtalähdesirun. Raspberry Pi Pico käyttää ulkoista flash-ROM-muistia ohjelmien tallentamiseen ja voi suorittaa koodin suoraan Flash-muistista.

Kortin koko on 21mm x 51.3 x 3.9 millimetriä. Se on suunniteltu niin, että sitä voidaan käyttää kortille juotettavissa olevien piikkirimojen kanssa tai se voidaan suoraan juottaa moduulina piirilevylle. Koska uuden Pico-piirilevyn suunniteltiin yhdessä RP2040-piirin kanssa, se voitiin toteuttaa edullisena kaksikerroksisena piirilevynä, jossa on kiinteä maataso.

Raspberry Pi Pico kortilla oleva boost-buck-teholähde tukee tulojännitealuetta 1,8-5.5 volttia. Kortti kuluttaa täydellä teholla noin 100 mA virtaa viiden voltin syöttöjännitteellä ja muistin säilyttävässä lepotilassa alle milliampeerin. Raspberry Pi Pico kortti tarjoaa 26 kappaletta GPIO-nastoja, ARM Serial Wire Debug (SWD) -porttin, USB-isäntä- tai laitetoiminnot, kaksi UART-sarjaporttia, kaksi I2C-liitäntää, kaksi SPI-liitäntää, kolme 12 bitin AD-kanavaa ja 16 PWM-kanavaa kahdeksassa ryhmässä.

Ohjelmointi MicroPythonilla tai C/C++:lla

Raspberry Pi Picon kehitys on suunniteltu tehtäväksi erityisesti MicroPython ohjelmointikielellä, joka on suosittu Pythoniin perustuva ohjelmointikieli mikro-ohjaimia varten. Ne jotka haluavat mennä syvemmälle, voivat ohjelmoida korttia myös C/C++ kielillä.

Kortille on tarjolla esimerkit ja dokumentaatio verkossa. MicroPythonia voi käyttää komentoriviltä tai Thonny IDE ohjelmointiympäristön kautta. Thonny on ladattavssa Windows, Mac ja Linux ympäristöihin.

Raspberry Pi tarjoaa myös täyden C SDK ympäristön ja Visual Studio Code integraation C/C++ koodaamiseen. Koneoppimissovelluksia varten kortilla voi käyttää myös Googlen TensorFlow Lite ohjelmistokehystä.

Kortti ohjelmoidaan USB-liitännän kautta. Kehityskortti näkyy tietokoneelle massamuistilaitteena, jonne ajettavat ohjelmat voi kopioida vedä ja pudota -tyyliin. Kortti sisältää UF2-käynnistyslataimen, mikä tarkoittaa, että kortti on mahdollista saada joka tilanteessa näkymään USB massamuistilaitteena pitämällä BOOTSEL-painiketta painettuna. Tämä on hyvä kehittäjän kannalta, mutta rajoittaa kortin sopivuutta tietoturvakriittisiin sovelluksiin.

Myös Arduino-mittoihin

Uusi RP2040-siru kiinnostaa myös Arduino-korttiyhteisöä ja muita sulautettujen korttien valmistajia. Esimerkiksi Arduino tulee julkaisemaan myös RP2040 prosessorin pohjautuvia tuotteita.Raspberry Pi Pico ja muut RP2040:n ympärille rakennetut levyt tulevat saavat virallisen sovituksen mukaan Arduino ekosysteemiin. Eli Arduino IDE, komentorivityökalu ja tuhannet Arduino-kirjastot tulevat toimimaan tämän prosessorin kanssa.

Arduinon ensimmäinen RP2040 pohjainen kortti tulee olemaan Arduino Nano RP2040 Connect Board, johon ennakkotietojen lisäksi tulee 16 megatavua Flash-muistia, mikrofoni, STM:n 9-akselinen IMU liikeanturi sekä u-blox NINA WiFi- ja Bluetooth-tietoliikennemoduuli.

Lähiaikoina RP2040 tullaan näkemään myös monien muiden  korttivalmistajan erilaisissa mekaanisissa formaateissa ja eri oheispiireillä. Esimerkiksi Adafruit on esitellyt jo ItsyBitsy RP2040- kortin sekö SparkFun MicroMod Pi RP2040 Processor Board-, SparkFun Pro Micro RP2040- ja SparkFun Thing Plus RP2040-kortit. Myös Pomoroni on esitellyt Pimoroni PicoSystem RP2040- ja Pimoroni Tiny 2040-kortit.

Lisää:  Raspberry PI-säätiö (LINKKI), RP2040-datatiedot (LINKKI, pdf), RP2040-suunnitteluohjeet (LINKKI, pdf), Raspberry Pi Pico -kortti (LINKKI1 ja LINKKI2), aloitusopas (LINKKI), Pico C SDK (LINKKI) sekä  Arduinon (LINKKI), SparkFun (LINKKI1 ja LINKKI2), Adafruit (LINKKI) ja Pimoroni (LINKKI) RP2040-korttitarjonta. Lisää Raspberry PI:stä Uusiteknologia.fi-sivuilla (LINKKI).

Kuvat: Raspberry Pi Foundation ja korttivalmistajat

Päivitetty