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