¿La señal SPI aparece en otros pines del microcontrolador ATmega1284P?

2

Estoy usando una MCU Atmel ATmega1284P (DIP de 40 pines) para un proyecto y noté algunos picos de baja frecuencia en el pin ADC0 (pin 40). Después de algunos problemas, descubrí que los picos estaban perfectamente sincronizados con la comunicación SPI en los pines 6 y amp; 8.

Pude replicar el problema utilizando el siguiente circuito mínimo:

simular este circuito : esquema creado usando CircuitLab

Y el código mínimo:

#include <SPI.h>

void setup()
{
  SPI.begin();
}
void loop()
{
  SPI.transfer(B00000000);
  delay(61);
}

Pines de supervisión 8 & 40 usando un osciloscopio puedo ver que el SCK está saltando correctamente a 5V cada 61 ms, pero lo extraño es que veo un pico de aproximadamente 400 mV en la línea ADC0. Aquí hay una captura de pantalla de mi alcance, la sonda ADC0 está en amarillo y el SCK en azul:

Parareferencia,aquíestáelpinoutparaelDIP1284:

Realmente no estoy seguro de lo que está pasando aquí, pero parece ser una especie de problema de conexión a tierra. He intentado agregar tapas de desacoplamiento entre los pines 10 y amp; 11, así como los pines 30 y amp; 31, pero no hizo ninguna diferencia. ¿Alguna idea sobre cómo eliminar este pico en los otros pines MCU?

Toma de la traza de Vcc con tapas de desacoplamiento electrolítico de 22uF cerca de Vcc y amp; AVcc:

    
pregunta Fiver

2 respuestas

2

El pin 40 es una entrada, es decir, es una impedancia relativamente alta (en comparación con una salida o una línea de alimentación). Esa es la primera cosa importante a tener en cuenta.

A continuación, conecte su sonda o-scope y ahora tiene básicamente un pin de alta impedancia conectado a lo que podría describirse como una antena de longitud media.

¿Es una sorpresa que se pueda ver algo? También puede encontrar que si mantiene la sonda de alcance cerca en varias áreas, los transitorios rápidos en la línea SCK también se acoplan a la sonda.

El diseño general de la placa de pruebas podría hacer que las puntas aparezcan (en menor medida) en cualquier otro pasador. Si está en una PCB con un plano de tierra decente y el cable de tierra del alcance está conectado al pin de 0 V del armario, es posible que aún vea una pequeña punta, esto se debería a que la sonda del alcance actúa como una antena de lazo.

    
respondido por el Andy aka
1

Siguiendo con mi comentario, el ruido está en Vcc, lo que significa que probablemente esté en todas partes. Un electrolítico 22uF no es una tapa de desacoplamiento, demasiada inductancia y amp; ESR. Disco cerámico si es a través del orificio, o MLCC (chip cerámico multicapa) si es SMD, a 100 nF (0.1uF) por lo general hará el trabajo. A veces, en un agujero de paso, un combo de 100n y amp; 10n funciona mejor, depende del tipo de tapa, el diseño de la PCB, etc. Coloque la tapa de desacoplamiento tan cerca de Vcc / AVcc & Los pines Gnd son lo más humanamente posible, los cables más cortos (a través del orificio) como sea posible. Explicación adicional: enlace Y como también comentó Ignacio, esa nota de aplicación es importante, especialmente al poner un filtro LC de paso bajo entre Vcc y amp; AVcc. A continuación, tomar otro tiro y amp; muéstranos la diferencia :)

    
respondido por el Techydude

Lea otras preguntas en las etiquetas