Produktbeskrivning
Adafruits kompakta ItsyBitsy-utvecklingskort finns nu även med Raspberry Pis RP2040-chip. Kortet har 8 MB SPI Flash och 264 kB SRAM, vilket ger gott om utrymme för bibliotek och större programkod.
RP2040 är en snabb dubbelkärnig ARM Cortex-M0+ som på detta kort körs i cirka 125 MHz.
Egenskaper:
- Mått: 36 × 18 × 4 mm (samma som andra ItsyBitsy-kort)
- RP2040 – 32-bitars dubbelkärnig Cortex-M0+ på ~125 MHz
- 3,3 V logik och driftspänning
- 264 kB RAM
- 8 MB SPI Flash (ingen EEPROM)
- 23 GPIO med stöd för:
- 4 × 12-bitars ADC (en mer än Raspberry Pi Pico)
- 2 × I2C, 2 × SPI, 2 × UART
- 16 × PWM-utgångar (t.ex. för servon, lysdioder)
- 10 GPIO utan ADC/seriell ligger i följd för optimal PIO-användning
- Röd LED på pin #11
- Inbyggd NeoPixel (kan stängas av helt för strömspar)
- Reset- och bootloader-knappar för enkel programmering
- 3,3 V regulator, upp till 500 mA (kortvarigt)
- Power enable-pin
- Ström via USB eller extern källa
- SWD-pins för debugging
- 12 MHz kristall för exakt timing
- Vhigh-utgång – högsta av VBAT och VUSB för t.ex. LED, servon
- Pin D5 (!) har nivåomvandlare för 5 V-kompatibel logik
- Micro-USB-kontakt
Om PIO:
RP2040 har två programmerbara I/O-enheter (PIO) med totalt åtta state machines för avlastning av processorn. PIO kan läsa pinnar och behandla signaler oberoende av CPU:n.
Vid höga klockfrekvenser (upp till 133 MHz) kan äldre enheter bli en flaskhals vid seriell kommunikation. PIO hanterar detta effektivt genom att samla in data medan CPU:n arbetar vidare. Perfekt vid obskyra protokoll eller displayer som kräver "bit-banging" – alltså generering av rätt signalflöde utan att tolka protokollet.
- Åtkomst till alla GPIO
- Frekvensområde: 2 kHz – 133 MHz
- Läsa/skriva pinnar, hantera FIFO, räkna klockor på 1 cykel
- Exempel: generera klockor, styra servon, dimma lysdioder
PIO programmeras med pioasm, ett litet assemblerliknande språk med endast nio instruktioner. Det gör PIO till ett utmärkt val för att lära sig låg-nivåprogrammering i ett begränsat och dokumenterat ramverk.