Produktbeskrivning
Detta kort ger dig Raspberry Pis chip RP2040 i Adafruit Feather-format. Liksom andra Feather-varianter har det en inbyggd LiPo-laddare och batterikontakt, samt medföljande (men omonterade) stiftlister för maximal flexibilitet i konstruktionen. Det är kompatibelt med FeatherWing-kort, vilket möjliggör snabba prototyper med displayer, reläer, sensorer m.m.
Specifikationer:
- Mått: 50,8 × 22,8 × 7 mm (utan stiftlister)
- Vikt: 5 g
- RP2040 – 32-bitars Cortex M0+ dual-core med ca 125 MHz klockfrekvens
- 3,3 V spänning och logiknivå
- 264 kB RAM
- 8 MB SPI Flash för fillagring samt MicroPython/CircuitPython
- Ingen EEPROM
- 21 × GPIO
- Fyra 12-bitars ADC (en mer än Raspberry Pi Pico)
- 2 × I2C, 2 × SPI, 2 × UART
- 16 × PWM-utgångar (för t.ex. servon, lysdioder)
- De 8 digitala utgångarna som inte används för ADC eller kommunikation är placerade i ordning för maximal kompatibilitet med PIO
- Inbyggd LiPo-laddare (>200 mA) med status-LED
- Pin 13 har en röd lysdiod
- Inbyggd RGB LED (Neopixel)
- STEMMA QT-kontakt för snabb anslutning av I2C-enheter (Qwiic, STEMMA QT, Grove) utan lödning
- Omkopplare för Reset och Bootloader (ingen kabel behöver dras ur vid koduppladdning)
- Möjlighet att löda på SWD-port för debugging
- Fyra monteringshål
- 12 MHz kristall för exakt timing
- 3,3 V regulator med max 500 mA strömuttag (ej kontinuerligt)
- USB-C-kontakt
Om PIO (Programmable I/O)
De två konfigurerbara PIO-enheterna har åtta "state machines" som kan utföra enklare funktioner utan att belasta processorn. Eftersom de arbetar oberoende av CPU:n kan de exempelvis läsa av pinnar och förbereda data för när processorn behöver den.
Vid höga klockfrekvenser (upp till 133 MHz) kan äldre eller långsamma enheter ha svårt att hänga med i kommunikationen. Med PIO kan RP2040 frigöra processorn från sådan hantering och låta PIO-maskinerna hantera kommunikationen tills processorn behöver datan.
PIO är särskilt användbart vid kommunikation med obskyra protokoll eller ovanliga enheter som displayer, där "bit-banging" krävs – det vill säga att skapa rätt bitflöde utan att tolka protokollet. Detta sker med exakt timing och utan att blockera CPU:n.
- Alla PIO-maskiner har tillgång till samtliga GPIO-pinnar
- Kan arbeta från 2 kHz till 133 MHz
- Kan läsa/skriva till pinnar, hantera FIFO och använda intern klocka
- Exempel på funktioner: generera klocksignaler, styra servon, dimma lysdioder
- Programmeras med pioasm – ett assembler-liknande språk med endast nio instruktioner
PIO är ett utmärkt sätt att lära sig grunderna i assemblerprogrammering tack vare dess begränsade syntax och goda dokumentation.