Funziona, otterrai numeri indietro e interruzioni. Ho verificato, scaricare da .
La precisione e la glitchiness non sono ancora determinate. Ma è ben descritto negli Appnotes come indicato da @Bence Kaulics in questo thread (vedi results.txt per AppNotes aggiuntive)
Credo che sarà stabile per i seguenti motivi.
a) The circuit diagram in RM0091 shows a direct connection from comparator to pin. i.e. it is indicated that the comparator cannot be disconnected with a switch or MUX, and will thus work as soon as the pin is assigned 'analog in'.
b) The comparator is NOT dependent on a 'Clock' to enable it (it is alow power device).
c) ST would not be able to make this level of change without assigning a new part number.
The good news is that one can continue to use the comparator for high-speed events such as over current and emergency stop etc whilst still using the ADC analog window events for other software control.
Questo funziona anche con il DAC, ovvero è possibile impostare il tutto internamente con il DAC o esternamente con il DAC e alcuni resistori.
Solo guardando il circuito utilizzerai l'ADC in parallelo al comparatore, essenzialmente un amplificatore. Come sappiamo, si tratta di dispositivi a guadagno elevato con impedenza molto elevata. I glitch non sono nostri amici.
Ora andremo a sbattere un tappo scaricato su quel perno ogni tanto per alimentare l'ADC.
Come tutti sappiamo, dobbiamo sovracampionare l'ADC e preferibilmente rifiutare la prima lettura dopo un evento di commutazione mux per eliminare l'inclinazione da e verso i canali adiacenti.
Gli ADC sull'STM hanno impedenza di ingresso un po '<50K // 5pF a seconda del modo in cui vengono utilizzati. (DM00039193.pdf pg 76ff)
La Tabella 53 riporta 400-> 50KOhm, che è quello che ho trovato un po 'indietro quando ho calibrato il mio ADC F373.
Pg 79 mostra i circuiti ADC.
Pg 82 fornisce una breve descrizione del pin del comparatore, letto di concerto con la descrizione generale dei pin analogici sopra (pg73ff)
Mettilo in parallelo con l'input del comparatore e ADC MUX e modellalo in modo speziato. Ricordarsi di caricare regolarmente il cappuccio ADC a una tensione casuale.
Qualunque altra cosa accada nel circuito e nel software, si otterranno anomalie abbastanza ragionevoli sull'input del comparatore. BAD IDEA, anche se si collega il pin a un follower a bassa impedenza e al tappo di disaccoppiamento (sulla linea mobile di un ingresso comparatore ????).
Il cappuccio usato dall'ADC è il killer. Speriamo che i futuri dispositivi eseguano il campionamento utilizzando follower / isolatori interni sia sull'ADC che sul comparatore. Questi potrebbero essere già presenti come funzionalità non documentate (improbabili a causa della diafonia mux).
Come me, penso che siamo così coinvolti con il lato digitale delle cose che quando passiamo all'analogico e all'ibrido dimentichiamo le basi.
Come misurare piccole correnti usando il convertitore corrente-tensione?è una discussione che ho avuto con qualcun altro ieri. Conoscevo la risposta perché me ne sono reso conto da solo. Anche con i migliori 3V in 50K otteniamo un AVO di 16K / volt. L'ultima volta che ho usato un tale AVO / multimetro?
Detto questo, uno sguardo ai circuiti dell'F373 mostra che ST e ARM sembrano aver inteso essere in grado di ottenere risultati realizzabili sia dal comparatore che dall'adc utilizzati contemporaneamente in un dispositivo misto. L'aggiunta di opamps nelle serie 150 e 300 fornisce un indizio sui requisiti di isolamento dell'impedenza.
Sono sicuro che qualcuno più intelligente di me sarà in grado di riprogettare l'ambiente per cui sono state progettate queste interconnessioni interne. Penserei automobilistico o HVAC .... inverter e FOC. La biblioteca FOC può fornire preziose informazioni.
A meno che non si stia costruendo uno strumento ad alta velocità e ad alta precisione, tale utilizzo può essere sufficientemente stabile per essere utilizzato praticamente (all'interno delle avvertenze sopra). Certamente salverà molti circuiti esterni. Test rigorosi ad alta velocità sono probabilmente i migliori da lasciare come esercizio per lo studente (tentami di studiare).
Soluzione qui .
Sembra che la libreria HAL ADC sia un po 'rotta per il DMA multicanale. Ho pubblicato sul sito Web STM per ottenere una risposta. Soluzioni alternative: -
a) IRQ entrambi gli ADC
b) Poll entrambi gli ADC
c) DMA un canale e polling l'altro
d) Inizializzare manualmente i registri di basso livello
Questo è un altro avvertimento alla soluzione in cui vengono utilizzati entrambi i comparatori, fino a quando non viene trovata una soluzione migliore.