Esto funciona, obtendrás números de vuelta, así como interrupciones. Lo he comprobado, descargue desde .
La precisión y la glitchiness son indeterminadas, todavía. Pero está bien descrito en las Notas de aplicaciones como lo indica @Bence Kaulics en este hilo (vea results.txt para Notas de aplicaciones adicionales)
Creo que será estable por las siguientes razones.
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.
Esto también funciona con el DAC, es decir, puede configurarlo todo internamente con el DAC o externamente con el DAC y algunas resistencias.
Simplemente mirando el circuito, usarás el ADC en paralelo al comparador, esencialmente un amplificador. Como sabemos, estos son dispositivos de gran ganancia de impedancia muy alta. Los fallos no son nuestros amigos.
Ahora vamos a golpear una tapa descargada en ese pin de vez en cuando para alimentar el ADC.
Como todos sabemos, debemos sobredimensionar el ADC y, preferiblemente, rechazar la primera lectura después de un evento de cambio de mux para eliminar los sesgos de los canales adyacentes.
El ADC en el STM tiene algo de impedancia de entrada < 50K // 5pF
Depende de cómo se usen. (DM00039193.pdf pág. 76ss)
La tabla 53 muestra 400- > 50KOhm, que es lo que encontré hace algún tiempo cuando calibré mi F373 ADC.
La página 79 muestra el circuito de ADC.
La página 82 ofrece una breve descripción del pin comparador, leída en concierto con la descripción general de los pines analógicos (pg73ff)
Póngalo en paralelo con la entrada de su comparador y el ADC MUX y modeléelo con especias. Recuerde cargar la tapa del ADC a un voltaje aleatorio regularmente.
Pase lo que pase en el circuito y el software, obtendrá errores técnicos bastante razonables en la entrada del comparador. BAD IDEA, incluso si conecta el pin a un seguidor de baja impedancia y tapa de desacoplamiento (en la línea en movimiento de una entrada de comparador ????).
La tapa utilizada por el ADC es el asesino. Esperemos que los dispositivos futuros muestren utilizando seguidores / aisladores internos tanto en el ADC como en el comparador. Es posible que ya existan como características no documentadas (improbable debido a la interferencia de mux).
Al igual que yo, creo que nos involucramos tanto con el lado digital de las cosas que cuando pasamos a lo analógico e híbrido, olvidamos lo más básico.
Cómo medir ¿Las pequeñas corrientes que usan el convertidor de corriente a voltaje? es una discusión que tuve con alguien más ayer. Sabía la respuesta porque me caí mal. Incluso en el mejor de 3V a 50K, obtenemos un AVO de 16K / voltio. ¿Cuándo fue la última vez que usé un AVO / multímetro?
Todo lo que se dice, un vistazo a los circuitos del F373 muestra que parece que ST y ARM intentaron obtener resultados viables tanto del comparador como del adc que se utilizan simultáneamente en un dispositivo mixto. La adición de opamps en las series 150 y 300 da una idea de los requisitos de aislamiento de impedancia.
Estoy seguro de que alguien más inteligente que yo podrá rediseñar el entorno para el que se diseñaron estas interconexiones internas. Yo diría que los inversores de automoción o HVAC .... y FOC. La biblioteca FOC puede proporcionar información valiosa.
A menos que esté construyendo un instrumento de alta velocidad y alta precisión, tal uso puede ser lo suficientemente estable como para ser utilizado prácticamente (dentro de las advertencias anteriores). Sin duda ahorrará muchos circuitos externos. Probablemente es mejor dejar las pruebas rigurosas a altas velocidades como ejercicio para el estudiante (tiéntame a estudiar).
Solución aquí .
Parece que la biblioteca HAL ADC está un poco dañada para DMA multicanal. He publicado en el sitio web de STM para obtener una respuesta. Soluciones: -
a) IRQ ambos ADC
b) Encuestar ambos ADC
c) DMA un canal y sondea el otro
d) Inicialice los registros de bajo nivel manualmente
Esta es otra advertencia a la solución donde se usan ambos comparadores, hasta que se encuentre una solución mejor.