Resistencia de bus SPI y resistencias pull-up

5

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.

P1) ¿Necesito agregar una 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 colocar la resistencia de terminación, cerca del maestro o cerca del esclavo?

P2) He visto otros diseños de referencia en los que a veces las personas usan resistencias de extracción en todas las señales SPI, algunas veces solo en unas pocas señales (CS o MISO) y otras veces ninguna. ¿Necesitamos resistencias pull-up en las señales SPI (ya que el puerto SPI es una configuración push-pull)? La única vez que flotarán los pines es hasta que el microcontrolador obtenga su potencia y pueda configurar los pines como salidas. Entonces, ¿debería usar resistores de pull-up o lo que sucederá si no utilizo resistores de pull-up en mi diseño?

    
pregunta Bharav

1 respuesta

14
  1. A 1 MHz y 50 mm (2 pulgadas) no necesita terminaciones. Usted tiene señales digitales a bordo ordinarias, y ni siquiera muy rápidas.
  2. No es necesario desplegar o desplegar en las líneas SPI. Cuando se utilizan, las líneas SPI siempre se dirigen 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 solo es manejada por un esclavo cuando se afirma su línea de selección de esclavo. Cuando no se usa el bus, todas las líneas de selección de esclavos generalmente no están marcadas, por lo que MISO flota. El valor de datos arbitrarios 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 extraiga una corriente excesiva o posiblemente oscile. Por lo general, pongo un lanzamiento de 100 kΩ en MISO por este motivo. Mantiene la línea inofensivamente baja cuando no está en uso. Podrías usar un pullup, siempre y cuando todos los esclavos permanezcan encendidos incluso cuando no estén en uso.
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas