Autor Tema: Fan-out del GPIO para PICs conectados en bus  (Leído 2074 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sysseon

  • PIC10
  • *
  • Mensajes: 20
Fan-out del GPIO para PICs conectados en bus
« en: 13 de Agosto de 2016, 08:26:38 »
Buenas! Estoy con un proyecto para conectar PICs en bus y permitir una comunicación multi-master, y me gustaría saber cuál es fan-out de las salidas digitales (no consigo encontrar el valor de la corriente de entrada, o su impedancia). Estoy trabajando con PIC12, aunque no descarto integrar también PICs de otras familias. Los hilos del bus sirven tanto para transmisión como recepción, por lo que no sé si podría hacerse algo para aumentar el fan-out (poner un transistor no me valdría...). Así que, resumiendo, ¿cuál es el fan-out de las salidas digitales y cómo podría aumentarse para líneas bidireccionales?

Un saludo!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Fan-out del GPIO para PICs conectados en bus
« Respuesta #1 en: 13 de Agosto de 2016, 10:08:30 »
Creo que lo vas a tener que calcular. El calculo simple y que no implica el tema de la velocidad (capacidad de lso pines) es donde se trata de respetar la corriente MAXIMA del pin, suponete 25mA por pin y dividirlo por la cantidad de corriente que consumirian los demas elementos (va a depender de que tengas conectado al bus), ejemplo si suponemos 1mA por cada otro componente en el bus es un fanout de 25.

Recorda que todo el puerto esta limitado en corriente, y luego todos los puertos combinados tambien. Mas correctamente esto:




De la misma forma que se hizo la salida, se puede hacer para la entrada, creo que tiene una corriente de uA el PIC.

Despues si hablamos de que se respete cierta velocidad, entonces deberas tener en cuenta la capacidad agregada de cada pin, ya que al activar la salida primero habra que cargar los condensadores y eso lleva tiempo.

Todos los datos estan en la hoja de datasheet, tenes la entrada modelada (un RC ) tenes las corrientes de salida tambien.
« Última modificación: 13 de Agosto de 2016, 10:16:36 por KILLERJC »

Desconectado sysseon

  • PIC10
  • *
  • Mensajes: 20
Re:Fan-out del GPIO para PICs conectados en bus
« Respuesta #2 en: 14 de Agosto de 2016, 20:56:06 »
Vale, pues haré un cálculo empírico del fan-out. Preguntaba por si había algún dato más oficial o por si, a pesar del fan-out, otros fenómenos podrían limitar el número de dispositivos conectados al bus y por lo tanto deberían tenerse en cuenta.

El tema que no he entendido es el de la velocidad. ¿Te refieres a la velocidad de transmisión o a que se produce un retardo en la lectura del pin?

Gracias!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Fan-out del GPIO para PICs conectados en bus
« Respuesta #3 en: 14 de Agosto de 2016, 22:46:21 »
El tema de la corriente esta muy claro, el pin debe poder proporcionar la corriente suficiente para manejar todas las demas entradas que se encuentran en el bus

Citar
El tema que no he entendido es el de la velocidad

Cuando hablo de velocidad me refiero a la velocidad de cambio de la salida, es decir pasar de 0 a 1, o mejor dicho en el tiempo entre que la salida cambia y las entradas llegan a leer ese cambio. Los pines no solamente necesitan esa corriente que hable antes ( que se puede representar como una resistencia ) sino que ademas por su construccion poseen una capacidad parasita. Ocurre que cuando vos tratas de ir de 0V a 5V ( una suposicion el voltaje) primero debes cargar esa capacidad y luego de cargada es cuando recien puede leer ese cambio.

Si tenes 50mA de salida vas a cargar mucho mas rapida esa capacidad que si tenes 20mA, por lo tanto si pensas en una señal cuadrada, pasaria mas rapido de 0 a 5V, es decir la pendiente seria mas pronunciada. Supongamos por un momento que la salida tarda 10us en pasar de 10% al 90% de la señal, entonces no vas a poder impartir una velocidad de cambio menor a esa ya que esos 10us es lo que tardaria una entrada en poder ver un 1 en ves del 0, si lo cambias antes (a 0 de nuevo), el dispositivo que esta leyendo el bus nunca veria el 1, ya que la tension nunca llego al valor correcto.

El problema se ve incrementado a medida que aumentas los receptores ya que aumenta la capacidad parasita total. Y por lo tanto necesitarias de una mayor corriente si quisieras ir a una mayor velocidad. O buscar alguna otra tecnologia de menor capacidad parasita en la entrada.

Citar
Preguntaba por si había algún dato más oficial o por si

Es que en un microcontrolador podes conectar cualquier cosa, tanto un 40xx de CMOS como 74xx TTL, lo cual el fan-out cambiaria segun lo que conectas. Por eso imagino que no se dan esos valores y directamente se da los valores de corriente.

Desconectado sysseon

  • PIC10
  • *
  • Mensajes: 20
Re:Fan-out del GPIO para PICs conectados en bus
« Respuesta #4 en: 15 de Agosto de 2016, 07:24:28 »
Pues estudiaré el tema de las capacidades de entrada según el modelo del datasheet, porque parece que puede ser un factor muy limitante, por lo menos en cuanto a mi bitrate de transmisión.

Muchísimas gracias por la explicación y la ayuda, todo clarísimo. Ahora lo que me queda es hacer pruebas.

Un saludo y gracias de nuevo!