Saltar a contenido
← Volver a OPRobots.org

Hardware

Microcontrolador

Característica Detalle
Modelo STM32F401CCU6 (BlackPill F401CC)
Arquitectura ARM Cortex-M4 @ 84 MHz
Flash 256 KB
RAM 64 KB
Framework libopencm3
Entorno PlatformIO

El STM32F401 se encarga de gestionar la SRAM externa vía SPI1, proporcionar comunicación serie por USART1 para depuración, y ejecutar la demo del ring buffer heterogéneo. El SysTick genera interrupciones a 1 kHz para el reloj del sistema. El DWT (Data Watchpoint Trace) se usa como contador de ciclos para delays de precisión por microsegundo.

Periféricos utilizados

Periférico Función Pines
SPI1 Comunicación con SRAM 23AA04M PA5 (SCK), PA6 (MISO), PA7 (MOSI)
USART1 Consola serie (printf) a 115200 baud PA9 (TX), PA10 (RX)
SysTick Base de tiempos del sistema (1 kHz) Interno
DWT Contador de ciclos para delay_us() Interno
GPIO CS de SRAM y LED de estado PA15 (CS), PC13 (LED)

SRAM externa — 23AA04M

Característica Detalle
Modelo Microchip 23AA04M
Capacidad 4 Mbit = 512 KB
Tecnología SRAM serie (no volátil)
Interfaz SPI (modo 0)
Frecuencia máx. 20 MHz
Encapsulado SOIC-8 / DIP-8
Tensión 1.7 V – 3.6 V

La 23AA04M es una SRAM de 512 KB accesible vía SPI. Soporta tres modos de direccionamiento — byte, página y secuencial — seleccionables mediante el registro de modo interno. En este proyecto se configura en modo secuencial, que permite leer y escribir ráfagas continuas de bytes sin reenviar la dirección.

Protocolo SPI

Parámetro Valor
Modo 0 (CPOL = 0, CPHA = 0)
Frecuencia 10.5 MHz (APB2 84 MHz ÷ 8)
Formato 8 bits, MSB first
NSS Software (PA15)
Comandos SPI 0x02 WRITE, 0x03 READ, 0x01 WRMR, 0x05 RDMR

Pinout completo

SPI1 — SRAM 23AA04M

Pin STM32 Señal SPI Pin SRAM Función
PA15 CS (GPIO) 1 – CS Chip select (software)
PA6 MISO 2 – SO Master In / Slave Out
3.3 V 3 – SIO2 Hold (no usado, pull-up)
GND GND 4 – VSS Masa
PA7 MOSI 5 – SI Master Out / Slave In
PA5 SCK 6 – SCK Reloj SPI (10.5 MHz)
3.3 V 7 – SIO3 Hold (no usado, pull-up)
3.3 V VCC 8 – VCC Alimentación

USART1 — Consola

Pin STM32 Señal Función
PA9 TX (AF7) Transmisión UART
PA10 RX (AF7) Recepción UART

GPIO auxiliar

Pin STM32 Función
PC13 LED de estado (integrado en BlackPill)

Diagrama de bloques

flowchart TD
    MCU[STM32F401CCU6\nBlackPill]
    SRAM[23AA04M\n512 KB SRAM]
    USART[USB-UART\nCP2102]
    LED[LED PC13]
    SysTick[SysTick\n1 kHz]
    DWT[DWT\nCycle Counter]

    MCU -->|SPI1 10.5 MHz\nPA5/PA6/PA7| SRAM
    MCU -->|PA15 CS| SRAM
    MCU -->|USART1 115200\nPA9| USART
    USART -->|printf| MCU
    MCU -->|GPIO| LED
    SysTick -->|IRQ| MCU
    DWT -->|delay_us| MCU

Alimentación

Característica Detalle
Tensión de trabajo 3.3 V (vía regulador de la BlackPill)
Alimentación USB (5 V) → regulador interno → 3.3 V
Consumo SRAM ~10 mA (activa), ~4 µA (standby)

Documento generado el 2026-06-27. Ver también Arquitectura Software, Protocolos / API.