STM8S105K6: piedinatura, ADC e valutazione delle schede sensore

Indice

Confermare il dispositivo e il package

STM8S105K6 è un microcontrollore STM8 a 16 MHz e 8 bit con 32 KB di Flash di programma, 2 KB di RAM e 1024 byte di EEPROM dati. Le sue periferiche comprendono ADC1, UART2, SPI, I²C e timer. Queste funzionalità possono supportare una scheda sensore, ma non stabiliscono come una particolare scheda campioni, calibri o trasmetta le misure.

Registrare la marcatura completa del dispositivo, il package e la revisione della scheda prima di identificare i punti di test. Il datasheet STM8S105x4/6 di ST, tabelle 1 e 5, distingue le varianti di package. Le colonne LQFP32 e UFQFPN32 condividono i numeri di pin utilizzati di seguito; il package SDIP32, più datato, utilizza una mappatura diversa. Confermare l’orientamento e il riferimento del pin 1 del package prima di seguire qualsiasi rete di collegamenti.

Mappare i segnali di reset, SWIM e comunicazione

Per LQFP32/UFQFPN32, NRST è il pin 1, PD1/SWIM è il pin 26, PD5/UART2_TX è il pin 30 e PD6/UART2_RX è il pin 31. PC1 è il pin 18, mentre PC7/SPI_MISO è il pin 24. I nomi dei bit di porta vanno da 0 a 7; da PC8 a PC11 non sono nomi validi di bit di porta STM8. Utilizzare la tabella del produttore invece di copiare un connettore o un elenco di pin da un altro MCU.

Ricostruire i collegamenti effettivi della scheda e verificare se un pin viene utilizzato come GPIO o per una funzione alternativa. Prima di collegare uno strumento di programmazione supportato, verificare massa, riferimento di alimentazione del dispositivo di destinazione e cablaggio di SWIM e reset rispetto alla documentazione dello strumento. Il cablaggio UART identifica un possibile percorso di comunicazione; non dimostra la presenza di un protocollo di aggiornamento del firmware o di un bootloader accessibile.

Ricostruire la catena del segnale dal sensore all’ADC

Il dispositivo K6 offre sette ingressi al suo ADC1 a 10 bit. Per ogni ingresso sensore, registrare il pin del package, il canale ADC, il circuito di condizionamento del segnale e le condizioni di alimentazione pertinenti. Includere divisori, amplificatori, filtri e componenti di protezione nella mappa dei collegamenti: la tensione al pin del MCU può differire sostanzialmente dalla grandezza fisica misurata.

Controllare i limiti di ingresso e i requisiti relativi a impedenza della sorgente e acquisizione nel datasheet prima di scegliere un segnale di test. AIN12 su PF4 presenta una limitazione specifica: non è selezionabile nella modalità di scansione dell’ADC né con il watchdog analogico. Non presumere che tutti gli ingressi analogici disponibili supportino le stesse modalità operative. Registrare i codici ADC grezzi insieme all’ingresso noto, alla configurazione del canale e alle condizioni di campionamento, invece di presentare una formula di conversione non verificata come algoritmo recuperato.

Separare il codice del programma dai dati di calibrazione

La Flash di programma da 32 KB occupa 0x008000–0x00FFFF, la RAM occupa 0x000000–0x0007FF e la EEPROM dati occupa 0x004000–0x0043FF. Registrare l’intervallo di indirizzi e la lunghezza di ogni file disponibile. Un file binario grezzo richiede un indirizzo di caricamento esplicito; un’immagine della memoria di programma non include automaticamente i contenuti della EEPROM o la configurazione degli option byte.

I coefficienti di calibrazione possono risiedere nella EEPROM, nella Flash di programma, in una memoria esterna o in un pacchetto di aggiornamento. Determinarne la posizione e il formato sulla base della documentazione di progetto o di un’analisi riproducibile. Preservare unità, fattori di scala, ordine dei byte, informazioni di versione e controlli di integrità, laddove documentati. Il solo ritrovamento di una stringa riconoscibile o di un checksum corrispondente non dimostra che sia stato recuperato un algoritmo di calibrazione completo.

Preservare i contenuti prima di modificare la protezione

La protezione dalla lettura di STM8 si configura tramite il relativo option byte ROP. Non deve essere descritta utilizzando la protezione di livello 2 tipica di STM32 o codice per registri delle opzioni specifico di STM32. La protezione dalla lettura non dimostra neppure che un’applicazione utilizzi la cifratura XOR: ogni schema di codifica specifico dell’applicazione richiede prove proprie.

Il manuale di riferimento RM0016 di ST, sezione 4.5.1, spiega che la rimozione della protezione dalla lettura cancella automaticamente la Flash di programma, l’area DATA e gli option byte. Se i contenuti originali devono essere preservati, fermarsi quando compare una richiesta di cancellazione o rimozione della protezione. Prima di procedere, cercare codice sorgente fornito dal proprietario, binari di produzione, registrazioni di calibrazione o backup verificati. L’accesso tramite modalità supportate deve essere autorizzato; non si può dare per scontato il recupero da un dispositivo protetto.

Creare una registrazione riproducibile delle misure

Su un banco di prova adatto, confrontare ingressi noti con le letture ADC grezze e con qualsiasi uscita comunicata. Registrare alimentazione, configurazione del clock, versione del firmware, impostazioni dei canali, tempo di assestamento e strumenti di test. Quando è disponibile traffico UART, conservare le acquisizioni originali e distinguere il comportamento osservato dei frame da un protocollo dedotto.

Per una modifica di manutenzione approvata, confrontare il comportamento prima e dopo l’intervento nell’intervallo di misura documentato, nelle condizioni di avvio e nella gestione dei guasti. Conservare i file originali e i relativi hash; hash corrispondenti dimostrano la coerenza delle copie, ma non l’autenticità del firmware o il corretto funzionamento del sensore. Questa guida descrive un metodo di valutazione, non il recupero completato di una flotta di controllori, un aggiramento convalidato della protezione o un insieme di risultati di progetto misurati.

Definire cosa può supportare un piano di manutenzione

Un piano di manutenzione di una scheda sensore dovrebbe identificare quali firmware, dati di calibrazione e ipotesi sull’hardware sono stati verificati. Se il programma originale non è disponibile, un progetto sostitutivo richiede requisiti di misura, specifiche di interfaccia e prove di accettazione propri. Il solo accesso a un file binario non permette di stabilire la funzione di trasferimento, l’accuratezza o le prestazioni ambientali del sensore.

Segnalare esplicitamente le lacune rimanenti, inclusi formati dei coefficienti sconosciuti, comportamenti di comunicazione non documentati e condizioni operative non testate. Utilizzare la documentazione STM8 specifica del dispositivo per l’implementazione. Esempi di registri per periferiche DAC o RTC estranee al dispositivo e frammenti generici di generazione di chiavi non possono sostituire un progetto collaudato su questo dispositivo.

Parliamo della valutazione di una scheda STM8:

Billy Zheng Principal Engineer of Well Done PCB Technology

Ingegnere principale:
Dr. Billy Zheng
Well Done PCB Technology
billy@reversepcb.com
Supporto di emergenza: +86-157-9847-6858

Informazioni sull'autore

Picture of Aidan Taylor
Aidan Taylor

Sono Aidan Taylor e ho oltre 10 anni di esperienza nel campo del reverse engineering PCB, progettazione di PCB e sblocco IC.

Condividi

Post consigliati

Hai bisogno di aiuto?


Torna in alto

Instant Quote


Preventivo immediato