Altera FPGA I / O débiles pull ups

4

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

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

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

¿Alguna sugerencia?

    

3 respuestas

6

Hay dos maneras de hacerlo.

1. Pin Planner

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

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

Enlaventanaqueseabre,desplácesehaciaabajoenelladoizquierdoybusque"Deak Pull-up Resistor" (es la tercera desde la parte inferior en la mía). Haga clic en eso, luego haga clic en el botón de flecha hacia la derecha para agregarlo a las columnas visibles. Luego haz clic en Aceptar.

Ahora,devueltaenlaventanadePinPlanner,deberíaverunanuevacolumnallamadaWeakPull-UpResistor.Paracadapinenelquedeseehabilitarlo,simplementehagaclicenelcuadrodeesacolumnayseleccione"On" (también puede escribir On en el cuadro). De forma predeterminada, se desactiva "Off", por lo que si la columna está en blanco, significa lo mismo que si estuviera desactivada.

2.EditordeAsignaciones

Tambiénpuedeasignarlomanualmenteconlaherramienta"Editor de asignaciones". Esto es útil si, por ejemplo, quiere habilitarlo para todos los pines en un bus, o incluso para todos los pines. Puedes usar comodines aquí.

Abra la herramienta del editor de asignaciones en la ventana principal yendo al menú "Asignaciones" y seleccionando "Editor de asignaciones" (o presione Ctrl + Shift + A )

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 asignación" y seleccione "Resistencia de recuperación 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 * ).

Estohabilitarálarecuperaciónparacualquierpinquecoincidaconelnombreenlacolumna"Para".

    
respondido por el Tom Carpenter
2

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

  1. Los pullups débiles en el chip se usan principalmente cuando los pines se dejan sin usar en un diseño y las almohadillas no tienen nada conectado en la ilustración del grabado de la placa.
  2. Las resistencias de pullup débiles en el chip están típicamente en el rango de 50K a 100K ohms. Una traza de entrada conectada a la misma es susceptible de acoplamiento desde rastros ruidosos adyacentes debido a la alta impedancia relativa de la red.
  3. Los modos de circuito que operan en modo de drenaje abierto o colector abierto tendrán tiempos de aumento perezosos (lentos) debido a la alta resistencia de los pullups débiles.
  4. Es probable que los circuitos externos que dependen de un pullup para desviar un componente externo, como un transistor NPN, no obtengan suficiente corriente de fuente debido a la alta resistencia de las resistencias 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 establecen niveles de señal que contrarrestan los pullups.
  6. Los pines no utilizados con un componente externo proporcionan un punto de conexión para las pruebas y el trabajo de diseño de la placa.

Por lo tanto, mi recomendación es seguir la metodología de diseño más conocida que ha sido adoptada en muchas compañías, grandes y pequeñas, y usar resistores de extracción externos en redes que salen de un FPGA / SOC / MCU para conectarse a otras partes del tablero. o para probar los puntos. Las recomendaciones de diseño como estas sugieren flexiones no mayores de 10K ohmios que se usarán, siendo 4.7K generalmente mejor. Los valores más pequeños se seleccionarán cuando los requisitos del circuito lo justifiquen.

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

    
respondido por el Michael Karas
1

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

    
respondido por el Chris Cornish

Lea otras preguntas en las etiquetas