Cómo cablear correctamente un pin de interrupción, pin de reloj, pin PWM, pin SPI

Tengo una pregunta sobre cómo cablear correctamente algunos pines de microcontroladores.

En particular:

  • Pin de interrupción en el microcontrolador (resistencia pull up/pull down y con qué valor)
  • Pin de reloj de salida de un microcontrolador a un FPGA u otro microcontrolador (si son necesarios condensadores o resistencias)
  • Pines PWM que impulsan LED o MOSFET
  • Pines SPI (MISO, MOSI, SCK, CS) ¿Deberían tener algún tipo de pull up o pulldown como I2C?
Difícil de decir, todo esto depende del microcontrolador que esté utilizando. La hoja de datos de la uC debería responder a la mayoría de sus preguntas. Tal vez deberías leer un libro sobre cómo usar un uC.
¿Qué quieres saber específicamente? Sugiero usar trazas de PCB.
Encontré algo en las hojas de datos. Pero nada sobre el pin del reloj del microcontrolador a otro dispositivo (sensor, fpga, otro mcu), ¿debo usar una conexión específica o puedo conectarme directamente?
@Singe ¿Cómo piensas hacer esta conexión directa? Tenemos curiosidad por saber si te refieres a hacerlo con una placa de prueba y cables o si estás hablando de diseño de PCB. Los LED necesitan una resistencia limitadora de corriente. Pull-up/pull-down se usa para botones, etc. Cosas que no tienen 2 estados absolutos, pero que pueden flotar. SPI no necesita nada más.
@FauZe Con un diseño de PCB.

Respuestas (2)

No hay una respuesta general para todas las partes de su pregunta porque muchas de estas características son específicas del microcontrolador y la periferia. Siempre lea la hoja de datos sobre restricciones y requisitos.


1. Interrupciones externas

Aquí les describo un ejemplo que usa un microcontrolador AVR (por ejemplo: Atmega128 ), pero hay muchas otras familias con diferentes opciones. Hay diferentes formas de configurar un pin de interrupción, por lo que hay diferentes formas de conectarlo.
Tenemos tres opciones en este caso:

  1. El nivel bajo de INTn genera una solicitud de interrupción.
  2. El flanco descendente de INTn genera de forma asincrónica una solicitud de interrupción.
  3. El flanco ascendente de INTn genera de forma asíncrona una solicitud de interrupción.

En el caso 2, podríamos usar una resistencia pull-up en el pin y conectarlo a GND a través de un botón. Entonces, cuando presionamos el botón, se detectará un borde descendente y se generará una interrupción.
Podríamos hacerlo a la inversa en el caso 3. Usando una resistencia desplegable a GND y un botón a la tensión de alimentación. Aquí tenemos un borde ascendente. (La resistencia R3 se usa para evitar la conexión directa con el VCC).

esquemático

simular este circuito : esquema creado con CircuitLab

Aquí usé botones, pero podría haber otras fuentes de interrupción que podrían tener instrucciones específicas sobre cómo conectarlas.

2. Salida de reloj

Desafortunadamente no tengo suficiente experiencia para dar una respuesta a esta parte.

3. Pines PWM

Por lo que sé, el pin PWM podría conectarse directamente a la puerta de un MOSFET a menos que la hoja de datos indique lo contrario. (En cuanto a los LED, es útil una resistencia limitadora de corriente).

Ejemplo (controlador LED FET controlado por PWM):

ingrese la descripción de la imagen aquí

4. Pines SPI

Las líneas SPI no requieren resistencias pull-up.
En general, los pines CLK, MOSI, CS podrían conectarse simplemente, en el pin MISO, una resistencia en serie de 1k podría ser útil para proteger el pin de entrada del controlador. (Esta protección es segura, si accidentalmente cambia el pin MISO a salida y, por ejemplo, está en estado ALTO y el otro lado está en BAJO, esto conectaría GND y VCC y eso no queremos que suceda).


Consulte siempre las hojas de datos o intente encontrar proyectos similares que utilicen el mismo hardware y vea sus soluciones.

En un pin de entrada, la necesidad de un pull-up depende del tipo de circuito que lo está impulsando. Si ese circuito solo absorberá la corriente (cambiar a tierra, abrir la salida de drenaje ...), entonces necesitará un pull-up. Para las salidas, si se trata de un drenaje abierto (o colector abierto), necesitará un pull-up. Debe mirar las hojas de datos de ambos extremos de una señal para determinar si se requiere una fuente de corriente adicional.