STM32: Guardando datos de 50Mbit / s en sdram o tarjeta sd

1

¿STM32f429 podría guardar los datos de la imagen en un sdram o en una tarjeta sd? El módulo de cámara emite sus datos a una velocidad de datos de 50 Mbit / s a través de 8 puertos paralelos. Lo que quiero hacer es guardar estos datos en la tarjeta SDRAM o SD como un archivo. No tiene que ser una secuencia de archivos, porque necesito un solo marco. Para acceder a la tarjeta sd, usaría SPI. Pero me pregunto si hay algún problema en este proceso. Por ejemplo, uno dijo que las interrupciones en la CPU causan pérdida de datos y debo encontrar FPGA o CPLD. Pero me temo que no pude entender lo que quería decir.

    
pregunta SD11

1 respuesta

2

Como está utilizando uno de los STM32F4 más potentes, podría ser posible. No he hecho nada en la escala de eso, pero echemos un vistazo a lo que el F429 puede ofrecer:

Primero en obtener los datos ( hoja de datos página 40 ):

  

Interfaz de cámara digital (DCMI)

     

Los dispositivos incorporan una interfaz de cámara que puede conectarse con módulos de cámara y CMOS   sensores a través de una interfaz paralela de 8 bits a 14 bits, para recibir datos de video. La Cámara   La interfaz puede mantener una velocidad de transferencia de datos de hasta 54 Mbyte / s a 54 MHz. Cuenta con:

     

• Polaridad programable para el reloj de píxeles de entrada y las señales de sincronización

     

• La comunicación de datos en paralelo puede ser de 8, 10, 12 o 14 bits

     

• Admite el formato de video en blanco y negro sin formato de 8 bits de Bayer, YCbCr 4: 2: 2   video progresivo, RGB 565 video progresivo o datos comprimidos (como JPEG)

     

• Admite el modo continuo o el modo de instantánea (un solo cuadro)

     

• Capacidad para recortar automáticamente la imagen

Suena como un buen ajuste para su aplicación. Funciona a 50 Mbit / s (6.25MB / s), por lo que debería poder manejarlo fácilmente y la interfaz es probablemente compatible con el módulo de su cámara.

A continuación, tendrás que almacenar esos datos en algún lugar. Hay varias opciones disponibles allí:

La interfaz SDIO admite una tarjeta SD con bus de datos de 4 bits y reloj de 25MHz ( manual de referencia página 1013 ), por lo que debería ser capaz de poner los 6.25MB / s necesarios. Aunque no estoy seguro de los gastos generales. También surge la pregunta de cómo manejar un sistema de archivos en ese momento. (¿Cuántos datos se necesitan realmente?)

Otra opción es utilizar la interfaz de memoria externa, el FMC. Ofrece una gran variedad de opciones sobre qué usar (consulte reference manual de la página 1588 ). A velocidades de hasta 90MHz, debería poder manejar fácilmente los 6.25MB / s.

A este tipo de velocidades de transacción, desea reducir el uso del núcleo tanto como sea posible. Por lo tanto, debe usar el DMA para manejar la mayoría de los datos de la pala. El DMA es compatible con todos los periféricos mencionados anteriormente, por lo que debe ser utilizable y factible.

Una vez más, no he hecho nada a esta escala y estoy más preocupado por las cosas de bajo consumo, pero en base a las especificaciones del F429, debería ser posible (no fácilmente, pero tal vez a todos nos guste un buen desafío) nosotros?

Editar: Me acabo de dar cuenta de que desea conectarse a la tarjeta SD a través de SPI. SPI no lo cortará en el STM32F429 ya que está limitado a 45 MBit / s, tiene que usar la interfaz SDIO mencionada para velocidades más altas.

    
respondido por el Arsenal

Lea otras preguntas en las etiquetas