MCU: ¿Qué sucederá si coloco un pin de salida PWM justo al lado de un grupo de pines de entrada ADC?

4

Actualmente estoy considerando un circuito impulsado por MCU que hará una variedad de cosas, incluido el manejo de algunos motores BLDC y algunos sensores analógicos (de sensores de posición, temperaturas y similares).

Los diseñadores del chip que me gustaría usar (un STM32F4, FWIW) han considerado apropiado colocar los siguientes dos pines uno al lado del otro:

  1. El único posible pin de salida para un temporizador que me gustaría usar como salida PWM para uno de los controladores del motor.
  2. TODOS de las entradas de ADC.

Unos cuantos tid-bits más:

  • El pin PWM puede funcionar con ciclos de servicio muy bajos / altos (< 1% a > 99%) a 20kHz
  • Las señales analógicas de interés varían de ~ 2Hz a ~ 200kHz, dependiendo del tipo de sensor.

Ahora, voy a seguir adelante y postular que poner un PIN de PWM justo al lado de una entrada de ADC es una mala práctica, pero me pregunto:

  • ¿Alguien lo ha intentado con éxito?
  • ¿Cuáles son algunas posibles soluciones de mitigación que permitirían que esto funcione?

Editar:

Así es como se ve la parte MCU. He resaltado el pin temporizador ofensivo:

    
pregunta PKL

3 respuestas

4

De hecho, ha identificado un problema de interferencia legítima. Estrictamente hablando, la magnitud de acoplamiento de la interferencia no es una función de la frecuencia de la señal. Es una función de qué tan rápido la señal va de alto demasiado bajo o bajo a alto. Incluso una señal PWM de 1Hz se acoplaría a una línea cercana durante los flancos ascendentes y descendentes. Obviamente, para su señal de 20kHz, sucede 40,000 veces por segundo, lo que ciertamente puede ser un problema. Como punto de interés académico, una buena señal de onda sinusoidal suave no inducirá tanta interferencia como una onda cuadrada con la misma frecuencia.

Además del tiempo de subida y bajada de los bordes de onda cuadrada, la diafonía también es una función de la distancia entre las trazas de la señal, la longitud de las dos trazas juntas y su distancia sobre su plano de referencia.

Ya que el pin PWM y el pin ADC están físicamente uno al lado del otro, sus huellas estarán muy cerca para cierta longitud de la traza y no hay nada que puedas hacer al respecto. Obviamente, cualquier método para separar los dos rastros entre sí lo antes posible será de ayuda. También puede reducir el efecto de acoplamiento asegurándose de que el plano de referencia esté muy cerca. En una PCB, eso significa usar una tabla de 4 capas (o más) para que un plano del suelo no pueda colocarse a más de un grosor preimpregnado (generalmente solo unas pocas milésimas de pulgada). En un tablero de 2 capas, el plano de tierra será el lado opuesto del tablero, que suele estar a 63 millas de distancia y es muy malo para la interferencia.

Hay una muy buena calculadora en línea gratuita llamada Kit de herramientas de diseño de PCB de Saturno que le permitirá aproximarse a la magnitud de la diafonía . Puede tener una idea de qué tan mal se pondrá la diafonía en función de su diseño. No puede conocer el tiempo de transición sin conocer la potencia de la unidad del controlador de salida y la impedancia exacta de la traza conectada al pin PWM, pero puede usar algo como 10 ns como una aproximación conservadora.

Si se necesita una precisión muy alta en sus lecturas de ADC y su magnitud de interferencia calculada es demasiado alta, quizás lo mejor que puede hacer es elegir otra MCU. Hay muchos más disponibles por ese mismo fabricante, por lo que debería ser trivial encontrar uno con un pin de PWM y ADC aparte uno del otro. Si hay alguna razón por la que debe usar esa MCU específica, tendrá que determinar con cuánta interferencia puede vivir y diseñar para eso.

    
respondido por el Dan Laks
3

¡Me sorprende que nadie haya mencionado nada sobre el nivel de impedancia en las líneas ADC! Obviamente, es más fácil interrumpir una línea de alta impedancia en una entrada que perturbar una línea de baja impedancia. Si sus sensores tienen salidas de alta impedancia, recomendaría amortiguar su voltaje de salida localmente (cerca del sensor). Si sus sensores tienen salidas de baja impedancia de salida, es posible que no se necesite un búfer.

También podría considerar la posibilidad de amortiguar las señales del sensor a una corta distancia de la MCU y asegurarse de que las señales permanezcan "limpias". Luego diríjalos a las entradas ADC.

    
respondido por el Bimpelrekkie
0

Debería establecer la velocidad de GPIO en el valor más bajo para tener un mayor tiempo de subida y caída. Esto debería ayudar con el problema de la interferencia. Esta interferencia es inductiva, si su línea PWM no es una línea de baja impedancia, no debería tener ningún problema. .

    
respondido por el Stefan Merfu

Lea otras preguntas en las etiquetas