19 votos

Terminación del bus SPI y resistencias pull-up

Mi microcontrolador (serie ATMEL) necesita comunicarse con un dispositivo esclavo utilizando el protocolo SPI. Estoy diseñando el hardware. La velocidad máxima del bus SPI es de 1 MHz. La distancia entre el maestro y el esclavo es inferior a 50 mm.

Q1) ¿Necesito añadir terminación en serie en el bus SPI para evitar la reflexión a esta velocidad SPI (1MHz)? Si es así, ¿cómo debo calcular su valor y dónde debo poner la resistencia de terminación - cerca del maestro o cerca del esclavo?

Q2) He visto otros diseños de referencia donde a veces la gente usa resistencias pull-up en todas las señales SPI, a veces sólo en algunas señales (CS o MISO) y a veces en ninguna. ¿Necesitamos resistencias pull-up en las señales SPI (ya que el puerto SPI tiene una configuración push-pull)? El único momento en que los pines estarán flotando es hasta que el microcontrolador obtenga su alimentación y pueda configurar los pines como salidas. Entonces, ¿debería usar resistencias pull-up o qué pasaría si no uso ninguna resistencia pull-up en mi diseño?

28voto

RelaXNow Puntos 1164
  1. A 1 MHz y 50 mm (2 pulgadas) no necesitas terminaciones. Tienes señales digitales ordinarias a bordo, y ni siquiera muy rápidas.
  2. No necesitas pullups ni pulldowns en las líneas SPI. Cuando se utilizan, las líneas SPI siempre son conducidas explícitamente en ambas direcciones. Sin embargo, puede ser bueno poner un pulldown (o pullup) en la línea MISO. Esto se debe a que esta línea sólo es conducida por un esclavo cuando su línea de selección de esclavo está activada. Cuando el bus no se utiliza, todas las líneas de selección de esclavo están normalmente sin afirmar, por lo que MISO flota. El valor arbitrario de los datos es irrelevante ya que nada está mirando su valor a menos que se seleccione un esclavo, pero los voltajes intermedios en esta línea pueden hacer que el receptor en el maestro consuma corriente excesiva o posiblemente oscile. Yo suelo poner un pulldown de 100 kΩ en MISO por esta razón. Mantiene la línea inofensivamente baja cuando no está en uso. También puedes usar un pullup, siempre y cuando todos los esclavos permanezcan alimentados incluso cuando no estén en uso.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X