Estoy trabajando en el prototipo de un circuito que realiza un proceso de adquisición y preprocesamiento de datos en un FPGA ( Mojo Board ). Después de preprocesar rápidamente necesito llevar los datos a la PC. Para eso quiero usar un mini módulo FT2232H en el modo FIFO síncrono. La placa Mojo y la placa FT2232H están actualmente conectadas juntas mediante cables cortos de un cable plano de aproximadamente 2 a 3 cm de longitud. Mi problema es que una vez que el FT2232H se pone en modo FIFO, genera mucho ruido en el suelo. Este ruido es exactamente a la frecuencia de 60 Mhz de la señal CLKOUT del FT2232.
Entre los diferentes puntos del plano de tierra de la placa FT2232H mido oscilaciones en t hasta 500 mV pico a pico y entre la tierra de la placa Mojo y la placa FT2232H que veo por encima de 1 V. Lo extraño es que también vea esta oscilación de 1 V o más en el cable de conexión a tierra corto (3 cm) que conecta la placa FT2232H a la placa FPGA.
Las oscilaciones también se encuentran en todas las señales de control (TXE, RXF, RD, WR) y errores en la conexión que conducen a un gran porcentaje (> 20%) de bytes que se pierden. ¿Cómo puedo reducir el ruido de fondo a niveles aceptables?
Así que he probado la tarifa:
- agregar un capacitor (multicapa de cerámica 100 nF) en la placa FT2232H entre 3V3 voltios y GND: sin cambios
- soldar directamente el cable de conexión a tierra a la placa en ambos extremos:
- configurando diferentes niveles de terminación en el lado FPGA usando in_term = unbalanced_split_75, unbalanced_split_50, unbalanced_split_25, así como también pulldown en el archivo ucf para el FPGA. Esto parece mejorar significativamente la cantidad de bytes perdidos, pero no cambia la altura de las oscilaciones en mi plano de tierra.
- ajuste de la potencia de salida del FT2232H mediante el software FTDI: la potencia más baja parece ser la mejor para obtener bytes.
Al final, sigo perdiendo > 10% de mis bytes y aún tengo > 1vpp de ruido en mi plano de tierra. ¿Qué estoy pasando por alto?
editar: el problema no se produce cuando el sistema solo se conecta a la PC a través de USB, sino solo cuando se inicia el modo FIFO síncrono. Todas las mediciones que hice se tomaron con una sonda de osciloscopio con una pinza de conexión a tierra corta (~ 5 cm) y un alcance decente en el acoplamiento AC1MOhm o DC1MOhm.
Encontré dos fuentes en la web que también tratan problemas similares con el mismo chip pero sus soluciones no parecen funcionar para mí. No puedo publicar los enlaces porque tengo muy poca reputación.