¿Qué está mal con esta palanca de cambios de voltaje?

1

Necesito hacer cambio de voltaje (3.3V Papilio FPGA < - > 5V chip de RAM).

La mayoría de los pines tienen una salida de 3.3 V - > La entrada 5V y 3.3V califican como "alta" a un dispositivo de 5V, por lo que puedo conectarlos directamente.

El bus de datos es bidireccional, por lo que no funcionará: la hoja de especificaciones para el FPGA dice hasta 0.8V para baja, y 2V a 4.1V para alta; la SRAM toma menos de 0.8V para baja y por encima de 2.2V para alta.

Resolví este simple cambio de voltaje, que parece que funcionaría, y está dentro de la tolerancia de cada dispositivo, pero luego encontré varios circuitos en línea, y todos parecen ser un orden de magnitud más complicado . Esto me dice que hay algo mal con mi diseño, pero no puedo averiguar qué.

simular este circuito : esquema creado usando CircuitLab

Esto hace que un divisor de voltaje entre + 5V y la salida FPGA, o entre SRAM y 0V.

Un poco de experimentación con una hoja de cálculo muestra que relaciones de 2: 1: 15 para las 3 resistencias (por ejemplo, 2MΩ, 1MΩ, 3M numbers) dan números dentro de las tolerancias permitidas (el FPGA obtendría 0V para bajo y 3.3V para alto). la SRAM obtendría 0,31 V para baja y 3,41 V para alta).

Entonces, ¿qué me perdí? Parece más fácil y barato que todos los otros ejemplos.

Lo único que pude encontrar fue que podría afectar el aumento & Velocidad de caída, pero no pude seguir las matemáticas en cuanto a cuánto. La SRAM que tengo está clasificada en 100 ns, y espero leerla / escribirla a 2Mhz, así que tengo un poco de margen de maniobra. Las señales de control serán directas, por lo que terminaría un poco por delante del databus, lo que funcionaría a mi favor.

    
pregunta AMADANON Inc.

2 respuestas

2

Si observa la hoja de datos de Xilinx, puede ver que la corriente de entrada por pin puede ser de 10 a 15 uA. Por lo tanto, tendría que usar una red divisoria de resistencia con valores mucho más bajos, lo que a su vez significaría que requeriría más potencia.

En cuanto al tiempo de subida, se aplica lo mismo. La capacitancia de entrada es de 10 pF, más la capacitancia asociada con el diseño de la placa y otros dispositivos en la traza. Por lo tanto, su constante de tiempo RC para la impedancia de salida de su red con la entrada más la capacitancia parásita estará en el rango de microsegundos, lo que hace que el tiempo de subida sea inaceptable para una velocidad de escritura de 2 MHz.

    
respondido por el John Birckhead
1

Su enfoque general es completamente, umm ... poco realista. En pocas palabras, los "divisores de voltaje", especialmente en el rango de megaOhm en un bus de 100 ns, son completamente erróneos. Las capacidades de los pines / cables son 5-15pF, lo que lo llevará al área de 10 us. Todo el enfoque es incorrecto.

Primero, deshágase de la memoria RAM de 5 V, no hay más señalización de 5 V en la electrónica moderna. No ganará nada con el uso de circuitos integrados digitales de 5 V, esto es una explosión desde hace 30 años. Nadie verá esto como un logro suyo.

Si desea obtener más información sobre la traducción de nivel (hay casos en que las personas necesitan traducir 1.8V a 2.5 o 3.3V), entonces hay familias enteras de circuitos integrados que hacen este trabajo. No son tan complicados.

Obtenga al menos 3.3V SRAM chips, de ISSI o Cypress por ejemplo. Luego, el problema de la interfaz con FPGA desaparece naturalmente, ya que los búferes de E / S de FPGA se pueden configurar para casi cualquier nivel y tipo de interfaz.

Además, si abre y publica el tipo exacto de "5V SRAM", las cosas podrían ser más fáciles. Lo más probable es que haya malinterpretado las hojas de datos y es posible que no necesite ninguna traducción de nivel.

AMPLIFICACIÓN: Parece que la memoria RAM en cuestión es el chip HITACHI HM628128ALP-10. La hoja de datos indica "Directamente TTL compatible con todas las entradas y salidas"

Esta appnote de Analog Devices explica los niveles lógicos, indicando que TTL y CMOS-3-3 son compatibles con el nivel (0.8v bajo, 2.4V alto):

Por lo tanto, no hay necesidad de que los traductores de nivel interconecten este chip de memoria con Spartan-3 FPGA.

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas