Realmente soy muy nuevo con esto de las FPGA's. Sin embargo, he estado probando cada dispositivo extra. Sin embargo, no he logrado satisfactoriamente una señal variable (con un potenciómetro). Mi salida, la cual está a los 8 LED's, siempre me muestra números sin sentido. Después de varias pruebas, me recomendaron que programara al preamplificador y al ADC en un programa como máquina de estados, sin embargo, aún sigo teniendo el mismo problema. El programa lo adjunto más adelante, el cual escribe la ganancia al preamplificador, luego activa al ADC, esperando los 34 pulsos de reloj. Si se quiere tomar otra muestra, se tiene que presionar un pushbutton, el cual solo repite los estados del ADC. También posee una activación externa del preamplificador.
Aquí está el ucf de mi programa:
Dejo el programa en el archivo adjunto
De antemano, gracias
Aquí está el ucf de mi programa:
Código:
#PACE: Start of Constraints generated by PACE
#PACE: Start of PACE I/O Pin Assignments
NET "ad_conv" LOC = "p11" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
NET "amp_cs" LOC = "n7" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
NET "amp_shdn" LOC = "p7" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
NET "clk50" LOC = "c9" | IOSTANDARD = LVCMOS33 ;
NET "DAC_CS" LOC = "n8" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
NET "data<0>" LOC = "f12" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
NET "data<1>" LOC = "e12" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
NET "data<2>" LOC = "e11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
NET "data<3>" LOC = "f11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
NET "data<4>" LOC = "c11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
NET "data<5>" LOC = "d11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
NET "data<6>" LOC = "e9" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
NET "data<7>" LOC = "f9" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
NET "FPGA_INIT_B" LOC = "t3" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 4 ;
NET "onpre" LOC = "l13" | IOSTANDARD = LVTTL | PULLUP ;
NET "rstadc" LOC = "k17" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "rstpre" LOC = "d18" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "sel" LOC = "l14" | IOSTANDARD = LVTTL | PULLUP ;
NET "SF_CE0" LOC = "d16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "spi_clk" LOC = "u16" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
NET "spi_miso" LOC = "n10" | IOSTANDARD = LVCMOS33 ;
NET "spi_mosi" LOC = "t4" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
NET "SPI_SS_B" LOC = "u3" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
#PACE: Start of PACE Area Constraints
#PACE: Start of PACE Prohibit Constraints
#PACE: End of Constraints generated by PACE
Dejo el programa en el archivo adjunto
De antemano, gracias
Adjuntos
Última edición por un moderador: