Firmware - Aprile 2014 / N°99 - (Page 36)

Figura 7: watchdog analogico stato della conversione gli vengono notificati tramite appositi eventi, senza necessità di dover campionare continuamente il loro stato. Ad esempio, abilitando l'interrupt di fine conversione, è possibile leggere immediatamente l'ultimo dato di conversione disponibile senza dover campionare la flag di stato della conversione. Il registro da impostare è il seguente: ADC_CSR: bit AWDIE e EOCIE FUNZIONI ESTESE Le funzioni estese descritte nel seguito sono disponibili soltanto sulla versione ADC1 del convertitore. Bufferizzazione Quando questa funzionalità viene attivata, i dati convertiti vengono memorizzati ciclicamente in appositi registri buffer, gestiti come un vero e proprio buffer circolare. Ciò rende l'acquisizione e la memorizzazione dei dati molto più efficiente, in quanto è richiesta una minore disponibilità di CPU e gli overrun (sovrascritture) dei buffer vengono ridotti. Il numero di registri buffer è uguale al numero di canali dell'ADC, il quale a sua volta dipende dal particolare tipo di dispositivo della serie. Nel caso in cui i dati presenti nei buffer vengano riscritti senza essere stati precedentementi letti, viene alzata automaticamente la flag di overrun: il firmware utente può quindi utilizzare questa flag per rilevare un evento di overrun e intraprendere le azioni conseguenti (ad esempio far ripartire la conversione A/D). I registri e i bit significativi per impostare questa funzionalità sono i seguenti: ADC_CR3: bit DBUF ADC_CR2: bit ALIGN ADC_CR3: bit OVR Watchdog analogico Questa funzionalità confronta l'ultimo valore convertito con due soglie, una inferiore e una superiore (si veda la Figura 7). Se una delle due soglie viene raggiunta o superata, viene alzata un'apposita flag e generato un interrupt. In questo modo è così possibile controllare dei valori critici per la conversione (generando ad esempio un allarme quando viene superata una determinata soglia) senza perdere tempo prezioso di CPU. I registri da impostare per attivare questa modalità sono: ADC_HTRH, ADC_HTRL, ADC_LTRH, ADC_LTRL - soglie inferiore e superiore ADC_AWCRH, ADC_AWCRL - registri di controllo ADC_AWSRH, ADC_AWSRL - registri di stato ADC_CSR: bit AWDIE e AWD Modalità scansione Questa funzionalità permette di eseguire delle conversioni su canali consecutivi. Quando è terminata la conversione sul canale n-esimo, viene selezionato come canale di ingresso il canale (n+1)-esimo, e la conversione successiva verrà eseguita su di esso. La sequenza di scansione deve sempre partire dal canale 1, e procede in sequenza fino al canale N (programmabile). Quest'ultimo viene impostato selezionanado opportunamente i bit di selezione del canale di ingresso. Quando la modalità scansione è combinata con la modalità continua, terminata l'acquisizione dal canale N la scansione riparte dal canale 1, e il ciclo si ripete indefinitamente. La modalità viene attivata agendo sui seguenti registri: ADC_CR2: set del bit di SCAN ADC_CR3: DBUF = 0 oppure 1 se si vuole la bufferizzazione dei dati Nel caso in cui vengano utilizzati i registri buffer dati (DBUF=1), i dati convertiti vengono memorizzati nei registri ADC_DB X RH e ADC_DB X RL che compongono il buffer circolare, anzichè nei registri non-bufferizzati ADC_DRH e ADC_DRL. CONCLUSIONI Abbiamo visto in questo articolo le funzionalità caratteristiche del convertitore analogico-digitale presente sulla serie di microcontrollori STM8S (sia nella versione base che in quella estesa). Abbiamo anche fornito dei dettagli su quali registri utilizzare, e come impostarli, per attivare i modi di funzionamento desiderati. Per chi volesse approfondire l'argomento, ricordiamo che sul sito STMicroelectronics (http://www.st.com) è liberamente disponibile la libreria firmware completa per l'STM8, contenente numerosi esempi completi di codice sorgente, tra cui appunto l'ADC. FOCUS ON SKILLS INSIDE TOOLS ANALOG TIPS'N TRICKS MARKET NEWS SPOTLIGHT EVENTS ZAPPING MEMBERSHIP http://www.st.com http://www.fwonline.it/fw/?page_id=7

Tabella dei contenuti per la edizione digitale del Firmware - Aprile 2014 / N°99

TIPS'n tricks
FOCUS on Gecko, i Micro Ultra Low Power
SKILLs
Usare l’oversampling con gli AD7960/61
Bootloader secondario via I2C
INside
Low-Power Design Guide
STM8S: utilizzo del convertitore A/D
Applicazioni USB con MSP430
ANALOG Sensore PWM di prossimità e luce ambiente
TOOLS Il Serial Programmer di Renesas
SPOTlight
LTM®8028: Basso Rumore, Alta Precisione
M2M Forum a Milano: il futuro che è già qui
EVENTS zapping
News
Guida

Firmware - Aprile 2014 / N°99

https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-02_109
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-01_108
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-12_107
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-11_106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-10_105
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-09_104
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-07_102
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-06_101
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-05_100
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-04_99
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-03_98
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-02_97
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-01_96
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-12_95
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-11_94
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-10_93
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-09_92
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-07_90_91
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-06_89
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-05_88
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-04_87
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-03_86
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-02_85
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-01_84
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-12_83
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-11_82
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-10_81
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-09_80
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-07_78-79
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-06_77
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-05_76
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-04_75
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-03_74
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-02_73
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-01_72
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-12_71
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-11_70
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-10_69
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-09_68
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-07_66_67
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-06_65
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-05_64
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-04_63
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-02_62
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-02_61
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-01_60
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-12_59
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-11_58
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-10_57
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-09_56
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-07_54-55
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-06_53
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Maggio-2010-52
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Aprile-2010-51
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Marzo-2010-50
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Febbraio-2010-49
https://www.nxtbookmedia.com