🛠 Control GPIO y Lectura de Sensor Analógico en HPM5100
Objetivos
Este tutorial tiene como objetivo dominar la interacción humano-máquina y la percepción del entorno en la placa HPM5100. Aprenderá a configurar los puertos GPIO para controlar una pantalla simple y a utilizar los convertidores analógico-digitales (ADC) SAR de 16 bits integrados para leer un sensor analógico. El desafío es comprender cómo el núcleo RISC-V de 400 MHz maneja las E/S críticas sin latencia excesiva, aprovechando los potentes periféricos de señal mixta de este chip.
Hardware Necesario
- Placa de Desarrollo HPM5100 (SDK versión 1.13.0+)
- Un sensor analógico simple (ej: potenciómetro o LDR)
- Un LED o una pequeña pantalla OLED (vía SPI o GPIO)
- Cables de conexión (Dupont)
- PC con herramienta de desarrollo compatible con HPMicro SDK
Pasos
- Configuración del Entorno : Asegúrese de que su SDK HPMicro esté actualizado. Abra su IDE o editor de texto y cree un nuevo proyecto basado en el ejemplo
hello_worldpara garantizar el enlace correcto con la cadena de compilación RISC-V.
- Inicialización de GPIO : En su código fuente, incluya los encabezados necesarios (
hpm_gpio.h). Configure el pin conectado al LED como salida push-pull. Para la pantalla, si usa SPI, habilite el periférico SPI correspondiente mediante el Multiplexor de Pines (PinMux). El HPM5100 ofrece gran flexibilidad de enrutamiento de pines; consulte la hoja de datos para confirmar funciones alternativas.
- Configuración de ADC SAR : El HPM5100 tiene cuatro ADC SAR de 16 bits. Seleccione el ADC conectado a su sensor. Configure el modo de disparo (software o temporizador) y el número de muestras. La resolución de 16 bits ofrece alta precisión para una detección fina.
- Bucle de Lectura y Procesamiento : En el bucle principal, inicie una conversión ADC. Espere a que finalice la conversión mediante banderas de interrupción o sondeo. Lea el valor bruto (0 a 65535 para 16 bits).
- Control de Salida : Asigne el valor leído a la intensidad del LED (si PWM está disponible en este pin) o muestre el valor en la pantalla. Use los amplificadores operacionales internos (PGA) si la señal del sensor es demasiado débil para la entrada directa del ADC.
Verificación
Abra el monitor serie u observe la pantalla. Gire el potenciómetro o cambie la iluminación del LDR. El valor mostrado debe variar linealmente entre los valores mínimos y máximos. El LED debe reaccionar proporcionalmente. Verifique la ausencia de ruido excesivo gracias a la resolución de 16 bits.
Para ir más allá
Explore el uso de DMA para transferir datos ADC a la SRAM sin intervención de la CPU, liberando así el núcleo RISC-V para otras tareas críticas como la comunicación CAN FD.