Haz una pregunta
  Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

13/05/2011 #1


Programar FPGA con microcontrolador con una FLASH compartida
Estoy diseñando una placa que usa una FPGA de la casa Altera, específicamente una Cyclone III. He mirado las distintas opciones de configuración que ofrece este modelo y he concluido que la más económica es programar el dispositivo mediante un microcontrolador utilizando el protocolo Passive Serial. La solución consiste en conectar una memoria FLASH, SPI u otro tipo, a un microcontrolador y que éste mande las señales pertinentes a la FPGA a través de los pines adecuados. Simple.

Me interesa poder acceder a la memoria FLASH desde la FPGA. Podría hacerlo a través del micrococontrolador, pero por cuestiones de consumo quiero que éste pueda ponerse en modo de ahorro de energía hasta que no se lo precise y leer la memoria directamente desde la FPGA.

Los pines de la FPGA se mantienen en alta impedancia hasta poco después de finalizar la configuración, así que si pongo los pines del microcontrolador en alta impedancia justo al terminar no debería ocasionar ningún problema.

Sin embargo, no estoy seguro que sea posible leer un dispositivo conectado a los pines de un microcontrolador aunque éstos estén en alta impedancia. Tampoco estoy seguro de que, aún si fuera posible lo anterior, no surgirían problemas o si supondría una disminución apreciable de la velocidad de comunicación con la memoria (capacidad de los pines en alta del micro).

¿Puede causar problemas la configuración anterior?

Por si es necesario, la FPGA es una Cyclone III EP3C5E144C8N, la FLASH una HY27UF082G2A-TPCB y el microcontrolador un PIC.

Muchas gracias de antemano.
13/05/2011 #2
Moderador

Avatar de Chico3001

Tengo entendido que Altera ofrece un modulo que permite que el FPGA se "autoreprograme"... posiblemente sea mas simple cargar ese modulo en vez de usar un micro externo...
13/05/2011 #3


Efectivamente esta opción existe y es más simple, pero como ya he dicho, no es la más barata. Unos 4 Mbit de FLASH (lo que se necesita para la FPGA que uso) y un microcontrolador cuestan unos 2 €; el integrado que ofrece Altera se va a los 13 €, seis veces más caro.

Además, la capacidad de esas memorias es escasa. La que yo tengo intención de usar es de 2 Gbit y cuesta tan solo 6 €. Por la mitad de precio tengo 512 veces la capacidad que me ofrece Altera.

Muchas gracias por la respuesta.
13/05/2011 #4
Moderador

Avatar de Chico3001

No me explique bien... segun recuerdo del "crash course" que me dieron, hay un modulo IP que se programa dentro del mismo FPGA y que sirve para reprogramarlo justo como un bootloader... lo unico que necesitas es una memoria externa... deja busco si hay una nota de aplicacion
14/05/2011 #5


Esa sería la solución ideal, un único integrado que realice todas las funciones. El problema es que las FPGA no tienen forma de guardar ni un solo bit de memoria de configuración en su interior, así que sería preciso una primera configuración con mecanismos externos. Luego ya sería posible que la propia FPGA se auto reconfigurara, a excepción de la lógica usada para dicha tarea, pero habría que repetir el paso interior cada vez que se cortara el suministro de energía.

Quizás me salte algún detalle y en realidad si que sea posible, así que toda brizna de información que me puedas dar al respecto será bien recibida.

Nuevamente gracias por la respuesta.

Volviendo a mi duda original, lo único que pido es si al poner los pines de E/S de un microcontrolador (en los PIC el registro TRISx a 1, el ANSELx a 0 y el WPUx5 a 0) se puede considerar que las líneas conectadas a dichos pines están en alta impedancia y se puede trabajar con los dispositivos allí conectados como si no estuvieran conectados a ninguna parte.

En principio la respuesta debería ser afirmativa, pero debido a que una vez realizada la PCB y soldados los componentes no hay vuelta atrás, quiero asegurarme al 100%.

Gracias.
16/05/2011 #6
Moderador

Avatar de Chico3001

jaumegs dijo: Ver Mensaje
Volviendo a mi duda original, lo único que pido es si al poner los pines de E/S de un microcontrolador (en los PIC el registro TRISx a 1, el ANSELx a 0 y el WPUx5 a 0) se puede considerar que las líneas conectadas a dichos pines están en alta impedancia y se puede trabajar con los dispositivos allí conectados como si no estuvieran conectados a ninguna parte.
Efectivamente .... al poner los pines en modo de entrada automaticamente pasan a ser de alta impedancia... puedes consultar con mas detalle el circuito de salida en la hoja de datos (fig 5-1 pag 52 del manual del PIC16F88 )
16/05/2011 #7


Gracias. Necesitaba una respuesta afirmativa para asegurarme.
02/04/2014 #8


Interesante hilo

Ha podido al fin realizar la configuración de la FPGA de la forma como lo describe.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Circuitos lógicos combinacionales y secuenciales

Compuertas, flips flops, registros, PLDs, codificadores, contadores, multiplexores, ...

Cerrar
Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.