1 of 17

MICROCONTROLADOR�RP2040

2 of 17

HTTPS://CLUBEDEAUTORES.COM.BR/LIVRO/USANDO-SENSORES-COM-A-RASPBERRY-PI-PICO�

3 of 17

RP2040 - HISTÓRICO

  • Projetado pela Raspberry Pi Foundation
  • Anunciado em jan/21, junto com a Raspberry Pi Pico
  • Também foram anunciadas placas da Adafruit, Arduino , Pimoroni e Sparkfun
  • Disponibilizado mais tarde em pequenas e grandes quantidade

4 of 17

PRINCIPAIS CARACTERÍSTICAS

  • Dual-core Arm Cortex-M0+ @125MHz
  • 264KB Ram, até 16MB de Flash externa
  • 30 GPIOs, 4 entradas analógicas (12-bit ADC), 16 PWM
  • 2xUART, 2xSPI e 2xI2C
  • USB 1.1 (host e device)
  • 8xPIO state machines
  • RTC

5 of 17

DECODIFICANDO O CÓDIGO

6 of 17

DIAGRAMA DE BLOCOS

7 of 17

BUS FABRIC

8 of 17

PROCESSADORES

9 of 17

ARM CORTEX-M

10 of 17

PIO – PROGRAMMABLE I/O

  • Oito processadores (máquinas de estado), que rodam em paralelo com os processadores ARM
  • Organizados em duas PIOs, cada uma com memória para 32 instruções (compartilhada pelas 4 máquinas de estado)
  • Cada máquina de estado tem 2 FIFOs (4x32-bit) para comunicação com os processadores ARM

11 of 17

PIO - CONFIGURAÇÃO

  • Junção das FIFOS
  • Auto-pull e auto-push
  • Program wrapping
  • GPIO Mapping: input, output, set, side-set e jmp-pin
  • Divisão dos bits das instruções entre delay/side-set

12 of 17

PIO - INSTRUÇÕES

13 of 17

PROGRAMAÇÃO

  • SDK oficial p/ C/C++
  • IDE Arduino
    • Suporte oficial da Arduino (usa Mbed OS)
    • Suporte não-oficial: github.com/earlephilhower/arduino-pico
  • MicroPython (suporte da Raspberry)
  • CircuitPython (patrocínio da Adafruit)
  • Bootloader emula “pen-drive” – basta copiar programa para gravar

14 of 17

ALGUMAS PLACAS

15 of 17

RASPBERRY PI PICO

16 of 17

DEMONSTRAÇÃO MICROPYTHON

17 of 17

HTTPS://LEANPUB.COM/RP2040/C/MICROSABADO