STM32 ADC Noise 2

7

Acabo de probar mi segundo diseño con STM32F2, ahora es STM32F207ZFT6, el comportamiento de ADC es el mismo que en mi primera aplicación: ruido fuerte en ADC.

Ruidodelaentradadecorrientesinningunaseñalconectada:

Nota: en los gráficos de señales anteriores, el eje vertical está en bits ADC, no en voltios; No se deje confundir por su leyenda "[V]", para esta prueba, hemos utilizado nuestro programa modificado para ver datos generales de ADC.

El mismo ruido aparece incluso cuando el pin analógico de la CPU está en corto a GND, como se muestra aquí:

Enmiopinión,haypicospermanentesdemásde30LSBymás,aunque,pormiopinión,nodebensuperarlos5-10LSB.

Otrosdetalles:

  • PCBde2lados,enlaparteinferiorhayotrasconexiones,perolamayoríasevierteconlaseñalGND.Comúnparaanalógicaydigital,latierraanalógicanoestáseparada.Comoelconsumodelaplacaesmínimo,pordebajode100mA,creoquenodeberíacausartalruido.

  • referenciadevoltajeVREF3.3Vamortiguadaporopamp,bloqueadapor100nFytantallum10uFenparalelo,lomismoconVREF/2;cadaunodelospindealimentacióndelprocesadorestábloqueadoconunlímitede100nF

  • ennuestraaplicaciónanterior,utilizamoselmismoconceptodediseño,peroelprocesadorutilizadofueAduC834;tambiéntieneADCde12bitsyelruidodelaseñalerasolodevariosLSB,nohuboproblemas;LaprincipaldiferenciafuequeseutilizólareferenciadevoltajeinternodeAduC,nounaexterna

  • hemosprobadoquedesconectamoselpindetierraanalógicodelprocesadordelaGNDcomúndelaplacayloconectamosconuncableadicionaldirectamentealatierraVREFdereferenciadevoltaje,sinefecto

  • esundispositivodemediciónderedtrifásica,hay3canalesdevoltajeanalógicoytrescanalesdecorrienteconpreamplificadordegananciaconmutable;elosciladordelaCPUa25MHz,elrelojinternode120MHzporPLL,elrelojADCesde30MHz(encumplimientodelosespecificacionestécnicas),hemosprobadoreducirelrelojinternoprincipal(porlotanto,todoslosrelojessecundariostambién)hastauncuarto,perosinningúnefecto

  • ADCmuestreaperiódicamenteseñalesdeentradaconunatasade128conversionesporperíododeredde50Hz,esdecir,cada156usecs;losresultadossontransferidosporDMAalaRAMinterna;losdatosdelaRAMsetransfierenatravésdeRS485aislado(enotraplaca)ysevisualizanennuestroprograma.Hemosintentadoprolongarlostiemposdeconversiónalmáximo,sinefecto

  • excluyendoCPU,solohay3opams,2interruptoresanalógicos,termómetroI2CytresinterruptoresULN(noutilizadosdurantelaprueba),alimentadosporunestabilizadorlinealLF33,normalmentealimentadopor5VCCdesdeelconmutadorenotraplaca,perodurantelaprueba,elconmutadorsedesconectóyelLF33sealimentódesdeunsuministroclarodelaboratoriode5VCC.Estoysegurodequenadamásqueelosciladordelprocesadorpuedeoscilarenlaplaca.

  • lacomprobacióndelaseñalconelosciloscopionoobtieneresultadosdecisivos,laseñalesdemasiadodébil

¿AlguienconestafamiliadeprocesadoresconexperienciaderendimientodeADC?

Conrespectoalaintensidaddelaseñal:inclusosilaentradaanalógicatieneuncortocircuito,veounruidode5-10mV(picoapico)enelosciloscopio,medidoconuncablecoaxialconunalongituddecabledetierramínimasoldadaalaplaca.Conlasondaestándar,elruidofueaproximadamentedosvecesmayorprobablementedebidoaunaconexiónatierrapeor(¿ruidoEMCgeneral?)

Estaesunaimagendemitablero:

Y la parte inferior del tablero:

Como informé anteriormente, incluso si la señal está conectada a tierra, el ruido de unos 30 LSB aún persiste en los datos convertidos de ADC.

    
pregunta Milan

4 respuestas

4

Yo diría que el ADC tiene una cuarta entrada además de las tres citadas por Fred: su reloj. Al menos para algunos tipos de ADC, la fluctuación de fase o el ruido de fase en el reloj pueden afectar las mediciones de ADC.

Dice que tiene un oscilador de 25 MHz pero está ejecutando el ADC a 30 MHz, por lo que tiene algunos PLL involucrados en la generación de su reloj. Si eso no funciona bien, su irregularidad podría ser una fuente de ruido de conversión. ¿Puedes intentar cambiar la configuración del software (incluso temporalmente) para no usar el PLL y simplemente salir del reloj de entrada o dividirlo?

Creo que algunos microcontroladores también tienen un mecanismo para suspender la mayoría de los circuitos digitales mientras toman una lectura de ADC para reducir el ruido. Puedes mirar para ver si algo así es posible.

    
respondido por el Chris Stratton
2

Hay muchas razones posibles para el ruido que estás viendo. Es importante entender que un ADC tiene TRES entradas:

  1. El (los) pin (s) de entrada (el diseñado para ser la entrada de señal)
  2. La (s) entrada (s) de referencia (Dout = 2 ^ n * Vin / Vref)
  3. Los pines de alimentación (fuente + gnd)

El ruido en cualquiera de ellos podría crear el ruido que está viendo, y si se asume que el ADC no es defectuoso, el ruido debe llegar a través de una de esas tres rutas.

Es posible tener un rendimiento decente de ADC usando el mismo terreno para analógico y digital, pero debe colocar cuidadosamente la PCB para que todas las corrientes de bucle digital estén aisladas de los bucles analógicos.

En este contexto, un bucle es la ruta actual completa que una señal o línea de suministro de energía (que debe considerarse una señal de "ruido" en este contexto) toma en la PCB. Entonces, para una línea de suministro de energía, sería desde donde la energía entra a la placa, a lo largo de la traza hasta que llega a la clavija de alimentación, a través de todos los transistores en el IC, sale de la patilla de tierra, luego a lo largo de la ruta de menor resistencia hacia Donde entra el poder en el tablero. Eso es un bucle de fuente de alimentación.

Pero si hace un buen trabajo con la derivación de suministro, no habrá mucha corriente alterna en ese bucle, ya que tendrá un bucle mucho más pequeño y más localizado del lado de suministro de la tapa de derivación para alimentar el pasador al pin de tierra y Volver al lado de tierra de la tapa de bypass. Si todos sus suministros digitales están bien desviados, su circuito de alimentación estará casi limpio y todo el ruido digital estará restringido a los bucles de tapa de derivación corta.

Los bucles de señal (incluido el bucle Vref) funcionan de la misma manera: la señal entra, se abre camino hacia el ADC, sale del ADC GND y regresa a la tierra de la señal (es de esperar que sea el mismo lugar donde comenzó la señal) . Si ese bucle cruza un bucle digital, puede inyectar ruido. Así que, por lo general, un buen diseño de señal mixta que usa una GND para analógico y digital mantendrá lo digital en un lado y el analógico en otro, con GND al final de la placa en el punto de división. Por lo general, no es tan simple, tienes que hacer concesiones, pero esa es la idea.

Su mención "Como el consumo de la placa es mínimo, por debajo de 100 mA, creo que no debería causar tal ruido". Tiene más que ver con qué tan bien se omite el sistema. Un sistema de 100 mA con un desvío deficiente tendrá mucho más ruido digital en el plano de tierra que un sistema de 1000 mA con un buen desvío.

Espero que esto ayude ...

    
respondido por el Fred Hamilton
1

El diseño de la placa realmente no respeta las reglas generales recomendadas.

Lo hemos vuelto a probar. El ruido típico de la placa estándar se encuentra en Fig1 en enlace .

Para confirmar que el problema se debe a una conexión a tierra incorrecta, hemos realizado las siguientes modificaciones:

  • conexión a tierra común reforzada (placa modificada en la Fig. 2 y ruido adecuado en la Fig. 3)
  • separación de tierra analógica de la digital y su interconexión mutua en el pin del procesador VSSA (Fig. 4).

Ninguno de ellos ayudó. Por lo tanto, me temo que el problema puede volver a ocurrir incluso después de rediseñar a PCB de 4 capas ...

Para probar la influencia de PLL, lo apagamos y el núcleo fue sincronizado solo con un cristal externo de 25 MHz. El ruido disminuyó (Fig. 5), pero parece que fue causado solo por un reloj del sistema más bajo (normalmente, el núcleo está sincronizado por los 120 MHz del PLL), no por el PLL detenido, porque cuando volvimos a conmutar al PLL a 25 MHz, el ruido era el mismo que sin el PLL en ejecución.

El único efecto notable se alcanzó al medir la señal VREF / 2 a través del pin individual del procesador simultáneamente con cada par de voltaje y corriente utilizando el tercer procesador ADC y restándolo del voltaje y las señales de corriente; luego, el ruido modulado se reduce a aproximadamente la mitad. (en enlace , gráfico rojo superior = señal estándar, gráfico azul inferior = señal después de la medición de la fracción de ruido). Pero no puedo usar el tercer ADC para medir el ruido, lo necesito para otra tarea, por lo que no es una solución para mí.

    
respondido por el Milan
1

He rediseñado el PCB a 4 capas. Y, qué sorpresa, ¡el ruido está apagado! Más detalles

Lea otras preguntas en las etiquetas