🛠 Interfazado de GPIO y periféricos en CM3588
Objetivos
Este tutorial tiene como objetivo dominar el acceso de bajo nivel a las interfaces de entrada/salida del módulo CM3588. Aprenderá a identificar los pines disponibles en los cuatro conectores de 100 pines, configurar GPIOs vía Linux y probar una interacción simple con un dispositivo externo. Comprender esta capa es esencial para explotar los 81 GPIOs expuestos por el módulo, distintos de las interfaces dedicadas como Ethernet 2,5 GbE o puertos USB 3.1.
Materiales Necesarios
- Módulo CM3588 (versión estándar o Plus)
- Placa base compatible que exponga los conectores de 100 pines
- Sistema operativo Linux instalado (Ubuntu/Debian para Rockchip)
- Multímetro u osciloscopio (opcional para verificación)
- Kit de componentes electrónicos: resistencias, LED, botón pulsador
- Cables de conexión (Dupont)
- Acceso root o sudo en el terminal
Pasos
- Identificación de Pines : Consulte el esquema eléctrico de su placa base. Los cuatro conectores de 100 pines del CM3588 exponen los recursos del SoC RK3588. Tenga en cuenta que los pines comparten funciones con otras interfaces (PCIe, MIPI). Para este tutorial, identifique un GPIO libre no utilizado por el sistema (por ejemplo, un GPIO asociado a un puerto no utilizado).
- Instalación de Herramientas : Abra un terminal e instale las utilidades GPIO si es necesario.
sudo apt update
sudo apt install gpiod-tools
- Listar GPIOs Disponibles : Use
gpiodetectpara listar los controladores GPIO disponibles en el sistema.
gpiodetect
Identifique el controlador correspondiente a su pin físico.
- Configurar una Salida : Suponga que ha identificado el GPIO
gpiochip0línea15. Configúrelo como salida para encender un LED.
gpioset gpiochip0 15=1
- Leer una Entrada : Para leer el estado de un botón conectado como entrada, use
gpioget.
gpioget gpiochip0 15
- Script de Automatización : Cree un script bash simple para hacer parpadear un LED.
#!/bin/bash
while true; do
gpioset gpiochip0 15=1
sleep 1
gpioset gpiochip0 15=0
sleep 1
done
Verificación
Verifique que el LED se enciende y apaga según el script. Si no ocurre nada, revise las conexiones físicas y asegúrese de que el pin no esté reservado por el kernel (verifique /sys/kernel/debug/gpio). Asegúrese de que la alimentación del módulo (5-20VDC) sea estable y que el consumo permanezca por debajo de los 20W máximos.
Para Ir Más Allá
Explore el uso de interfaces MIPI CSI/DSI a través de los mismos conectores para conectar cámaras o pantallas de alta definición, explotando la capacidad 8K@60Hz de las salidas HDMI 2.1. También puede configurar líneas PCIe (hasta 4 carriles) para agregar tarjetas de extensión NVMe o de red.