Interfaz FPGA y un dispositivo de almacenamiento

2

Estoy haciendo este proyecto llamado "Registrador de alta velocidad de datos".

Los requisitos para este proyecto es muestrear las 2 señales analógicas simultáneamente.

  • 2x canal ADC de 14 bits
  • Almacene 60 MSps (mega muestras por segundo), que es aproximadamente 250 MBps de velocidad de escritura sostenida
  • El medio de almacenamiento debe ser capaz de alojar datos de 500 GB a 1 TB de datos

Medio de almacenamiento:

M.2 PCI-Express es la última interfaz para SSD (unidad de estado sólido). Pero no estoy seguro de poder conectar una SSD a FPGA a través de la interfaz PCIe 2.0 x4 (PCI express generación 2, con 4 vías), debido a sus complicaciones.

Un host que puede interactuar con las tarjetas anteriores:

Ya que no puedo encontrar un procesador que tenga líneas de entrada LVDS paralelas para conectarse a ADC, estoy pensando en proceder con un FPGA.

Pero en el otro extremo tengo que conectar un medio de almacenamiento como SSD, o tarjetas SD, o memoria flash NAND o cualquier otra solución posible.

Hay muchas soluciones para medios de almacenamiento con memoria requerida y velocidad. Pero el problema es la interfaz. Algunas interfaces de memoria comunes son: PCI Express, SATA III (6Gbps), interfaz de tarjeta SD, etc.

Por lo tanto, le pediría a cualquier persona que sugiera qué interfaz sería viable, más fácil y mejor para la interfaz utilizando FPGA.

Si se selecciona una interfaz estándar apropiada, podría continuar seleccionando un FPGA y diseñando un registrador de datos.

    
pregunta Vicky

2 respuestas

2

Acabamos de crear un registrador con una tasa de datos de ese orden de magnitud. Los datos se capturan en un FPGA y luego se envían a una PC con USB 3.0, que luego se escribe en el disco.

Suponiendo que la latencia de tu registro no es crítica (lo que generalmente no lo es), imagino que podrías hacer lo mismo.

Si utiliza una placa FPGA Opal Kelly , las interfaces HDL y el desarrollo de controladores son muy sencillos. ¡No tengo otra conexión que no sea un cliente satisfecho!

Alternativamente, usar una tarjeta PCIe con el controlador Xillybus ofrece otra experiencia de HDL y controlador directa. 250MB / s lo está empujando para un solo carril de PCIe, pero como dices, una interfaz x4 estará bien.

O el enfoque totalmente personalizado de construirlo todo desde cero está abierto para usted si tiene tiempo, pero no dinero. Sin embargo, todavía construía algo para interactuar con una PC, en lugar de intentar ir directamente al disco desde el FPGA.

    
respondido por el Martin Thompson
1

Estrategia alternativa: construye tu propio dispositivo de almacenamiento masivo.

Haga que el FPGA escriba directamente en una colección de chips NAND Flash. ¡No olvide la fase de lectura y verificación! También debe poder organizar el borrado previo de toda la matriz antes de iniciar la captura (borrar es más lento que escribir) y mantener su propia lista de badblocks. Puede escribir en varios chips en paralelo si es necesario para el ancho de banda de escritura. De nuevo, recomiendo encarecidamente alguna forma de compresión; gzip es adecuado para la transmisión y no tiene pérdidas.

Luego, puede presentar una interfaz USB a una PC que expone la captura completa como un dispositivo de bloque, o un sistema de archivos que contenga un único archivo "mágico" para la captura completa.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas