STM8S105K6: asignación de pines, ADC y evaluación de placas de sensores

Índice

Confirme el dispositivo y el encapsulado

El STM8S105K6 es un microcontrolador STM8 de 16 MHz y 8 bits con 32 KB de Flash de programa, 2 KB de RAM y 1024 bytes de EEPROM de datos. Sus periféricos incluyen ADC1, UART2, SPI, I²C y temporizadores. Estas capacidades pueden servir de base para una placa de sensores, pero no determinan cómo una placa concreta adquiere, calibra o transmite las mediciones.

Registre el marcado completo del dispositivo, el encapsulado y la revisión de la placa antes de identificar los puntos de prueba. La hoja de datos STM8S105x4/6 de ST, tablas 1 y 5, distingue las variantes de encapsulado. Las columnas LQFP32 y UFQFPN32 comparten los números de pin utilizados a continuación; el encapsulado SDIP32 más antiguo utiliza una asignación diferente. Confirme la orientación y el indicador del pin 1 del encapsulado antes de seguir cualquier red de conexiones.

Identifique las señales de reinicio, SWIM y comunicación

En LQFP32/UFQFPN32, NRST corresponde al pin 1, PD1/SWIM al pin 26, PD5/UART2_TX al pin 30 y PD6/UART2_RX al pin 31. PC1 corresponde al pin 18 y PC7/SPI_MISO al pin 24. Los nombres de bits de puerto van de 0 a 7; PC8 a PC11 no son nombres de bits de puerto válidos en STM8. Utilice la tabla del fabricante en lugar de copiar un conector o una lista de pines de otro MCU.

Trace las conexiones reales de la placa y compruebe si cada pin se utiliza como GPIO o para una función alternativa. Antes de conectar una herramienta de programación compatible, verifique la masa, la referencia de alimentación del dispositivo de destino y el cableado de SWIM y reinicio con la documentación de la herramienta. El cableado UART identifica una posible vía de comunicación; no demuestra que exista un protocolo de actualización de firmware ni un cargador de arranque accesible.

Trace la cadena de señal del sensor hasta el ADC

El dispositivo K6 dispone de siete entradas para su ADC1 de 10 bits. Para cada entrada de sensor, registre el pin del encapsulado, el canal ADC, el circuito de acondicionamiento de señal y las condiciones de alimentación pertinentes. Incluya divisores, amplificadores, filtros y componentes de protección en el mapa de conexiones: la tensión en el pin del MCU puede diferir considerablemente de la magnitud física que se mide.

Compruebe los límites de entrada y los requisitos de impedancia de la fuente y adquisición de la hoja de datos antes de elegir una señal de prueba. AIN12 en PF4 tiene una limitación específica: no puede seleccionarse en el modo de exploración del ADC ni con el watchdog analógico. No suponga que todas las entradas analógicas disponibles admiten los mismos modos de funcionamiento. Registre los códigos ADC sin procesar junto con la entrada conocida, la configuración del canal y las condiciones de muestreo, en lugar de presentar una fórmula de conversión no verificada como un algoritmo recuperado.

Separe el código del programa de los datos de calibración

La Flash de programa de 32 KB ocupa 0x008000–0x00FFFF, la RAM ocupa 0x000000–0x0007FF y la EEPROM de datos ocupa 0x004000–0x0043FF. Registre el intervalo de direcciones y la longitud de cada archivo disponible. Un binario sin procesar necesita una dirección de carga explícita; una imagen de la memoria de programa no incluye automáticamente el contenido de la EEPROM ni la configuración de los bytes de opción.

Los coeficientes de calibración pueden residir en la EEPROM, en la Flash de programa, en una memoria externa o en un paquete de actualización. Determine su ubicación y formato a partir de los registros de diseño o de un análisis reproducible. Conserve las unidades, los factores de escala, el orden de bytes, la información de versión y las comprobaciones de integridad cuando estén documentados. Encontrar una cadena reconocible o una suma de comprobación coincidente, por sí solo, no demuestra que se haya recuperado un algoritmo de calibración completo.

Preserve el contenido antes de cambiar la protección

La protección de lectura de STM8 se configura mediante su byte de opción ROP. No debe describirse con la protección de nivel 2 propia de STM32 ni con código de registros de opción específico de STM32. La protección de lectura tampoco demuestra que una aplicación utilice cifrado XOR: cualquier esquema de codificación específico de la aplicación necesita sus propias pruebas.

El manual de referencia RM0016 de ST, sección 4.5.1, explica que al desactivar la protección de lectura se borran automáticamente la Flash de programa, el área DATA y los bytes de opción. Si se debe preservar el contenido original, deténgase ante cualquier solicitud de borrado o desprotección. Antes de continuar, busque código fuente facilitado por el propietario, binarios de producción, registros de calibración o copias de seguridad verificadas. El acceso mediante herramientas compatibles debe estar autorizado; no se puede dar por supuesta la recuperación de un dispositivo protegido.

Elabore un registro de mediciones reproducible

En un banco de pruebas adecuado, compare las entradas conocidas con las lecturas ADC sin procesar y con cualquier salida comunicada. Registre la alimentación, la configuración del reloj, la versión del firmware, los ajustes de canal, el tiempo de estabilización y los equipos de prueba. Cuando haya tráfico UART disponible, conserve las capturas originales y distinga el comportamiento observado de las tramas de un protocolo inferido.

Para un cambio de mantenimiento aprobado, compare el comportamiento anterior y posterior en todo el intervalo de medición documentado, las condiciones de arranque y la gestión de fallos. Conserve los archivos originales y sus hashes; la coincidencia de hashes demuestra la coherencia de las copias, pero no la autenticidad del firmware ni el funcionamiento correcto del sensor. Esta guía describe un método de evaluación, no una recuperación completada de una flota de controladores, una elusión validada de la protección ni un conjunto de resultados medidos de un proyecto.

Determine qué puede respaldar un plan de mantenimiento

Un plan de mantenimiento de una placa de sensores debe identificar qué firmware, datos de calibración y supuestos sobre el hardware se han verificado. Si el programa original no está disponible, un diseño de sustitución necesita sus propios requisitos de medición, especificaciones de interfaz y pruebas de aceptación. El acceso a un binario, por sí solo, no permite determinar la función de transferencia del sensor, su precisión ni su rendimiento en distintas condiciones ambientales.

Indique explícitamente las lagunas pendientes, incluidos los formatos de coeficientes desconocidos, los comportamientos de comunicación sin documentar y las condiciones de funcionamiento no probadas. Utilice documentación STM8 específica del dispositivo para la implementación. Los ejemplos de registros para periféricos DAC o RTC ajenos al dispositivo y los fragmentos genéricos de generación de claves no pueden sustituir a un diseño probado en este dispositivo.

Consulte sobre una evaluación de placa STM8:

Billy Zheng Principal Engineer of Well Done PCB Technology

Ingeniero Principal:
Dr. Billy Zheng
Well Done PCB Technology
billy@reversepcb.com
Soporte de emergencia: +86-157-9847-6858

Acerca del Autor

Picture of Aidan Taylor
Aidan Taylor

Soy Aidan Taylor y tengo más de 10 años de experiencia en el campo de la ingeniería inversa de PCB, el diseño de PCB y el desbloqueo de IC.

Comparte

Post Recomendado

¿Necesitas ayuda?


Scroll al inicio

Cotización