Pull ups débiles de E/S de FPGA de Altera

En la documentación de FPGA altera, hacen referencia a una funcionalidad de "extracción débil de E/S".

Me gustaría usar pull up interno débil en lugar de pullups externos, evitando una modificación de PCB.

Parece que es posible activar pull up débil para una E/S en cuarto. Pero no hay información sobre cómo activarlo.

¿Alguna pista?

En el Editor de asignaciones, establezca la asignación de pull-up débil en ON para habilitar la resistencia de pull-up en el chip para el pin.

Respuestas (3)

Hay dos formas de hacerlo.

1. Planificador de pines

El primer enfoque está en la herramienta Pin Planner. Esta es la GUI que le permite seleccionar qué pin va a dónde. Desde la ventana principal con su proyecto abierto , vaya al menú Tareas y seleccione Pin Planner (o presione Ctrl++ ).ShiftN

En la ventana del planificador de pines, en la vista Todos los pines en la parte inferior, haga clic derecho en cualquier encabezado de columna y seleccione "Personalizar columnas":

Personalizar columnas

En la ventana que se abre, desplácese hacia abajo en el lado izquierdo y busque "Resistencia de extracción débil" (es la tercera desde abajo en la mía). Haga clic en eso, luego haga clic en el botón de flecha derecha para agregarlo a las columnas visibles. Luego haga clic en Aceptar.

Mostrar dominadas débiles

Ahora, de vuelta en la ventana Pin Planner, debería ver una nueva columna llamada Weak Pull-Up Resistor. Para cada pin en el que desee habilitarlo, simplemente haga clic en el cuadro de esa columna y seleccione "Activado" (también puede escribir Activado en el cuadro). De forma predeterminada, está desactivado, por lo que si la columna está en blanco, significa lo mismo que si estuviera desactivado.

Habilitar pull-up


2. Editor de tareas

También puede asignarlo manualmente con la herramienta "Editor de asignaciones". Esto es útil si, por ejemplo, desea habilitarlo para todos los pines en un bus, o incluso solo para todos los pines. Puede utilizar comodines aquí.

Abra la herramienta de edición de tareas en la ventana principal yendo al menú "Asignaciones" y seleccionando "Editor de tareas" (o presione Ctrl++ )ShiftA

En la parte inferior de la lista de asignaciones, hay una fila donde todas las entradas son <<New>>. Haga clic en la columna "Nombre de la tarea" y seleccione "Resistencia de pull-up débil". Luego, en la columna "Valor", seleccione "Activado". Finalmente, en la columna "Para", ingrese el nombre del pin (que puede incluir el carácter comodín *).

Editor de tareas

Esto habilitará el pull-up para cualquier pin que coincida con el nombre en la columna "Para".

¡Fantástica respuesta! Por cierto, ¿qué tan débil es el pullup débil? No importa, lo acabo de encontrar, son 25kiloohmios para Vccio: profesores.fi-b.unam.mx/maixx/Biblioteca/Librero_Computacion/…

Me gustaría señalar que las resistencias pullup débiles en un FPGA/SOC/MCU no reemplazan los pullups externos reales. Entonces, al diseñar una estrategia para usarlo, tenga en cuenta lo siguiente.

  1. Los pullups débiles en el chip se usan principalmente cuando los pines no se usan en un diseño y las almohadillas no tienen nada conectado en el grabado de la placa.
  2. Las resistencias pullup débiles en el chip suelen estar en el rango de 50K a 100K ohmios. Una traza de entrada conectada a tal es susceptible de acoplarse con trazas ruidosas vecinas debido a la impedancia relativamente alta de la red.
  3. Los modos de circuito que funcionan en modo de drenaje abierto o colector abierto tendrán tiempos de subida perezosos (lentos) debido a la alta resistencia de los arranques débiles.
  4. Es probable que los circuitos externos que dependen de un pullup para sesgar un componente externo, como un transistor NPN, no obtengan suficiente fuente de corriente debido a la alta resistencia de los resistores de pullup débiles.
  5. El uso de resistencias pullup en el chip aumenta el consumo general de energía en un dispositivo cuando los circuitos externos imponen niveles de señal que contrarrestan las pullups.
  6. Los pines no utilizados con un componente externo proporcionan un punto de conexión para probar y volver a trabajar en el diseño de la placa.

Por lo tanto, mi recomendación es seguir la metodología de diseño más conocida que se ha adoptado en muchas empresas, grandes y pequeñas, y usar resistencias pull-up externas en redes que salen de un FPGA/SOC/MCU para conectarse a otras partes de la placa o para probar puntos. Las recomendaciones de diseño como estas sugieren que se usen pullups que no superen los 10K ohmios, siendo generalmente mejor 4,7K. Se seleccionarán valores más pequeños cuando los requisitos del circuito lo justifiquen.

Tenga en cuenta que casi todos los mismos comentarios y recomendaciones también se aplican al uso de resistencias desplegables débiles en el chip.

Dentro del archivo qsf, puede agregar lo siguiente:
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to pin_name